• Aucun résultat trouvé

L’objectif de ce chapitre est de donner une vue globale de notre système de suivi d’objets. Dans la section 2.1, nous définissons le scénario de notre étude et les critères de choix des méthodes algorithmiques et des architectures de calcul. Dans les section2.2, une analyse et une discussion de l’état de l’art présenté dans le chapitre 1sont effectuées. Dans la section 2.3, la vue globale du système est présentée.

2.1

Scénario d’étude

L’objectif de la thèse est le suivi multi-objet dans un réseau de caméras avec des champs de vision non recouvrants. Le scénario applicatif visé peut être la surveillance sur une large zone, le bâtiment intelligent, ou l’aide aux personnes. Dans ces scénarios, les caméras sont fixes, la topologie du réseau est connue et les objets à suivre sont des personnes. Tous les objets en mouvement sont considérés comme des objets d’intérêt. Nous ne nous intéressons pas, dans cette thèse, aux scènes de foule où le nombre d’objets en mouvement est élevé et où les occultations sont difficilement solvables avec une seule caméra. Nous supposons que le nombre d’objets vus par une caméra reste moyen (moins d’une dizaine d’objets). L’objectif du système est d’assurer une bonne performance de suivi tout en atteignant le temps réel (>10 fps) sur des architectures de calcul de faibles complexités. Les architectures de faible complexité sont un choix conditionné par les contraintes de coût et de consommation énergétique liées au déploiement d’un réseau de caméras. Les critères de choix, selon les différentes parties, sont les suivants :

— Suivi mono-caméra : le choix des méthodes se base sur la maximisation du compromis entre la performance de suivi et la complexité de calcul et de mémoire connaissant la plate-forme de vision embarquée utilisée.

28 Chapitre 2. Vue globale du système de suivi — Suivi multi-caméra : comme nous savons que le réseau contient des caméras avec des champs non recouvrants, nous visons un système qui n’a pas besoin d’une calibration précise afin d’assurer un simple déploiement, un traitement distribué pour garantir une faible bande passante de communication inter-caméra et pour faciliter le passage à l’échelle, et un bon compromis entre la performance de ré- identification et la complexité de calcul des algorithmes.

— Architecture de vision : le choix est basé sur le coût de la plate-forme, sa consom- mation énergétique, la puissance de calcul offerte et sa facilité de programmation.

2.2

Discussion et analyse de l’état de l’art

2.2.1 Suivi mono-caméra 2.2.1.1 Détection

La détection peut s’effectuer avec la soustraction de fond, le flux optique ou par une méthode d’apprentissage, comme expliqué dans la section 1.2.1. Le choix d’une méthode dépend du scénario applicatif, des architectures de calcul utilisées et des performances de suivi attendues.

La soustraction de fond et le flux optique considèrent tous les objets en mouvement comme des objets d’intérêt. La détection par apprentissage peut définir les objets d’intérêt comme une classe ou plusieurs classes d’objets. La soustraction de fond est destinée aux scénarios utilisant les caméras fixes. Les méthodes de flux optique et de détection par apprentissage peuvent être utilisées quelle que soit la nature des caméras (fixe ou mobile). La complexité des méthodes est variable suivant les algorithmes utilisés.

La plupart des algorithmes de soustraction de fond s’exécutent en temps réel sur un PC [Barnich and Van Droogenbroeck, 2011]. Le flux optique en temps réel n’est pas attei- gnable sur les processeurs génériques type PC, et dans la plupart des cas, des implémen- tations sur des architectures type Graphics Processing Unit (GPU) [Chase et al., 2008] sont utilisées. Dans [Zhang et al., 2014], une étude de l’algorithme du flux optique Lucas- Kanade est effectuée sur un DSP C66x de Texas Instrument consommant 10 W et conte- nant 8 coeurs fonctionnant à 1.25 GHz chacun. Les résultats obtenus montrent que pour atteindre 30 fps sur des images de résolutions 640×480 le nombre de DSP C66x nécessaires varie entre 2 et 8 selon les paramètres de l’algorithme. La nécessité de cette puissance de calcul démontre la complexité du flux optique. Les méthodes de détection par apprentis- sage sont coûteuses en calcul et le temps réel est difficilement atteignable même sur des PCs performants [Dollár et al., 2010]. Un détecteur de personnes à base de HOG + SVM a été implémenté sur la caméra intelligente CITRIC (tableau 1.1), dans [He et al., 2011]. Le temps nécessaire pour effectuer la détection sur une image de résolution 320× 240 est de 37 secondes, ce qui est très loin du temps réel.

