CVB Polimago vs deep learning
« L’apprentissage profond désigne un ensemble de méthodes de machine learning qui utilisent des réseaux artificiels de neurones. L’apprentissage peut être supervisé, semi-supervisé ou non supervisé. »
Comment fonctionne le deep learning avec la vision industrielle ?
Pour y répondre, il est important de connaître la façon dont les décisions sont prises dans un système de vision et de voir comment améliorer cette étape avec l’apprentissage automatique.
Ces réglages fonctionnent bien avec des voitures de type berline. Mais pour d'autres types de voitures, il faudra adapter les paramètres.

Puis, une fois passé en revue les différents types de voitures, vous devrez inclure de nouveaux paramètres adaptés aux autres types de véhicules.

Les ajustages ne concernent jusqu’à présent que la vue de profil. Il faudra y ajouter d’autres angles de vue et dimensions.
Apprendre à l’aide d’exemples
Comment un enfant apprend-il à reconnaître une voiture ? Quel est le rapport avec l’apprentissage automatique ?
L’apprentissage automatique cherche à reproduire ce processus : la machine apprend à l’aide d’exemples au lieu de s’appuyer sur les instructions explicites de l’utilisateur. Ces exemples proviennent du monde réel et forment des ensembles qui servent de base à l’apprentissage du système.
Réseaux de neurones
Comme la relation entre les données entrantes et sortantes n’est en géneral pas linéaire dans les applications de vision, les processus de prises de décision entre elles sont complexes.
Les perceptrons (ou neurones formels) ont été développés à la fin des années 1950 par Frank Rosenblatt, un psychologue américain reconnu pour son travail dans le domaine de l'intelligence artificielle.
Image Source: https://en.wikipedia.org/wiki/File:Rosenblatt_21.jpg
Les neurones (ou perceptrons) n’ont qu’une seule sortie à partir de différentes entrées. Chaque entrée a un poids qui lui est associé (en fonction de son importance). A partir de leur somme et d’une valeur seuil (de la somme totale), le résultat est calculé.

L'interconnectivité des neurones est ce qui constitue un réseau neuronal artificiel. Les neurones s’organisent sous forme de couches reliées entre elles. Ces connexions deviennent de plus en plus complexes à mesure qu'elles progressent dans la structure (en profondeur), à travers des couches intermédiaires (ou cachées), pour produire un résultat. Les réseaux de neurones se composent généralement de trois sortes de couches :

Sans les couches cachées intermédiaires, le système ne peut gérer que des problèmes relativement simples. Plus l’interconnectivité sera forte et le nombre de couches cachées élevé, plus les données pourront se combiner entre elles et aboutir à des prises de décision complexes. La topologie du réseau est donc essentielle à la complexité des décisions.
Pour effectuer ces ajustements, il faut cependant que le résultat puisse envoyer une sorte de feedback, ce qui demande une très grande quantité de données.
Réseaux de neurones convolutifs
Un réseau de neurones convolutif, ou CNN, est une forme de réseau de neurones artificiels. Il comporte au moins une couche, constituée d’unités convolutives pour l’extraction des données de l’image.
Apprentissage supervisé ?
Les réseaux de neurones ne sont pas les seuls algorithmes d'apprentissage, mais ils sont les plus répandus parmi les multiples approches d'apprentissage automatique.
L'apprentissage supervisé utilise des images étiquetées, ou marquées, à partir desquelles l'algorithme génère une fonction qui permet de classifier correctement ces images. Cependant, cette méthode ne permet pas de dire quelles variables d'entrée doivent être utilisées pour programmer l'algorithme. Ainsi, avant l'apprentissage proprement dit, une approche itérative de l'apprentissage est nécessaire afin de se faire une idée de la « pertinence » des résultats.
« Une des caractéristiques importantes d'une machine qui apprend est que son professeur est souvent très largement ignorant de ce qui se passe à l'intérieur, bien qu'il soit encore capable, dans une certaine mesure, de prédire le comportement de son élève. »
(Alan Turing, 1950, dans « Computing Machinery and Intelligence ». Mind, 59, 433-460)
Des données, des données et encore des données... En a-t-on vraiment besoin ?
Pour qu'un outil de machine learning fonctionne, il a besoin d'un retour d'information concernant les bonnes et les mauvaises décisions. L’outil d’apprentissage ne connaît que les données d’images marquées. Ainsi, les différences repérées sur ces images permettent à l’outil de savoir à quoi ressemble une catégorie donnée et quelles en sont ses limites. La recherche de cas limites est une partie importante du processus.
Pour cette raison, il est essentiel que les données qui servent à l’apprentissage soient réellement représentatives des différents types de variations que le système verra au moment de sa mise en service. Aussi, pour éviter que les résultats ne soient faussés par quelques « valeurs aberrantes », de grands ensembles de données sont nécessaires.
CNN & CVB Polimago : pour ou contre
Les applications utilisant les CNN et CVB Polimago sont très souvent les mêmes, même si certaines ne s’effectuent actuellement qu’avec des CNN, comme l'apprentissage non supervisé (formation à partir de données non étiquetées) ou la segmentation d'image (à partir de caractéristiques relatives à la texture) par exemple. CVB Polimago, quant à lui, a besoin de beaucoup moins de données de formation : 50 images par catégorie suffisent en général, au lieu de 500 à 1000 pour les CNN. La faible quantité de données d’apprentissage permet ainsi d’utiliser CVB Polimago dans de nombreuses applications industrielles, la détection de défauts par exemple, où la quantité d’images de défauts est relativement faible.
Avec un ensemble de données plus restreint, CVB Polimago a un autre avantage : les paramètres de formation du système sont moins nombreux qu’avec un CNN, ce qui peut rendre CVB Polimago plus accessible à un nouvel utilisateur.
Rendez-vous sur notre site Common Vision Blox pour en savoir plus sur CVB Polimago