William Zhang2026-09-20

Aplicación web de análisis de flujo de atributos de personas en reComputer R + Hailo-8

Análisis de vídeo sin conexión en el reComputer R mediante detección de personas YOLOv8n y reconocimiento de atributos Person Attribute ResNet, con reproducción en tiempo real y estadísticas en el navegador. El proyecto admite el conteo en tiempo real y el análisis acumulado por género y cuatro tramos de edad.

Person AttributePeople CountingYOLOEdge AICVGitHub

Aplicación web de análisis de flujo de atributos de personas en reComputer R + Hailo-8

Sistema de análisis de atributos de personas en el dispositivo basado en Hailo-8 / Person Attribute.

Puedes consultar el código fuente de este proyecto en GitHub: https://github.com/doublelf/People_Aattribute_flow

Utiliza detección de personas YOLOv8n + reconocimiento de atributos Person Attribute ResNet para el análisis de vídeo sin conexión en el reComputer R, con reproducción en tiempo real y estadísticas en el navegador. El proyecto admite el conteo en tiempo real y el análisis acumulado por género y cuatro tramos de edad.

Inicio rápido

1. Clonar el código

bash
git clone https://github.com/doublelf/People_Aattribute_flow.git
cd People_Aattribute_flow

2. Para depuración local

bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

3. Construir la imagen

bash
docker build -t perview:latest .

4. Inicio con un solo clic

bash
sudo docker run --rm --privileged --net=host \
  -e VIDEO_PATH=/app/video/a1-1.mp4 \
  --device /dev/hailo0:/dev/hailo0 \
  -v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
  -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
  -v /home/seeed/perview/app:/app/app:ro \
  -v /home/seeed/perview/detection:/app/detection:ro \
  -v /home/seeed/perview/workspace:/app/workspace \
  -v /home/seeed/perview/video/:/app/video:ro \
  perview:latest

Descripción de parámetros línea por línea:

LíneaFunción
--rm --privilegedel contenedor se limpia automáticamente al salir y obtiene todos los permisos de dispositivo (Hailo PCIe lo necesita)
--net=hostusa directamente la red del host, no requiere mapeo de puertos -p, simplifica el acceso
-e VIDEO_PATH=/app/video/a1-1.mp4ruta de vídeo de entrada por defecto (vista del contenedor)
--device /dev/hailo0:/dev/hailo0pasa el dispositivo Hailo-8 al contenedor
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:romonta la biblioteca de tiempo de ejecución HailoRT del host en el contenedor (solo lectura)
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:roigual que arriba, compatibilidad de enlace simbólico
-v /home/seeed/perview/app:/app/app:roel código fuente local sobrescribe el código baked de la imagen, basta con reiniciar el contenedor para que los cambios en archivos Python surtan efecto (solo lectura, para evitar que el contenedor escriba en el host por error)
-v /home/seeed/perview/detection:/app/detection:roigual que arriba, sobrescribe el módulo de detección
-v /home/seeed/perview/workspace:/app/workspacepersiste los artefactos prerenderizados y los archivos subidos (lectura/escritura)
-v /home/seeed/perview/video/:/app/video:romonta en el contenedor el directorio donde guardas los vídeos (solo lectura)

Una vez iniciado el contenedor, comienza automáticamente el prerenderizado de a1-1.mp4 (aproximadamente 1 minuto, a 1080p alrededor de 4–6 fps de velocidad de procesado, dependiendo de la densidad de la escena).

5. Acceder a la Web UI

Abre en el navegador:

http://<board_ip>:8000/

Tras cargar la página principal, a la izquierda hay un reproductor de vídeo anotado y a la derecha un panel en tiempo real con Chart.js (número actual de personas, proporción de género, distribución de edad en cuatro tramos, estadísticas acumuladas).

El vídeo por defecto /home/seeed/perview/video/a1-1.mp4 se incluye con el repositorio. Tras colocar cualquier vídeo personalizado, modifica -e VIDEO_PATH según corresponda.