Incidents associés
Début novembre 2023, j'ai reçu une amende. Selon la décision officielle, en tant que conducteur, j'avais tenu un appareil électrique mobile en conduisant à la mi-octobre. Les frais s'élevaient à 380 €, auxquels s'ajoutaient 9 € de frais administratifs. Cela a été un peu un choc, même si je ne m'en souvenais pas. Naturellement, j'étais curieux de connaître les preuves, j'ai donc recherché la photo qui l'accompagnait sur le site Internet de la CJIB (Agence Centrale de Recouvrement Judiciaire).

Sur la photo, vous pouvez voir que j'ai la main près de mon visage, mais je ne tiens rien dans la main. L'amende est donc injustifiée. Mon ticket est un "faux positif", nous en reparlerons plus tard. Bien sûr, j'ai déposé une objection, mais je n'ai pas encore de résultats. Cela peut prendre jusqu'à 26 semaines avant que l'opposition ne soit traitée.
Ce qui est bien avec cette photo, c'est que l'analyse d'une telle photo au flash est très proche de mon travail. Je crée moi-même des algorithmes qui éditent et analysent les images. Bien entendu, un tel algorithme est également à l’origine de l’évaluation des photos au flash, car tout cela ne se fait pas manuellement. Le reste de ce blog contient une analyse de ce qui a pu mal fonctionner avec l'algorithme de la police et de ce qui pourrait être amélioré.
Qu'est-ce qu'un faux positif ?
Il existe différents types de modèles dans le monde des algorithmes et des modèles. Les modèles dits de classification sont utilisés pour prendre des décisions ou attribuer des éléments à des catégories. Les nombres ou les pourcentages de probabilité sont calculés en arrière-plan, mais le résultat est converti en catégorie.
Voici quelques exemples de questions pour les modèles de classification : "Le cours de l'action monte-t-il ou baisse-t-il ?", "Y a-t-il plus de 2 buts marqués dans un match de football : oui ou non ?", "Quel véhicule est dans une image : un une voiture, un vélo ou un train ?"
Si un modèle doit prédire si quelque chose est « oui » ou « non », il peut bien sûr aussi arriver que le modèle soit erroné. Dans le cas de mon billet, le modèle indiquait que je tenais un téléphone, alors que ce n'est pas le cas. On parle alors de faux positif. Les 4 scénarios possibles sont présentés dans l'image ci-dessous (la matrice de confusion).

Un modèle parfait ne prédit que les vrais positifs et les vrais négatifs, mais une prédiction correcte à 100 % est rare. Parfois le nombre de faux négatifs doit être minimisé, parfois le nombre de faux positifs et parfois leur combinaison. Si le modèle vise principalement à traquer tous ceux qui devraient être condamnés à une amende, de nombreuses personnes peuvent également se voir infliger une amende injuste. Et vice versa bien sûr.
La Monocam
Mon collègue Maarten Ketelaars est récemment tombé sur un blog contenant une vidéo sur la plateforme d'analyse avancée de la police. La première minute de cette vidéo explique comment utiliser la Monocam, l'appareil photo qui m'a flashé. Voici un lien vers cette vidéo YouTube : La plateforme d'analyse avancée de la police - YouTube.
La vidéo explique qu'un algorithme détermine si quelqu'un tient un appareil mobile en conduisant. Un policier doit alors évaluer si une infraction a réellement été commise. Dans mon cas, l’algorithme disait que je tenais un appareil mobile en conduisant et le policier l’a accepté. Deux erreurs ont donc été commises ; une erreur d’algorithme et une erreur humaine.
Reproduction de l'algorithme utilisé
Avec mon collègue Tom van der Wielen, j'ai essayé de reproduire l'amende injustifiée. D’ailleurs, il est important de souligner que nous ne savons pas exactement quel algorithme est utilisé par la Monocam, mais ce sera similaire à ce que nous avons fait.
Nous avons utilisé un modèle YOLO pré-entraîné (version v8). YOLO, qui signifie You Only Look Once, est un algorithme de détection d'objets en temps réel. L'algorithme est capable de détecter les personnes et les appareils mobiles, permettant ainsi de retrouver les contrevenants potentiels de la route. En exécutant cet algorithme avec l’image en direct de la webcam, il est clairement visible que les personnes et les téléphones sont bien détectés. Mais dès que ma main vide se pose sur mon oreille, la vidéo montre également que l'algorithme peut simplement signaler la présence d'un téléphone. Ce n’est donc pas exact et c’est probablement aussi ce qui s’est passé avec l’algorithme de la police.
Pour comprendre comment un tel algorithme peut être amélioré, j'expliquerai brièvement comment un algorithme devient intelligent. Parce que ce n’est pas un algorithme en soi. Pour commencer, il doit exister un grand ensemble d’images dans lequel on sait quels objets sont visibles dans chaque image. Ce grand ensemble est divisé en deux ou trois groupes : un ensemble de formation, un ensemble de validation et un ensemble de tests.
La rame est utilisée pour apprendre à l'algorithme quels objets se trouvent sur quelles images et quelles propriétés (couleurs, lignes, etc.) leur appartiennent. L'ensemble de validation est nécessaire pour optimiser un certain nombre d'hyper-paramètres de l'algorithme et, finalement, l'ensemble de test est utilisé pour tester la qualité de l'algorithme.

Il est important que l’algorithme n’ait jamais vu l’ensemble de test auparavant, pour éviter les biais. Si l’algorithme s’avère suffisamment performant sur l’ensemble de test, il peut désormais être utilisé dans un environnement de production.
L'algorithme que nous avons utilisé, ainsi que celui de la police, peuvent soupçonner la présence d'un téléphone car l'ensemble de données de formation contient de nombreux exemples de personnes appelant avec un téléphone à la main près de l'oreille. Il se pourrait bien que l’ensemble de données d’entraînement contienne peu ou pas de photos de personnes assises, la main vide sur l’oreille. Dans ce cas, le fait que le téléphone soit effectivement tenu dans la main devient moins important pour l'algorithme, mais cela suffit si la main est proche de l'oreille. Pour améliorer cela, davantage de photos devraient être ajoutées là où la main est vide, de préférence au moins quelques centaines de photos.
Un problème similaire s'est produit dans un cas bien connu d'intelligence artificielle où il fallait distinguer un loup d'un husky. Le logiciel a obtenu de très bons résultats sur un grand nombre de photos de huskies et de loups, mais ce n'est pas parce que les caractéristiques des animaux étaient distinctives. Cela était principalement dû à la présence de neige ou de verdure en arrière-plan. Si vous remplacez la neige ou le vert par ma main/tête, cet exemple correspond parfaitement à mon cas.
Il reste donc très difficile de fiabiliser l’algorithme à 100%. Il est donc important que le policier qui effectue le contrôle manuel reçoive les informations pertinentes. Si le pourcentage de fiabilité du téléphone trouvé n’est pas si élevé, il est également utile de l’indiquer au policier. Il sait alors qu’il doit être particulièrement attentif lors de l’évaluation du résultat de l’algorithme.
Et maintenant ?
Il y a donc eu une erreur à la fois technique et humaine dans mon amende. Je pense que ce serait amusant d'aider la police à améliorer l'algorithme et le processus qui l'entoure. Et j'attendrai patiemment le résultat de mon objection. Surtout avec ce blog en main, je ne peux pas imaginer devoir payer mon amende.