Subskrypcja JoVE jest wymagana do oglądania tego materiału. Zaloguj się lub rozpocznij bezpłatny okres próbny.

Artykuł metodologiczny

Rozdzielczo-adaptacyjna architektura sprzętowa do detekcji krawędzi Sobela w czasie rzeczywistym, zapewniająca podliniowe skalowanie zasobów

58 wyświetleń

⸱

DOI:

10.3791/71589

⸱

28 sierpnia 2026

 ,  , 

W tym artykule

Podsumowanie

Niniejsza praca przedstawia implementację algorytmu detekcji krawędzi Sobela opartą na układzie FPGA na heterogenicznej platformie Ultra96-V2, oceniając wykorzystanie zasobów, pobór mocy oraz prędkość dla rozdzielczości obrazów od 256 × 256 do 2560 × 1440. Zaproponowana architektura wykazuje podliniowe skalowanie zasobów w zastosowaniach przetwarzania obrazu w czasie rzeczywistym.

Streszczenie

Detekcja krawędzi jest kluczowym obszarem w wizji komputerowej i stała się integralną częścią wielu dziedzin aplikacyjnych. Detekcja krawędzi umożliwia identyfikację krawędzi, które są krytycznymi cechami obrazów i reprezentują istotne atrybuty pomagające w wyodrębnianiu kluczowych i rozróżniających informacji z obrazów. Implementacja sprzętowa detekcji krawędzi musi być szybka, wykorzystywać minimalne zasoby, pobierać niewielką ilość energii i być dostosowalna do różnych rozdzielczości obrazu. Niniejsza praca implementuje detekcję krawędzi Sobela dla adaptacyjnej rozdzielczości obrazu, od obrazów o niskiej rozdzielczości do pełnego formatu high-definition, wykorzystując nowoczesną heterogeniczną platformę FPGA (Field Programmable Gate Array) Ultra96-V2. Wyniki wykazują, że dla obrazów o niskiej rozdzielczości wykorzystywane jest jedynie 5% zasobów pokładowych FPGA, w tym tablice LUT (Look up Tables), przerzutniki FF (Flip Flops), procesory DSP (Digital Signal Processor) oraz pamięć blokowa BRAM (Block Memory), natomiast dla obrazów o wysokiej rozdzielczości zużycie zasobów pokładowych wynosi około 23%. Świadczy to o tym, że wzrost wykorzystania zasobów przy przejściu z obrazów o niskiej rozdzielczości na obrazy o wysokiej rozdzielczości wynosi mniej niż 20%. Dodatkowo, rozproszenie mocy wynosi około 2 W dla najwyższej rozdzielczości, a maksymalna częstotliwość pracy została odnotowana na poziomie 136 MHz dla wysokiej rozdzielczości i 166 MHz dla niskiej rozdzielczości obrazów, co wykazuje spadek częstotliwości o zaledwie 18%. Zaproponowana architektura osiąga podliniowe skalowanie zasobów, z wzrostem wykorzystania zasobów o mniej niż 20% oraz spadkiem prędkości i mocy o mniej niż 20% przy 56-krotnym wzroście liczby pikseli, wykorzystując zalety nowoczesnej heterogenicznej architektury FPGA. W konsekwencji, zdolność adaptacji rozdzielczości w połączeniu z niskim skalowaniem zasobów sprawia, że zaproponowany projekt jest szczególnie odpowiedni dla aplikacji detekcji krawędzi w czasie rzeczywistym, wymagających wysokiej jakości przetwarzania obrazu.

Wprowadzenie

Wykrywanie krawędzi stało się kluczowym elementem niemal wszystkich technik komputerowego rozpoznawania obrazu wykorzystywanych obecnie w różnych dziedzinach zastosowań1. Wykrywanie krawędzi jest etapem ekstrakcji cech i odpowiada za wydobywanie z obrazów informacyjnych i charakterystycznych szczegółów, które mogą być zastosowane w szerokim zakresie scenariuszy2. Krawędzie w obrazie oznaczają obszary, w których następuje gwałtowna zmiana intensywności; w związku z tym dostarczają one ważnych i charakterystycznych informacji o tym obrazie. Proces ten ułatwia eliminację niepotrzebnych i nieistotnych szczegółów, zachowując jedynie kluczowe i unikalne elementy, które mogą być dalej przetwarzane w konkretnej aplikacji.

