Ein Abonnement von JoVE ist erforderlich, um diesen Inhalt anzuzeigen. Melden Sie sich an oder beginnen Sie noch heute mit einer kostenlosen Testphase.

Methodenartikel

Eine auflösungsadaptive Hardware-Architektur für die Sobel-Kantendetektion in Echtzeit zur Erreichung einer sublinearen Ressourcenskalierung

58 Aufrufe

⸱

DOI:

10.3791/71589

⸱

28. August 2026

 ,  , 

In diesem Artikel

Zusammenfassung

Diese Arbeit stellt eine FPGA-basierte Implementierung des Sobel-Kantendetektionsalgorithmus auf der heterogenen Plattform Ultra96-V2 vor und bewertet die Ressourcennutzung, Leistungsaufnahme und Geschwindigkeit bei Bildauflösungen von 256 × 256 bis 2560 × 1440. Die vorgeschlagene Architektur zeigt eine sublineare Ressourcenskalierung für Echtzeit-Bildverarbeitungsanwendungen.

Zusammenfassung

Die Kantenerkennung ist ein zentraler Bereich im Bereich des maschinellen Sehens und hat sich zu einem integralen Bestandteil verschiedener Anwendungsbereiche entwickelt. Die Kantenerkennung ermöglicht die Identifizierung von Kanten, die wichtige Merkmale in Bildern darstellen und wesentliche Attribute repräsentieren, die bei der Extraktion entscheidender und unterscheidender Informationen aus den Bildern helfen. Die hardwaremäßige Implementierung der Kantenerkennung muss schnell sein, minimale Ressourcen nutzen, wenig Energie verbrauchen und an unterschiedliche Bildauflösungen anpassbar sein. In dieser Arbeit wird die Sobel-Kantenerkennung für adaptive Bildauflösungen implementiert, die von niedriger Auflösung bis hin zur vollen Hochauflösung reicht, und es wird eine moderne heterogene Field-Programmable-Gate-Array- (FPGA-)Plattform, das Ultra96-V2, verwendet. Die Ergebnisse zeigen, dass nur 5 % der an Bord befindlichen FPGA-Ressourcen, einschließlich der Lookup-Tabellen (LUTs), Flip-Flops (FF), Digital-Signal-Prozessoren (DSP) und Block-Speicher (BRAM), für Bilder mit niedriger Auflösung genutzt werden, während etwa 23 % der an Bord befindlichen Ressourcen für hochauflösende Bilder verbraucht werden. Dies zeigt, dass der Anstieg der Ressourcennutzung beim Übergang von niedriger zu hoher Bildauflösung weniger als 20 % beträgt. Zudem liegt die Leistungsverlustleistung bei etwa 2 W für die höchste Auflösung, und die maximale Betriebsfrequenz beträgt 136 MHz für hochauflösende und 166 MHz für niedrigauflösende Bilder, was einem Rückgang der Frequenz um lediglich 18 % entspricht. Die vorgeschlagene Architektur erreicht eine sublineare Ressourcen-Skalierung mit einem Anstieg der Ressourcennutzung von weniger als 20 % sowie einer Verringerung von Geschwindigkeit und Leistungsaufnahme um weniger als 20 %, wenn ein 56-facher Anstieg der Pixelanzahl verarbeitet wird, wobei die Vorteile der modernen heterogenen FPGA-Architektur genutzt werden. Folglich macht die Kombination aus adaptiver Auflösungsfähigkeit und geringer Ressourcen-Skalierung das vorgeschlagene Design besonders geeignet für Echtzeitanwendungen der Kantenerkennung, die eine hochwertige Bildverarbeitung erfordern.

Einleitung

Die Kantenerkennung ist heute ein entscheidender Bestandteil nahezu aller Techniken der Computer Vision, die in zahlreichen Anwendungsgebieten eingesetzt werden1. Die Kantenerkennung stellt eine Merkmalsextraktionsstufe dar und ist dafür verantwortlich, aussagekräftige und charakteristische Details aus Bildern zu gewinnen, die in einer Vielzahl von Szenarien Anwendung finden können2. Kanten in einem Bild markieren Bereiche, in denen eine abrupte Änderung der Helligkeitsintensität vorliegt; sie liefern daher wichtige und unterscheidende Informationen über das jeweilige Bild. Dieser Prozess ermöglicht die Beseitigung überflüssiger und irrelevanter Details und bewahrt lediglich die wesentlichen und einzigartigen Elemente, die für die jeweilige Anwendung weiterverarbeitet werden können.

