Considérons plusieurs solutions conjointes de l'intégrateur russe Larga Group et des développeurs de systÚmes d'analyse vidéo objet, ComBox Technology .
TĂąche:
- Mise en place de compteurs passagers sur les bus pour contrÎler le nombre de billets vendus et pour obtenir des statistiques sur la congestion des transports dans le cadre de l'itinéraire.
- ContrÎle du conducteur (détection du tabagisme et utilisation des téléphones portables).
Termes:
- Inférence des réseaux de neurones et exécution d'analyses «à la périphérie» pour minimiser le trafic et en raison de l'instabilité et du coût élevé des canaux de communication.
- Possibilité d'utilisation conjointe et séparée de différents détecteurs (évolutivité).
- Transmission de données pour un traitement ultérieur via des canaux de communication mobiles.
Comme solution, nous avons opté pour l'AAEON VPC-3350S, car cet appareil présente les caractéristiques suivantes qui sont importantes pour nous:
- Module LTE intégré.
- VPU extensible avec l'accélérateur Intel MyriadX.
- Intel HD Graphics 500 intégré qui peut utiliser des décodeurs et des encodeurs matériels pour traiter les flux vidéo.
- Plusieurs ports LAN pour une connexion directe des caméras réseau sans avoir besoin d'installer un commutateur.
- Large plage de températures de fonctionnement (-20 + 70).
AAEON VPC-3350S
Considérons le premier cas d'application séparée des détecteurs. Dans le domaine du covoiturage, des sanctions sont déjà envisagées sous forme d'amendes pour fumer dans les salons de voitures louées. Le montant de l'amende varie de 5 à 15 mille roubles selon l'entreprise. Par rapport à l'analyse vidéo d'objets et aux capteurs de détection de fumée, les capteurs ne captent pas les vapeurs et autres dispositifs pour fumer des mélanges, et sont également pratiquement insensibles lorsque les vitres de la voiture sont ouvertes. Mais cela ne nie pas le fait de la violation et, par conséquent, la sanction légale sous la forme d'une amende conformément au contrat.
De plus, plusieurs rĂ©seaux de neurones peuvent ĂȘtre appliquĂ©s en cascade (sĂ©quentiellement) dans le transport, comme la dĂ©tection du tabagisme et la dĂ©tection du fait / de l'heure d'utilisation d'un tĂ©lĂ©phone mobile. Il est clair que de tels systĂšmes devraient ĂȘtre mis Ă l'Ă©chelle, par exemple, avec l'intĂ©gration de la tĂ©lĂ©matique et la connexion au bus CAN de la voiture pour suivre l'utilisation des tĂ©lĂ©phones uniquement lorsque le vĂ©hicule est en mouvement, mais ce sont dĂ©jĂ des dĂ©tails d'intĂ©gration.
Un exemple illustratif de ce que nous détectons spécifiquement et de ce que nous obtenons en conséquence:
Démonstration sur des bots dans Telegram (entrée - une image d'une caméra de smartphone ou d'une galerie, sortie - probabilité):
Plus précisément, notre version de l'AAEON VPC-3350S est équipée d'un processeur Intel Atom x5 E3940. Si nécessaire, vous pouvez en outre installer des cartes d'extension avec Intel MyriadX et transférer l'inférence des réseaux neuronaux vers VPU sans aucune modification significative, puisque le framework Intel OpenVINO est utilisé.
Examinons la vitesse d'inférence (FP16) sur divers appareils, y compris le processeur, l'iGPU (Intel HD) AAEON VPC-3350, le VPU Intel Movidius et les solutions d'autres fabricants:
Vitesse d'inférence (FP16) sur divers appareils, y compris CPU, iGPU (Intel HD) AAEON VPC -3350, VPU Intel Movidius et solutions tierces
Ainsi, sur les graphiques iGPU du processeur Intel Atom x5 E3940, nous obtenons 54 FPS, et complétant le périphérique Intel Movidius VPU - un autre 45 FPS. Pour détecter le tabagisme, 15 FPS / caméra suffisent, ce qui permettra de traiter jusqu'à 3 threads sur un processeur graphique. Il convient également de garder à l'esprit qu'en plus d'allouer et d'utiliser des ressources pour l'inférence, il est nécessaire de décoder le flux RTSP entrant. Regardons
les tests du décodeur: Test du décodeur AAEON VPC 3350
à la charge maximale du processeur et des graphiques, nous décodons 30 flux 720p à 15 FPS, c'est-à -dire que nous obtenons 450 images pour 720p. Pour 1080p, cela représente environ 150 images.
Considérez la composition du kit à utiliser en covoiturage et les principales étapes du traitement des données:
- La voiture est équipée de caméras IP alimentées par Ethernet, PoE (une pour le conducteur ou deux: conducteur, passager).
- , AAEON NVR 3350.
- .
- .
- ( ). . , , 50%, ( ).
- /.
- (10 ), . :
- ,
- .
- identifiant du véhicule (GUID statique)
- numéro de caméra (0, 1)
- type d'événement
- Les données d'événement lors de la disponibilité de la 3G / LTE sont transmises au serveur central de traitement des données avec intégration avec le systÚme d'information existant de covoiturage pour les opérations de facturation.
Revenons au deuxiÚme cas d'utilisation de l'AAEON VPC-3350S - détection et comptage des passagers dans les bus:
étapes de travail effectuées:
- Travaux préparatoires (test des caméras, choix d'une focale, définition des conditions aux limites du problÚme):
- Marquage de 600 images de plusieurs caméras avec différentes longueurs focales
- Formation au réseau neuronal sur le GPU nVidia, 10 000 pas
- Tester un modÚle par rapport à un ensemble de données de validation
- Conversion d'un modĂšle en Intel OpenVINO
- Test du modÚle résultant dans Intel OpenVINO à l'aide d'un ensemble de données de validation, comparant la qualité et la vitesse avec le modÚle avant la conversion
- , (, CPU, VPU)
- ( + )
- , 20 .
- nVidia GPU
- OpenVINO
- :
- gstreamer/ffserver
- (, , , )
- mongoDB/PostgreSQL
- REST API
- « »
Directement, le processus d'apprentissage:
Interface du compte personnel du Groupe Larga pour les clients avec affichage des rapports sur le trafic passagers: Interface du compte personnel du Groupe Larga pour les clients avec affichage des rapports sur le trafic passagers
Compte personnel pour les clients avec affichage de rapports sur le trafic passagers
Le processus de détection de personnes dans la zone d'entrée de bus et le marquage des zones
Compteur algorithme de fonctionnement:
- DĂ©couper un flux RTSP en images
- DĂ©tection de la tĂȘte sur chaque image
- Analyse de trajectoire (garder la tĂȘte dans le cadre tout en se dĂ©plaçant)
- Analyse de la direction du mouvement basée sur la séquence d'intersection de 3 zones pré-marquées
- Enregistrement des événements dans la base de données locale, en tenant compte du sens du mouvement (entrée / sortie)
- Fournir un accĂšs via l'API REST aux systĂšmes d'information et de reporting tiers
Puisqu'au départ une solution hybride pour l'inférence des réseaux de neurones (bord et traitement d'une partie des données dans le centre de données) était supposée, nous considérerons les avantages et les inconvénients des deux approches:
Ainsi, nous obtenons le coût minimum du flux dans le centre de données avec un traitement centralisé, mais des exigences élevées pour la disponibilité de canaux rapides et de haute qualité la communication. Pour les solutions de périphérie - un coût plus élevé, mais des exigences minimales pour les canaux de communication et aucune exigence pour leur réservation.