L'IA : un terrain de jeu ou un outil industriel ?

C'est une question qui est actuellement beaucoup discutée. La réponse, comme souvent, se trouve dans l'œil du spectateur. Car chaque utilisateur a des attentes différentes quant aux réalisations ou aux apports exigés d'une technologie pour qu'elle soit reconnue et finalement utilisée. Dans tous les cas, le matériel nécessaire à une utilisation productive et efficace est disponible. De nombreux fabricants de matériel de vision artificielle l'ont reconnu. La gamme de plateformes d'IA dans différentes classes de performance ne cesse de croître. Mais il y a encore des problèmes de démarrage. La simple fourniture de matériel ne suffit pas : les mentalités doivent évoluer !

Que manque-t-il à l'IA ?

Que l'IA ou l'apprentissage automatique (ML) fonctionnent très différemment du traitement d'images basé sur des règles et que, par conséquent, l'approche et le traitement des tâches de vision diffèrent également n'arrange rien. La qualité des résultats n'est plus le produit d'un code de programme développé manuellement, mais est déterminée par le processus d'apprentissage avec des données d'image appropriées. Ce qui semble si simple ne peut atteindre l'objectif souhaité qu'avec des connaissances spécialisées et une expérience suffisantes. Sans un œil averti capable d'apprécier les données correctes, des erreurs se produisent souvent, ce qui entraîne une application incorrecte des méthodes d'apprentissage automatique (ML). Des tests ont montré que la qualité de l'entraînement des réseaux de neurones artificiels (ANN) pour une même tâche varie selon les utilisateurs, car ces derniers emploient parfois pour l'entraînement des images avec un contenu sans intérêt, une mauvaise exposition, un flou ou des étiquettes erronées.

Les compétences clés pour travailler avec les méthodes d'apprentissage automatique (ML) ne sont plus les mêmes que pour le traitement d'images à base de règles et doivent donc être spécifiquement développées. Celui qui dispose du temps et des ressources requises pour utiliser ces méthodes dans son travail, les tester et s'amuser avec peut acquérir cette expérience et découvrir les pièges à éviter. Aujourd'hui, cela est plutôt réservé à des entreprises jeunes ou nouvellement créées. Vous ne subissez pas l'emprise du passé, n'êtes pas lié aux processus existants et n'avez pas peur de vous confronter, par jeu et avec une grande curiosité, à des tâches pour lesquelles le traitement d'image classique n'offrait jusqu'à présent aucune solution ? Tant que les acteurs majeurs n'ont pas encore présenté la nouvelle technologie à leurs clients et fait campagne pour elle, il existe un manque de connaissances et de confiance, y compris du côté du client. Pour que les « anciens » acceptent de sortie de leur zone de confort, quelque chose doit changer. Car l'IA s'oppose à un système établi, pour lequel des conditions environnementales adaptées ont été créées au cours des années passées. Les connaissances, la documentation, la formation, le matériel, les logiciels, les environnements de développement, l'acceptation et la demande des clients ont eu largement le temps de mûrir. L'IA, en revanche, reste encore très rudimentaire. Celui qui la maîtrise gagne l'admiration et la reconnaissance, mais suscite aussi des questionnements et l'incompréhension.

Un autre aspect important pour l'avenir concerne les nouveaux groupes cibles. Le Dr.-Ing Peter Ebert, rédacteur en chef du magazine spécialisé inVISION et expert en la matière, déclare : « La communauté de la vision du futur ne sera pas seulement composée d'experts en traitement d'images classique, mais elle se développera également autour du domaine de l'IoT. » Avec de nouveaux groupes d'utilisateurs, les cas d'utilisation et les exigences pour l'utilisation des technologies existantes changent obligatoirement . Le SDK de programmation classique n'est pas toujours suffisant. Les règles éprouvées doivent être transgressées !

Le logiciel en tant que pionnier

