Method Article

Projektowanie i implementacja opartego na FPGA systemu wykrywania pieszych dla autonomicznych zastosowań motoryzacyjnych

DOI:

10.3791/70292

June 12th, 2026

* These authors contributed equally

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Ten artykuł badawczy demonstruje implementację algorytmu wykrywania pieszych w czasie rzeczywistym na sprzęcie field-programmable gate array, głównie dla zastosowań w autonomicznej jeździe. Algorytm łączy histogram zorientowanych gradientów (HoG) z klasyfikatorem maszyny wektorów nośnych (SVM), a wyniki pokazują wydajność pod względem szybkości, zużycia energii i wykorzystania zasobów.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Autonomiczna jazda oferuje obiecującą metodę radzenia sobie ze wzrostem liczby ofiar śmiertelnych wypadków drogowych. Autonomiczny pojazd obejmuje wiele funkcji, ale zdolność do wykrywania pieszych jest kluczowa, wymagająca i istotna w różnych sytuacjach w czasie rzeczywistym, takich jak nadzór, śledzenie ludzi i monitorowanie. Dokładne identyfikowanie pieszych jest trudne, ponieważ mogą pojawiać się w różnych kształtach, pozycjach i postawach. Mogą nosić różne rodzaje ubrań, a czasem być częściowo ukryci lub zlać się z pobliskimi obiektami. Niniejszy artykuł koncentruje się na wykrywaniu pieszych w czasie rzeczywistym dla samojezdnych samochodów z wykorzystaniem popularnej platformy sprzętowej: The field programmable gate array (FPGA), Ultra 96 v2. Badanie wdraża metodę wykrywania pieszych opartą na histogramie ukierunkowanych gradientów (HOG) połączoną z klasyfikatorem maszyny wektorowej obszaru (SVM), aby rozpoznawać osoby na płycie FPGA, wykorzystując narzędzia syntezy wysokiego poziomu (HLS). Skuteczność systemu została przetestowana zarówno na nieruchomych obrazach, jak i na żywym filmie. Wyniki pokazują, że zaawansowane płyty FPGA, takie jak Ultra 96 v2, znacznie poprawiają wskaźniki wydajności. System działa z częstotliwością taktowania 150 MHz, używając mniej niż połowy dostępnych zasobów i zużywając około 2,5 W mocy. Ponadto system zgłasza dokładność wykrywania pieszych na poziomie blisko 95% i inne efektywne wskaźniki oceny wykrywania, takie jak precyzja (78,6%), recall (88,3%) i wynik F1 (83,1%). Podsumowując, opracowany system może wykrywać pieszych w czasie rzeczywistym i ma potencjał do znacznego poprawienia rozwoju inteligentnego i bezpiecznego środowiska transportowego.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Rozwijanie miast i powstawanie inteligentnych miast to tematy cieszące się zainteresowaniem na całym świecie. Wszystkie narody pracują nad rozwojem swoich miast, które mogą być budowane w taki sposób, aby były bezpieczne i komfortowe dla ludzi mieszkających w nich1,2. Ale w obecnej sytuacji, zauważono, że w miarę wzrostu populacji i wzrostu korków na drogach, alarmująco wzrasta liczba ofiar śmiertelnych wypadków drogowych z powodu zaniedbania jazdy i problemów z widocznością1,2,3,4. Obiecującym rozwiązaniem tych problemów jest pojawienie się na całym świecie autonomicznych pojazdów, co wywołało innowacje1,2,3,4 i naukowcy dokładają starań, aby opracować w pełni autonomiczne pojazdy, które pozwolą pasażerom odpoczywać bez obaw. Potrzeba rozwoju autonomicznych pojazdów wynika z faktu, że nawet doświadczeni kierowcy mogą odczuwać stres, dylematy, zmęczenie lub trudności z odczuciem otoczenia z powodu złej pogody, a wszystkie te problemy prowadzą do wypadków drogowych. Samojeżdżący pojazd jest zaprojektowany tak, aby unikać wypadków podczas podróży, optymalizować zużycie zasobów silnika i przestrzegać przepisów ruchu drogowego, co bez wątpienia poprawi transport2,4. Autonomiczny pojazd jest wyposażony w wiele funkcji, czujników i możliwości, które pozwalają mu na bardzo precyzyjne wykrywanie otoczenia, unikanie kolizji i wypadków, a tym samym stały się obiecującym rozwiązaniem dla bezpiecznego i pewnego transportu1,2,3,4.

