Vision HDL Toolbox

Auslegen von Bildverarbeitungs-, Video- und Computer Vision-Systemen für FPGAs und ASICs

 

Die Vision HDL Toolbox™ bietet Pixel-Streaming-Algorithmen zur Entwicklung und Implementierung von Vision-Systemen auf FPGAs und ASICs. Sie stellt ein Entwicklungsframework bereit, das eine Vielzahl an Schnittstellentypen, Framegrößen und Frameraten unterstützt. Die Algorithmen für Bildverarbeitung, Video und Computer Vision in der Toolbox verwenden eine Architektur, die sich für HDL-Implementierungen eignet.

Die Algorithmen in der Toolbox sind dafür konzipiert, lesbaren, synthetisierbaren Code in VHDL® und Verilog® zu generieren (mithilfe von HDL Coder™). Der generierte HDL-Code ist auf FPGAs erprobt für Framegrößen bis zu einer Auflösung von 8k und für Videos mit höherer Framerate (HFR-Videos).

Die Toolbox-Funktionen stehen als MATLAB® Funktionen, System Objects™ und als Simulink®-Blöcke zur Verfügung.

Erste Schritte:

Beispielhafte Hardware-Subsysteme

Nutzen Sie für den Einstieg beispielhafte Subsysteme, die Hardware-Implementierungstechniken für Bildverarbeitungsalgorithmen zeigen. Alle Beispiele beziehen sich auf die Verilog- oder VHDL-Codegenerierung mit HDL Coder.

Automatisiertes Fahren

Beginnen Sie die Erstellung Ihres automatisierten Fahrsystems mit auf Hardware erprobten Subsystemen für die Fahrspurerkennung, die Schlaglocherkennung und die Berechnung der Stereo-Disparität.

Merkmalerkennung

Erfahren Sie, wie Sie Merkmalerkennungstechniken mit Streaming-Hardware implementieren können, um Anwendungen für Überwachung, Objekt-Tracking, industrielle Inspektionen und andere Aufgaben zu entwickeln.

Kamerapipeline

Beginnen Sie mit der Erstellung der Bildaufbereitungs-Hardware, indem Sie Beispiele für die Rauschunterdrückung, die Gammakorrektur und Histogramm-Implementierungen verwenden.

Bildaufbereitung für eine FPGA-Anwendung zur Kantenerkennung.

IP-Blöcke für die Bildverarbeitung

IP-Blöcke (Intellectual Property) in der Vision HDL Toolbox bieten effiziente Hardware-Implementierungen für berechnungsintensive Streaming-Algorithmen, die häufig auf Hardware implementiert werden. Dies hilft Ihnen, Subsysteme für die Bild- und Videoverarbeitung schneller zu entwerfen.

Hardwarebeschleunigte Bildverarbeitung

Modellieren und simulieren Sie effiziente Hardwareimplementierungen von Bildverarbeitungsalgorithmen, wie Konvertierungen, Filterung, Morphologie und Statistik. Generieren Sie dann mit HDL Coder synthetisierbaren VHDL- oder Verilog-RTL-Code.

HDL-kompatibler Edge Detector-Block und seine konfigurierbaren Parameter.    

Verarbeitung von mehreren Pixeln per Taktfrequenz

Verarbeiten Sie 4k, 8k oder Videos mit hoher Frame-Rate zu FPGA-Taktfrequenzen, indem Sie parallele Datenströme von 4 oder 8 Pixeln angeben. Die grundlegende Hardwareimplementierung wird automatisch aktualisiert, um die Simulation und Codegenerierung mit der angegebenen Parallelisierung zu unterstützen.

Geben Sie die Verarbeitung von bis zu 8 Pixeln parallel an.

Integrierte Hardwaredatenverwaltung

Verwenden Sie Blöcke der Vision HDL Toolbox, um Streaming-Eingabedaten automatisch zu verwalten, wie Steuersignale, Fenster für Bereiche von Interesse (Region-of-Interest, ROI), sowie Zeilenpuffer. Verwenden Sie HDL Coder, um VHDL- oder Verilog-RTL-Code für die Steuerungsfunktionalität zu generieren, die Sie modellieren und simulieren.

Automatische Pufferung von Zeilen, um ein ROI-Fenster für die Kantenerkennung zu erstellen.

Verifikation mithilfe Frame-basierter Algorithmen

Verbinden Sie Frame-basierte Algorithmen und Testbenches mit Streaming-Hardware-Implementierungen, um sie effizient zu verifizieren.

Konvertierung zwischen Frames und Pixel

Konvertieren Sie Videodaten mit vollständigen Frames in einen Stream von Pixel mit Steuersignalen, um sie auf Hardware zu verarbeiten. Konvertieren Sie dann die Ausgabe der Streaming-Hardware in Frames, um sie anhand Ihres Referenzalgorithmus zu verifizieren.

Frame To Pixels-Block zur Konvertierung von Bild-Frames in einen Stream von Pixel mit Steuersignalen zur Verarbeitung auf Hardware.

Beispiele und Vorlagen für die Verifikation mit MATLAB und Simulink

Erfahren Sie, wie Sie mit Ihren Algorithmen und Tests aus der Image Processing ToolboxTM  und der Computer Vision System ToolboxTM  Ihre Hardwareimplementierung überprüfen können.

Verifikation einer Streaming-Hardware-Implementierung mit einem Frame-basierten Algorithmus.

Kosimulation mit HDL und FPGA

Verwenden Sie HDL Verifier™, um Ihr Hardware-Subsystem über eine RTL-Simulation oder mit einem FPGA-Entwicklungskit zu verifizieren, das mit Ihrer Testumgebung von MATLAB oder Simulink verbunden ist.

HDL Verifier unterstützt die FPGA-in-the-Loop-Verifikation mit FPGA-Platinen von Xilinx, Intel und Microsemi.

Bereitstellung auf FPGAs, ASICs und SoCs

Stellen Sie Ihre Bildverarbeitungsanwendung mühelos auf FPGA-Hardware bereit, um sie mit Live-Videoeingaben zu testen, und verwenden Sie dieselben Modelle auch für die Bereitstellung in der Produktion.

Prototyp-Plattform mit Live-Videoeingabe

Erstellen Sie Prototypen für Ihre Bildverarbeitungsanwendung, indem Sie das Computer Vision Toolbox Support Package für Xilinx® Zynq®-basierte Hardware herunterladen sowie HDL Coder und Embedded Coder® verwenden, um Code aus Ihrer MATLAB- oder Simulink-Implementierung zu generieren.

Erstellung von Prototypen Ihres Designs auf FPGA-Hardware mit realen Videoeingaben.    

Generierung von Code mit SoC-Interconnect-Schnittstellen.

Bildverarbeitung für FPGA

Sehen Sie sich diese fünfteilige Videoreihe an, in der wesentliche Konzepte und der Workflow für die Bereitstellung von Bildverarbeitungsanwendungen auf FPGAs für Prototyping und Produktion vorgestellt werden.

Neue Funktionen

Multipixel-Streaming

Verarbeiten von Videos mit hoher Framerate oder hoher Auflösung auf FPGAs

Adaptive Histogramm-Entzerrung

Vorverarbeitung von Bildern zur Verbesserung des Kontrasts

Details zu diesen Merkmalen und den zugehörigen Funktionen finden Sie in den Versionshinweisen.

Bildverarbeitung für FPGA

Sehen Sie sich diese fünfteilige Videoreihe an, in der wesentliche Konzepte und der Workflow für die Bereitstellung von Bildverarbeitungsanwendungen auf FPGAs für Prototyping und Produktion vorgestellt werden.