• Non ci sono risultati.

3.3 Riconoscitore di veicoli per applicazioni ADAS

3.3.2 Algoritmo per il riconoscimento di veicoli

Figura 3.6: Struttura dell’algoritmo riconoscimento di veicoli

Alla luce di quanto emerso dall’analisi dello stato dell’arte l’algoritmo che viene presentato in questa sezione utilizza un approccio basato su conoscenza per la fase di generazione delle ipotesi; mentre, per la classificazione vera e propria si utilizza un metodo ad-hoc utilizzando delle caratteristiche salienti elaborate mediante l’analisi di sequenze reali in scenario autostradale. Le specifiche di progetto limitano molto l’approccio da utilizzare, l’ambiente stradale da considerare è unicamente autostra-dale, si devono considerare veicoli fino a 80 m e non si possono utilizzare metodi che facciano uso di tecniche di apprendimento automatico. La struttura dell’algoritmo sviluppato è mostrata in figura 3.6.

Blocco Image Processing

Questo blocco si occupa di estrarre le regioni di interesse, eseguendo la fase di hypo-tesis generationsecondo un approccio basato su conoscenza a priori, utilizzando la

fusione sensoriale con un radar installato sul veicolo e mediante l’analisi delle sim-metrie, della presenza di ombre e di bordi orizzontali e verticali. Queste operazioni non sono comprese nella parte sviluppata all’interno del progetto relativa a questa tesi di dottorato e per questo sono solo accennate.

Blocco BBox Analysis

(a) (b)

(c) (d) (e) (f)

Figura 3.7: Riconoscimento di veicoli: (a) immagine di input, (b) bounding box estratti con pre-elaborazione, (c) veicolo, (d) forma a “W” (e) bordi orizzontali (f) aree scure.

Questo blocco effettua la fase di hypotesis validation mediante l’analisi delle regioni di interesse fornite dal blocco precedente. La validazione dei veicoli viene

eseguita con un classificatore che utilizza feature ad-hoc

Per ogni bounding box vengono effettuate alcune operazioni di pre-processing.

La prima operazione svolta è un ricampionamento per avere aspect ratio, altezza e larghezza fissati ed avere quindi la stessa risoluzione e poter usare delle soglie fissate per ogni bounding box. La dimensione scelta è di 52 × 52 pixel per poter considerare i veicoli con alta confidenza fino a 80 m, come mostrato in figura 3.7.(c). In seguito per l’ottenimento delle feature vengono eseguiti dei filtri di Sobel per l’estrazione dei bordi e un’estrazione delle aree scure, mediante una sogliatura che si adatta al valor medio di luminosità dell’immagine. In figura 3.7.(b) sono illustrati i bounding box estratti dall’immagine di input e le operazioni di pre-elaborazione relative.

L‘insieme delle feature è formato dalle seguenti caratteristiche salienti:

• presenza delle ruote;

• calcolo di una particolare forma a “W” nell’istogramma dei bordi verticali;

• calcolo di una particolare forma a “W” nell’istogramma dei bordi totali;

• presenza di bordi orizzontali all’interno dell’immagine del veicolo.

Presenza delle ruote

La presenza delle ruote è una feature leggermente forte. Per rilevarle si effettua sul bounding box un filtraggio delle aree scure, dopodichè si cerca nella parte inferiore del bounding box un rettangolo scuro di dimensione adeguata. La figura 3.7.(f) mo-stra l’emo-strazione delle aree scure dell’immagine con le ruote del veicolo rilevate nella parte inferiore. Una parte del voto finale è dato dalla distanza dei centri di massa delle ruote rilevate in questo modo:

v1= 1.0 − |δ − δmod|/δmax (3.7) Dove v1è il primo voto ottenuto, δ è la distanza tra i centri di massa δmodè la distanza ottimale e δmaxè la distanza massima. Il secondo voto v2viene calcolato in base alla similarità con un modello ideale di ruota secondo la formula:

v2= −(1.0/ηth)η + 1 (3.8)

Dove η è la similarità, ηth è la soglia sul valore della similarità. Tutti i parametri sono ottenuti sperimentalmente e i valori dei voti sono normalizzati nell’intervallo tra 0 e 1. Il voto finale che viene assegnato è frutto del rilevamento delle due aree scure rappresentanti le ruote, e delle informazioni geometriche relative alla forma, la somma dei due voti illustrati in precedenza.

W shape feature

Le immagini ottenute dal filtraggio di Sobel vengono binarizzate, da queste immagini vengono poi estratti gli istogrammi del numero di punti bianchi per riga e per colon-na. In questo modo si possono analizzare le forme degli istogrammi che mostrano una specie di impronta digitale del contenuto del bounding box. Nell’immagine in figura 3.7.(d) si nota come l’istogramma dei bordi verticali abbia una forma ben de-terminata che è comune a tutti i veicoli processati in questo modo. Si calcolano le distanze tra i picchi dell’istogramma, la lunghezza di questi e il valor medio dell’i-strogramma tra questi per ricavare dei valori da confrontare con altri valori ricavati sperimentalmente per indicare un voto per la classificazione relativamente a questa feature. Questa ricerca è applicata all’immagine dei bordi verticali e dei bordi totali.

Presenza di bordi orizzontali

L’ultima feature riguarda la presenza dei bordi orizzontali nella parte del bounding box che rappresenta un veicolo. In figura 3.7.(e) è mostrata la pre-elaborazione per l’estrazione di questa feature. Il voto tiene conto della presenza dei bordi calcolando-ne la media e la varianza e confrontandole con un valore ricavato sperimentalmente.

Blocco Vehicle Classifier

Per ogni bounding box fornito dal blocco di validazione delle ipotesi questo blocco effettua la classificazione del contenuto per discriminare tra le classi veicolo o non-veicolo tramite una somma pesata secondo la formula:

hi=

i=1,...,N

wixi (3.9)

Con i ∈ 1, ..., N che rappresenta l’indice del bounding box del frame attuale. Dove h∈ [0, 1] è la classe dell’ipotesi, wi∈ [0, 1] è il peso ottenuto in base alla rilevanza della feature, xi∈ x1, ..., xN è il voto della feature estratta dall’immagine, all’interno dell’insieme delle feature. Il voto così ottenuto viene normalizzato nell’intervallo tra 0 e 1 e confrontato con una soglia ottenuta sperimentalmente per discriminare l’appartenenza alla classe veicolo o non veicolo.

Risultati ottenuti

(a) (b)

Figura 3.8: Risultati ottenuti: (a) output dell’algoritmo, (b) bounding box relativi al frame.

La figura 3.8 mostra i risultati ottenuti, in figura 3.8.(a) è mostrato l’output del-l’algoritmo, con i bounding box classificati correttamente evidenziati nell’immagine.

Nella figura 3.8.(b) sono mostrati i bounding box durante le fasi di elaborazione ed estrazione delle feature relative al frame a fianco, con evidenziati i veicoli riconosciu-ti. Si nota che un veicolo non viene riconosciuto correttamente probabilmente poi-chìl bounding box non risulta ben centrato. L’operazione di riconoscimento è basata unicamente sul frame e non prevede alcuna forma di tracking.

Documenti correlati