Die Bedeutung der Kantenerkennung ergibt sich aus ihrer Anwendung in zahlreichen Aufgaben wie der Bildsegmentierung, Objekterkennung und -identifizierung, Merkmalsextraktion, Bildverbesserung, medizinischen Bildgebung, Überwachung, industriellen Automatisierung, autonomem Fahren, Augmented Reality und Robotik2,3,4,5,6, wie in Abbildung 1 dargestellt.

Es existieren mehrere Methoden zur Kantenerkennung, darunter Sobel, Prewitt, Roberts, Canny und andere. Unter diesen Verfahren zeichnet sich die Sobel-Kantenerkennung durch ihre einfache Anwendung, geringe Implementierungskomplexität und hohe Genauigkeit bei der Kantenfindung aus3,4,5,6. Die Gradienten des Bildes werden vom Sobel-Edge-Algorithmus sowohl in horizontaler als auch in vertikaler Richtung mithilfe der jeweiligen Kerne Gx und Gy bestimmt, wie unten dargestellt2,4.

Gx hebt die Kanten in x-Richtung hervor, und Gy hebt Kanten in y-Richtung hervor12,13. Zusammen kombiniert definieren sie vollständig alle Kanten in einem Bild6. Die Faltung mit dem Kernprozess und dem verschiebbaren Fenster wird verwendet, um die Sobel-Kantenerkennung auf ein Bild anzuwenden. Nacheinander wird ein Fenster, beispielsweise 3 × 3 Pixel groß, aus dem Bild ausgeschnitten, und dieses Fenster wird mit der Filtermatrix gefaltet, um den neuen Wert des mittleren Pixels zu erhalten. Das gesamte Bild wird auf diese Weise erneut verarbeitet. Bei der Sobel-Kantenerkennung werden zwei solcher Kerne verwendet: einer zum Extrahieren von Kanten in x-Richtung und ein weiterer für die y-Richtung. Um alle Kanten zu erhalten, werden diese beiden Ergebnisse anschließend kombiniert. Die Sobel-Kantenerkennung liefert genaue und zuverlässige Ergebnisse, die durch eine Vorverarbeitung weiter verbessert werden können4,5,15. Die vollständige Sobel-Kantenerkennung ist in Abbildung 2 dargestellt.

Obwohl alle publizierten Arbeiten wesentliche Beiträge auf dem Gebiet der Kantenerkennung leisten, beschränken sich die meisten bisherigen Untersuchungen auf niedrige Bildauflösungen, während die in dieser Arbeit vorgestellte Methode mit unterschiedlichen Bildauflösungen arbeitet, die von niedrigen Auflösungen (256 × 256) bis hin zur vollen hochauflösenden (HD) Bildauflösung (2560 × 1440) reichen. Daher ist die Untersuchung der Hardware-Implementierung des Sobel-Kantendetektionsalgorithmus für verschiedene Bildauflösungen entscheidend, um die Effizienz der Implementierung unter Echtzeitanforderungen mit wechselnden Bildauflösungen zu verstehen. Das Feldprogrammierbare Gate-Array (FPGA) gilt aufgrund seiner Eignung für die schnelle Prototypenentwicklung sowie aufgrund von Vorteilen wie der Rekonfigurierbarkeit, die einfache Designänderungen ohne Austausch der gesamten Hardwarekonfiguration ermöglicht, als geeignete Plattform für Hardware-Implementierungen6,7,8,9,10,11,12,13. Darüber hinaus bieten FPGAs das Potenzial für parallele Verarbeitung und Pipelining; sobald die Leistungskennzahlen optimiert und die Plattform validiert sind, kann das Design in Richtung der tatsächlichen Herstellung von anwendungsspezifischen integrierten Schaltungen (ASICs) weiterentwickelt werden14,15. Ein weiteres wichtiges Merkmal von FPGAs ist ihre Rekonfigurierbarkeit, die es Entwicklern ermöglicht, jederzeit Änderungen am Produktdesign vorzunehmen, ohne Hardware ersetzen zu müssen. Es genügt, den Chip neu zu programmieren, was bei Kenntnis hardwarebeschreibender Sprachen wie VHDL/Verilog nur wenig Zeit und Aufwand erfordert4,6,13,16,17. Für die Analyse der FPGA-Implementierung werden die wichtigsten Parameter Geschwindigkeit (maximale Frequenz), Ressourcenauslastung und Energieeffizienz betrachtet. Tabelle 1 zeigt die zunehmende Menge an Fachliteratur im Bereich FPGA und verdeutlicht, wie sich FPGA-Publikationen im Zeitraum von 2006 bis 2024 entwickelt haben. Sie macht deutlich, dass sich der Forschungsbereich FPGA mittlerweile auf Echtzeitanwendungen, erweiterte Realität (Augmented Reality), Edge Computing und andere anspruchsvolle Anwendungen verlagert hat13,14,15,16,17,18,19,20,21,22,23.

