Descubre millones de libros electrónicos, audiolibros y mucho más con una prueba gratuita

Solo $11.99/mes después de la prueba. Puedes cancelar en cualquier momento.

Cara Propia: Explorando las profundidades del reconocimiento visual con Eigenface
Cara Propia: Explorando las profundidades del reconocimiento visual con Eigenface
Cara Propia: Explorando las profundidades del reconocimiento visual con Eigenface
Libro electrónico222 páginas2 horas

Cara Propia: Explorando las profundidades del reconocimiento visual con Eigenface

Calificación: 0 de 5 estrellas

()

Leer la vista previa

Información de este libro electrónico

Qué es Eigenface


Una eigenface es el nombre que se le da a un conjunto de vectores propios cuando se utiliza en el problema de visión por computadora del reconocimiento de rostros humanos. El enfoque de utilizar caras propias para el reconocimiento fue desarrollado por Sirovich y Kirby y utilizado por Matthew Turk y Alex Pentland en la clasificación de rostros. Los vectores propios se derivan de la matriz de covarianza de la distribución de probabilidad sobre el espacio vectorial de alta dimensión de imágenes de rostros. Las propias caras propias forman un conjunto base de todas las imágenes utilizadas para construir la matriz de covarianza. Esto produce una reducción de dimensiones al permitir que el conjunto más pequeño de imágenes base represente las imágenes de entrenamiento originales. La clasificación se puede lograr comparando cómo se representan las caras mediante el conjunto básico.


Cómo se beneficiará


(I) Información y validaciones sobre lo siguiente temas:


Capítulo 1: Cara propia


Capítulo 2: Análisis de componentes principales


Capítulo 3: Descomposición de valores singulares


Capítulo 4: Valores propios y vectores propios


Capítulo 5: Descomposición propia de una matriz


Capítulo 6: Análisis de componentes principales del kernel


Capítulo 7: Análisis de matrices


Capítulo 8: Sistema dinámico lineal


Capítulo 9: Distribución normal multivariada


Capítulo 10: Modos de variación


(II) Respondiendo las principales preguntas del público sobre la cara propia.


(III) Ejemplos del mundo real para el uso de eigenface en muchos campos.


Para quién es este libro


Profesionales, estudiantes universitarios y estudiantes de posgrado, entusiastas, aficionados y aquellos que quieran ir más allá del conocimiento o la información básicos para cualquier tipo de Eigenface.


 


 

IdiomaEspañol
Fecha de lanzamiento14 may 2024
Cara Propia: Explorando las profundidades del reconocimiento visual con Eigenface

Relacionado con Cara Propia

Títulos en esta serie (100)

Ver más

Libros electrónicos relacionados

Inteligencia (IA) y semántica para usted

Ver más

Artículos relacionados

Comentarios para Cara Propia

Calificación: 0 de 5 estrellas
0 calificaciones

0 clasificaciones0 comentarios

¿Qué te pareció?

Toca para calificar

Los comentarios deben tener al menos 10 palabras

    Vista previa del libro

    Cara Propia - Fouad Sabry

    Capítulo 1: Eigenface

    Un eigenface (/ˈaɪɡənˌfeɪs/) es el nombre que se le da a un conjunto de vectores propios cuando se usa en el problema de visión por computadora del reconocimiento de rostros humanos.

    El espacio vectorial de imagen facial de alta dimensión tiene una distribución de probabilidad cuya matriz de covarianza proporciona los vectores propios.

    Las propias autocaras son el conjunto de bases a partir del cual se construye la matriz de covarianzas.

    Esto da como resultado una reducción de la dimensión, ya que las imágenes de entrenamiento originales se pueden representar mediante un conjunto más compacto de imágenes base.

    Las caras se pueden ordenar comparando sus representaciones en el conjunto base.

    Encontrar una forma compacta de expresar los rasgos faciales fue el punto de partida para el método eigenface.

    Utilizando el análisis de componentes principales, Sirovich y Kirby demostraron cómo crear un conjunto básico de rasgos a partir de un grupo de fotos faciales.

    Las imágenes fundamentales, las imágenes propias, del conjunto de entrenamiento original se pueden combinar linealmente para generar imágenes.

    Dado un conjunto de entrenamiento de imágenes M, N fotos podrían usarse como punto de partida para el análisis de componentes principales, si N > M.

    Cuando se utilizan más imágenes propias, el error de reconstrucción disminuye; sin embargo, cualquier número requerido es menor que M.

    Por ejemplo, para un conjunto dado de imágenes faciales de entrenamiento M, es necesario producir N caras propias, se puede decir que cada imagen de la cara puede estar formada por proporciones de todas las K características o caras propias: Imagen de la cara1 = (23% de E1) + (2% de E2) + (51% de E3) + ..

    + (1% En).

    En 1991, M. Turk y A. Pentland presentaron el método de reconocimiento facial de rostros propios, que se basaba en sus logros anteriores. Demostraron un método para calcular los vectores propios de una matriz de covarianza, que permitía realizar la descomposición propia en un gran número de fotos de rostros en computadoras de la época. El análisis tradicional de componentes principales resultó difícil de aplicar a conjuntos de datos de imágenes faciales de alta dimensión. Usando matrices proporcionales al número de imágenes en lugar del número de píxeles, Turk y Pentland mostraron cómo extraer los vectores propios.

    Después de su éxito inicial, el método de la cara propia se desarrolló aún más para incorporar técnicas de preprocesamiento para una mayor precisión.

    El análisis de componentes principales (PCA) es un procedimiento matemático que se puede aplicar a una gran colección de fotos de rostros para producir un conjunto de rostros propios. Las caras propias se crean a través del análisis estadístico de muchas imágenes diferentes de rostros y se pueden considerar informalmente como un conjunto de componentes faciales estandarizados. Todos los rostros humanos se pueden descomponer en estos bloques de construcción básicos. La cara de uno puede consistir en la cara promedio más, digamos, un 10% de la cara propia 1, un 55% de la cara propia 2 y un 3% de la cara propia 3. Sorprendentemente, se puede obtener una buena aproximación de la mayoría de las caras con solo un pequeño número de caras propias unidas. Además, se ocupa mucho menos espacio para el rostro de cada persona porque no se guarda mediante una fotografía digital, sino como una lista de valores (un valor por cada rostro propio en la base de datos utilizada).

    Las caras propias resultantes tendrán un patrón de partes claras y oscuras contrastantes. De esta manera, podemos aislar las características faciales individuales para un análisis detallado y una puntuación. Se valorará la simetría, así como la presencia de vello facial, la posición de la línea del cabello y las proporciones de la nariz y los labios. Algunos rostros propios tienen patrones más difíciles de detectar, y sus imágenes resultantes difícilmente se parecen a los rostros humanos.

    Además del reconocimiento facial, otras aplicaciones del método utilizado para crear rostros propios y utilizarlos para el reconocimiento incluyen el reconocimiento de escritura a mano, la lectura de labios, el reconocimiento de voz, la interpretación del lenguaje de signos y los gestos con las manos, y el análisis de imágenes médicas. Por esta razón, hay otros que prefieren usar el término eigenimage en lugar de eigenface.

    La generación de una colección de caras propias implica:

    Recoge una muestra de rostros para utilizarlos en el entrenamiento.

    Todas las fotos utilizadas en el set de entrenamiento deben haber sido tomadas exactamente con la misma iluminación y requieren normalización para que todas las fotos tengan los ojos y la boca correctamente alineados.

    También se deben volver a muestrear a una resolución de píxel común (r × c).

    Un vector se considera una imagen, solo que al unir las columnas de los píxeles de la imagen de origen, lo que da como resultado una sola columna con elementos r × c .

    En esta implementación específica, se supone que todas las imágenes del conjunto de entrenamiento están contenidas dentro de una sola matriz T, y cada columna de matriz representa una imagen diferente.

    Elimine la media. Cada imagen en T necesita tener la imagen promedio a restada de ella.

    Determine los vectores propios y los valores propios de la matriz de covarianza S. Cada vector propio tiene el mismo número de componentes (dimensión) que las fotos originales, lo que permite tratarlo como una imagen más. Los vectores propios de esta matriz de covarianza se denominan caras propias. Apuntan en las direcciones en las que las fotos se desvían más de la media. Dado que es posible calcular eficientemente los vectores propios de S sin tener que calcular S explícitamente, las caras propias tienen aplicaciones prácticas a pesar de este paso computacional potencialmente prohibitivo.

    Seleccione los factores principales.

    Ordene los valores propios y los vectores propios por magnitud decreciente.

    El número de componentes principales k se determina arbitrariamente estableciendo un umbral ε sobre la varianza total.

    Varianza total {\displaystyle v=(\lambda _{1}+\lambda _{2}+...+\lambda _{n})} , n = número de componentes.

    k es el número más pequeño que satisface {\displaystyle {\frac {(\lambda _{1}+\lambda _{2}+...+\lambda _{k})}{v}}>\epsilon }

    Estas caras propias ahora se pueden utilizar para representar caras vistas y no vistas previamente mediante el registro de cómo una imagen recién proyectada (restacada por la media) altera la forma de las caras propias.

    La cantidad de imágenes del conjunto de entrenamiento que se desvían de la media está representada por los valores propios de las caras propias correspondientes.

    Cuando solo se utilizan algunos de los vectores propios para proyectar la imagen, algunos de los detalles se pierden, sin embargo, las pérdidas se reducen al conservar las caras propias con los valores propios más altos.

    Por ejemplo, trabajar con una imagen de 100 × 100 producirá 10.000 vectores propios.

    En contextos en los que importa, una proyección en entre 100 y 150 caras propias suele ser suficiente para reconocer la mayoría de las caras, de modo que se pueden eliminar diez mil vectores propios con relativa facilidad.

    Usando la Base de Datos Extendida de Rostros de Yale B, podemos ver un ejemplo de cálculo de rostros propios.

    Para evitar una escasez de potencia de procesamiento o almacenamiento de datos, las imágenes faciales se muestrean por un factor de 4×4 = 16.

    Despejarlo todo; cerrar todo; Cargar yalefaces

    h, w, n = tamaño(yalefaces); d = h * w; % vectorizar imágenes

    x = remodelar(yalefaces, d n]); x = doble(x); % resta la media

    mean_matrix = media(x, 2); x = bsxfun(@minus, x, mean_matrix); % calcular covarianza

    s = cov(x'); % de obtener el valor propio y el vector propio

    V, D = eig(s); eigval = diag(D); % ordena los valores propios en orden descendente

    eigval = eigval(fin: - 1:1); V = fliplr(V); % muestran la media y los vectores propios principales del 1º al 15º

    Figura, Subtrama (4, 4, 1)

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

    Mapa de colores gris

    para i = 1:15

    subtrama (4, 4, i + 1)

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

    fin

    Aunque la matriz de covarianza S produce muchas caras propias, solo se necesita un subconjunto de ellas para representar la gran mayoría de las caras. Los primeros 43 rostros propios, por ejemplo, pueden representar el 95% de la diversidad que se encuentra en todas las fotos de rostros. Aplica la siguiente fórmula a tus cálculos:

    % evaluar el número de componentes principales necesarios para representar el 95% de la varianza total.

    eigsum = suma(eigval); csum = 0; para i = 1:d

    csum = csum + eigval(i);  TV = CSUM / EIGSUM;  Si la televisión > 0,95

    k95 = i;  quebrar

    fin; fin; A menudo es prohibitivo desde el punto de vista computacional hacer PCA directamente en la matriz de covarianza de las imágenes.

    Si se utilizan miniaturas, digamos de 100 × 100 píxeles, cada imagen es un punto en un espacio de 10.000 dimensiones y la matriz de covarianza S es una matriz de 10.000 × 10.000 = 108 elementos.

    Sin embargo, si hay N ejemplos de entrenamiento, entonces el rango de la matriz de covarianza está destinado a ser como máximo N-1, No habrá más de N 1 vectores propios cuyos valores propios no sean cero.

    Si hay menos instancias de entrenamiento que dimensiones de imagen, el modelo tendrá dificultades, Esta es una forma más sencilla de calcular los componentes principales:

    La matriz de ejemplos de entrenamiento, T, ha sido preprocesada, donde cada columna representa una sola imagen después de haber sido remitida por la media.

    La matriz de covarianza se puede calcular como S = TTT y la descomposición del vector propio de S viene dada por

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

    Sin embargo, TTT es una matriz grande, por el contrario, si observamos la descomposición de valores propios de

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

    Si luego premultiplicamos ambos lados de la ecuación por T, encontramos que

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

    Lo que significa que, si ui es un vector propio de TTT, entonces vi = Tui es un vector propio de S.

    Si tenemos un conjunto de entrenamiento de 300 imágenes de 100 × 100 píxeles, la matriz TTT es una matriz de 300 × 300, que es mucho más manejable que la matriz de 10.000 × 10.000 covarianzas.

    Nótese, sin embargo, que los vectores vi resultantes no están normalizados; Como proceso adicional, se puede utilizar la normalización si es necesario.

    Sea X la d\times n matriz de datos con columna x_{i} como el vector de imagen con la media restada.

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

    Suponiendo que X tiene un SVD, podemos escribirlo como:

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

    Entonces, la descomposición del valor propio es XX^{T} :

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

    , donde Λ=diag (valores propios de XX^{T} )

    Como resultado, está claro como el día que:

    Las caras propias = las primeras k k\leq n () columnas de U asociadas con los valores singulares distintos de cero.

    El i-ésimo valor propio de XX^{T}={\frac {1}{n}}( i-ésimo valor singular de X)^{2}

    Al realizar SVD en la matriz de datos X, no se requiere la matriz de covarianza real para obtener caras propias.

    El desarrollo de las caras propias fue estimulado por la necesidad de mejorar la identificación facial. En comparación con los métodos alternativos, las caras propias funcionan mejor debido a la velocidad y eficiencia del sistema. Debido al enfoque de eigenface en la reducción de dimensiones, se puede representar un gran número de sujetos utilizando una pequeña cantidad de información. También es bastante robusto como sistema de reconocimiento facial cuando las fotos se reducen drásticamente; Sin embargo, comienza a fallar dramáticamente cuando hay una gran diferencia entre las imágenes observadas y la imagen de la sonda.

    Reconocimiento facial, Las imágenes de la galería del sistema están representadas por conjuntos de pesos que caracterizan la importancia relativa de cada cara propia en la construcción de esa imagen.

    Cuando se agrega una nueva cara a la base de datos para su análisis, el sistema, la imagen se proyecta en el conjunto de caras propias para determinar sus propios valores propios.

    Esto nos da una colección de valores que caracterizan el frente de la sonda.

    Los pesos de los conjuntos de la galería se comparan con estos para determinar

    ¿Disfrutas la vista previa?
    Página 1 de 1