Tecnologia di riconoscimento facciale. Isolamento e riconoscimento dei volti. I principali problemi legati allo sviluppo di sistemi di riconoscimento facciale

19.06.2020

Ha aperto nuova era. La tecnologia di riconoscimento facciale è la sua caratteristica principale. E nessuno dubita che questo metodo di sblocco verrà implementato anche su tanti altri smartphone.

Già negli anni ’60 furono condotti esperimenti speciali in cui un computer doveva imparare a riconoscere il volto di una persona. Quindi questo non ha portato a nulla, poiché qualsiasi emozione ha portato al fallimento. Inoltre, il sistema inventato temeva il cambiamento delle condizioni di illuminazione.

Solo alla fine del XX secolo sono apparsi sistemi che hanno imparato a identificare i volti delle persone dalle fotografie, ricordandoli. Allo stesso tempo, non falliscono più quando compaiono baffi, barba, occhiali e altre "interferenze". Più attivamente, tali sistemi hanno iniziato a essere implementati nelle fotocamere digitali. Hanno trovato posto anche nel settore della sicurezza.

I sistemi di riconoscimento facciale presentano da tempo uno svantaggio significativo. Dipendevano fortemente dall'illuminazione e dall'angolazione. Tuttavia, questo problema non era evidente negli scanner di sicurezza. Il volto veniva premuto quasi strettamente contro di loro, poi illuminato dalle lampade. L'introduzione della fotografia stereoscopica ha contribuito a eliminare lo svantaggio sopra menzionato. Due telecamere comprendono la profondità della scena e quindi la precisione delle letture aumenta più volte.

Come funziona la tecnologia di riconoscimento facciale?

A poco a poco, una nuova funzionalità ha iniziato ad apparire negli smartphone. Qui viene implementata l'identificazione biometrica dell'utente in modo che una persona non autorizzata non possa sbloccare il dispositivo. Idealmente, solo il gemello può accedere alle informazioni personali. Non è necessario preoccuparsi di questo. È improbabile che qualcuno nasconda seriamente qualcosa al proprio fratello o sorella. E nessuno ti disturba a impostare una password aggiuntiva per leggere alcuni dati particolarmente segreti.

Il funzionamento del sistema di riconoscimento facciale negli smartphone può essere suddiviso in quattro fasi:

  1. Scansione del volto. Questo viene fatto utilizzando la fotocamera frontale o, come nel caso dell'iPhone X, un sensore speciale. La scansione è 3D, quindi il trucco fotografico non funzionerà.
  2. Estrai dati univoci. Il sistema si concentra su una serie di caratteristiche del volto da scansionare. Molto spesso questi sono i contorni delle orbite, la forma degli zigomi e la larghezza del naso. Nei sistemi avanzati possono essere visibili anche cicatrici.
  3. Recupero dalla memoria di un modello con dati precedentemente ricevuti.
  4. Cerca corrispondenze. La fase finale in cui il sistema decide se sbloccare il display. La potenza dei moderni processori ti consente di dedicare solo una frazione di secondo al "pensiero".

La funzione di riconoscimento facciale può essere implementata anche utilizzando la fotocamera frontale - purché abbia due obiettivi. Tuttavia, in questo caso, il funzionamento di questa funzione sarà instabile. Il fatto è che solo sensori speciali garantiranno la scansione del viso anche al buio, mentre la fotocamera frontale richiede un'illuminazione intensa. Inoltre, speciali sensori visualizzano virtualmente un numero maggiore di punti sul viso, quindi vengono attivati ​​anche quando compaiono barba, occhiali e altri ostacoli. In una parola, in alcuni DOOGEE Mix 2 il sistema funzionerà sicuramente molto peggio che nell'iPhone X. Un'altra cosa è che il prodotto dell'anniversario di Apple costa molto di più di tutti gli altri smartphone con funzione di riconoscimento facciale.

La tecnologia è il futuro?

I sensori necessari per la scansione facciale richiedono un'installazione perfetta. Uno spostamento di centesimi di millimetro porterà al fatto che il funzionamento della funzione non sarà più l'ideale, quindi durante la produzione di uno smartphone si potrebbe osservare un aumento del numero di difetti e ciò porta ad un aumento del suo costo. E i sensori stessi sono molto costosi; non per niente li utilizza solo Apple, anche se non ne possiede alcun brevetto.

In una parola, per ora i produttori Android implementeranno la funzione di riconoscimento facciale utilizzando la fotocamera frontale. Lo potete già trovare nel Samsung Galaxy S8 e Note 8. Ma i possessori di questi dispositivi vi confermeranno che non funziona nel miglior modo possibile- più facile usare lo scanner delle impronte digitali. Pertanto non si può ancora dire nulla sul futuro della funzione. Dobbiamo aspettare per vedere se Apple implementerà i sensori corrispondenti negli smartphone più economici e se appariranno nei dispositivi Android.

Conclusione

Non devi preoccuparti di salvare i tuoi dati identificativi. Il modello creato durante la scansione di un volto si trova in una sezione di memoria separata: questo settore non può essere letto da un computer o da programmi di terze parti. Ciò vale però anche per le impronte digitali. Sta a te decidere quale tipo di identificazione è più conveniente utilizzare.

Hai mai avuto in mano uno smartphone in grado di riconoscere il tuo volto? E ti aspetti un'implementazione di massa di questa funzionalità? Condividi la tua opinione nei commenti, ne saremo felici!

Il compito di identificare il volto di una persona in un ambiente naturale o artificiale e la successiva identificazione è sempre stato tra i compiti di massima priorità per i ricercatori che lavorano nel campo dei sistemi di visione artificiale e dell’intelligenza artificiale. Tuttavia, molte ricerche condotte nei principali centri scientifici di tutto il mondo per diversi decenni non hanno portato alla creazione di sistemi di visione artificiale realmente funzionanti in grado di rilevare e riconoscere una persona in qualsiasi condizione. Nonostante la somiglianza dei compiti e dei metodi utilizzati nello sviluppo di sistemi alternativi per l’identificazione umana biometrica, come l’identificazione tramite impronta digitale o immagine dell’iride, i sistemi di identificazione tramite immagine facciale sono significativamente inferiori ai sistemi sopra menzionati.

Un problema serio che affliggono i sistemi di visione artificiale è la grande variabilità delle immagini visive associata ai cambiamenti di illuminazione, colore, scala e angoli di osservazione. Inoltre, le persone hanno l'abitudine di camminare per strada e al chiuso vestite, il che porta a una significativa variabilità nelle immagini della stessa persona. Tuttavia, il problema più impegnativo nella visione artificiale è il problema della disambiguazione che sorge quando si proiettano oggetti 3D del mondo reale su immagini piatte. Anche il colore e la luminosità dei singoli pixel di un'immagine dipendono da un gran numero di fattori difficili da prevedere. Questi fattori includono:

  1. numero e ubicazione delle sorgenti luminose;
  2. colore e intensità della radiazione;
  3. ombre o riflessi degli oggetti circostanti.

Il compito di rilevare oggetti in un'immagine è complicato anche dall'enorme quantità di dati contenuti nell'immagine. Un'immagine può contenere migliaia di pixel, ognuno dei quali può avere un significato importante. Il pieno utilizzo delle informazioni contenute nell'immagine richiede l'analisi di ciascun pixel per determinare se appartiene a un oggetto o a uno sfondo, tenendo conto della possibile variabilità degli oggetti. Tale analisi può richiedere costi elevati in termini di memoria richiesta e prestazioni del computer.

La soluzione a questo problema sta in facendo la scelta giusta descrizioni di oggetti per la rilevazione e il riconoscimento dei quali viene creato un sistema. La descrizione di un oggetto dovrebbe tenere conto delle sue caratteristiche più caratteristiche ed essere sufficientemente rappresentativa per distinguere questo oggetto dagli altri elementi della scena circostante. Per evitare la soggettività nella scelta della descrizione desiderata, è possibile utilizzare metodi per la selezione automatica delle caratteristiche adeguate di un oggetto, che vengono implementati negli algoritmi genetici e durante l'addestramento delle reti neurali artificiali. Allo stesso tempo, ci sono una serie di parametri nella descrizione dell'oggetto che attualmente devono essere selezionati da un ricercatore che sviluppa un sistema di rilevamento e riconoscimento. Queste scelte includono:

  1. scelta tra rappresentazione 2D e 3D della scena e dell'oggetto. Gli algoritmi che utilizzano la rappresentazione 2D sono generalmente più semplici degli algoritmi 3D, ma allo stesso tempo richiedono un gran numero di descrizioni diverse corrispondenti alla rappresentazione dell'oggetto in diverse condizioni di visualizzazione;
  2. la scelta tra descrivere un oggetto come un tutto unico o come un sistema costituito da una serie di elementi interconnessi;
  3. scelta tra un sistema di caratteristiche basato su caratteristiche geometriche o di altro tipo che descrivono le specificità dell'oggetto.