Les performances de détection dépendent de plusieurs paramètres. Le flux optique et la soustraction de fond sont plus sensibles aux variations d’éclairage et aux occultations que les méthodes d’apprentissage. La qualité de détection des méthodes d’apprentissage est liée à la base de données utilisée pour l’apprentissage du classificateur.

2.2. Discussion et analyse de l’état de l’art 29 côté, la complexité du calcul de la soustraction de fond est la plus faible parmi toutes les méthodes de détection, ce qui est prometteur pour un fonctionnement en temps réel sur des architectures embarquées. D’un autre côté, elle est adaptée au scénario applicatif qui se restreint aux caméras fixes.

2.2.1.2 Descripteurs

La description d’un objet dans un système de suivi peut se faire avec des caractéris- tiques de mouvement ou d’apparence. La complexité liée à l’extraction des caractéristiques dépend de leur nature.

La caractéristique du mouvement nécessite moins d’opérations, car seules la position de l’objet et sa taille sont nécessaires. La vitesse et l’accélération sont souvent estimées à partir de la position en utilisant un modèle de mouvement, fourni par l’algorithme de suivi. Le descripteur formé à partir de la caractéristique de mouvement est un vecteur d’état qui contient tous les paramètres décrivant l’objet (position, vitesse, taille, etc). Étant donné que le nombre d’éléments constituant le vecteur d’état est faible (moins de dix dans la plupart des cas), la mémoire nécessaire pour son stockage est faible et son évolution dans l’algorithme de suivi ne nécessite pas beaucoup d’opérations.

L’extraction de l’apparence d’un objet, quant à elle, demande plus de calcul, parce qu’elle nécessite une étape supplémentaire. L’apparence est extraite, seulement, une fois la position de l’objet connue. Suivant le modèle d’apparence utilisé, la complexité de l’extraction est variable. Par exemple, le nombre d’opérations n’est pas le même pour le calcul d’un histogramme de couleur, d’un HOG ou la représentation de l’objet en template de couleur. De plus, le nombre de paramètres définissant l’apparence d’un objet est plus important que le nombre d’éléments composant le vecteur d’état de la caractéristique de mouvement. Par exemple, décrire un objet avec un histogramme de couleur nécessite un vecteur de 3× 256 éléments, quand aucune quantification n’est utilisée. Plus la taille de descripteur est élevée, plus la mémoire de stockage et le nombre d’opérations nécessaires pour son évolution sont importants.

La description d’un objet est sensible à la phase de détection. En effet, si un objet est mal détecté, il sera mal décrit. La fiabilité de la caractéristique de mouvement dépend de la fiabilité du modèle de mouvement de l’algorithme de suivi. Suivant la nature des objets, une caractéristique peut être plus pertinente qu’une autre. La caractéristique de mouvement est adéquate quand les objets ont la même apparence, par exemple, un groupe de personnes habillées de la même façon. L’apparence est pertinente quand les objets se déplacent d’une manière strictement aléatoire pour qu’ils soient décrits avec un modèle du mouvement fidèle, comme le déplacement des insectes, par exemple.

Pour la conception d’un algorithme de faible complexité pour les systèmes embarqués, la caractéristique de mouvement est la plus adéquate. L’apparence peut s’avérer intéres- sante pour la discrimination des objets quand des occultations se produisent, en particulier quand les objets d’intérêt sont des personnes.

2.2.1.3 Suivi

Les algorithmes de suivi sont classifiés en trois catégories : suiveurs de points, suiveurs de formes paramétriques et suiveurs de formes non paramétriques, comme expliqué dans la