Tabelle 2 verdeutlicht die in der bestehenden Literatur seit 2020–2025 geleistete Arbeit im Zusammenhang mit der Implementierung der Sobel-Kantendetektion auf FPGA. Tabelle 2 nennt das verwendete FPGA-Board, die implementierten Algorithmen, die Entwurfsmethodik, die Ergebnisse, Metriken, Anwendungsgebiete sowie die Herausforderungen der jeweils referenzierten Artikel.

Die Autoren4 haben empfohlen, die 8-Richtungs-Sobel-Kantenmethode zu verwenden, um die Genauigkeit der Kantenerkennung zu erhöhen; sie berichteten jedoch über einen höheren Ressourcenverbrauch bei der vorgeschlagenen Methodik. Navinkumar et al. nutzen eine Technik, um die komplexen mathematischen Operationen – Multiplikation und Quadratwurzel –, die bei der traditionellen Sobel-Kantenerkennung auftreten, zu reduzieren, wodurch die Bordressourcen geschont und die Geschwindigkeit verbessert wird9. Die Autoren17 dokumentierten die Verwendung des Sobel-Kantenerkennungsalgorithmus zur Erkennung von Fahrspuren in fortschrittlichen Fahrerassistenzsystemen. Ihr Ziel bestand darin, die Erkennung zu beschleunigen und gleichzeitig die Verarbeitungszeit zu verkürzen. Insgesamt wurde die Verwendung der Kantenerkennung als zuverlässige Methode zur Extraktion des interessierenden Bereichs (Region of Interest) für die Zukunft vorgeschlagen, was in einer Vielzahl von Anwendungen sehr hilfreich sein könnte, bei denen der benötigte Bildbereich extrahiert werden muss, während alle anderen unwesentlichen Informationen ignoriert werden. Zu den gemeinsam berichteten Herausforderungen zählten höherer Ressourcen- und Speicherverbrauch, Empfindlichkeit gegenüber Rauschen, hohe Rechenkosten sowie begrenzte Skalierbarkeit für Bilder mit höherer Auflösung4,5,6,11,12,13,21,22,23.

In dieser Arbeit wird die traditionelle Implementierung des Sobel-Kantendetektionsalgorithmus auf dem Ultra96-V2-FPGA-Board für verschiedene Bildauflösungen durchgeführt, die von der niedrigen Auflösung von 256 × 256 bis hin zur vollen hochauflösenden Auflösung von 2560 × 1440 reichen. Ultra96-V2 ist eine Platine, die die programmierbaren FPGA-Fähigkeiten mit der leistungsstarken Arm-Prozessortechnologie (Cortex-A53/R5) für Hochleistungsanwendungen kombiniert. Diese Platine wurde erstmals 2018 veröffentlicht und nutzt die 16 nm FinFET-Technologie18.

