Method Article

Progettazione e implementazione di un framework di rilevamento pedoni basato su gate array programmabile sul campo per applicazioni di guida autonoma

DOI:

10.3791/70292

June 12th, 2026

* These authors contributed equally

In This Article

Summary

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

Questo articolo di ricerca dimostra l'implementazione di un algoritmo di rilevamento pedoni in tempo reale su hardware di gate array programmabile sul campo, principalmente per applicazioni di guida autonoma. L'algoritmo combina l'istogramma dei gradienti orientati (HoG) con un classificatore di macchina a vettori di supporto (SVM), e i risultati mostrano efficienza in termini di velocità, consumo energetico e utilizzo delle risorse.

Abstract

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

La guida autonoma offre un modo promettente per affrontare il crescente numero di decessi causati da incidenti stradali. Un veicolo autonomo include molte funzionalità, ma la capacità di rilevare i pedoni è cruciale, impegnativa e rilevante per varie situazioni in tempo reale come la sorveglianza, il tracciamento delle persone e il monitoraggio. Identificare accuratamente i pedoni è difficile perché possono apparire in diverse forme, posizioni e posturizzazioni. Possono indossare vari tipi di abbigliamento e a volte essere parzialmente nascosti o mimetizzarsi con oggetti vicini. Questo articolo si concentra sul rilevamento in tempo reale dei pedoni per auto a guida autonoma utilizzando una piattaforma hardware molto popolare: il field programmable gate array (FPGA), Ultra 96 v2. Lo studio implementa un metodo per il rilevamento dei pedoni basato su un istogramma di gradienti orientati (HOG) combinato con un classificatore di macchina a vettori di supporto (SVM) per riconoscere gli individui sulla scheda FPGA, sfruttando strumenti di sintesi ad alto livello (HLS). L'efficacia del sistema è stata testata sia su immagini fisse che su video in diretta. I risultati mostrano che schede FPGA avanzate come l'Ultra 96 v2 migliorano significativamente le metriche di prestazione. Il sistema opera a una frequenza di clock di 150 MHz utilizzando meno della metà delle risorse disponibili e consumando circa 2,5 W di energia. Inoltre, il sistema riporta la precisione della rilevazione dei pedoni vicina al 95% e altre metriche efficienti per la valutazione del rilevamento, come la precisione (78,6%), il richiamo (88,3%) e il punteggio F1 (83,1%). In sintesi, il sistema sviluppato può rilevare i pedoni in tempo reale e ha il potenziale di migliorare significativamente lo sviluppo di un ambiente di trasporto intelligente e sicuro.

Introduction

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

Lo sviluppo urbano e l'emergere delle smart city sono argomenti di interesse in tutto il mondo. Tutte le nazioni stanno lavorando per lo sviluppo delle loro città che possano essere costruite in modo da essere sicure e confortevoli per le persone che vivivono 1,2. Ma nella situazione attuale è stato osservato che, con la crescita della popolazione e l'aumento della congestione stradale, il tasso di decessi dovuti a incidenti stradali dovuti a negligenza alla guida e problemi di scarsa visibilità sta aumentando in modo allarmante. Una soluzione promettente a questi problemi è l'emergere di veicoli autonomi in tutto il mondo, che ha dato origine all'innovazione 1,2,3,4 e i ricercatori stanno facendo sforzi per sviluppare veicoli completamente autonomi che permettano ai passeggeri di rilassarsi senza preoccupazioni. La necessità di sviluppare veicoli autonomi deriva dal fatto che anche i conducenti esperti possono affrontare stress, dilemmi, fatica o difficoltà a percepire l'ambiente a causa del maltempo, e tutti questi problemi portano a incidenti stradali. Un veicolo a guida autonoma è progettato per evitare incidenti durante il viaggio, ottimizzare l'uso delle risorse del motore e rispettare le leggi sul traffico, il che senza dubbio migliorerà itrasporti 2,4. Un veicolo autonomo è dotato di molteplici caratteristiche, sensori e funzionalità che gli permettono di percepire l'ambiente circostante con grande precisione, evitando collisioni e incidenti, e perciò si sono ora rivelati una soluzione promettente per rendere il trasporto sicuro e protetto 1,2,3,4.