Znaczenie detekcji krawędzi podkreśla jej zastosowanie w różnych zadaniach, w tym w segmentacji obrazu, detekcji i rozpoznawaniu obiektów, ekstrakcji cech, ulepszaniu obrazu, identyfikacji obiektów, obrazowaniu medycznym, nadzorze, automatyce przemysłowej, autonomicznym prowadzeniu pojazdów, rzeczywistości rozszerzonej oraz robotyce2,3,4,5,6, co przedstawiono na Rysunku 1.

Istnieje wiele metod detekcji krawędzi, w tym Sobela, Prewitta, Robertsa, Canny'ego i inne. Wśród tych technik detekcja krawędzi Sobela wyróżnia się ze względu na prostotę zastosowania, minimalną złożoność implementacji oraz wysoką precyzję wykrywania krawędzi3,4,5,6. Gradienty obrazu są wyznaczane przez algorytm Sobela zarówno w kierunku poziomym, jak i pionowym, z wykorzystaniem odpowiednio kerneli Gx i Gy, jak pokazano poniżej2,4.

Gx podkreśla krawędzie w × kierunku, a Gy podkreśla krawędzie w kierunku y12,13Po połączeniu w pełni definiują one wszystkie krawędzie w obrazie.6Do zastosowania detekcji krawędzi Sobela w obrazie wykorzystuje się proces splotu z jądrem oraz okno przesuwne. Z obrazu wycinane jest po kolei okno o wymiarach np. 3 na 3 piksele, które następnie poddawane jest splotowi z macierzą filtra w celu uzyskania nowej wartości piksela centralnego. W ten sposób przetwarzany jest cały obraz. W detekcji krawędzi Sobela stosuje się dwa takie jądra: jedno do wyodrębniania krawędzi w kierunku x, a drugie w kierunku y. Aby uzyskać wszystkie krawędzie, oba te wyniki są następnie łączone. Detekcja krawędzi Sobela daje dokładne i wiarygodne wyniki, które można dodatkowo ulepszyć za pomocą wstępnego przetwarzania.4,5,15Pełny proces detekcji krawędzi Sobela został omówiony w Rysunek 2.

Chociaż cała dostępna literatura wnosi istotny wkład w dziedzinę detekcji krawędzi, większość raportowanych badań skupiała się na niskich rozdzielczościach obrazu, podczas gdy praca przedstawiona w niniejszym artykule obejmuje różne rozdzielczości obrazów, od niskiej (256 × 256) do pełnej rozdzielczości wysokiej definicji (HD) (2560 × 1440). W związku z tym zbadanie implementacji sprzętowej algorytmu detekcji krawędzi Sobela dla różnych rozdzielczości obrazów jest kluczowe dla zrozumienia wydajności implementacji w scenariuszach czasu rzeczywistego z zróżnicowanymi rozdzielczościami obrazów. Programowalne macierze bramek (FPGA) uznano za odpowiednią platformę do implementacji sprzętowych ze względu na przydatność w szybkim opracowywaniu prototypów oraz takie zalety jak rekonfigurowalność, która umożliwia łatwe modyfikacje projektu bez konieczności zmiany całej konfiguracji sprzętowej6,7,8,9,10,11,12,13. Ponadto FPGA oferują potencjał przetwarzania równoległego i potokowego; po zoptymalizowaniu wskaźników wydajności i walidacji platformy projekt może przejść do rzeczywistej produkcji wyspecjalizowanych układów scalonych (ASIC)14,15. Inną ważną cechą FPGA jest ich rekonfigurowalność, która pozwala projektantom na wprowadzanie zmian w konstrukcji produktu w dowolnym momencie bez konieczności wymiany jakiegokolwiek sprzętu. Wystarczy przeprogramować układ, co wymaga niewielkiej ilości czasu i wysiłku, pod warunkiem, że projektant biegle posługuje się językami opisu sprzętu, takimi jak VHDL/Verilog4,6,13,16,17. W analizie implementacji FPGA głównymi rozważanymi parametrami są prędkość (maksymalna częstotliwość), wykorzystanie zasobów oraz efektywność energetyczna. Tabela 1 przedstawia rosnącą liczbę publikacji w dziedzinie FPGA i pokazuje, jak ewoluowały publikacje dotyczące FPGA w okresie od 2006 do 2024 roku. Wyraźnie wskazuje ona, że domena badań nad FPGA przeniosła się obecnie w stronę aplikacji czasu rzeczywistego, rozszerzonej rzeczywistości, obliczeń krawędziowych (edge computing) oraz innych zaawansowanych zastosowań13,14,15,16,17,18,19,20,21,22,23.

