Dieser Abschnitt behandelt die Ergebnisse, die bei der Entwicklung der Sobel-Kantenerkennung auf dem Ultra96-V2 erzielt wurden. Abbildung 5 unten zeigt die Eingabe- und Ausgabebilder, die durch HLS-Simulation gewonnen wurden. Verwendet wurden Standardbilder mit einer Größe von 512 × 512. Diese Ergebnisse verdeutlichen, dass der für die Sobel-Kantenerkennung verfasste HLS-Code funktional korrekt ist. Die Kanten müssen in den resultierenden Bildern deutlich sichtbar sein.
Tabelle 3 zeigt die Syntheseberichte und die generierten Parameter zur Zeitsteuerung und Ressourcennutzung auf dem Ultra96-V2 mit dem FPGA-Teil xczu3eg-sbva484-1-e. Der Bericht enthält informationen zur Zeitsteuerung, die anzeigen, ob die Schaltung die vom Benutzer festgelegten zeitlichen Anforderungen erfüllt. Gemäß der Zeitzusammenfassung liegt die geschätzte Zeit von 8,544 ns unter der Zielzeit von 10 ns, was eindeutig darauf hindeutet, dass die Schaltung die Benutzeranforderungen erfüllt.
HLS-Werkzeuge generieren außerdem eine geschätzte Ressourcennutzung, die dem Entwickler eine Abschätzung der möglichen Nutzung der integrierten Ressourcen liefert. Die tatsächlichen Nutzungsparameter können erst nach der tatsächlichen Hardware-Realisierung ermittelt werden. Obwohl es auf einem FPGA zahlreiche und unterschiedliche Kategorien von Ressourcen gibt, werden am häufigsten LUTs (Look-up-Tabellen), FFs (Flip-Flops), DSP-Slices (Digital-Signalverarbeitungs-Slices) und Speicher verwendet.
Tabelle 3 zeigt ebenfalls die tatsächliche Laufzeit und Ressourcennutzung, wenn die Sobel-Kantenerkennung auf dem Ultra96-V2 für hochauflösende Bilder entwickelt wird. Die Zeitanalyse zeigt, dass die worst negative slack 3,102 ns beträgt, was darauf hinweist, dass ausreichend Zeit für die Verarbeitung vorhanden ist und somit eine Taktfrequenz von 144 MHz erreicht wird. Die erreichte Betriebsfrequenz von 144 MHz bei einer Auflösung von 1920 × 1080 entspricht einer Durchsatzleistung von etwa 299 MP/s, was den für die Echtzeitverarbeitung von Full-HD-Videos mit 30 fps erforderlichen Wert von 62 MP/s übertrifft. Um das Ressourcen-Scaling und die Auswirkungen auf die Parameter beim Übergang von niedrigen zu hohen Bildauflösungen zu verstehen, werden die Tabellenergebnisse anhand experimenteller Daten dargestellt, bei denen dieselben Schritte für verschiedene Auflösungen wiederholt wurden.
Tabelle 4 nennt die Bildgröße und damit die Gesamtanzahl der Pixel sowie die Betriebsfrequenz, die Leistungsaufnahme und die Ressourcennutzung in Form von LUTs, FFs, BRAM und DSP. Es ist deutlich erkennbar, dass beim Übergang von der kleinsten betrachteten Auflösung von 256 × 256 zur höchsten von 2560 × 1440, was einer nahezu 56-fachen Erhöhung der Pixelanzahl entspricht, die Parameter lediglich um 20 % ansteigen. Dies zeigt eindeutig eine unterlineare Skalierung der Ressourcen, bei der die zu verarbeitenden Daten um Vielfaches zunehmen, die Verschlechterung der Leistungskennzahlen jedoch sehr gering ausfällt, was die Eignung für den Einsatz in Echtzeit unterstreicht.
Die in Tabelle 4 dargestellten Ergebnisse zeigen eindeutig, dass die Anwendung der Sobel-Kantenerkennung auf dem Ultra96-V2 erhebliche Vorteile für Aufgaben mit anpassbaren Auflösungen bietet, da die Leistungskennzahlen optimiert bleiben und bei einer Erhöhung der Bildgröße von niedriger zu hoher Auflösung keine beträchtlichen Veränderungen auftreten. Dieser Erfolg ist dem hybriden Implementierungsansatz zuzuschreiben, der verhindert, dass die FPGA-Logik mit Bilddaten überlastet wird, wodurch der Prozessor der Platine in der Lage ist, die umfangreiche Bildverarbeitungsarbeit zu bewältigen. Der Prozessor leitet lediglich die Bilddaten an die FPGA-Logikkomponente weiter, wobei eine Zunahme des Ressourcenverbrauchs oder eine Verringerung der maximalen Taktfrequenz ausschließlich auf das große Datenvolumen zurückzuführen ist, das mehr Aufwand erfordert. Daher kann festgestellt werden, dass der in dieser Arbeit verfolgte Ansatz eine sublineare Skalierung der Ressourcen erreicht, obwohl die Anzahl der Bildpixel sich um fast das 56-Fache erhöht.
Die implementierte Arbeit wird außerdem mit bestehenden Designs verglichen, um den Vergleich hinsichtlich der Leistungskenngrößen wie Bildauflösung, Taktfrequenz, Leistungsverbrauch und Ressourcennutzung zu verstehen. Tabelle 5 zeigt den Vergleich mit der neuesten Literatur.
Wie deutlich in Tabelle 5 veranschaulicht, weist die in dieser Arbeit implementierte Lösung angemessene Leistungskennzahlen auf, doch die bereits vorhandenen Lösungen früherer Implementierungen9,10 weisen bessere Parameter auf. Bei einer Gesamtbewertung fällt jedoch auf, dass beide früheren Arbeiten9,10 mit niedriger Bildauflösung und auf veralteten FPGA-Plattformen arbeiteten, während die in dieser Arbeit dargestellten Ergebnisse auf adaptiven Bildauflösungen basieren, wobei die betrachtete Bildgröße von der niedrigsten Auflösung von 256 × 256 bis hin zur hochauflösenden Auflösung von bis zu 2560 × 1440 reicht. Die Ergebnisse zeigen, dass der implementierte Ansatz zur Sobel-Kantenerkennung, der die Fähigkeiten sowohl des Prozessors als auch des logischen Teils der heterogenen FPGA-Platine Ultra96-V2 nutzt, sich als nützlich erweist, um eine sublineare Ressourcen-Skalierung zu erreichen: Während die Anzahl der Pixel sich nahezu um das 56-Fache erhöht, steigt die Ressourcennutzung lediglich um 20 %, und die Abnahme von Leistung und Geschwindigkeit liegt ebenfalls unter 20 %. Bei der niedrigsten Auflösung werden nur 5 % der Ressourcen genutzt, und die maximale Auslastung beträgt lediglich 23 %, sodass noch erhebliche Kapazitäten für weitere Verarbeitungsschritte verfügbar bleiben. Daher lässt sich klar feststellen, dass aufgrund der Unterschiede in den Bildauflösungen ein direkter Vergleich schwierig ist. Wird jedoch das in dieser Arbeit implementierte Design betrachtet, so liegt die Taktfrequenz bei 136 MHz, der Stromverbrauch bei 2 W und die Ressourcennutzung unter 23 % der gesamten On-Board-Ressourcen. Es ist wichtig anzumerken, dass die in früheren Arbeiten9,10 beschriebenen Implementierungen überlegenere Einzelleistungskennzahlen aufweisen. Allerdings ist zu beachten, dass beide Arbeiten ihre Designs jeweils bei einer einzigen, festen Bildauflösung evaluieren, während die vorgeschlagene Arbeit über einen weiten Bereich von Auflösungen von 256 × 256 bis 2560 × 1440 evaluiert wird. Die Designziele unterscheiden sich daher grundlegend: Während die Arbeiten9,10 die Spitzenleistung bei einer einzigen Auflösung optimieren, priorisiert die vorgeschlagene Architektur Anpassungsfähigkeit und sublineare Ressourcen-Skalierung über mehrere Auflösungen hinweg. Dadurch eignet sich das implementierte Design besonders für Anwendungen, die Kantenerkennung erfordern.
Es kann daher festgestellt werden, dass in dieser Arbeit eine sublineare Ressourcen-Skalierung als der Zustand definiert ist, bei dem der prozentuale Anstieg der Ressourcennutzung deutlich geringer ist als der prozentuale Anstieg der Pixelanzahl. Wenn sich die Auflösung von 256 × 256 auf 2560 × 1440 erhöht, steigt die Pixelanzahl um etwa 5600 %, während die On-Board-Ressourcennutzung um weniger als 20 % ansteigt. Diese unverhältnismäßig geringe Wachstumsrate der Ressourcen, die direkt aus der heterogenen PS-PL-Partitionierungsstrategie resultiert, bestätigt das sublineare Skalierungsverhalten der vorgeschlagenen Architektur. Obwohl die vorgeschlagene Implementierung über den getesteten Auflösungsbereich hinweg eine sublineare Ressourcen-Skalierung aufweist, sollten bestimmte Einschränkungen zur korrekten Interpretation der Ergebnisse beachtet werden. Die Betriebsfrequenz sinkt von niedriger zu hoher Auflösung um 18 %, und eine Extrapolation jenseits von 2560 × 1440 könnte architektonische Anpassungen erfordern, um die Einhaltung der Timing-Anforderungen aufrechtzuerhalten. Zudem, da die Übertragung der Bilddaten durch den ARM-Prozessor verwaltet wird, wächst der Übertragungsaufwand auf der PS-Seite linear mit der Pixelanzahl und könnte den Durchsatz bei kontinuierlichen Anwendungen mit hochauflösendem Videostreaming begrenzen, über das hinaus, was die Metriken allein auf der PL-Seite nahelegen.

