Projet de comptage de véhicules

De Wiki de Mémoire Vive
Aller à la navigation Aller à la recherche

Il s'agit de traiter un flux vidéo de circulation routière, pour analyser les fréquences et les vitesses.

Les technologies mises en oeuvre :

- une caméra IP qui diffuse un flux RTSP

- un script Python qui analyse le flux vidéo, réalise le comptage, alimente une base de données influxDB de séries temporelles et restitue une page web (flask) du flux vidéo transformé, avec comptage et indication des vitesses

- un script Python qui analyse les données influxDB, crée un tableau de bord dash (10 dernières vitesses enregistrées, comptage de la veille, vitesse moyenne de la veille, nb de véhicules comptés depuis 0h)

- un script Python qui crée une page flask avec 2 histogrammes : un pour les passages par tranche horaire, l'autre sur la répartition des vitesses

- un reverse proxy pour le domaine comptage79.mooo.com (freedns) qui pointe sur la page flask

- un serveur proxmox, avec : un conteneur Debian pour les 2 scripts installés en services (systemctl), une VM pour le reverse proxy Apache, un conteneur pour la base influxDB

- un VPN paramétré sur Home Assistant permettant d'accéder au flux vidéo de la caméra ou à tout le réseau local

- un partage Samba pour modifier les scripts Python avec Notepad++ depuis une machine windows

- ChatGPT pour aider à la réalisation de tout ceci


https://comptage79.mooo.com/ qui pointe sur le tableau de bord

Avec le VPN,

http://192.168.1.32:8086 pour influxDB

https://192.168.1.90:8006 pour proxmox

http://192.168.1.39:8050/ pour la page dask (tableau de bord)

http://192.168.1.39:8051/ pour la page dask (histogrammes)

http://192.168.1.39:1789/ pour la page flask de comptage avec vidéo

La doc InfluxDB, https://docs.influxdata.com/flux/v0/get-started/

Pour aller plus loin :

- générer des graphiques pour le tableau de bord et ressortir les stats sur une semaine complète

- unifier l'accès aux pages web dans le cadre d'un site flask

- analyser d'autres objets : piétons, vélos, etc.

- élaborer un schéma général de l'architecture mise en oeuvre

- utiliser la technologie InfluxDB avec des données Home Assistant

- trouver d'autres opportunités de flux vidéo à traiter

- intégrer une gestion des logs