Réseaux de neurones CNN pour la vision embarquée
Auteur / Autrice : | Lucas Fernandez Brillet |
Direction : | Stéphane Mancini |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 28/09/2020 |
Etablissement(s) : | Université Grenoble Alpes |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....) |
Partenaire(s) de recherche : | Laboratoire : Techniques de l’informatique et de la microélectronique pour l’architecture des systèmes intégrés (Grenoble, Isère, France ; 1994-....) |
Entreprise : STMicroelectronics | |
Jury : | Président / Présidente : Romain Couillet |
Examinateurs / Examinatrices : Virginie Fresse | |
Rapporteur / Rapporteuse : François Berry, Michel Paindavoine |
Résumé
Pour obtenir des hauts taux de détection, les CNNs requièrent d'un grand nombre de paramètres à stocker, et en fonction de l'application, aussi un grand nombre d'opérations. Cela complique gravement le déploiement de ce type de solutions dans les systèmes embarqués. Ce manuscrit propose plusieurs solutions à ce problème en visant une coadaptation entre l'algorithme, l'application et le matériel.Dans ce manuscrit, les principaux leviers permettant de fixer la complexité computationnelle d'un détecteur d'objets basé sur les CNNs sont identifiés et étudies. Lorsqu'un CNN est employé pour détecter des objets dans une scène, celui-ci doit être appliqué à travers toutes les positions et échelles possibles. Cela devient très coûteux lorsque des petits objets doivent être trouvés dans des images en haute résolution. Pour rendre la solution efficiente et ajustable, le processus est divisé en deux étapes. Un premier CNN s'especialise à trouver des régions d'intérêt de manière efficiente, ce qui permet d'obtenir des compromis flexibles entre le taux de détection et le nombre d’opérations. La deuxième étape comporte un CNN qui classifie l’ensemble des propositions, ce qui réduit la complexité de la tâche, et par conséquent la complexité computationnelle.De plus, les CNN exhibent plusieurs propriétés qui confirment leur surdimensionnement. Ce surdimensionnement est une des raisons du succès des CNN, puisque cela facilite le processus d’optimisation en permettant un ample nombre de solutions équivalentes. Cependant, cela complique leur implémentation dans des systèmes avec fortes contraintes computationnelles. Dans ce sens, une méthode de compression de CNN basé sur une Analyse en Composantes Principales (ACP) est proposé. L’ACP permet de trouver, pour chaque couche du réseau, une nouvelle représentation de l’ensemble de filtres appris par le réseau en les exprimant à travers d’une base ACP plus adéquate. Cette base ACP est hiérarchique, ce qui veut dire que les termes de la base sont ordonnés par importance, et en supprimant les termes moins importants, il est possible de trouver des compromis optimales entre l’erreur d’approximation et le nombre de paramètres. À travers de cette méthode il es possible d’obtenir, par exemple, une réduction x2 sur le nombre de paramètres et opérations d’un réseau du type ResNet-32, avec une perte en accuracy <2%. Il est aussi démontré que cette méthode est compatible avec d’autres méthodes connues de l’état de l’art, notamment le pruning, winograd et la quantification. En les combinant toutes, il est possible de réduire la taille d’un ResNet-110 de 6.88 Mbytes à 370kBytes (gain mémoire x19) avec une dégradation d’accuracy de 3.9%.Toutes ces techniques sont ensuite misses en pratique dans un cadre applicatif de détection de vissages. La solution obtenue comporte une taille de modèle de 29.3kBytes, ce qui représente une réduction x65 par rapport à l’état de l’art, à égal taux de détection. La solution est aussi comparé a une méthode classique telle que Viola-Jones, ce qui confirme autour d’un ordre de magnitude moins de calculs, au même temps que l’habilité d’obtenir des taux de détection plus hauts, sans des hauts surcoûts computationnels Les deux réseaux sont en suite évalues sur un multiprocesseur embarqué, ce qui permet de vérifier que les taux de compression théoriques obtenues restent cohérents avec les chiffres mesurées. Dans le cas de la détection de vissages, la parallélisation du réseau comprimé par ACP sûr 8 processeurs incrémente la vitesse de calcul d’un facteur x11.68 par rapport au réseau original sûr un seul processeur.