Tra tutte le funzionalità incorporate in un veicolo autonomo, una delle più importanti è il rilevamento dei pedoni. Un sistema robusto di rilevamento pedoni può aiutare significativamente a ridurre le fatalità in incidentistradali 5,6,7,8, poiché la maggior parte delle victime di questi incidenti sono pedoni. Il rilevamento dei pedoni consiste nell'identificare le persone sulla strada ed evitare collisioni con loro. Questa funzione è vantaggiosa non solo per le auto a guida autonoma, ma anche per varie altre aree applicative come il monitoraggio delle folle, l'identificazione delle persone e il tracciamento9, 10, 11. L'aspetto chiave di questo processo di rilevamento è la velocità e la precisione del rilevamento. È fondamentale rilevare i pedoni con precisione e rapidità affinché i tempi di risposta siano minimi. La rilevazione dei pedoni rappresenta una sfida enorme. I pedoni sulla strada possono indossare qualsiasi abbigliamento, aspetto o postura, e possono essere invisibili a causa del maltempo o dell'occlusione 10,11,12,13,14. Inoltre, è del tutto possibile che i pedoni non seguano le regole da sé e non si possa controllare la natura umana, quindi il miglior approccio possibile è dotare il veicolo dell'intelligenza necessaria per gestire qualsiasi azione sbagliata ed evitare le vittime. Il flusso completo del lavoro in questa ricerca e la motivazione dietro l'implementazione hardware del rilevamento pedonale possono essere facilmente compresi dalla Figura 1 qui sotto, che spiega la necessità del rilevamento pedonale, le sue varie aree di applicazione, le sfide coinvolte e l'implementazione su un FPGA per sfruttare i benefici offerti.

Figura 1
Figura 1: Rilevamento dei pedoni. La necessità di rilevamento pedonale, le principali aree di applicazione del rilevamento pedonale, le sfide coinvolte nel rilevamento pedonale e il flusso di implementazione del rilevamento pedonale su una scheda FPGA. Clicca qui per visualizzare una versione più grande di questa figura.

Per identificare i pedoni sulla strada esistono numerosi algoritmi. Questo compito complessivo può essere principalmente suddiviso in due sottocompiti principali: il primo passaggio estrae caratteristiche da un'immagine di input, mantenendo solo quelle significative e che trasmettono informazioni rilevanti, ignorando quelle ridondanti. Per un riconoscimento efficace di umani o pedoni in un'immagine, è fondamentale che queste caratteristiche indichino la presenza di una figura umana all'interno della scena13,14. Dopo questa estrazione, le caratteristiche devono essere inviate a un classificatore che possa determinare se le caratteristiche identificate corrispondono a un essere umano. Pertanto, l'algoritmo richiede una fase di estrazione e descrizione delle caratteristiche, seguita da un passaggio di classificazione per determinare la presenza dei pedoni nella scena di input. Esistono vari algoritmi disponibili a questo scopo. Tuttavia, il metodo più accettato per il rilevamento dei pedoni ad oggi rimane la combinazione dell'istogramma dei gradienti orientati (HoG) con il classificatore della macchina a vettori di supporto (SVM) 12,13,14,15. Esistono numerosi esempi di progressi software, ma in definitiva l'obiettivo è portare l'implementazione su una piattaforma hardware compatibile, che possa poi essere integrata nel sistema applicativo per l'uso in tempo reale. Pertanto, l'attuale enfasi è sulla realizzazione hardware. Si può quindi affermare che è necessario sviluppare un'implementazione hardware adeguata dei sistemi di rilevamento pedonale, in cui telecamere dotate di hardware appropriato possano essere installate sui veicoli e identificare i pedoni sulla strada. Quando si valuta quale hardware sia appropriato per tali implementazioni, una delle opzioni più comunemente utilizzate è l'array di gate programmabile sul campo (FPGA) grazie ai suoi numerosi vantaggi, tra cui riduzione dei tempi di progettazione, scalabilità, facilità di modifiche, riconfigurabilità e minore consumo energeticoe energetico 15,16,17,18,19,20,21.22.