Nel caso più generale, l'algoritmo per risolvere il problema di rilevamento e identificazione di una persona dall'immagine del suo volto consiste nei seguenti ovvi passaggi:

  1. rilevamento della presenza di una persona nella scena analizzata;
  2. evidenziare la figura umana;
  3. selezione della testa;
  4. determinazione dell'angolo di visione della testa (viso intero, profilo);
  5. selezione del volto;
  6. confronto con gli standard e identificazione.

A seconda delle condizioni specifiche, la struttura e l'implementazione dei singoli passaggi dell'algoritmo possono variare. Nel caso più difficile, quando si utilizza un sistema per rilevare e identificare una persona tramite l'immagine del suo volto in un ambiente altamente mutevole, con un grande flusso di dati di input (lavorando su strade cittadine con traffico intenso, in metropolitana, aeroporti, ecc.), è necessario utilizzare la massima informazione disponibile per ottenere risultati soddisfacenti dell'algoritmo. L'algoritmo deve essere in grado di tagliare efficacemente elementi statici e che cambiano lentamente della scena, lavorare in diverse condizioni di illuminazione, identificare la figura di una persona da diverse angolazioni, tracciare il movimento di molte persone e selezionare automaticamente il momento adatto per identificare una determinata persona ( ad esempio, quando è possibile ottenere un'immagine frontale di un volto con una risoluzione sufficiente). Per garantire tali capacità dell'algoritmo, è necessaria una certa ricchezza hardware del sistema, inclusa la revisione multi-camera e l'analisi della scena con la capacità di evidenziare la struttura 3D della scena, l'ingresso ad alta velocità del flusso video per filtrare elementi della scena in base ai parametri di movimento e l'uso del colore per evidenziare gli elementi della scena. Inoltre, per garantire la massima gamma possibile di identificazione affidabile sono necessarie telecamere ad alta risoluzione e una buona ottica. Nei casi più semplici, con una scena statica e un flusso limitato di eventi (apparizioni di persone), è possibile utilizzare una struttura hardware e un algoritmo più semplici, ad esempio una coppia stereo o una telecamera e un modello di scena pre-preparato. sufficiente per determinare in modo attendibile se una persona si trova nella zona di controllo, evidenziandone la figura e identificandola. Il compito di determinare la presenza di una persona sul palco richiede un certo livello di intelligenza da parte dell'algoritmo. Questo non dovrebbe essere un sistema che reagisce semplicemente al fatto che la scena cambia. L'algoritmo di rilevamento umano non dovrebbe fornire falsi allarmi quando si verificano cambiamenti nell'illuminazione, movimento di ombre da oggetti statici, comparsa di animali nella zona di controllo, ecc. Quando ciò è necessario, si pone il problema di creare una descrizione adeguata della scena . Questa descrizione può rappresentare un modello tridimensionale della scena, un modello probabilistico della distribuzione dei colori o della luminosità degli elementi della scena, oppure un sistema di caratteristiche che distingue gli elementi della scena dagli oggetti di riconoscimento (nel nostro caso, figure umane). La relazione tra gli elementi della scena considerati elementi di sfondo o di primo piano può cambiare. La stessa figura umana, se la sua immagine è inferiore a un certo valore soglia determinato dalla risoluzione del sistema ottico, può essere classificata come elemento di sfondo, poiché la sua analisi è improduttiva per eseguire il compito principale: identificare una persona.

La scelta dell'algoritmo utilizzato per identificare una persona dall'immagine del suo volto dipende anche dalle condizioni specifiche della sua applicazione. Ad esempio, una rete neurale multistrato può facilmente far fronte al compito di riconoscimento in un gruppo strettamente limitato. Allo stesso tempo, il compito di rilevare una persona specifica in una folla (dalla composizione incerta) richiede l’uso di metodi sofisticati per ridurre il livello di falsi allarmi. Molto probabilmente, in questo caso, sarà necessario un sistema multilivello, contenente molti analizzatori che operano in diversi spazi di funzionalità, con il processo decisionale utilizzando il metodo del voto. Nelle fasi iniziali del lavoro, il sistema di identificazione deve escludere i candidati evidentemente inadatti e utilizzare il gruppo rimanente di candidati per prendere la decisione finale sull'identificazione.

Di seguito è riportata una panoramica dei metodi esistenti per rilevare e identificare una persona da un'immagine del suo volto. La revisione ha incluso solo quei metodi che, secondo gli autori, sono più ampiamente utilizzati negli algoritmi moderni per rilevare una persona e la sua identificazione personale dalle immagini facciali in un ambiente naturale.

Con tutta la varietà di diversi algoritmi e metodi per il riconoscimento delle immagini, un tipico metodo di riconoscimento è costituito da tre componenti principali:

  1. convertire l'immagine originale in una rappresentazione standard;
  2. evidenziare le caratteristiche chiave;
  3. meccanismo di classificazione (modellazione): modello di cluster, metrica, rete neurale, ecc.

Inoltre, la costruzione di un metodo di riconoscimento si basa su informazioni a priori sull’argomento (in questo caso, le caratteristiche del volto di una persona) ed è regolata da informazioni sperimentali che appaiono durante lo sviluppo del metodo.

Metodo delle componenti principali.

Il metodo Analisi delle Componenti Principali (PCA) viene utilizzato per comprimere le informazioni senza una significativa perdita di contenuto informativo. Consiste in una trasformazione lineare ortogonale del vettore di input $\textbf(x)$ di dimensione $N$ nel vettore di output $\textbf(y)$ di dimensione $M$, $N>M$. In questo caso le componenti del vettore $\textbf(y)$ non sono correlate e quindi la varianza totale dopo la trasformazione rimane invariata. La matrice $\textbf(X)$ è costituita da tutte le immagini di esempio del set di addestramento. Risolta l'equazione $\boldsymbol\Lambda = \boldsymbol(\Phi)^T \boldsymbol(\Sigma)\boldsymbol(\Phi)$, otteniamo la matrice degli autovettori $\boldsymbol(\Phi)$, dove $\ boldsymbol(\Sigma )$ è la matrice di covarianza per $\textbf(x)$ e $\boldsymbol(\Lambda)$ è la matrice diagonale degli autovalori. Scegliendo da $\boldsymbol(\Phi)$ la sottomatrice $\boldsymbol(\Phi)_M$ corrispondente agli autovalori maggiori di $M$, otteniamo che la trasformazione $\textbf(y) = \boldsymbol(\Psi)_M^ T \ widetilde(\textbf(x))$, dove $\widetilde(\textbf(x)) = \textbf(x) - \overline(\textbf(x))$ è un vettore normalizzato con aspettativa matematica pari a zero, caratterizza gran parte della varianza totale e riflette i cambiamenti più significativi in ​​$\textbf(x)$. Scegliendo le prime componenti principali $M$ si divide lo spazio vettoriale in uno spazio principale (eigen) $F = \left\(\boldsymbol(\Phi)_i\right\)_(i=1)^M$ contenente le componenti principali , e il suo complemento ortogonale $F = \left\(\boldsymbol(\Phi)_i\right\)_(i=M+1)^(N)$. Come indicatori di appartenenza al metodo delle componenti principali vengono utilizzati:

DIFS - distanza nello spazio delle caratteristiche, la distanza dall'immagine dell'immagine analizzata nel proprio spazio all'immagine di riferimento;

DFFS - distanza dallo spazio delle caratteristiche, la distanza dalla rappresentazione dell'immagine analizzata nello spazio di osservazione alla proiezione dello standard nel proprio spazio.

Esempio di immagini autovettoriali (eigenfaces)

La domanda per il compito di riconoscere una persona dall'immagine del volto ha la seguente forma. I vettori di input sono immagini centrate e in scala dei volti. Gli autovettori calcolati per l'intero set di immagini dei volti sono chiamati autovettori. Il metodo delle componenti principali applicato alle immagini dei volti è anche chiamato metodo delle eigenfaces (Fig. 1). Utilizzando le matrici precedentemente calcolate, l'immagine in input viene scomposta in un insieme di coefficienti lineari chiamati componenti principali. La somma di $N$ delle prime componenti principali moltiplicata per i corrispondenti autovettori è un'approssimazione dell'immagine di ordine $N$ (Fig. 2).

Immagine del volto normalizzata ($\textit(a)$) e sua ricostruzione utilizzando le componenti principali $85$ ($\textit(b)$)

Per ogni immagine del volto vengono calcolate le sue componenti principali. In genere, i componenti principali vanno da $ 5 a $ 200. I restanti componenti codificano piccole differenze tra volti e rumore. Il processo di riconoscimento consiste nel confrontare le componenti principali di un'immagine sconosciuta con le componenti di tutte le altre immagini. A questo scopo viene solitamente utilizzata una sorta di metrica (il caso più semplice è la distanza euclidea). Un ulteriore aumento dell'affidabilità si ottiene attraverso l'ulteriore applicazione dell'analisi delle componenti principali a singole aree del viso come occhi, naso e bocca.

