¿El reconocimiento facial basado en CNN todavía se clasificaría correctamente si la imagen facial presentada está al revés?

Creo que esta no es una pregunta de sí / no; Prefiero reformular la pregunta en “¿cómo clasificaría correctamente un sistema de reconocimiento facial basado en CNN si la imagen facial se presentara al revés?”

La otra respuesta tiene una visión significativa, así que comencemos con eso: si el conjunto de entrenamiento tuviera imágenes al revés (o caras en orientación inusual en general) esperaríamos que pueda reconocer caras independientemente de la orientación. De hecho, en la mayoría de los esquemas de capacitación de CNN, las personas usan el aumento de datos para hacer que su modelo sea robusto contra la orientación, la traducción y también la iluminación; es decir, generan pequeñas variaciones a partir de los datos de entrenamiento inicial y los agregan al conjunto de entrenamiento para hacerlo “más rico”. Por lo tanto, la pregunta es qué tan aumentados están sus datos de entrenamiento.

Otra cosa a considerar podría ser el uso de Redes de Transformador Espacial (STN) (pdf), que es básicamente un módulo que puede aprender la transformación afín / proyectiva sin supervisión adicional. Entonces, si se aplica correctamente, básicamente aprende cómo transformar sus imágenes o mapas de activación (dependiendo de dónde coloque el módulo en su arquitectura), y en teoría su CNN puede volverse robusto frente a diferentes orientaciones.

Una forma menos científica / más orientada a la ingeniería sería implementar su propio módulo de aprendizaje no profundo para calcular manualmente la rotación en función de características fáciles de extraer (por ejemplo, ubicación de los ojos + ubicación de la boca o nariz) y usarlas para calcule la deformación (180 grados en su caso) y ajuste la imagen a una orientación canónica (y céntrela mientras está en ella) antes de alimentarla a la CNN.

También tenga en cuenta que esta no es una lista exhaustiva, y que otros pueden (y probablemente ya lo hayan hecho) encontrar otras formas de hacer que los sistemas de reconocimiento facial sean invariables contra la orientación.

CNN es un término genérico, hay implementaciones de CNN que son invariantes a la rotación y se utilizan en un amplio conjunto de aplicaciones como la detección de galaxias en astronomía, sin embargo, otras implementaciones comunes de CNN no son invariantes a la rotación y dependen de la existencia de muestras rotadas en el conjunto de datos, por lo que la respuesta a su pregunta podría ser un sí o un no dada su arquitectura CNN y las muestras del conjunto de datos.

Desde mi propia experiencia y comprensión limitadas, es dudoso que una CNN clasifique correctamente las imágenes dadas al revés. Considere que una CNN clasifica según los datos de su conjunto de entrenamiento. Si no hay caras al revés en su conjunto de entrenamiento (lo cual es probable, ¿por qué habría de todos modos?), Entonces lo más parecido a la imagen dada probablemente sea incorrecto.

More Interesting

¿Cuál es la diferencia entre un sistema experto y el aprendizaje automático?

¿Cuál es su opinión sobre el lenguaje de programación Julia?

¿Cómo se puede aplicar RL (método de gradiente de política) al problema de selección de subconjunto, donde cada prueba consiste en seleccionar un subconjunto de elementos de un conjunto más grande?

¿Qué deparará el futuro para los desarrolladores en la era del aprendizaje profundo y la IA? ¿Cuáles serán las tendencias y cómo sobrevivirán los desarrolladores?

Cuando se estandarizan los datos como un paso de preprocesamiento, ¿por qué se usa la media y la varianza utilizadas en el tiempo del tren también en el momento de la prueba?

Cómo implementar Inteligencia Artificial en un Proyecto Arduino

¿Podría la red neuronal de convolución completa aprender a discriminar entre clases si no hay muestreo descendente y la entrada es igual a salida?

Cómo estructurar sus proyectos de aprendizaje automático

¿Podemos usar GridSearchCV () en CountVectorizer () cuando usamos modelos scikit-learn en datos de texto, o la búsqueda en cuadrícula solo se puede ejecutar en los modelos predictivos?

¿Por qué debería uno aprender el aprendizaje automático desde cero en lugar de aprender a usar las bibliotecas disponibles?

¿Cambridge o Stanford / Berkeley son mejores en aprendizaje automático?

¿Cuáles son los principales enfoques de la inteligencia artificial?

¿Cómo funciona el aprendizaje profundo en tiempo real?

¿El procesamiento del lenguaje natural reemplaza la búsqueda elástica?

¿Cómo funcionan las redes neuronales convolucionales?