Abbildung 1: Verschiedene Anwendungsgebiete der Kantenerkennung. Darstellung repräsentativer Anwendungsbereiche, in denen die Kantenerkennung häufig eingesetzt wird, einschließlich Computer Vision, medizinische Bildgebung, Überwachung, Robotik und industrielle Automatisierung. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzusehen.

Abbildung 2: Beschreibung der Schritte im Sobel-Kantenerkennungsalgorithmus. Arbeitsablauf zur Veranschaulichung des Sobel-Kantenerkennungsprozesses, einschließlich der Extraktion eines 3 × 3-Bildfensters, der Faltung mit horizontalen und vertikalen Sobel-Kernen sowie der Erzeugung des kantenerkannten Ausgabebildes. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzusehen.

Abbildung 3: Implementiertes Blockdiagramm für die Sobel-Kantenerkennung auf dem Ultra96-V2-FPGA-Board unter Verwendung der Schnittstelle zwischen dem PS (Verarbeitungssystem) und dem PL (programmierbare Logik). Blockdiagramm, das die Hardwarearchitektur sowie die Vernetzung des Verarbeitungssystems (PS), der programmierbaren Logik (PL) und der unterstützenden IP-Kerne für die FPGA-Implementierung zeigt. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzusehen.

Abbildung 4: Schritte zum Programmieren des Ultra96-V2-Boards für die Sobel-Kantenerkennung mithilfe der PYNQ-Plattform sowie das Ergebnis der Sobel-Kantenerkennung für ein Eingabebild. Workflow zur Darstellung des Programmierverfahrens für das Ultra96-V2-Board unter Verwendung der PYNQ-Plattform und ein repräsentatives Ausgabebild nach der FPGA-Implementierung. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzusehen.