Le schede FPGA si sono evolute costantemente e sono ora ampiamente utilizzate per applicazioni complesse e avanzate di visione artificiale che spaziano dall'elaborazione di immagini di base al rilevamento di oggetti, alla realtà aumentata e al deeplearning 20, 21, 22. Attualmente, diverse schede FPGA ad alte prestazioni offrono capacità architettoniche eccezionali per gestire l'ampia elaborazione richiesta per queste applicazioni complesse. Se le funzionalità avanzate dei veicoli autonomi, come il rilevamento pedonale, sono implementate su tali piattaforme hardware, queste piattaforme possono essere molto utili per lo sviluppo rapido di prototipi per analizzare le prestazioni e, dopo l'ottimizzazione, l'algoritmo implementato può essere trasferito ai circuiti integrati veri e propri per l'integrazione nel sistema.

Da oltre un decennio sono state pubblicate importanti basate sull'implementazione del rilevamento pedonale tramite i metodi HoG e SVM su diverse piattaforme FPGA. La Tabella 1 riassume gli articoli in questo campo nel periodo 2015–2025 15,16,17,18,19,20,21,22,23,24, concentrandosi sui fattori chiave come la risoluzione dell'immagine, la velocità di rendimento o i fotogrammi al secondo (FPS), il tipo di classificatore e i principali punti salienti o i contributi apportati dal carta.

RiferimentoPiattaforma FPGARisoluzione dell'immagineClassificatorePunti salienti / Contributi
15Xilinx Zynq640×480AdaBoostImplementazione FPGA in tempo reale; efficiente in termini di risorse; usa la binarizzazione per l'ottimizzazione; Buona accuratezza nella rilevazione.
16Scheda DE1-SOC di Terasic640×480SVMEstrattore HOG ad alte prestazioni; integra SVM; rilevamento a scala singola; Pipeline a bassa latenza.
17Altera DE2-115640×480AdaBoostValuta le prestazioni da più punti di vista; Implementazione FPGA di HOG+AdaBoost; Rilevamento pedonale in tempo reale.
18Intel Stratix V640×480SVMRilevamento pedonale su scala multipla; pipeline HOG+SVM compatibile con FPGA; evidenzia i compromessi tra accuratezza ed efficienza hardware.
19Zynq UltraScale+ MPSoC3840×2160SVMElaborazione UHD in tempo reale; HOG+SVM pipelined; Implementazione SoC FPGA; ottimizzazione del punto fisso; architettura scalabile.
20Non specificatoNon specificatoSVMRaggiunge una precisione di rilevamento del >95%; implementazione FPGA in tempo reale; sfrutta il parallelismo; progettazione dettagliata di FPGA HOG+SVM per il rilevamento dei pedoni.
21Zync 7000 FPGA1920×1080SVMArchitettura a flusso ad alta produttività per HOG+SVM; supporta la risoluzione HD; efficiente pipeline per l'accelerazione FPGA.
22Ultra96 (rev1)240×320SVMimplementazione FPGA tramite HLS; rileva semafori rossi; calcola probabilità in 891 regioni; La latenza varia da 153.838 a 19 cicli.
23Xilinx Zynq-7000 FPGA640 × 480HOG + SVMHa implementato il rilevamento dei pedoni usando HOG-SVM su FPGA, ottenendo prestazioni in tempo reale con un consumo energetico ridotto rispetto all'elaborazione CPU. Ha dimostrato una pipeline ottimizzata di estrazione delle funzionalità adatta ad applicazioni di visione embedded.
24Xilinx Virtex-6 FPGA640 × 480Rivelatore di oggetti a punto fisso (caratteristiche simili a Haar)Proposta un'accelerazione FPGA ad alto rendimento del rilevamento degli oggetti tramite aritmetica a punto fisso, riducendo i costi computazionali mantenendo l'accuratezza. Ha mostrato un aumento di velocità del 15× rispetto alle implementazioni CPU con un utilizzo efficiente delle risorse hardware.

