Pregunta

Puede alguien todas las diferentes técnicas utilizadas en la detección de rostros? Techhniques como redes neuronales, máquinas de vectores soporte, Eigenfaces, etc.

Lo que otros están allí? Gracias.

¿Fue útil?

Solución

la técnica que voy a hablar es más una máquina de aprendizaje enfoque orientado; en mi opinión no es muy fascinante, aunque muy reciente: se describe en el artículo "robusta en tiempo real Detección de la cara" por Viola y Jones. He utilizado la aplicación OpenCV para un proyecto universitario.

Se basa en Haar características similares, que consiste en sumas y restas de intensidades de los píxeles dentro de las regiones rectangulares de la imagen. Esto se puede hacer muy rápidamente mediante un procedimiento llamado de imagen integral, para lo cual también existen implementaciones GPGPU (a veces se les llama "prefijo de exploración"). Después de imagen integral de computación en tiempo lineal, cualquier característica Haar-como se puede evaluar en tiempo constante. Una característica es básicamente una función que toma una sub-ventana de la imagen S 24x24 y calcula una función de valor (S); un triplete (función, umbral, polaridad) se llama un clasificador débil, porque

polaridad * La línea de (S)

es válido en ciertas imágenes y falsa en otros; Se espera que un clasificador débil para llevar a cabo sólo un poco mejor que la conjetura al azar (por ejemplo, debe tener una precisión de al menos 51-52%).

Polaridad es o bien -1 o +1.

espacio de características es grande (~ 160'000 características), pero finito.

A pesar de umbral podría en principio ser cualquier número, desde simples consideraciones en el set de la formación resulta que si hay N ejemplos, solamente N + 1 umbral para cada polaridad y para cada función tienen que ser examinados con el fin de encontrar la uno que tiene la mejor precisión. La mejor clasificador débil por lo tanto se puede encontrar mediante la búsqueda exhaustiva del espacio de trillizos.

Básicamente, un fuerte clasificador se puede montar de forma iterativa por la elección de la mejor clasificador débil posible, usando un algoritmo llamado "adaptativo impulsar", o AdaBoost; en cada iteración, los ejemplos que fueron mal clasificados en la iteración anterior se pesan más. La fuerte clasificador se caracteriza por su propio umbral global, calculada por AdaBoost.

varios clasificadores fuertes se combinan como etapas en una cascada de atención; La idea detrás de la cascada de atención es que los 24x24 sub-ventanas que, obviamente, no son caras se descartan en las primeras etapas; una fuerte clasificador por lo general contiene sólo unos pocos clasificadores débiles (como 30 o 40), por lo tanto, es muy rápido de calcular. Cada etapa debe tener una muy alta recuperación, mientras que la tasa de falsos positivos no es muy importante. si hay 10 etapas cada uno con 0,99 recuerdo y 0,3 tasa de falsos positivos, la cascada final tendrá 0,9 recuerdo y tasa de falsos positivos extremadamente bajo. Por esta razón, fuerte clasificador están adaptadas generalmente con el fin de aumentar el recuerdo y la tasa de falsos positivos. Tuning, básicamente, consiste en reducir el umbral mundial calculado por AdaBoost.

A sub-ventana que hace que sea camino hasta el final de la cascada se considera una cara.

varias sub-ventana en la imagen inicial, con el tiempo la superposición, con el tiempo después de cambiar la escala de la imagen, debe ser probado.

adiós, es de esperar que era interesante; -)

Darío

Otros consejos

Un emergiendo pero enfoque bastante eficaz a la amplia clase de problemas de la visión, incluyendo la detección de caras, es el uso de Hierarchical temporal de memoria (HTM) , un concepto / tecnología desarrollada por Numenta .

muy hablando en términos generales, se trata de una neuralnetwork-como enfoque. Este tipo de red tiene una forma de árbol en el que el número de nodos disminuye significativamente en cada nivel. modelos HTM algunas de las propiedades estructurales y algorítmicos del neocórtex. En [posible] de salida con el neocórtex el algoritmo de clasificación aplicado en el nivel de cada nodo utiliza un algoritmo Bayesiano. HTM modelo se basa en la teoría de la memoria-predicción de la función cerebral y se basa principalmente en la la naturaleza temporal de las entradas; esto puede explicar su capacidad para hacer frente a problemas de la vista, ya que estos suelen ser temporales (o se pueden hacer así) y también requieren tolerancia para el ruido y la "falta de claridad".

Mientras Numemta ha producido kits de visión y de demostración de aplicaciones desde hace algún tiempo, vitamina D producido recientemente -Creo -. la primera aplicación comercial de la tecnología HTM al menos en el ámbito de las aplicaciones de visión

Si lo necesita no sólo como materia teórica, pero que realmente quiere hacer la detección de rostros, entonces recomiendo a encontrar soluciones ya implementadas.

Hay bibliotecas probado un montón de idiomas diferentes y que son ampliamente utilizados para este propósito. Vistazo a este hilo SO para obtener más información:. cara biblioteca reconocimiento

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top