Descripteurs profonds communs aux couleurs et aux
Transcription
Descripteurs profonds communs aux couleurs et aux
Descripteurs profonds communs aux couleurs et aux contours pour la reconnaissance fine 2D/3D de véhicules F. Chabot1 M. Chaouch1 J. Rabarisoa1 C. Teulière2 T. Chateau2 CEA, LIST, Laboratoire de Vision et Ingénierie des Contenus F-91191 Gif-sur-Yvette, France 2 Institut Pascal, UMR6602, CNRS, Université Blaise Pascal Clermont-Ferrand, France 1 [email protected] Résumé Étant donné une base de données constituée de modèles 3D non-texturés, serions-nous capable d’apprendre un classifieur de marques et modèles de véhicules pouvant être appliqué à des images couleurs réelles ? Une solution consiste à trouver une représentation commune entre des images de contours synthétiques et les images réelles. Dans cet article, nous introduisons de nouveaux descripteurs communs à la couleur et aux contours pour la classification fine 2D/3D. Ces descripteurs sont appris simultanément sur des images couleurs et des cartes de contours à l’aide des réseaux de neurones convolutifs. En utilisant ces descripteurs nous proposons ensuite d’apprendre un classifieur de marques et modèles de véhicules sur des images de contours synthétiques qui pourra être appliqué à des images couleurs réelles. L’utilisation d’une base de modèles 3D de voiture permet de générer automatiquement des images synthétiques en multi-vues en utilisant des rendus contours non-photoréalistes. Expérimentalement, nous montrons l’efficacité de nos descripteurs invariants à la couleur et aux contours pour la reconnaissance fine. Mots Clef Réseaux de neurones convolutifs, modèles 3D, reconnaissance fine, adaptation de domaine Abstract Given an untextured 3D car models dataset, are we able to learn a robust make and model classifier which will be applied on real color images ? One solution consists in finding a common representation between synthetic edge images and real color images. To address this issue, we introduce novel edge-color invariant features for 2D/3D car fine-grained classification. These features are learned simultaneously on real color and edge images of cars using a deep architecture. Using these accurate features, we pro- pose to learn on edge synthetic images a fine-grained classifier which will be afterwards applied to real color images. The 3D car models dataset allows to automatically generate multi-views synthetic images using non-photorealistic edge rendering. Experimentally, we show efficiency of our learned edge-color invariant features for make and model recognition. Keywords Convolutional Neural Networks, 3D models, fine-grained classification, domain adaptation 1 Introduction La reconnaissance fine est un défi dans le domaine de la vision par ordinateur. Cette tâche implique de construire des modèles de classification capable de décrire et de séparer des classes souvent très semblables en terme d’apparence. Contrairement à beaucoup de travaux sur le sujet qui se concentrent sur la reconnaissance fine d’objets déformables tels que les oiseaux [1, 2], les chiens [3] ou les visages [4], nous nous intéressons aux classes d’objets rigides et plus particulièrement aux voitures. En plus de la similarité intra-classes, l’apparence des véhicules peut varier suivant plusieurs facteurs : le point de vue, leur couleurs, et l’environnement qui peut introduire du bruit sur les images de voitures à cause de leur propriétés spéculaires. Ainsi, la classification fine à pour but de trouver des descripteurs discriminants, invariants à toutes ces perturbations. Plusieurs travaux essaient de résoudre le problème de la reconnaissance fine de marques et modèles de véhicules et se confrontent aux problèmes identifiés ci-dessus. Certaines approches utilisent dans un premier temps, un détecteur de pose pour pallier les variations liées au point de vue [5, 6]. Connaissant la pose de la voiture, ils essaient θ^ f ...... (a) θ^ c Training 1 . . . θ^ f S O F T M A X Edge detection . . . S O F T M A X Synthetic-edge Fixed S O F T M A X . . . M classes Shared weights ...... 2 ...... (b) CompCar-color θ^ c N classes Edge rendering CompCar-edge Audi A6 Cadillac CTS Testing Pontiac AZTEK 3DCar for training ... 2DCar for testing ... θ^ f ...... (c) θ^ c 2 . . . 2DCar F IGURE 1 – Ensemble du système. (a) Apprentissage des descripteurs communs aux couleurs et aux contours sur la base CompCar. (b) Apprentissage du classifieur fin synthétique sur des images de contours synthétiques générées avec la base 3DCar. (c) Test du réseau sur les images de la base 2DCar. ensuite de mettre en correspondance des modèles 3D texturés [6] ou des modèles de courbes 3D [5]. La classe du véhicule est ensuite donnée par un score de mise en correspondance. D’autres méthodes se concentrent sur des descripteurs de parties locales pour discriminer les marques et les modèles de voitures [7, 8]. Plus récemment, les auteurs de [9] ont fourni une nouvelle base de données pour la reconnaissance fine de voiture et donnent des résultats intéressants en utilisant les réseaux convolutifs profonds (CNN). Une conclusion de leurs travaux est que les CNN peuvent apprendre des descripteurs multi-vues pour la reconnaissance fine. De part leur capacité à trouver des descripteurs très discriminatifs, les réseaux de neurones profonds ont déjà prouvé leur efficacité dans plusieurs problèmes de vision par ordinateur comme la segmentation [10, 11], la détection d’objets [12, 13] et la reconnaissance fine [1, 2, 4]. Cependant, apprendre des détecteurs ou des classifieurs robustes induit de disposer de suffisamment de données pour l’apprentissage. C’est pourquoi des approches récentes de détection d’objet [14, 15] ou d’estimation de pose [16, 17, 18, 19, 20] proposent d’utiliser des modèles 3D afin d’enrichir facilement les bases d’apprentissages. En effet, il est simple de générer d’importantes bases de données synthétiques avec des modèles 3D (trouvables sur internet) et ainsi pallier le manque de données. Actuellement, il existe des bases d’images réelles pour la reconnaissance de marques et modèle des véhicule [8, 9]. Néanmoins, il est encore très difficile et fastidieux de collecter des images correspondant à un véhicule donné. En fonction de leur année de production ou de leur version, des voitures correspondant à un même modèle peuvent présenter des différences. De même, l’apparence d’un véhicule peut changer avec la peinture ou les stickers. Dans ce papier, nous nous intéressons à l’utilisation de modèles 3D pour entraîner un classifieur fin qui pourra être appliqué à des images réelles. Pour apprendre une classe de véhicule avec notre méthode, il suffit d’utiliser le modèle 3D correspondant à sa version exacte. En d’autres termes, étant donné une image réelle en entrée, ce classifieur permet de trouver la marque et le modèle de la voiture et ainsi le modèle 3D correspondant. Nous disposons d’une base de données de modèles 3D qui permet de générer des rendus contours non-photoréalistes. C’est un processus de rendu très simple qui permet de se concentrer sur la forme du véhicule (contours) sans avoir besoin de générer des conditions d’éclairages complexes ou des rendus couleurs. De plus, ce type de rendu est moins dépendant de la qualité du modèle 3D car les contours saillants sont relativement invariants à la résolution du maillage. Finalement, l’intuition fondamentale de ce travail est qu’une partie significative des contours 3D peuvent être trouvés dans des images de contours calculés sur des images réelles avec des détecteurs de contours basés sur les gradients. Notre apprentissage se divise en deux étapes. Dans un premier temps, nous apprenons des descripteurs invariants aux couleurs et aux contours en utilisant les CNN et la base de données CompCar [9]. Ici nous considérons deux domaines : images couleurs et images de contours. Notre méthode permet de trouver directement une représentation commune pour les deux domaines. Cette manière de faire est différente des méthodes d’adaptation de domaine comme [21, 22, 23, 24] qui consistent à trouver la transformation entre les données d’apprentissage et les données de test en minimisant généralement la distance entre les distributions des caractéristiques des deux domaines. Avec ce travail, nous montrons la capacité des réseaux de neurones à trouver la représentation commune entre deux types de données qui sont naturellement très éloignés l’un de l’autre. Dans un second temps, ces descripteurs invariants aux couleurs et aux contours sont calculés sur des images de contours synthétiques et utilisés pour apprendre un classifieur synthétique de marques et modèles de véhicules. Nous montrons que ce classifieur donne de très bon résultat lorsqu’il est appliqué à des images couleur réelles. La section suivante explique comment les descripteurs invariants aux couleurs et aux contours sont définis et appris. L’utilisation de ces descripteurs pour apprendre un classifieur fin sur des modèles 3D est ensuite détaillé. La section expérimentations donne les résultats montrant l’efficacité de nos modèles de classification. 2 Modèle Dans cette section, le classifieur de marques et modèles de véhicules est présenté. L’objectif est d’apprendre un classifieur sur des images synthétiques qui pourra être testé sur des images couleurs réelles. Nous avons construits, dans un premier temps, une base de données appelées 2D3DCar composée de données d’apprentissage et de test. La base d’apprentissage (appelé 3DCar) se compose de N modèles 3D de voitures. La base de test (appelé 2DCar) se compose d’images réelles couleurs qui correspondent exactement au modèles de 3DCar (Figure 1). L’apprentissage est divisé en deux phases. Dans un premier temps, nous utilisons la base CompCar [9] composée de M classes, afin d’apprendre les descripteurs discriminatifs pour la reconnaissance fine mais aussi communs aux deux domaines (couleurs et contours). Dans un second temps, nous utilisons ces descripteurs pour apprendre un classifieur uniquement sur des images de contours synthétiques générées avec la base de données 3DCar. Chaque modèle 3D de la base de données 3DCar (fourni par [16]) est projeté suivant plusieurs points de vue et plusieurs paramètres intrinsèques de caméra. La Figure 1 illustre l’ensemble du système. 2.1 Descripteurs communs profonds L’objectif principal de cette étape est de trouver une représentation commune dans l’espace des descripteurs entre des cartes de contours et des images couleurs. L’idée est de considérer que les contours trouvés dans une image cou- leur sont très similaires aux contours saillants des images synthétiques. En utilisant CompCar [9], nous générons une carte de contours pour chacune des images en utilisant la détection de contours proposée par [25]. Nous motivons ce choix par le fait que cet algorithme semble plus robuste au bruit que le détecteur de Canny [26]. Ainsi, nous obtenons de CompCar deux bases de données : la base de donnée couleur {XColor , YColor } et la base de données contours {XEdge , YEdge } où X correspond aux données et Y 2 [1, .., M ] aux labels des classes. Les réseaux de neurones profonds peuvent être définis par deux ensembles de paramètres : les paramètres de descripteurs ✓f et les paramètres de classifications ✓c1 . Nous définissons un réseau de neurone complètement partagé entre les deux types de données. La Figure 1 (a) illustre cette phase d’apprentissage. L’optimisation des paramètres du réseau (✓f , ✓c1 ) est effectuée en minimisant la fonction de coût suivante : (✓ˆf , ✓ˆc1 ) = argmin L(✓f , ✓c1 , XColor , YColor ) (✓f ,✓c1 ) +L(✓f , ✓c1 , XEdge , YEdge ) où L correspond à la fonction de coût classique Softmax. Aucun coefficient de pondération n’est utilisé pour ne pas favoriser un domaine par rapport à un autre. Cette manière de faire peut être assimilée au réseaux de neurones siamois [27] où l’objectif est de minimiser la distance (norme L2) dans l’espace des descripteurs entre deux images similaires. Néanmoins, contrairement aux réseaux siamois, nous essayons de réduire la distance entre des images représentant le même véhicule (sur les deux domaines) tout en apprenant des descripteurs discriminatifs pour la reconnaissance fine. Contrairement aux méthodes d’adaptation de domaine comme [21, 22, 23, 24] nous n’essayons pas de mettre en correspondance un type de données sur un autre mais nous essayons de trouver directement la représentation commune qui peut être pertinente pour les deux types de données. 2.2 Classifieur synthétique Une fois que les descripteurs communs aux couleurs et aux contours ont été appris, nous les utilisons pour entraîner un classifieur seulement sur des images de contours synthétiques {Xsynth , Ysynth } générées avec les modèles 3D de la base de données 3DCar avec Y 2 [1, .., N ]. Nous fixons les paramètres d’extraction de descripteurs ✓ˆf appris précédemment et nous entraînons de nouveaux paramètres de classification ✓c2 correspondants aux N labels de nos modèles 3D. La nouvelle fonction de coût à minimiser est définie comme suit : ✓ˆc = argmin L(✓ˆf , ✓c , Xsynth , Ysynth ) 2 ✓c 2 2 La Figure 1 (b) illustre cette étape d’apprentissage. Procéder en deux étapes présente des avantages. Fixer les paramètres d’extraction de descripteurs permet d’apprendre cette deuxième étape très rapidement (très peu de paramètres à optimiser) et ajouter une classe à ce classifieur est très simple de part l’utilisation de modèles 3D. De plus, si nous apprenions directement un réseau complet sur les images synthétiques sans utiliser les descripteurs invariants aux couleurs et aux contours, le réseau se concentrerait sur des contours 3D qui ne sont pas présents dans les images de contours réelles. Cela veut dire que si le réseau n’est pas contraint par des images réelles, il sur-apprend les images synthétiques. Cela est démontré dans les expérimentations. 3 Expérimentations Dans ces expérimentations, nous considérons deux bases de données : CompCar et 2D3DCar. La base de données Compcar fournie 36451 images d’entraînements et 15626 images de tests correspondant à M = 431 classes. La base 3DCar est composée de N = 36 modèles 3D et la base 2DCar est composée de 403 images (à peu près 10 images par marques et modèles de véhicule). Nous avons généré 3456 rendus contours pour chaque modèle 3D. Le nombre total d’exemples dans la base de données synthétique est donc de 124416 exemples. Du bruit à été ajouté en utilisant des contours extraits de PASCAL VOC 2007 [28]. Sept réseaux profonds ont été entraîné pour évaluer, comparer et valider notre nouvelle approche. Nous définissons dtf chaque réseau par Ndtc où dtc et dtf correspondent aux données d’apprentissage utilisées pour le classifieur et pour le calcul des descripteurs respectivement (couleurs+contours : ce, couleurs : c, contours : e et contours synthétiques : s). Nous détaillons le type de données d’apprentissage pour chaque réseau appris dans le Tableau 1 et le Tableau 2. Nous avons appris tous les réseaux en utilisant l’architecture GoogLeNet proposé par [29]. Le GoogLeNet est composé de différents niveaux de hiérarchie. La fonction de coût est composée de plusieurs fonctions de perte basées sur la fonction Softmax correspondant à chaque hiérarchie et permettant une bonne régularisation pendant l’optimisation. Pour l’apprentissage des descripteurs invariants aux contours et au couleurs nous avons utilisé une initialisation utilisant des poids pré-appris (fine-tuning). Réseau ce Nce Ncc Nee Paramétres des descripteurs et du classifieur Appris sur CompCar-color et CompCar-edge Appris sur CompCar-color Appris sur CompCar-edge Performance sur CompCar-color 95.9 / 99.4 96.2 / 99.5 46.7 / 70.6 Performance sur CompCar-edge 92.0 / 98.6 3.8 / 12.0 84.5 / 96.4 TABLE 1 – Performances sur les images de test (couleurs et contours) de CompCar (rang 1 / rang 5). Réseau Nsce Nsc Nse Nss Paramétres des descripteurs fixés avec ce Nce fixés avec Ncc fixés avec Nee Paramétres classifieur Appris sur synthetiques Appris sur synthetiques Appris sur synthetiques Performance sur 2DCar-color 83.6 / 96.0 42.7 / 77.7 53.6 / 83.6 4.7 / 18.1 Performance sur 2DCar-edge 69.7 / 95.2 28.5 / 64.8 56.6 / 88.6 10.2 / 29.3 Appris sur synthetiques TABLE 2 – Performances sur les images de test (couleur et contours) de 2DCar (rang 1 / rang 5). Dans cette section, trois résultats expérimentaux sont présentés : • Visualisation des descripteurs invariants aux couleurs et ce aux contours. En utilisant le réseau Nce défini dans la section 2.1, nous avons extrait les descripteurs sur les images de contours synthétiques et les images couleurs réelles (venant de 3DCar et 2DCar) et nous avons tracé leurs distributions en utilisant la réduction de dimension t-SNE dans la Figure 2. Nous pouvons voir que les deux domaines (couleurs réelles et contours synthétiques) sont très proches dans l’espace des descripteurs tout en étant discriminants pour la reconnaissance de marques et modèles de véhicule. Cela montre que les descripteurs entraînés sur des contours extraits d’images réelles et sur des images couleur se généralisent aux images de contours synthétiques. De plus, cela prouve le pouvoir de généralisation pour la reconnaissance fine : même si les descripteurs sont appris sur une base de données avec des marques et modèles spécifiques (les classes de CompCar), ils peuvent être appliqués à d’autre marques et modèles de voitures tout en restant discriminant pour ces nouvelles classes (les classes de 2D3DCar). • Évaluation des performances du réseau appris pour reconnaître la marque et le modèle d’une voiture sur les deux domaines (couleurs réelles et contours réelles). Le Tableau 1 donne les résultats pour la reconnaissance fine sur les images de tests de CompCar (couleurs et contours). Nous pouvons voir clairement que nos descripteurs communs apce pris avec le réseau Nce sont très performant sur les deux types de données alors que Ncc et Nee échouent complètement sur le type de données non appris. • Évaluation des performances du classifieur synthétique sur des images réelles couleur. Le Tableau 2 donne les résultats pour la reconnaissance de marques et modèles de véhicule en utilisant des images de contours synthétiques pour l’apprentissage. Le test est fait sur la base 2DCar. Nous pouvons voir que Nsce (section 2.2) qui utilise les ce descripteurs de Nce augmente considérablement le score de classification en comparaison aux autres réseaux. Nous avons également appris des classifieurs en utilisant SVM et structured-SVM et les résultats sont similaires. La Figure 3 montre les courbes de rang pour ces réseaux et la Figure 4 illustre quelques résultats retournés par notre réseau Nsce . Les résultats montrent également que d’apprendre directement un réseau sur des images synthétiques (Nss ) n’est pas efficace sur les images réelles lors du test (couleurs et contours). Ce réseau ne peut pas se généraliser à ce type d’image car il se concentre sur des structures synthétiques qui ne peuvent pas être trouvées dans les images réelles. F IGURE 2 – Visualisation des descripteurs communs aux ce couleurs et aux contours appris avec le réseau Nce . Les descripteurs ont été calculé pour six classes sur les images couleurs de la base 2DCar (⇤) et sur les images de contours synthétiques générées avec la base 3DCar ( ) . 4 F IGURE 3 – Courbes de rang. L’axe des abscisses représente le rang [1, .., N ] l’axe des ordonnées la performance de reconnaissance de marques et modèles de véhicule. Les courbes de même couleur sont associées au même réseau mais testé sur différents types de données provenant de la base 2DCar : contours (lignes pointillées) et couleurs (lignes entières). Les courbes magenta correspondent au réseau appris avec notre approche. Conclusion Pour conclure, l’approche proposée permet de calculer des descripteurs communs aux images couleurs et images contours. Ces descripteurs sont très discriminants pour la reconnaissance de marques et modèles de véhicules sur les deux domaines. Une fois ces descripteurs appris, nous les utilisons pour apprendre un classifieur fin sur des images de contours synthétiques pouvant être appliqué à des images couleur réelles. La puissance de l’approche réside dans le fait qu’il est facile de générer pour l’entraînement beaucoup d’images synthétiques sans effort de labellisation. Nous donnons des résultats prouvant l’efficacité de la méthode. Ce travail montre la capacité des CNN à apprendre des descripteurs invariants aux domaines et démontre leurs pouvoirs de généralisation pour la reconnaissance fine sur plusieurs domaines. Une perspective de ce travail est le passage à l’échelle en augmentant le nombre de modèles 3D. Références [1] J. Krause, H. Jin, J. Yang, and L. Fei-Fei, “FineGrained Recognition without Part Annotations,” CVPR, 2015. [2] N. Zhang, J. Donahue, R. Girshick, and T. Darre, “Part-based R-CNNs for Fine-grained Category Detection.,” ECCV, 2014. Request Citroen C4 Chrysler Pacifica Mercedes C-Class Alpha 147 Rank 1 Citroen C4 Nissan Altima Mercedes C-Class Alpha 147 Rank 2 Toyota Matrix Toyota RAV4 Nissan Altima Peugeot 307 Rank 3 Audi Q7 Chrysler Pacifica Mercedes E400T Mercedes R-Class Rank 4 Mercedes R-Class Rank 5 Nissan Maxima Lexus LS430 Chrysler PTCruiser Jaguar S-Type Mercedes R-Class Audi Q7 Lexus LS430 F IGURE 4 – Exemples de résultats obtenus pour la classification de marques et modèles de véhicule en utilisant le réseau Nsce . Le réseau de neurone convolutif prend en entrée une image couleur réelle de la base 2DCar (première colonne) et produit un score de confiance de classification pour chaque modèle 3D de la base 3DCar. [3] J. Liu, A. Kanazawa, D. Jacobs, and P. Belhumeur, “Dog breed classification using part localization,” ECCV, 2012. [22] M. Long and J. Wang, “Learning transferable features with deep adaptation networks,” ICML, 2015. [4] Y. Taigman, M. Yang, M.A. Ranzato, and L. Wolf, “Deepface : Closing the gap to human-level performance in face verification,” CVPR, 2014. [23] E. Tzeng, J. Hoffman, N. Zhang, K. Saenko, and T. Darrell, “Deep domain confusion : Maximizing for domain invariance,” CoRR, vol. abs/1412.3474, 2014. [5] K. Ramnah, S.N. Sinha, and R. Szeliski, “Car make and model recognition using 3d curve alignment,” WACV, 2009. [24] F. Massa, B. Russell, and M. Aubry, “Deep Exemplar 2D-3D Detection by Adapting from Real to Rendered Views,” ArXiv e-prints, vol. abs/1512.02497, 2015. [6] J. Prokaj and G. Medioni, “3-d model based vehicle recognition,” WACV, 2009. [25] L. Wang, S. You, and U. Neumann, “Supporting range and segment-based hysteresis thresholding in edge detection.,” ICIP, 2008. [7] Y-L. Lin, V.I. Morariu, W. Hsu, and L.S. Davis, “Jointly Optimizing 3D Model Fitting and FineGrained Classification,” ECCV, 2014. [26] J. Canny, “A computational approach to edge detection,” PAMI, 1986. [8] J. Krause, M. Stark, J. Deng, and L. Fei-Fei, “3D object representations for fine-grained categorization,” Workshop ICCV, 2013. [27] S. Chopra, R. Hadsell, and Y. LeCun, “Learning a similarity metric discriminatively, with application to face verification,” CVPR, 2005. [9] L. Yang, P. Luo, C.C. Loy, and X. Tang, “A largescale car dataset for fine-grained categorization and verification,” CVPR, 2015. [28] M. Everingham, L. Van Gool, C.K.I. Williams, J. Winn, and A. Zisserman, “The PASCAL Visual Object Classes Challenge 2007 (VOC2007) Results,” . [10] J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” CVPR, 2015. [11] C. Farabet, C. Couprie, L. Najman, and Y. LeCun, “Learning hierarchical features for scene labeling,” PAMI, 2013. [12] R. Girshick, J. Donahue, T. Darrell, and J. Malik, “Rich feature hierarchies for accurate object detection and semantic segmentation,” CVPR, 2014. [13] R. Girshick, “Fast r-cnn,” ICCV, 2015. [14] X. Peng, B. Sun, K. Ali, and K. Saenko, “Learning deep object detectors from 3d models,” ICCV, 2015. [15] H. Su, Y. Li, and L.J. Guibas, “Render for cnn : Viewpoint estimation in images using cnns trained with rendered 3d model views,” ICCV, 2015. [16] Z. Zeeshan, M. Stark, B. Schiele, and K. Schindler, “Detailed 3d representations for object modeling and recognition,” PAMI, 2013. [17] M. Aubry, D. Maturana, A. Efros, B. Russell, and J. Sivic, “Seeing 3d chairs : exemplar part-based 2d3d alignment using a large dataset of cad models,” CVPR, 2014. [18] J.J.Lim, A.Khosla, and A.Torralba, “Fpm : Fine pose parts-based model with 3d cad models,” ECCV, 2014. [19] B. Pepik, M. Stark, P. Gehler, and B. Schiele, “Teaching 3d geometry to deformable part models,” CVPR, 2012. [20] M. Stark, M. Goesele, and B. Schiele, “Back to the future : Learning shape models from 3d cad data,” BMVC, 2010. [21] Y. Ganin and V. Lempitsky, “Unsupervised domain adaptation by backpropagation,” ICML, 2015. [29] C. Szegedy, W. Liu, Y., P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich, “Going deeper with convolutions.,” CVPR, 2014.