Tabella 1: Revisione della letteratura della ricerca basata sul rilevamento dei pedoni su FPGA (2015–2025).

La Tabella 1 riassume che esiste una vasta letteratura nel campo della rilevazione dei pedoni, e l'implementazione hardware è l'area di interesse per i ricercatori. È anche evidente che esistono tecniche avanzate di deep learning e machine learning, come rivelatori basati su reti neurali convoluzionali (CNN) come YOLO, architetture basate su trasformatori, ecc., per il compito di rilevamento dei pedoni. Sono persino superiori rispetto all'algoritmo HoG tradizionale in termini di accuratezza, ma considerando l'implementazione hardware, gli algoritmi avanzati portano a un enorme utilizzo delle risorse23,24 a causa delle complessità dell'algoritmo che possono influenzare anche altri parametri di prestazione; è stato anche osservato che, a causa delle complessità aggiunte, la velocità è leggermente migliore nel caso dell'algoritmo HoGtradizionale 24, 25. È stato inoltre osservato che le tecniche avanzate consumano più energia quando implementate su hardware24,26. Pertanto, l'obiettivo del lavoro implementato in questo articolo è eseguire il rilevamento dei pedoni utilizzando il tradizionale framework HoG e SVM su hardware FPGA e ottenere un compromesso favorevole tra precisione-velocità-risorse e potenza per l'embedding in tempo reale. Dalla Tabella 1 è abbastanza chiaro che, analizzando il lavoro basato su HoG e SVM, si osserva che ci sono pubblicazioni limitate che hanno utilizzato la recentemente introdotta scheda di sviluppo FPGA basata su Zynq UltraScale+ (Multi-Processor System On Chip) basata suFPGA board 27 per esplorare le capacità di queste schede, poiché dal punto di vista dell'architettura queste schede si sono evolute, e offrono un grande potenziale in termini di implementazione di applicazioni di computer vision in tempo reale di alto livello. Ci sono poche pubblicazioni che hanno realizzato l'intero sistema di rilevamento pedoni in tempo reale sulle schede FPGA. Tuttavia, si sono concentrati sull'implementazione efficiente o sul miglioramento dei compiti intermedi. Inoltre, la maggior parte di queste implementazioni si basa sulla realizzazione dell'intero sistema su una scheda FPGA tramite l'uso di linguaggi di descrizione hardware. Pochi hanno sfruttato i vantaggi degli strumenti di sintesi ad alto livello (HLS) per accelerare il ciclo di progettazione. Questo articolo dimostra la progettazione e l'implementazione del rilevamento pedonale in tempo reale su una scheda FPGA dedicata a un'applicazione di guida autonoma. L'articolo utilizza il framework HoG e SVM allo scopo della rilevazione pedonale su immagini statiche, video o input reali della telecamera. L'hardware utilizzato è una scheda FPGA all'avanguardia e recentemente rilasciata, l'Ultra96 v2, che è un'architettura FPGA avanzata che rappresenta una potente piattaforma per la visione artificiale, l'elaborazione delle immagini, il machine learning, l'edge computing, ecc.24. L'Ultra96 v2 è una scheda di sviluppo dotata di un AMD Xilinx Zynq UltraScale+MPSoC 27 basato su Arm. Questa scheda include il segmento di sistema di elaborazione (PS), che consiste in core CPU basati su ARM che gestiscono gli aspetti software del progetto, e il segmento Programmable Logic (PL) che consente accelerazioni hardwarepersonalizzabili 20,21,22. Insieme, questi componenti migliorano la funzionalità di un sistema ibrido, dove la parte PS gestisce il controllo e l'interazione con elementi esterni, mentre la parte PL gestisce la logica di elaborazione effettiva.

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

Protocol

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

La procedura di implementazione utilizzata in questa ricerca, basata sul rilevamento pedonale con HoG + SVM su una scheda FPGA, sfruttando i vantaggi della sintesi ad alto livello, è illustrata nella Figura 2 qui sotto.

Figura 2
Figura 2: Procedura di progettazione per l'implementazione del rilevamento pedoni sulla scheda FPGA. Fase 1: Algoritmo di rilevamento pedoni usando HoG+SVM sullo strumento HLS e generazione del blocco IP. Fase 2: Algoritmo di rilevamento pedoni usando HoG+SVM per l'implementazione effettiva dell'FPGA e la generazione del file bit. Fase 3: Programmazione della scheda con il file di bit generato. Clicca qui per visualizzare una versione più grande di questa figura.

1. Rilevamento pedoni usando HoG e SVM sullo strumento HLS

  1. Scarica l'Ambiente di Sviluppo Integrato Python (IDE) a seconda delle proprietà del sistema su cui viene effettuato il download.
    NOTA: In questo lavoro viene utilizzata la versione Python 3.10.
  2. Esegui uno script Python per eseguire un modello di addestramento utilizzando l'algoritmo HoG e il classificatore SVM. Inizia lo script caricando i campioni positivi e negativi dal dataset.
    NOTA: Usa il datasetINRIA 11.
  3. Estrai le caratteristiche HoG per una finestra di 64 x 128.
  4. Dividere i dati di addestramento e di test dal dataset INRIA in un rapporto 80/20 con un mescolare casuale per la riproducibilità.
    NOTA: Il dataset viene mescolato casualmente usando la funzione python prima di suddividere i dati. Per garantire la riproducibilità in modo che la stessa divisione venga fatta ogni volta che un valore seed viene fissato nel codice.
  5. Addestrare utilizzando la SVM di classificazione vettoriale a supporto C (SVC) con un kernel lineare.
  6. Estrai i vettori di peso e il bias.
  7. Salva i pesi SVM e il bias nel formato Q8.8 a punto fisso per l'implementazione FPGA.
    NOTA: La conversione avviene scalando ogni valore in virgola mobile con l'originalità generata da un fattore 256 (28) e convertendo il risultato in un intero.
  8. Testare il modello addestrato tramite un altro script Python e regolare il parametro di regolarizzazione C, finché l'accuratezza non sarà calcolata superiore al 95%.
    NOTA: Parametro di regolarizzazione ottimizzato ottenuto: C = 0,05.
  9. Apri lo strumento HLS e crea un nuovo progetto con il numero di parte selezionato come xczu3eg-sbva484-1-e.
  10. Scrivi un codice di rilevamento pedoni sullo strumento di sintesi di alto livello usando linguaggi di alto livello come C++.
  11. Nel codice, scrivi tre script C++ diversi: uno per il descrittore di caratteristiche HoG e il classificatore SVM, un altro per il testbench per fornire input alle immagini di test e salvare le immagini di output, e il terzo per un file header che dichiara i parametri usati nel codice.
  12. Nel codice per il calcolo delle caratteristiche HoG, ridimensionare l'immagine a 640 x 480 e applicare un'architettura a finestra scorrevole con una dimensione di 64 x 128. Per ogni finestra, calcola la magnitudine e l'orientamento del gradiente per ogni blocco 8 x 8 sovrapposto.
    NOTA: È importante scansionare l'intera immagine attraverso il concetto di finestra scorrevole, così che ogni area dell'immagine sia coperta e che i pedoni di ogni dimensione possibili vengano identificati.
  13. Nell'altra parte dello stesso codice per il descrittore di caratteristiche HoG, passa i gradienti calcolati al classificatore SVM. Scrivi il codice per abbinare le caratteristiche ai pesi del classificatore e confronta con la soglia per classificare la caratteristica rilevata come quella di un essere umano o meno.
  14. Clicca su Esegui Simulazione C nello strumento HLS per simulare il codice con l'aiuto di un banco di prova per verificare la correttezza funzionale del codice.
  15. Fornisci immagini di input diverse al codice e controlla le immagini di output con i pedoni rilevati.
  16. Clicca su Esegui Sintesi C per sintetizzare il codice e mappare il codice ai linguaggi hardware tramite lo strumento e generare i report di tempistica e utilizzo.
    NOTA: Lo strumento apre automaticamente i report di sintesi HLS. Questo rapporto mostra la stima della frequenza di clock richiesta per implementare il compito codificato su una piattaforma FPGA selezionata, e fornisce anche una stima delle risorse utilizzate. Questi valori riportati sono solo stime e i parametri effettivi vengono calcolati solo dopo l'implementazione sulla scheda FPGA.
  17. Clicca su Esporta RTL per esportare il blocco di Proprietà Intellettuale (IP) per l'algoritmo HoG di rilevamento pedonale.
    NOTA: Questa IP deve essere utilizzata nelle fasi successive dell'implementazione.