Wśród wszystkich funkcji wbudowanych w autonomiczny pojazd, jedną z najważniejszych jest wykrywanie pieszych. Solidny system wykrywania pieszych może znacznie pomóc w zmniejszeniu liczby ofiar śmiertelnych w wypadkach drogowych5,6,7,8, ponieważ większość ofiar tych wypadków to piesi. Wykrywanie pieszych polega na identyfikacji osób na drodze i unikaniu kolizji z nimi. Ta funkcja jest nie tylko korzystna dla samojeżdżących samochodów, ale także dla różnych innych obszarów zastosowania, takich jak monitorowanie tłumu, identyfikacja osób i śledzenie9,10,11. Kluczowym aspektem tego procesu wykrywania jest prędkość i dokładność wykrywania. Kluczowe jest szybkie i dokładne wykrywanie pieszych, aby czas reakcji był minimalny. Wykrywanie pieszych stanowi ogromne wyzwanie. Piesi na drodze mogą mieć dowolną odzież, wygląd lub postawę i mogą być niewidoczne z powodu złej pogody lub zasłonięcia10,11,12,13,14. Co więcej, całkiem możliwe, że piesi sami nie przestrzegają zasad i nie można kontrolować ludzkiej natury, więc najlepszym podejściem jest wyposażenie pojazdu w inteligencję, aby radzić sobie z jakąkolwiek niewłaściwą akcją i uniknąć ofiar śmiertelnych. Cały przepływ pracy w tym badaniu oraz motywacja za implementacją sprzętową wykrywania pieszych można łatwo zrozumieć z Rysunku 1 poniżej, który wyjaśnia potrzebę wykrywania pieszych, ich różne obszary zastosowania, zawarte wyzwania oraz implementację na FPGA w celu wykorzystania oferowanych korzyści.

Rysunek 1
Rysunek 1: Wykrywanie pieszych. Potrzeba wykrywania pieszych, kluczowe obszary zastosowania wykrywania pieszych, wyzwania związane z wykrywaniem pieszych oraz przepływ implementacji wykrywania pieszych na płytce FPGA. Proszę kliknąć tutaj, aby zobaczyć większą wersję tego rysunku.

Aby zidentyfikować pieszych na drodze, istnieje wiele algorytmów. To ogólne zadanie można podzielić głównie na dwa główne podzadania: pierwszym krokiem jest wyodrębnienie cech z obrazu wejściowego, zachowując tylko te, które są istotne i przekazują odpowiednie informacje, pomijając te redundantne. Aby skutecznie rozpoznawać ludzi lub pieszych na obrazie, kluczowe jest, aby te cechy wskazywały na obecność ludzkiej postaci w scenie13,14. Po wyodrębnieniu cech, muszą one zostać przekazane do klasyfikatora, który może określić, czy zidentyfikowane cechy odpowiadają ludziom. Dlatego algorytm wymaga fazy wyodrębniania i opisu cech, a następnie kroku klasyfikacji w celu określenia obecności pies

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Zastosowany w tym badaniu proces implementacji, oparty na wykrywaniu pieszych z wykorzystaniem HoG + SVM na płytce FPGA, wykorzystujący zalety syntezy wysokiego poziomu, przedstawiono na Rysunku 2 poniżej.

Rysunek 2
Rysunek 2: Procedura projektowania dla implementacji wykrywania pieszych na płytce FPGA. Faza 1: Algorytm wykrywania pieszych za pomocą HoG+SVM w narzędziu HLS i generowanie bloku IP. Faza 2: Algorytm wykrywania pieszych za pomocą HoG+SVM do rzeczywistej implementacji FPGA i generowanie pliku bitowego. Faza 3: Programowanie płytki za pomocą wygenerowanego pliku bitowego. Kliknij tutaj, aby wyświetlić większą wersję tego rysunku.

