Rendre la vision artificielle 10GigE fiable et abordable, y compris les configurations multi-caméras
VUE D’ENSEMBLE
Plusieurs applications de système de vision, telles que les lignes d’inspection à mouvement rapide, les usines de fabrication de semi-conducteurs, les systèmes de trafic intelligents, l’analyse sportive et la capture volumétrique, nécessitent une haute résolution, un FPS et un transfert de données élevés pour obtenir de meilleurs résultats. Pour les ingénieurs de systèmes de vision cherchant à améliorer le rendement en utilisant des fréquences d’images plus rapides et des caméras de vision artificielle à résolution plus élevée, la mise à niveau de 1GigE à 10GigE est une option évidente. Cependant, selon les recherches de l’AIA (Automated Imaging Association), l’adoption a été assez lente. Cela est compréhensible compte tenu de trois défis techniques découlant de cette mise à niveau : la fiabilité (paquets abandonnés), l’utilisation élevée du processeur et la latence élevée. Cet article fournit une mise à jour sur la manière dont la solution groupée Teledyne FLIR Oryx + Myricom répond à ces défis.
Mise à jour 1 : Performance sans défaut
Alors que 10GigE Vision a augmenté 10 fois la bande passante par rapport au protocole de GigE Vision, les performances de l’adaptateur hôte 10GigE n’ont pas suivi le rythme. Le transfert de données de la caméra à l’hôte entraîne généralement une surcharge du processeur, ce qui conduit à des débordements de tampon d’application et un niveau de perte de paquets inacceptable pour les applications exigeantes.
En utilisant des adaptateurs hôtes pour gérer la réception des paquets et la reconstruction des images directement sur la carte, le processeur n’a plus besoin de gérer ces tâches. L’offre groupée Teledyne FLIR Oryx + Myricom est spécifiquement conçue pour traiter de telles situations. Comme indiqué dans nos résultats de test ci-dessous, la fiabilité du système peut augmenter considérablement, ce qui réduit considérablement la perte de paquets et, par conséquent, les trames perdues.
L’offre groupée fonctionne de manière transparente avec notre nouveau pilote SDK personnalisé dédié à la gestion des données fournies par la carte Myricom. Grâce à cette combinaison, les données d’image sont transférées de manière fiable et sans faille de la caméra vers le PC hôte. Voir les résultats des tests ci-dessous dans l’Annexe : Tests de fiabilité et d’utilisation du processeur.
Le rapport prix/performances de notre offre groupée Teledyne FLIR Oryx + Myricom en fait un choix facile, offrant une configuration abordable et hautement fiable par rapport à l’achat et l’intégration de matériel séparément.
Mise à jour 2 : Utilisation du processeur géré
En théorie, les processeurs pourraient consacrer jusqu’à 100 % de l’un de leurs cœurs pour traiter les données entrantes à partir d’une connexion 10GigE et plusieurs cœurs peuvent être utilisés lors de l’exécution de plusieurs applications/caméras. En utilisant la carte Myricom pour gérer la réception des paquets et la reconstruction des images, l’utilisation du processeur descend jusqu’à 1 % pour chaque application, ce qui permet d’utiliser des cycles de processeur supplémentaires pour le traitement des images. Voir les résultats des tests ci-dessous dans l’Annexe : Tests de fiabilité et d’utilisation du processeur
Mise à jour 3 : Réduction de la latence
La latence des trames 10GigE Vision n’est pas déterministe ; cela signifie que les trames peuvent arriver avec une gigue temporelle considérable. Dans certaines conditions, en particulier avec les commutateurs, non seulement la perte de paquets est présente, mais les trames sont parfois reçues dans l’ordre inverse. L’offre groupée Teledyne FLIR Oryx + Myricom aborde ce problème avec une notification en temps opportun de l’achèvement des trames pour une latence plus faible et moins de gigue.
Annexe : Tests de fiabilité et d’utilisation du processeur
Test 1 : Flux de bande passante élevée pendant 7 jours
À l’aide d’une application de console personnalisée créée via l’API Spinnaker de Teledyne FLIR, une caméra Teledyne FLIR Oryx de 8,9MP a pu être configurée pour capturer des images en continu et suivre les images incomplètes sans traitement supplémentaire ou programmes tiers consommant beaucoup de ressources et fonctionnant simultanément.
Résultats du test : ~40 millions d’images acquises ; 0 image incomplète/abandonnée détectée.
Remarque : L’utilisation du processeur a été vérifiée pendant les 7 jours de test et s’est avérée rester constamment à 1 %. Avec le nouveau pilote Myricom désactivé, et en s’appuyant uniquement sur le pilote de filtre standard FLIR, l’utilisation du processeur pour le cœur de CPU dédié à l’application est restée à environ 100 %.
Test 2 : Flux double caméra
Ce test comprend deux caméras Oryx (ORX-10G-123S6M et ORX-10G-89S6C) exécutées dans la même application de console personnalisée, chacune capturant des images à une bande passante de 6,7 Gb/s, pendant 24 heures en continu.
Résultats du test : ~6 millions d’images acquises par caméra ; 0 image incomplète/abandonnée détectée
Test 3 : test d’effort du processeur pendant 24 heures
Ce test comprend une caméra Oryx unique (ORX-10G-123S6M) avec les mêmes paramètres que dans le test 1.
Il est fait appel à la même application de console que celle utilisée dans le test 1, mais cette fois, on se sert d’une autre application en même temps ; cette application personnalisée est destinée à simuler une charge de travail élevée, prenant environ 90 % de l’utilisation totale du processeur (sur les huit cœurs).
Résultats du test : ~6 millions d’images acquises ; 0 image incomplète/abandonnée détectée
Spécifications du logiciel et du matériel du système d’essai :
i7-9700k à 3,6 GHz | 16 Go | Windows 10 1809
Teledyne FLIR Spinnaker 2.1.0.82 et PgrLwf 2.7.3.397 par rapport à la version personnalisée 2.3.0.x avec support Myricom