Comment construire un système de classification d'apprentissage profond pour moins de 600 $

Introduction

L'apprentissage profond va sans aucun doute révolutionner le paysage de la vision artificielle. Il permet de nouvelles applications et bouleverse les marchés établis. En tant que chef de produit chez FLIR, j'ai le privilège de rendre visite à des sociétés de secteurs très divers ; toutes les sociétés dans lesquelles je me suis rendu cette année travaillent sur l'apprentissage profond. Il n'a jamais été aussi facile de commencer, mais par où devez-vous commencer ? Cet article propose un cadre facile à suivre pour construire un système d'inférence d'apprentissage profond pour moins de 600 $.

Qu'est-ce que l'inférence d'apprentissage profond ?

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. L’inférence est bien plus efficace pour répondre à des questions complexes et subjectives que l'analyse traditionnelle des images basée sur des règles. En optimisant les réseaux pour exécuter des matériels informatiques à faible consommation d’énergie, l’inférence peut être exécutée "en périphérie de réseau", près de la source des données. Ceci élimine la dépendance du système par rapport à un serveur central pour l'analyse des images, ce qui engendre une moindre latence, une fiabilité accrue et une sécurité améliorée. 

Choisir le matériel informatique

L'objectif de ce guide est de construire un système fiable et de haute qualité à déployer sur le terrain. Bien que cela dépasse la portée de ce guide, combiner des techniques de vision informatisée traditionnelles avec l’inférence d'apprentissage profond peut fournir une précision élevée et une efficacité informatique en s'appuyant sur les points forts de chaque approche. L'ordinateur mono-carte Aaeon UP Squared-Celeron-4GB-32GB a la mémoire et la puissance de CPU requises pour cette approche. Son unité centrale Intel X64 exécute les mêmes logiciels que les ordinateurs de bureau traditionnels, ce qui simplifie le développement par rapport aux ordinateurs mono-carte basés sur l'architecture ARM.

Le code qui permet l’inférence d'apprentissage profond utilise une logique arborescente ; un matériel informatique dédié peut accélérer considérablement l’exécution de ce code. L'unité de traitement de la vision (VPU) Intel® Movidius™ Myriad™ 2 est un accélérateur d'inférence très puissant et très efficace, qui a été intégré dans notre nouvelle caméra à inférence, la Firefly DL.

Part

Numéro de référence

Prix [USD]

Caméra à inférence, la Firefly DL.

FFY-U3-16S2M-DL

299

Ordinateur monocarte

UP Squared-Celeron-4GB-32GB-PACK

239

Câble USB 3 de 3 m

ACC-01-2300

10

Objectif

ACC-01-4000

10

Software

Ubuntu 16.04/18.04, TensorFlow, Intel NCSDK, FLIR Spinnaker SDK

0

 

Total 558 $

 

Configuration logicielle requise

Il existe de nombreux outils gratuits pour construire, entraîner et déployer des modèles d’inférence d'apprentissage profond. Ce projet utilise une palette de logiciels gratuits et ouverts. Les instructions d'installation pour chaque progiciel sont disponibles sur leurs sites web respectifs. Ce guide présuppose que vous connaissez les règles de base de la console Linux.

Recueillir les données d'apprentissage

Entraîner le réseau (augmentation optionnelle)

Évaluer la performance

Convertir au format graphique Movidius

Déployer sur la Caméra à inférence, la Firefly DL

Exécuter l'inférence sur les images capturées 

Fig. 1. Flux de production d'apprentissage profond et les outils associés pour chaque étape.

Guide détaillé

Getting Started with Firefly Deep Learning on Linux montre comment ré-entraîner un réseau neuronal, convertir le fichier qui en résulte dans un format Firefly compatible, et afficher les résultats avec SpinView. Les utilisateurs disposent d'un processus étape par étape pour entraîner et convertir les réseaux d'inférence, via le terminal

Articles connexes

Le document  Neural Networks Supported by the Firefly Deep Learningmontre les réseaux neuronaux que nous avons testés pour une utilisation avec la Firefly DL. 

Le document  Tips on creating Training Data for Deep Learning Neural Networks montre comment créer un réseau neuronal d'apprentissage profond efficace via la création de données d'apprentissage de haute qualité pour une application donnée.

Le document  Troubleshooting neural network graph conversion issues 

fournit des conseils utiles pour résoudre les problèmes pouvant survenir lors de la conversion des fichiers du réseau d'inférence en format Firefly DL compatible.