La vision par ordinateur apprend aux machines à voir le monde comme nous. Elle imite le système visuel humain : une machine analyse des images ou des vidéos numériques et comprend ce qu'elles montrent. Capturer l'image ne suffit pas ; il faut l'interpréter et prendre des décisions à partir de ce qui a été détecté. C'est ce qui rend la vision par ordinateur utile dans les voitures autonomes, la reconnaissance faciale, l'imagerie médicale et bien d'autres applications. Cet article présente les algorithmes de base qui rendent cela possible, des techniques simples comme la détection de contours et de points caractéristiques aux méthodes plus avancées de détection d'objets, de segmentation d'images et même de génération d'images. Les explications restent accessibles, sans doctorat requis.

Adapter les algorithmes de vision par ordinateur aux entreprises : l'approche d'AI Superior

AI Superior est une entreprise technologique qui travaille avec des algorithmes récents de machine learning et de vision par ordinateur, des techniques classiques comme la transformée de Hough aux architectures modernes comme les Vision Transformers.

Nos services de vision par ordinateur couvrent l'analyse vidéo, la détection d'objets, la segmentation et la classification d'images. Notre point fort : adapter des algorithmes complexes aux besoins précis d'une entreprise. Nous avons par exemple développé un système de deep learning qui détecte les dégradations de la chaussée et aide les collectivités locales à surveiller et entretenir leurs infrastructures. Dans la construction, notre solution par drone identifie 25 types de débris grâce à des modèles de détection d'objets basés sur YOLO, ce qui fait gagner à nos clients plus de 320 heures de travail par mois. Pour une grande entreprise, nous avons aussi construit un système OCR dont la reconnaissance de texte précise a réduit de 50 % les erreurs de saisie manuelle.

Nos systèmes montent en charge et évoluent avec les besoins de l'entreprise : reconnaissance faciale pour la sécurité, classification contextuelle d'images pour l'e-commerce ou analyse des émotions pour mieux connaître les clients. Chez AI Superior, nous faisons des algorithmes des outils concrets qui servent au quotidien. Contactez-nous pour développer une solution de vision par ordinateur sur mesure pour votre entreprise.

Quels sont les principaux algorithmes de vision par ordinateur et en quoi diffèrent-ils ? Voici chacun d'eux, étape par étape :

1. Détection des contours (Canny, Sobel)

Les algorithmes de détection des contours identifient les limites ou les contours des objets d'une image en détectant les variations significatives d'intensité des pixels. L'opérateur Sobel utilise des méthodes basées sur le gradient pour mettre en évidence les contours en calculant les variations d'intensité horizontales et verticales, ce qui le rend simple mais sensible au bruit. Le détecteur de contours Canny, une approche plus avancée, applique la réduction du bruit, le calcul du gradient, la suppression des non-maxima et le suivi des contours pour produire des contours précis et connectés, ce qui en fait la référence pour les tâches de détection des contours.

Caractéristiques principales :

  • Sobel : détection simple des contours basée sur le gradient
  • Canny : processus en plusieurs étapes avec lissage du bruit et suivi des contours
  • Haute sensibilité aux changements d'intensité
  • Produit des cartes de contours binaires
  • Canny réduit les faux positifs grâce à la suppression des non-maxima

Domaines d'application :

  • Prétraitement d'image pour la détection d'objets
  • Analyse de forme en inspection industrielle
  • Détection des voies de circulation dans les véhicules autonomes
  • Imagerie médicale pour la détection des limites des organes
  • Robotique pour la cartographie de l'environnement

