FR3035251A1 - Procede et dispositif de generation d'une representation multi-resolutions d'une image et application a la detection d'objet - Google Patents
Procede et dispositif de generation d'une representation multi-resolutions d'une image et application a la detection d'objet Download PDFInfo
- Publication number
- FR3035251A1 FR3035251A1 FR1553461A FR1553461A FR3035251A1 FR 3035251 A1 FR3035251 A1 FR 3035251A1 FR 1553461 A FR1553461 A FR 1553461A FR 1553461 A FR1553461 A FR 1553461A FR 3035251 A1 FR3035251 A1 FR 3035251A1
- Authority
- FR
- France
- Prior art keywords
- image
- representation
- main
- detection window
- resolution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims description 44
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 238000011897 real-time detection Methods 0.000 claims description 6
- 239000000543 intermediate Substances 0.000 description 47
- 241000405217 Viola <butterfly> Species 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
- G06F18/2185—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/245—Classification techniques relating to the decision surface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/446—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering using Haar-like filters, e.g. using integral image techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/144—Image acquisition using a slot moved over the image; using discrete sensing elements at predetermined points; using automatic curve following means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Dispositif (4) de génération en temps réel d'une représentation multi-résolution d'une image numérique, comprenant une mémoire principale (6) apte à stocker une succession de représentations principales (A, B, C) de l'image à des résolutions principales différentes, une mémoire locale (7) couplée à la mémoire principale (6) via un bus (8) et apte à stocker une représentation principale (A, B, C) courante, et un traitement configuré pour, pour au moins une représentation principale (A, B, C) : a) charger au moins une partie de ladite représentation principale (A, B, C) courante dans la mémoire locale (7), b) faire parcourir ladite représentation principale (A, B, C) courante par une fenêtre de détection (F) rectangulaire, c) optionnellement, selon la nature du classifieur utilisé, et à chaque position (Fi) du parcours, calculer une image intégrale de ladite fenêtre (F), d) déterminer au moins une représentation intermédiaire (A-1, A-2, B-1, B-2) de l'image ayant une résolution intermédiaire comprise entre la résolution de la représentation principale (A, B) courante et la résolution de la représentation principale suivante (B, C), faire parcourir ladite représentation intermédiaire (A-1, A-2, B-1, B-2) par la fenêtre (F) rectangulaire, et optionnellement, selon la nature du classifieur utilisé, et à chaque position (Fi) du parcours, calculer une image intégrale de ladite fenêtre (F)..
Description
1 Procédé et dispositif de génération d'une représentation multi- résolutions d'une image et application à la détection d'objet Des modes de mise en oeuvre et de réalisation de l'invention concernent la génération en temps réel d'une représentation multi- résolution d'une image numérique et son application à la détection d'objet dans une image numérique, en particulier par des méthodes de détection de type « fenêtre glissante » (« scan-window »), tels que la méthode de Viola et Jones.
La méthode de Viola et Jones est une méthode connue de détection d'objet dans une image numérique. Elle fait partie des méthodes capables de détecter efficacement et en temps réel des objets dans une image par moyen d'une fenêtre de détection glissante. Elle est utilisée généralement pour détecter des visages et des personnes mais peut aussi être utilisée pour la détection d'autres objets tels que des voitures ou des avions. La méthode de Viola et Jones est basée sur un procédé d'apprentissage supervisé. Elle nécessite par conséquent de quelques centaines à plusieurs milliers d'exemples de l'objet que l'on souhaite détecter, pour entraîner un classifieur. Une fois son apprentissage réalisé, ce classifieur est utilisé pour détecter la présence éventuelle de l'objet dans une image en parcourant celle-ci de manière exhaustive, à toutes les positions et dans toutes les tailles et toutes les échelles possibles.
La méthode, en tant que méthode d'apprentissage supervisé, est divisée en deux étapes : une étape d'apprentissage du classifieur basé sur un grand nombre d'exemples positifs, c'est-à-dire les objets d'intérêt comme par exemple des visages, et d'exemples négatifs, comme par exemple des images indiquées comme ne représentant pas des visages, et une phase de détection par application de ce classifieur à des images inconnues. La méthode de Viola et Jones est une approche basée sur l'apparence, qui consiste à parcourir par moyen d'une « fenêtre glissante » (« scan-window ») l'ensemble de l'image en calculant un 3035251 2 certain nombre de caractéristiques dans des zones, ou fenêtres de détection, rectangulaires qui se chevauchent. Elle a la particularité d'utiliser des caractéristiques très simples mais très nombreuses. Les caractéristiques sont une représentation synthétique et 5 informative, calculée à partir des valeurs des pixels. Les caractéristiques pseudo-Haar, qui sont utilisées par la méthode de Viola et Jones, sont calculées par des opérations arithmétiques sur les valeurs des sommes de pixels d'un ou plusieurs zones rectangulaires. Pour calculer rapidement et efficacement ces caractéristiques 10 sur une image, la méthode de Viola et Jones utilise des images intégrales. Une image intégrale, ou « summed area table » en anglais, est une représentation sous la forme d'une image numérique, de même taille que l'image d'origine, qui en chacun de ses points contient la 15 somme des pixels x et y situés au-dessus et à gauche de ce point. Plus formellement, l'image intégrale ii est définie à partir de l'image i par : ii (x, y) = i (x', y') x' 5x,y15y Grâce à cette représentation sous forme de table de correspondance, la somme des valeurs dans une zone rectangulaire 20 peut être calculée en seulement quatre accès à l'image intégrale, et même en seulement six accès pour deux zones rectangulaires contiguës, et donc en temps constant quelle que soit la taille de la zone. En phase de détection, l'ensemble de l'image est parcouru en 25 déplaçant la fenêtre de détection d'un certain pas dans le sens horizontal et/ou vertical. La méthode de Viola Jones est implémentée en utilisant une pyramide pour chaque image à analyser. En traitement d'images, la pyramide est une représentation multi-résolution d'une image. Elle 30 permet de modéliser l'image à différentes résolutions, depuis l'image initiale à une image très grossière. La pyramide d'images permet au procédé de détection mettant en oeuvre la méthode de Viola Jones de 3035251 3 travailler depuis les détails jusqu'au "grossier" et ainsi de permettre la détection des objets de tailles différentes et à plusieurs distances. Un inconvénient de la méthode de Viola et Jones est lié à la bande passante nécessaire sur le bus d'interconnexion couplant une 5 mémoire stockant les représentations aux différentes résolutions d'une image après avoir réalisé la représentation multi-résolution de l'image aux moyens de traitement permettant notamment de calculer les images intégrales pour chacune des résolutions. Selon un mode de mise en oeuvre, il est proposé un procédé de 10 détection par méthode de Viola Jones utilisant un procédé de génération en temps réel d'une représentation multi-résolution d'une image numérique permettant de réduire la bande-passante utilisée sur un bus de transfert et ainsi permettre la détection en temps réel des images.
15 Selon un aspect, il est propose un procédé de génération en temps réel d'une représentation multi-résolution d'une image numérique, comprenant un stockage dans une mémoire principale d'une succession de représentations principales de l'image à des résolutions principales successives différentes et un traitement 20 comportant, pour au moins une représentation principale courante : a) un chargement d'au moins une partie de ladite représentation principale courante dans une mémoire locale via un bus, b) optionnellement, un parcours de ladite au moins une partie 25 chargée de la représentation principale courante par une fenêtre de détection rectangulaire, c) optionnellement selon la nature du classifieur utilisé, chaque position du parcours, un calcul d'une image intégrale de la portion d'image contenue dans ladite fenêtre de détection, 30 d) une détermination d'au moins une partie correspondante d'au moins une représentation intermédiaire de l'image ayant une résolution intermédiaire comprise entre la résolution de la représentation principale courante et la résolution de la représentation principale suivante, optionnellement un parcours 3035251 4 d'au moins une partie correspondante de la ladite représentation intermédiaire par la fenêtre de détection rectangulaire, et optionnellement, selon la nature du classifieur utilisé, à chaque position du parcours, un calcul d'une image 5 intégrale de la portion d'image contenue dans ladite fenêtre de détection, e) une répétition des étapes a) à d) avec les différentes parties de la représentation principale courante jusqu'à ce que toute les parties de la représentation principale courante aient été 10 successivement chargées et traitées, et une répétition éventuelle des étapes a) à e) pour au moins une représentation principale suivante. La présence de la mémoire locale permet de ne stocker dans la mémoire principale qu'un nombre limité de représentations principales 15 de l'image à différentes résolutions principales. Le nombre de représentations principales à charger de la mémoire principale vers la mémoire locale via le bus de transfert étant réduit, la bande-passante du bus de transfert est réduite. La mémoire locale permet ensuite de construire les 20 représentations intermédiaires de l'image à des résolutions intermédiaires à partir d'une des représentations principales ou de les construire partie par partie à partir de partie de représentations principales successivement chargées dans la mémoire locale. Les représentations intermédiaires obtenues permettent avec les 25 représentations principales de construire une pyramide d'images comprenant des représentations de l'image à chacune des résolutions utilisées pour la détection d'un objet sur l'image. Selon le nombre de représentations à résolutions différentes souhaitées, l'unité de traitement peut répéter les étapes a) à e) pour au 30 moins une autre représentation principale stockée dans la mémoire principale, éventuellement jusqu'à l'avant dernière ou la dernière. Les caractéristiques optionnelles mentionnées ci-avant pourraient être effectuées par le classifieur d'un dispositif de détection 3035251 5 d'objets, ou bien lors du traitement ci-dessus concernant ladite au moins une représentation principale courante. Avantageusement, le procédé peut comprendre, pour chaque itération des étapes a) à d), au moins une répétition des étapes c) et d) 5 pour déterminer au moins une partie correspondante d'au moins une nouvelle représentation intermédiaire de l'image ayant une résolution intermédiaire comprise entre la résolution intermédiaire de la représentation intermédiaire précédente et la résolution principale de la représentation principale suivante et optionnellement faire parcourir 10 ladite au moins une partie correspondante de la nouvelle représentation intermédiaire par une fenêtre de détection rectangulaire, et optionnellement, selon la nature du détecteur utilisé, et à chaque position du parcours, calculer une image intégrale de la portion d'image contenue dans ladite fenêtre de détection.
15 Selon la finesse de détection souhaitée, c'est-à-dire le nombre de résolutions différentes étudiées pour une même image, une pluralité de représentations intermédiaires supplémentaires peut être générée en cascade à partir de la représentation intermédiaire générée précédemment et ayant des résolutions de plus en plus petites mais 20 toujours supérieures à la résolution principale de la représentation principale suivante. De préférence, le déplacement entre deux positions de la fenêtre de détection est inférieur à la dimension de la fenêtre de manière à ce qu'au moins une partie de la fenêtre de détection 25 chevauche la fenêtre de détection dans sa position précédente. Le pas de déplacement de la fenêtre permet de réduire le nombre de positions à évaluer et donc améliorer les performances d'exécution. L'efficacité de détection est augmentée par la réduction du pas car la finesse de recherche est plus grande.
30 De préférence, la fenêtre de détection est déplacée dans une première direction de l'image, de préférence horizontale, et décalée dans une seconde direction de l'image, de préférence verticale, orthogonale à la première direction à chaque fois que la fenêtre de détection a atteint une extrémité de l'image selon la première 3035251 6 direction, le déplacement de la fenêtre de détection selon la première direction étant effectué d'une extrémité de l'image à l'extrémité opposée. Un tel déplacement permet ainsi de systématiser le calcul en 5 s'assurant que toute la surface de l'image est couverte. Selon un autre aspect, il est proposé un procédé de détection en temps réel par une méthode de type fenêtre glissante de détection, par exemple une méthode de Viola-Jones, d'au moins un objet dans une image numérique, comprenant une génération d'une succession de 10 représentations principales de l'image à des résolutions principales successives différentes, un procédé de génération en temps réel d'une représentation multi-résolution de ladite image numérique tel que défini ci-dessus et appliqué auxdites représentations principales de l'image, et un traitement des images intégrales calculées par des 15 classifieurs mettant en oeuvre la méthode de Viola-Jones. Selon encore un autre aspect, il est proposé un dispositif de génération en temps réel d'une représentation multi-résolution d'une image numérique, comprenant une mémoire principale apte à stocker une succession de représentations principales de l'image à des 20 résolutions principales différentes, une mémoire locale couplée à la mémoire principale via un bus et apte à stocker au moins une partie d'une représentation principale courante, et une unité de traitement configurée pour, pour au moins une représentation principale courante : 25 a) charger au moins une partie de ladite représentation principale courante dans la mémoire locale, b) optionnellement, faire parcourir ladite au moins une partie chargée de la représentation principale courante par une fenêtre de détection rectangulaire, 30 c) optionnellement, selon la nature du classifieur utilisé, et à chaque position du parcours, calculer une image intégrale de la portion d'image contenue dans ladite fenêtre de détection, d) déterminer au moins une partie correspondante d'au moins une représentation intermédiaire de l'image ayant une 3035251 7 résolution intermédiaire comprise entre la résolution de la représentation principale courante et la résolution de la représentation principale suivante, optionnellement faire parcourir au moins une partie correspondante de la ladite 5 représentation intermédiaire par la fenêtre de détection rectangulaire, et optionnellement, selon la nature du classifieur utilisé, calculer à chaque position du parcours une image intégrale de la portion d'image contenue dans ladite fenêtre de détection, 10 e) répéter les étapes a) à d) avec les différentes parties de la représentation principale courante jusqu'à ce que toute les parties de la représentation principale courante aient été successivement chargées et traitées, l'unité de traitement étant configurée en outre pour éventuellement 15 répéter les étapes a) à e) pour au moins une représentation principale suivante. Avantageusement, l'unité de traitement peut en outre être configurée pour réitérer, pour chaque itération des étapes a) à d), au moins une fois l'étape d) afin de déterminer au moins une partie 20 correspondante d'au moins une nouvelle représentation intermédiaire de l'image ayant une résolution intermédiaire comprise entre la résolution intermédiaire de la représentation intermédiaire précédente et la résolution de la résolution principale de la représentation principale suivante, optionnellement faire parcourir ladite au moins 25 une partie correspondante de la nouvelle représentation intermédiaire par une fenêtre de détection rectangulaire, et optionnellement calculer à chaque position du parcours une image intégrale de la portion d'image contenue dans ladite fenêtre de détection. De préférence, l'unité de traitement est configurée pour 30 commander le déplacement de la fenêtre de détection entre deux positions successives pour qu'au moins une partie de la fenêtre de détection chevauche la fenêtre de détection dans sa position précédente.
3035251 8 L'unité de traitement est préférentiellement configurée pour déplacer la fenêtre dans une première direction de l'image, de préférence horizontale, et la décaler dans une seconde direction de l'image, de préférence verticale, orthogonale à la première direction à 5 chaque fois que la fenêtre de détection a atteint une extrémité de l'image selon la première direction, le déplacement de la fenêtre de détection selon la première direction étant effectué d'une extrémité de l'image à l'extrémité opposée. Selon un autre aspect, il est proposé, un dispositif de détection 10 en temps réel par une méthode de type fenêtre de détection, par exemple une méthode de Viola-Jones d'au moins un objet dans une image numérique, comprenant des moyens de génération d'une succession de représentations principales de l'image à des résolutions principales différentes, un dispositif de génération en temps réel d'une 15 représentation multi-résolution de ladite image numérique telle que défini ci-avant, et des moyens de traitement des images intégrales calculées mettant en oeuvre la méthode de Viola-Jones. Selon encore un autre aspect, il est proposé un appareil électronique comprenant un dispositif de détection tel que défini ci- 20 dessus. D' autres avantages et caractéristiques de l' invention apparaîtront à l'examen de la description détaillée d'un mode de réalisation de l'invention, nullement limitatifs, et des dessins annexés, sur lesquels : 25 la figure 1 représente, de manière schématique, un appareil électronique comprenant un dispositif de détection en temps réel par méthode de Viola-Jones d'au moins un objet dans une image numérique selon un mode de réalisation de l'invention ; 30 la figure 2 présente de manière schématique des représentations principales et intermédiaires d'une pyramide d'images générées selon un mode de réalisation de l'invention.
3035251 9 Sur la figure 1 est représenté de manière schématique un appareil électronique comprenant un dispositif de détection en temps réel par méthode de Viola-Jones d'au moins un objet dans une image numérique selon un mode de réalisation de l'invention.
5 L'appareil électronique APP comprend par exemple un dispositif 1 de prise de vue tel qu'un appareil photographique numérique ou bien une caméra vidéographique, et un dispositif de détection 2 auquel le dispositif 1 de prise de vue est couplé. Le dispositif de détection 2, destiné à détecter en temps réel 10 par méthode de Viola-Jones au moins un objet dans une image numérique, comprend des moyens 3 de génération en temps réel d'une pyramide de représentations principales à des résolutions principales différentes successives de chaque image reçue. Ces moyens 3 sont couplés au dispositif de prise de vue 1 et sont aptes à générer une 15 succession de représentations principales de l'image à des résolutions principales différentes. Le dispositif de détection 2 comprend en outre un dispositif de génération 4 en temps réel d'une représentation multi-résolution de chaque image numérique reçue du dispositif de prise de vue 1 par le 20 dispositif de détection 2, et des classifieurs 5 pour la mise en oeuvre de la méthode de Viola-Jones. Ces classifieurs sont destinés à recevoir les images intégrales et les représentations principales et intermédiaires délivrées par le dispositif de génération 4, notamment à chaque déplacement horizontal ou vertical de la fenêtre de détection.
25 Le dispositif 4 comprend une mémoire principale 6, par exemple une mémoire DRAM, couplée à la sortie des moyens 3 de génération d'une pyramide de représentations principales et apte à stocker en mémoire pour chaque image les représentations principales de l'image aux différentes résolutions principales.
30 Le dispositif 4 comprend en outre une mémoire locale 7, par exemple une mémoire SRAM, couplée via un bus de transfert 8 à la mémoire principale 6. La mémoire locale 7, de taille plus petite que celle de la mémoire principale 6. Selon le mode de réalisation, la mémoire locale 7 est configurée pour stocker une représentation 3035251 10 principale de l'image à la fois, ou bien une partie, ou bande, à la fois d'une représentation principale de l'image, pour réaliser plusieurs sous-échantillonnages de la représentation principale et des calculs d'images intégrales pour chacun des sous-échantillonnages.
5 Pour simplifier au mieux la génération d'une représentation multi-résolution, on peut stocker effectivement une image complète dans la mémoire locale 7. Cependant, le stockage de seulement une bande d'une représentation principale, par exemple mise à jour ligne à ligne, 10 permet de générer les résolutions intermédiaires entre deux résolutions principales pour cette bande d'image. La taille de la bande d'image et le choix du facteur de sous échantillonnage entre deux résolutions principales permettant d'établir toutes les résolutions intermédiaires possible entre ces deux résolutions principales.
15 Le dispositif 4 comprend en outre une unité de traitement 9 configurée pour générer une fenêtre de détection F rectangulaire et la déplacer sur toute l'image et apte à calculer une image intégrale de la fenêtre de détection à chacune de ses positions. Sur la figure 2 est représenté de manière schématique des 20 représentations principales et intermédiaires d'une pyramide d'images générées selon un mode de réalisation de l'invention. Les représentations principales A, B et C de l'image sont représentées en traits pleins. Les représentations principales A, B et C sont des représentations de l'image traitée générées par les moyens de 25 génération 3. Ces représentations principales A, B et C possèdent des résolutions principales différentes comme par exemple les résolutions 1, 1/4, 1/16, 1/64, etc. La résolution 1/4 correspond à une résolution 1/2 en horizontal et 1/2 en vertical. Ces représentations principales A, B et C sont stockées dans la mémoire principale 7.
30 Le dispositif 4 de génération charge tour à tour une des représentations principales A, B puis C dans sa mémoire locale 7. Lorsqu'une des représentations principales A, B ou C est chargée dans la mémoire locale 7, la représentation principale ou intermédiaire précédente en mémoire, est écrasée.
3035251 11 Dans l'exemple illustré sur la figure 2, la représentation principale A, par exemple de résolution principale 1, est chargée en premier dans la mémoire locale 7 via le bus de transfert 8. L'unité de traitement 9 génère alors une fenêtre de détection F 5 rectangulaire, par exemple de 48 par 48 pixels, et calcule à chaque position Fi de la fenêtre de détection F, l'image intégrale correspondante. Les différentes fonctions de l'unité de traitement 9, qui vont maintenant être décrites, peuvent être réalisées par des modules 10 logiciels au sein d'un microprocesseur. L'unité de traitement 9 comporte un module logiciel de positionnement 10 apte à commander le déplacement de la fenêtre de détection F entre deux positions successives Fi_i et Fi. La fenêtre de détection F est déplacée d'une position précédente Fi_i à une position 15 suivante Fi d'une longueur inférieure à celle de la fenêtre de détection dans la direction de son déplacement de manière à obtenir un chevauchement d'au moins une partie de la fenêtre de détection dans la position suivante F avec la fenêtre de détection F dans sa position précédente 20 Comme cela est illustré par les flèches, la fenêtre de détection F est déplacée dans une direction horizontale de la représentation principale A, puis dans une direction verticale de la représentation principale A. La fenêtre de détection F est ainsi déplacée de ligne en ligne de haut en bas. Dans le mode de réalisation illustré, à chaque 25 fois que la fenêtre de détection F est déplacée dans la direction verticale, elle est repositionnée en début de ligne de manière à chevaucher partiellement la position de la fenêtre de détection en début de la ligne précédente, correspondant ici à la position notée Fi-1. L'unité de traitement 9 est en outre configurée pour effectuer 30 un sous-échantillonnage du contenu de la mémoire locale 7. Plus précisément, l'unité de traitement 9 est configurée pour déterminer au moins une représentation intermédiaire A_1, A-2, B-1, B-2 de l'image, en l'occurrence deux dans l'exemple illustré sur la figure 2, ayant une résolution intermédiaire comprise entre la résolution de la 3035251 12 représentation principale courante, A ou B dans l'exemple illustré, et la résolution de la représentation principale suivante, respectivement B ou C dans l'exemple illustré. Dans l'exemple illustré, la résolution intermédiaire A_1 est 5 donc comprise entre 1 et 1/4. Une fois la représentation intermédiaire A_1 déterminée, l'unité de traitement 9 est configurée pour faire parcourir la représentation intermédiaire A_1 par la fenêtre de détection F rectangulaire, et optionnellement, selon la nature du classifier utilisé, et à chaque 10 position Fi du parcours, calculer une image intégrale de ladite fenêtre de détection F. Il est possible de déterminer tout d'abord la représentation A_1 et de la stocker dans la mémoire locale 7 avant de calculer les images intégrales, ou bien de déterminer au fur et à mesure la représentation 15 A_1 et de calculer au fur et à mesure l'image intégrale de chaque fenêtre. A l'issue de la détermination de la première représentation intermédiaire A_1, la seconde représentation intermédiaire A-2 est calculée directement à partir de la représentation principale A stockée 20 dans la mémoire locale 7. Le nombre de bandes de résolution intermédiaires A_1, A-2 ... Ai pouvant être générées pour cette bande de résolution principale avant un incrément vertical de n lignes dépend du nombre de lignes d'image que la mémoire locale 7 peut stocker.
25 En variante, cette représentation intermédiaire A_1 pourrait être par exemple stockée intégralement ou partiellement dans la mémoire locale 7 pour être traitée par l'unité de traitement 9 pour construire au moins une partie de la seconde représentation intermédiaire A-2 et déterminer les images intégrales pour cette seconde représentation 30 intermédiaire A-2. La résolution intermédiaire de la représentation intermédiaire A-2 est comprise entre la résolution intermédiaire de la représentation intermédiaire précédente A_1 et la résolution principale de la représentation principale suivante B. Le calcul des images intégrales 3035251 13 de la représentation A-2 est identique à celui effectué pour la représentation A-1. A l'issue de ce traitement, dans l'exemple illustré sur la figure 2, le dispositif 4 de génération charge la deuxième représentation 5 principale B dans la mémoire locale 7 en vu de son traitement par l'unité de traitement 9 pour calculer les images intégrales de la représentation principale B et des deux représentations intermédiaires et B-2 et construire les représentations intermédiaires et B-2 en elles-mêmes.
10 Puis, dans l'exemple illustré sur la figure 2, le dispositif 4 de génération charge une troisième représentation principale C dans la mémoire locale 7 en vu de son traitement par l'unité de traitement 9 pour calculer les images intégrales de la représentation principale C. Les fenêtres d'images, ou d'image intégrales, calculées pour 15 chaque représentation principale A, B, C et intermédiaire A_1, A-2, B-1, B-2 sont délivrées au classifieur 5 du dispositif de détection 2, de même que les représentations principales A, B, C ou intermédiaires A_ 1, A-2, B-1, B-2 pour réaliser la détection d'objet aux différentes résolutions de l'image.
20 Le système et le procédé de détection par méthode de Viola Jones, utilisant un procédé de génération en temps réel d'une représentation multi-résolution d'une image numérique basé sur la génération de résolutions intermédiaires à partir de résolutions principales, permettent de réduire la bande-passante utilisée sur un bus 25 de transfert ce qui offre la possibilité de réaliser de la détection d'objet sur images numériques en temps réel.
Claims (11)
- REVENDICATIONS1. Procédé de génération en temps réel d'une représentation multi-résolution d'une image numérique, comprenant un stockage dans une mémoire principale (6) d'une succession de représentations principales (A, B, C) de l'image à des résolutions principales successives différentes, et un traitement comportant, pour au moins une représentation principale (A, B, C) courante : a) un chargement d'au moins une partie de ladite représentation principale (A, B, C) courante dans une mémoire locale (7) via un bus (8), b) optionnellement un parcours de ladite au moins une partie chargée de la représentation principale (A, B, C) courante par une fenêtre de détection (F) rectangulaire, c) optionnellement, selon la nature du classifieur utilisé, et chaque position (Fi) du parcours, un calcul d'une image intégrale de la portion d'image contenue dans ladite fenêtre de détection (F), d) une détermination d'au moins une partie correspondante d'au moins une représentation intermédiaire (A_1, A-2, B-1, B-2) de l'image ayant une résolution intermédiaire comprise entre la résolution de la représentation principale (A, B) courante et la résolution de la représentation principale suivante (B, C), optionnellement un parcours de ladite au moins une partie correspondante de la représentation intermédiaire (A_1, A-2, 13_ i, B-2) par la fenêtre de détection (F) rectangulaire, et optionnellement selon la nature du classifieur utilisé, un calcul, à chaque position (Fi) du parcours, d'une image intégrale de la portion d'image contenue dans ladite fenêtre de détection (F), e) une répétition des étapes a) à d) avec les différentes parties de la représentation principale (A, B, C) courante jusqu'à ce que toute les parties de la représentation principale (A, B, C) courante aient été successivement chargées et traitées, et 3035251 15 une répétition éventuelle des étapes a) à e) pour au moins une représentation principale suivante (B, C).
- 2. Procédé selon la revendication 1, comprenant, pour chaque itération des étapes a) à d), au moins une répétition de l'étape d) pour 5 déterminer au moins une partie correspondante d'au moins une nouvelle représentation intermédiaire (A-2, 13_2) de l'image ayant une résolution intermédiaire comprise entre la résolution intermédiaire de la représentation intermédiaire précédente (A_1, B_1) et la résolution principale de la représentation principale suivante (B, C), 10 optionnellement faire parcourir ladite au moins une partie correspondante de la nouvelle représentation intermédiaire (A-2, B-2) par la fenêtre de détection (F) rectangulaire, et optionnellement, selon la nature du classifieur utilisé, et à chaque position (Fi) du parcours, calculer une image intégrale de la portion d'image contenue dans 15 ladite fenêtre de détection (F).
- 3. Procédé selon l'une des revendications 1 ou 2, dans lequel le déplacement entre deux positions (Fi) de la fenêtre de détection (F) est inférieur à la dimension de la fenêtre (F) de manière à ce qu'au moins une partie de la fenêtre de détection (F) chevauche la fenêtre de 20 détection (F) dans sa position précédente (F1-0.
- 4. Procédé selon l'une des revendications 1 à 3, dans lequel la fenêtre de détection (F) est déplacée dans une première direction de l'image, de préférence horizontale, et décalée dans une seconde direction de l'image, de préférence verticale, orthogonale à la 25 première direction à chaque fois que la fenêtre de détection (F) a atteint une extrémité de l'image selon la première direction, le déplacement de la fenêtre de détection (F) selon la première direction étant effectué d'une extrémité de l'image à l'extrémité opposée.
- 5. Procédé de détection en temps réel par une méthode de type 30 fenêtre de détection glissante, par exemple une méthode de Viola- Jones d'au moins un objet dans une image numérique, comprenant une génération d'une succession de représentations principales (A, B, C) de l'image à des résolutions principales successives différentes, un procédé de génération en temps réel d'une représentation multi- 3035251 16 résolution de ladite image numérique selon l'une des revendications 1 à 4 appliqué auxdites représentations principales (A, B, C) de l'image, et un traitement des images intégrales calculées par des classifieurs (5) mettant en oeuvre la méthode de Viola-Jones. 5
- 6. Dispositif (4) de génération en temps réel d'une représentation multi-résolutions d'une image numérique, comprenant une mémoire principale (6) apte à stocker une succession de représentations principales (A, B, C) de l'image à des résolutions principales différentes, une mémoire locale (7) couplée à la mémoire 10 principale (6) via un bus (8) et apte à stocker au moins une partie d'une représentation principale (A, B, C) courante, et une unité de traitement (9) configurée pour, pour au moins une représentation principale (A, B, C) courante : a) charger au moins une partie de ladite représentation 15 principale (A, B, C) courante dans la mémoire locale (7), b) optionnellement faire parcourir ladite au moins une partie chargée de la représentation principale (A, B, C) courante par une fenêtre de détection (F) rectangulaire, c) optionnellement, selon la nature du classifieur utilisé, 20 calculer à chaque position (Fi) du parcours une image intégrale de la portion d'image contenue dans ladite fenêtre de détection (F), d) déterminer au moins une partie correspondante d'au moins une représentation intermédiaire (A-1, A-2, B-1, B-2) de 25 l'image ayant une résolution intermédiaire comprise entre la résolution de la représentation principale (A, B) courante et la résolution de la représentation principale suivante (B, C), optionnellement faire parcourir au moins une partie correspondante de la ladite représentation intermédiaire (A-1, 30 A-2, B-1, B-2) par la fenêtre de détection (F) rectangulaire, et optionnellement, selon la nature du classifieur utilisé, calculer à chaque position (Fi) du parcours une image intégrale de la portion d'image contenue dans ladite fenêtre de détection (F), 3035251 17 e) répéter les étapes a) à d) avec les différentes parties de la représentation principale (A, B, C) courante jusqu'à ce que toute les parties de la représentation principale (A, B, C) courante aient été successivement chargées et traitée, 5 l'unité de traitement (9) étant configurée en outre pour répéter les étapes a) à e) pour au moins une représentation principale suivante (B, C).
- 7. Dispositif selon la revendication 6, dans lequel l'unité de traitement (9) est configurée en outre pour répéter, pour chaque 10 itération des étapes a) à d), au moins une fois l'étape d) afin de déterminer au moins une partie correspondante d'au moins une nouvelle représentation intermédiaire (A-2, 13_2) de l'image ayant une résolution intermédiaire comprise entre la résolution intermédiaire de la représentation intermédiaire précédente (A_1, 13_1,) et la résolution 15 principale de la représentation principale suivante (B, C), optionnellement faire parcourir ladite au moins une partie correspondante de la nouvelle représentation intermédiaire (A-2, B-2) par une fenêtre de détection (F) rectangulaire, et optionnellement, selon la nature du classifieur utilisé, calculer à chaque position (Fi) du 20 parcours une image intégrale de la portion d'image contenue dans ladite fenêtre de détection (F).
- 8. Dispositif selon l'une des revendications 6 ou 7, dans lequel l'unité de traitement (9) est également configurée pour commander le déplacement de la fenêtre de détection (F) entre deux 25 positions successives (Fi_i, Fi) pour qu'au moins une partie de la fenêtre de détection (F) chevauche la fenêtre de détection (F) dans sa position précédente (F1-0.
- 9. Dispositif selon la revendication 8, dans lequel l'unité de traitement (9) est configurée pour déplacer la fenêtre de détection (F) 30 dans une première direction de l'image, de préférence horizontale, et la décaler dans une seconde direction de l'image, de préférence verticale, orthogonale à la première direction à chaque fois que la fenêtre de détection (F) a atteint une extrémité de l'image selon la première direction, le déplacement de la fenêtre de détection (F) selon 3035251 18 la première direction étant effectué d'une extrémité de l'image à l'extrémité opposée.
- 10. Dispositif (2) de détection en temps réel par une méthode de type fenêtre glissante de détection, par exemple une méthode de 5 Viola-Jones d'au moins un objet dans une image numérique, comprenant des moyens (3) de génération d'une succession de représentations principales (A, B, C) de l'image à des résolutions principales différentes, un dispositif (4) de génération en temps réel d'une représentation multi-résolution de ladite image numérique selon 10 l'une des revendications 6 à 9, et des moyens (5) de traitement des images intégrales calculées mettant en oeuvre la méthode de Viola-Jones.
- 11. Appareil électronique (APP) comprenant un dispositif (2) de détection selon la revendication 10.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1553461A FR3035251A1 (fr) | 2015-04-17 | 2015-04-17 | Procede et dispositif de generation d'une representation multi-resolutions d'une image et application a la detection d'objet |
US14/929,129 US10306248B2 (en) | 2015-04-17 | 2015-10-30 | Method and device for generation of a representation of a digital image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1553461A FR3035251A1 (fr) | 2015-04-17 | 2015-04-17 | Procede et dispositif de generation d'une representation multi-resolutions d'une image et application a la detection d'objet |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3035251A1 true FR3035251A1 (fr) | 2016-10-21 |
Family
ID=53366170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1553461A Pending FR3035251A1 (fr) | 2015-04-17 | 2015-04-17 | Procede et dispositif de generation d'une representation multi-resolutions d'une image et application a la detection d'objet |
Country Status (2)
Country | Link |
---|---|
US (1) | US10306248B2 (fr) |
FR (1) | FR3035251A1 (fr) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110211233A1 (en) * | 2010-03-01 | 2011-09-01 | Sony Corporation | Image processing device, image processing method and computer program |
US20110243438A1 (en) * | 2010-04-05 | 2011-10-06 | Microsoft Corporation | Generation of multi-resolution image pyramids |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5917935A (en) * | 1995-06-13 | 1999-06-29 | Photon Dynamics, Inc. | Mura detection apparatus and method |
US6041143A (en) * | 1998-04-14 | 2000-03-21 | Teralogic Incorporated | Multiresolution compressed image management system and method |
US7031499B2 (en) | 2002-07-22 | 2006-04-18 | Mitsubishi Electric Research Laboratories, Inc. | Object recognition system |
US7315631B1 (en) * | 2006-08-11 | 2008-01-01 | Fotonation Vision Limited | Real-time face tracking in a digital image acquisition device |
US7853072B2 (en) | 2006-07-20 | 2010-12-14 | Sarnoff Corporation | System and method for detecting still objects in images |
US8697239B2 (en) * | 2009-07-24 | 2014-04-15 | Rohm And Haas Electronic Materials Cmp Holdings, Inc. | Multi-functional polishing pad |
JP5662670B2 (ja) | 2009-10-27 | 2015-02-04 | キヤノン株式会社 | 画像処理装置、画像処理方法、及びプログラム |
US8547389B2 (en) * | 2010-04-05 | 2013-10-01 | Microsoft Corporation | Capturing image structure detail from a first image and color from a second image |
US8687700B1 (en) | 2010-06-18 | 2014-04-01 | Ambarella, Inc. | Method and/or apparatus for object detection utilizing cached and compressed classifier information |
JP2012113621A (ja) * | 2010-11-26 | 2012-06-14 | Sony Corp | 情報処理装置、情報処理方法、及び、プログラム |
WO2013086734A1 (fr) | 2011-12-16 | 2013-06-20 | Intel Corporation | Qualité d'image réduite pour des zones d'arrière-plan de données vidéo |
US9401001B2 (en) * | 2014-01-02 | 2016-07-26 | Digimarc Corporation | Full-color visibility model using CSF which varies spatially with local luminance |
GB2516512B (en) * | 2013-10-23 | 2015-10-14 | Imagination Tech Ltd | Face detection |
-
2015
- 2015-04-17 FR FR1553461A patent/FR3035251A1/fr active Pending
- 2015-10-30 US US14/929,129 patent/US10306248B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110211233A1 (en) * | 2010-03-01 | 2011-09-01 | Sony Corporation | Image processing device, image processing method and computer program |
US20110243438A1 (en) * | 2010-04-05 | 2011-10-06 | Microsoft Corporation | Generation of multi-resolution image pyramids |
Non-Patent Citations (1)
Title |
---|
VIOLA P ET AL: "Robust Real-Time Object Detection", WORKSHOP ON STATISTICAL AND COMPUTATIONAL THEORIES OF VISION SCTV, XX, XX, 13 July 2001 (2001-07-13), pages 1 - 26, XP002391053 * |
Also Published As
Publication number | Publication date |
---|---|
US20160309176A1 (en) | 2016-10-20 |
US10306248B2 (en) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11100402B2 (en) | Image quality assessment using similar scenes as reference | |
US8750596B2 (en) | System and method for identifying defects in a material | |
EP2930659B1 (fr) | Procédé de détection de points d'intérêt dans une image numérique | |
EP3271869B1 (fr) | Procédé de traitement d'un signal asynchrone | |
EP3663987B1 (fr) | Procédé et dispositif de détermination de la taille mémoire globale d'une zone mémoire globale allouée aux données d'un réseau de neurones | |
CA2047811A1 (fr) | Procede et dispositif de localisation en temps reel de contours rectilignes dans une image numerisee, notamment pour la reconnaissance de formes dans un traitement d'analyse de scene | |
EP3633552B1 (fr) | Procédés d'apprentissage de paramètres d'un réseau de neurones à convolution et de détection d'éléments d'intérêt visibles dans une image | |
WO2020065177A1 (fr) | Procede, programme d'ordinateur et systeme de detection et localisation d'objet dans une scene tridimensionnelle | |
EP3633544B1 (fr) | Procede d'association d'elements d'interet visibles dans une video | |
FR3027144A1 (fr) | Procede et dispositif de determination de mouvement entre des images video successives | |
EP1746486A1 (fr) | Procédé de détection de déplacement d'une entité pourvue d'un capteur d'images et dispositif pour le mettre en oeuvre | |
EP3633545A1 (fr) | Procedes d'apprentissage de parametres d'un reseau de neurones a convolution, de detection d'elements d'interet visibles dans une image et d'association d'elements d'interet visibles dans une image | |
FR3071124B1 (fr) | Dispositif de capture d'une image hyperspectrale | |
EP3195259A1 (fr) | Procédé d'identification de l'anisotropie de la texture d'une image numérique | |
FR3035251A1 (fr) | Procede et dispositif de generation d'une representation multi-resolutions d'une image et application a la detection d'objet | |
EP3073441B1 (fr) | Procédé de correction d'une image d'au moins un objet présenté à distance devant un imageur et éclairé par un système d'éclairage et système de prise de vues pour la mise en oeuvre dudit procédé | |
EP3216213B1 (fr) | Procédé de détection de pixels défectueux | |
EP3712775A1 (fr) | Procédé et dispositif de détermination de la taille mémoire globale d'une zone mémoire globale allouée aux données d'un réseau de neurones compte tenu de sa topologie | |
US8891870B2 (en) | Substance subtraction in a scene based on hyperspectral characteristics | |
EP3948654A1 (fr) | Procédé, programme d'ordinateur et système pour l'identification d'une instance d'objet dans une scène tridimensionnelle | |
EP1746487A1 (fr) | Procede et dispositif de detection de deplacement d'une entite pourvue d'un capteur d'images | |
FR3011339A1 (fr) | Procedes et systemes pour la construction d'un plan d'acquisitions pour satellite | |
BE1021013B1 (fr) | Procede et systeme pour ameliorer la qualite d'images en couleur. | |
FR3060794A1 (fr) | Procede de determination de l'etat d'un systeme, procede de determination d'une methode de projection optimale et dispositif mettant en œuvre lesdits procedes | |
EP4002264A1 (fr) | Solution d'aide à la visualisation pour simuler un processus d'auto-exposition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20161021 |