La vidéosurveillance est devenue une constante de notre environnement, au point qu’il semble que nous soyons observés partout et toujours, à des fins allant de la protection à la surveillance. Dans le premier registre, certaines entreprises spécialisées en computer vision cherchent à tirer parti de l’analyse de vidéos pour prévenir les accidents du travail sur les chantiers. Quelles sont les possibilités et les limites de cette application ?
Argos, le géant aux cent yeux de la mythologie grecque, serait-il devenu réalité ? Est-il plutôt espion ou protecteur ?
Sur la voie publique, elle est censée permettre de détecter les comportements délictueux à priori et d’identifier les auteurs d’infraction à posteriori. Dans les parkings, elle lit les plaques minéralogiques et dispense de l’utilisation de carte ou de badge. Sur les autoroutes, elle identifie et compte les véhicules puis moyenne leur vitesse sur une portion de trajet. Elle sait reconnaître les visages aussi, ce qui pose des questions éthiques en Europe où les données doivent être anonymisées. Dans les entreprises, elle joue un rôle ambivalent de contrôle et de protection, depuis la prévention des accidents sur les chantiers jusqu’à la mesure de fréquentation et à la dissuasion du vol dans les commerces. La vidéosurveillance - requalifiée en vidéoprotection dans les lieux publics - a envahi tous les espaces de notre vie, parfois même jusqu’à notre domicile. Cette impression désagréable d’être observé en permanence réveille en chacun d’entre nous le fantasme du panoptique et de Big Brother, d’autant que nous sommes filmés le plus souvent à notre insu, et lorsque nous repérons une caméra, nous ignorons tout de la destination des images.
Les entreprises spécialisées dans la vision artificielle (Computer Vision) voient l’envers du décor, ou plutôt le décor à l’envers. Elles sont confrontées aux limites et aux défis de l’exploitation automatisée du contenu de ces milliers d’heures de vidéos la plupart du temps dépourvues d’événements notables. Dans le cadre d’une mission pour l’une de ces entreprises, nous nous sommes intéressés à la vidéoprotection sur les chantiers du BTP. Comment détecter les équipements de protection individuels, les véhicules en stationnement dangereux ou en excès de vitesse ? Car 88 000 accidents du travail par an, dont 215 mortels, selon la CNAM (données 2019), c’est 88 000 de trop.
Quelle que soit l’application, la vision artificielle suppose d’acquérir des données grâce à des caméras judicieusement placées, de les prétraiter peu ou prou, puis de détecter les mouvements, classifier leur origine (personne, véhicule, objet) et effectuer des traitements différenciés (port d’EPI[1], reconnaissance faciale, lecture de plaque). L’étape suivante consiste à rapprocher le(s) mobile(s) détecté(s) entre eux et avec l’environnement (comptage, trajectoire, vitesse) afin d’effectuer des ré-identifications et d’en inférer des événements (franchissement de ligne, stationnement, proximité, cadence industrielle, contrôle qualité). Des alertes en temps réel sont relayées aux superviseurs humains, tandis que des résumés sont créés et indexés. L’interface peut ensuite éventuellement mettre à disposition un moteur de recherche d’événements et des analyses statistiques. La mise en place de cette chaîne de traitement a été grandement facilitée par l’avènement des communications sur IP, qui a permis à la plupart des entreprises du secteur de proposer des boxes qui centralisent les informations remontées par les différentes caméras implantées sur le chantier, effectuent un premier traitement sommaire puis un codage et les transmettent à une plateforme de ressources virtualisées qui effectue les calculs (figure 1). La différenciation des solutions se fait sur l’offre commerciale (caméras propriétaires, utilisation de l’existant ou combinaison des deux) et les deux facteurs clés de succès sont la rapidité d’installation et la rareté des faux positifs pendant le rodage de l’IA. Les deux champions du secteur sont Briefcam à l’échelle internationale et Aquilae en France.
Figure 1 : Exemple de réseau de détection comprenant des caméras CCTV et des caméras IP autour d’un enregistreur numérique NVRmini
Source : DiXys PRO
La reconnaissance d’objets (soit la localisation, la classification et éventuellement la segmentation d’un ensemble de pixels sur une image) peut être effectuée par superposition (template-based detection) ou par modélisation (model-based detection). Dans le premier cas, on cherche les groupes de pixels identiques en déplaçant l’image source sur les images cibles, pixel par pixel. Cette technique a été adaptée pour l’apprentissage profond, par exemple dans [Ulrich et al., 2009], mais elle n’est efficace que pour la recherche d’objets connus à l’avance et dont les caractéristiques sont très discriminantes par rapport à l’environnement. La vision artificielle par modélisation doit beaucoup à l’équipe de Rosh Girschick et aux deux méthodes qu’il a contribué à développer : la méthode des réseaux convolutifs[2] locaux à écran (Mask R-CNN) et YOLO (You Only Look Once)[3]. En laboratoire, le premier est plus lent (5 fps[4]) mais plus performant ; le second généralise presque aussi bien, mais surtout plus rapidement (45 fps voire 155 fps dans sa version légère). Aujourd’hui à sa cinquième version, YOLO dépasse également – pour l’instant - les méthodes par composants déformables (Deformable Parts Models).
Il existe à ce jour deux principales méthodes pour la réidentification des objets d’intérêt. La première, dite discriminative, consiste à effectuer la reconnaissance d’objets appris préalablement ou dynamiquement. La seconde, dit générative, consiste à l’inverse à détecter tout ce qui se démarque de l’environnement appris. Toutes deux doivent résoudre des problèmes liés aux faux positifs (vents / courants d’air, changements d’éclairage, objets venant définitivement modifier l’environnement), au traitement des ombres portées et à la déformation des objets, à quoi se sont employées différentes équipes avec des outils tels que les LSTM[5] et les filtres de Kalman, ou encore avec un GNN[6] à messages comme MPNTrack. Les encadrements (bounding boxes) des objets ainsi identifiés peuvent aussi être faits directement à partir de la détection de mouvements sur des vidéos. Les premières tentatives dans ce domaine sont dues à [Du et al., 2011] et reposent sur la détection séquentielle d’un visage par des caractéristiques de type Haar puis la recherche de l’EPI sur des critères colorimétriques. Cette étude est limitée aux images où les personnages apparaissent de face en champ proche. [Shrestha et «al., 2015] varie la méthode de détection du casque en utilisant le repérage de contour sur des sorties de CCTV[7] à haute résolution, présentant des ouvriers de face et des casques à contour semi-circulaire. On trouve un panorama de la détection de casque de chantier par des méthodes d’apprentissage profond dans [Arya et Ajith, 2020]. Elle a d’abord été réalisée par [Fang et al., 2018] à l’aide d’un Faster R-CNN à deux étages capable de reconnaître des dizaines d’objets et obtenant des résultats appréciables (précision et rappel supérieurs à 90%, sauf dans les cas où la tête est partiellement dissimulée), mais beaucoup trop lourd et lent (5 fps) pour une application embarquée. YOLO de Redmon et al. est une percée notable en matière de détection, qu’il envisage comme une régression simultanée sur les encadrements et la classe de l’objet éventuellement détecté par les cellules d’un quadrillage. L’algorithme a connu de nombreux avatars, décrits dans [Thuan, 2021]. YOLOv7 [Wang et al., 2022], se propose de flexibiliser les artifices (bag of freebies) habituellement utilisés pour faciliter la détection, en contrôlant la longueur du chemin gradient, en exploitant le reparamétrage sur une concaténation de modèles et la supervision profonde. Fin 2022, les résultats obtenus (AP[8] de 56,8% à 45 fps, jeu d’entraînement MS COCO exclusivement) surpassent les autres méthodes de l’état de l’art dans les conditions de laboratoire et atteignent des temps de réponse compatibles avec la production (> 30 fps). YOLOv8 (figure 2), construite à partir de la v5, est caractérisée – outre quelques améliorations mineures – par sa flexibilité et son extensibilité : elle est rétrocompatible avec toutes les versions antérieures, ce qui permet de comparer leurs performances pour différentes tâches spécifiques, et peut être exécutée sur de multiples plateformes matérielles.
Figure 2 : Architecture de YOLOv8 (mars 2023)
Source : RangeKing
Le suivi (tracking) suppose d’assigner des identifiants aux entités repérées par la détection et permet de déterminer les trajectoires de ces entités au cours du temps. Il s’agit donc essentiellement d’établir une correspondance entre les représentations d’images successives, voire une comparaison avec une prévision. C’est le cas notamment du suivi par hypothèses multiples (MHT, Multiple-Hypothesis Tracking) qui explore l’espace des trajectoires possibles pour chaque entité. L’explosion combinatoire le rendait peu adapté à une utilisation en temps réel, malgré les travaux de Kim et al. pour le mettre à jour avec les dernières techniques d’élagage. L’association par probabilités conjointes (JPDA, Joint Probabilistic Data Association) souffre du même défaut, qu’on a pareillement tenté de réduire cette fois à l’aide des récents progrès de l’optimisation linéaire en nombres entiers.
Le couplage de la détection d’image avec le suivi est mis en place dans [Park et Brilakis, 2016] et [Wojke et al., 2018]. Il suppose dans tous les cas l’initialisation par la détection, qui peut être réalisée par un CNN pré-entraîné à la réidentification des piétons. Dans le dernier article, le module de contrôle comprend non seulement une distance de Mahalanobis[9], mais aussi un descripteur d’apparence fondé sur la distance cosinus qui permet une réidentification après les masquages plus longs. Ce module permet une diminution importante (- 45%) du taux de permutations après masquage et un petit gain sur les trajectoires perdues (- 2,5%) pour une précision et un rappel comparables.
Enfin la lecture automatisée de plaques d’immatriculation (LAPI, ou ANPR pour Automatic Number Plate Recognition) repose sur des techniques de détection d’objets en mouvement portant un jeu de caractères qu’il s’agira de délimiter, de reconstituer et de lire à l’aide d’un module de reconnaissance de caractères (OCR, Optical Character Recognition). Connue des automobilistes ses applications à la verbalisation, elle nécessite en théorie des images prises à partir de caméras spécifiques (VPI, Visualisation de Plaques d’Immatriculation) dont la qualité doit être suffisante pour pallier les différences de pose et d’exposition liées aux cycles nycthéméraux, à la vitesse, au réfléchissement des plaques elles-mêmes et à la lumière des phares. En 2021, la plupart des VPI sont des caméras montées sur piquet de quatre mètres environ, constituées d’une ou deux caméras IP couleur dont le champ est illuminé par une ou plusieurs couronnes de projecteurs infrarouges (850 nanomètres environ).
Il est donc possible d’effectuer une détection statique ou dynamique, avec ou sans suivi dédié. La détection par encadrement est de loin le mécanisme le plus utilisé. Les réseaux de neurones convolutifs, bien que nécessitant des adaptations d’échelle, se taillent la part du lion lorsqu’il s’agit de reconnaissance statique, mais ils doivent être complétés par un traitement spécifique des occlusions et des superpositions. Contrairement à de nombreuses autres applications de l’apprentissage automatique, les réseaux de neurones de bout-en-bout n’obtiennent pas de succès spectaculaires en vision artificielle. À ce jour, seuls les transformateurs sont capables d’effectuer le suivi de plusieurs objets sur des temps longs sans saturer les ressources systèmes. Et nous n’avons pas encore abordé les caméras pivotantes ni les recalages multi-caméras …
[1] Équipement de Protection Individuel (masque, gants, casque, lunettes, chaussures de sécurité, etc.) [2] Les réseaux de neurones convolutifs (CNN : Convolutional Neural Networks) dégagent les formes présentes dans les images à différentes échelles par un traitement analogue à celui du cortex visuel, c’est-à-dire en appliquant une même fonction légèrement décalée pour chaque champ récepteur de façon à ce que ces derniers se chevauchent partiellement (fenêtre glissante). [3] Allusion à l’acronyme anglo-saxon « YOLO (You Only Live Once) » utilisée en langage SMS pour signifier qu’il faut profiter de la vie. L’idée est de carroyer l’image et d’effectuer une régression sur la totalité de la grille et la totalité des classes au lieu de traiter les cellules une par une. Lorsque le centre d’un cadre se trouve dans une cellule, celle-ci produit des probabilités de classes pour l’objet détecté et devient de ce fait un prédicteur spécialisé. YOLO généralise donc très bien, mais ne peut repérer qu’un nombre limité d’objets proches. [4] Fps ou frames per second : nombre d’images par seconde, unité de mesure de la qualité temporelle d’une vidéo. [5]Long Short-Term Memory : réseaux de neurones récurrents (bouclé) dont l’évolution suit une dynamique de court terme lors de la mise à jour des poids et une de long terme au fil des épisodes d’entraînement, ce qui permet de rapprocher des informations distantes l’une de l’autre. [6]Graph Neural Network : réseau de neurones à support graphe, dans lequel chaque nœud du graphe, à chaque pas de temps, met à jour sa représentation en agrégeant les messages en provenance de ses voisins. Les fonctions de mises à jour et de transfert de message sont des réseaux de neurones, et la fonction d’agrégation est équivariante (scalable et insensible aux permutations). Ces réseaux peuvent être convolutifs. [7] Closed-Circuit TeleVision : installation de vidéo-surveillance autonome, généralement au format CIF (352 x 288 px) ou VGA (640 x 480 px), d’abord mono-point et impliquant une présence humaine constante, puis le visionnage de cassettes magnétiques. [8] Average Precision : moyenne pour toutes les classes du ratio nombre d’identifications correctes/nombre total d’identifications. [9] La distance de Mahalanobis mesure l’écart entre un point et une distribution (« nombre d’écarts-types » entre un point et la moyenne d’une distribution dans un espace multi-dimensionnel, avec des variances différentes sur chaque axe).
Comments