Tabela 2 przedstawia prace opisane w literaturze przedmiotu dotyczące implementacji detekcji krawędzi Sobela na układach FPGA w latach 2020–2025. Tabela 2 wymienia wykorzystane płytki FPGA, zaimplementowane algorytmy, metodologię projektowania, wyniki, metryki, obszary zastosowań oraz wyzwania opisane w każdym z przywołanych artykułów.

Autorzy4 zalecili zastosowanie 8-kierunkowej metody Sobela w celu zwiększenia dokładności detekcji krawędzi, jednak zgłosili większe zużycie zasobów w przypadku proponowanej metodologii. Navinkumar i wsp. wykorzystują technikę redukującą złożone operacje matematyczne mnożenia i pierwiastkowania, które występują w tradycyjnej detekcji krawędzi Sobela, co pozwala oszczędzać zasoby pokładowe i zwiększyć prędkość działania9. Autorzy17 opisali zastosowanie algorytmu detekcji krawędzi Sobela do identyfikacji pasów ruchu w zaawansowanych systemach wspomagania kierowcy. Ich celem było przyspieszenie detekcji przy jednoczesnym skróceniu czasu przetwarzania. Ogólnie zasugerowano, że wykorzystanie detekcji krawędzi będzie w przyszłości niezawodną metodą ekstrakcji obszaru zainteresowania, co może być bardzo pomocne w wielu zastosowaniach, w których wymagane jest wyodrębnienie potrzebnego obszaru obrazu przy jednoczesnym pominięciu wszelkich zbędnych informacji. Wspólnie zgłoszone wyzwania obejmowały wyższe wykorzystanie zasobów i pamięci, podatność na szum, wysoki koszt obliczeniowy oraz ograniczoną skalowalność dla obrazów o wyższej rozdzielczości4,5,6,11,12,13,21,22,23.

W niniejszej pracy zaimplementowano tradycyjny algorytm detekcji krawędzi Sobela na płycie FPGA Ultra96-V2 dla różnych rozdzielczości obrazu, od niskiej rozdzielczości 256 × 256 do pełnej rozdzielczości high-definition 2560 × 1440. Ultra96-V2 to płyta łącząca możliwości programowania FPGA z wydajnym przetwarzaniem Arm (Cortex-A53/R5) dla aplikacji wysokowydajnych. Płyta ta została wprowadzona do sprzedaży w 2018 roku i wykorzystuje węzeł technologiczny FinFET 16 nm18.

