Agroalimentaire, Automobile, Médical, Métallurgie, Logistique, Papeterie, Textile, … Quels sont les secteurs qui peuvent encore se passer d’applications de contrôle par caméra quand la qualité est au coeur des chaînes de productions ? Aucun. Tous ces secteurs ont assisté à des virages technologiques majeurs ces dernières années : des chaînes de production plus rapide, un nombre de capteurs plus important et des tailles de matrice caméra qui ne cessent de croître.
Toute l’Industrie fait face à une augmentation massive du nombre de données.
On voit émerger une nouvelle ère où les data alimentent en continu les applications les plus performantes, mais cette évolution se heurte à une nouvelle limite : la puissance de calcul.
De nouvelles opportunités apparaissent et certaines applications jusqu’alors bridées prennent vie : soit par le manque de données disponibles, qui est aujourd’hui comblé par l’émergence de bases de données internationales ; soit par une limite de puissance de calcul qui ne permettait pas d’exploiter de manière poussée ou rapide les données.
Quand on parle du manque de données disponibles, l’exemple le plus explicite est sans conteste celui de l’Intelligence Artificielle (IA) et plus particulièrement des réseaux de neurones. Les premiers réseaux ont vu le jour en 1950 mais leur explosion industrielle a récemment eu lieu grâce aux avancées technologiques des calculateurs de tout type (processeur, GPU ou FPGA).
A l’instar du cas de l’IA, l’exemple à associer aux problématiques d’exploitation est l’apparition de capteurs capables de générer de nouvelles données comme les caméras polarisées. L’exploitation de ces données passe également par des calculateurs répondant aux contraintes industrielles.
Face à ces nouveaux défis technologiques, on voit la place prépondérante qui se dessine pour de nouveaux calculateurs. L’optimisation du traitement des données est devenue la clef du succès d’applications nouvelle génération.
Les applications complexes peuvent exiger la gestion de plusieurs caméras, le recours à des capteurs ultra-performants ou faire face à des débits de production élevés. Avant de prendre une décision, chaque image recueillie par l’application doit subir un ou plusieurs traitements générant un nombre de calculs considérables ; ce dernier connait une croissance exponentielle au fil des évolutions techniques. Pour gérer ce nombre de calculs, trois possibilités s’offrent à vous : l’utilisation d’un processeur de dernière génération, l’utilisation d’un GPGPU ou d’un FPGA.
La dernière génération de processeurs permet une meilleure optimisation algorithmique et embarque des fonctions de plus en plus performantes. Grâce à ce type de processeur, on obtient une puissance de calcul plus importante mais cette dernière peut rapidement s’avérer insuffisante et limitante. Dans ce cas de surcharge CPU, il est alors possible de répartir des calculs entre le processeur et un GPGPU.
L’utilisation d’un GPGPU accroît le nombre de traitements possibles et réduit la charge du CPU. Cependant, les transferts de données entre CPU et GPGPU sont lents ce qui ne correspond pas aux exigences de faible latence des applications complexes. Cette solution est également plus énergivore.
Face aux limites des CPU et GPGPU, la possibilité de se tourner vers la technologie FPGA prend tout son sens. L’utilisation d’une solution à base de FPGA permet une forte réduction de la charge CPU en déportant une partie des traitements d’images ainsi que la gestion du protocole de flux vidéo. Tout ce « déchargement » est effectué de manière déterministe, le FPGA réalise ses pré-traitements dans un intervalle de temps fixe avant de transférer les données vers le CPU. Les calculs sont donc faits en temps-réel, un critère essentiel dans les applications complexes.
Si l’on s’intéresse à l’architecture système, un FPGA - en comparaison avec un GPGPU – présente deux avantages : il consomme moins de puissance électrique et cette technologie est pérenne dans le temps. Ce dernier élément assure une continuité qui évite de devoir revoir son application industrielle tous les 2-3 ans.
Trop souvent écartée lors de la mise en place d’un projet de Vision Industrielle par manque de connaissance, la technologie FPGA est une solution compétitive et flexible. Cette dernière peut s’adapter aux dernières innovations telle que la caméra polarisante de Sony.
Faire disparaître les reflets sur un objet, détecter une aspérité dans le verre, éliminer une zone d’ombre …
Quelques possibilités parmi toutes celles offertes par la dernière innovation dédiée au monde de la Vision industrielle de Sony. La caméra polarisée XCG-CP510 associée à son SDK répondent aux besoins d’inspections ultraexigeantes ou créent de nouvelles applications. Depuis 2018, l’analyse de la polarisation devient un élément clef dans un large éventail d’applications.
Cette caméra GigE Vision est dotée d’un capteur CMOS matriciel IMX250MZR intégrant un filtre polarisant par pixel. Les filtres sont orientés à 0°, 45°, 90° ou 135° (cf. schéma présenté ci-dessous). Le capteur recueille alors des données sur l’intensité de polarisation. Une fois exploitée, ces données permettent de déterminer le degré de polarisation et sa direction. Ces informations permettent d’obtenir des images de la scène selon un angle de polarisation précis. Au final, il est possible de créer une image applicative optimisée. On peut alors traiter cette image pour y détecter des défauts jusqu’alors difficilement décelable comme une aspérité dans un matériau transparent.
Le traitement des données polarisées est le parfait reflet des problématiques de calculs dans les applications de Vision industrielle. En effet, l’exploitation des données polarisées requiert des traitements gourmands en termes de ressources, un processeur de type CPU sera rapidement insuffisant. L’idée de le coupler avec un GPGPU est encore la plus répandue dans le monde de la Vision Industrielle mais la technologie FPGA offre une alternative prometteuse. Encore faut-il trouver la solution qui rend accessible cette technologie réputée comme complexe.
Les nouvelles cartes d’acquisition et de prétraitement de TECHWAY, nommées DragonEYE, incluent un processeur Vision basé sur la technologie FPGA. Les cartes DragonEYE sont conçues pour fonctionner avec le protocole GigE Vision ce qui lui permet de s’interfacer avec toutes les caméras de ce protocole comme la caméra polarisée de Sony.
Les cartes DragonEYE ont été conçues par TECHWAY pour répondre aux nouvelles exigences des applications de Vision Industrielle. La gamme DragonEYE soulage les CPU tout en augmentant la puissance de traitement du système. Cette solution simplifie la mise en place d’une technologie complexe à moindre coût. Son rapport qualité/ prix en fait une alternative novatrice dans le monde industriel.
La DragonEYE permet de gérer des applications hauteperformances sans augmenter la charge CPU du système grâce à son « moteur » de traitement. L’équipe d’ingénieurs TECHWAY, certifiée par Xilinx, a mis au point une carte FPGA prenant en charge le protocole GigEVision et permettant de faire des prétraitements d’images. Le principal avantage de cette technologie est de pouvoir paralléliser les traitements et ainsi obtenir un résultat temps-réel.
Ainsi, l’utilisation de la DragonEYE dans un système PC n’augmente pas la charge du processeur, le protocole GigE Vision et les prétraitements étant effectués sur la carte en temps-réel. Par exemple, les données sur l’intensité de polarisation transmise par une caméra Sony XCG-CP510 peuvent être traitées dans la DragonEYE. Le CPU recevra alors les images applicatives optimisées pour se concentrer sur la détection de défauts.
Les cartes DragonEYE peuvent acquérir jusqu’4 flux GigE Vision. Elles sont dotées d’un FPGA ouvert à l’utilisateur ce qui permet d’intégrer ces cartes dans un système de Vision quel que soit l’application ciblée : Deep Learning, Polarisation, Haute-résolution, ...
Dans le but de simplifier la mise en place d’une solution FPGA, le kit de développement fourni avec la carte contient un logiciel de prise en main et des exemples permettant à l’utilisateur de développer sa propre application.
L’utilisation des FPGA se démocratise grâce aux nouveaux outils et produits offerts par Xilinx comme le logiciel Vivado HLS qui permet de compiler une application écrite en C/C++ vers une cible FPGA ou le kit reVISION dédié au Machine Learning.
Les FPGA Xilinx utilisés sur les cartes DragonEYE rendent la carte polyvalente. Elle peut être utilisée pour acquérir le flux vidéo provenant de plusieurs caméras, appliquer du traitement en fonction de la scène observée avant que les données ne soient transférées vers le CPU. Le calculateur s’occupe alors de réaliser les traitements suivants (OpenCV, Bibliothèque de traitements d’images de Matrox Imaging, …). La gamme DragonEYE peut également être intégrée pour des applications dites de « Machine Learning » en utilisant des algorithmes de réseau de neurones.
En conclusion, la technologie FPGA s’annonce comme la réponse idéale à la recherche d’augmentation de puissance de calcul dans un monde industriel en pleine évolution. La gamme DragonEYE offre une flexibilité inégalée grâce à son FPGA ouvert et à sa compatibilité avec toutes les caméras GigE Vision. La DragonEYE est un allié de poids dans la mise en place d’applications complexes en Vision à moindre coût.
Grâce à son interface GigE Vision, la carte d’acquisition et de prétraitement DragonEYE peut facilement être associée à tout caméra compatible avec ce protocole. Couplée à une caméra polarisée, la DragonEYE devient alors la solution optimale en termes de coût d’intégration et de développement pour des applications où l’analyse de la polarisation est la clef de la réussite : suppression de reflets, détection de défauts dans un matériau transparent, suppression d’ombre et bien d’autres.