Abbildung 5: Simulationsergebnisse der Sobel-Kantenerkennung an verschiedenen Standardbildern mittels Vivado HLS (2019.2). Stellvertretende Eingabebilder und die entsprechenden Ausgaben mit erkannten Kanten aus der funktionellen Simulation des Sobel-Kantenerkennungsalgorithmus mit Vivado HLS 2019.2. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzusehen.
Tabelle 1: Entwicklung der FPGA-Anwendungen in der Computer-Vision-Forschung (2006–2024). Zusammenfassung repräsentativer, auf FPGAs basierender Anwendungen in der Computer Vision, die zwischen 2006 und 2024 veröffentlicht wurden. Bitte klicken Sie hier, um diese Tabelle herunterzuladen.
Tabelle 2: Verwandte Literatur zur Implementierung von Kantenerkennungsalgorithmen auf FPGA (2020–2025). Vergleich aktueller, auf FPGA basierender Implementierungen der Kantenerkennung, einschließlich Plattform, Methodik und berichteter Leistungsmetriken. Bitte klicken Sie hier, um diese Tabelle herunterzuladen.
Tabelle 3: Implementierung der Sobel-Kantenerkennung auf FPGA: geschätzte und tatsächliche Parameter. Geschätzte HLS-Syntheseergebnisse sowie entsprechende Timing- und Ressourcennutzungsdaten nach der Implementierung für die FPGA-Implementierung. Bitte klicken Sie hier, um diese Tabelle herunterzuladen.
Tabelle 4: Ressourcennutzung und Leistungskennzahlen des implementierten Sobel-Kantendetektionsalgorithmus bei unterschiedlichen Bildauflösungen. Leistungskennzahlen, Betriebsfrequenz, Stromverbrauch und FPGA-Ressourcennutzung der vorgeschlagenen Implementierung bei verschiedenen Bildauflösungen. Bitte klicken Sie hier, um diese Tabelle herunterzuladen.
Tabelle 5: Vergleich der implementierten und bestehenden Sobel-Kantenerkennung auf FPGA. Vergleich der vorgeschlagenen FPGA-Implementierung mit zuvor beschriebenen Implementierungen der Sobel-Kantenerkennung anhand repräsentativer Leistungskennzahlen. Bitte klicken Sie hier, um diese Tabelle herunterzuladen.