Aby zapewnić powtarzalność, cała implementacja została przeprowadzona przy użyciu standardowego zestawu narzędzi składającego się z Vivado HLS 2019.2 do syntezy wysokiego poziomu (HLS) oraz Vivado 2019.2 do rozmieszczenia i rutowania, a także obrazu PYNQ udostępnionego w zasobach Ultra96-V2. Kod HLS został wykorzystany do opracowania IP (własności intelektualnej) detekcji krawędzi Sobela, która została wyeksportowana i zintegrowana z zestawem projektowym Vivado.  IP zostało zaimplementowane w części PL (logiki programowalnej), natomiast część PS (systemu przetwarzania) FPGA odpowiadała za mechanizmy kontrolne i transfer danych. Interfejs między PS a PL został zrealizowany za pomocą protokołu AXI. Wszystkie raportowane metryki — częstotliwość, wykorzystanie zasobów i moc — pochodzą z raportów po implementacji, a nie z szacunków HLS. Ustawienia implementacji pozostały spójne, a w trakcie eksperymentów zmieniano jedynie rozdzielczości obrazów.

Kluczowe osiągnięcia niniejszej pracy obejmują niski pobór mocy, niskie wykorzystanie zasobów oraz wysoką prędkość działania. Wyniki wskazują na wykorzystanie mniej niż 20% zasobów pokładowych (18% tablic Look Up Tables (LUTs), 11% przerzutników Flip Flops (FF), 3% pamięci oraz 10% DSP) dla obrazów o wysokiej rozdzielczości, co wskazuje na ogromne możliwości zintegrowania znacznie większej ilości operacji przetwarzania tych obrazów, czego oczekuje się w każdym systemie wizyjnym, gdyż detekcja krawędzi jest jedynie etapem pośrednim. Ponadto rozpraszanie mocy wynosi prawie 2 W, a maksymalna częstotliwość pracy została określona na 144 MHz. Wyniki pokazują, że zwiększenie rozmiaru obrazów prawie 56-krotnie zwiększa wykorzystanie zasobów jedynie o niemal 20%. Prędkość i rozpraszanie mocy uległy również pogorszeniu jedynie o niemal 20%. Analiza ta bada algorytm z innej perspektywy, która nie była opisana w poprzedniej literaturze, co wskazuje, że implementacja ta jest dobrze dostosowana do aplikacji czasu rzeczywistego i nie wymaga ograniczania obrazów do małych rozmiarów lub niskiej rozdzielczości, co z pewnością obniżałoby ilość informacji niezbędnych na kolejnych etapach po detekcji krawędzi.

Nowatorstwo niniejszej pracy nie polega na samym algorytmie, lecz skupia się na ocenie wydajności tradycyjnego algorytmu detekcji krawędzi Sobela przy różnych rozdzielczościach obrazu na nowoczesnych heterogenicznych architekturach FPGA, wykorzystując zalety technik implementacji opartych na HLS. Kluczowy wkład tej pracy polega przede wszystkim na zastosowaniu hybrydowej metodologii zaimplementowanej na FPGA, która efektywnie rozdziela obciążenie między sekcjami PS i PL architektury, co pozwala projektowi na bezproblemowe dostosowanie się do różnych rozdzielczości. Kolejnym wkładem są eksperymenty mające na celu ocenę, w jaki sposób skalowanie zasobów zmienia się wraz ze zmianami rozdzielczości obrazu, co pomaga w zrozumieniu wydajności w różnych konfiguracjach i dla różnorodnych zastosowań.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Protokół