Um die Reproduzierbarkeit sicherzustellen, wurde die gesamte Implementierung mithilfe einer standardisierten Toolkette durchgeführt, bestehend aus Vivado HLS 2019.2 für die Synthese auf hoher Ebene (HLS) und Vivado 2019.2 für Platzierung und Routing sowie dem von Ultra96-V2 bereitgestellten PYNQ-Image. Der HLS-Code wurde verwendet, um den IP-Kern (Intellectual Property) für die Sobel-Kantenerkennung abzuleiten, der anschließend exportiert und in die Vivado-Design-Suite integriert wurde. Der IP-Kern wurde im PL-Bereich (Programmierbare Logik) implementiert, während der PS-Teil (Verarbeitungssystem) der FPGA für den Datentransfer und die Steuerungsmechanismen zuständig war. Die Schnittstelle zwischen PS und PL wurde über das AXI-Protokoll realisiert. Alle angegebenen Metriken – Frequenz, Ressourcenverbrauch und Leistung – stammen aus Berichten nach der Implementierung und nicht aus HLS-Schätzungen. Die Implementierungseinstellungen blieben unverändert, und lediglich die Bildauflösungen wurden im Verlauf der Experimente variiert.

Zu den bedeutenden Leistungen dieser Arbeit gehören geringer Stromverbrauch, geringe Ressourcennutzung und hohe Geschwindigkeit. Die Ergebnisse zeigen eine Inanspruchnahme von weniger als 20 % der Onboard-Ressourcen (18 % Lookup-Tabellen (LUTs), 11 % Flip-Flops (FF), 3 % Speicher und 10 % DSP) bei hochauflösenden Bildern, was auf eine große verfügbare Kapazität für die Integration weiterer Bildverarbeitungsschritte hinweist – eine Eigenschaft, die in jedem Computersichtsystem zu erwarten ist, da die Kantenerkennung lediglich ein Zwischenschritt darstellt. Zudem beträgt die Leistungsaufnahme etwa 2 W, und die maximale Taktfrequenz liegt bei 144 MHz. Die Ergebnisse zeigen, dass eine Skalierung der Bildgrößen um etwa das 56-Fache die Ressourcennutzung lediglich um etwa 20 % erhöht. Auch Geschwindigkeit und Leistungsaufnahme verschlechtern sich jeweils nur um etwa 20 %. Diese Analyse untersucht den Algorithmus aus einer bisher in der Literatur nicht berichteten Perspektive und zeigt damit, dass die Implementierung besonders gut für Echtzeitanwendungen geeignet ist, ohne dass die Bilder auf kleine Größen oder geringere Auflösung beschränkt werden müssen – eine Einschränkung, die definitiv die Informationsmenge verringert, die in nachfolgenden Schritten nach der Kantenerkennung benötigt wird.

Die Neuheit dieser Arbeit liegt nicht im Algorithmus selbst, sondern in der Bewertung der Leistung des traditionellen Sobel-Kantendetektionsalgorithmus bei verschiedenen Bildauflösungen auf modernen heterogenen FPGA-Architekturen, wobei die Vorteile HLS-basierter Implementierungstechniken genutzt werden. Die wesentlichen Beiträge dieser Arbeit liegen vor allem in der Anwendung einer hybriden Methodik, die auf einem FPGA implementiert ist und die Arbeitslast effektiv zwischen die PS- und PL-Bereiche der Architektur verteilt, sodass die Konstruktion sich mühelos an unterschiedliche Auflösungen anpassen kann. Ein weiterer Beitrag besteht darin, experimentell zu untersuchen, wie die Skalierung des Ressourcenbedarfs mit Änderungen der Bildauflösungen variiert, was zum Verständnis der Leistung bei verschiedenen Konfigurationen und für vielfältige Anwendungen beiträgt.

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Protokoll