1. Wykrywanie pieszych za pomocą HoG i SVM w narzędziu HLS

  1. Pobierz środowisko programistyczne Python IDE w zależności od właściwości systemu, na którym odbywa się pobieranie.
    UWAGA: W tej pracy użyto wersji Python 3.10.
  2. Uruchom skrypt Pythona do uruchomienia modelu treningowego za pomocą algorytmu HoG i klasyfikatora SVM. Rozpocznij skrypt od załadowania dodatnich i ujemnych próbek z zestawu danych.
    UWAGA: Użyj zestawu danych INRIA11.
  3. Wyodrębnij cechy HoG dla okna o rozmiarze 64 x 128.
  4. Podziel dane treningowe i testowe z zestawu danych INRIA na proporcję 80/20 z losowym przetasowaniem dla powtarzalności.
    UWAGA: Zestaw danych jest losowo przetasowany za pomocą funkcji python przed podzieleniem danych. Aby zapewnić powtarzalność, aby takie samo podział było wykonywane za każdym razem, wartość klucza jest ustawiona w kodzie.
  5. Trening z wykorzystaniem klasyfikacji wsparcia C (SVC) SVM z liniowym jądrem.
  6. Wyodrębnij wektory wag i obciążenie.
  7. Zapisz wagi SVM i obciążenie w formacie Q8.8 o stałym przecinku dla implementacji FPGA.
    UWAGA: Konwersja jest przeprowadzana przez skalowanie każdej wartości zmiennoprzecinkowej pierwotnie wygenerowanej przez czynnik 256 (28) i zamianę wyniku na liczbę całkowitą.
  8. Przetestuj przetrenowany model za pomocą innego skryptu Python i dostosuj parametr regularyzacji C, aż dokładność zostanie obliczona jako więcej niż 95%.
    UWAGA: Uzyskany zoptymalizowany parametr regularyzacji: C = 0,05.
  9. Otwórz narzędzie HLS i utwórz nowy projekt z wybranym numerem części xczu3eg-sbva484-1-e.
  10. Napisz kod wykrywania pieszych w narzędziu syntezy wysokiego poziomu przy użyciu języków wysokiego poziomu, takich jak C++.
  11. W kodzie napisz trzy różne skrypty C++: jeden dla deskryptora cech HoG i klasyfikatora SVM, drugi dla testu, aby zapewnić wejście do obrazów testowych i zapisać obrazy wyjściowe oraz trzeci dla pliku nagłówkowego, który deklaruje parametry używane w kodzie.
  12. W kodzie obliczania cech HoG zmień rozmiar obrazu na 640 x 480 i zastosuj architekturę okna przesuwającego się o rozmiarze 64 x 128. Dla każdego okna oblicz wielkość gradientu i orientację dla każdego nakładającego się 8 x 8 bloku.
    UWAGA: Ważne jest skanowanie całego obrazu za pomocą koncepcji okna przesuwającego się, aby każdy obszar obrazu był pokryty i zidentyfikowane były piesi o każdej możliwej wielkości.
  13. W innej części tego samego kodu dla deskryptora cech HoG przekaż obliczone gradienty do klasyfikatora SVM. Napisz kod do dopasowania cech do wag klasyfikatora i porównaj z progiem, aby sklasyfikować wykrytą cechę jako ludzką czy nie.
  14. Kliknij Uruchom symulację C w narzędziu HLS, aby symulować kod za pomocą ławy testowej, aby sprawdzić poprawność funkcjonalności kodu.
  15. Podaj różne obrazy wejściowe do kodu i sprawdź obrazy wyjściowe z wykrytymi pieszymi.
  16. Kliknij Uruchom syntezę C, aby zsyntetyzować kod, aby przemapować kod na języki sprzętowe przez narzędzie i wygenerować raporty czasowe i wykorzystanie.
    UWAGA: Narzędzie automatycznie otwiera raporty syntezy HLS. Raport ten pokazuje szacunkowe wymagane częstotliwości taktowania do zaimplementowania zakodowanego zadania na wybranym platformie FPGA, a także zapewnia szacunkowe zużycie zasobów. Te raportowane wartości są tylko szacunkami, a rzeczywiste parametry są obliczane dopiero po zaimplementowaniu na płytce FPGA.
  17. Kliknij Eksportuj RTL, aby eksportować blok własności intelektualnej (IP) dla algorytmu HoG do wykrywania pieszych.
    UWAGA: Ta własność intelektualna ma być używana w późniejszych etapach implementacji.

