Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| searchwing-bilderkennung [2019/05/30 23:27] – wf68spef | searchwing-bilderkennung [2021/05/31 22:03] (current) – added SE2 Projektarbeit Kamera beckmanf | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| By analysing the image with we receive from the camera, we can detect boats on the sea. To achieve this, different algorithms and approaches from the image processing and deep learning domain can be used. | By analysing the image with we receive from the camera, we can detect boats on the sea. To achieve this, different algorithms and approaches from the image processing and deep learning domain can be used. | ||
| - | ====== Detection by using edgedetector and a 2d tracker in world coordinates ====== | + | ===== Camera |
| - | Features\\ | + | {{ :: |
| - | Bootdetektion | + | |
| - | Erkennung von beliebigen Objekten im Wasser\\ | + | ===== Compression effects on detection ===== |
| - | Klassische Bildverarbeitung\\ | + | |
| - | RGB → HSV → Sobel-Kantendetektion je Kanal → Addition → Konturen/ | + | Does JPEG image compression affect detection? See |
| - | Bestimmung der genauen 3D Position der Objekte mittels kalibrierter Kamera\\ | + | |
| - | Code für ARM Platform optimiert\\ | + | [[https:// |
| - | Laufzeit: 0,8 sek @ 8 MegaPixel(3240×2480 Pixel) @ Raspberry Pi 3\\ | + | |
| - | Tracking\\ | + | ===== Detection by using edgedetector and a 2d tracker in world coordinates ===== |
| - | Wiedererkennung der Boote über mehrere Bilder\\ | + | |
| - | Dadurch kann sich ein genaueres Lagebild geschaffen werden\\ | + | {{: |
| - | Falsch-Positiv Detektionen werden verringert\\ | + | |
| - | Speicherung\\ | + | ==== Code ==== |
| - | Abspeicherung der Detektionen als Bilddaten auf dem Flieger\\ | + | |
| - | GPS Positionsangabe im Bild als EXIF Datenblock\\ | + | [[https:// |
| - | 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 | + | |
| ==== Algorithms ==== | ==== Algorithms ==== | ||
| - | === Assumptions === | + | === Assumptions |
| + | |||
| + | * By flying over the sea with 50-80km/h boats can be assumed to stand almost still in relation to the drone | ||
| + | * Waves appear and dissapear over time | ||
| + | * Approach to detect boats | ||
| + | * Detect parts in the image which dont change over time | ||
| + | * Redect parts by checking the same position in consecutive frames | ||
| + | * If parts look the same, save them | ||
| + | * If something is redetected over 3 frames, we can assume this could be a boat | ||
| === Proposal / boat detector === | === Proposal / boat detector === | ||
| Line 61: | Line 52: | ||
| | | | | ||
| - | === | + | === Tracking === |
| * Redetect boats in consecutive frames | * Redetect boats in consecutive frames | ||
| Line 77: | Line 68: | ||
| * Kalman constant position | * Kalman constant position | ||
| * Kalman constant velocity | * Kalman constant velocity | ||
| - | {{: | + | |
| + | {{: | ||
| + | |||
| + | === Output === | ||
| + | |||
| + | * Save boat images on harddisk | ||
| + | * Metadata for each detection is saved in exif-datablock of each detected boat | ||
| + | * GPS Position | ||
| + | * GPS Time | ||
| + | * Visualization of the detection in digikam | ||
| + | |||
| + | {{: | ||
| | | | | ||
| + | |||
| + | ==== Used software ==== | ||
| + | |||
| + | * ROS | ||
| + | * Module communication | ||
| + | * Coordinatesystem transformations | ||
| + | * Recording and playback of datasets | ||
| + | * Visualisation | ||
| + | * MAVROS | ||
| + | * Communication with the drone via MAVLINK | ||
| + | * OpenCV | ||
| + | * Imageprocessing | ||
| + | * ARM Compute Library | ||
| + | * Imageprocessing | ||
| + | |||
| + | ==== Outlook ==== | ||
| + | |||
| + | * Deep Learning | ||
| + | * Test different approaches | ||
| + | * Runtime evaluation for embedded hardware | ||
| + | * Interfaces to send detections via MAVLINK to basestation | ||
| + | |||
| + | ==== Presentation on the topic ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ===== Anomaly detection using FFT ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | Paper: https:// | ||
| ===== Imagerecognition by using a OpenCV Haar Cascade Classifier ===== | ===== Imagerecognition by using a OpenCV Haar Cascade Classifier ===== | ||
| Line 87: | Line 121: | ||
| [[https:// | [[https:// | ||
| - | Die Bilderkennung markiert | + | The detected boats can be seen in the following image. They are marked by a blue rectangle. |
| - | {{: | + | {{: |
| - | Und in der Vergrößerung so: | + | Recified: |
| - | {{: | + | {{: |
| - | In diesem Beispiel wird das zweite Boot mit der blauen | + | In this example the second boat with Persenning |
| ===== Datasets ===== | ===== Datasets ===== | ||
| Line 107: | Line 141: | ||
| * [[: | * [[: | ||
| * [[https:// | * [[https:// | ||
| - | |||
| - | === === | ||