Il metodo della componente principale viene utilizzato anche per rilevare i volti nelle immagini. Per le facce, i valori delle componenti nello spazio proprio sono grandi e nel complemento dello spazio proprio sono prossimi allo zero. In base a questo è possibile determinare se l'immagine in ingresso è un volto. Per fare ciò viene controllata l'entità dell'errore di ricostruzione; maggiore è l'errore, maggiore è la probabilità che non si tratti di un volto. Se ci sono variazioni in una serie di immagini facciali come razza, sesso, emozioni, illuminazione, appariranno componenti, la cui entità è determinata principalmente da questi fattori. Pertanto, in base ai valori delle corrispondenti componenti principali, è possibile determinare, ad esempio, la razza o il sesso di una persona. I principali svantaggi della PCA sono i seguenti. Il metodo eigenface richiede condizioni ideali per la sua applicazione, come parametri di illuminazione uniformi, un'espressione facciale neutra e l'assenza di interferenze come occhiali e barba. Se tali condizioni non sono soddisfatte, le componenti principali non rifletteranno la variazione interclasse. Ad esempio, in diverse condizioni di illuminazione, il metodo eigenface è praticamente inapplicabile perché i primi componenti principali riflettono prevalentemente i cambiamenti di illuminazione e il confronto produce immagini con livelli di illuminazione simili.

Il calcolo di un insieme di autovettori richiede molto lavoro. Un modo è convolgere le immagini in righe e colonne; In questa forma la rappresentazione dell'immagine ha dimensioni inferiori di un ordine di grandezza, i calcoli e il riconoscimento sono più veloci, ma non è più possibile ripristinare l'immagine originale.

Analisi discriminante lineare.

L'analisi discriminante lineare (LDA) utilizza una proiezione dello spazio dell'immagine sullo spazio delle funzionalità che riduce al minimo la distanza intra-classe e massimizza la distanza tra le classi nello spazio delle funzionalità. Questi metodi presuppongono che le classi siano linearmente separabili.

La matrice $\textbf(W)$ per proiettare lo spazio dell'immagine sullo spazio delle caratteristiche viene selezionata dalla seguente condizione: $$ \textbf(W)_(\textrm(opt))= \textrm(arg) \max_\textbf (W) \frac (\textbf(W)^T \textbf(S)_\textbf(B) \textbf(W))(\textbf(W)^T \textbf(S)_\textbf(W) \ textbf(W)) , $$ dove $\textbf(S)_(\textbf(B))$ è la matrice della varianza interclasse, $\textbf(S)_(\textbf(W))$ è la matrice della varianza intraclasse .

Possono esserci fino a $c-1$ vettori che costituiscono la base dello spazio delle caratteristiche, dove $c$ è il numero totale di classi. Utilizzando questi vettori, lo spazio dell'immagine viene convertito in spazio delle funzionalità.

Poiché lavorare direttamente con la matrice $\textbf(S)_\textbf(W) \in (R)^(n\times n) $ è difficile a causa della sua dimensione, viene utilizzata la riduzione preliminare della dimensione utilizzando il metodo delle componenti principali e quindi i calcoli vengono prodotti in uno spazio di dimensione inferiore: $$ \textbf(W)_\textrm(fld)=\textrm(arg) \max_\textbf(W) \frac(\textbf(W)^T \textbf( W)_(\ textrm(pca))^T \textbf(S)_\textbf(B) \textbf(W)_(\textrm(pca)) \textbf(W))(\textbf(W)^T \textbf(W) _(\textrm(pca))^T \textbf(S)_\textbf(W) \textbf(W)_(\textrm(pca)) \textbf(W)), $$ dove $ \textbf(W) _(\textrm(pca))$ è una matrice per la proiezione in uno spazio a dimensione inferiore (lo spazio delle componenti principali).

Tipicamente, il set di addestramento contiene immagini di volti in diverse condizioni di illuminazione di base, da cui è possibile ottenere qualsiasi altra condizione di illuminazione utilizzando combinazioni lineari. Questo metodo offre un'elevata precisione di riconoscimento (circa 96(\%)) per un'ampia gamma di condizioni di illuminazione, diverse espressioni facciali e presenza o assenza di occhiali. Tuttavia, rimangono dubbi se questo metodo sia applicabile alla ricerca in database di grandi dimensioni e se possa funzionare quando il set di addestramento per alcuni volti contiene immagini in una sola condizione di illuminazione. Per il compito di rilevamento dei volti utilizzando LDA, le classi dei volti e dei non volti sono divise in sottoclassi. Il metodo sopra si basa sul presupposto della separabilità lineare delle classi nello spazio dell'immagine. In generale, questa ipotesi non è corretta. I metodi delle reti neurali offrono uno strumento per costruire superfici di divisione complesse.

Sintesi di oggetti di classi lineari.

Questo metodo consente di sintetizzare nuove immagini di un oggetto (e in particolare immagini di un volto) da diverse angolazioni. C'è una serie di immagini di volti e solo un'immagine di un nuovo oggetto da una certa angolazione. Il set di addestramento è costituito da immagini di oggetti della stessa classe (classe di volti in questo caso) del nuovo oggetto e include immagini di vari volti e per ciascun volto ci sono immagini dello stesso da un'ampia gamma di angolazioni. Per un nuovo oggetto che abbia un'immagine $X^(A)$ nella prospettiva $A$, viene effettuata una scomposizione lineare in immagini degli oggetti del training set nella stessa prospettiva, con il calcolo dei coefficienti $\alpha_i : X^A = \sum_(i=1 )^(q)\alpha_i X_i^A , $ dove $q$ è il numero di oggetti nel set di addestramento. La sintesi dell'immagine $X^(B)$ in una nuova prospettiva $B$ per un nuovo oggetto viene effettuata aggiungendo immagini dal training set in prospettiva $B$ con gli stessi coefficienti: $X^B = \sum_(i =1)^(q) \alpha_i X_i^B $. Pertanto, il metodo consente di sintetizzare le immagini di un nuovo oggetto da diverse angolazioni dall'immagine in un angolo senza l'uso di modelli tridimensionali complessi. Questo metodo è promettente per sintetizzare immagini da nuove angolazioni senza l'uso di complessi modelli tridimensionali, ma rimane aperta la questione della qualità e del numero di esempi nel training set.

Modelli di viso sagomato flessibile.

In questi metodi, il riconoscimento viene eseguito sulla base del confronto dei contorni del viso. I contorni vengono solitamente estratti per le linee della testa, delle orecchie, delle labbra, del naso, delle sopracciglia e degli occhi. I contorni sono rappresentati da posizioni chiave, tra le quali vengono calcolate per interpolazione le posizioni dei punti appartenenti al contorno. Per localizzare i contorni vari metodi Vengono utilizzate sia le informazioni a priori che quelle ottenute come risultato dell'analisi del training set. In genere, i punti chiave vengono posizionati manualmente su una serie di immagini di training. Durante la ricerca dei contorni di una nuova faccia, viene utilizzato un metodo di ricottura simulata con una funzione obiettivo di due componenti. Per il primo di essi si ricerca il massimo quando le intensità dei pixel estratti su una linea perpendicolare al contorno corrispondono a quelle simili ai pixel del training set; per il secondo, quando il contorno coincide con la forma dei contorni; degli esempi di formazione. In questo modo si estrae il contorno dei lineamenti del viso. Per confrontare le immagini si utilizzano i valori delle componenti principali, calcolati su un insieme di vettori che rappresentano le coordinate dei punti chiave. Il compito principale nel riconoscimento dei contorni è la corretta selezione di questi contorni. In generale, questo compito è paragonabile in complessità al riconoscimento delle immagini.

Confronto tra grafici elastici.

