Stereovision IP-Core
Stereovision IP-Core
Lizenzieren Sie unseren Stereovision IP-Core für Ihre Anwendung
Der Stereovision IP-Core für FPGAs ist das Herzstück unseres SceneScan Stereovisionsensors. Gerne bieten wir Ihnen diesen IP-Core zum Lizenzieren an damit Sie unsere Stereovision-Fähigkeiten in Ihre eigenen FPGA-basierten Produkte integrieren können.
Um die Verwendung des Stereovision-Cores auf Geräten mit einem gemeinsam genutzten Systemspeicher zu erleichtern, haben wir zusätzlich einen IP-Core für Direct Memory Access (DMA) im Angebot. Dieser DMA-Core liest die vom Stereovision-Core benötigten Eingangsdaten mittels AXI3 aus dem Systemspeicher und konvertiert diese in einen für den Stereovision-Core geeigneten Datenstrom. Ebenso sammelt der DMA-Core die Verarbeitungsergebnisse und schreibt diese zurück in den Systemspeicher. Der DMA-Core eignet sich besonders für den Einsatz auf dem Xilinx Zynq SoC.
Funktionsweise des Stereomatching auf dem FPGA
Der Stereovision-IP-Core verarbeitet zwei Farb- oder Graustufenbilder mittels Stereomatching. Die Bilder werden zunächst im FPGA rektifiziert, um Objektivfehler und Fehler in der Kameraausrichtung auszugleichen. Stereomatching erfolgt anschließend mittels einer Variation des Semi-Global-Matching (SGM) Algorithmus, welche speziell für eine FPGA-basierte Verarbeitung optimiert wurde. Das Ergebnis ist schließlich eine Disparitätskarte (ein inverses Tiefenbild) mit einer subpixelgenauen Auflösung. Verschiedene Nachverarbeitungen werden angewendet um die Qualität der Tiefendaten zu verbessern. Die Disparitätskarte wird über eine AXI4-Stream-Schnittstelle ausgegeben.
Die Funktionen im Überblick
Bildverarbeitungsarchitektur
- Verarbeitung von Graustufenbilder mit einer Farbtiefe von 8 oder 12 Bit pro Pixel
- Verarbeitung von RGB- und Bayer-Pattern-Farbbildern mit einer Farbtiefe von 8 Bit pro Farbkanal
- Streambasierte Verarbeitung mittels AXI4-Stream, AXI4 oder AXI3
- Konfiguration über AXI4-Lite Interface
- Ausgabe der Disparitätskarte beginnt vor Verarbeitung des letzten Pixels der Eingangsbilder
- Unterstützung variabler Bildgrößen
- Multi-Clock-Design mit einem schnelleren Takt für performancekritische Funktionen
Bildrektifizierung
- Rektifizierung mittels vorberechneter Rektifizierungskarte
- Bilineare Pixelinterpolation für subpixelgenaue Rektifizierung
Stereomatching
- Stereomatching mittels einer Variante des Semi-Global-Matching (SGM) Algorithmus
- Konfigurierbarer Disparitätsbereich von bis zu 256 Pixel
- Konfigurierbarer Disparitäts-Offset
- Konfigurierbare Gewichte P1 und P2 für kleine und große Disparitätsunterschiede
- Kantenabhängige Anpassung der SGM-Gewichte
- Vorverarbeitung der Eingangsbilder für erhöhte Robustheit gegenüber Belichtungsänderungen und Verdeckungen
Nachverarbeitung
- Subpixeloptimierung
- Konsistenzprüfung mit konfigurierbarem Schwellwert
- Einzigartigkeitsprüfung mit konfigurierbarem Schwellwert
- Füllung kleiner Lücken durch Interpolation
- Rauschreduktion
- Speckle-Filterung
- Filterung untexturierter Bildbereiche