30 Chapitre 2. Vue globale du système de suivi section1.2.3. Les suiveurs de points utilisent un vecteur d’état comme entrée. Le vecteur d’état contient souvent des caractéristiques de mouvement pour les systèmes linéaires Gaussiens (les implémentations à base de filtre de Kalman) et mouvement et/ou apparence dans le cas général (les implémentations à base de filtre à particules). En effet, un modèle d’évolution du vecteur d’état est utilisé pour les suiveurs de points. La complexité du suivi est dépendante des caractéristiques utilisées pour la description de l’objet, du modèle d’évolution et du type d’implémentation. Pour les modèles d’évolution simples qui utilisent la caractéristique du mouvement, les suiveurs de points sont moins complexes que les suiveurs de formes. Les suiveurs de formes sont basés sur des caractéristiques d’apparence extraites au niveau pixel. Les vecteurs de caractéristiques d’apparence sont souvent de grandes tailles. L’utilisation des formes non paramétriques nécessite des caractéristiques extraites au niveau pixel type contour ou silhouette. Comme les caractéristiques sont non paramétriques, le nombre d’éléments les composant est élevé et dépend souvent de la taille des objets. En règle générale, plus les caractéristiques utilisées pour le suivi sont de petites tailles, plus le suivi est de faible complexité.

L’utilisation de la caractéristique de mouvement pour le suivi d’objets impose l’uti- lisation de suiveurs de points. La faible complexité de ce suivi est prometteuse pour un fonctionnement en temps réel sur des architectures embarquées.

2.2.2 Suivi multi-caméra

Le suivi d’objets dans un réseau de caméras dépend de la topologie du réseau : caméra avec des champs recouvrants ou caméras avec des champs non recouvrants. L’utilisation de caméras avec des champs recouvrants nécessite une calibration et une synchronisation précises des caméras. La fusion centralisée fournit de meilleures performances mais né- cessite beaucoup de calcul et de bande passante de communication. La fusion distribuée assure la flexibilité du système et la facilité de passage à l’échelle.

Dans la thèse, nous nous intéressons aux réseaux de caméras avec des champs non recouvrants. Les réseaux calibrés nécessitent, selon les caractéristiques de ré-identification utilisées, un apprentissage de la topologie du réseau, des fonctions de transfert de couleur entre caméras et des connaissances a priori sur le mouvement des objets. Les réseaux non calibrés nécessitent l’utilisation de caractéristiques invariantes aux changements de points de vue et d’éclairage. La connaissance de la topologie permet de limiter le nombre de caméras où l’objet est recherché, et donc de réduire la complexité de calcul et la bande passante de communication inter-caméra. La complexité des réseaux de caméras non calibrées est plus importante car les caractéristiques utilisées pour la ré-identification sont plus complexes.

Afin d’assurer un fonctionnement sur des réseaux de caméras intelligentes, la bande passante de communication et la complexité de calcul sont des contraintes fortes, car elles agissent directement sur la consommation du système. L’utilisation d’un traitement distribué sur un réseau calibré est la solution la plus prometteuse pour notre contexte.

2.2. Discussion et analyse de l’état de l’art 31 2.2.3 Architectures de vision

Les architectures embarquées de vision présentent différentes caractéristiques, comme expliqué dans la section 1.4. Les caméras intelligentes à base de FPGA sont efficaces pour les traitements bas niveau réguliers qui ne nécessitent pas d’opérations en virgule flottante. Cependant, elles sont difficiles à programmer. Les caméras intelligentes à base de processeurs programmables offrent une facilité de programmation et une large gamme de performance. Celles utilisant des DSP sont adéquates pour les traitements utilisant des opérations MAC qui sont souvent des traitements bas et moyen niveaux comme la convolution, la segmentation ou le calcul de distances. Les processeurs SIMD comme unité de traitement offrent un bon compromis entre la consommation et la puissance de calcul quand plusieurs données nécessitent le même traitement, ce qui est le cas des traitements bas niveau s’effectuant sur les pixels de l’image. Les processeurs génériques type micro- contrôleur sont utilisés pour différents types de traitements et sont plus adaptés pour les traitements irréguliers comme l’exécution d’un système d’exploitation où pour la prise de décision.

