Capteurs optiques et Intelligence Artificielle : une myriade de solutions
1 – Tendances et évolution des capteurs
Une diversité de technologies
Il existe une très grande variété de capteurs optiques, basés sur des technologies – elles aussi – très différentes.
Bien entendu, nous retrouvons les capteurs optiques classiques, captant le domaine visible et produisant des images RGB classiques. Ce sont ces capteurs que nous retrouvons dans nos appareils photos, nos webcams ou encore nos smartphones.
Nous trouvons également des capteurs dépassant les capacités de l’œil humain. Ces derniers sont capables de percevoir des choses qui nous restent invisibles. Nous pensons, bien entendu, aux capteurs infrarouges et proche-infrarouges, qui peuvent être actifs (via l’utilisation d’un flash infrarouge) ou passifs. Efficaces de jour comme de nuit, ils s’avèrent être de formidables compléments aux caméras classiques.
Mais l’infrarouge n’est pas la seule longueur d’onde qui nous soit imperceptible. Pour pallier cela, nous disposons d’autres capteurs multispectraux. Certaines technologies permettent ainsi de capter certaines longueurs d’ondes, traductrices d’événements que nous cherchons à observer et comprendre. Pour l’agriculture, par exemple, un capteur multispectral permet de donner des indications quant à la santé des cultures.
Viennent ensuite des capteurs un peu plus exotiques ou basés sur des technologies bien plus récentes. Nous retrouvons parmi eux les capteurs laser, les capteurs laser multipoints (capables de scanner des objets et environnement en 3D), ou encore les imageurs à rayon X. Ces technologies se révèlent très utiles dans certains domaines.
Enfin, nous voyons également naître de nouvelles technologies de capteurs optiques. Les capteurs Térahertz, par exemple, utilisent des ondes capables de traverser la matière tout en se soustrayant des inconvénients des RX. Nous pouvons également citer les capteurs dits event-based. Cette famille de capteur va venir détecter les changements directement lors de l’acquisition de l’image. Le traitement de changement d’état ne se fait plus via l’électronique ou le logiciel. Ici, chaque pixel peut indiquer qu’il a changé d’une image à l’autre. Ainsi, avoir recours à cette technologie permettrait de faire des économies d’énergie, mais également de calculs puisqu’il y a moins de données à traiter.
Miniaturisation VS Résolution
Si nous avons vu qu’il existe une grande variété de technologies et donc de capteurs optiques, deux tendances sont tout de même facilement observables.
D’un côté, nous essayons de rendre les capteurs toujours plus petits. En effet, un capteur plus petit rime avec une intégration plus simple et des conditions d’utilisation plus étendues. Ce n’est qu’en les miniaturisant que les capteurs optiques ont pu trouver une place dans nos smartphones par exemple.
Parallèlement à la miniaturisation, nous avons assisté à une véritable course à la définition. Les différents constructeurs jouent des coudes pour annoncer un nouveau capteur multipliant le nombre de pixels. Et ce n’est pas que de la communication ou de l’ego, une très haute définition peut s’avérer très utile ! En fonction du besoin ou de ce que nous cherchons à observer, une caméra très haute définition peut être indispensable comme pour du contrôle qualité et de la détection de défauts ou de particules contaminantes.
Nous assistons donc à un trade-off entre volonté de miniaturiser tout en allant chercher toujours plus de précision. En guise de solution, les différents constructeurs doivent faire des choix et trouver des compromis. En résultent différentes gammes de capteurs ciblant des usages de plus en plus précis.
Une alliance matérielle et logicielle
Comme nous l’avons vu précédemment, concilier miniaturisation et hautes performances entraîne son lot de complexité, notamment quand on se concentre exclusivement sur le matériel, le hardware.
Toutefois, une autre voie est possible et elle est d’ailleurs déjà bien empruntée : le logiciel.
Une meilleure qualité d’image ne passe plus forcément par une amélioration hardware, un logiciel combiné à un capteur peut tout à fait remplir ce rôle ! Et nous pouvons nous en rendre compte au quotidien avec les dernières générations de smartphones. Les photos prises via le capteur sont analysées et améliorées par un logiciel spécifique.
De plus, de nouvelles avancées scientifiques en traitement d’images, comme la super-résolution, portent de belles promesses et placent le logiciel comme une solution idéale.
2 – La miniaturisation de l’IA
Des progrès hardware à vitesse grand V
Il n’y a pas que les capteurs qui se sont miniaturisés ! D’autres progrès matériels considérables ont permis à l’IA de, elle aussi, se miniaturiser.
Les performances du premier processeur Intel sorti en 1971 semblent aujourd’hui bien lointaines ! Une dizaine d’années plus tard, de nouveaux PCs plus performants ont vu le jour afin de réduire les problématiques de calcul liées à l’IA. Ils sont désormais équipés de CPU et GPU qui permettent une vitesse d’exécution plus rapide, une puissance de calcul décuplée et un interfaçage plus ergonomique.
Les années 2000 laissent derrière elles les ordinateurs encombrants. Ils se miniaturisent jusqu’à se faire appeler smartphones. On voit même apparaître des nano ordinateurs, tel que le Raspberry Pi. Certains modèles de nano ordinateurs peuvent tenir dans une main tout en offrant des caractéristiques proches aux PCs standards. Les objets quant à eux sont désormais connectés. Des casques de réalité virtuelle, comme l’Oculus, deviennent même totalement autonomes. Tout devient plus facile à utiliser, léger et surtout rapide.
CPU, GPU, TPU… des caractéristiques spécifiques
Vous avez déjà certainement entendu parler de CPU, GPU ou peut-être même de TPU. Mais savez-vous à quoi correspondent ces appellations ?
Commençons par parler du plus célèbre d’entre eux, le CPU, également connu sous le nom de processeur. Il a un rôle exécuteur, c’est-à-dire qu’il traite et organise les informations en provenance des autres composants. C’est également lui qui réalise les calculs qui facilitent l’interaction entre la machine et son utilisateur.
Quant au GPU, ou processeur graphique, il s’occupe des calculs graphiques et résolutions de calculs mathématiques. Il gère entre autres l’affichage des pixels, textures et formes à l’écran. Le GPU s’embarque généralement sur une carte graphique.
Enfin l’unité de traitement de tenseurs, plus couramment appelée TPU, accélère les calculs et les algorithmes d’IA. C’est un processus de développement spécifique aux algorithmes de Deep Learning.
L’IA embarquée dans le capteur
L’IA a également énormément progressé. À tel point qu’il est possible d’intégrer des réseaux de neurones dans un système embarqué. Et ce, grâce à une optimisation des algorithmes sans pertes de performances.
Grâce à un matériel perfectionné, l’IA s’embarque donc sur des capteurs avec micro contrôleurs. Des composants spécifiques pour l’accélération des réseaux de neurones ont même été créés. C’est ce que l’on appelle l’IA Embarquée, ou Edge Computing.
On trouve plusieurs avantages à cette méthode. Elle permet avant tout une réduction de la consommation énergétique et des délais de traitement. Contrairement à un traitement cloud, les données sont conservées dans le capteur au lieu d’être envoyées vers un lieu de stockage distant. En plus de limiter les coûts liés au traitement de la donnée, cela diminue également les risques qui lui sont associés. En effet, la conservation des données sur capteur assure une meilleure confidentialité de ces dernières. Sans compter le fait que la prise de décision peut se faire en l’absence de réseau.
Lorsque l’on développe pour de l’IA embarquée, les algorithmes sont choisis consciencieusement. Ils assurent ainsi le meilleur compromis entre performance et coût. Sans pour autant négliger les besoins des utilisateurs finaux.
3 – Quelle solution choisir ?
En fonction de son projet et de son besoin, viendra le temps de définir la solution idoine : le bon capteur associé au bon modèle d’IA et à un déploiement pertinent. En effet, trouver la bonne solution dépend avant tout de la tâche visée.
Le bon capteur
Commençons par le capteur, un sujet déjà évoqué précédemment, si l’on utilise des capteurs reprenant la perception humaine, l’intelligence artificielle ne viendra pas révolutionner notre analyse et ne visera qu’une automatisation – ce qui n’est déjà pas si mal pour bon nombre de process. Cela semble plutôt logique : comment changer un processus grâce à l’IA si on lui demande de reproduire ce que fait l’humain.
Prenons le cas d’un processus de contrôle qualité basé sur une inspection visuelle et que vous vous équipez de caméras classiques, vous observerez plus ou moins la même chose via la caméra qu’au travers d’un œil humain. Vous devrez donc conserver toutes les étapes du processus vous permettant d’arriver à cette étape d’inspection visuelle, où l’IA pourra entrer en jeu.
Néanmoins, ce qu’il y a de bien avec l’intelligence artificielle, c’est qu’elle peut s’interfacer avec une myriade de capteurs. Caméras RGB, infrarouge, multispectral, terahertz… Nous avons vu qu’il existe une grande diversité de capteurs. En fonction du capteur choisi, il est possible de voir des éléments que l’œil humain ne pourrait percevoir.
Le bon algorithme et le bon modèle
Viennent ensuite l’IA et son déploiement. Commençons par l’algorithme et le modèle.
En fonction de la tâche que vous souhaitez réaliser avec l’IA, vous trouverez probablement des algorithmes adaptés… ou non.
En effet, le choix du capteur et donc de la modalité des images produites est un facteur important dans votre projet IA. Par exemple, il existe de très nombreux algorithmes d’apprentissage parfaitement adaptés au domaine visible. Ainsi, détecter un objet sur une image RVB ne représente pas un grand challenge. Par contre, effectuer la même tâche sur des images infrarouges se révèlera plus complexe et surtout, vous ne trouverez pas d’algorithmes aussi facilement. De plus, ce qui vaut pour la modalité des images est également vrai pour leur format. Certains algorithmes prendront en entrée des images de dimensions 240 par 240 et uniquement ce format. Que faire si les images produites ne correspondent pas à ces dimensions ?
Bien heureusement, il existe aujourd’hui de nombreuses méthodes permettant d’outrepasser ces points bloquants. Pour ce qui est de la dimension des images, un simple algorithme de traitement d’image permet de le redimensionner automatiquement pour qu’elles correspondent aux contraintes de l’algorithme. Pour ce qui est de la modalité et des différents domaines, des méthodes comme le Transfer Learning ou l’adaptation de domaine offrent de belles opportunités pour élargir le champ des possibles.
Enfin, pour terminer sur la question du modèle et faire le lien avec le déploiement, il faudra s’assurer que le modèle d’IA atteigne les performances visées, mais qu’il puisse également répondre aux contraintes techniques de la réalité terrain. Nous pouvons notamment penser à la vitesse d’analyse. En général, les gros modèles tournent plus lentement mais sont plus justes dans leurs prédictions tandis que les petits modèles s’avèrent plus rapides mais perdent en précision.
Le bon déploiement
Nous en venons maintenant au dernier point à prendre en compte dans le choix de sa solution, le déploiement.
En effet, les modèles d’IA peuvent être déployés un peu partout : dans le cloud, sur des serveurs locaux, sur un PC, sur un smartphone ou même encore sur micro-contrôleur au plus proche du capteur.
Néanmoins, chaque modèle ne pourra pas être déployé partout, un modèle imposant nécessitant une grosse puissance de calcul sera plutôt déployé sur le Cloud, sur un serveur local ou un PC très puissant. À l’inverse, un petit modèle pourra prendre place dans un microcontrôleur.
Il faut donc adapter le matériel à la tâche visée, mais l’inverse est également vrai.
De plus, les contraintes terrains sont également à prendre en compte. Pour reprendre l’exemple du contrôle qualité, la technologie doit pouvoir suivre la cadence de production. Or si la chaîne de production sort plusieurs produits à la seconde, un déploiement local sera nécessaire. Pourquoi ? Pour éviter toute latence liée à l’envoi de la donnée, son traitement et le retour du résultat. Tout cela prend du temps. Il en va de même pour le véhicule autonome. Que se passe-t-il si la technologie de détection de piétons tourne en une seconde ? Le véhicule freine lorsque le piéton est déjà sur le pare-brise.
Illustrations concrètes : Retours d’expériences
Détection et suivi de piétons
Neovision a construit une base de données inédites composée d’images classiques, infrarouges et composites. Mais pourquoi ? Parce que l’alliance d’une caméra visible et d’un capteur infrarouge permet de faire ressortir les piétons, quelles que soient les conditions de luminosité. Par la suite, Neovision a conçu et développé des algorithmes de Deep Learning capable de détecter les piétons, dans toutes les conditions possibles.
Suite aux travaux de Neovision, Lynred a pu présenter un papier de recherche appliquée industrielle lors du SIA Vision 2018. Ce papier met en avant l’intérêt d’avoir recours à l’infrarouge et d’appliquer des algorithmes de Deep Learning pour détecter les piétons. Lynred s’ouvre ainsi les portes du marché automobile.
Deux ans plus tard, Neovision et Lynred publiaient un nouveau papier de recherche portant, cette fois-ci, sur une nouvelle méthode de fusion multimodale. L’idée est donc de combiner deux capteurs, une caméra classique et un capteur infrarouge, et de fusionner les deux modalités pour permettre de voir les piétons quelles que soient les conditions lumineuses.
Reconnaissance de dommages sur des pneus d’avions
Neovision conçoit et développe une technologie de reconnaissance de dommages sur les pneus. Cette technologie, disponible via une application smartphone ou tablette, permet au technicien de diagnostiquer le dommage pour ensuite lui faire remonter la procédure à suivre. Dans le même temps, le dommage est enregistré dans le suivi de la vie du pneu.
Avec cette technologie, Michelin fait un nouveau pas en avant vers la digitalisation. Dans le même temps, la traçabilité est améliorée par un meilleur suivi de la vie du pneu. Enfin, si la technologie fiabilise et accélère le diagnostic, l’opérateur a également accès à la procédure qu’il doit suivre, ce qui réduit les erreurs.
Ici, un capteur classique de smartphone a fait l’affaire puisque la reconnaissance du défaut se fait facilement sur des images classiques. Nul besoin de capteur un peu plus exotique. Quant au déploiement Cloud, ce dernier est possible puisque l’analyse peut se faire en plusieurs secondes, ce délai restant plus rapide qu’un examen humain.
Choisir la bonne solution, pour son projet IA, n’est pas toujours une mince affaire. Pour déterminer la meilleure option, il faudra prendre en compte de nombreuses variables : contraintes techniques, contraintes environnementales, tâches visées, performances attendues… À première vue, il paraît difficile de se lancer dans un tel projet mais avec les bons interlocuteurs et la bonne méthodologie, l’IA et ses applications devraient vous réserver de belles surprises.
Pingback: De la donnée brute à la donnée exploitable par l'IA