2. Programowanie płytki FPGA

  1. Otwórz narzędzie do programowania FPGA i utwórz nowy projekt. Wybierz numer części jako xczu3eg-sbva484-

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Pedestrian detection implementation on HLS
Rysunek 4 przedstawia wyniki symulacji narzędzia HLS dla wykrywania pieszych za pomocą HoG + SVM. Obraz wejściowy z pieszym jest podawany jako wejście testowe do kodu, a wyjście z wykrytymi pieszymi jest wyświetlane. Obraz składa się z dwóch sekcji. Pierwsze wykrycie ma wiele ramek wokół tego samego pieszego wielokrotnie, a na drugim obrazie, nakładające się ramki są usuwane i tłumione, pozostawiając tylko główne ramki wykrycia....

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

To badanie skutecznie wdraża system wykrywania pieszych w czasie rzeczywistym wykorzystujący algorytm HoG + SVM na zaawansowanym sprzęcie FPGA opartym na płycie rozwojowej Zynq UltraScale+ MPSoC24. Wyniki wskazują, że tradycyjny algorytm HoG do wykrywania ludzi11 osiąga dokładność zbliżoną do 95% i zużywa tylko połowę zasobów FPGA na płycie (LUTs, FFs, BRAM, DSPs), pozostawiając ogromne możliwości dodatkowego przetwarzania na różne zadania. Analizując całe podejście do wdro...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Autorzy deklarują, że nie mają żadnych konfliktów interesów.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
PythonPythonWersja 3.10
Ultra 96 V2 FPGA Board Xilinx Wprowadzono w 2018 rokuPlatforma implementacji sprzętowej używana do wdrożenia algorytmu wykrywania pieszych
Vivado AMD2019.2Narzędzie do programowania FPGA używane do programowania płyty FPGA Ultra 96 v2 z algorytmem wykrywania pieszych 
Vivado HLS AMD2019.2Narzędzie syntezy na wysokim poziomie używane do programowania na wysokim poziomie kodu wykrywania pieszych opisanego w artykule w celu eksportu własności intelektualnej (IP)

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Nkuzo, L., Sibiya, M., Markus, E. Computer vision-based applications in modern cars for safety purposes: A systematic literature review. 2023 Conference on Information Communications Technology and Society (ICTAS), Durban, South Africa, , (2023).
  2. Nidamanuri, J., Nibhanupudi, C., Assfalg, R., Venkataraman, H. A progressive review - Emerging technologies for ADAS driven solutions. IEEE Trans Intell Veh. 7 (2), 326-341 (2021).
  3. Bathla, G., et al. Autonomous vehicles and intelligent automation: Applications, challenges, and opportunities. Mob Inf Syst. 2022, 7632892(2022).
  4. Yamamoto, R., Izumi, Y., Aono, R., Nagahara, T., Tanaka, T., Liao, W., Mitsuyama, Y. Development of autonomous driving system based on image recognition using programmable SoCs. 2021 International Conference on Field-Programmable Technology (ICFPT), Auckland, New Zealand, , (2021).
  5. Kasem, A., Reda, A., Vásárhelyi, J., Bouzid, A. A survey about intelligent solutions for autonomous vehicles based on FPGA. Carpathian J Electr Comput Eng. , (2021).
  6. Nane, R., et al. A survey and evaluation of FPGA high-level synthesis tools. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 35 (10), 1591-1604 (2015).
  7. Cao, J., et al. Pedestrian detection algorithm for intelligent vehicles in complex scenarios. Sensors. 20 (13), 3646(2020).
  8. Chen, W., Zhu, Y., Tian, Z., Zhang, F., Yao, M. Occlusion and multi-scale pedestrian detection: a review. Array. 19, 100318(2023).
  9. Galvao, L. G., Abbod, M., Kalganova, T., Palade, V., Huda, M. N. Pedestrian and vehicle detection in autonomous vehicle perception systems—A review. Sensors. 21 (21), 7267(2021).
  10. Akshayaa, S., Nithin, S. Comparative study of pedestrian detection techniques for driver assistance system. 2021 Second International Conference on Electronics and Sustainable Communication Systems (ICESC), Coimbatore, India, , (2021).
  11. Dalal, N., Triggs, B. Histograms of oriented gradients for human detection. Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), San Diego, CA, USA, , (2005).
  12. Singh, G., Kaur, A., Bhardwaj, V., Shrivastava, S. Optimizing IoT capabilities: leveraging FPGA for superior performance, efficiency and security. 2024 5th International Conference for Emerging Technology (INCET), Belgaum, India, , (2024).
  13. Shrivastava, S., Kumar, B. V., Gupta, R., Sharma, V. Advancements in real-time image processing using Kintex and Virtex FPGAs: enhancing speed, efficiency, and versatility. 2025 IEEE International Conference on Interdisciplinary Approaches in Technology and Management for Social Innovation (IATMSI), Gwalior, India, , (2025).
  14. Rettkowski, J., Boutros, A., Göhringer, D. Real-time pedestrian detection on a Xilinx Zynq using the HOG algorithm. 2015 International Conference on Reconfigurable Computing and FPGAs (ReConFig), Riviera Maya, Mexico, , (2015).
  15. Ngo, V., Casadevall, A., Codina, M., Castells-Rufas, D., Carrabina, J. A high-performance HOG extractor on FPGA. arXiv. , 1802.02187(2018).
  16. Adiono, T., Prakoso, K. S., Putratama, C. D., Yuwono, B., Fuada, S. HOG-AdaBoost implementation for human detection employing FPGA ALTERA DE2-115. Int J Adv Comput Sci Appl. 9 (10), 353-358 (2018).
  17. Dürre, J., Paradzik, D., Blume, H. A HOG-based real-time and multi-scale pedestrian detector demonstration system on FPGA. Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, California, USA, , (2018).
  18. Wasala, M., Kryjak, T. Real-time HOG+SVM based object detection using SoC FPGA for a UHD video stream. 2022 11th Mediterranean Conference on Embedded Computing (MECO), Budva, Montenegro, , (2022).
  19. Lin, Y. Research on HOG-SVM pedestrian detection method based on FPGA. Appl Computat Eng. 9, 272-281 (2023).
  20. Ranawaka, P., et al. Application specific architecture for hardware accelerating HOG-SVM to achieve high throughput on HD frames. 2019 IEEE 30th International Conference on Application-Specific Systems, Architectures and Processors (ASAP), New York, NY, USA, 2160, 131-134 (2019).
  21. Luo, J. H., Lin, C. H. Pure FPGA implementation of an HOG based real-time pedestrian detection system. Sensors. 18 (4), 1174(2018).
  22. Ma, X., Najjar, W. A., Roy-Chowdhury, A. K. Evaluation and acceleration of high-throughput fixed-point object detection on FPGAs. IEEE Transactions on Circuits and Systems for Video Technology. 25 (6), 1051-1062 (2015).
  23. Weng, G. Real-time pedestrian recognition on low computational resources. arXiv. , 2309.01353(2023).
  24. Nguyen, T. A., Tran-Thi, T. Q., Bui, D. H., Tran, X. T. FPGA-based human detection system using HOG-SVM algorithm. 2023 International Conference on Advanced Technologies for Communications (ATC), Da Nang, Vietnam, , (2023).
  25. Tarchoun, B., Khalifa, A. B., Dhifallah, S., Jegham, I., Mahjoub, M. A. Hand-crafted features vs deep learning for pedestrian detection in moving camera. Traitement du Signal. 37 (2), 209-216 (2020).
  26. Suleiman, A., Chen, Y. H., Emer, J., Sze, V. Towards closing the energy gap between HOG and CNN features for embedded vision. 2017 IEEE International Symposium on Circuits and Systems (ISCAS), Baltimore, MD, USA, , (2017).
  27. Ultra96-V2 Single Board Computer Hardware User’s Guide. , Avnet. Available from: https://www.avnet.com (2025).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Pedestrian DetectionAutonomous DrivingField Programmable Gate ArrayFPGA ImplementationReal Time DetectionHistogram Of Oriented GradientsSupport Vector MachineHigh Level SynthesisUltra 96 V2Smart Transportation

Related Articles