Réseaux de neurones gardant les règles de circulation



Les violations des règles de la circulation (SDA) par les conducteurs comportent des risques opérationnels, de réputation et juridiques pour les organisations.



Auparavant, les enregistrements vidéo des véhicules officiels étaient analysés pour identifier les violations. Il s'agit d'un processus de routine et de temps, car de très gros volumes de vidéo ont été traités manuellement. Il a été décidé d'automatiser ce processus et de créer un modèle de détection des infractions au code de la route pour former une sélection vidéo orientée risque.



Tout d'abord, il a été décidé de rechercher des infractions au code de la route telles que le franchissement d'une double ligne continue et la conduite à un feu rouge.



Pour la segmentation d'images et la détection des marquages ​​routiers, un réseau neuronal convolutif de l'architecture U-Net a été utilisé. Cette architecture est une séquence de couches de convolution et de regroupement, qui réduisent d'abord la résolution spatiale de l'image, puis l'augmentent, après avoir préalablement combiné les images avec les données et les avoir passées à travers d'autres couches de convolution.



Pour entraîner le modèle, un jeu de données d'entraînement était nécessaire. Malheureusement, tous les ensembles de données trouvés en libre accès se composaient de photographies de routes non russes. Les résultats de la formation du modèle sur les routes étrangères ont été décevants: le modèle a souvent simplement refusé de percevoir nos marquages ​​routiers nationaux comme des marquages. Par conséquent, il a été décidé de commencer à créer un échantillon d'apprentissage de manière indépendante. Environ 1 500 captures d'écran ont été extraites de la vidéo des enregistreurs et la plate-forme a été marquée dessus à l'aide du service Supervise.ly (Fig. 1).







Le modèle formé sur un tel ensemble de données est devenu capable de reconnaître les marquages ​​routiers sur nos vidéos à partir d'enregistreurs. Le réseau de neurones trouve des lignes pleines sur la vidéo et, si elles contiennent au moins un nombre prédéterminé de pixels (afin que les lignes aléatoires, discontinues ou non pleines ne soient pas prises en compte), les rapproche en une ligne droite, que notre voiture ne devrait plus traverser.







La figure 2 montre comment fonctionne U-Net: au-dessus se trouve l'enregistrement original du pare-brise, ci-dessous un exemple du réseau neuronal, où les zones vertes sont le masque de marquage routier et les fines lignes rouges sont l'approximation des marques de ligne.



Le modèle s'est très bien montré dans le traitement de la plupart des vidéos des enregistreurs, mais il convient de noter que des difficultés sont survenues lors de l'analyse d'une route enneigée ou d'une vidéo tournée dans l'obscurité - dans certains cas, les marques ne sont tout simplement pas visibles.



Pour déterminer la présence de feux de signalisation et de voitures, un réseau neuronal pré-entraîné Darknet + Yolo v3 a été utilisé. Ce réseau de neurones est une version améliorée de l'architecture YOLO, qui signifie You Only Look Once. La principale caractéristique de YOLO v3 est qu'il dispose de trois couches de sortie, chacune étant conçue pour détecter des objets de différentes tailles.



La principale caractéristique de cette architecture par rapport aux autres est que la plupart des systèmes appliquent le réseau neuronal plusieurs fois à différentes parties de l'image, tandis que dans YOLO le réseau neuronal est appliqué à l'image entière en une seule fois. Le réseau divise l'image en une sorte de grille et prédit les cadres de délimitation (parallélépipèdes, délimitation des objets trouvés) et la probabilité qu'il y ait ces objets désirés pour chaque zone.



Les avantages de cette approche sont que lors de la visualisation de l'image entière, YOLO prend en compte le contexte de l'image lors de la détection et de la reconnaissance d'un objet. YOLO présente également des avantages évidents en termes de performances: il est mille fois plus rapide que R-CNN et plusieurs centaines de fois plus rapide que Fast R-CNN.







Un exemple de fonctionnement YOLO est montré sur la figure 3. L'analyse d'image est effectuée image par image, tous les feux rouges trouvés sont correctement détectés par le réseau neuronal.



La formation de deux réseaux de neurones entiers nécessite un ordinateur suffisamment puissant, notamment en termes de carte vidéo, car Les calculs GPU sont utilisés. Nous avons utilisé un processeur Core i7 de huitième génération, une carte graphique nvidia gtx1080 et 32 ​​Go de RAM. De telles caractéristiques du système étaient bien suffisantes pour la mise en œuvre du projet.



Sur la base des résultats de l'utilisation de modèles de détection des infractions au code de la route, nous pouvons dire que ce projet a été un succès. L'entrée du script était une vidéo de l'auto-enregistreur pendant un mois d'une durée totale de 7 heures 11 minutes, le temps d'inférence du modèle (traitement des vidéos entrantes) était de 25 minutes. A l'issue du traitement de l'ensemble des fichiers vidéo, 112 fragments de 8 secondes chacun (15 minutes au total) ont été coupés, dont près de 7 heures ont été économisées, les violations ont été facilement identifiées.

Vous pouvez envoyer vos questions à l' adresse e-mail .



All Articles