La puissance de calcul, la consommation énergétique et le coût des caméras intelli- gentes qui sont sur le marché (tableau 1.2) sont différents d’une caméra à une autre. En effet, certaines caméras intelligentes comme Pixy consomment quelques mW et coûtent quelques dizaines d’euros. Cependant, elles offrent une faible puissance de calcul (faible fréquence d’horloge, FPU peu performante, faible capacité mémoire, etc). Étant données ces performances, peu d’algorithmes de vision peuvent fonctionner sur ce type de plates- formes.

Les caméras intelligentes à base de Raspberry Pi peuvent être considérées comme de moyenne gamme. En effet, leur consommation varie entre 1 et 3,5 W, suivant la version du Raspberry Pi utilisée et le coût est de quelques dizaines d’euros. Le processeur présent dans la carte de traitement est suffisamment performant (700 MHz pour la version 1 et 1 GHz en quadcore pour la version 2, entre 256 et 512 Mo de RAM) pour faire fonctionner certains algorithmes de traitement d’image.

La dernière gamme des caméras intelligentes est la gamme haute performance comme RazerCam qui contient un FPGA, un processeur embarqué performant (Dual core ARM Cortex-A9 @ 1 GHz) et une grande capacité mémoire. Ces plates-formes offrent une grande puissance de calcul avec une consommation modérée (4 W pour la RazerCam). Le seul inconvénient est le coût de ces caméras intelligentes, qui est de l’ordre de centaines voire de milliers d’euros.

Les caractéristiques des caméras intelligentes de la gamme moyenne sont adaptées pour notre contexte. En effet, pour une consommation modérée et un faible coût, nous avons une certaine flexibilité sur le choix des algorithmes vue la puissance de calcul qu’elles permettent. Les caméras intelligentes permettant une basse consommation et un faible coût ont une faible puissance de calcul et une taille mémoire faible pour exécuter les algorithmes de vision. Les caméras intelligentes de haute performance sont coûteuses.

32 Chapitre 2. Vue globale du système de suivi

2.3

Vue globale du système

Comme résultat à la discussion effectuée dans la section 2.2, nous fournissons la vue globale de notre système de suivi multi-objet pour un réseau de caméras avec des champs de vision non recouvrants. Dans notre système, chaque caméra contient une chaîne de suivi multi-objet. Quand un objet sort du champ de vision d’une caméra, cette caméra communique les informations de l’objet aux caméras voisines où l’objet est susceptible d’apparaître. Les caméras voisines attendent donc l’apparition de l’objet aux endroits correspondants. Une fois qu’une caméra ré-identifie l’objet, elle transmet un message aux autres caméras pour qu’elles arrêtent d’attendre.

Suivi multi-objet mono-caméra

Nous utilisons la soustraction de fond pour la détection d’objets. Les objets sont décrits par des vecteurs contenant les caractéristiques de mouvement. Le suivi s’effectue avec un algorithme suiveur de points.

Réseau de caméras avec des champs non recouvrants

Nous utilisons un traitement distribué tenant compte de la connaissance a priori fournie par le réseau de caméras pour ré-identifier les objets transitant entre les caméras. La ré- identification s’effectue avec des caractéristiques simples afin d’assurer une faible bande passante.

Architectures embarquées de vision

Nous utilisons une caméra intelligente de gamme moyenne. Les caméras intelligentes décrites dans le tableau1.1sont difficiles à se procurer vu qu’elles ne sont pas commercia- lisées. Parmi les caméras intelligentes commercialisées, la caméra moyenne gamme à base de la carte Raspberry Pi s’avère la plus pertinente pour un déploiement en réseau vue son prix, sa consommation et la puissance de calcul qu’elle offre. Nous utilisons donc une ca- méra intelligente composée de la carte Raspberry Pi version 1 comme unité de traitement et du module RaspiCam comme imageur.

Chapitre 3

Détection d’objets

Sommaire

3.1 Analyse des algorithmes de soustraction de fond . . . 33

Documents relatifs