2. Programmazione della scheda FPGA

  1. Apri lo strumento per la programmazione FPGA e crea un nuovo progetto. Seleziona il numero di parte come xczu3eg-sbva484-1-e e crea un nuovo design a blocchi.
    NOTA: Questo diagramma a blocchi è stato creato per stabilire l'integrazione tra la parte PS e la parte PL della scheda FPGA. Il protocollo di comunicazione utilizzato è il protocollo Advanced eXtensible Interface (AXI).
  2. Cerca il Catalogo IP nello strumento e, una volta trovato, aprilo.
  3. Crea un repository utente aggiungendo il percorso dell'IP RTL esportato nello step 1.17.
  4. Nella nuova finestra di design dei blocchi , ora clicca con il tasto destro e seleziona aggiungi IP. Tutti gli IP saranno visibili, inclusi quelli forniti dallo strumento e i repository aggiunti dall'utente.
  5. Aggiungi il blocco PS Zync Ultrascale dal repository.
    NOTA: Questo blocco riflette la parte PS del sistema, responsabile della generazione dei clock richiesti, e ha anche le porte master e slave per la connessione all'IP importato HoG tramite il blocco interconnessione AXI, che funziona sui fondamenti del protocollo AXI.
  6. Aggiungi 8 IP HoG perché il sistema elaborerà 8 finestre simultaneamente per sfruttare il vantaggio del parallelismo offerto dalla scheda FPGA.
  7. Aggiungi un blocco di reset del sistema del processore , che controlla anche il clock e il reset degli alimentatori a ogni singolo blocco nel diagramma.
  8. Aggiungi due blocchi axi_smart connect per collegare gli IP HoG con il blocco Zync PS. L'intero schema a blocchi con le connessioni complete è mostrato nella Figura 3.
    NOTA: Come mostrato nella Figura 3, tutti i blocchi che devono essere aggiunti al progetto sono stati mostrati chiaramente. La Figura 3 è catturata dallo strumento e mostra le porte interne di ogni blocco così come le interconnessioni tra le porte dei diversi blocchi. Questo blocco è il progetto principale poiché è responsabile dell'interfaccia tra la PS e la parte PL della scheda FPGA.
  9. Dopo aver completato le connessioni come in Figura 3, clicca su valida design.
    NOTA: La validazione controlla fondamentalmente le connessioni mancanti o rotte, che possono portare a problemi nelle fasi successive.
  10. Clicca su sintesi e poi Implementa progettazione nel tool dopo che la validazione del diagramma a blocchi è stata riuscita a verificare.
    NOTA: Synthesis mappa il diagramma a blocchi progettato e lo mappa sulla scheda FPGA. Questo passaggio segnala eventuali violazioni che possano indicare che il design non può essere implementato sull'hardware.
  11. Lo strumento genererà anche report relativi a tempistiche, utilizzo delle risorse e consumo energetico. Esamina attentamente i report per verificare eventuali violazioni dei tempi e analizza le prestazioni del sistema progettato.
  12. Clicca su Genera il file bitstream che genererà il file .bit necessario per programmare la scheda FPGA.