1. Implementacja detekcji krawędzi Sobela w narzędziu HLS

  1. Uruchom narzędzie Vivado HLS 2019.2 i utwórz projekt. Jako płytkę FPGA wybierz Ultra96-V2.
  2. Napisz kod w języku wysokiego poziomu C++ dla detekcji krawędzi Sobela, przyjmując parametry rozmiaru obrazu jako zmienne, a nie stałe.
    UWAGA: Szerokość i wysokość obrazu nie są stałe i są zapisane w kodzie jako ogólne parametry, aby można było je łatwo zmieniać przy różnej rozdzielczości obrazu bez konieczności wprowadzania poprawek w wielu miejscach.
  3. Napisz w języku C++ kod test-bencha dla algorytmu detekcji krawędzi Sobela.
    UWAGA: Test-bench jest napisany w celu dostarczenia obrazów wejściowych, na których testowany jest kod.
  4. Kliknij „run C simulation”, aby zasymulować kod i sprawdzić poprawność funkcjonalną. Przekaż obraz wejściowy do test-bencha, a następnie sprawdź wygenerowany wynik, którym powinien być obraz z zaznaczonymi krawędziami.
  5. Kliknij „run C synthesis”, aby przeprowadzić syntezę kodu HLS i wyeksportować IP dla detekcji krawędzi Sobela.
    UWAGA: Proces syntezy w zasadzie mapuje zakodowany projekt na komponenty sprzętowe, sprawiając, że projekt jest kompatybilny i gotowy do implementacji sprzętowej.
  6. Sprawdź raporty dotyczące czasu odpowiedzi (timing) i wykorzystania zasobów wygenerowane przez narzędzie i upewnij się, że czas szacowany nie przekracza czasu docelowego.
    UWAGA: Wszystkie te wyniki z platformy HLS są jedynie szacunkami, a rzeczywiste parametry są obliczane dopiero w momencie implementacji projektu na układzie FPGA.
  7. Kliknij „export IP”, aby wyeksportować IP procedury detekcji krawędzi Sobela.
    UWAGA: To IP zostanie wykorzystane w następnym kroku podczas projektowania schematu blokowego dla implementacji FPGA w narzędziu Vivado.

2. Implementacja detekcji krawędzi Sobela na platformie FPGA Ultra96-V2 z wykorzystaniem wyekstrahowanego IP HLS

  1. Otwórz narzędzie Vivado Design Tool i utwórz nowy projekt. Wybierz płytkę docelową Ultra96-V2 i kliknij „Create a new block design”.
  2. Zaimportuj blok IP Sobel edge wyeksportowany wcześniej z narzędzia HLS. Dodaj pozostałe niezbędne bloki w celu ukończenia interfejsu pomiędzy częścią PS a PL.
    UWAGA: Schemat blokowy wykorzystuje również inne ważne bloki IP, takie jak Zynq Ultrascale IP, Smart Connect oraz processor reset itd., aby ustanowić interfejs między PS a PL przy użyciu protokołu Advanced eXtensible Interface (AXI).
  3. Kliknij „validate design”, aby zweryfikować projekt blokowy. Upewnij się, że narzędzie nie zgłasza żadnych błędów projektowych. W przypadku wystąpienia błędów postępuj zgodnie z instrukcjami naprawczymi i ponownie zweryfikuj projekt.
    UWAGA: Ten krok zapewnia brak brakujących połączeń w schemacie blokowym, ale nie weryfikuje poprawności funkcjonalnej projektu.
  4. Kliknij „create the HDL wrapper”, aby uzyskać ogólny kod HDL dla projektu blokowego.
  5. Kliknij „run synthesis”, aby przeprowadzić syntezę projektu i sprawdzić ewentualne błędy. Jeśli nie zostaną znalezione żadne błędy, narzędzie zgłosi pomyślną syntezę. Po pomyślnej syntezie przejrzyj raporty czasowe (timing reports), aby sprawdzić występowanie naruszeń czasowych.
  6. Aby sprawdzić naruszenia czasowe, upewnij się, że żadne z parametrów czasowych nie jest wyświetlone na czerwono, ponieważ oznacza to, że czas wykorzystany przekracza czas docelowy, co sygnalizuje naruszenia.
  7. Kliknij „run implementation”, aby zaimplementować projekt i ocenić raporty dotyczące czasu, poboru mocy oraz wykorzystania zasobów.
  8. Wygeneruj plik „.bit”, aby zaprogramować płytkę FPGA.
    UWAGA: Schemat blokowy detekcji krawędzi Sobela na Ultra96-V2 przedstawiono na Rysunku 3. Jak wspomniano wcześniej, schemat blokowy jest zasadniczo wymagany do ustanowienia interfejsu pomiędzy częścią PS a PL płytki FPGA.

