Inférence en périphérie de réseau avec la Firefly®

Introduction

L'apprentissage profond est une nouvelle technologie qui révolutionne les applications existantes et est à l'origine du développement de nouveaux secteurs. La disponibilité d'outils de Google, d'Amazon, d'Intel et de Nvidia pour créer et entraîner les réseaux de neurones rend la technologie plus accessible et donne aux nouveaux acteurs la capacité de pénétrer sur des marchés établis avec des produits compétitifs.

Le potentiel de l'apprentissage profond est largement reconnu. Vous travaillez peut-être actuellement à tirer parti de l'apprentissage profond pour votre application.  Chez Teledyne FLIR, nous avons également pensé à des façons de permettre aux développeurs de vision artificielle de profiter de cette technologie. Le résultat en est notre prochaine caméra Firefly®, qui offre une voie facile pour déployer des réseaux entraînés sur le terrain. La Firefly® allie la vision artificielle avec l’inférence d'apprentissage profond en intégrant un capteur d'images Sony Pregius de qualité supérieure et une unité de traitement de la vision (VPU pour ses initiales en anglais) Myriad 2 Movidius d'Intel avec une interface GenICam.

  

Qu'est-ce qu'une VPU ?

L’unité de traitement de vision (VPU) Myriad 2 Movidius d'Intel au cœur de la Firefly® est un nouveau type de processeur. Une VPU combine un matériel informatique à haute vitesse, des filtres de traitement des images, des cœurs de CPU polyvalents et des cœurs de traitement de vecteurs parallèles. Les cœurs vecteurs utilisés pour accélérer l’inférence sur caméra sont davantage optimisés pour la logique arborescente des réseaux de neurones que les cœurs polyvalents que l'on trouve dans les GPU. Son degré accru d'optimisation permet à la VPU d'atteindre un haut niveau de performance tout en ayant une faible consommation d’énergie.

 

Qu'est-ce que l’inférence ?

L’inférence est l'application d'un apprentissage profond sur des données du monde réel nouvellement capturées et non étiquetées. L’inférence désigne l'utilisation d'un réseau neuronal entraîné à l'apprentissage profond pour faire des prédictions sur de nouvelles données.

Fig. 1. L’inférence est l'application d'un modèle entraîné avec des données étiquetées (A) à de nouvelles données non étiquetées (B).

Bien que de nombreux types de réseaux puissent être utilisés pour l’inférence, les réseaux MobileNet sont extrêmement bien adaptés à la classification des images. MobileNet a été originellement conçu par Google pour exécuter une classification et une segmentation de haute précision des images sur les appareils mobiles. Il offre une précision similaire à celle de réseaux beaucoup plus chers en matériel informatique qui requièrent des processeurs graphiques importants et à haute consommation en énergie.

 

Comment peut-on comparer la caméra à inférence à une “caméra intelligente” ?

Les caméras intelligentes traditionnelles combinent une caméra de vision artificielle et un ordinateur mono-carte exécutant un logiciel de traitement des images basé sur des règles. Les caméras intelligentes sont une excellente solution pour des problèmes simples tels que la lecture de codes barres ou la réponse à des questions comme "Sur cette pièce, le trou se trouve-t-il à l'endroit où il doit être ?" Les caméras à inférence excellent à répondre à des questions plus complexes ou subjectives telles que "Cette pomme est-elle de qualité suffisante pour l'exportation ?" Lorsqu'elles ont été entraînées à l'aide d'images de bonne qualité, les caméras à inférence peuvent facilement identifier des défauts non prévus qui ne seraient pas reconnus par des systèmes d'inspection basés sur des règles, ce qui les rend beaucoup plus tolérantes à la variabilité.

Les caméras à inférence peuvent être utilisées pour augmenter les applications existantes avec des métadonnées descriptives riches. À l'aide de données en bloc GenICam, la Firefly® peut utiliser l’inférence pour marquer des images qui sont passées à un hôte qui exécute un traitement traditionnel des images basé sur des règles. De cette façon, les utilisateurs peuvent rapidement développer les capacités de leurs systèmes de vision existants. Cette architecture de système hybride peut également être utilisée pour déclencher un système de vision traditionnel.

L'utilisation de la Firefly® se traduit par des économies d'espace significatives, dans la mesure ou le matériel informatique utilisé dans les caméras intelligentes traditionnelles consomme plus d’énergie et est beaucoup plus grand que la VPU de la Firefly. Avec ses petites dimensions de 27 mm x 27 mm, la Firefly est prête pour une intégration dans des espaces réduits.