2. Seuillage (méthode d'Otsu)

Le seuillage convertit les images en niveaux de gris en images binaires (noir et blanc) en définissant un seuil de luminosité, séparant ainsi le premier plan de l'arrière-plan. La méthode d'Otsu automatise ce processus en sélectionnant un seuil optimal qui minimise la variance intra-classe et maximise la séparation entre les classes de pixels. Cela la rend très efficace pour segmenter des images présentant des distributions d'intensité distinctes, comme du texte ou des scanners médicaux, mais elle donne de moins bons résultats avec un éclairage irrégulier.

Caractéristiques principales :

  • Sélection automatique du seuil via la méthode d'Otsu
  • Convertit les niveaux de gris en images binaires
  • Efficace en termes de calcul
  • Sensible aux variations d'éclairage
  • Idéal pour les histogrammes d'intensité bimodaux

Domaines d'application :

  • Numérisation de documents pour l'extraction de texte
  • Imagerie médicale pour isoler les régions d'intérêt
  • Contrôle qualité industriel pour la détection des défauts
  • Suppression de l'arrière-plan en photographie
  • Prétraitement pour les systèmes de vision industrielle

3. Opérations morphologiques (érosion, dilatation)

Les opérations morphologiques manipulent les formes des images binaires ou en niveaux de gris pour améliorer ou nettoyer les zones segmentées. L'érosion rétrécit les zones blanches (premier plan), supprimant ainsi le petit bruit ou déconnectant les structures fines. La dilatation élargit les zones blanches, comblant les espaces vides ou connectant les composants proches. Souvent utilisées en combinaison (par exemple, ouverture ou fermeture), ces opérations servent à affiner la segmentation des images bruitées.

Caractéristiques principales :

  • L'érosion élimine les petits bruits et amincit les structures
  • La dilatation comble les trous et élargit les régions
  • Prend en charge les images binaires et en niveaux de gris
  • Hautement personnalisable avec des éléments structurants
  • Rapide et simple en termes de calcul

Domaines d'application :

  • Réduction du bruit dans la segmentation d'images binaires
  • Comptage cellulaire en microscopie médicale
  • Affinement de la forme des objets dans l'automatisation industrielle
  • Amélioration des empreintes digitales en biométrie
  • Nettoyage de texte en reconnaissance optique de caractères (OCR)

4. Égalisation de l'histogramme

L'égalisation d'histogramme améliore le contraste de l'image en redistribuant les valeurs d'intensité des pixels afin d'exploiter toute la plage de luminosité. En étirant l'histogramme des intensités, elle rend les détails des zones sombres ou surexposées plus visibles. Cet algorithme est particulièrement utile pour améliorer les images à faible contraste, comme les scanners médicaux ou les images de surveillance, mais peut parfois amplifier le bruit.

Caractéristiques principales :

  • Améliore le contraste en redistribuant les intensités
  • Fonctionne sur des images en niveaux de gris et en couleur
  • Calcul léger
  • Améliore la visibilité dans les régions à faible contraste
  • Peut augmenter le bruit dans les zones uniformes

Domaines d'application :

  • Imagerie médicale pour une meilleure visualisation des tissus
  • Surveillance pour améliorer les images en basse lumière
  • Imagerie satellite pour l'analyse du terrain
  • Photographie pour post-traitement
  • Prétraitement pour les algorithmes de détection de caractéristiques

5. SIFT (Scale-Invariant Feature Transform)

SIFT détecte et décrit les points clés d'une image qui restent cohérents malgré les changements d'échelle, de rotation et d'éclairage. Il identifie les caractéristiques distinctives en analysant les extrema de l'espace-échelle et calcule des descripteurs robustes pour la correspondance. L'invariance de SIFT aux transformations le rend idéal pour des tâches telles que la reconnaissance d'objets, l'assemblage d'images et la reconstruction 3D, bien qu'il soit gourmand en ressources de calcul par rapport aux méthodes plus récentes.

Caractéristiques principales :

  • Invariance d'échelle, de rotation et d'éclairage
  • Détecte des points clés distinctifs avec des descripteurs robustes
  • Mise en correspondance très précise malgré les transformations
  • Coûteux en calcul
  • Breveté : usage commercial limité sans licence

Domaines d'application :

  • Assemblage d'images pour la photographie panoramique
  • Reconnaissance d'objets en réalité augmentée
  • Reconstruction de scènes 3D en robotique
  • Odométrie visuelle en navigation autonome
  • Recherche d'images par le contenu (CBIR)

6. SURF (Speeded-Up Robust Features)

SURF est une alternative plus rapide à SIFT, conçue pour les applications temps réel. Il détecte les points clés à partir de la matrice hessienne et génère des descripteurs avec une complexité de calcul réduite. Tout en conservant sa robustesse face aux changements d'échelle et de rotation, la vitesse de SURF le rend adapté à des tâches telles que le suivi de mouvement et la reconnaissance d'objets dans des environnements aux ressources limitées, même s'il peut être moins précis que SIFT dans certains scénarios.

Caractéristiques principales :

  • Plus rapide que SIFT grâce à une détection fondée sur la matrice hessienne
  • Robuste aux changements d'échelle et de rotation
  • Calcul efficace des descripteurs
  • Légèrement moins précis que SIFT
  • Breveté : licence nécessaire pour un usage commercial

Domaines d'application :

  • Suivi de mouvement en temps réel en robotique
  • Reconnaissance d'objets dans les applications mobiles
  • Stabilisation vidéo dans les appareils grand public
  • Réalité augmentée pour la mise en correspondance de points caractéristiques
  • Véhicules autonomes pour la navigation visuelle

7. ORB (Oriented FAST and Rotated BRIEF)

ORB combine la détection de points clés FAST et les descripteurs BRIEF, ajoutant l'invariance d'orientation pour créer une alternative rapide et efficace à SIFT et SURF. Conçu pour les applications temps réel, ORB est léger et libre de droits, ce qui le rend idéal pour les systèmes embarqués et les projets open source. Bien que moins robuste aux transformations extrêmes, sa rapidité et sa simplicité le rendent populaire pour des tâches telles que le SLAM et la correspondance d'images.

Caractéristiques principales :

  • Combine la détection FAST et les descripteurs BRIEF
  • Invariance d'orientation pour résister aux rotations
  • Extrêmement rapide et léger
  • Libre de droits, adapté aux projets open source
  • Moins robuste aux changements d'échelle que SIFT/SURF

Domaines d'application :

  • Localisation et cartographie simultanées (SLAM) en robotique
  • Correspondance d'images en temps réel sur les appareils mobiles
  • Réalité augmentée pour le suivi de points caractéristiques
  • Odométrie visuelle dans les drones
  • Systèmes de vision embarqués à faible consommation

8. Détecteur de coins de Harris

Le détecteur de coins de Harris identifie les coins d'une image, des caractéristiques stables utiles pour le suivi ou la mise en correspondance. Il analyse les variations d'intensité au voisinage d'un pixel afin de détecter les points présentant des variations significatives dans toutes les directions. Bien qu'ancien et moins robuste que les méthodes modernes comme SIFT, sa simplicité et sa rapidité le rendent efficace pour les applications nécessitant une détection de caractéristiques de base, comme l'estimation de mouvement.

Caractéristiques principales :

  • Détecte les coins à l'aide de variations d'intensité
  • Calcul simple et rapide
  • Robuste aux petites rotations et translations
  • Sensible au bruit et aux changements d'échelle
  • Ne génère pas de descripteur : un traitement supplémentaire est nécessaire

Domaines d'application :

  • Estimation du mouvement dans le traitement vidéo
  • Suivi des caractéristiques en robotique
  • Alignement d'images pour le mosaïquage
  • Reconstruction 3D en infographie
  • Inspection industrielle pour les mesures basées sur les coins

9. HOG (Histogram of Oriented Gradients)

HOG décrit les formes des objets en analysant la distribution des directions des contours (gradients) dans des zones d'image localisées. Il crée des histogrammes d'orientation des gradients, ce qui le rend robuste pour la détection d'objets structurés comme les piétons ou les véhicules. Largement utilisé dans les premiers pipelines de détection d'objets, HOG est peu coûteux en calcul, mais moins efficace pour les objets complexes ou déformables que les méthodes d'apprentissage profond.

Caractéristiques principales :

  • Capture la forme via des histogrammes d'orientation de gradient
  • Robuste à l'éclairage et aux petites déformations
  • Efficace en termes de calcul
  • Idéal pour les objets structurés comme les humains ou les véhicules
  • Souvent associé à un SVM pour la classification

Domaines d'application :

  • Détection des piétons dans les véhicules autonomes
  • Détection de véhicules dans la surveillance du trafic
  • Reconnaissance des gestes dans l'interaction homme-machine
  • Surveillance pour l'analyse des foules
  • Prétraitement pour les pipelines de détection d'objets traditionnels

10. Viola-Jones

L'algorithme Viola-Jones est une méthode pionnière de détection de visages qui utilise des caractéristiques de type Haar et une cascade de classificateurs pour atteindre des performances en temps réel. Il analyse les images à plusieurs échelles, rejetant rapidement les zones non faciales tout en affinant les détections. Sa rapidité et sa précision en ont fait la base des premiers systèmes de détection de visages, tels que le détecteur de visages d'OpenCV, bien qu'il rencontre des difficultés avec les visages non frontaux ou les arrière-plans complexes.

Caractéristiques principales :

  • Utilise des caractéristiques de type Haar pour une détection rapide
  • Classificateur en cascade pour l'efficacité
  • Performances en temps réel sur les appareils à faible consommation
  • Idéal pour la détection de visages de face
  • Sensible aux variations de pose et d'éclairage

Domaines d'application :

  • Détection des visages dans les appareils photo numériques
  • Surveillance en temps réel pour la reconnaissance faciale
  • Contrôle d'accès dans les systèmes de sécurité
  • Réseaux sociaux pour l'étiquetage automatique des visages
  • Interaction homme-machine pour le suivi du regard

11. Recherche sélective (proposition de région)

La recherche sélective génère des propositions de régions en regroupant hiérarchiquement les pixels selon leurs similarités de couleur, de texture et de taille. Utilisée dans les premiers frameworks de détection d'objets comme R-CNN, elle propose des emplacements potentiels d'objets, qui sont ensuite classés par un réseau neuronal. Bien que plus lente que les modèles de détection de bout en bout modernes, sa capacité à produire des propositions de haute qualité la rend utile pour la recherche et les applications nécessitant une localisation précise.

Caractéristiques principales :

  • Regroupement hiérarchique pour proposer des régions
  • Prend en compte les indices de couleur, de texture et de taille
  • Produit des objets candidats de haute qualité
  • Coûteux en calcul
  • Utilisé dans les pipelines de détection à deux étages

Domaines d'application :

  • Détection d'objets dans les systèmes basés sur R-CNN
  • Segmentation d'images pour la recherche
  • Inspection industrielle pour l'identification des pièces
  • Imagerie médicale pour proposer des régions d'intérêt
  • Analyse de contenu dans les moteurs de recherche visuels

12. Algorithme de ligne de partage des eaux (Watershed)

L'algorithme Watershed traite une image comme une carte topographique, où l'intensité des pixels représente les altitudes, et la segmente en régions en « inondant » les bassins à partir de marqueurs. Il excelle dans la séparation des objets qui se touchent ou se chevauchent, comme les cellules dans les images de microscopie, mais nécessite un placement précis des marqueurs pour éviter une sur-segmentation. Son principe intuitif le rend populaire pour les segmentations complexes.

Caractéristiques principales :

  • Segmente les images par inondation topographique
  • Efficace pour séparer les objets en contact
  • Nécessite des marqueurs pour guider la segmentation
  • Sujet à une sur-segmentation sans réglage
  • Prend en charge les images en niveaux de gris et en couleur

Domaines d'application :

  • Segmentation cellulaire en microscopie médicale
  • Comptage d'objets en imagerie agricole
  • Inspection industrielle pour la séparation des composants
  • Imagerie satellite pour la segmentation des parcelles de terrain
  • Analyse de documents pour séparer les zones de texte

13. Graph Cuts (coupes de graphe)

Graph Cuts formule la segmentation d'images comme un problème d'optimisation de graphe : les pixels sont les nœuds et les arêtes représentent leurs similarités. La méthode minimise une fonction d'énergie pour « découper » le graphe, séparant ainsi le premier plan de l'arrière-plan. Cette méthode produit des segmentations de haute qualité, notamment pour les objets aux limites nettes, mais elle est coûteuse en calculs pour les images volumineuses, ce qui la rend plus adaptée au traitement hors ligne.

Caractéristiques principales :

  • Segmentation basée sur l'énergie par optimisation de graphe
  • Haute précision pour des limites d'objet claires
  • Coûteux en calcul
  • Nécessite des points d'amorçage (seeds) pour l'initialisation
  • Robuste au bruit avec un réglage approprié

Domaines d'application :

  • Imagerie médicale pour la segmentation des organes
  • Retouche photo pour l'extraction du premier plan
  • Segmentation vidéo pour le suivi d'objets
  • Inspection industrielle pour une isolation précise des défauts
  • Recherche, comme référence pour évaluer les algorithmes de segmentation

14. GrabCut

GrabCut est un algorithme de segmentation interactif qui affine un cadre de délimitation fourni par l'utilisateur pour isoler un objet grâce aux graph cuts et une optimisation itérative. Il modélise le premier plan et l'arrière-plan avec des modèles de mélange gaussien, les mettant à jour pour améliorer la précision. GrabCut est simple à utiliser et efficace pour la retouche photo, bien qu'il nécessite une certaine saisie manuelle et puisse rencontrer des difficultés avec les arrière-plans complexes.

Caractéristiques principales :

  • Segmentation interactive avec cadre de délimitation utilisateur
  • Utilise les graph cuts et des modèles de mélange gaussien
  • Affine la segmentation de manière itérative
  • Simple à utiliser mais nécessite une saisie manuelle
  • Sensible aux arrière-plans complexes

Domaines d'application :

  • Retouche photo pour la suppression de l'arrière-plan
  • Imagerie médicale pour la segmentation semi-automatique des organes
  • Réalité augmentée pour l'extraction d'objets
  • E-commerce pour détourer les images de produits
  • Montage vidéo pour la séparation du premier plan

15. Réseaux de neurones convolutifs (CNN)

Les réseaux de neurones convolutifs (CNN) constituent le fondement de la vision par ordinateur moderne. Ils utilisent des couches convolutives pour extraire des caractéristiques spatiales telles que les contours, les textures et les motifs des images. Ils excellent dans des tâches telles que la classification, la détection et la segmentation en apprenant des représentations hiérarchiques de caractéristiques. Les CNN sont très précis, mais nécessitent des ressources de calcul importantes et de vastes ensembles de données étiquetées pour leur apprentissage, ce qui les destine aux applications complexes disposant de beaucoup de données.

Caractéristiques principales :

  • Extraction de caractéristiques hiérarchiques via des convolutions
  • Prend en charge la classification, la détection et la segmentation
  • Haute précision avec des architectures profondes
  • Nécessite de grands ensembles de données et une puissance de calcul
  • Apprentissage par transfert pour les tâches personnalisées

Domaines d'application :

  • Classification d'images dans les véhicules autonomes
  • Détection d'objets dans les systèmes de surveillance
  • Imagerie médicale pour le diagnostic des maladies
  • Reconnaissance faciale dans les systèmes de sécurité
  • Réalité augmentée pour la compréhension des scènes

16. RNN / LSTM (pour les séquences)

Les réseaux de neurones récurrents (RNN) et les réseaux LSTM (Long Short-Term Memory) sont conçus pour les données séquentielles, telles que les vidéos ou les séries temporelles d'images. Ils conservent la mémoire des images précédentes et capturent les dépendances temporelles pour des tâches telles que la reconnaissance d'actions ou le sous-titrage vidéo. Bien que performants pour l'analyse vidéo, ils nécessitent des calculs intensifs et sont moins efficaces pour les images statiques que les CNN.

Caractéristiques principales :

  • Capture les dépendances temporelles dans les séquences
  • Les LSTM atténuent le problème de disparition du gradient
  • Adapté à la vidéo et aux séries temporelles
  • Complexes en calcul
  • Souvent combiné avec les CNN pour l'extraction de caractéristiques

Domaines d'application :

  • Reconnaissance d'actions en vidéosurveillance
  • Sous-titrage vidéo pour l'accessibilité
  • Prédiction de mouvement dans la conduite autonome
  • Reconnaissance des gestes dans l'interaction homme-machine
  • Analyse vidéo médicale pour la surveillance chirurgicale

17. Modèles basés sur les Transformers (ViT, DETR)

Les modèles basés sur les Transformers, tels que Vision Transformer (ViT) et Detection Transformer (DETR), utilisent des mécanismes d'attention pour modéliser les relations globales dans les images ou les séquences. ViT divise les images en patchs, traités comme des tokens par le Transformer, excellant ainsi dans la classification. DETR applique les Transformers à la détection d'objets, éliminant ainsi les propositions de régions pour la détection de bout en bout. Ces modèles offrent une grande précision, mais nécessitent des ressources de calcul importantes.

Caractéristiques principales :

  • Mécanismes d'attention pour le contexte global
  • ViT : classification d'images basée sur des patchs
  • DETR : détection d'objets de bout en bout
  • Haute précision avec de grands ensembles de données
  • Coûteux en calcul

Domaines d'application :

  • Classification des images dans le diagnostic médical
  • Détection d'objets dans les véhicules autonomes
  • Segmentation sémantique pour l'urbanisme
  • Analyse vidéo pour la reconnaissance des actions
  • Recherche pour faire progresser les modèles de vision

18. Transformée de Hough

La transformée de Hough est une technique d'extraction de caractéristiques utilisée pour détecter des formes paramétriques, telles que des lignes, des cercles ou des ellipses, dans les images. Elle transforme les points de contour en un espace paramétrique, identifiant les formes en trouvant des pics dans un tableau accumulateur. Largement utilisée pour sa robustesse au bruit et aux occlusions partielles, la transformée de Hough est gourmande en calculs, mais efficace pour des applications comme la détection de voies ou la reconnaissance de formes, notamment dans les environnements structurés.

Caractéristiques principales :

  • Détecte les formes paramétriques telles que les lignes et les cercles
  • Robuste au bruit et aux occlusions partielles
  • Vote des formes dans l'espace des paramètres
  • Coûteux en calcul
  • Nécessite en entrée une image de contours

Domaines d'application :

  • Détection des voies de circulation dans les véhicules autonomes
  • Reconnaissance des formes dans l'inspection industrielle
  • Analyse de documents pour la détection de tableaux ou de lignes
  • Imagerie médicale pour la détection de structures circulaires
  • Robotique pour la cartographie de l'environnement

Conclusion

Les algorithmes de vision par ordinateur peuvent ressembler à du jargon, mais ce sont avant tout des outils qui aident les machines à comprendre ce qu'elles voient. Qu'il s'agisse de détecter les contours d'une forme, de suivre un mouvement dans une vidéo ou de reconnaître un visage familier, chaque algorithme a une tâche précise pour apprendre aux ordinateurs à « regarder » le monde et à le comprendre. Ces algorithmes sont à la base de nombreuses choses que nous tenons aujourd'hui pour acquises, comme déverrouiller son téléphone avec son visage, obtenir des filtres personnalisés sur les réseaux sociaux ou les médecins qui utilisent l'IA pour analyser les radiographies plus rapidement et plus précisément. À mesure que la technologie progresse, elle permet de résoudre davantage de problèmes concrets, plus vite et plus finement. Pour un premier projet comme pour aller plus loin en IA, ces algorithmes de base sont le bon point de départ en vision par ordinateur.