Saltar al contenido

Cascadas Haar vs. Cascadas LBP en Detección de Rostros

Mantén la atención ya que en este tutorial vas a encontrar la respuesta que buscas.Este escrito fue evaluado por nuestros especialistas para garantizar la calidad y exactitud de nuestro post.

LBP es más rápido (algunas veces más rápido) pero menos preciso. (10-20% menos que Haar).

Si desea detectar caras en un sistema integrado, LBP es la opción predeterminada, porque realiza sus cálculos en números enteros.

Haar usa flotantes para el procesamiento, que tienen un soporte más pobre en los procesadores integrados y móviles; como resultado, la penalización de rendimiento es significativa, lo suficientemente grande como para que su uso en teléfonos móviles no sea práctico.

Se puede entrenar una cascada LBP para que funcione de manera similar (o mejor) que la cascada Haar, pero lista para usar, la cascada Haar es aproximadamente 3 veces más lenta y, según sus datos, entre un 1 y un 2 % mejor para detectar con precisión la ubicación de una cara. Este aumento en la precisión es bastante significativo dado que la detección de rostros puede operar en un rango de precisión de más del 95 %.

A continuación se muestran algunos resultados al usar el conjunto de datos MUCT.

Se nota una detección correcta cuando hay al menos un 50% de superposición entre las coordenadas detectadas en tierra y OpenCV.

Cascade:haarcascade_frontalface_alt2.xml
Datafile:muct.csv
|---------------------------------------------------|
|   Hits  |  Misses  | False Detects  | Multi-hit   |
|  3635   |   55     |   63           |    5        |
|---------------------------------------------------|
Time:4m2.060s

contra:

Cascade:lbpcascade_frontalface.xml
Datafile:muct.csv
|---------------------------------------------------|
|   Hits  |  Misses  | False Detects  | Multi-hit   |
| 3569    |  106     |   77           |    3        |
|---------------------------------------------------|
Time:1m12.511s

Mi opinión personal es que debe buscar LBP para todas las tareas relacionadas con la detección simplemente porque el entrenamiento LBP puede llevar minutos, mientras que el entrenamiento HAAR puede llevar días para el mismo conjunto de datos y parámetros de entrenamiento.

La pregunta que ha realizado tendrá un rendimiento diferente según el tipo de cosa que se detecte, la configuración de entrenamiento y los parámetros utilizados durante la detección, así como los criterios para probar las cascadas.

La precisión de las cascadas HAAR y LBP depende de los conjuntos de datos (muestras positivas y negativas) utilizados para entrenarlos y los parámetros utilizados durante el entrenamiento.

según Lienhart et al, 2002, en el caso de la detección de rostros:

  • tu -numStages, -maxDepth y -maxWeakCount Los parámetros deben ser lo suficientemente altos para lograr el deseado -minHitRate y -maxFalseAlarmRate.
  • el entrenamiento basado en árboles es más preciso que el basado en tocones,
  • adaboost suave es preferible a adaboost discreto y real,
  • el tamaño mínimo de la muestra de capacitación es importante, pero aún no se ha realizado un estudio sistemático al respecto.

Además, las banderas utilizadas en detectMultiScale() producen un cambio drástico en la velocidad y la precisión en una configuración de hardware determinada.

para probar la cascada debe conformarse con un conjunto de datos y un método como la validación cruzada k-fold.

Te mostramos comentarios y valoraciones

Si para ti ha sido de ayuda este artículo, sería de mucha ayuda si lo compartieras con el resto programadores y nos ayudes a difundir nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *