Classification d'images par apprentissage automatique : Les tenants et les aboutissants

Apprendre aux ordinateurs à comprendre ce qu'ils voient est le sujet qui tient en éveil tous les ingénieurs en vision par ordinateur. Même si de nombreux progrès ont été accomplis dans le domaine de la reconnaissance d'images au cours des dernières années, il manque encore de nombreuses pièces de puzzle qui devraient s'assembler pour obtenir une image complète et claire de la manière d'apprendre aux machines à donner un sens à ce qu'elles voient.

Pendant longtemps, la classification d'images n'a pas été considérée comme un problème statistique, jusqu'à ce qu'une solution partielle vienne du domaine de l'apprentissage automatique sous le nom de réseaux neuronaux, en particulier les réseaux neuronaux convolutifs (CNN). Les CNN sont un type particulier de réseaux neuronaux artificiels qui offrent des résultats similaires à ceux des humains dans les tâches de classification d'images.

Cet article explique comment le cerveau humain reconstruit le monde visuel, comment les machines apprennent à comprendre les images et quelles sont les applications de la classification des images.

Reconnaissance d'images : C'est si difficile que ça ?

La reconnaissance d'images est le processus d'identification de ce que représente une image.

Pour les humains, l'interprétation du monde visuel est facile. Lorsque l'homme voit quelque chose, il a une compréhension inhérente de ce que c'est. Dans la plupart des cas, il n'est pas nécessaire d'étudier consciemment l'objet pour lui donner un sens.

Cependant, pour les ordinateurs, c'est une tâche difficile car ils ne peuvent manipuler que des chiffres. Par exemple, un point carré 3×3 sur le front d'Albert Einstein, pour un ordinateur, est une matrice tridimensionnelle où chaque dimension représente une des couleurs primaires : rouge, vert et bleu.

Même si l'homme peut interpréter des images en une fraction de seconde, un processus cognitif complexe se déroule dans le cortex visuel du cerveau.

Le cortex visuel est divisé en couches (V1-V8), et il traite les informations visuelles provenant des yeux. Lorsqu'un stimulus est présent dans le champ réceptif, sa représentation atteint d'abord la couche V1, ou en d'autres termes, les neurones de la zone de la couche V1 se déclenchent en premier. Cette couche est une carte qui préserve les informations spatiales du stimulus dans le monde et détecte également ses bords. La couche V1 est fortement connectée à la couche V2, qui participe à son tour à la discrimination des formes, des orientations, des couleurs et d'autres caractéristiques de bas niveau. Les caractéristiques visuelles de plus haut niveau impliquent la compréhension par le cerveau du contexte et de la relation des images et ne sont perçues que dans les couches supérieures, telles que V6-V8.

Disons que le stimulus perçu est votre père. La détection de l'objet lui-même est accomplie dans la couche V1. Cependant, l'information sémantique n'est perçue que dans les couches V6-V8.

Il est important de souligner que ce dont chaque couche est responsable est presque toujours lié à la controverse, car la recherche apporte de plus en plus de découvertes au fil du temps. Cependant, il est un fait que plus la couche est élevée, plus la présentation devient abstraite.

En dehors de cette architecture de haut niveau, au niveau micro, la mécanique des neurones a été appliquée pour simuler les processus dans les couches du cortex visuel. En particulier, chaque neurone reçoit une entrée des dendrites et, en fonction de la non-linéarité complexe appliquée à son entrée, se déclenche si la somme des entrées non linéaires dépasse un certain seuil. Bien que cette explication soit très simplifiée, elle a suffi à la recherche pour inventer le premier réseau neuronal artificiel.

Inspirés par le système visuel humain, les ingénieurs ont tenté de reproduire ce processus avec des machines. Pour permettre aux ordinateurs de comprendre les objets, il était nécessaire de créer un système capable d'extraire des caractéristiques de haut niveau à partir de "stimuli" visuels en utilisant uniquement des manipulations numériques. C'est là qu'interviennent les réseaux neuronaux convolutifs. Lorsqu'ils reçoivent suffisamment de données propres et bien définies, les CNN permettent d'extraire des caractéristiques communes de haut niveau pour chaque catégorie que les données englobent.

Comment fonctionne le CNN dans la reconnaissance d'images ?

Les représentations apprises par le CNN sont similaires à la manière dont les couches visuelles humaines représentent les informations visuelles : les premières couches convolutionnelles extraient les caractéristiques de bas niveau, telles que les bords et les taches, et les dernières couches attribuent la partie sémantique à l'image.

En somme, la classification d'images pour un ordinateur se traduit par le problème de l'identification de caractéristiques communes en "regardant" les chiffres et en faisant des manipulations mathématiques pour trouver une fonction (c'est-à-dire un modèle), qui peut généraliser sur des données non vues.

Les performances de pointe des réseaux neuronaux convolutifs dans les tâches de classification d'images peuvent être équivalentes à celles de l'homme, mais cela n'est possible que si les facteurs suivants sont réunis : une grande quantité de données est fournie (Go), une longue durée est allouée et l'architecture de réseau neuronal appropriée est en place.

Implémentation de CNN dans ProcessMaker IDP pour la classification d'images

ProcessMaker IDP s'occupe de la gestion intelligente du contenu et la reconnaissance d'images fait partie d'une large chaîne de solutions d'apprentissage automatique que nous proposons. Bien qu'il existe un certain nombre d'API ouvertes permettant d'obtenir des informations à partir d'images, ProcessMaker IDP développe son propre et unique classificateur afin de protéger les données sensibles de ses clients. L'utilisation de services ouverts pour la classification d'images tels que Google implique le partage des données des clients avec des tiers. Si ce n'est pas un problème si vous avez besoin de classifier des images de chats et de chiens, c'est un problème de conformité lorsque des pièces d'identité et des cartes de crédit doivent être classifiées.

Maintenir un haut niveau de sécurité tout en fournissant une performance précise du classificateur ML présente quelques défis. Comme ProcessMaker IDP ne dispose pas de grandes bibliothèques d'images, il s'appuie fortement sur les données des clients ou sur des ensembles de données open-source, qui ne sont généralement pas prêts à être utilisés directement. Leur nettoyage et leur étiquetage manuel demandent beaucoup de temps.

Un autre défi consiste à trouver la bonne architecture. Dans la plupart des cas, il est plus efficace de créer une architecture interne. Toutefois, si nous ne disposons pas de suffisamment de données, l'utilisation d'une architecture pré-entraînée est une meilleure option.

En investissant dans un matériel dédié, nous avons pu surmonter ces difficultés et améliorer considérablement le délai nécessaire à l'entraînement d'un modèle.

Classification d'images par apprentissage automatique : Les tenants et les aboutissants

Solutions pour les plates-formes

Voyez par vous-même ! Essayez gratuitement les dernières fonctionnalités de ProcessMaker Platform.

Essai gratuit

S'abonner à la Newsletter Hyper-Productivity™ de ProcessMaker

    Consentement à la politique de confidentialité En cochant cette case, vous consentez à Déclaration de confidentialité du fabricant de processus.

    Découvrez comment des entreprises de premier plan utilisent ProcessMaker pour rationaliser leurs opérations grâce à l'automatisation des processus.

    Contactez-nous

    Mise à jour sur la protection de la vie privée
    Nous utilisons des cookies pour rendre les interactions avec notre site web et nos services faciles et significatives. Les cookies nous aident à mieux comprendre comment notre site web est utilisé et à adapter la publicité en conséquence.

    Accepter