# 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](https://docs.augelab.com/spanish/proyectos-de-ejemplo/object-detection). Esta breve documentación te ayudará a detectar posiciones de personas y contarlas cuando entren o salgan de un área.

{% hint style="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](https://docs.augelab.com/spanish/interfaz-de-augelab-studio/external-features/module-downloader#installing-the-ai-bundle).
{% endhint %}

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](https://docs.augelab.com/spanish/function-blocks/blocks-reference/input-output/image-inputs/video), [Object Detection](https://docs.augelab.com/spanish/function-blocks/blocks-reference/ai-blocks/object-detection) y [Show Image](https://docs.augelab.com/spanish/function-blocks/blocks-reference/input-output/outputs-exports/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:

![](https://1490675745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F05D1CT7pajknL8HxF5RY%2Fuploads%2Fgit-blob-aa4ea240ed39904e15bebf65271adeaaa7906808%2Fezgif-1-653129d4da.gif?alt=media)
