Qu'est-ce que la vision par ordinateur ?

Utilisez l'apprentissage automatique et les réseaux de neurones pour apprendre aux ordinateurs à détecter les défauts et les problèmes avant qu'ils n'affectent les opérations.

3D rendering of a scientific technology data binary code network. computer binary code blue with depth of field

Qu'est-ce que la vision par ordinateur ?

La vision par ordinateur est un domaine de l'intelligence artificielle (IA) qui permet aux ordinateurs et aux systèmes de dériver des informations significatives à partir d'images numériques, de vidéos et d'autres entrées visuelles, et de prendre des mesures ou de faire des recommandations sur la base de ces informations. Si l'intelligence artificielle permet aux ordinateurs de penser, la vision par ordinateur leur permet de voir, d'observer et de comprendre.

La vision par ordinateur fonctionne de la même manière que la vision humaine, sauf que les humains ont une longueur d'avance. La vue humaine a l'avantage de pouvoir s'entraîner à distinguer les objets, à en déterminer la distance, à savoir s'ils sont en mouvement et si quelque chose ne va pas dans une image.

La vision par ordinateur entraîne les machines à exécuter ces fonctions, mais elle doit le faire en beaucoup moins de temps avec des caméras, des données et des algorithmes plutôt qu'avec des rétines, des nerfs optiques et un cortex visuel. Parce qu'un système entraîné pour inspecter des produits ou surveiller un actif de production peut analyser des milliers de produits ou de processus à la minute, en remarquant des défauts ou problèmes imperceptibles, il peut rapidement dépasser les capacités humaines.

La vision par ordinateur est utilisée dans des secteurs allant de l'énergie aux services publics en passant par la fabrication et l'automobile, et le marché continue de croître. Il devrait atteindre 48,6 milliards de dollars d'ici 2022.1


Comment fonctionne la vision par ordinateur ?

La vision par ordinateur a besoin de beaucoup de données. Elle exécute des analyses de données encore et encore jusqu'à ce qu'elle perçoive des distinctions et reconnaisse finalement les images. Par exemple, pour entraîner un ordinateur à reconnaître des pneus de voiture, elle doit recevoir de grandes quantités d'images de pneus et d'éléments liés aux pneus pour apprendre les différences et reconnaître un pneu, en particulier un pneu sans défaut.

Deux technologies essentielles sont utilisées pour y parvenir : un type d' apprentissage automatique appelé apprentissage en profondeur et un réseau de neurones convolutifs (CNN).

L'apprentissage automatique utilise des modèles algorithmiques qui permettent à un ordinateur de se renseigner sur le contexte des données visuelles. Si suffisamment de données sont introduites dans le modèle, l'ordinateur « regardera » les données et apprendra à distinguer une image d'une autre. Les algorithmes permettent à la machine d'apprendre par elle-même, plutôt que quelqu'un la programme pour reconnaître une image.

Un CNN aide un modèle d'apprentissage automatique ou d'apprentissage en profondeur à « regarder » en décomposant les images en pixels auxquels sont attribuées des balises ou des libellés. Il utilise les libellés pour effectuer des convolutions (une opération mathématique sur deux fonctions pour produire une troisième fonction) et fait des prévisions sur ce qu'il « voit ». Le réseau de neurones exécute des convolutions et vérifie l'exactitude de ses prévisions par une série d'itérations jusqu'à ce que les prévisions commencent à se réaliser. Il s'agit alors de reconnaître ou de voir des images d'une manière similaire aux humains.

A l'instar d'un être humain qui distingue une image à distance, un CNN discerne d'abord les bords durs et les formes simples, puis complète les informations au fur et à mesure des itérations de ses prévisions. Un CNN est utilisé pour comprendre des images individuelles. Un réseau de neurones récurrent (RNN) est utilisé de manière similaire dans les applications vidéo pour aider les ordinateurs à comprendre comment les images d'une série sont liées les unes aux autres.


Histoire de la vision par ordinateur

Depuis environ 60 ans, les scientifiques et les ingénieurs tentent de développer des moyens pour que les machines voient et comprennent les données visuelles. L'expérimentation a commencé en 1959 lorsque des neurophysiologistes ont montré à un chat un ensemble d'images, en essayant d'établir une corrélation avec une réponse dans son cerveau. Ils ont découvert qu'il réagissait d'abord aux bords ou aux lignes durs, et scientifiquement, cela signifiait que le traitement de l'image commençait par des formes simples comme des bords droits.(2)

A peu près à la même époque, la première technologie de numérisation d'images par ordinateur a été développée, permettant aux ordinateurs de numériser et d'acquérir des images. Une autre étape importante a été franchie en 1963 lorsque les ordinateurs ont été capables de transformer des images bidimensionnelles en formes tridimensionnelles. Dans les années 1960, l'intelligence artificielle est devenue un domaine d'étude universitaire et a marqué le début de la quête de l'intelligence artificielle pour résoudre le problème de la vision humaine.

1974 a vu l'introduction de la technologie de reconnaissance optique des caractères (OCR), qui pouvait reconnaître le texte imprimé dans n'importe quelle police de caractères.(3)De même, la reconnaissance intelligente de caractères (ICR) pouvait déchiffrer du texte écrit à la main à l'aide de réseaux de neurones.(4)Depuis lors, l'OCR et l'ICR ont trouvé leur place dans le traitement des documents et des factures, la reconnaissance des plaques d'immatriculation, les paiements mobiles, la traduction automatique et d'autres applications courantes.

En 1982, le neuroscientifique David Marr a établi que la vision fonctionne de manière hiérarchique et a introduit des algorithmes permettant aux machines de détecter les bords, les coins, les courbes et les formes de base similaires. Parallèlement, l'informaticien Kunihiko Fukushima a développé un réseau de cellules capables de reconnaître des modèles. Le réseau, appelé Neocognitron, comprenait des couches convolutives dans un réseau de neurones.

En 2000, l'étude se concentrait sur la reconnaissance d'objets, et en 2001, les premières applications de reconnaissance faciale en temps réel apparaissaient. La standardisation de l'étiquetage et de l'annotation des ensembles de données visuelles est apparue dans les années 2000. En 2010, les fichiers ImageNet apparaissaient. Ils contenaient des millions d'images étiquetées dans un millier de classes d'objets et fournissaient une base pour les CNN et les modèles d'apprentissage en profondeur utilisés aujourd'hui. En 2012, une équipe de l'Université de Toronto a inscrit un CNN à un concours de reconnaissance d'images. Le modèle, appelé AlexNet, a considérablement réduit le taux d'erreur pour la reconnaissance d'images. Après cette percée, les taux d'erreur sont tombés à quelques pour cent seulement.(5)


Applications de vision par ordinateur

Il y a beaucoup de recherches en cours dans le domaine de la vision par ordinateur, mais il ne s'agit pas seulement de recherche. Les applications du monde réel démontrent l'importance de la vision par ordinateur pour les entreprises, les secteurs du divertissement, des transports, des soins de santé et dans la vie quotidienne. L'un des principaux moteurs de la croissance de ces applications est le flot d'informations visuelles provenant des smartphones, des systèmes de sécurité, des caméras de circulation et autres dispositifs dotés d'instruments visuels. Ces données pourraient jouer un rôle majeur dans les opérations de toutes les industries, mais elles sont aujourd'hui inutilisées. Les informations créent un banc d'essai pour former des applications de vision par ordinateur et une rampe de lancement pour qu'elles fassent partie d'une gamme d'activités humaines :

  • IBM a utilisé la vision par ordinateur pour créer My Moments pour le tournoi de golf Masters 2018. IBM Watson a regardé des centaines d'heures d'enregistrements filmés de Masters et a pu identifier les images (et les sons) des plans importants. Ces moments clés ont été organisés et livrés aux fans sous forme de séquences personnalisées.
  • Google Translate permet aux utilisateurs de pointer la caméra d'un smartphone vers un panneau dans une autre langue et d'obtenir presque immédiatement une traduction du panneau dans la langue de leur choix.(6)
  • Le développement des véhicules autonomes repose sur la vision par ordinateur, qui donne un sens aux données visuelles fournies par les caméras et autres capteurs de la voiture. Il est essentiel d'identifier les autres voitures, les panneaux de signalisation, les marqueurs de voie, les piétons, les vélos et toutes les autres informations visuelles rencontrées sur la route.
  • IBM applique la technologie de vision par ordinateur avec des partenaires comme Verizon afin d'amener l'IA intelligente à la périphérie et d'aider les constructeurs automobiles à identifier les défauts de qualité avant qu'un véhicule ne quitte l'usine.

Exemples de vision par ordinateur

De nombreuses organisations n'ont pas les ressources nécessaires pour financer des laboratoires de vision par ordinateur et créer des modèles d'apprentissage en profondeur et des réseaux de neurones. Elles peuvent également manquer de la puissance de calcul requise pour traiter d'énormes volumes de données visuelles. Des entreprises telles qu'IBM apportent leur aide en proposant des services de développement de logiciels de vision par ordinateur. Ces services fournissent des modèles d'apprentissage prédéfinis disponibles à partir du cloud et facilitent également la demande en ressources informatiques. Les utilisateurs se connectent aux services via une interface de programme d'application (API) et les utilisent pour développer des applications de vision par ordinateur.

IBM a également introduit une plateforme de vision par ordinateur qui répond à la fois aux problèmes de développement et de ressources informatiques. IBM Maximo Visual Inspection comprend des outils qui permettent aux experts en la matière d'étiqueter, de former et de déployer des modèles de vision d'apprentissage en profondeur, sans codage ni expertise en apprentissage en profondeur. Les modèles de vision peuvent être déployés dans des centres de données locaux, le cloud et des unités de périphérie.

S'il est de plus en plus facile d'obtenir des ressources pour développer des applications de vision par ordinateur, il reste une question importante à laquelle il faut répondre dès le départ : que feront exactement ces applications ? Comprendre et définir des tâches spécifiques de vision par ordinateur peut permettre de cibler et de valider des projets et des applications et faciliter leur démarrage.

Voici quelques exemples de tâches d' ordinateur vision établies :

  • classification images voit une image et peut la classifier (un chien, une pomme, le visage d'une personne). Plus précisément, elle est capable de prévoir avec précision qu'une image donnée appartient à une certaine classe. Par exemple, une entreprise de médias sociaux peut vouloir l'utiliser pour identifier et isoler automatiquement les images répréhensibles téléchargées par les utilisateurs.
  • La détection d'objets peut utiliser la classification d'images pour identifier une certaine classe d'images, puis détecter et mettre en tableau leur apparence dans une image ou une vidéo. Cela inclut, par exemple, la détection de dommages sur une chaîne de montage ou l'identification de machines nécessitant une maintenance.
  • Le
  • suivi d'objets suit un objet une fois qu'il est détecté. Cette tâche est souvent exécutée avec des images capturées en séquence ou des flux vidéo en temps réel. Les véhicules autonomes, par exemple, doivent non seulement classer et détecter des objets tels que des piétons, d'autres voitures et des infrastructures routières, mais ils doivent également les suivre en mouvement pour éviter les collisions et respecter le code de la route.(7)
  • La récupération d'images basée sur le contenu utilise la vision par ordinateur pour parcourir, rechercher et récupérer des images provenant de grands magasins de données, en fonction du contenu des images plutôt que des balises de métadonnées qui leur sont associées. Cette tâche peut incorporer une annotation d'image automatique qui remplace le balisage d'image manuel. Ces tâches peuvent être utilisées pour les systèmes de gestion des actifs numériques et peuvent augmenter la précision de la recherche et de la récupération.

Solutions IBM

IBM Maximo Visual Inspection

Bénéficiez rapidement de la puissance de la vision par ordinateur pour l'automatisation des inspections sans être un expert de l'apprentissage en profondeur.

IBM Maximo Visual Inspection Mobile

Amplifiez votre assurance qualité (QA) avec la vision par ordinateur sur les appareils mobiles iOS et découvrez rapidement les défauts sur votre ligne de production.