Scopri milioni di eBook, audiolibri e tanto altro ancora con una prova gratuita

Solo $11.99/mese al termine del periodo di prova. Cancella quando vuoi.

Eigenface: Esplorare le profondità del riconoscimento visivo con Eigenface
Eigenface: Esplorare le profondità del riconoscimento visivo con Eigenface
Eigenface: Esplorare le profondità del riconoscimento visivo con Eigenface
E-book217 pagine2 ore

Eigenface: Esplorare le profondità del riconoscimento visivo con Eigenface

Valutazione: 0 su 5 stelle

()

Leggi anteprima

Info su questo ebook

Cos'è Eigenface


Un eigenface è il nome dato a un insieme di autovettori quando utilizzato nel problema della visione artificiale del riconoscimento del volto umano. L'approccio dell'utilizzo degli eigenface per il riconoscimento è stato sviluppato da Sirovich e Kirby e utilizzato da Matthew Turk e Alex Pentland nella classificazione dei volti. Gli autovettori derivano dalla matrice di covarianza della distribuzione di probabilità sullo spazio vettoriale ad alta dimensione delle immagini dei volti. Le stesse facce stesse formano un insieme di base di tutte le immagini utilizzate per costruire la matrice di covarianza. Ciò produce una riduzione delle dimensioni consentendo al set più piccolo di immagini di base di rappresentare le immagini di training originali. La classificazione può essere ottenuta confrontando il modo in cui i volti sono rappresentati dal set di base.


Come trarrai beneficio


(I) Approfondimenti e convalide sui seguenti argomenti:


Capitolo 1: Eigenface


Capitolo 2: Analisi delle componenti principali


Capitolo 3: Scomposizione ai valori singolari


Capitolo 4: Autovalori e autovettori


Capitolo 5: Autocomposizione di una matrice


Capitolo 6: Analisi delle componenti principali del kernel


Capitolo 7: Analisi della matrice


Capitolo 8: Sistema dinamico lineare


Capitolo 9: Distribuzione normale multivariata


Capitolo 10: Modi di variazione


(II) Rispondere alle principali domande del pubblico su eigenface.


(III) Esempi reali per l'utilizzo di eigenface in molti campi.


A chi è rivolto questo libro


Professionisti, studenti universitari e laureati, appassionati, hobbisti e coloro che vogliono andare oltre le conoscenze o le informazioni di base per qualsiasi tipo di Eigenface.

LinguaItaliano
Data di uscita14 mag 2024
Eigenface: Esplorare le profondità del riconoscimento visivo con Eigenface

Leggi altro di Fouad Sabry

Autori correlati

Correlato a Eigenface

Titoli di questa serie (100)

Visualizza altri

Ebook correlati

Intelligenza artificiale e semantica per voi

Visualizza altri

Articoli correlati

Recensioni su Eigenface

Valutazione: 0 su 5 stelle
0 valutazioni

0 valutazioni0 recensioni

Cosa ne pensi?

Tocca per valutare