In questo metodo (Elastic Bunch Graph Matching), il viso viene rappresentato come un grafico, i cui vertici si trovano nei punti chiave del viso come i contorni della testa, delle labbra, del naso e i loro punti estremi. Ogni faccia è etichettata con le distanze tra i suoi vertici. In ciascuno di questi punti, i coefficienti di espansione in termini di funzioni Gabor vengono calcolati per cinque diverse frequenze e otto orientamenti. L'insieme di tali coefficienti $\textbf(J) = \(J_j\)$ si chiama $\textit(jet)$ (jet). I getti caratterizzano le regioni locali delle immagini e servono a due scopi: primo, trovare punti di corrispondenza in una data regione in due immagini diverse; in secondo luogo, confrontare due aree corrispondenti di immagini diverse. Ogni coefficiente $J_j = a_j \exp (i \phi_j)$ per punti provenienti da un'area di immagini diverse è caratterizzato da un'ampiezza $a_j$, che cambia lentamente con la posizione del punto, e da una fase $\phi_j$ , che ruota con una velocità proporzionale alla frequenza del vettore della funzione base d'onda. Pertanto, nel caso più semplice, per cercare punti con caratteristiche simili in una nuova immagine, la fase non viene presa in considerazione nella funzione di somiglianza: $$ S_a(\textbf(J), \textbf(J)") = \ frac(\sum_j a_ja_j^(\prime)) (\sqrt(\sum_j a_j^2 \sum_j a_j^(\prime 2))) .$$ La funzione di somiglianza con un getto in posizione fissa e un altro in posizione variabile è sufficientemente fluido da ottenere una convergenza rapida e affidabile durante la ricerca utilizzando metodi semplici come la diffusione o la discesa del gradiente. Le funzioni di somiglianza più avanzate coinvolgono informazioni sulla fase. Per angoli diversi, i punti chiave corrispondenti vengono contrassegnati manualmente sul set di addestramento, per rappresentarli diversi variazioni della sua immagine in uno e nello stesso grafico, per ogni punto vengono utilizzati diversi getti, ciascuno dei quali può corrispondere a diverse caratteristiche locali di un dato punto, ad esempio un occhio aperto e chiuso. Il processo di riconoscimento di un volto sconosciuto consiste nel confrontare il grafico dell'immagine del volto $G^I$ con tutti gli altri grafici dell'insieme $B$ utilizzando la funzione di somiglianza $$ S_B (G^I , B)= \frac(1)(N) \sum_n \max_m S_. (\phi)(J_n^I , J_n^(Bm))- \frac (\lambda)(E)\sum_e \frac((\Delta \textbf(x)_e^I - \Delta \textbf(x)_e ^B)^2)((\Delta \textbf(x)_e^B )^2). $$

La somma di sinistra caratterizza la somiglianza dei getti, calcolata utilizzando una funzione sensibile alla fase, la somma di destra è la corrispondenza topografica, che è proporzionale al quadrato della differenza delle distanze tra i vertici corrispondenti delle immagini confrontate, $N$ è il numero di vertici, $E$ è il numero di facce, $\lambda$ è il coefficiente di importanza relativa dell'informazione topografica.

Nella forma presentata sopra, il metodo è in grado di riconoscere in modo abbastanza affidabile cambiamenti di angolo fino a $20$° ; ad angoli ampi l'accuratezza del riconoscimento diminuisce drasticamente; la funzione di somiglianza risulta essere più sensibile all'angolo che alle differenze interclasse. Ulteriore sviluppo del metodo consiste nell'estrarre coefficienti di importanza basati sull'analisi del training set. Per ciascun getto si calcola il coefficiente di importanza mediante il metodo del simplesso, che viene poi utilizzato nella funzione di similarità. I coefficienti di importanza vengono calcolati a partire dalla condizione di massimizzare la funzione di somiglianza per la stessa persona e di minimizzarla per persone diverse. Esistono anche varianti precedenti di questo metodo che non utilizzano punti chiave e strutture grafiche inizialmente definiti. Alcuni di essi utilizzano reticoli a getto sovrapposti all'immagine per il confronto, Fig. 3. Si trovano punti di corrispondenza in un'immagine sconosciuta, quindi viene costruito un reticolo distorto dai punti trovati e viene misurato il grado della sua distorsione per determinare l'immagine più simile. In altri metodi i punti di estrazione del getto formano inizialmente un reticolo e poi durante il processo di addestramento vengono eliminati i punti meno adatti al riconoscimento.

Una griglia elastica sovrapposta ad un'immagine e alla sua versione distorta

Metodi basati sulle caratteristiche geometriche del viso.

Uno dei primissimi metodi è l'analisi delle caratteristiche geometriche del viso. Inizialmente, è stato utilizzato nella scienza forense e lì è stato sviluppato in dettaglio. Poi sono apparse le implementazioni informatiche di questo metodo. La sua essenza è selezionare una serie di punti (o aree) chiave del viso e quindi selezionare una serie di caratteristiche. Ciascuna caratteristica è la distanza tra i punti chiave o il rapporto tra tali distanze. A differenza del metodo di confronto tra grafici elastico, qui le distanze non vengono scelte come archi di grafico. Gli insiemi delle caratteristiche più informative vengono identificati sperimentalmente.

I punti chiave possono essere gli angoli degli occhi, le labbra, la punta del naso, il centro dell'occhio, ecc. Fig. 4. Le aree rettangolari possono fungere da aree chiave, tra cui: occhi, naso, bocca.

Durante il processo di riconoscimento, le caratteristiche di un volto sconosciuto vengono confrontate con le caratteristiche memorizzate nel database. Il compito di trovare i punti chiave si avvicina alla complessità del riconoscimento stesso e la corretta individuazione dei punti chiave nell'immagine determina in gran parte il successo del riconoscimento. Pertanto, l’immagine del volto di una persona deve essere priva di interferenze che interferiscano con il processo di ricerca dei punti chiave. Tali interferenze includono occhiali, barbe, gioielli, acconciature e trucco. L'illuminazione dovrebbe preferibilmente essere uniforme e uguale per tutte le immagini. Inoltre, l'immagine del viso deve avere un angolo frontale, possibilmente con leggere deviazioni. L'espressione facciale dovrebbe essere neutra. Ciò è dovuto al fatto che la maggior parte dei metodi non dispone di un modello per tenere conto di tali cambiamenti.

Pertanto, questo metodo impone requisiti piuttosto rigidi sulle condizioni di ripresa e richiede un meccanismo affidabile per trovare i punti chiave per il caso generale. Inoltre, sono necessari metodi più avanzati per classificare o costruire un modello di cambiamento. In generale, questo metodo non è il più ottimale, ma per alcuni compiti specifici è comunque promettente. Tali compiti includono il controllo dei documenti, quando è necessario confrontare l'immagine di una persona ricevuta in questo momento con una fotografia nel documento. Non esistono però altre immagini di questa persona e pertanto non sono disponibili meccanismi di classificazione basati sull'analisi del training set.

Punti e distanze di identificazione: $\textit(a)$ - utilizzato negli esami forensi; $\textit(b)$ - utilizzato più spesso nella costruzione di sistemi di identificazione automatizzati

Confronto di modelli.

La corrispondenza del modello prevede la selezione delle aree del viso nell'immagine mostrata in Fig. 5, quindi confrontando queste aree per due immagini diverse. Ogni regione corrispondente aumenta la misura della somiglianza dell'immagine. Questo è anche uno dei primi metodi storicamente utilizzati per riconoscere una persona dall'immagine del viso. Per confrontare le aree vengono utilizzati semplici algoritmi come il confronto pixel per pixel.

Lo svantaggio di questo metodo è che richiede molte risorse sia per memorizzare i grafici che per confrontarli. Poiché viene utilizzato l'algoritmo di confronto più semplice, le immagini devono essere scattate in condizioni rigorosamente stabilite: non sono consentiti cambiamenti evidenti nell'angolazione, nell'illuminazione, nell'espressione emotiva, ecc.

Aree incluse in un modello di volto

Modelli markoviani nascosti.

I modelli di Markov sono un potente strumento per modellare vari processi e riconoscere modelli. Per loro natura, i modelli di Markov consentono di tenere conto direttamente delle caratteristiche spazio-temporali dei segnali, e quindi sono stati ampiamente utilizzati nel riconoscimento vocale e, più recentemente, nelle immagini (in particolare, immagini di volti). Ogni modello $\lambda = \langle \textbf(A), \textbf(B), \boldsymbol\pi \rangle$, è un insieme di stati $N$ $S = \(S_1 , S_2 , \ldots , S_N\ ) $, tra i quali sono possibili transizioni. In ogni momento il sistema si trova in uno stato rigorosamente definito. I modelli Markov $\textit(primo ordine)$ più comuni presuppongono che lo stato successivo dipenda solo dallo stato corrente. Durante la transizione a ciascuno stato, viene generato un simbolo osservabile che corrisponde al segnale fisico proveniente dall'uscita del sistema simulato. L'insieme di simboli per ciascuno stato $V = \(v_1 , v_2 , \ldots, v_M \)$, numero di simboli $M$. L'output generato dal modello può anche essere continuo. Esistono anche modelli in cui l'insieme di simboli per tutti gli stati è lo stesso. Un simbolo nello stato $q_t = S_j$ al tempo $t$ viene generato con probabilità $b_(j k) = P (v_(k) | q_i = S_j)$. L'insieme di tutte queste probabilità costituisce la matrice $\textbf(B)= \(b_(j k)\)$.

La matrice $\textbf(A) = ||a_(ij)||$ determina la probabilità di transizione da uno stato all'altro: $a_(ij) = P (q_(i+1) = S_j | q_i = S_i) $, $1 \le i, j \le N$. Si ritiene che $A$ non dipenda dal tempo. Se da ogni stato è possibile raggiungerne qualunque altro in una transizione, allora tutti $a_(ij) > 0$, e il modello si dice ergodico. Il modello ha una probabilità di stati iniziali $\boldsymbol\pi = \( \pi_i \)$, dove $\pi_i = P (q_1 = S_i)$. Di solito nei processi reali la sequenza degli stati è nascosta all'osservazione e rimane sconosciuta, e si conosce solo l'output del sistema, la sequenza dei simboli osservati $O = O_1 O_2 \ldots O_T$, dove ogni osservazione $O_t$ è un simbolo da $V$ e $T$ - numero di osservazioni nella sequenza. Pertanto, tali modelli sono chiamati modelli Markov $\textit(hidden)$ (Hidden Markov Models, $\textit(HMM)$).

Il modello $\boldsymbol\lambda = \langle \textbf(A), \textbf(B) , \boldsymbol\pi \rangle$ con parametri ottimizzati può essere utilizzato per generare una sequenza di osservazioni. Per fare ciò, viene selezionato casualmente uno stato iniziale, in accordo con le probabilità iniziali $\boldsymbol\pi$, poi ad ogni passo viene utilizzata la probabilità $\textbf(B)$ per generare il simbolo osservato, e la probabilità $\ textbf(A)$ viene utilizzato per selezionare la condizione successiva. Probabilità $P$ di generare una sequenza di stati $O$ mediante un modello $\lambda$: $$ P(O|Q, \lambda) = \prod_(t-1)^T b_(q_t) (O_t) $ $ dove $Q = q_1 q_2 \ldots q_T$ - sequenza di stati. Si presuppone che le osservazioni siano statisticamente indipendenti.

Nel riconoscimento di pattern, i modelli Markov nascosti vengono utilizzati in questo modo. Ogni classe $i$ ha il proprio modello $\lambda_i$. L'immagine riconosciuta (segnale vocale, immagine, ecc.) è rappresentata come una sequenza di osservazioni $O$. Quindi per ogni modello $\lambda_i$ viene calcolata la probabilità che questa sequenza possa essere stata generata da questo particolare modello. Il modello $\lambda_i$ con la probabilità più alta viene considerato il più adatto e l'immagine viene assegnata alla classe $j$.

A questo proposito sorgono diverse domande, chiamate i tre compiti principali dei modelli di Markov nascosti.

$O = O_1 O_2 \ldots O_T$ e il modello sintonizzato $\boldsymbol\lambda = \langle\textbf(A), \textbf(B), \boldsymbol\pi\rangle$, come stimare la probabilità $P(O |\lambda )$ generato da questo modello per una data sequenza di osservazioni? Questa attività è chiamata attività di riconoscimento.

  1. Avere una sequenza di osservazioni

$O = O_1 O_2 \ldots O_T$ e il modello ottimizzato $\boldsymbol\lambda = \langle\textbf(A), \textbf(B), \boldsymbol\pi\rangle$, come selezionare una sequenza di stati $Q = q_1 q_2 \ ldots q_T$ in modo che sia ottimale (secondo alcuni criteri, questo problema è analiticamente irrisolvibile)? In altre parole, questo è il compito della spiegazione. È necessario per la successiva correzione dei parametri del modello.

  1. Come regolare i parametri del modello

$\lambda$ per massimizzare $P(O|\lambda)$? Cioè, come possiamo rendere il modello più coerente con la sua classe, una delle cui immagini è una data sequenza di osservazioni (o diverse sequenze diverse)? Questo è il compito dell'apprendimento.

Il primo compito ha l'esatto soluzione analitica, chiamata procedura di passaggio avanti-indietro. I prossimi due problemi non hanno una soluzione analitica esatta. Per risolvere il secondo problema viene utilizzato l'algoritmo di Viterbi, per il terzo problema viene utilizzato l'algoritmo di Baum-Welch. Entrambi questi metodi sono variazioni della discesa del gradiente e vengono risolti utilizzando metodi di ottimizzazione.

Modello di Markov lineare

Per ridurre i calcoli, nel riconoscimento vocale vengono utilizzati modelli lineari (Fig. 6. In tali modelli, ogni stato ne ha solo uno successivo ed è anche possibile una transizione allo stesso stato. Tali modelli tengono conto delle caratteristiche temporali del segnale vocale: un certo ordine di sezioni del segnale, la loro posizione relativa, la possibilità di allungamento o compressione locale. Ciò consente loro di essere utilizzati nel riconoscimento delle immagini.

L'essenza dei modelli Markov bidimensionali è che, a differenza degli HMM lineari unidimensionali, consentono di modellare le distorsioni dell'immagine e la posizione relativa delle sezioni non separatamente orizzontalmente o verticalmente, ma simultaneamente in entrambe le direzioni. Per ridurre la complessità computazionale, vengono utilizzati HMM pseudo-2D (Pseudo-2D Hidden Markov Models, $\textit(P2D-HMM)$). Tale modello è costituito da diversi modelli lineari verticali del livello inferiore e da un modello lineare orizzontale del livello superiore, il cui input sono gli output dei modelli di livello inferiore, Fig. 7. Ciascuno

Modello di Markov nascosto pseudo-bidimensionale

Estrazione dei siti campione di osservazione

lo stato di un modello di primo livello include una sequenza di stati del corrispondente modello di livello inferiore. I modelli di livello inferiore non sono correlati tra loro. Inizialmente, i modelli del livello superiore erano verticali. Nel lavoro successivo, i modelli di livello superiore furono resi orizzontali (come mostrato nella figura) in modo che i modelli verticali di livello inferiore potessero tenere conto del fatto che gli occhi potevano trovarsi a diverse altezze. Pertanto, il modello pseudo-bidimensionale consente di tenere conto delle deformazioni locali e della posizione relativa delle aree dell'immagine. Ma a differenza dei flussi ottici e di altri metodi di corrispondenza delle deformazioni, il modello pseudo-bidimensionale tiene conto della natura delle deformazioni e gli HMM pseudo-bidimensionali apprendono quali possono essere esattamente le possibili deformazioni durante il processo di apprendimento. In altre parole, la zona corrispondente all'occhio non verrà mai abbinata, ad esempio, alla zona dove dovrebbe esserci la bocca.

Un esempio del funzionamento della SMM. L'input dell'HMM sono sezioni quadrate di immagini (Fig. 8). È stato riscontrato che le regioni estratte con una sovrapposizione del 75(\%) tra loro fornivano la migliore precisione di riconoscimento.

Per HMM, l'inizializzazione iniziale del modello è importante. Tutte le immagini del set di training vengono utilizzate come inizializzazione iniziale di tutti i modelli. Ogni modello di classe viene quindi sintonizzato sulle sue immagini.

Lo svantaggio di HMM è che HMM non ha capacità discriminativa, cioè l'algoritmo di apprendimento massimizza solo la risposta di ciascun modello alle sue classi, ma non minimizza la risposta alle altre classi e non evidenzia le caratteristiche chiave che distinguono una classe da un'altra. Pertanto, classi simili potrebbero essere difficilmente distinguibili e, man mano che la dimensione del database aumenta o viene utilizzato in un contesto più ampio, l'HMM potrebbe diventare inaffidabile.

Reti neurali multistrato.

L'architettura di una rete neurale multistrato (MNN) è costituita da strati collegati in sequenza, dove il neurone di ogni strato è connesso con i suoi input a tutti i neuroni dello strato precedente e con gli output di quello successivo. Una rete neurale con due livelli decisionali può approssimare qualsiasi funzione multidimensionale con una certa precisione. Una rete neurale con un livello decisionale è in grado di formare superfici di separazione lineari, il che restringe notevolmente la gamma di problemi che possono risolvere; in particolare, tale rete non sarà in grado di risolvere un problema di tipo “esclusivo o”. Una rete neurale con una funzione di attivazione non lineare e due strati decisivi consente la formazione di qualsiasi regione convessa nello spazio della soluzione e con tre strati decisivi - regioni di qualsiasi complessità, comprese quelle non convesse. Allo stesso tempo, il MNS non perde la sua capacità di generalizzazione. Gli MNN vengono addestrati utilizzando l'algoritmo di backpropagation, che è un metodo di discesa del gradiente nello spazio dei pesi per ridurre al minimo l'errore totale della rete. In questo caso gli errori (più precisamente i valori di correzione dei pesi) si propagano in senso inverso dagli input alle uscite, attraverso i pesi che collegano i neuroni. L'applicazione più semplice di una rete neurale a strato singolo (chiamata memoria autoassociativa) è addestrare la rete a ricostruire le immagini alimentate. Fornendo un'immagine di prova come input e calcolando la qualità dell'immagine ricostruita, è possibile valutare quanto bene la rete abbia riconosciuto l'immagine in input. Le proprietà positive di questo metodo sono che la rete può ripristinare immagini distorte e rumorose, ma non è adatta per scopi più seri. La MNN viene utilizzata anche per la classificazione diretta delle immagini: l'input è l'immagine stessa in qualche forma, o un insieme di caratteristiche chiave dell'immagine precedentemente estratte, all'output, il neurone con l'attività massima indica l'appartenenza alla classe riconosciuta (Fig 9).

Il neurone con la massima attività (qui il primo) indica l'appartenenza alla classe riconosciuta. Se questa attività è al di sotto di una certa soglia, si considera che l'immagine inviata non appartenga a nessuna delle classi conosciute. Il processo di apprendimento stabilisce la corrispondenza delle immagini fornite in input con l'appartenenza ad una determinata classe. Questo si chiama "apprendimento supervisionato". Se applicato al riconoscimento umano da un'immagine facciale, questo approccio è utile per le attività di controllo dell'accesso per un piccolo gruppo di persone. Consente alla rete di confrontare direttamente le immagini stesse, ma all'aumentare del numero di classi, il tempo di formazione e di esecuzione della rete aumenta in modo esponenziale, e quindi per compiti come la ricerca persona simile in un database di grandi dimensioni, richiede l'estrazione di un insieme compatto di caratteristiche chiave su cui effettuare la ricerca.

In particolare, la MNN può essere utilizzata per classificare le immagini del volto in base a caratteristiche come le distanze tra alcune parti specifiche del viso (naso, bocca, occhi). Esistono anche sistemi ibridi, come la combinazione con un modello Markov. Nella MNN classica, le connessioni neurali interstrato sono completamente connesse e l'immagine è rappresentata come un vettore unidimensionale, sebbene sia bidimensionale. L'architettura della rete neurale convoluzionale mira a superare queste carenze. Utilizza campi recettoriali locali (forniscono connettività bidimensionale locale dei neuroni), pesi condivisi (forniscono il rilevamento di determinate caratteristiche in qualsiasi punto dell'immagine) e organizzazione gerarchica con sottocampionamento spaziale. La rete neurale convoluzionale (CNN) fornisce una resistenza parziale ai cambiamenti di scala, agli spostamenti, alle rotazioni e alle distorsioni. L'architettura di una CNN è costituita da molti strati, ciascuno dei quali ha diversi piani, e i neuroni dello strato successivo sono collegati solo con un piccolo numero di neuroni dello strato precedente provenienti dalle vicinanze della regione locale (come nel sistema visivo umano). corteccia). I pesi in ciascun punto di un piano sono gli stessi (strato convoluzionale). Lo strato convoluzionale è seguito da uno strato che riduce la sua dimensione mediante la media locale. Poi ancora lo strato convoluzionale e così via. In questo modo si ottiene un'organizzazione gerarchica. Gli strati successivi ne estraggono di più Caratteristiche generali, meno dipendente dalla distorsione dell'immagine. La CNN viene addestrata utilizzando il metodo di backpropagation standard. Un confronto tra MNS e CNN ha mostrato vantaggi significativi di quest'ultima sia in termini di velocità che di affidabilità della classificazione. Proprietà utile Il vantaggio della CNN è che le caratteristiche generate alle uscite degli strati superiori della gerarchia possono essere utilizzate per la classificazione utilizzando il metodo del vicino più vicino (ad esempio, calcolando la distanza euclidea), e la CNN può estrarre con successo tali caratteristiche per immagini che non sono nel set di addestramento. Le CNN sono caratterizzate da un'elevata velocità di apprendimento e funzionamento. Testare una CNN su un database ORL contenente immagini di volti con lievi cambiamenti di illuminazione, scala, rotazioni spaziali, posizione e varie emozioni ha mostrato una precisione di riconoscimento di circa il 98(\%) e, per i volti noti, sono state presentate varianti delle loro immagini che non lo erano nel set di allenamento. Questo risultato rende questa architettura promettente per ulteriori sviluppi nel campo del riconoscimento delle immagini di oggetti spaziali. Gli MNN vengono utilizzati anche per rilevare oggetti di un certo tipo. Inoltre, qualsiasi MNN addestrato può, in una certa misura, determinare se le immagini appartengono alle “loro” classi e può essere appositamente addestrato per rilevare in modo affidabile determinate classi; In questo caso, le classi di output saranno classi che appartengono e non appartengono al tipo di immagine specificato.


Rete neurale multistrato per la classificazione delle immagini

Reti wavelet di Gaborov (GWN).

Questo metodo è progettato per il tracciamento dei volti in tempo reale utilizzando il modello wavelet Gabor (GWT), che è una combinazione lineare discreta di wavelet Gabor. È importante notare che l'accuratezza della rappresentazione dei volti è governata dal numero di wavelet di Gabor nella GWN, consentendo di rappresentare più volti da un singolo GWT. Questa rappresentazione consente trasformazioni affini arbitrarie e una stima rapida dei parametri affini utilizzando il metodo della discesa del gradiente. Pertanto, durante il tracciamento di un volto, il metodo ne determina anche l'orientamento, ma con restrizioni sulle rotazioni: sono consentite principalmente rotazioni nel piano e rotazioni spaziali minori attorno all'asse verticale.

Reti neurali di Hopfield.

L'Hopfield NN (HNS) è a strato singolo e completamente connesso (non ci sono connessioni tra i neuroni su se stessi), le sue uscite sono collegate agli ingressi. A differenza dell'MNS, l'NSC è di rilassamento, ovvero, essendo installato in una determinata posizione iniziale, funziona fino a raggiungere uno stato stabile, che sarà il suo valore di uscita. Le NSC vengono utilizzate come memoria associativa e per risolvere problemi di ottimizzazione. Nel primo caso la rete neurale viene addestrata senza insegnante (ad esempio secondo la regola di Hebb), nel secondo caso i pesi tra i neuroni codificano inizialmente il problema da risolvere. Le NSC possono essere sincrone, quando tutti i neuroni vengono ricalcolati simultaneamente, e asincrone, quando viene ricalcolato un neurone selezionato casualmente. I metodi Lyapunov vengono utilizzati per studiare le dinamiche del funzionamento del sistema agricolo nazionale. La NSC asincrona converge sempre verso punti stabili e gli attrattori della NSC sincrona sono punti stazionari stabili e cicli limite di lunghezza due. Pertanto, la NSC dallo stato iniziale converge al minimo locale più vicino dell'energia della rete, lo stato dei neuroni in cui sarà l'immagine ripristinata per problemi di riconoscimento e la soluzione per problemi di ottimizzazione. Per cercare un minimo globale in relazione a problemi di ottimizzazione, vengono utilizzate modifiche stocastiche del NSC.

L'utilizzo di NSH come memoria associativa consente di ripristinare con precisione le immagini per le quali la rete è addestrata quando all'ingresso viene fornita un'immagine distorta. In questo caso, la rete “ricorderà” l'immagine più vicina (nel senso di un'energia minima locale) e la riconoscerà. Questo funzionamento può anche essere pensato come l'applicazione sequenziale della memoria autoassociativa. A differenza della memoria autoassociativa, NSH ripristinerà l'immagine in modo perfettamente accurato.

Sebbene lo sviluppo di sistemi di identificazione basati su immagini di volti umani vada avanti da diversi decenni, il compito di creare un efficace algoritmo di identificazione basato su immagini di volti umani è ancora lungi dall’essere completato.

Per la maggior parte dei moderni sistemi di riconoscimento automatico dei volti, il compito principale è confrontare una determinata immagine del volto con una serie di immagini del volto da un database. Le caratteristiche dei sistemi di riconoscimento automatico del volto in questo caso vengono valutate determinando le probabilità di erroneo rifiuto di riconoscimento (per un'immagine di un volto presente nel database si decide come volto non identificato) e di erroneo riconoscimento. Oltre alle probabilità di errore, per valutare un sistema di riconoscimento automatico dei volti viene spesso utilizzata la robustezza ai disturbi dell'immagine causati da combinazioni con sfondi complessi, variabilità dell'illuminazione, cambiamenti di acconciatura, ecc.

La scelta di un algoritmo o di un gruppo di algoritmi di identificazione facciale per la creazione di pratici sistemi automatici di riconoscimento facciale dovrebbe basarsi su un sistema per valutare le caratteristiche prestazionali di un particolare sistema, corrispondente alle restrizioni associate alle condizioni operative di questo particolare sistema, ed è determinato direttamente in fase di progettazione.

Si prevede che il sistema di riconoscimento facciale biometrico sarà incluso nello standard “smart city” per le città russe, che il Ministero delle Costruzioni ha iniziato a sviluppare. Il vice capo del dipartimento Andrei Chibis ne ha parlato a Izvestia. Ha osservato che tale tecnologia sarebbe comoda da usare nei trasporti pubblici: un passeggero sale sull'autobus, il programma lo riconosce e gli addebita il denaro per il viaggio sul suo conto bancario. Il Ministero intende conoscere l'esperienza delle città cinesi e diffondere tecnologie simili in Russia.

Il ministero prevede di attirare le aziende cinesi, tra cui Huawei, per implementare, insieme a Rostelecom, la tecnologia biometrica e l'analisi degli eventi nelle città russe. Lo ha detto a Izvestia il viceministro dell'edilizia, dell'edilizia abitativa e dei servizi comunali, Andrei Chibis. Secondo lui, in caso di successo, questo sistema costituirà la base dello standard “smart city” - un insieme minimo di soluzioni per migliorare il comfort delle città. Il dipartimento ha già iniziato a sviluppare lo standard.

I rappresentanti del ministero intendono visitare la Cina per valutare come funzionano le tecnologie moderne, compresa la biometria.

Per quanto ne so, ora a Mosca si discute sull'introduzione di tale tecnologia. Ovviamente, a causa della necessità di utilizzare le carte, l'orario di imbarco dei passeggeri subisce ritardi. E l'algoritmo di riconoscimento facciale funziona in questo modo: un passeggero entra nella metropolitana o nell'autobus, il programma lo riconosce e addebita i soldi per il viaggio sul suo conto bancario, ha fatto un esempio Andrei Chibis.

In molte città è già stato installato un numero significativo di telecamere, cioè l'infrastruttura nel suo insieme è stata creata, ha sottolineato il funzionario. La questione riguarda la regolamentazione normativa e l’attuazione di progetti pilota: se avranno successo, il processo successivo sarà rapido: “proprio come ci siamo rapidamente allontanati dai gettoni nella metropolitana, possiamo anche abbandonare i tornelli”.

Il servizio stampa di Rostelecom ha osservato che l'identificazione dei passeggeri nel trasporto pubblico, compreso il pagamento del viaggio, è una delle opportunità più ovvie per l'utilizzo del sistema.

Esistono esempi concreti nel mondo e in Russia la creazione di tali soluzioni è prevista nel prossimo futuro, ha confermato l'azienda a Izvestia.

Il progetto Smart City, nell'ambito del quale si prevede di svilupparsi nuova tecnologia, progettato per sei anni. Secondo Andrei Chibis nessuno dice che in questo periodo un sistema di riconoscimento facciale apparirà necessariamente ovunque, ma bisogna muoversi in questa direzione. “Non è solo una questione di sicurezza, ma anche di comfort. Studieremo questa tecnologia e nel prossimo futuro decideremo sulla possibilità di implementazione, ovviamente prima di tutto in termini di costi", ha indicato.

Alexander Khanin, CEO di VisionLabs, un'azienda specializzata in visione artificiale, osserva che il processo di installazione di telecamere e server è tecnicamente semplice, quindi nel prossimo futuro tali sistemi potranno essere implementati ovunque. Potrebbero essere utilizzati anche per cercare persone scomparse, a suo avviso. Il costo della connessione a ciascuna fotocamera dipende dallo scenario di utilizzo e dal tipo di fotocamera: da 200 rubli a diverse migliaia.

Alexander Bakhtin, capo del dipartimento dei sistemi di telecomunicazione presso l'Istituto di tecnologia elettronica di Mosca, ha osservato che le reti cittadine sono pronte a trasmettere tali dati. Tuttavia, nella fase iniziale dell’introduzione delle nuove tecnologie, esiste sempre il rischio di violazioni della privacy. Ci sono molti punti in cui le informazioni possono essere intercettate. Ma dopo i test, il sistema è costruito e funziona in modo efficace.

Un tomografo in una clinica genera molte più informazioni di un flusso video proveniente da un autobus. La domanda è chi lo analizza e per quali scopi. Vorrei che la legislazione ci proteggesse da quei dipendenti che utilizzano dati personali non autorizzati", ha detto Alexander Bakhtin a Izvestia.

Rostelecom ammette che la circolazione di tali dati è un argomento molto delicato, quindi, come in altri paesi, anche in Russia si sta creando un sistema biometrico unificato sotto il controllo statale. Nella prima fase, in collaborazione con la Banca Centrale, viene attuato nell'interesse del settore bancario. Sono già stati condotti esperimenti sul riconoscimento facciale per l'ingresso senza contatto nei musei e il sistema verrà sviluppato in futuro, l'azienda è fiduciosa.

Nel settembre 2017 le autorità di Mosca hanno annunciato l’introduzione di un sistema di videosorveglianza con funzione di riconoscimento facciale. È stato riferito che la rete della capitale comprende 160mila telecamere e copre il 95% degli ingressi degli edifici residenziali. I volti nelle registrazioni vengono scansionati in modo che, se necessario, i dati possano essere confrontati con le informazioni presenti in vari database, ad esempio le forze dell'ordine, quando si tratta di cercare un delinquente, indicate sul portale del sindaco di Mosca. Il sistema è in grado di identificare la persona nel video, il suo sesso e la sua età.

La Rostec State Corporation ha utilizzato la tecnologia di riconoscimento facciale durante la Coppa del Mondo 2018. Con il suo aiuto, ad esempio, è stato possibile identificare un tifoso a cui, per decisione del tribunale, è stato vietato di partecipare a eventi sportivi. L'algoritmo consente di riconoscere i volti con una precisione fino al 99%. La società statale ha osservato che la ricerca di una persona specifica tra un miliardo di persone richiede meno di mezzo secondo.

Inoltre, per riconoscimento facciale comprenderemo le fasi che seguono la selezione di un volto e la sua normalizzazione, ovvero l'estrazione dei lineamenti e il confronto con lo standard. Presentiamo i principali metodi conosciuti utilizzati per risolvere questi due problemi.

I metodi di estrazione delle caratteristiche possono essere divisi in due gruppi. Questi sono metodi che utilizzano caratteristiche locali e caratteristiche facciali globali. Quando si utilizzano le caratteristiche locali, l'algoritmo identifica singole parti del viso (come occhi, naso, bocca, ecc.) e le utilizza per selezionare o riconoscere un volto. Quando si utilizzano le caratteristiche globali, l'algoritmo funziona con l'intero volto nel suo insieme.

I metodi che funzionano con le funzionalità locali includono:

    Filtri Gabor;

    metodo di confronto tra grafici elastici;

    modelli di contorni del viso;

    modalità delle aree più informative;

    modelli markoviani nascosti;

    modelli di morphing;

  • metodi basati sulle caratteristiche geometriche del viso;

    metodi basati sul confronto di standard;

    reti neurali.

I metodi che utilizzano le funzionalità globali sono:

    metodi discriminanti;

  • Filtri Gabor;

    reti neurali.

Come puoi vedere, gli stessi metodi possono essere utilizzati sia per estrarre le caratteristiche facciali locali sia per estrarre le caratteristiche globali:

    Filtri Gabor;

  • reti neurali.

Tutti i classificatori possono essere suddivisi nei seguenti gruppi:

    metodi statistici basati sui principi della statistica matematica;

    metodi basati sulla costruzione di ipersuperfici di separazione;

    metodi basati sul principio dei potenziali;

    metodi basati sulla definizione di istanze;

    metodi sviluppati basati sullo studio delle reti neurali biologiche.

Il numero di metodi esistenti per l'estrazione e la classificazione delle caratteristiche è illimitato. Successivamente, prenderemo in considerazione solo i metodi più conosciuti.

3.4.2. Metodi basati sull'analisi delle caratteristiche locali

Tutti i metodi di questo gruppo, in un modo o nell'altro, localizzano aree caratteristiche del viso e, sulla base di esse, implementano il loro algoritmo.

Modelli di aspetto flessibili

Alcuni metodi per risolvere il problema del riconoscimento facciale utilizzano il concetto di “modelli elastici del volto” (modello flessibile), che a loro volta sono oggetti ricostruiti in base ai componenti principali. In questi metodi, il riconoscimento viene eseguito sulla base del confronto dei contorni del viso. I contorni vengono solitamente estratti per le linee della testa, delle orecchie, delle labbra, del naso, delle sopracciglia e degli occhi. I contorni sono rappresentati da posizioni chiave, tra le quali vengono calcolate per interpolazione le posizioni dei punti appartenenti al contorno. Per localizzare i contorni, vari metodi utilizzano sia informazioni a priori che informazioni ottenute dall'analisi del training set.

Nel lavoro, i punti chiave corrispondenti ai contorni sono stati posizionati manualmente su una serie di immagini di allenamento. Questi insiemi di punti, le caratteristiche iniziali, rappresentano i modelli iniziali della forma del viso (IMF). Successivamente, queste caratteristiche vengono ridotte utilizzando il metodo delle componenti principali e sulla base di esse viene formato un MFL medio. Ciò crea la possibilità di modificare la forma del modello del viso e, di conseguenza, creare un modello elastico della forma del viso (EMFL) modificando i parametri nello spazio delle caratteristiche ridotte. Durante il processo di riconoscimento, l’EMFL viene, per così dire, “allungato” sull’immagine riconosciuta del volto, e i nuovi parametri risultanti della forma del modello sono la chiave per classificare l’immagine riconosciuta.

Per cercare i contorni del viso, si propone di utilizzare l'algoritmo Active Shape Models. Il compito principale nel riconoscimento dei contorni è la corretta selezione di questi contorni. In generale, questo compito è paragonabile in complessità al riconoscimento delle immagini. Inoltre, l'utilizzo di questo metodo da solo non è sufficiente per il compito di riconoscimento.

Riso. Posizione dei punti sul viso dal set di allenamento

Riso. L'influenza dei componenti principali sulla forma del viso

    Cosa possiamo dire se solo a Mosca esiste già una rete di oltre 150.000 telecamere di videosorveglianza esterna. Non c’è modo di nasconderli, e questo fa riflettere, ma la portata della “sorveglianza” non è così grande. La rete utilizza un potente sistema di riconoscimento facciale, ma richiede molta energia per funzionare, quindi solo 2-4mila telecamere funzionano in tempo reale. La sorveglianza di massa della popolazione è ancora solo spaventosa, quindi vale la pena concentrarsi sui reali vantaggi di questa tecnologia. Ma prima le cose principali.

    Come funziona il sistema di riconoscimento facciale?

    Hai mai pensato a come tu stesso riconosci un volto e lo riconosci? Come fa un computer a fare questo? Naturalmente, i volti umani hanno alcune proprietà facili da descrivere. La distanza tra gli occhi, la posizione e la larghezza del naso, la forma delle arcate sopracciliari e del mento: tutti questi dettagli li noti inconsciamente quando guardi un'altra persona. Il computer fa tutto questo con una certa efficienza e precisione, perché combinando tutte queste metriche ottiene una formula matematica volto umano.

    Quindi, quanto funziona bene il riconoscimento facciale attualmente? Abbastanza bene, ma a volte commette errori. Se hai mai incontrato un software di riconoscimento facciale su Facebook o su un'altra piattaforma, probabilmente hai notato che ci sono tanti risultati divertenti quanti sono accurati. Tuttavia, sebbene la tecnologia non funzioni con una precisione del 100%, è abbastanza buona da poter essere utilizzata su larga scala. E ti rendono anche nervoso.

    Paul Howie di NEC afferma che il loro sistema di riconoscimento facciale scansiona i volti alla ricerca di identificatori individuali:

    “Ad esempio, molte persone considerano la distanza tra gli occhi una caratteristica unica. Oppure potrebbe essere la distanza dal mento alla fronte e altri componenti. In particolare, prendiamo in considerazione 15-20 fattori considerati importanti, oltre ad altri fattori che non sono più così significativi. Viene creata un'immagine 3D della testa della persona, quindi anche se è parzialmente coperta, possiamo comunque ottenere una corrispondenza esatta. Il sistema quindi prende la firma facciale e la inserisce nel database."

    Dovresti preoccuparti del software di riconoscimento facciale?

    Innanzitutto il riconoscimento facciale è un dato. I dati possono essere raccolti e archiviati, spesso senza autorizzazione. Una volta raccolte e archiviate, le informazioni sono esposte agli hacker. Le piattaforme software di riconoscimento facciale non hanno ancora subito attacchi di rilievo, ma con la diffusione della tecnologia, i tuoi dati biometrici finiscono nelle mani di sempre più persone.

    Ci sono anche problemi di proprietà. La maggior parte delle persone non sa che quando si iscrivono a piattaforme di social media come Facebook, i loro dati appartengono a Facebook da quel momento in poi. Con un numero crescente di aziende che utilizzano il riconoscimento facciale, presto non dovrai nemmeno caricare le tue foto su Internet per ritrovarti compromesso. Sono già archiviati lì e sono stati archiviati per molto tempo.

    Parlando di software, funzionano tutti in modo diverso, ma fondamentalmente utilizzano metodi e reti neurali simili. Ogni volto ha molti tratti distintivi (è impossibile trovare due volti identici al mondo, ma ce ne sono stati così tanti nel corso della storia dell'umanità!). Ad esempio, il software FaceIt definisce queste funzionalità come nodi. Ogni faccia contiene circa 80 punti nodali, simili a quelli di cui abbiamo parlato prima: la distanza tra gli occhi, la larghezza del naso, la profondità delle orbite, la forma del mento, la lunghezza della mascella. Questi punti vengono misurati e creano un codice numerico - una "impronta facciale" - che viene poi inserito in un database.

    In passato, il riconoscimento facciale si basava su immagini 2D per confrontare o identificare altre immagini 2D da un database. Per ottenere la massima efficienza e precisione, l'immagine doveva rappresentare un volto che guarda direttamente la fotocamera, con poca dispersione della luce e senza alcuna particolare espressione facciale. Ovviamente ha funzionato maledettamente male.

    Nella maggior parte dei casi, le immagini non sono state create in un ambiente adatto. Anche un leggero gioco di luce potrebbe ridurre l’efficienza del sistema, portando ad alti tassi di guasto.

    Il riconoscimento 2D è stato sostituito dal riconoscimento 3D. Questa recente tendenza del software utilizza un modello 3D per fornire un riconoscimento facciale estremamente accurato. Catturando un'immagine 3D della superficie del viso di una persona in tempo reale, il software evidenzia le caratteristiche distintive - dove i tessuti duri e le ossa sono più prominenti, come le curve dell'orbita oculare, del naso e del mento - per identificare il soggetto. Queste aree sono uniche e non cambiano nel tempo.

    Utilizzando la profondità e gli assi di misurazione non influenzati dall'illuminazione, il riconoscimento facciale 3D può essere utilizzato anche al buio e riconoscere oggetti da diverse angolazioni (anche di profilo). Tale software attraversa diverse fasi per identificare una persona:

  • Rilevamento: scattare un'immagine scansionando digitalmente una fotografia esistente (2D) o un video per produrre un'immagine dal vivo del soggetto (3D).
  • Allineamento: Dopo aver identificato un volto, il sistema rileva la posizione, la dimensione e la posa della testa.
  • Misurazione: Il sistema misura le curve del viso con precisione millimetrica e crea un modello.
  • Rappresentazione: Il sistema traduce il modello in un codice univoco. Questo codice fornisce a ciascun modello una serie di numeri che rappresentano caratteristiche e tratti del viso.
  • Confronto: Se l'immagine è in 3D e il database contiene immagini 3D, il confronto procederà senza modificare l'immagine. Ma se il database è costituito da immagini bidimensionali, l'immagine tridimensionale viene scomposta in diverse componenti (come fotografie bidimensionali delle stesse caratteristiche facciali riprese da diverse angolazioni) e queste vengono convertite in immagini 2D. E poi la corrispondenza viene trovata nel database.
  • Verifica o identificazione: Durante il processo di verifica, l'immagine viene confrontata con una sola immagine nel database (1:1). Se l'obiettivo è l'identificazione, l'immagine viene confrontata con tutte le immagini nel database, risultando in un numero di possibili corrispondenze (1:N). Un metodo o l'altro viene utilizzato secondo necessità.

Dove vengono utilizzati i sistemi di riconoscimento facciale?

In passato, i sistemi di riconoscimento facciale trovavano impiego principalmente nelle forze dell’ordine, poiché le autorità li utilizzavano per cercare volti casuali tra la folla. Anche alcune agenzie governative hanno utilizzato sistemi simili per la sicurezza e per eliminare le frodi elettorali.

Tuttavia, ci sono molte altre situazioni in cui tale software diventa popolare. I sistemi stanno diventando più economici e la loro distribuzione è in crescita. Ora sono compatibili con fotocamere e computer utilizzati da banche e aeroporti. Le agenzie di viaggio stanno lavorando a un programma per i "viaggiatori esperti" per fornire rapidi controlli di sicurezza ai passeggeri che forniscono volontariamente informazioni. Le code aeroportuali si sposteranno più velocemente se le persone passeranno attraverso un sistema di riconoscimento facciale che abbina i volti a un database interno.

Altre potenziali applicazioni includono bancomat e sportelli bancomat. Il software può verificare rapidamente il volto del cliente. Dopo il permesso del cliente, il bancomat o il terminale scatta una foto del viso. Il software crea un'impronta facciale che protegge il cliente dal furto di identità e dalle transazioni fraudolente: il bancomat semplicemente non darà soldi a qualcuno con un volto diverso. Non hai nemmeno bisogno di un codice PIN.

Magia? Tecnologie!

Particolarmente importante e interessante potrebbe essere lo sviluppo della tecnologia di riconoscimento facciale nel campo dei bonifici bancari. L'altro giorno Banca russa Otkritie ha presentato la propria soluzione unica, sviluppata con il marchio tecnologico Open Garage: trasferire denaro utilizzando una foto nell'applicazione mobile Otkritie.Transfers. Invece di inserire una carta o un numero di telefono, devi solo scattare una foto della persona a cui devi effettuare il bonifico. Il sistema di riconoscimento facciale confronterà la foto con quella di riferimento (effettuata al momento dell'emissione della carta da parte della banca) e richiederà nome e cognome. Tutto quello che devi fare è selezionare una carta e inserire l'importo. Ciò che è particolarmente importante è che anche i clienti di banche terze possono utilizzare questa funzione per effettuare bonifici ai clienti Otkrytie: il mittente del bonifico può utilizzare una carta di qualsiasi banca russa.

"L'utilizzo della fotografia del cliente al posto del numero della carta bancaria è un approccio fondamentalmente nuovo ai trasferimenti online, basato sull'uso di un sistema di riconoscimento facciale a rete neurale, che consente di identificare un cliente utilizzando i suoi dati biometrici con un alto grado di precisione, ", afferma il capo del dipartimento di sviluppo dei sistemi di partenariato della Otkritie Bank, Alexey Matveev. - Il servizio apre scenari di vita completamente nuovi affinché gli utenti possano effettuare trasferimenti di denaro. Attualmente, nessuno dei partecipanti ai mercati finanziari nel mondo offre un simile servizio ai propri clienti.”

Applicazione mobile “Otkrytie. Traduzioni" è possibile.



© mashinkikletki.ru, 2024
Reticolo Zoykin - Portale delle donne