Machine Vision
La vision industrielle utilise des caméras, un éclairage contrôlé et l’analyse d’images pour inspecter, mesurer, identifier et guider des pièces sur les chaînes de production, en temps réel.
La vision industrielle (MV) désigne l'utilisation de caméras, d'optiques, d'éclairages et de l'analyse d'images dans l'automatisation industrielle pour inspecter des produits, mesurer des pièces, lire des codes et guider des machines. Chaque résultat déclenche une action, comme rejeter ou trier une pièce, ou piloter un robot. C'est de la vision par ordinateur intégrée à une boucle de commande : un système de vision sur une ligne d'emballage doit prendre chaque décision dans le temps de cycle de la ligne, soit quelques dizaines de millisecondes par pièce sur une ligne d'embouteillage rapide, puis la transmettre à un automate programmable industriel (PLC) par des E/S numériques ou un réseau industriel. Ses tâches se répartissent généralement en quatre familles : le guidage (localisation des pièces pour les robots), l'inspection (détection des défauts et des caractéristiques manquantes), le contrôle dimensionnel (mesure des dimensions) et l'identification (lecture des codes-barres, des codes Data Matrix et du texte imprimé par reconnaissance optique de caractères).
Vision industrielle, vision par ordinateur et traitement d'image#
La vision industrielle applique aux machines industrielles le traitement d'image, qui transforme les images en filtrant le bruit ou en accentuant les contours, et la vision par ordinateur, qui extrait le sens des images dans tous les contextes. Elle se définit par son matériel et son intégration : éclairage et optique contrôlés, caméras déclenchées par des capteurs sur la ligne, temporisation déterministe et sorties reliées à des actionneurs. La différence entre ces trois domaines relève surtout de leur portée, et les systèmes modernes de vision industrielle exécutent les mêmes modèles d'apprentissage profond que les autres applications de vision par ordinateur.
Composants d'un système de vision industrielle#
- Éclairage : l'éclairage détermine ce que la caméra peut voir. Le rétroéclairage transforme les pièces en silhouettes pour mesurer les contours avec précision, les dômes diffus réduisent les reflets sur les surfaces brillantes, les éclairages à champ sombre et à faible angle font ressortir les rayures et les caractères en relief, et les lignes laser projetées révèlent les profils de hauteur en 3D.
- Optique : les objectifs télécentriques maintiennent un grossissement constant lorsque la distance à la pièce varie, de sorte que les résultats du contrôle dimensionnel ne dépendent pas de la position de la pièce.
- Caméras : les caméras à balayage matriciel capturent les pièces discrètes en une seule exposition, les caméras à balayage linéaire construisent des images de matériaux continus comme l'acier, le papier et les textiles, rangée par rangée, et les capteurs 3D utilisent la triangulation laser, la vision stéréoscopique ou le temps de vol. Les normes d'interface comme GigE Vision, USB3 Vision et GenICam permettent aux logiciels de contrôler des caméras de différents fabricants.
- Traitement et E/S : un capteur photoélectrique ou un codeur déclenche chaque capture, une caméra intelligente ou un PC industriel exécute l'analyse, puis le résultat est transmis à l'automate programmable industriel (PLC), de plus en plus souvent sur du matériel périphérique équipé d'un GPU ou d'un NPU.
Outils à base de règles et apprentissage profond#
Les logiciels classiques de vision industrielle enchaînent des outils déterministes : seuillage, analyse de blobs, détection de contours, mise en correspondance de motifs et pieds à coulisse qui mesurent la distance entre des contours. Cet exemple effectue une analyse de blobs sur une photo de pièces de monnaie, en comptant les pièces et en mesurant leur taille :
import numpy as np
from scipy import ndimage as ndi
from skimage import data, filters, measure, segmentation
# Grayscale photo of 24 Greek coins on a gray background, bundled with scikit-image
image = data.coins()
# Seed the background (dark) and the parts (bright), then grow both along edge strength
markers = np.zeros_like(image)
markers[image < 30] = 1
markers[image > 150] = 2
mask = ndi.binary_fill_holes(segmentation.watershed(filters.sobel(image), markers) == 2)
# Blob analysis: label each part, ignore specks, and gauge each diameter in pixels
parts = [r for r in measure.regionprops(measure.label(mask)) if r.area > 300]
diameters = [part.equivalent_diameter_area for part in parts]
print(f"{len(parts)} parts, diameters {min(diameters):.0f}-{max(diameters):.0f} px")Le script affiche 24 parts, diameters 37-63 px : chaque pièce est détectée et mesurée, et un système de production comparerait le diamètre de chaque pièce à une tolérance avant d'envoyer le résultat à l'automate programmable industriel (PLC). L'arrière-plan de cette photo s'éclaircit vers le coin supérieur gauche et présente des niveaux de gris similaires à ceux des pièces ; un seuil global unique d'Otsu divise donc l'image en 96 blobs, un problème que l'éclairage contrôlé évite sur une ligne de production.
Les outils fondés sur des règles sont rapides, explicables et précis pour les pièces à géométrie fixe, mais ils peinent face aux variations naturelles, comme le grain du bois, les aliments ou les défauts cosmétiques qui prennent de nombreuses formes. Les modèles de détection d’objets, de segmentation d’instances et de détection d’anomalies apprennent à reconnaître ces cas à partir d’exemples. Un modèle de segmentation YOLO26 entraîné sur des images de défauts délimite les rayures et les fissures pixel par pixel ; le mode d’exportation Ultralytics le convertit en TensorRT ou OpenVINO afin que l’inférence en temps réel respecte le temps de cycle de la ligne sur un PC industriel ou une carte NVIDIA Jetson.
Applications concrètes#
- Inspection optique automatisée : sur les lignes électroniques, les systèmes inspectent les cartes de circuits imprimés pour repérer les composants manquants, décalés ou inversés, ainsi que les joints de soudure défectueux. Ils inspectent souvent la pâte à braser en 3D avant le placement des composants.
- Inspection pharmaceutique et de l'emballage : les systèmes vérifient les niveaux de remplissage, les bouchons et les étiquettes, et la reconnaissance optique de caractères lit le numéro de lot et la date de péremption imprimés sur chaque emballage.
- Robotique guidée par la vision : les robots localisent des pièces empilées de façon aléatoire pour les prélever dans un bac, en utilisant des capteurs 3D et l'estimation de pose pour choisir leur prise.
- Fabrication automobile : des capteurs 3D mesurent les écarts et l'affleurement entre les panneaux de carrosserie, et des caméras vérifient la finition de la peinture et les cordons de soudure avant que les véhicules ne quittent la ligne.