La recensione deve contenere almeno 10 parole

    Anteprima del libro

    Eigenface - Fouad Sabry

    Capitolo 1: Eigenface

    Un autofacente (/ˈaɪɡənˌfeɪs/) è il nome dato a un insieme di autovettori quando viene utilizzato nel problema della visione artificiale del riconoscimento facciale umano.

    Lo spazio vettoriale dell'immagine facciale ad alta dimensione ha una distribuzione di probabilità la cui matrice di covarianza fornisce gli autovettori.

    Le autofacce stesse sono l'insieme di base da cui è costruita la matrice di covarianza.

    Ciò comporta una riduzione delle dimensioni poiché le immagini di training originali possono essere rappresentate da un set più compatto di immagini di base.

    Le facce possono essere ordinate confrontando le loro rappresentazioni nell'insieme di base.

    Trovare un modo compatto per esprimere i tratti del viso è stato il punto di partenza per il metodo eigenface.

    Utilizzando l'analisi delle componenti principali, Sirovich e Kirby hanno dimostrato come creare un set di base di caratteristiche da un gruppo di foto facciali.

    Le immagini fondamentali, le autoimmagini, nel set di addestramento originale possono essere unite linearmente per generare immagini.

    Dato un set di addestramento dell'immagine M, N foto potrebbero essere utilizzate come punto di partenza per l'analisi delle componenti principali, se N > M.

    Quando si usano più autoimmagini, l'errore di ricostruzione diminuisce; tuttavia, qualsiasi numero richiesto è inferiore a M.

    Ad esempio, per un dato insieme di immagini facciali di addestramento M, è necessario produrre N autofacce, si può dire che ogni immagine facciale può essere costituita da proporzioni di tutte le caratteristiche K o autofacce: Immagine facciale1 = (23% di E1) + (2% di E2) + (51% di E3) + ..

    + (1% En).

    Nel 1991, M. Turk e A. Pentland presentarono il metodo di riconoscimento facciale eigenface, che si basava sui loro precedenti risultati. Hanno dimostrato un metodo per calcolare gli autovettori di una matrice di covarianza, che ha permesso di eseguire la decomposizione degli autogeni su un gran numero di foto di volti su computer dell'epoca. L'analisi tradizionale delle componenti principali si è rivelata difficile da applicare a set di dati di immagini facciali ad alta dimensionalità. Usando matrici proporzionali al numero di immagini piuttosto che al numero di pixel, Turk e Pentland hanno mostrato come estrarre gli autovettori.

    Dopo il suo successo iniziale, il metodo eigenface è stato ulteriormente sviluppato per incorporare tecniche di pre-elaborazione per una maggiore precisione.

    L'analisi delle componenti principali (PCA) è una procedura matematica che può essere applicata a una vasta raccolta di foto di volti per produrre un insieme di autofacce. Le autofacce sono create attraverso l'analisi statistica di molte immagini diverse di volti e possono essere pensate in modo informale come un insieme di costituenti standardizzati del viso. Tutti i volti umani possono essere scomposti in questi elementi costitutivi di base. La faccia di una persona può consistere della faccia media più, diciamo, il 10% dell'autofaccia 1, il 55% dell'autofaccia 2 e il 3% dell'autofaccia 3. Sorprendentemente, una buona approssimazione della maggior parte delle facce può essere ottenuta con solo un piccolo numero di autofacce unite insieme. Inoltre, viene occupato molto meno spazio per il volto di ogni persona perché non viene salvato da una fotografia digitale, ma piuttosto come un elenco di valori (un valore per ogni autovolto nel database utilizzato).

    Le facce che ne risultano avranno uno schema di parti chiare e scure contrastanti. In questo modo, possiamo isolare le singole caratteristiche facciali per un'analisi dettagliata e un punteggio. Verrà valutata la simmetria, così come la presenza di peli sul viso, la posizione dell'attaccatura dei capelli e le proporzioni del naso e delle labbra. Alcune autofacce hanno modelli più difficili da rilevare e le loro immagini risultanti potrebbero difficilmente assomigliare a volti umani.

    Oltre al riconoscimento facciale, altre applicazioni del metodo utilizzato per creare autofacce e utilizzarle per il riconoscimento includono il riconoscimento della scrittura, la lettura labiale, il riconoscimento vocale, l'interpretazione del linguaggio dei segni e dei gesti delle mani e l'analisi delle immagini mediche. Per questo motivo, ci sono altri che preferiscono usare il termine eigenimage invece di eigenface.

    La generazione di una raccolta di facce autologiche comporta:

    Raccogli un campione di volti da usare per l'addestramento.

    Tutte le foto utilizzate nel set di allenamento devono essere state scattate con la stessa identica illuminazione e devono essere normalizzate in modo che tutte le foto abbiano occhi e bocche correttamente allineati.

    Devono anche essere tutti ricampionati a una risoluzione di pixel comune (r × c).

    Un vettore è considerato un'immagine, solo unendo le colonne dei pixel dell'immagine di origine, risultando in una singola colonna con elementi r × c .

    In questa specifica implementazione, si presuppone che le immagini del set di training siano tutte contenute all'interno di una singola matrice T e che ogni colonna della matrice rappresenti un'immagine diversa.

    Rimuovere la media. Ogni immagine in T deve avere l'immagine media a sottratta da essa.

    Determinare gli autovettori e gli autovalori della matrice di covarianza S. Ogni autovettore ha lo stesso numero di componenti (dimensione) delle foto originali, rendendo possibile trattarlo come un'altra immagine. Gli autovettori di questa matrice di covarianza sono indicati come autofacce. Puntano nelle direzioni in cui le foto si discostano maggiormente dalla media. Dal momento che è possibile calcolare in modo efficiente gli autovettori di S senza mai calcolare S in modo esplicito, gli autovettori hanno applicazioni pratiche nonostante questo passaggio computazionale potenzialmente proibitivo.

    Seleziona i fattori principali.

    Ordina gli autovalori e gli autovettori in base alla magnitudine decrescente.

    Il numero di componenti principali k è determinato arbitrariamente impostando una soglia ε sulla varianza totale.

    Varianza totale {\displaystyle v=(\lambda _{1}+\lambda _{2}+...+\lambda _{n})} , n = numero di componenti.

    k è il numero più piccolo che soddisfa {\displaystyle {\frac {(\lambda _{1}+\lambda _{2}+...+\lambda _{k})}{v}}>\epsilon }

    Queste autofacce possono ora essere utilizzate per rappresentare sia facce viste in precedenza che facce non viste, registrando come un'immagine appena proiettata (media-sottratta) altera la forma delle autofacce.

    La quantità di immagini nel set di training che si discostano dalla media è rappresentata dagli autovalori delle autofacce corrispondenti.

    Quando solo alcuni degli autovettori vengono utilizzati per proiettare l'immagine, alcuni dei dettagli vengono persi, tuttavia, le perdite vengono ridotte mantenendo le autofacce con gli autovalori più alti.

    Ad esempio, lavorando con un'immagine 100 × 100 si otterranno 10.000 autovettori.

    Nei contesti in cui è importante, una proiezione su un numero compreso tra 100 e 150 autofacce è di solito sufficiente per riconoscere la maggior parte delle facce, in modo che diecimila autovettori possano essere eliminati con relativa facilità.

    Utilizzando l'Extended Yale Face Database B, possiamo vedere un esempio di calcolo dell'autofaccia.

    Per evitare una carenza di potenza di elaborazione o di archiviazione dei dati, le immagini dei volti vengono campionate di un fattore 4×4=16.

    cancella tutto; chiudi tutto; Carica YaleFaces

    h, w, n = size(yalefaces); d = h * w; % vettorializza le immagini

    x = rimodellare(yalefaces, d n]); x = doppio(x); % sottrae media

    mean_matrix = media(x, 2); x = bsxfun(@minus, x, mean_matrix); % Calcola Covarianza

    s = cov(x'); % ottiene autovalore e autovettore

    V, D = eig(s); eigval = diag(D); % ordina gli autovalori in ordine decrescente

    eigval = eigval(fine: - 1:1); V = fliplr(V); % mostra la media e gli autovettori principali dal 1° al 15°

    Figura, Sottotrama(4, 4, 1)

    imagesc(rimodella(mean_matrix, h, w]))

    Grigio mappa dei colori

    per i = 1:15

    sottotrama(4, 4, i + 1)

    imagesc(rimodella(V(:, i), h, w))

    fine

    Sebbene molte autofacce siano prodotte dalla matrice di covarianza S, solo un sottoinsieme di queste è effettivamente necessario per rappresentare la stragrande maggioranza delle facce. Le prime 43 facce auto, ad esempio, possono rappresentare il 95% della diversità che si trova in tutte le foto dei volti. Applica la seguente formula ai tuoi calcoli:

    % valuta il numero di componenti principali necessarie per rappresentare il 95% della varianza totale.

    eigsum = somma(eigval); csum = 0; per i = 1:d

    csum = csum + eigval(i);  TV = CSUM / EIGSUM;  se la TV > 0,95

    K95 = I;  rompere

    fine; fine; È spesso proibitivo dal punto di vista computazionale eseguire la PCA direttamente sulla matrice di covarianza delle immagini.

    Se vengono utilizzate miniature, ad esempio 100 × 100 pixel, ogni immagine è un punto in uno spazio di 10.000 dimensioni e la matrice di covarianza S è una matrice di 10.000 × 10.000 = 108 elementi.

    Tuttavia, se ci sono N esempi di addestramento, allora il rango della matrice di covarianza è destinato ad essere al massimo N-1, Non ci saranno più di N 1 autovettori i cui autovalori non sono zero.

    Se sono presenti meno istanze di training rispetto alle dimensioni dell'immagine, il modello avrà difficoltà, Ecco un modo più semplice per calcolare i componenti primari:.

    La matrice degli esempi di addestramento, T, è stata pre-elaborata, in cui ogni colonna rappresenta una singola immagine dopo essere stata sottratta dalla media.

    La matrice di covarianza può quindi essere calcolata come S = TTT e la decomposizione autovettore di S è data da

    \mathbf {Sv} _{i}=\mathbf {T} \mathbf {T} ^{T}\mathbf {v} _{i}=\lambda _{i}\mathbf {v} _{i}

    Tuttavia TTT è una matrice grande, al contrario, se guardiamo alla decomposizione agli autovalori di

    \mathbf {T} ^{T}\mathbf {T} \mathbf {u} _{i}=\lambda _{i}\mathbf {u} _{i}

    Se poi pre-moltiplichiamo entrambi i membri dell'equazione per T, troviamo che

    \mathbf {T} \mathbf {T} ^{T}\mathbf {T} \mathbf {u} _{i}=\lambda _{i}\mathbf {T} \mathbf {u} _{i}

    Ciò significa che, se ui è un autovettore di TTT, allora vi = Tui è un autovettore di S.

    Se abbiamo un set di addestramento di 300 immagini di 100 × 100 pixel, la matrice TTT è una matrice 300 × 300, che è molto più gestibile della matrice di covarianza 10.000 × 10.000.

    Si noti tuttavia che i vettori risultanti vi non sono normalizzati; Come processo aggiuntivo, se necessario, è possibile utilizzare la normalizzazione.

    Sia X la d\times n matrice di dati con colonna x_{i} come vettore dell'immagine con media sottratta.

    Allora {\displaystyle \mathrm {covariance} (X)={\frac {XX^{T}}{n}}}

    Supponendo che X abbia un SVD, possiamo scriverlo come:

    X=U{\Sigma }V^{T}

    Quindi la decomposizione degli autovalori per XX^{T} è:

    XX^{T}=U{\Sigma }{{\Sigma }^{T}}U^{T}=U{\Lambda }U^{T}

    , dove Λ=diag (autovalori di XX^{T} )

    Di conseguenza, è chiaro come il giorno che:

    Le facce automatiche = le prime k ( k\leq n ) colonne di U associate ai valori singolari diversi da zero.

    L'i-esimo autovalore di XX^{T}={\frac {1}{n}}( i-esimo valore singolare di X)^{2}

    Quando si esegue SVD su una matrice di dati X, la matrice di covarianza effettiva non è necessaria per ottenere le autofacce.

    Lo sviluppo delle autofacce è stato stimolato dalla necessità di migliorare l'identificazione facciale. Rispetto ai metodi alternativi, le autofacce funzionano meglio grazie alla velocità e all'efficienza del sistema. A causa dell'attenzione di eigenface sulla riduzione delle dimensioni, un gran numero di soggetti può essere rappresentato utilizzando una piccola quantità di informazioni. È anche abbastanza robusto come sistema di riconoscimento facciale quando le foto sono drasticamente ridotte; Tuttavia, inizia a fallire drammaticamente quando c'è una grande differenza tra le immagini osservate e l'immagine della sonda.

    Riconoscimento facciale, Le immagini nella galleria del sistema sono rappresentate da insiemi di pesi che caratterizzano l'importanza relativa di ciascuna faccia automatica nella costruzione di quell'immagine.

    Quando una nuova faccia viene aggiunta al database per l'analisi, il sistema, l'immagine viene proiettata sull'insieme di autofacce per determinare i propri autovalori.

    Questo ci dà un insieme di valori che caratterizzano il fronte della sonda.

    I pesi dei set della galleria vengono confrontati con questi per determinare la corrispondenza più vicina.

    Trovare la distanza euclidea tra due vettori

    Ti è piaciuta l'anteprima?
    Pagina 1 di 1