Améliorer les performances de la vision par ordinateur grâce aux données synthétiques

Comment Neural Pocket parvient à réduire de 95 % les coûts et les délais de la formation de vision par ordinateur

Neural Pocket et Unity Computer Vision : une étude de cas

La formation de modèles de vision par ordinateur pour obtenir une qualité de production n'est pas simple, et a toujours exigé la collecte et l'annotation minutieuse de données du monde réel, ce qui est un processus coûteux en temps et en ressources pour les équipes. Neural Pocket exploite des jeux de données synthétiques générés avec Unity Computer Vision pour surmonter les difficultés des tâches associées à la vision par ordinateur.

  • Les enjeux

    Générez rapidement de grandes quantités de données avec des annotations parfaites pour la formation de modèles de vision par ordinateur.

  • Produits

    Unity Pro, package Perception d'Unity Computer Vision

  • Membres de l'équipe

    11 (1 ingénieur simulation, 10 ingénieurs IA)

  • Lieu

    Tokyo, Japon

Une formation de vision par ordinateur plus rapide, plus efficace et plus abordable

La société Neural Pocket, dont le siège est à Tokyo, fournit des solutions complètes d'IA pour les villes intelligentes. Ses clients sont de grandes entreprises privées et publiques, aussi bien au Japon qu'à l'étranger. En tirant parti de la plateforme de développement 3D en temps réel d'Unity et du package Perception d'Unity Computer Vision, son équipe forme ses modèles de vision par ordinateur plus rapidement, à moindre coût et avec une plus grande efficacité.

Les résultats

  • Une réduction de 95 % de la durée des cycles de formation des modèles de vision par ordinateur (1 semaine au lieu de 6 mois, en moyenne)
  • Une réduction de 95 % des coûts associés à la collecte des données, à l'annotation et à la formation
  • Une amélioration des performances des modèles de vision par ordinateur
  • Une amélioration des capacités à prendre en charge plusieurs projets et à accroître les revenus
Infographic

Des résultats en une fraction des délais et des coûts

Les difficultés liées à la collecte et à l'annotation des données du monde réel, combinées à la nature itérative de la formation des modèles de vision par ordinateur, peuvent occasionner des coûts élevés et entraîner une perte de temps. Pour Neural Pocket, la formation d'un modèle à partir de données du monde réel exige généralement de nombreuses itérations, souvent jusqu'à 30 cycles de formation. 

Chacun de ces cycles comprend les étapes de saisie de données du monde réel (par exemple, sous forme de vidéos, de photos et/ou par drone), d'annotation (à savoir, l'étiquetage manuel par des annotateurs), de formation, et d'évaluation, le tout prenant en moyenne une semaine. Les projets qui atteignent 30 cycles peuvent coûter de l'ordre de 150 000 dollars, et il faut parfois compter de l'ordre de six mois pour pouvoir déployer un modèle prêt pour la production.

En tirant parti d'Unity et du package Perception d'Unity Computer Vision, l'équipe de Neural Pocket est parvenue à réduire considérablement le nombre d'itérations et les coûts associés qui sont nécessaires à la formation des modèles de vision par ordinateur, tout en améliorant leurs performances globales. L'équipe utilise des outils Unity qui génèrent des images synthétiques, automatiquement étiquetées et annotées pour la formation itérative de modèles de vision par ordinateur, à partir d'une combinaison de données réelles et simulées.

En utilisant les données synthétiques créées avec le package Perception d'Unity Computer Vision et à l'issue d'un seul cycle de formation sur des données du monde réel, il est possible de créer un modèle plus performant en un peu plus d'une semaine, ce qui représente une réduction moyenne des délais et des coûts d'environ 95 %.

Voyons comment l'équipe a su tirer parti du package Perception d'Unity Computer Vision de différentes manières dans le cadre de deux projets en rapport avec la sécurité.

Projet 1 : la détection d'objets appliquée aux armes

Pour ce projet, l'un des partenaires de Neural Pocket souhaitait renforcer la sécurité de l'environnement de l'un de ses bureaux. Pour cela, il a fait appel à Neural Pocket pour développer un modèle de vision par ordinateur permettant à son système de caméras de sécurité intelligentes de détecter des objets dangereux de façon efficace. 

Pour collecter des données du monde réel aux fins de la formation de vision par ordinateur, Neural Pocket a organisé un tournage vidéo dans lequel il filmait des personnes portant des armes telles que des couteaux, des battes ou des armes à feu, dans des orientations variées plus ou moins difficiles à détecter. À partir des vidéos, Neural Pocket a ensuite créé de l'ordre de 1 000 images fixes et a identifié les armes en demandant à son équipe interne d'annotateurs d'étiqueter manuellement chacune de ces images.

L'utilisation de ces données dans le cycle de formation initial permettait d'obtenir un taux de détection de 27 % pour les couteaux et de 80 % pour les battes et les armes à feu.

Données réelles et synthétiques : une combinaison gagnante

En vue d'améliorer ces performances, Neural Pocket s'est tourné vers le package Perception d'Unity Computer Vision pour générer des jeux de données à grande échelle destinés à la formation et la validation de la vision par ordinateur.

« Le package Perception d'Unity Computer Vision nous permet d'organiser les flux et les structures, et est largement réutilisable dans n'importe quel projet de détection », a affirmé Romain Angénieux, responsable de la simulation chez Neural Pocket. « Grâce à son ensemble de composants personnalisables tels que des scénarios, des randomizers, des balises, des étiquettes et des caméras intelligentes, nous avons pu définir des randomisations à travers son IU, de façon flexible et en toute simplicité. »

