Detección de personas

La detección de personas ha sido un tema muy relevante tanto en visión por computador como en los medios, y pertenece a la misma categoría que Object Detection. Esta breve documentación te ayudará a detectar posiciones de personas y contarlas cuando entren o salgan de un área.

circle-info

Necesitarás instalar los módulos de IA y contar con un equipo con GPU para completar este tutorial. Consulta la guía de instalación.

Un caso simple de detección de personas puede probarse con un escenario como el siguiente:

![](../../../.assets/gitbook/image (17).png)

Para este ejemplo usaremos los bloques Video, Object Detection y Show Image en AugeLab Studio. Puedes arrastrar y soltar estos bloques desde la sección Blocks o hacer doble clic en el área vacía del escenario y escribir su nombre.

Haz clic en el botón Select Video File en el bloque Video y elige footage.mp4 dentro de la carpeta example images.

Desactiva la opción Real-time en el bloque Video, ya que queremos procesar cada fotograma con Object Detection.

En el bloque Object Detection, selecciona Human en la caja de selección de clases de detección. Mueve el deslizador de confianza (confidence threshold) hasta 50%.

Presiona F5 o ve a Window->Run->Run One Step y deberías ver una escena similar a esta:

![](../../../.assets/gitbook/image (18).png)

Probablemente verás varias detecciones de personas en el video. Sin embargo, queremos contar cuántas personas entran o salen del área de la cámara. Para eso utilizaremos el bloque Check Area:

![](../../../.assets/gitbook/image (20).png)

Conecta los sockets como se muestra en la figura anterior, ejecuta el escenario por un paso y dibuja el área de detección dentro del bloque Check Area.

Al ejecutar el escenario actual se contará cuántos objetos están dentro del rectángulo dibujado:

![](../../../.assets/gitbook/image (21).png)

Sin embargo, esto solo cuenta los objetos en el área en el momento actual; no conserva información sobre cuántas personas han pasado por el área en total. Para calcular eso, necesitamos crear la lógica siguiente:

![](../../../.assets/gitbook/image (22).png) (pulsa para ampliar)

La lógica anterior resta el número total de objetos detectados respecto al estado anterior usando el bloque Delay Step. Si hay una diferencia mayor que cero, la suma se actualiza y se guarda con el bloque Counter.

¡Listo! Ahora ejecuta este escenario con Ctrl+F5 o Window->Run->Run y podrás contar la cantidad de personas que pasan por un área determinada:

Última actualización