- Speaker #0
Bonjour Marion, bienvenue sur Voice of Industries. On est ravis de t'avoir aujourd'hui avec nous pour parler de l'IA appliquée à la vision industrielle. D'ailleurs, ce podcast fait partie d'une série sur l'intelligence artificielle appliquée à l'industrie qu'on fait avec les équipes de ProBiS. Donc merci d'être là aujourd'hui et déjà, peux-tu te présenter, nous en dire un peu plus sur ton activité chez ProBiS ?
- Speaker #1
Bonjour Mathieu, merci beaucoup de m'accueillir. Je suis ravie d'être là. Je m'appelle Marion, je suis à Probaïès depuis 7 ans aujourd'hui et je travaille sur des divers sujets liés à la vision par ordinateur, donc l'IA pour traiter des images et des vidéos sur différents sujets. J'ai travaillé beaucoup sur la partie technique et aujourd'hui je travaille aussi... sur la partie gestion de projet pour différents cas d'usage.
- Speaker #0
Est-ce que tu peux nous donner quelques éléments supplémentaires sur ce que c'est que la vision industrielle ou la vision par ordinateur et ses usages historiques ?
- Speaker #1
L'idée, c'est d'utiliser la vision, donc d'utiliser la prise d'image ou de vidéo pour éviter aux opérateurs d'aller contrôler des choses à la main, par exemple. L'idée, ça peut être sur une chaîne de production. Au lieu de contrôler la qualité, de la pièce qui est fabriquée à la fin de la chaîne de production, on peut aller vérifier la qualité à différents stades de la production, peut-être pour éjecter des produits en amont de la chaîne, éviter de perdre du temps, éviter de perdre des matériaux. Il peut y avoir beaucoup d'autres applications. La détection de défauts, c'est effectivement une des applications principales. Il peut y avoir des applications, par exemple, sur... Des environnements dans lesquels un humain peut avoir du mal à évoluer, par exemple des environnements radioactifs, où on est content de pouvoir prendre des images à distance. Il peut y avoir des applications de comptage d'objets sur des convoyeurs, d'objets dans des entrepôts.
- Speaker #0
Caractérisation aussi, je pense de qualité. Je pense à des clients, par exemple, qui mesurent des granularités, de granulats, en fait, grâce à des images, ils comptent.
- Speaker #1
Oui,
- Speaker #0
tout à fait. Donc c'est relativement vaste en termes de cas d'application.
- Speaker #1
C'est très très vaste. Là, effectivement, la qualité du matériau, c'est quelque chose qui intéresse beaucoup parce que ça peut se décliner en beaucoup d'applications, enfin beaucoup d'approches différentes. Mais la finalité, c'est toujours de se demander si le matériau est de bonne qualité ou pas. Est-ce qu'il peut continuer sur la chaîne de production ? Est-ce que j'arrête là pour éviter de produire quelque chose qui, au final, va avoir une qualité qui ne m'intéresse pas ?
- Speaker #0
Et je dirais la vision industrielle existait avant l'IA, d'ailleurs. La question, c'est qu'est-ce qu'apporte l'IA aujourd'hui aux activités de la vision industrielle ?
- Speaker #1
L'IA, c'est une manière de traiter les images qui est plus robuste, notamment à toutes les conditions d'acquisition, tous les changements de conditions d'acquisition. Donc ça va être, par exemple, aujourd'hui, si je traite quelque chose en IA, je vais pouvoir éclairer la scène différemment, je vais pouvoir beaucoup plus facilement porter l'algorithme.... Sur différents sites de production, je vais pouvoir, par exemple, si aujourd'hui je travaillais sur un convoyeur qui avait un aspect donné, demain je vais pouvoir travailler sur un autre convoyeur qui est un petit peu différent. Ça, des approches en vision un peu plus classique, ça se porte un petit peu moins bien. C'est un peu plus susceptible aux changements de conditions.
- Speaker #0
En gros, l'IA apporte plus d'adaptabilité, si je comprends bien.
- Speaker #1
Oui, c'est l'idée, tout à fait.
- Speaker #0
Maintenant qu'on a vu un peu ce qu'était la vision industrielle et ce que pouvait apporter l'IA, concrètement, comment ça fonctionne, un modèle d'IA appliqué à la vision industrielle ?
- Speaker #1
Alors l'idée, c'est de nourrir le modèle avec des images ou des vidéos qui vont ressembler à ce qu'on veut faire une fois que le modèle sera en production et qui permettra de traiter le problème qui nous intéresse, le besoin qui nous intéresse. L'idée... Au départ, c'est surtout de bien identifier le besoin avec le métier qu'on a en face de nous. Une fois que le besoin est bien identifié, de récupérer des images qui correspondent à ce qu'on a envie de faire au niveau du modèle. Et souvent, il peut y avoir une phase d'annotation suivant les approches qu'on envisage. L'idée, c'est de nourrir le modèle avec ces images-là et en lui apprenant à faire ce qu'il devra faire dans sa phase d'inférence. de production. Une fois que ce modèle-là est appris, la dernière étape, mais la plus importante peut-être, c'est bien sûr de l'évaluer dans les conditions qui vont nous intéresser. Par exemple, sur tous les sites de production sur lesquels on va vouloir intégrer notre modèle typiquement, est-ce qu'on arrive bien à répondre aux besoins qui étaient exprimés au départ ?
- Speaker #0
Maintenant qu'on voit un peu le déroulé, comment, concrètement, en termes de modèle d'IA, quelles sont les différentes options en fonction de... Est-ce que c'est adapté à toutes les applications ou est-ce que différentes approches, différentes applications ? Est-ce que tu peux nous en dire un peu plus sur les différentes possibilités offertes par l'IA ?
- Speaker #1
Du coup, l'IA permet de répondre à pas mal de sujets. Typiquement, on peut faire beaucoup de choses comme de la détection. Donc, je trace une boîte autour de l'objet qui m'intéresse, de la segmentation. Donc là, je viens donner une réponse pour chaque pixel de l'image. Est-ce que c'est l'objet qui m'intéresse ? ou pas, et quel type d'objet ou de défaut il s'agit. On peut avoir aussi des approches plus basées sur du non-supervisé, ça peut être de la reconstruction d'images. On peut faire également de la lecture de texte dans les images, donc ça peut être par exemple des cas dans lesquels je suis dans un entrepôt et j'ai envie d'identifier des pièces à certains endroits ou des localisations dans l'entrepôt. Souvent quand on a un nouveau besoin, Ça peut être des approches de vision un petit peu classiques, comme on en parlait au début. Ça peut être des approches basées plutôt sur du deep learning, qui est aujourd'hui les méthodes à l'état de l'art, pour répondre à énormément de sujets, qui sont souvent les approches qu'on utilise en IA.
- Speaker #0
Tu viens juste de mentionner le deep learning. Pour moi, deep learning, ça veut dire avoir des quantités astronomiques d'images pour entraîner le modèle. Est-ce que c'est praticable pour un industriel ? de mettre en place des modèles de deep learning alors qu'ils ont rarement des bibliothèques d'images très riches.
- Speaker #1
Tout à fait, c'est un sujet qui est très important et sur lequel on apporte... Il y a un soin toujours assez particulier sur cette question-là. Le deep learning, plus on a d'images, mieux on se porte, ça c'est toujours vrai. Cela dit, ce n'est pas une condition sine qua non pour se lancer dans tel modèle. Il y a des modèles qui permettent justement d'aborder les sujets avec relativement peu d'images. Ça peut être quelques dizaines d'images, de l'ordre d'une centaine d'images aussi.
- Speaker #0
Mais dans ce cas-là, c'est-à-dire que ce sont des modèles qui ont déjà été entraînés à faire de la vision et qu'on va adapter à notre cas d'usage en lui donnant des images additionnelles qui correspondent au cas d'usage, c'est ça ?
- Speaker #1
Oui, tout à fait. L'idée c'est que dans tous les cas on essaye de capitaliser sur les modèles qui sont proposés par la communauté. Donc c'est toujours des modèles qui partent de quelque part, qui savent déjà traiter des images, des pixels ordonnés, structurés dans une image. Ça peut être des images à la base qui n'ont vraiment aucun rapport avec le cas d'usage, mais ça permet d'avoir un modèle qui est déjà un peu entraîné et qui a vu un peu de diversité dans une première vie de modèle on va dire. Et derrière ces modèles-là, ils sont ce qu'on appelle fine-tunés, donc réentraînés, avec des images qui ressemblent plus aux cas d'usage qui nous intéressent, avec pourquoi pas les catégories qui nous intéressent, les conditions d'utilisation du modèle par la suite. Est-ce qu'on veut faire du noir et blanc ? Est-ce qu'on veut des images qui sont très zoomées sur la pièce en question ? Parfois ça peut être des images qui ne ressemblent pas du tout à des images qu'on pourrait prendre. toi et moi avec un appareil photo en milieu urbain par exemple.
- Speaker #0
Par contre, ça veut dire que le modèle de deep learning que vous utilisez, quelque part le réseau de neurones ou le réseau convolutionnel qui est derrière, il est déjà construit, structuré, il a fait un apprentissage pour cet exercice de vision, qui n'est pas forcément l'usage qui est... de l'industriel, mais en fait, il a déjà la conception de ce que c'est que la vision est déjà en place dans le modèle.
- Speaker #1
Oui, tout à fait. Il s'est déjà un peu traité des images. Il a vu de la diversité. Ça a permis d'avoir ce qu'on appelle les poids du modèle. En fait, c'est vraiment la structure, le contenu des couches de convolution successives. Ce contenu-là, il a déjà été préentraîné. Donc, il y a déjà une première cohérence entre les différents poids de ce modèle-là. Et après, effectivement, si on ne lui apprend rien de plus, il saura faire ce qu'il a appris à faire, à savoir peut-être détecter des chiens, des Ausha et des vélos dans des images. Et c'est évidemment pas ce qu'on va avoir envie de faire dans les problématiques d'industrie.
- Speaker #0
Ce qui veut dire aussi que, quelque part, l'exercice pour continuer d'apprendre pour le cas d'usage industriel, en fait, est limité à pas forcément des volumes d'images très importants. Et ça veut dire aussi que le coût, on va dire, de calculatoire... pour finir de fine-tuner le modèle, comme tu disais, pas forcément énorme, pour arriver à l'application recherchée.
- Speaker #1
Exactement. Alors, l'idée, c'est aussi de bien choisir l'approche, justement pour qu'elle soit compatible avec le volume de données disponibles. Il arrive qu'on travaille avec des interlocuteurs qui ont déjà un système d'acquisition d'images et qui ont déjà une bibliothèque d'images assez conséquente. Et à ce compte-là, c'est vrai que c'est plus facile parce que les images existent et on choisi derrière ce qu'on en fait. En revanche, oui, comme on l'évoquait tout à l'heure, quand on n'a pas encore de système d'acquisition en place, il n'y a pas d'historique de données très grand. Parfois, on est dans des conditions un petit peu plus de labo, donc où on veut tester les approches et déjà tester le dispositif. Donc là, on est plus sur des volumes un peu plus petits d'images. Et en effet, dans ces cas-là, il y a certains modèles qu'on peut choisir et qui sont moins gourmands en données, qui capitalisent là-dessus, enfin sur les prix entraînement dont on a parlé. Et derrière, effectivement, le travail, c'est de bien choisir nos données, de bien les utiliser aussi, parce qu'on peut faire ce qu'on appelle de l'augmentation de données. Donc, à partir des images qu'on a, les déformer un petit peu, faire comme si on avait un éclairage différent, donc jouer sur le contraste, la variabilité.
- Speaker #0
Tu réussis ton jeu de données d'apprentissage à partir de vraies images, t'en crées tout un tas, dérivés pour avoir plus de variabilité.
- Speaker #1
Exactement, ça a deux vertus, c'est que ça rend le modèle un peu moins gourmand en données et artificiellement ça nous permet surtout d'avoir beaucoup de variabilité et d'être plus robuste à différents changements de conditions d'acquisition. C'est comme ça qu'on arrive à avoir des modèles qui sont moins perturbés dès qu'on va rajouter un éclairage ou faire un contraste un peu différent.
- Speaker #0
Sachant que ce sujet robustesse, adaptabilité, c'est clé pour un environnement industriel qui lui n'est pas parfait.
- Speaker #1
Absolument, d'autant que souvent on est sur des cas où on peut avoir un modèle, un dispositif qui va être sur plutôt un labo, ou plutôt pour tester déjà le dispositif, faire un POC ou un prototypage en tout cas du dispositif et du modèle d'IA, et derrière pouvoir le généraliser à de nombreux sites de production. Et dans ce cas-là, à chaque fois qu'on va réinstaller un nouveau modèle, ça va être des conditions d'acquisition un peu différentes. Ici, il va y avoir un fond qui est un peu plus texturé. Là, ça va être les pièces qui sont un petit peu différentes. Donc, on essaye justement d'apporter de la robustesse en amont pour ne pas se retrouver avec des grosses surprises.
- Speaker #0
Il faut adapter à la main chacun des modèles, à chacune des conditions, ce qui n'est pas, du point de vue industriel, envisageable.
- Speaker #1
Tout à fait. Après, on ne peut pas envisager tous les cas, mais au moins, les changements mineurs et légers, qui ne sont pas forcément... facile à anticiper avec des modèles qui ne font pas de l'IA, donc des modèles un peu plus de vision standard, l'IA est un peu plus robuste justement à ces changements un peu légers.
- Speaker #0
Pour entrer un peu dans le concret, est-ce que tu peux nous donner quelques exemples d'applications que vous avez traitées chez Probayes ?
- Speaker #1
Oui, tout à fait. partie détection de défauts, on a traité un cas qui était pour Volvo Trucks où on fabrique des arbres à cams. Donc c'est des pièces qui participent à la construction des camions. Et donc sur ces arbres à cams, il faut imaginer une longue tige avec des pièces le long de la tige. Et sur cette pièce globale, il peut y avoir des petites fissures, des petits défauts qui viennent au milieu de la chaîne de production. Et donc, avant qu'on puisse faire de l'IA, l'idée, c'est que toute la chaîne de production était exécutée et c'était à la fin de la fabrication qu'on se disait bon, mon arbre à cames, il a certains défauts plus ou moins importants. Il faut que je le jette ou je peux continuer avec cette pièce là. Et donc là, l'idée, c'était de mettre une caméra pendant la fabrication de la pièce. pour pouvoir venir détecter les défauts en amont et ne pas aller jusqu'au bout de la production si on voit qu'il y a un défaut qui risque d'être majeur pour la suite.
- Speaker #0
Sachant en plus que si on détecte le défaut plus tôt, on peut agir sur la cause plus rapidement, éviter de fabriquer des pièces non conformes.
- Speaker #1
Exactement, c'est l'étape d'après.
- Speaker #0
Un peu trop long,
- Speaker #1
ouais. C'est l'étape d'après. Souvent d'ailleurs, c'est pas rare en tout cas que sur des projets comme ça, on ait un premier objectif de constat. de détection et derrière, une fois qu'on commence à avoir des données, à mieux pouvoir analyser, qu'on puisse aller un peu plus loin sur la partie comment je traite ce constat de qualité en amont, comme tu disais, pour améliorer la chaîne de production elle-même.
- Speaker #0
Est-ce que tu aurais d'autres exemples, en particulier plutôt industrie de procédé ?
- Speaker #1
Oui, on a traité aussi un cas où on cherchait à détecter les défauts qui apparaissaient au moment de la création de plaques d'électrode. Donc là c'était pour la fabrication de batteries de très petite dimension. L'idée c'est qu'on crée des plaques avec plusieurs anodes sur ces plaques-là, d'autres plaques avec des cathodes et on empile derrière ces plaques. Et s'il y a un défaut sur l'anode ou sur la cathode, ben du coup derrière ça a un impact sur la qualité évidemment de la batterie qui est créée. Et donc là l'idée c'était de venir détecter et reconnaître le type de défaut et de la qualité de la batterie. présent sur chacune des composantes de la plaque. Donc là, il y a eu un travail qui était à la fois de l'IA vraiment concrètement pour la détection de tous ces défauts. Il y a eu aussi un travail un peu plus global sur la prise en compte de la localisation de ces défauts dans la plaque. Il y a eu un travail également de conseil et d'accompagnement du métier sur la solution qu'on leur a fournie, pour qu'ils puissent être autonomes aussi sur... l'amélioration de cette IA par la Suisse, ils veulent pouvoir la maintenir et derrière la mettre en prod sur de nombreux sites de production. Et en l'occurrence, c'est des cas sur lesquels il peut y avoir, par exemple, un besoin du métier, justement, d'être souverain sur les bibliothèques qu'on leur livre. Dans ces cas-là, effectivement, tout est derrière, à la main du métier, et ils peuvent être... complètement en autonomie, on donne l'accès à tout le code. Et dans ces cas-là, ça permet de continuer à travailler ensemble sur l'amélioration de cette approche.
- Speaker #0
Très bien, ça permet, dans votre approche, on va dire que vous accompagnez le client, vous le faites monter en compétences, et vous lui donnez quelque part la main sur le code pour pouvoir faire vivre dans la durée ses modèles de vision.
- Speaker #1
Oui, tout à fait, si c'est un souhait, en tout cas du métier. Après, ce n'est pas forcément le cas. Parfois, ça peut être... simplement quelque chose un peu clé en main et puis on n'a pas forcément de souhait de monter en compétence sur l'utilisation du livrable. Mais dans certains cas, effectivement, le client souhaite à la fois pouvoir manipuler et avoir la compétence en interne. Donc, ce n'est pas rare qu'on fasse un peu de formation, de conseils et d'accompagnement sur l'utilisation des modèles pour aller un peu plus loin.
- Speaker #0
Sur base de ces expériences, quelles seraient tes préconisations pour un industriel qui souhaite se lancer dans l'usage de l'IA pour ces sujets de vision industrielle ?
- Speaker #1
Pour moi, il y a plusieurs points un peu clés. Le premier axe dont je parlerais, c'est au niveau de la donnée. Pas forcément des quantités de données comme on a pu en parler tout à l'heure. Plus il y en a, mieux on se porte évidemment, mais surtout avoir de la donnée qui va être le plus proche possible. des conditions d'acquisition et des conditions opérationnelles qui nous intéressent au final. Donc ça, pendant la phase de dimensionnement, la phase de preuve de concept, c'est assez important qu'on se place dans des conditions opérationnelles finales. Un autre axe dont je parlerai, c'est la définition du cas d'usage, qu'on se place dans un cas d'usage dans lequel l'image contient effectivement l'information qu'on souhaite traiter. Par exemple, si on acquiert des images sur un procédé sur lequel il faut aller physiquement mesurer des choses qu'on ne peut pas voir dans les images, là effectivement la vision n'est pas forcément la meilleure manière de répondre à la question, mais dès que l'information est présente dans les images, c'est là qu'il y a de la pertinence, c'est tout bête. Et au niveau du cas d'usage, plus largement je parlerai aussi du cadrage du besoin. sur quoi on va vouloir exécuter les modèles ? Est-ce que ça va être une problématique temps réel ? Auquel cas, il faut faire des choix d'architecture qui sont adaptés à ce besoin-là. Est-ce qu'au contraire, on ne va pas avoir besoin de temps d'exécution très fort ? En revanche, un besoin irréprochable sur la qualité, à ce moment-là, ça va être des approches plus dédiées sur cet axe-là. Qui va être l'utilisateur final ? Comment va être utilisé le modèle ? Et est-ce qu'on répond bien à la question en proposant un classifieur, un segmenteur ? Quelle est la bonne manière d'aborder le sujet ?
- Speaker #0
Quelle est la donnée de sortie qu'on attend pour répondre au cas d'usage ?
- Speaker #1
Oui, tout à fait. Et est-ce que ce qu'on a imaginé au départ, ça répond bien à la question que va se poser l'utilisateur final ? Et puis, je pense que le dernier axe dont je parlerai, c'est toute la partie suivie de projet et visibilité entre le métier et le développement des IA. L'idée, c'est d'avoir le moins possible d'effets tunnels, d'être sûr qu'on soit bien en phase toujours sur le besoin final, la manière d'y répondre, éventuellement les surprises qu'on peut rencontrer en cours de projet, les questions qu'on peut avoir, trouver un partenariat avec lequel on a une relation de confiance et on sait qu'on se dirige toujours vers la bonne direction. Je pense que c'est une clé importante du succès des projets.
- Speaker #0
Merci beaucoup Marion.
- Speaker #1
Merci Mathieu.
- Speaker #0
Au plaisir !