Neural Pocket s'est procuré des modèles d'armes en 3D auprès, entre autres, de l'Asset Store Unity, et les a facilement intégrés aux outils de vision par ordinateur d'Unity pour personnaliser la détection des objets. L'équipe a randomisé différents aspects de sa simulation parmi les images capturées, comme le rendu d'images d'armes isolées ou de mains tenant des armes.

Unity Computer Vision propose une solution modulable pour créer des milliers, voire des millions, d'images synthétiques. Neural Pocket a généré 5 100 images simulées – soit cinq fois plus que le nombre d'images réelles. Après la formation du modèle sur la base d'une combinaison de données réelles et synthétiques, les résultats ont atteint des niveaux de qualité de production : le taux de détection des couteaux est passé de 27 à 87 %, et celui des battes et des armes à feu de 80 à 100 % ! 

« Nous avons été agréablement surpris d'obtenir d'aussi bons résultats dès le départ », a souligné Alex Daniels, expert senior et responsable de l'équipe d'incubation technologique. « Grâce à la possibilité de modifier aisément et rapidement les paramètres pour générer de nouveaux jeux de données améliorés, et à l'absence totale de besoin de collecter des données du monde réel, notre processus de création de jeux de données s'est vu considérablement simplifié. »

Projet 2 : la détection d'objets appliquée aux smartphones

Dans le cadre d'un autre projet, un partenaire de Neural Pocket s'est attaché à former une IA à la détection des personnes qui prennent des photos avec leur smartphone, afin de mieux protéger des informations confidentielles telles que des numéros de carte de crédit.

Après avoir utilisé le package Perception d'Unity Computer Vision dans sa configuration par défaut pour son projet de détection d'objets dangereux, l'équipe a pu tirer parti de l'extensibilité du package et de sa base de code open source dans le cadre de ce projet plus complexe. 

« L'utilisation de la configuration par défaut du package Perception est suffisante pour obtenir une amélioration importante des performances de la vision par ordinateur, mais il est possible de compléter les outils existants pour couvrir un domaine aussi vaste que possible », a déclaré M. Angénieux.

L'équipe a créé une série de randomisations personnalisées afin de relever les difficultés techniques suivantes liées à la reconnaissance des smartphones :

  • Un large éventail de modèles – Conception d'une méthode logique combinant plusieurs composants de base (par exemple, des logos, des caméras) en vue de générer des modèles 3D de téléphones réalistes et représentatifs du marché.
  • Un nombre infini de modèles de coques de téléphone possibles – Réalisation de mappages de texture de façon à ce que n'importe quelle image de l'API Google Images puisse être mappée sur les coques de téléphone.
  • Tenus en main et partiellement recouverts par les doigts dans des positions différentes – Création de mains modulaires selon différentes poses et variations de peau.
  • De nombreux objets peuvent être confondus avec un smartphone – Création d'objets pièges non annotés : objets ayant la forme et l'aspect d'un smartphone, mais qui ne doivent pas être détectés. Cela permet d'introduire la notion selon laquelle « tout objet rectangulaire tenu en main n'est pas nécessairement un téléphone » et de réduire le nombre de fausses alertes.

La simulation améliore une fois de plus les performances

Neural Pocket a capturé 20 540 images réelles et généré 27 478 images synthétiques. Avec les seules données du monde réel, le taux de détection était de 89,8 %, mais lorsqu'on utilisait des jeux de données réelles et de simulation, celui-ci passait à 92,9 %.

« Même si cette amélioration peut sembler modeste, la détection des téléphones est réalisée sur une série d'images vidéo, ce qui signifie qu'un gain de 3 % sur des images statiques peut conduire à une amélioration significative des taux de détection sur l'ensemble des téléphones », a déclaré Daniels.

La prochaine étape

Unity ayant permis à Neural Pocket d'augmenter considérablement son rendement, l'équipe est désormais en mesure d'accepter plus de travail, et donc d'améliorer son potentiel de revenus. Neural Pocket continue d'appliquer des outils Unity de vision par ordinateur à d'autres projets. Pour découvrir d'autres exemples, consultez cet article de blog

À l'avenir, Neural Pocket prévoit de réduire sa dépendance à l'égard des données du monde réel et d'utiliser jusqu'à 90 % de données synthétiques dans ses formations. La confiance de l'équipe dans les capacités d'Unity en matière de vision par ordinateur est un facteur clé de cette évolution.

« Nous sommes convaincus que grâce à son développement actif, centré sur les besoins des utilisateurs, le package Perception d'Unity Computer Vision continuera de s'améliorer au fil du temps et deviendra une référence pour nos tâches de perception, ainsi qu'un point de départ pour nos projets de perception », a affirmé M. Angénieux.

Romain Angénieux, Head of Simulation, Neural Pocket

« Les outils Unity de vision par ordinateur nous permettent de travailler plus rapidement et à moindre coût. En conséquence, nous pouvons former et déployer nos modèles de vision par ordinateur pour une fraction du temps et du coût habituels. »

Romain Angénieux, Head of Simulation, Neural Pocket
Alex Daniels, Senior Expert and Head of the Technology Incubation Team, Neural Pocket

« Plus les données fournies par Unity Computer Vision sont variées, moins il devient nécessaire de collecter des données du monde réel. Les performances des modèles de vision par ordinateur sont également améliorées, ce qui donne lieu à des produits de meilleure qualité. »

Alex Daniels, Senior Expert and Head of the Technology Incubation Team, Neural Pocket

Découvrez Unity Computer Vision

Consultez nos offres pour savoir comment notre équipe d'experts peut vous aider à générer des données synthétiques adaptées aux besoins de votre modèle de vision par ordinateur.

Ce site utilise des cookies dans le but de vous offrir la meilleure expérience possible. Consultez notre politique de cookies pour en savoir plus.

Compris