Le matériel adapté ne manque pas ! Grâce à des accélérateurs d'IA efficaces, les applications de l'apprentissage automatique (ML) sont particulièrement intéressantes pour les petits systèmes de vision embarqués économes en énergie ou les plateformes de caméras d'inférence entièrement intégrées, tels qu'ils sont déjà proposés par des fabricants individuels. Mais cela ne suffit pas à résoudre les problèmes de démarrage de la nouvelle technologie dans l'industrie. L'IA doit être testée, validée, formée et enfin intégrée dans un workflow productif, l'application. Mais qui réalise cela ? Qui en est capable ? Il s'agit en fait toujours des mêmes tâches récurrentes. Mais cela nécessite d'autres compétences qui vont au-delà du développement de prototypes. Il faut également, en général, un programmeur système capable de programmer ces outils pour une plateforme spéciale.

IDS adopte une approche différente avec la plateforme IDS NXT et a une certitude : Avec les outils adéquats, bien coordonnés, chaque groupe d'utilisateurs peut utiliser pleinement le potentiel d'une plateforme de vision IA sans investir beaucoup de temps et d'argent dans la création de nouvelles compétences de base, lesquelles ne sont en fait pas vraiment nécessaires à la mise en œuvre de leurs propres applications d'IA. Qu'est-ce que cela veut dire ? Pour de nombreux workflows d'IA simples, des connaissances spéciales pour la formation des réseaux de neurones et la programmation de vos propres applications peuvent être intégrées dans les outils. De la sorte, chaque utilisateur peut mettre en œuvre ses exigences individuelles sans avoir à constituer sa propre équipe de spécialistes. Le logiciel permet aux différents groupes d'utilisateurs d'utiliser les bons outils pour leurs tâches et méthodes de travail respectives.

Une application de traitement d'images est un cadre regroupant plusieurs opérations individuelles spécifiques dans une séquence propre à l'application et qui est censé les exécuter efficacement et sans erreurs. Normalement, cette tâche est programmée par les développeurs dans un code de programme adapté à la plateforme, tel que C++. La situation est un peu différente avec les nouvelles plateformes d'IA qui arrivent sur le marché. Un kit de développement logiciel (SDK) fournit les interfaces logicielles nécessaires pour la programmation matérielle de la plateforme respective, y compris les accélérateurs d'IA existants. Dans la plupart des cas, les développeurs d'applications disposent d'une plateforme qui peut être en grande partie programmée librement pour leurs propres solutions de processus. Pour le spécialiste, seules les performances matérielles et les SDK fixent une limite à la créativité. La caméra d'inférence IDS NXT, grâce à un SDK incluant de nombreux exemples de code source C++, est également une plateforme ouverte pour les développeurs qui souhaitent concevoir leurs propres applications de traitement d'images sous forme d'applications de vision avec l'accélérateur d'IA deep ocean.

Assistant d'application

La majorité des applications de traitement d'images fonctionnent toutefois avec des processus relativement simples. Prise d'image → analyse de l'image ou extraction des caractéristiques (traitement d'image) → prise des décisions de processus → lancement de l'action. Il peut s'agir d'une simple reconnaissance et classification de produits, suivie d'une signalisation ou d'une transmission d'informations via diverses interfaces pour une commande de machine ou un système de tri. Ce sont des fonctionnalités de base qui ne diffèrent que par quelques détails et n'ont donc pas besoin d'être reprogrammées à chaque fois. Cependant, sélectionner un cas d'utilisation d'apprentissage en profondeur (DL) tel que la « classification » ou la « détection d'objets » comme point d'entrée d'un projet est souvent trop abstrait pour permettre de déduire les étapes supplémentaires nécessaires à l'acquisition de données et à la configuration de l'application de vision.

