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 przedstawia raporty syntezy oraz wygenerowane parametry czasowe i wykorzystania zasobów na płycie Ultra96-V2 z częścią FPGA xczu3eg-sbva484-1-e. Raport zawiera informacje dotyczące czasów przejścia, które obrazują, czy projekt spełnia określone przez użytkownika ograniczenia czasowe. Zgodnie z podsumowaniem czasowym, szacowany czas 8,54 ns jest mniejszy od czasu docelowego 10 ns, co jednoznacznie wskazuje, że projekt spełnia wymagania użytkownika.
Narzędzia HLS generują również szacunkowe wykorzystanie zasobów, co dostarcza projektantowi informacji o możliwym zużyciu zasobów pokładowych. Rzeczywiste parametry wykorzystania mogą zostać wygenerowane dopiero po faktycznej realizacji sprzętowej. Mimo że na układzie FPGA istnieją liczne i zróżnicowane kategorie zasobów, najczęściej wykorzystywanymi elementami sprzętowymi są LUT (Look up Tables), FF (Flip Flopy), bloki DSP (Digital Signal Processing Slices) oraz pamięć.
Tabela 3 przedstawia również rzeczywisty czas wykonania i wykorzystanie zasobów podczas implementacji detekcji krawędzi Sobela na Ultra96-V2 dla obrazów o wysokiej rozdzielczości. Analiza czasowa wykazuje, że największy ujemny luz (worst negative slack) wynosi 3,102 ns, co oznacza, że czas przetwarzania jest wystarczający, a tym samym osiągnięto taktowanie zegara na poziomie 14 MHz. Uzyskana częstotliwość pracy 144 MHz przy rozdzielczości 1920 × 1080 odpowiada przepustowości wynoszącej około 29 MP/s, co przekracza 62 MP/s wymagane do przetwarzania wideo Full HD w czasie rzeczywistym przy 30 fps. Aby zrozumieć skalowanie zasobów i wpływ na parametry podczas przejścia z obrazów o niskiej rozdzielczości na obrazy o wysokiej rozdzielczości, w tabeli przedstawiono wyniki eksperymentalne obejmujące te same kroki powtórzone dla różnych rozdzielczości.
Tabela 4 przedstawia rozmiar obrazu, a co za tym idzie całkowitą liczbę pikseli, a następnie częstotliwość pracy, moc oraz wykorzystanie zasobów w postaci LUT, FF, BRAM i DSP. Wyraźnie widać, że podczas przejścia z najmniejszej rozważanej rozdzielczości 256 × 256 do najwyższej 2560 × 140, co wiąże się z niemal 56-krotnym wzrostem liczby pikseli, parametry te zmieniają się jedynie o 20%. Wskazuje to jednoznacznie na podliniowe skalowanie zasobów, w którym ilość danych do przetworzenia wzrasta wielokrotnie, ale pogorszenie wskaźników wydajności jest minimalne, co czyni rozwiązanie to odpowiednim do wdrożeń w czasie rzeczywistym.
Wyniki przedstawione w Tabeli 4 wyraźnie wykazują, że zastosowanie detekcji krawędzi Sobela na Ultra96-V2 oferuje znaczące zalety w zadaniach wymagających adaptacyjnych rozdzielczości, ponieważ metryki wydajności pozostają zoptymalizowane i nie wykazują istotnych zmian przy aktualizacji rozmiaru obrazu z niskiej na wysoką rozdzielczość. Sukces ten przypisuje się hybrydowemu podejściu do implementacji, które pozwala uniknąć przeciążenia logiki FPGA danymi obrazu, umożliwiając procesorowi płyty zarządzanie znacznym obciążeniem związanym z obrazem. Procesor jedynie przekazuje dane obrazu do komponentu logiki FPGA, a wszelki wzrost skalowania zasobów lub spadek maksymalnej częstotliwości jest wyłącznie wynikiem dużej objętości danych wymagających obsługi. Zatem można stwierdzić, że podejście zastosowane w niniejszej pracy pozwala na podliniowe skalowanie zasobów, mimo że liczba pikseli obrazu zwiększa się prawie 56-krotnie.
Wdrożone rozwiązanie zostało również porównane z istniejącymi projektami w celu zestawienia wskaźników wydajności, takich jak rozdzielczość obrazu, częstotliwość taktowania, pobór mocy oraz wykorzystanie zasobów. Tabela 5 przedstawia porównanie z najnowszymi publikacjami.
Jak wyraźnie wynika z Tabeli 5, rozwiązanie zaimplementowane w niniejszej pracy wykazuje odpowiednie wskaźniki wydajności, jednak istniejące rozwiązania z poprzednich raportowanych implementacji9,10 posiadają lepsze parametry. Jednak przy dokonaniu ogólnego porównania można zauważyć, że obie poprzednie prace9,10 opierały się na niskiej rozdzielczości obrazu i starszych platformach FPGA, natomiast wyniki przedstawione w niniejszej pracy odnoszą się do adaptacyjnych rozdzielczości obrazu, gdzie przyjęty rozmiar obrazu waha się od najniższej rozdzielczości 256 × 256 do rozdzielczości wysokiej definiycji do 2560 × 140. Wyniki wskazują, że zaimplementowane podejście do detekcji krawędzi Sobela, wykorzystujące możliwości zarówno procesora, jak i części logicznej heterogenicznej płytki FPGA Ultra96-V2, okazuje się użyteczne w osiągnięciu podliniowego skalowania zasobów wraz ze wzrostem liczby pikseli niemal 56-krotnie, podczas gdy wykorzystanie zasobów zwiększa się jedynie o 20%, a spadek mocy i prędkości wynosi również mniej niż 20%. Dla najniższej rozdzielczości wykorzystywanych jest tylko 5% zasobów, a maksymalne wykorzystanie wynosi zaledwie 23%, co pozostawia dużą dostępność dla dalszego przetwarzania. Zatem można jasno stwierdzić, że ze względu na różnice w rozdzielczościach obrazów porównanie jest trudne, ale analizując projekt zaimplementowany w tej pracy, częstotliwość taktowania wynosi 136 MHz, pobór mocy to 2 W, a wykorzystanie zasobów stanowi mniej niż 23% całkowitych zasobów płytki. Należy zaznaczyć, że implementacje opisane w poprzednich pracach9,10 wykazują lepsze indywidualne wskaźniki wydajności. Warto jednak zauważyć, że obie prace oceniają swoje projekty przy jednej stałej rozdzielczości obrazu, podczas gdy proponowana praca jest ewaluowana w szerokim zakresie rozdzielczości od 256 × 256 do 2560 × 140. Cele projektowe są zatem zasadniczo różne, ponieważ prace9,10 optymalizują szczytową wydajność dla jednej rozdzielczości, podczas gdy proponowana architektura priorytetyzuje adaptacyjność i podliniowe skalowanie zasobów w wielu rozdzielczościach. Dzięki temu zaimplementowany projekt jest odpowiedni dla aplikacji wymagających detekcji krawędzi.
Można zatem stwierdzić, że w niniejszej pracy podliniowe skalowanie zasobów zdefiniowano jako warunek, w którym procentowy wzrost wykorzystania zasobów jest znacznie niższy niż procentowy wzrost liczby pikseli. Gdy rozdzielczość wzrasta z 256 × 256 do 2560 × 140, liczba pikseli zwiększa się o około 560%, podczas gdy wykorzystanie zasobów pokładowych wzrasta o mniej niż 20%. Ten nieproporcjonalnie niski wskaźnik wzrostu zasobów, będący bezpośrednim wynikiem strategii heterogenicznego partycjonowania PS-PL, potwierdza podliniowe zachowanie skalowania proponowanej architektury. Chociaż proponowana implementacja wykazuje podliniowe skalowanie zasobów w całym badanym zakresie rozdzielczości, dla dokładnej interpretacji wyników należy odnotować pewne ograniczenia. Częstotliwość pracy spada o 18% przy przejściu z niskiej na wysoką rozdzielczość, a ekstrapolacja poza zakres 2560 × 140 może wymagać korekt architektonicznych w celu zachowania zamknięcia czasowego (timing closure). Dodatkowo, ponieważ transfer danych obrazu jest zarządzany przez procesor ARM, narzut transferu po stronie PS rośnie liniowo wraz z liczbą pikseli i może ograniczać przepustowość w aplikacjach ciągłego strumieniowania wideo o wysokiej rozdzielczości w stopniu większym, niż sugerują same parametry po stronie PL.

