Web-app voor analyse van personenattributen op reComputer R + Hailo-8
Een edge-systeem voor analyse van personenattributen op basis van Hailo-8 / Person Attribute.

U kunt de broncode van dit project bekijken op GitHub: https://github.com/doublelf/People_Aattribute_flow
Gebruikt YOLOv8n-personendetectie en Person-Attribute-ResNet-attribuutherkenning voor offline-videoanalyse op de reComputer R, met real-time weergave en statistieken in de browser. Het project ondersteunt real-time telling en cumulatieve analyse per geslacht en vier leeftijdscategorieën.
Snel starten
1. Code klonen
git clone https://github.com/doublelf/People_Aattribute_flow.git
cd People_Aattribute_flow2. Voor lokale debugging
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt3. Image bouwen
docker build -t perview:latest .4. Eén-klik-start
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:latestParameterbeschrijving regel voor regel:
| Regel | Functie |
|---|---|
--rm --privileged | container wordt automatisch opgeruimd bij afsluiten en krijgt alle apparaatrechten (vereist voor Hailo PCIe) |
--net=host | gebruikt direct het hostnetwerk, geen -p-poortmapping nodig, eenvoudiger toegang |
-e VIDEO_PATH=/app/video/a1-1.mp4 | standaardpad van de invoervideo (vanuit de container) |
--device /dev/hailo0:/dev/hailo0 | het Hailo-8-apparaat doorgeven aan de container |
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro | HailoRT-runtimebibliotheek van de host in de container mounten (alleen-lezen) |
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro | idem, compatibiliteit via symbolische koppeling |
-v /home/seeed/perview/app:/app/app:ro | lokale broncode overschrijft de in de image gebakken code, na het wijzigen van Python-bestanden is alleen een herstart van de container nodig (alleen-lezen, om te voorkomen dat de container per ongeluk naar de host schrijft) |
-v /home/seeed/perview/detection:/app/detection:ro | idem, overschrijft de detectiemodule |
-v /home/seeed/perview/workspace:/app/workspace | persistent gemaakte prerendered artefacten en uploads (lezen/schrijven) |
-v /home/seeed/perview/video/:/app/video:ro | mount de directory met je video's in de container (alleen-lezen) |
Na het starten van de container begint automatisch het prerenderen van a1-1.mp4 (circa 1 minuut, bij 1080p ongeveer 4–6 fps verwerkingssnelheid, afhankelijk van de scènedichtheid).
5. Webinterface openen
Open in de browser:
http://<board_ip>:8000/
Nadat de startpagina is geladen, zie je links een geannoteerde videospeler en rechts een Chart.js-realtime-dashboard (huidig aantal personen, geslachtsverhouding, leeftijdsverdeling in vier categorieën, cumulatieve statistieken).
De standaardvideo
/home/seeed/perview/video/a1-1.mp4wordt al meegeleverd met de repository. Plaats een eigen video en pas-e VIDEO_PATHdienovereenkomstig aan.