La Firefly® est une plateforme ouverte. Cela donne aux utilisateurs la flexibilité nécessaire pour tirer parti du rythme rapide des réseaux d'apprentissage profond et de la chaîne de compilation associée pour leur apprentissage et leur optimisation. Par opposition, les caméras intelligentes sont programmées à l'aide d'outils propriétaires qui peuvent être en retard sur les avancées les plus récentes.

 

Quels sont les avantages de l'inférence sur caméra ?

Mettre en œuvre l’inférence en périphérie de réseau sur un système de vision offre des améliorations en termes de vitesse du système, de fiabilité, d’efficacité énergétique et de sécurité.

  • Vitesse : L’inférence en périphérie de réseau, tout comme d'autres formes d'informatique en périphérie de réseau, éloigne le traitement des images d'un serveur central et le rapproche de votre source de données. Au lieu de transmettre des images à un serveur éloigné, seules les données descriptives doivent être envoyées. Cela réduit considérablement la quantité de données qu'un système doit transmettre et minimise ainsi la largeur de bande du réseau et la latence du système.
  • Fiabilité : Pour certaines applications, la Firefly® peut éliminer la dépendance par rapport au serveur et à l'infrastructure de réseau, ce qui augmente sa fiabilité. Avec sa VPU embarquée, la Firefly fonctionne en tant que capteur autonome. Elle peut capturer des images et prendre des décisions sur la base de ces images, puis déclencher des actions à l'aide du signalement GPIO.
  • Efficacité énergétique :Déclencher un système de vision seulement lorsque cela est nécessaire signifie qu'un temps de traitement plus important peut être passé sur le traitement et l'analyse des images traditionnels basés sur des règles. L’inférence d'apprentissage profond peut être utilisée pour déclencher l'analyse d'images à haute puissance lorsque des conditions spécifiques sont réunies. La VPU Myriad 2 permet des économies d’énergie supplémentaires en prenant en charge les réseaux en cascade. Cela permet d'avoir plusieurs niveaux d'analyse, et de n'appeler les réseaux complexes et consommateurs d’énergie que s'ils répondent aux conditions du réseau précédent.
  • Sécurité :la petite quantité de données qui est transmise est facilement cryptée, ce qui améliore la sécurité du système.

 

Comment commencer ?

La Firefly offre une voie facile pour faire passer l'apprentissage profond du stade de la R&D à celui de l’exécution sur votre application. Elle est prête à fonctionner en tant que capteur autonome pour capturer des images et prendre des décisions fondées sur ces dernières qui déclenchent des actions GPIO. La Firely de FLIR Firefly sera disponible en 2019, mais vous pouvez commencer avec l’inférence en périphérie de réseau dès aujourd'hui. La VPU Myriad 2 d'Intel au cœur de la prochaine Firefly est disponible dans le Neural Compute Stick d'Intel.

Un système de vision à inférence en périphérie de réseau complet peut être construit pour moins de 1 000 $ à l'aide du Neural Compute Stick d'Intel. En l'utilisant avec la boîte à outils OpenVINO d'Intel, les développeurs de systèmes de vision peuvent facilement optimiser et valider la performance des réseaux de neurones sur la même VPU que celle qui alimente l’inférence sur caméra de la Firefly®. Cela permet aux utilisateurs d’évaluer précisément la performance de l’inférence de la Myriad 2 en parallèle avec des algorithmes traditionnels utilisant les mêmes caméras.

  

Fig. 2. Passage de l'apprentissage de la GPU au développement du Neural Compute au déploiement sur la Firefly® de FLIR

 

 Conclusion

L’inférence d'apprentissage profond va fondamentalement modifier la façon dont les systèmes de vision sont conçus et programmés. Elle permettra de prendre des décisions complexes et subjectives plus rapidement et avec plus de précision que ce que permettent les approches traditionnelles basées sur des règles. La Firefly allie la vision artificielle à l'apprentissage profond en combinant un capteur Sony Pregius, une interface GenICam et une VPU Myriad 2 Movidius d'Intel. Cette nouvelle classe de caméra à inférence offre la voie idéale pour développer une inférence d'apprentissage profond dans les applications de vision artificielle. Vous pouvez commencer à développer pour la Firefly® dès aujourd'hui avec le Neural Compute Stick d'Intel.