Rysunek 1Różne obszary zastosowań detekcji krawędzi. Ilustracja reprezentatywnych obszarów zastosowań, w których powszechnie wykorzystuje się detekcję krawędzi, w tym komputerowy system wizyjny, obrazowanie medyczne, nadzór, robotykę i automatykę przemysłową. Kliknij tutaj, aby wyświetlić powiększoną wersję tej figury.

Rycina 2Opis kroków w algorytmie detekcji krawędzi Sobela. Schemat obrazujący proces detekcji krawędzi metodą Sobela, obejmujący wyodrębnienie okna obrazu o rozmiarze 3 × 3, splot z poziomym i pionowym jądrem Sobela oraz generowanie obrazu wyjściowego z wykrytymi krawędziami. Proszę kliknąć tutaj, aby wyświetlić powiększoną wersję tej figury.

Rysunek 3Zaimplementowany schemat blokowy detekcji krawędzi Sobela na płytce FPGA Ultra96-V2 z wykorzystaniem interfejsu pomiędzy częścią PS (system przetwarzania) a PL (logika programowalna). Schemat blokowy przedstawiający architekturę sprzętową i połączenia systemu przetwarzania (PS), logiki programowalnej (PL) oraz wspierających rdzeni IP wykorzystanych w implementacji FPGA. Prosimy o kliknięcie tutaj, aby wyświetlić powiększoną wersję tej figury.