1. Implementierung der Sobel-Kantenerkennung im HLS-Tool

  1. Öffnen Sie das Vivado HLS 2019.2-Tool und erstellen Sie ein Projekt. Wählen Sie das FPGA-Board als Ultra96-V2 aus.
  2. Schreiben Sie den Code in Hochsprache unter Verwendung der C++-Sprache für die Sobel-Kantenerkennung, wobei der Bildgrößenparameter verallgemeinert und nicht festgelegt ist.
    HINWEIS: Die Bildbreite und -höhe sind nicht festgelegt, sondern im Code als allgemeiner Parameter formuliert, sodass sie leicht geändert werden können, wenn die Bildauflösung variiert wird, ohne an mehreren Stellen Anpassungen vornehmen zu müssen.
  3. Schreiben Sie den Testbench-Code für den Sobel-Kantenerkennungsalgorithmus in C++.
    HINWEIS: Die Testbench wird geschrieben, um Eingabebilder bereitzustellen, mit denen der Code getestet wird.
  4. Klicken Sie auf „C-Simulation ausführen“, um den Code zu simulieren und die funktionale Korrektheit zu überprüfen. Geben Sie ein Eingabebild an die Testbench weiter und prüfen Sie anschließend das generierte Ausgabebild, das die Kanten enthalten sollte.
  5. Klicken Sie auf „C-Synthese ausführen“, um den HLS-Code zu synthetisieren und die IP für die Sobel-Kantenerkennung zu exportieren.
    HINWEIS: Der Synthesevorgang ordnet das codierte Design grundsätzlich Hardware-Komponenten zu und macht das Design kompatibel und bereit für die Hardware-Implementierung.
  6. Überprüfen Sie die vom Tool generierten Berichte zur Laufzeit und Ressourcennutzung und stellen Sie sicher, dass die geschätzte Zeit die Zielzeit nicht überschreitet.
    HINWEIS: Alle diese Ergebnisse der HLS-Plattform sind lediglich Schätzungen; die tatsächlichen Parameter werden erst berechnet, wenn das Design auf einem FPGA implementiert wird.
  7. Klicken Sie auf „IP exportieren“, um die IP des Sobel-Kantenerkennungsverfahrens zu exportieren.
    HINWEIS: Diese IP wird im nächsten Schritt verwendet, wenn das Blockdiagramm für die FPGA-Implementierung im Vivado-Tool entworfen wird.

2. Implementierung der Sobel-Kantenerkennung auf der FPGA-Plattform Ultra96-V2 unter Verwendung extrahierter HLS-IP

  1. Öffnen Sie das Vivado-Design-Tool und erstellen Sie ein neues Projekt. Wählen Sie die Zielplattform als Ultra96-V2 aus und klicken Sie auf „Neues Blockdesign erstellen“.
  2. Importieren Sie das Sobel-Kantenerkennungs-IP, das zuvor aus dem HLS-Tool exportiert wurde. Fügen Sie die weiteren erforderlichen Blöcke hinzu, um die Schnittstelle zwischen dem PS- und dem PL-Teil zu vervollständigen.
    HINWEIS: Das Blockschaltbild verwendet zusätzlich wichtige IP-Blöcke wie das Zynq Ultrascale-IP, den Smart Connect sowie den Prozessor-Reset usw., um die Schnittstelle zwischen PS und PL mithilfe des Advanced eXtensible Interface (AXI)-Protokolls herzustellen.
  3. Klicken Sie auf „Design überprüfen“, um das Blockdesign zu validieren. Stellen Sie sicher, dass das Tool keine Designfehler meldet. Falls Fehler auftreten, befolgen Sie die Anweisungen zur Korrektur und validieren Sie erneut.
    HINWEIS: Dieser Schritt stellt sicher, dass im Blockschaltbild keine Verbindungen fehlen, überprüft jedoch nicht die funktionale Korrektheit des Blockdesigns.
  4. Klicken Sie auf „HDL-Wrapper erstellen“, um einen verallgemeinerten HDL-Code für das Blockdesign zu erhalten.
  5. Klicken Sie auf „Synthese ausführen“, um das Design zu synthetisieren und auf gemeldete Fehler zu prüfen. Wird kein Fehler gefunden, meldet das Tool eine erfolgreiche Synthese. Nach erfolgreicher Synthese überprüfen Sie die Timing-Berichte auf mögliche Timing-Verletzungen.
  6. Um Timing-Verletzungen zu überprüfen, stellen Sie sicher, dass keine Timing-Werte in roter Schrift angezeigt werden, da dies darauf hinweist, dass die genutzte Zeit die zugewiesene Zielzeit überschreitet und somit Verletzungen anzeigt.
  7. Klicken Sie auf „Implementierung ausführen“, um das Design zu implementieren und die Berichte zu Timing, Leistungsaufnahme und Ressourcennutzung zu bewerten.
  8. Generieren Sie die „.bit“-Datei, um die FPGA-Platine zu programmieren.
    HINWEIS: Das Blockschaltbild für die Sobel-Kantenerkennung auf dem Ultra96-V2 ist in Abbildung 3 dargestellt. Wie bereits erwähnt, ist das Blockschaltbild im Wesentlichen erforderlich, um eine Schnittstelle zwischen dem PS- und dem PL-Teil der FPGA-Platine herzustellen.