Figura 3
Figura 3: Diagramma a blocchi per il rilevamento pedonale usando IP importati HoG + SVM. Clicca qui per visualizzare una versione più grande di questa figura.

3. Implementazione finale sulla scheda FPGA

  1. Prendi la scheda FPGA e inserisci la scheda SD con il file immagine corretto nello slot della scheda.
  2. Collega anche la scheda al computer.
  3. Avvia la scheda FPGA in modalità scheda SD per abilitare la programmazione in Python21,22.
  4. Accedi alla piattaforma Jupyter sulla scheda dopo averla collegata al wifi.
  5. Collega una webcamera alla scheda.
  6. Scrivi un codice Python per importare il bit file generato e svolgi il compito di accedere alle immagini della telecamera.
  7. Nel codice, scrivi lo script in modo che l'immagine venga scritta nella memoria della scheda FPGA tramite la parte PS e passata alla parte PL per l'elaborazione.
    NOTA: La parte PL della scheda che corrisponde agli IP HoG accede ai pixel immagine attraverso queste posizioni di memoria, li elabora e fornisce i punteggi come output.
  8. Scrivi codice appropriato nello stesso script Python per leggere le immagini elaborate e mostrarle sullo schermo del computer.
    NOTA: Questo completa l'intero progetto e il sistema è ora pronto per il dispiegamento in applicazioni reali. Tutti i codici utilizzati in questo studio sono caricati come file di codifica supplementare (File Supplementare 1 [Script_1_train_test.py], File Supplementare 2 [Script_2_HLS_hog.cpp], File Supplementare 3 [Script_3_HLS_test_bench.cpp], File Supplementare 4 [Script_4_HLS_consts.h], File Supplementare 5 [Script_5_jupyter_code.txt]).

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

Results

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

Implementazione del rilevamento pedonale su HLS
La Figura 4 mostra i risultati della simulazione sullo strumento HLS per il rilevamento pedonale usando HoG + SVM. Un'immagine di input con un pedone viene fornita come input di prova al codice e viene visualizzata l'uscita con i pedoni rilevati. Ci sono due sezioni nell'immagine. La prima rilevazione mostra molte caselle di delimitazione attorno allo stesso pedone più e più volte, e nella seconda immagine le caselle sovrap...

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

Discussion

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

Questo studio implementa efficacemente un sistema di rilevamento pedoni in tempo reale che utilizza l'algoritmo HoG + SVM su hardware FPGA avanzato basato sulla scheda di sviluppo Zynq UltraScale+MPSoC 24. I risultati indicano che l'algoritmo tradizionale HoG del rilevamentoumano 11 raggiunge una precisione vicina al 95% e utilizza solo metà delle risorse FPGA a bordo (LUT, FF, BRAM, DSP), lasciando una grande capacità di includere molta pi...

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

Disclosures

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

Gli autori dichiarano di non avere conflitto di interessi.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
PythonPythonVersione 3.10
Ultra 96 V2 FPGA Board Xilinx Introdotto nel 2018Piattaforma di implementazione hardware utilizzata per implementare l'algoritmo di rilevamento dei pedoni
Vivado AMD2019.2Strumento di programmazione FPGA utilizzato per programmare la scheda FPGA Ultra 96 v2 con l'algoritmo di rilevamento dei pedoni 
Vivado HLS AMD2019.2Strumento di sintesi ad alto livello utilizzato per la programmazione ad alto livello del codice di rilevamento dei pedoni nel documento per esportare la proprietà intellettuale (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