C'est pourquoi IDS s'emploie à rendre la vision IA accessible et simple d'utilisation pour le grand public avec les caméras d'inférence IDS NXT. La création d'une application doit être possible pour chaque groupe d'utilisateurs, qu'il s'agisse de programmeurs, de professionnels du traitement d'images ou d'opérateurs de machines et d'ouvriers qualifiés. À cette fin, la prochaine mise à jour du logiciel d'entraînement des réseaux de neurones artificiels basé sur le cloud IDS lighthouse inclura un assistant encore davantage orienté vers les problèmes réels de l'utilisateur et qui l'assistera avec des instructions appropriées. L'assistant étend facilement le rayon d'action du groupe cible et accompagne désormais toutes les tâches individuelles d'une application de vision artificielle. À partir de la question « Que voulez-vous faire », IDS lighthouse propose un choix de problèmes très orientés application, tels que « Compter les objets », « Vérifier la présence ou l'absence » ou « Vérifier les points de test ». L'assistant sélectionne ensuite la base d'applications avec le cas d'utilisation DL approprié en arrière-plan et suggère d'autres actions à l'utilisateur afin de collecter les informations nécessaires. En outre, des informations utiles, des vidéos ou des instructions sont proposées pour fournir à l'utilisateur les connaissances de base nécessaires. Une telle « création d'application guidée » rappelle davantage un tutoriel qu'un développement d'application classique. À la fin, une application de vision entièrement spécifique au client est disponible en téléchargement, que l'utilisateur n'a qu'à activer et démarrer sur une caméra IDS NXT.

« Assembler un puzzle » au lieu de programmer

Si vous souhaitez créer des processus plus complexes, vous n'avez pas nécessairement besoin de recourir au C++ ou à d'autres langages de programmation textuels. Si vous emballez la bibliothèque de fonctions dans des blocs visuels et fournissez un éditeur visuel, les processus peuvent être assemblés comme les pièces d'un puzzle sans qu'on ait à se soucier des commandes exactes des langages de programmation individuels. Blockly est un projet de Google qui a été créé précisément à cet effet. IDS s'appuie sur Blockly et adapte ses propres fonctionnalités afin de pouvoir assembler les tâches d'inférence de la caméra dans une sorte de kit de construction dans des processus plus ou moins complexes.

Avec Blockly, les tests, y compris à plusieurs niveaux et avec plusieurs réseaux neuronaux artificiels, peuvent être regroupés très facilement dans une séquence de programme.
Avec Blockly, les tests, y compris à plusieurs niveaux et avec plusieurs réseaux neuronaux artificiels, peuvent être regroupés très facilement dans une séquence de programme.

Grâce à l'interface utilisateur intuitive de Blockly Editor, même les débutants et les profanes obtiennent rapidement des résultats. L'avantage de la programmation visuelle avec ce système modulaire par rapport à l'assistant d'application est la possibilité de créer vos propres processus. Les variables, les paramètres et les résultats de l'IA peuvent être liés de manière simple via des liens logiques avec des calculs mathématiques et des instructions conditionnelles if/else ou avec des actions répétitives automatisées à l'aide de boucles. Cela permet également des flux de travail plus complexes avec des contrôles d'objets en deux étapes et plusieurs réseaux neuronaux. Une reconnaissance d'objet assure par exemple un pré-tri élémentaire des différentes pièces, suivi d'une analyse détaillée des erreurs par un second classificateur afin de catégoriser encore plus précisément les pièces. Autrement, de tels processus ne sont possibles qu'avec le VAC (Vision App Creator) et des connaissances en programmation en C++.

Un autre avantage des applications « puzzles » est leur utilisation très dynamique. Comme avec Python, la programmation des applications de vision avec Blockly permet d'exécuter directement du « code », aucune compilation croisée fastidieuse n'étant nécessaire. Après des tests initiaux dans la caméra, la programmation d'une application créée dans IDS lighthouse peut se poursuivre de manière interactive – directement dans la caméra ! Les applications de vision peuvent également y être conçues directement. Cela fait de cet éditeur d'applications visuelles l'outil idéal, de la phase de test et d'essai à l'utilisation opérationnelle.

Du configurateur d'applications entièrement automatisé à la programmation entièrement libre avec le SDK classique en passant par un kit de construction d'applications de vision doté d'une interface visuelle intuitive, IDS NXT offre l'outil approprié pour chaque niveau de connaissance. Cela permet d'économiser du temps et de l'argent lors de la mise en service et de la configuration d'applications de traitement d'images individuelles avec l'intelligence artificielle.

Résultats explicables