3. Programowanie płytki FPGA

  1. Aby przygotować kartę SD, pobierz plik obrazu PYNQ (.img) dla płytki Ultra96-V216 i zainstaluj pobrany plik na karcie SD.
  2. Włącz zasilanie płytki w trybie bootowania z karty SD, ustawiając przełączniki zgodnie z instrukcją obsługi Ultra96-V216.
  3. Przejdź pod adres URL http://192.168.3.1 i po wyświetleniu prośby wpisz nazwę użytkownika oraz hasło, w obu przypadkach „xilinx”.
    UWAGA: Zaleca się korzystanie z przeglądarki Google Chrome, aby uniknąć ewentualnych niezgodności technicznych.
  4. Uzyskaj dostęp do platformy Jupyter i napisz kod w języku Python dla części PS, aby odczytać obrazy wejściowe lub filmy i przesłać odczytany obraz do części PL w celu przetworzenia.
  5. Napisz kod dla zadania zapisywania przetworzonych obrazów z części PL do PS oraz wyświetlania wyniku.
    UWAGA: Do wyświetlania wyników na Ultra96-V2 wykorzystywana jest platforma PYNQ, która znacznie ułatwia wyświetlanie obrazów wyjściowych dzięki zastosowaniu kodu Python oraz bibliotek OpenCV.
    Rysunek 4 przedstawia kroki dla metody z wykorzystaniem Ultra96-V2, zaprezentowane w tej sekcji, oraz uzyskane wyniki.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Wyniki

W tej sekcji omówiono wyniki uzyskane podczas projektowania detekcji krawędzi Sobela na platformie Ultra96-V2. Rycina 5 Poniżej przedstawiono obrazy wejściowe i wyjściowe uzyskane w symulacji HLS. Wykorzystane obrazy są obrazami standardowymi o rozmiarze 512 × 512. Wyniki te wykazują, że kod HLS napisany dla detekcji krawędzi Sobela jest poprawny funkcjonalnie. Krawędzie muszą być wyraźnie widoczne na obrazach wynikowych.

Tabela 3...

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Dyskusja

Niniejsza praca koncentruje się na realizacji algorytmu detekcji krawędzi Sobela, który jest kluczowym elementem w wielu zastosowaniach w różnych dziedzinach komputerowego wspomagania wzroku i przetwarzania obrazów2,3,4,5,6. Implementacja detekcji krawędzi Sobela została przeprowadzona przy użyciu narzędzia Vivado HLS, co umożliwiło programowanie w językach wysokiego poziomu zamia...

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Oświadczenia

Autorzy oświadczają, że nie występuje konflikt interesów. W przygotowaniu niniejszego manuskryptu nie wykorzystano narzędzi sztucznej inteligencji (AI).

Podziękowania

Autorzy nie mają żadnych podziękowań do przedstawienia. Badanie to nie otrzymało zewnętrznego finansowania.

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Materiały

Lista materiałów użytych w tym artykule
NazwaFirmaNumer katalogowyKomentarze
Płyta FPGA Ultra96-V2 Xilinx Wprowadzona w 2018Platforma implementacji sprzętowej wykorzystana do wdrożenia algorytmu wykrywania pieszych
Vivado HLS AMD2019.2Narzędzie syntezy wysokopoziomowej (High Level Synthesis) wykorzystane do wysokopoziomowego programowania kodu wykrywania pieszych opisanego w pracy w celu eksportu modułu Intellectual Property (IP)
Vivado AMD2019.2Narzędzie programowania FPGA wykorzystane do zaprogramowania płyty FPGA Ultra 96 v2 algorytmem wykrywania krawędzi Sobela 

Bibliografia

  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/

Dostęp ograniczony. Zaloguj się lub rozpocznij wersję próbną, aby wyświetlić tę treść.

Przedruki i uprawnienia

Przeglądaj więcej artykułów

Detekcja krawędzi w czasie rzeczywistymadaptacyjna rozdzielczość obrazuarchitektura FPGAimplementacja sprzętowaFPGA Ultra96-V2przetwarzanie obrazówkomputerowe rozpoznawanie obrazu