Rysunek 4Kroki programowania płytki Ultra96-V2 do detekcji krawędzi Sobela przy użyciu platformy PYNQ oraz wynik detekcji krawędzi Sobela na obrazie wejściowym. Schemat prezentujący procedurę programowania płytki Ultra96-V2 przy użyciu platformy PYNQ oraz reprezentatywny obraz wyjściowy uzyskany po implementacji w układzie FPGA. Kliknij tutaj, aby wyświetlić większą wersję tej figury.

Rycina 5Wyniki symulacji detekcji krawędzi Sobela na różnych standardowych obrazach z wykorzystaniem Vivado HLS (2019.2). Reprezentatywne obrazy wejściowe oraz odpowiadające im wyniki detekcji krawędzi uzyskane podczas symulacji funkcjonalnej algorytmu detekcji krawędzi Sobela z wykorzystaniem Vivado HLS 2019.2. Kliknij tutaj, aby wyświetlić powiększoną wersję tej ryciny.
Tabela 1: Ewolucja zastosowań FPGA w badaniach nad komputerowym rozpoznawaniem obrazów (2006–2024). Podsumowanie reprezentatywnych zastosowań komputerowego rozpoznawania obrazów opartych na FPGA, zgłoszonych w latach 206–2024. Kliknij tutaj, aby pobrać tę tabelę.
Tabela 2: Literatura powiązana z implementacją algorytmów wykrywania krawędzi na układach FPGA (2020-2025). Porównanie niedawnych implementacji wykrywania krawędzi opartych na FPGA, obejmujące platformę, metodologię oraz raportowane mierniki wydajności. Kliknij tutaj, aby pobrać tę tabelę.
Tabela 3: Implementacja detekcji krawędzi Sobela na układzie FPGA: parametry szacowane i rzeczywiste. Szacowane wyniki syntezy HLS oraz odpowiadające im parametry czasowe i wykorzystanie zasobów po implementacji, uzyskane dla implementacji FPGA. Kliknij tutaj, aby pobrać tę tabelę.
Tabela 4: Wykorzystanie zasobów i metryki wydajności zaimplementowanego algorytmu detekcji krawędzi Sobela dla różnych rozdzielczości obrazu. Metryki wydajności, częstotliwość pracy, pobór mocy i wykorzystanie zasobów FPGA proponowanej implementacji dla różnych rozdzielczości obrazu. Proszę kliknąć tutaj, aby pobrać tę tabelę.
Tabela 5: Porównanie zaimplementowanego i istniejących algorytmów detekcji krawędzi Sobela na FPGA.Porównanie proponowanej implementacji FPGA z wcześniej opisanymi implementacjami detekcji krawędzi Sobela z wykorzystaniem reprezentatywnych wskaźników wydajności. Kliknij tutaj, aby pobrać tę tabelę.