Convolutional Neural Networks for embedded vision - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2020

Convolutional Neural Networks for embedded vision

Réseaux de neurones CNN pour la vision embarquée

Résumé

Recently, Convolutional Neural Networks have become the state-of-the-art soluion(SOA) to most computer vision problems. In order to achieve high accuracy rates, CNNs require a high parameter count, as well as a high number of operations. This greatly complicates the deployment of such solutions in embedded systems, which strive to reduce memory size. Indeed, while most embedded systems are typically in the range of a few KBytes of memory, CNN models from the SOA usually account for multiple MBytes, or even GBytes in model size. Throughout this thesis, multiple novel ideas allowing to ease this issue are proposed. This requires to jointly design the solution across three main axes: Application, Algorithm and Hardware.In this manuscript, the main levers allowing to tailor computational complexity of a generic CNN-based object detector are identified and studied. Since object detection requires scanning every possible location and scale across an image through a fixed-input CNN classifier, the number of operations quickly grows for high-resolution images. In order to perform object detection in an efficient way, the detection process is divided into two stages. The first stage involves a region proposal network which allows to trade-off recall for the number of operations required to perform the search, as well as the number of regions passed on to the next stage. Techniques such as bounding box regression also greatly help reduce the dimension of the search space. This in turn simplifies the second stage, since it allows to reduce the task’s complexity to the set of possible proposals. Therefore, parameter counts can greatly be reduced.Furthermore, CNNs also exhibit properties that confirm their over-dimensionment. This over-dimensionement is one of the key success factors of CNNs in practice, since it eases the optimization process by allowing a large set of equivalent solutions. However, this also greatly increases computational complexity, and therefore complicates deploying the inference stage of these algorithms on embedded systems. In order to ease this problem, we propose a CNN compression method which is based on Principal Component Analysis (PCA). PCA allows to find, for each layer of the network independently, a new representation of the set of learned filters by expressing them in a more appropriate PCA basis. This PCA basis is hierarchical, meaning that basis terms are ordered by importance, and by removing the least important basis terms, it is possible to optimally trade-off approximation error for parameter count. Through this method, it is possible to compress, for example, a ResNet-32 network by a factor of ×2 both in the number of parameters and operations with a loss of accuracy <2%. It is also shown that the proposed method is compatible with other SOA methods which exploit other CNN properties in order to reduce computational complexity, mainly pruning, winograd and quantization. Through this method, we have been able to reduce the size of a ResNet-110 from 6.88Mbytes to 370kbytes, i.e. a x19 memory gain with a 3.9 % accuracy loss.All this knowledge, is applied in order to achieve an efficient CNN-based solution for a consumer face detection scenario. The proposed solution consists of just 29.3kBytes model size. This is x65 smaller than other SOA CNN face detectors, while providing equal detection performance and lower number of operations. Our face detector is also compared to a more traditional Viola-Jones face detector, exhibiting approximately an order of magnitude faster computation, as well as the ability to scale to higher detection rates by slightly increasing computational complexity.Both networks are finally implemented in a custom embedded multiprocessor, verifying that theorical and measured gains from PCA are consistent. Furthermore, parallelizing the PCA compressed network over 8 PEs achieves a x11.68 speed-up with respect to the original network running on a single PE.
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.
Fichier principal
Vignette du fichier
FERNANDEZ_BRILLET_2020_diffusion.pdf (17.28 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03101523 , version 1 (15-02-2021)

Identifiants

  • HAL Id : tel-03101523 , version 1

Citer

Lucas Fernandez Brillet. Convolutional Neural Networks for embedded vision. Artificial Intelligence [cs.AI]. Université Grenoble Alpes [2020-..], 2020. English. ⟨NNT : 2020GRALM043⟩. ⟨tel-03101523⟩

Collections

UGA CNRS TIMA STAR
493 Consultations
125 Téléchargements

Partager

Gmail Facebook X LinkedIn More