William Zhang2026-09-20

Application web d'analyse du flux d'attributs des personnes sur reComputer R + Hailo-8

Analyse vidéo hors ligne sur le reComputer R combinant la détection de personnes YOLOv8n et la reconnaissance d'attributs Person Attribute ResNet, avec lecture en temps réel et statistiques dans le navigateur. Le projet prend en charge le comptage en temps réel et l'analyse cumulée par genre et par quatre tranches d'âge.

Person AttributePeople CountingYOLOEdge AICVGitHub

Application web d'analyse du flux d'attributs des personnes sur reComputer R + Hailo-8

Système embarqué d'analyse des attributs des personnes basé sur Hailo-8 / Person Attribute.

Vous pouvez consulter le code source de ce projet sur GitHub : https://github.com/doublelf/People_Aattribute_flow

Utilise la détection de personnes YOLOv8n + la reconnaissance d'attributs Person Attribute ResNet pour analyser des vidéos hors ligne sur le reComputer R, avec lecture en temps réel et statistiques dans le navigateur. Le projet prend en charge le comptage en temps réel et l'analyse cumulée par genre et par quatre tranches d'âge.

Démarrage rapide

1. Cloner le code

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

2. Pour le débogage local

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

3. Construire l'image

bash
docker build -t perview:latest .

4. Démarrage en un 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

Description des paramètres, ligne par ligne :

LigneRôle
--rm --privilegedle conteneur est nettoyé automatiquement à la sortie et obtient toutes les permissions sur les périphériques (Hailo PCIe l'exige)
--net=hostutilise directement le réseau de l'hôte, aucun mappage de port -p requis, accès simplifié
-e VIDEO_PATH=/app/video/a1-1.mp4chemin par défaut de la vidéo d'entrée (vue dans le conteneur)
--device /dev/hailo0:/dev/hailo0transmettre le périphérique Hailo-8 au conteneur
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:romonter la bibliothèque d'exécution HailoRT de l'hôte dans le conteneur (lecture seule)
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:roidem ci-dessus, compatibilité via lien symbolique
-v /home/seeed/perview/app:/app/app:role code source local écrase le code baked de l'image, après modification d'un fichier Python il suffit de redémarrer le conteneur (lecture seule, pour éviter que le conteneur n'écrive par erreur sur l'hôte)
-v /home/seeed/perview/detection:/app/detection:roidem ci-dessus, écrase le module de détection
-v /home/seeed/perview/workspace:/app/workspacepersiste les artefacts pré-rendus et les fichiers téléversés (lecture/écriture)
-v /home/seeed/perview/video/:/app/video:romonte dans le conteneur le répertoire où vous stockez vos vidéos (lecture seule)

Après le démarrage du conteneur, le pré-rendu de a1-1.mp4 démarre automatiquement (environ 1 minute, à 1080p environ 4–6 fps de traitement, selon la densité de la scène).

5. Accéder à l'UI Web

Ouvrir dans le navigateur :

http://<board_ip>:8000/

Une fois la page d'accueil chargée, à gauche se trouve un lecteur vidéo annoté, et à droite un tableau de bord temps réel en Chart.js (nombre actuel de personnes, proportion par genre, distribution par quatre tranches d'âge, statistiques cumulées).

La vidéo par défaut /home/seeed/perview/video/a1-1.mp4 est déjà fournie avec le dépôt. Après avoir placé une vidéo personnalisée, modifiez -e VIDEO_PATH en conséquence.