[[searchwing-bilderkennung]]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
searchwing-bilderkennung [2018/10/10 07:32]
beckmanf airbus competition und flug 7.10.18 eingefügt
searchwing-bilderkennung [2019/05/30 23:16]
wf68spef
Line 1: Line 1:
-==== Bilderkennung ​====+====== Image-Processing ======
  
-Das Ziel der Bilderkennung ist die Klassifikation der aufgenommenen Bilder von der DrohneIst auf dem Bild nur Wasser oder ist dort irgendetwas anderesbeispielsweise ein Boot?+By analysing the image with we receive from the camera, we can detect boats on the seaTo achieve thisdifferent algorithms and approaches from the image processing and deep learning domain can be used.
  
-=== Bildbeispiele ​===+===== Approaches =====
  
-Für die Entwicklung einer Bilderkennung benötigen wir Beispielfotos. Unsere Quellen bislang:+==== Boatdetector by using a simple edgedetector and a 2d tracker in world coordinates ====
  
-  * [[searchwing-flug-20180328|Flug zum Bodensee am 28.2.2018]] +Features\\ 
-  * Bilder vom [[http://​v.bayern.de/​plus|Landesamt ​für DigitalisierungBreitband und Vermessung]] +Bootdetektion / Bilderkennung\\ 
-  * Wir haben Zugriff ​auf den [[http://​vislab.isr.ist.utl.pt/​seagull-dataset/​|Seagull Dataset]] +Erkennung von beliebigen Objekten im Wasser\\ 
-  * [[https://​www.kaggle.com/​c/​airbus-ship-detection|Kaggle Airbus Ship Detection Competition]] +Klassische Bildverarbeitung\\ 
-  * [[searchwing-flug-virus-20181007|Flug am 7.10.2018 ​mit der Pipistrel Virus zum Bodensee]]+RGB -> HSV -> Sobel-Kantendetektion je Kanal -> Addition -> Konturen/Boundingboxes\\ 
 +Bestimmung der genauen 3D Position der Objekte mittels kalibrierter Kamera\\ 
 +Code für ARM Platform optimiert\\ 
 +Laufzeit: 0,8 sek @ 8 MegaPixel(3240x2480 Pixel) @ Raspberry Pi 3\\ 
 +Tracking\\ 
 +Wiedererkennung der Boote über mehrere Bilder\\ 
 +Dadurch kann sich ein genaueres Lagebild geschaffen werden\\ 
 +Falsch-Positiv Detektionen werden verringert\\ 
 +Speicherung\\ 
 +Abspeicherung der Detektionen als Bilddaten ​auf dem Flieger\\ 
 +GPS Positionsangabe im Bild als EXIF Datenblock ​      \\ 
 +Verwendete Software\\ 
 +ROS\\ 
 +Kommunikation zwischen ​den einzelnen Modulen\\ 
 +Koordinatensystemtransformationen\\ 
 +Aufnahme und abspielen von Flugdaten\\ 
 +Visualisierung der Detektionsergebnisse\\ 
 +MAVROS\\ 
 +Zur Kommunikation ​mit der Fliegerhardware via MAVLINK\\ 
 +OpenCV\\ 
 +Implementierung der Bootdetektion\\ 
 +ARM Compute Library\\ 
 +Alternative für ARM optimierte Implementierung der Bootdetektion\\ 
 +Ausblick\\ 
 +Deep Learning basierte Objekterkennung\\ 
 +Testen verschiedener Ansätze\\ 
 +Laufzeitevaluation auf den embedded Systemen\\ 
 +Programmierung von Interfaces für die Übertragung der Detektionen mittels MAVLINK zur Basisstation
  
-=== Bilderkennung mit OpenCV Haar Cascade Classifier ===+Features
  
-Ich habe einige Fotos und Code für die Erkennung zusammengestellt. Der Code ist hier:+Assumptions
  
-https://​git.etech.fh-augsburg.de/​friedrich.beckmann/​bilderkennung+|* Proposal / boat detector 
 +      * Detection of randomly looking objects in the water 
 +        * Classical image processing ( no deep learning) 
 +        * Processing chain depicted in the image 
 +        * There false positives after inital detection 
 +      * Calculation of the 3D Position of the Objects 
 +        * In world coordinates 
 +        * By using a camera calibration 
 +      * Code optimized for ARM Platforms 
 +        * By using ARM related flags for OpenCV 
 +        * Alternative:​ Compute Library for even faster processing 
 +      * Runtime 
 +        * 0,8 sec @ 8 MegaPixel(3240x2480 Pixel) @ Raspberry Pi 3 
 +|{{:​0cae1334da2eb44438be608612fe6628.png}}| 
 +|* Tracking 
 +      * Redetect boats in consecutive frames 
 +        * Get more information/​images about the same boats 
 +        * Reduce false-positive rate 
 +          * Valid detections only if we redetect the same boat 
 +          * 
 +      * Algorithms 
 +        * Association Problem 
 +          * Euclidean distance based cost matrix between each possible track and detection 
 +          * Solve 1-1 assignement problem by using Hungarian Algorithm 
 +        * Tracking 
 +          * Different trackingmodels possible 
 +            * Constant position 
 +            * Kalman constant position 
 +            * Kalman constant velocity 
 +        * 
 +|{{:​5ee30e4d3dc8729b80b2ca22e4b9f3af.png}}| 
 +| | | 
 + 
 +  *        * 
 + 
 +  *        * 
 + 
 +==== Imagerecognition by using a OpenCV Haar Cascade Classifier ==== 
 + 
 +I composed a few images to train a Haar Cascade Classifier. The code is over here: 
 + 
 +[[https://​git.etech.fh-augsburg.de/​friedrich.beckmann/​bilderkennung|https://​git.etech.fh-augsburg.de/​friedrich.beckmann/​bilderkennung]]
  
 Die Bilderkennung markiert in dem Bild mögliche Boote. Das sieht dann so aus: Die Bilderkennung markiert in dem Bild mögliche Boote. Das sieht dann so aus:
  
-{{::​bilderkennung-beispiel.jpg|Bilderkennung Beispiel}} ​+{{:​bilderkennung-beispiel.jpg|Bilderkennung Beispiel}}
  
 Und in der Vergrößerung so: Und in der Vergrößerung so:
  
-{{::​bilderkennung-beispiel-detail.jpg|Bilderkennung Beispiel Detail}}+{{:​bilderkennung-beispiel-detail.jpg|Bilderkennung Beispiel Detail}}
  
 In diesem Beispiel wird das zweite Boot mit der blauen Persenning nicht erkannt. Das Boot darüber ist mit dem blauen Rechteck markiert. In diesem Beispiel wird das zweite Boot mit der blauen Persenning nicht erkannt. Das Boot darüber ist mit dem blauen Rechteck markiert.
 +
 +===== Datasets =====
 +
 +For development and test purposes we need datasets. So far we got these datasets:
 +
 +  * [[:​searchwing-flug-20180328|Flug zum Bodensee am 28.2.2018]]
 +  * [[http://​v.bayern.de/​plus|Landesamt für Digitalisierung,​ Breitband und Vermessung]]
 +  * We got access to the [[http://​vislab.isr.ist.utl.pt/​seagull-dataset/​|Seagull Dataset]]
 +  * [[https://​www.kaggle.com/​c/​airbus-ship-detection|Kaggle Airbus Ship Detection Competition]]
 +  * [[:​searchwing-flug-virus-20181007|Flug am 7.10.2018 mit der Pipistrel Virus zum Bodensee]]
 +  * [[https://​captain-whu.github.io/​DOTA/​|DOTA Airial Image Dataset (Wuhan Univ./​Cornell/​DLR)]]
 +
 +===   ===
 +
 +
  • searchwing-bilderkennung.txt
  • Last modified: 2021/05/31 22:03
  • by beckmanf