3. Programmierung der FPGA-Platine

  1. Um die SD-Karte vorzubereiten, laden Sie die PYNQ-Image-Datei (.img) für das Ultra96-V2-Board16 herunter und installieren Sie die heruntergeladene Datei auf der SD-Karte.
  2. Schalten Sie das Board im SD-Karten-Boot-Modus ein, indem Sie die Schalterpositionen gemäß dem Ultra96-V2-Referenzhandbuch16 wählen.
  3. Rufen Sie die URL http://192.168.3.1 auf und geben Sie bei Aufforderung den Benutzernamen und das Passwort ein, jeweils als „xilinx“.
    HINWEIS: Es wird empfohlen, den Google Chrome-Browser zu verwenden, um technische Unverträglichkeiten zu vermeiden.
  4. Rufen Sie die Jupyter-Plattform auf und schreiben Sie Python-Code für den PS-Teil, um Eingabebilder oder -videos zu lesen und das gelesene Bild an den PL-Teil zur Verarbeitung zu senden.
  5. Schreiben Sie Code für die Aufgabe, die verarbeiteten Bilder vom PL-Teil zurück zum PS-Teil zu schreiben und das Ergebnis anzuzeigen.
    HINWEIS: Um die Ergebnisse auf dem Ultra96-V2 anzuzeigen, wird die PYNQ-Plattform verwendet, wodurch die Ausgabebilder einfach mittels Python-Codes und OpenCV-Bibliotheken angezeigt werden können.
    Abbildung 4 zeigt die Schritte für den Ultra96-V2-Ansatz, wie in diesem Abschnitt dargestellt, sowie die erhaltenen Ausgaben.

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Ergebnisse

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.

...

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Diskussion

Dieser Artikel konzentriert sich auf die Ausführung des Sobel-Kantendetektionsalgorithmus, der eine wesentliche Komponente in verschiedenen Anwendungen aus mehreren Bereichen der Computer Vision und Bildverarbeitung darstellt2,3,4,5,6. Die Implementierung der Sobel-Kantendetektion erfolgt mithilfe des Vivado-HLS-Tools, wodurch die Programmierung in höheren Programmiersprachen mögl...

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Offenlegungen

Die Autoren erklären, dass kein Interessenkonflikt besteht. Bei der Erstellung dieses Manuskripts wurden keine Künstliche-Intelligenz- (KI-) Werkzeuge verwendet.

Danksagungen

Die Autoren haben keine Danksagungen zu machen. Diese Forschung erhielt keine externe Finanzierung.

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Materialien

Liste der in diesem Artikel verwendeten Materialien
NameUnternehmenKatalognummerKommentare
Ultra96-V2 FPGA-Board Xilinx Eingeführt im Jahr 2018Hardware-Implementierungsplattform zur Realisierung des Fußgängererkennungsalgorithmus
Vivado HLS AMD2019.2Werkzeug zur Hochsprach-Synthese (High Level Synthesis), verwendet für die hochgradige Programmierung des Fußgängererkennungscodes in der Arbeit, um das Intellectual Property (IP) zu exportieren
Vivado AMD2019.2FPGA-Programmierwerkzeug zur Programmierung des Ultra96 v2 FPGA-Boards mit dem Sobel-Kantendetektionsalgorithmus 

