Aller au contenu
IA 8 min de lecture

Accélération d'un processus de vision avec le machine learning

L'équipe IE-Concept

Pour résoudre des problèmes de vision complexes, la méthode classique consiste à effectuer une modélisation théorique, souvent basée sur des équations mathématiques précises. Cependant, une telle approche peut s’avérer extrêmement gourmande en ressources (temps CPU, RAM) lorsqu’elle est exécutée par une machine en temps réel.

Nous allons explorer ici comment le machine learning offre une alternative performante. Pour notre étude de cas, nous avons choisi un problème de détection sélective de bord dans une image. L’objectif est de construire un modèle capable de reproduire les résultats d’un algorithme théorique, mais avec une vitesse d’exécution nettement supérieure.

Cas d’étude : la détection de bord sélective

L’enjeu n’est pas simplement de détecter tous les contours d’une image, ce qui est trivial avec une convolution classique, mais d’isoler un bord spécifique selon une condition.

Détection de bord sélective

Sur l’image ci-dessus, seul le bord indiqué par les flèches rouges doit être détecté. C’est le motif en bande qui permet de déterminer quel bord est pertinent. Pour réaliser cette fonction par programmation classique, il faut appliquer une suite de transformations linéaires et non-linéaires complexes, ce qui demande une expertise humaine importante.

Voici un survol de l’algorithme théorique de référence :

Algorithme de détection de bords

Première tentative : réseau de neurones convolutif (CNN)

Cette approche permet de “synthétiser” la tâche effectuée par l’algorithme théorique. L’avantage majeur est qu’il n’est pas nécessaire d’annoter manuellement des données pour l’apprentissage : on utilise les sorties de l’algorithme classique comme cibles pour le réseau de neurones.

Modèle CNN complet

Le réseau prend une image de 640×160 pixels en entrée et traverse 6 couches convolutives (669 paramètres). La stratégie de padding et de MaxPool est conçue pour réduire progressivement la hauteur de l’image jusqu’à obtenir un signal unidimensionnel de 1x640px.

Les résultats sur les images de validation sont concluants :

Sortie réseau CNN 1 Sortie réseau CNN 2

La courbe orange (prédiction) suit fidèlement la bleue (cible). En termes de performance, le réseau s’exécute en environ 20ms sur CPU, soit 4 fois plus vite que l’algorithme théorique. Sur GPU, le temps descend sous la milliseconde (> 1000 FPS). Cependant, le signal prédit reste bruité et manque de “netteté” par rapport à la référence.

Deuxième tentative : architecture avec Auto-Encodeur

Pour affiner le signal, nous intégrons un bloc auto-encodeur à la fin du réseau.

Schéma Auto-Encodeur

L’information traverse une zone restreinte (en vert) appelée le bottleneck. Cela force le réseau à compresser les données et à ne conserver que l’essentiel, ce qui permet d’éliminer naturellement le bruit et les valeurs parasites. Dans notre cas, le signal de 640 points est réduit à 16 points avant d’être reconstruit.

La nouvelle architecture se présente ainsi :

Modèle CNN avec bloc FCN

Après entraînement, les résultats sont spectaculaires :

Résultat final 2

Le signal est désormais parfaitement lisse. Bien que le nombre de paramètres soit passé à 21 805, l’impact sur le temps d’exécution est négligeable (environ 1ms supplémentaire).

Conclusion

Cette expérimentation démontre que le machine learning permet de surpasser les limites des algorithmes classiques en termes de performance pure. Là où une expertise théorique atteint ses limites en temps d’exécution réel, un modèle entraîné parvient à accomplir la même tâche avec une efficacité redoutable. Maîtriser ces outils permet aujourd’hui de résoudre des problématiques industrielles complexes avec une fluidité sans précédent.

Tags : Intelligence Artificielle Machine Learning Vision par ordinateur CNN Performance

À propos de l'auteur

L'expertise IE-Concept est portée par une équipe d'ingénieurs passionnés par les défis technologiques du monde industriel.

Découvrir notre équipe →

Un projet d'électronique ou d'IA embarquée ?

Parlons ensemble de vos défis techniques et trouvons la juste réponse technologique.

Démarrer une discussion