Malgré les avantages connus de l'IA appliquée à la vision et la grande précision des réseaux neuronaux artificiels utilisés, le diagnostic en cas d'erreur est souvent difficile. Un manque de compréhension des méthodes de travail ou des résultats inexplicables sont le revers de la médaille et entravent la diffusion des algorithmes. Dans le public, les réseaux neuronaux artificiels sont souvent perçus à tort comme une boîte noire dont les décisions sont incompréhensibles. « Si les modèles DL sont sans aucun doute complexes, ce ne sont pas des boîtes noires. En fait, il serait plus approprié de les appeler boîtes en verre car nous pouvons regarder à l'intérieur et voir ce que fait chaque composant. » [Cité de « La métaphore de la boîte noire dans l'apprentissage automatique »]. Les décisions d'inférence des réseaux neuronaux ne sont pas basées sur des règles classiques et compréhensibles, et les interactions complexes de leurs neurones artificiels ne sont peut-être pas être faciles à appréhender pour l'homme, mais elles sont néanmoins le résultat d'un système mathématique et, donc, reproductibles et analysables. La seule chose qui manque, ce sont les outils adéquats pour nous aider. C'est précisément dans ce domaine de l'IA que le potentiel d'amélioration reste conséquent. Et c'est là qu'on peut voir à quel point les différents systèmes d'IA du marché peuvent assister les utilisateurs dans leurs projets.

IDS effectue des recherches et travaille dans ce domaine avec des instituts et des universités pour développer ces outils. Le logiciel IDS NXT Experience Kit inclut d'ores et déjà les résultats de cette collaboration. Une visualisation sous forme de cartes dites cartes d'attention (cartes thermiques) permet de mieux comprendre les décisions critiques de l'IA. À terme, il s'agit de favoriser l'acceptation des réseaux de neurones dans l'environnement industriel. De la même manière, les distorsions de données (ou biais) ayant fait l'objet d'un apprentissage peuvent être reconnues et évitées (voir la figure « Cartes d'attention »). Des analyses statistiques à l'aide d'une matrice dite de confusion seront bientôt possibles à la fois dans le logiciel d'entraînement basé sur le cloud IDS lighthouse et dans la caméra IDS NXT elle-même. Il sera ainsi possible de déterminer et comprendre plus facilement la qualité du réseau neuronal artificiel formé. À l'aide de ces outils logiciels, les utilisateurs peuvent retracer plus directement les comportements et les résultats de leur IA IDS NXT jusqu'aux faiblesses de l'ensemble de données d'entraînement et les corriger de manière ciblée. Cela rend l'IA explicite et compréhensible pour tout le monde.

Convient pour une utilisation industrielle en tant que package complet

L'énorme potentiel de l'intelligence artificielle ne fait aucun doute. Le matériel disponible sous la forme de caméras d'inférence avec des accélérateurs d'IA montre également à quel point son emploi peut se révéler efficace. Mais la fourniture de matériel à elle seule ne suffit pas pour contaminer l'industrie à tous les niveaux avec l'IA. Les fabricants sont tenus d'accompagner les utilisateurs en leur transmettant leurs compétences sous la forme de logiciels conviviaux et de processus intégrés. Par rapport aux procédures éprouvées qui ont évolué au fil des ans et permis de constituer une fidèle base de clients avec beaucoup de documentation, de transfert de connaissances et de nombreux outils logiciels, l'IA a encore beaucoup de retard à rattraper, mais les choses évoluent rapidement. Actuellement, nous travaillons également sur des normes et des certifications afin d'accroître encore l'acceptation et la compréhension, et d'élargir le champ d'application de l'IA. À terme, chacun devra se familiariser avec la nouvelle technologie pour ne pas rater le coche. IDS œuvre dans ce sens. Avec IDS NXT Experience Kit, un système d'IA embarqué est déjà disponible qui peut être utilisé rapidement et facilement comme outil industriel par chaque groupe d'utilisateurs, avec de nombreux outils logiciels conviviaux, même sans connaissance approfondie de l'apprentissage automatique, du traitement d'images ou de la programmation d'applications .