Referenzen

  1. Rani N. Image processing techniques: a review. J Today Ideas Tomorrow Technol. 2017;5(1):40-9.
  2. Gonzalez RC. Digital image processing. Pearson Education; India; 2009.
  3. Jena KK, Mishra S, Mishra S. An edge detection approach for fractal image processing. In: Examining Fractal Image Processing and Analysis. IGI Global; 2020. p. 1-22.
  4. Gayathri AG, Remya AS. VLSI implementation of improved Sobel edge detection algorithm [conference presentation]. Presented at: 2021 International Conference on Communication, Control and Information Sciences (ICCISc); 2021 Jun 16. Available from: https://ieeexplore.ieee.org/
  5. Obaid MT. Efficient Implementation of Sobel Edge Detection with ZYNQ-7000 [Master's thesis]. Purdue University.
  6. Asharani P, et al. A inventive method for door detection on FPGA using Sobel edge algorithm [conference presentation]. Presented at: 2022 2nd International Conference on Intelligent Technologies (CONIT); 2022 Jun 24. Available from: https://ieeexplore.ieee.org/
  7. Shylashree N, Anil Naik M, Sridhar V. Design and implementation of image edge detection algorithm on FPGA. Int J Circuits Syst Signal Process. 2022;16:628-36.
  8. Zhou G, Guo S, Chen Z. FPGA-based improved Sobel operator edge detection. Front Comput Intell Syst. 2023;5(2):6-11.
  9. Navinkumar K, Logesh R, VishnuBabu P, Ananthalakshmi AV. FPGA implementation of Sobel edge detection algorithm. EAI Endorsed Trans Internet Things. 2024;10.
  10. Ravichandran S, et al. Parallel processing of Sobel edge detection on FPGA: enhancing real-time image analysis. Sensors. 2025;25(12):3649.
  11. Baloch A, et al. Hardware synthesize and performance analysis of intelligent transportation using Canny edge detection algorithm. Int J Eng Manuf. 2021;11(4):22-32.
  12. Patel CS, Solanki N, Tailor N. Analysis of edge detection using Zynq based SoC FPGA. Turk Online J Qual Inq. 2021;12(7).
  13. Kashyap S, Bhandari AK, Giri P. Low resource FPGA implementation based efficient image edge detector architecture. Multimed Tools Appl. 2024;83(9):25595-615.
  14. Dakshayani V, et al. Design of a Gabor filter-based image denoising hardware model. Electronics. 2022;11(7):1063.
  15. Belmessaoud NM, Bentoutou Y, El-Mezouar MC. FPGA implementation of feature detection and matching using ORB. Microprocess Microsyst. 2022;94:104666.
  16. Castells-Rufas D, et al. A survey of FPGA-based vision systems for autonomous cars. IEEE Access. 2022;10:132525-63.
  17. Vedavyas Y, Vasavi S, Harsha SS, Subhash MS. An FPGA-based adaptive real-time quality enhancement system for drone imagery. SN Comput Sci. 2022;4(1):84.
  18. Avnet. Ultra96-V2 Single Board Computer Hardware User's Guide. Revision 1.0. Avnet; 2020 May.
  19. Singh G, et al. Optimizing IoT capabilities: leveraging FPGA for superior performance, efficiency and security [conference presentation]. Presented at: 2024 5th International Conference for Emerging Technology (INCET); 2024 May 24. Available from: https://ieeexplore.ieee.org/
  20. Kaur A. A survey on FPGA implementations in embedded augmented reality applications [conference presentation]. Presented at: 6th Edition of International Conference on Wireless Networks and Embedded Systems (WECON); 2018 Nov 16. Available from: https://ieeexplore.ieee.org/
  21. Kalaiselvi A, Sajina S, Nithish S, Sowmiya M. Implementation of Sobel edge detection. Int Res J Mod Eng Technol Sci. 2023;5(3):701-11.
  22. Narasimhamurthy CG, Kulkarni S. Fast architecture for low level vision and image enhancement for reconfigurable platform [conference presentation]. Presented at: 2021 International Conference on Advances in Electrical, Computing, Communication and Sustainable Technologies (ICAECT); 2021 Feb 19. Available from: https://ieeexplore.ieee.org/
  23. Pujare A, Sawant P, Sharma H, Pichhode K. Hardware implementation of Sobel edge detection algorithm [conference presentation]. Presented at: ITM Web of Conferences; 2020. Available from: https://www.itm-conferences.org/

Zugriff eingeschränkt. Bitte melden Sie sich an oder starten Sie eine Testversion, um diesen Inhalt anzuzeigen.

Nachdrucke und Genehmigungen

Weitere Artikel entdecken

Echtzeit-Kantendetektionadaptive BildauflösungFPGA-ArchitekturHardware-ImplementierungUltra96-V2 FPGABildverarbeitungComputer Vision