Travail de fin d’études 2007-2008 : Etude de l'Adéquation de Différentes Plateformes à l'Implémentation d'un Algorithme de Pattern Matching Contexte La société Euresys développe et commercialise des produits hardware et software destinés à l’acquisition et à l’analyse d’images issues de caméras vidéo. Un marché important est celui de la vision industrielle qui s’adresse généralement au contrôle de qualité de produits manufacturés. Au sein de tels logiciels de contrôle, les outils dits de pattern matching occupent une place centrale. Ceux-ci sont destinés à trouver toutes les instances d'un motif dans un ensemble d'images-sources. L’amélioration de la performance de ses produits est une des préoccupations majeures d’Euresys qui est toujours à la recherche de nouvelles solutions. Dans ce cadre, la montée en force dans le monde scientifique de méthodes basées sur l'apparence locale suggère une possibilité d’accroître significativement la précision des outils de pattern matching développés par Euresys. De manière schématique, les méthodes basées sur l'apparence locale reposent sur l'extraction de caractéristiques visuelles discriminantes à partir des images qui peuvent ensuite être utilisées pour des traitements de plus haut niveau. Il s'agit d'élever le niveau sémantique des images, afin de passer d'un raisonnement sur les pixels à un raisonnement sur une représentation mathématique compacte intermédiaire. Les représentations intermédiaires modernes sont pourvues de vertus comme la robustesse aux occlusions, au bruit, à l'illumination ou au changement de point de vue. Malheureusement, les méthodes d'apparence locale se caractérisent par des calculs massifs et répétitifs sur les pixels des images. Ceci rend leur poids en termes de temps de calcul relativement élevé par rapport au reste de la chaîne de traitement de l'information. Néanmoins, le caractère répétitif des calculs se prête bien à une optimisation des algorithmes exploitant le jeu d'instructions de certaines plateformes. Le temps d'exécution peut en être drastiquement diminué. L'objectif de ce travail est triple : 1. écrire un logiciel de pattern matching fonctionnel basé sur l'apparence locale, 2. évaluer les performances de ce logiciel, et 3. optimiser la méthode d'apparence locale pour trois architectures hardware spécifiques. Contenu du travail Il s'agit de concevoir un logiciel de pattern matching de démonstration, mais entièrement fonctionnel. L'intelligence de ce logiciel résidera sur un PC standard basé sur un processeur Intel Pentium. Pour cette partie du travail Auteur: Sébastien Jodogne Euresys s.a. 18 juin 2007 Page 1/3 (notamment l'acquisition d'images), l'étudiant pourra s'aider des librairies déjà distribuées par Euresys. Méthode d'apparence locale Le cœur de l'outil de pattern matching se basera obligatoirement sur une méthode d'apparence locale classique et bien connue, définie par les deux composants suivants : 1. un détecteur de points d'intérêt : détecteur de Harris-Stephens, et 2. un descripteur de caractéristiques visuelles : les steerable filters de Freeman et Adelson. L'outil de démonstration devra autant que possible être ouvert à d'autres types de méthodes. Les résultats de la méthode d'apparence locale seront appliqués au pattern matching par le biais de techniques similaires à celles proposées par Lowe pour son architecture basée sur SIFT. Exploitation de hardware spécifique Contrairement à l'intelligence du pattern matching, la méthode d'apparence locale devra bénéficier d'implémentations spécifiques à certaines catégories de processeurs, à savoir : 1. Une implémentation de référence sur Intel Pentium. 2. Une implémentation optimisée pour Intel Pentium faisant usage des instructions MMX et/ou SSE2. 3. Une implémentation s’exécutant sur un Field-Programmable Gate Array (FPGA) qui équipe actuellement le hardware développé par Euresys. 4. Une implémentation sur un processeur Software-Configurable Processor (SCP). Un SCP est un composant récent dont l’architecture très innovante est basée sur l’association d’un processeur de type RISC et d’une unité de calcul parallèle totalement reconfigurable. Les principaux avantages de cette solution sont une puissance de calcul élevée, une programmation aisée par l’emploi de langages de haut niveau et rapport qualité/prix attractif. Dans les deux derniers cas, l'étudiant pourra exploiter l'étude de faisabilité proposée par un TFE antérieur, notamment en ce qui concerne les techniques de programmation et les transferts d'images. Chronologie Les jalons suivants devront être successivement réalisés : 1. Implémentation de référence du couple Harris – steerable filters sur Intel Pentium, accompagnée d'une validation mathématique des résultats. 2. Application au pattern matching des résultats du point précédent. 3. Réalisation d'une batterie de tests afin de comparer les performances de la nouvelle approche avec celles obtenues par les solutions Auteur: Sébastien Jodogne Euresys s.a. 18 juin 2007 Page 2/3 actuellement d’Euresys. implémentées dans les produits commercialisés 4. La dernière partie du travail consiste en l'optimisation de la vitesse d'exécution de la méthode d'apparence locale pour les architectures hardware citées plus haut. Une discussion critique énumèrera les avantages respectifs des différentes implémentations. Évidemment, ce programme est purement indicatif et potentiellement soumis à modifications. Encadrement L’étudiant bénéficiera du soutien des équipes de développement hardware et software de la société Euresys (http://www.euresys.com/). Il aura à sa disposition une carte équipée d'un FPGA, une carte équipée d’un SCP, et un environnement complet de développement (compilateur C/C++, assembleur, …). L’acquisition de ce matériel a déjà été effectuée. Responsable du travail chez ([email protected]). Euresys : Sébastien Jodogne Profil Licencié en Informatique, ou Ingénieur Electronicien ou Informaticien intéressé par les algorithmes modernes de vision par ordinateur et par l'optimisation de logiciels. Auteur: Sébastien Jodogne Euresys s.a. 18 juin 2007 Page 3/3