Diplomarbeit: FPGA & DSP basierendes Bildverarbeitungssystem
In der Bildverarbeitung werden üblicherweise Firewire- oder USB-Kameras mit einem Standard-PC verwendet. Mit dieser Arbeit wurde ein universelles Bildverarbeitungssystem entwickelt, welches die Vorteile von preisgünstigen CMOS-Bildsensoren, FPGAs und DSPs miteinander vereinigt. Das System verfügt über ausreichende Leistungsreserven, um auch aufwendige Berechnungen in Echtzeit durchzuführen. Die Leistungsfähigkeit konnte anhand mehrerer Anwendungsbeispiele aus verschiedenen Bereichen gezeigt werden.
Aus dem Inhalt:
- Anbindung eines Spartan3-FPGA an einen Texas Instruments DM642-DSP.
- Entwurf und Aufbau einer LVDS-Übertragungsstrecke mit einer Übertragungsrate von 4x 1.28GBit/s über 20m CAT5-Kabel.
- Entwurf und Aufbau eines CMOS-Kamerasystems "M-Cam" mit 3 Megapixel Bildauflösung (2048x1536 Pixel) und bis zu 3863 fps (bei 16x16 Pixel).
- Erstellung eines Software-Frameworks auf dem DSP für die einfache Realisierung verschiedener Anwendungen inkl. grafischer Benutzeroberfläche (GUI).
- Implementierung diverser FPGA-Module in VHDL:
- Hochqualitative Bayer-Demosaik Algorithmen (Nearest-Neighbour, Interpolate, Adaptive, Median-based)
- Sobel Kantendetektion
- Median- und parametrisierbarer Tief/Hochpass-Filter
- Gamma-Kurve, Kontrast und Helligkeitseinstellung
- Konverter für verschiedene Farbmodelle
- Rauschfilter
- I2C-Slave zur Konfiguration der Filter
- PS/2-I2C Gateway zum Anschluss einer Maus
- Realisierung mehrerer Anwendungsbeispiele (siehe Demo Video):
- Marker-Erkennung für Roboterfußball
- Objekterkennung und Klassifizierung
- 3D-Scanner
- RAW-Recorder
Demo Video
Video 1: M-Cam Demo Video: Sobel-Kantenerkennung, High/Low-Pass, Object-Recognition, Squirrel-Tracker und 3D-Scanner. Alles läuft direkt auf dem FPGA und dem DSP (ohne PC).
Bild 1: DM642-DSP-Board mit aufgesteckter Schnittstellenplatine.
Bild 2: Rückseite der LVDS-DeSerializer-Platine.
Bild 3: Sensorplatine mit 3-Megapixel CMOS-Sensor.
Bild 4: Aufbau der Kamera
Bild 5: Gehäuse der Kamera
Bild 6: Der Mond, aufgenommen mit einem 50mm-Objektiv und der M-Cam (Baum im Vordergrund).
Zeitlupe
Video 2: Verschiedene Szenen, die bei 300fps mit der MCam aufgenommen wurden. Wiedergabe abwechselnd in Realzeit und 1:10 Zeitlupe.
Anwendungsbeispiel: Objekterkennung
Video 3: RGB-Filter und GUI-Test.
GUI und Filter laufen auf einem DM642-DSP bei 640x480 Pixel @ 120 fps in Echtzeit.
Video 4: Squirrel-Tracker
Der Squirrel-Tracker findet das Eichhörnchen (oder ein beliebiges anderes Objekt) im Bild und sorgt dafür das dieses immer richtig herum und mit der gleiche Größe in der Mitte des Bildes angezeigt wird. Alles bei 60fps in Echtzeit mit der M-Cam und einem DM642-DSP @600 Mhz (ohne PC).
Video 5: M-Cam 3D Laserscanner Test. Die eingescannten 3D-Daten wurden mit dem Raytracer Povray gerendert.
Bild 7: Mit Povray gerendertes 3D-Modell.
In eigener Sache: Nein, ich verschicke das PDF meiner Diplomarbeit nicht an fremde Leute. Sorry. Falls eine innovative Firma Interesse an dem Know-How hat und mir ein interessantes Jobangebot anbieten kann, freue ich mich natürlich über eine kurze Nachricht.