Brevet FR3038760A1 — publié le 20170113

DETECTI ON D'OBJETS PAR TRAI TEMENT D'I MAGES La présente invention concerne de manière générale la détection d'objets par les techniques de reconnaissance de formes dans des images. Un domaine plus particulièrement, bien que non exclusivement, concerné est celui des véhicules automobiles. Il est connu d'équiper certains véhicules automobiles avec des systèmes d'aide à la conduite utilisant des images captées par une ou plusieurs caméras embarquées sur le véhicule pour détecter notamment les lignes de marquage routier, les obstacles, les autres véhicules, ou encore les panneaux de signalisation tels que les panneaux de prescription de vitesse. La détection de piétons est une autre application importante dans les 15 systèmes d'aide à la conduite automobile puisqu'il s'agit de concevoir des systèmes intelligents capables d'avertir ou de prévenir les accidents, en surveillant les alentours du véhicule par l'intermédiaire d'une ou plusieurs caméras. Un tel système de détection peut ainsi soit prévenir le conducteur de la présence d'un piéton à une distance jugée dangereuse, soit directement agir 20 sur le système de freinage du véhicule automobile. Les systèmes de détection de piétons sont en outre cruciaux pour les systèmes de conduite automatisés. Que l'objet à détecter soit fixe ou mobile, on comprend ainsi qu'un tel système de détection doit pouvoir fournir une information suffisamment fiable et précise pour pouvoir dériver, en temps réel, une estimation de la distance à 25 laquelle se situe l'objet détecté par rapport au véhicule. On rappelle que la détection de piétons consiste à déterminer le plus précisément possible, la présence et la localisation de toutes les personnes susceptibles d'être présentes dans une image ou une succession d'images. Elle est généralement basée sur des techniques de reconnaissance de formes dont 30 le but est d'apprendre puis de retrouver dans l'image, l'allure générale d'une personne. Les algorithmes mis en oeuvre dans une détection de piétons par reconnaissance de formes sont généralement très complexes compte tenu 3038760 2 notamment de la très grande diversité entre les personnes (taille, poids, vêtements, postures...). Ces algorithmes de reconnaissance de formes sont souvent basés sur l'utilisation combinée de descripteurs et d'une méthode de classification binaire permettant de déterminer si une zone d'une image captée 5 par une caméra correspond à un piéton ou à du fond. Une méthode classique, connue sous le nom de la méthode de Viola et Jones, consiste à tester la présence d'un piéton dans une fenêtre ou imagette de taille fixe, par exemple de 24 sur 48 pixels, à toutes les positions possibles dans l'image et pour plusieurs échelles de l'image. Le test consiste à générer un vecteur de 10 descripteurs de l'imagette et à les comparer avec les descripteurs appris sur une base d'apprentissage. Plus précisément, pour chaque image captée par une caméra, on définit une pluralité de régions d'intérêt à balayer par la fenêtre, chaque région d'intérêt correspondant à une échelle donnée de l'image. A titre d'exemple, une vingtaine de régions d'intérêt, encore appelées zones de balayage relatives à chaque échelle (« scan zone » en terminologie anglo-saxonne), doivent être traitées correspondant à des échelles de l'image variant de 0,025 (zoom avant) à 1 (taille réelle) par pas de 1,22. La méthode consiste typiquement à balayer chaque région d'intérêt, de même taille que l'image de base, en déplaçant la fenêtre de taille fixe d'un certain nombre de pixels à la fois. Un classifieur combiné à une base d'apprentissage comportant des échantillons de piétons et des échantillons de fond va traiter les différents vecteurs de descripteurs obtenus par la fenêtre glissante pour identifier les zones correspondant effectivement à un piéton par rapport à un modèle appris. Le résultat est délivré par le détecteur de piéton sous forme d'une boîte englobante, généralement de forme rectangulaire, par piéton détecté. Les dimensions et/ou la position verticale de la boîte englobante relative à un piéton détecté sont alors utilisées pour estimer la distance à laquelle se situe le piéton par rapport au véhicule. Une telle méthode est par exemple implémentée par des détecteurs rapides de type Adaboost. Les résultats de la détection rapide sont ensuite généralement affinés et validés par des classifieur plus performants. 3038760 3 On conçoit aisément qu'une telle méthode est très consommatrice en calcul et en temps, et de ce fait, incompatible avec la nécessité d'un traitement en temps réel primordial pour les systèmes d'aide à la conduite. 5 La présente invention a pour but de pallier les inconvénients des solutions connues basées sur l'algorithme de reconnaissance de formes de type Adaboost en proposant une stratégie de traitement des images qui soit moins consommatrice en temps de calcul. Pour ce faire, l'invention a pour objet un procédé de détection d'objets 10 par traitement d'images captées par une caméra, dans lequel on utilise un algorithme de détection et/ou de reconnaissance de formes apte à détecter au moins un objet en effectuant, pour chaque image d'une succession d'images, le balayage d'une pluralité de régions d'intérêt par une fenêtre glissante, chaque région d'intérêt correspondant à une échelle différente de chaque 15 image, le procédé étant caractérisé en ce qu'il comprend une étape de sélection, dans un ensemble prédéterminé de P régions d'intérêt classées dans un ordre défini d'échelles successives, d'un premier sous-ensemble de K régions d'intérêt successives sur lesquelles le balayage par la fenêtre glissante est effectué pour au moins une première image. 20 Outre les caractéristiques principales qui viennent d'être mentionnées dans le paragraphe précédent, le procédé selon l'invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes : - on mémorise chaque région d'intérêt du premier sous-ensemble ayant donné lieu à une détection d'un objet ; et on réitère le balayage pour les 25 images suivantes sur un deuxième sous-ensemble de régions d'intérêt successives limité d'une part, aux régions d'intérêt mémorisées et aux régions contiguës aux régions d'intérêt mémorisées, et d'autre part, aux K régions d'intérêt du premier sous-ensemble, en déplaçant, à chaque itération, ledit premier sous-ensemble de K régions d'intérêt successives d'au moins une 30 région d'intérêt dans l'ordre défini d'échelles successives ; - ledit premier sous-ensemble de K régions d'intérêt successives est déplacé par exemple au plus de K régions d'intérêt ; 3038760 4 - le balayage peut être réitéré jusqu'à ce que le premier sous-ensemble de K régions d'intérêt successives inclue la région d'intérêt dudit ensemble prédéterminé correspondant à la plus grande échelle ; - la plus grande échelle correspond par exemple à la taille réelle de 5 l'image captée par la caméra ; ledit premier sous-ensemble de K régions d'intérêt successives inclut dans un mode de réalisation possible la région d'intérêt dudit ensemble prédéterminé correspondant à la plus petite échelle ; - ledit premier sous-ensemble comprend de préférence deux régions 10 d'intérêts successives ; - chaque région d'intérêt peut être en outre avantageusement segmentée dans le sens de la largeur en une pluralité de zones d'intérêt, et le procédé comporte alors une étape de recadrage des régions d'intérêt mémorisées, voire des régions contigües aux régions d'intérêt, le recadrage 15 s'effectuant dans la zone d'intérêt ayant donné lieu à une détection d'objet. L'invention a également pour objet un système de détection d'objets par traitement d'images captées par une caméra, le système comprenant un détecteur utilisant un algorithme de détection et/ou de reconnaissance de 20 formes apte à détecter au moins un objet en effectuant, pour chaque image d'une succession d'images, le balayage d'une pluralité de régions d'intérêt par une fenêtre glissante, chaque région d'intérêt correspondant à une échelle différente de chaque image, caractérisé en ce que ledit détecteur est programmé pour sélectionner dans un ensemble prédéterminé de P régions 25 d'intérêt, classées dans un ordre défini d'échelles successives, un premier sous-ensemble de K régions d'intérêt successives sur lesquelles le balayage par la fenêtre glissante est effectué pour une première image. L'invention sera mieux comprise à la lecture de la description qui suit, 30 faite en référence aux figures annexées, dans lesquelles : - la figure 1 représente schématiquement une situation rencontrée sur une route par un véhicule automobile équipé d'un système selon l'invention ; - la figure 2 donne un synoptique simplifié illustrant le fonctionnement 3038760 5 d'un détecteur de piéton de type Adaboost ; - la figure 3 donne un synoptique simplifié illustrant certaines étapes susceptibles d'être mise en oeuvre dans un procédé conforme à l'invention ; - la figure 4 illustre un principe de segmentation des régions d'intérêt. 5 Dans la suite et en référence à la figure 1, on suppose à titre d'exemple qu'un véhicule automobile 1 équipé d'une caméra , de paramètres de calibration connus et apte à capter des images successives de paysages, se 10 déplace sur une route 3. La caméra est, dans cet exemple, localisée à un endroit du véhicule qui correspond le mieux à ce que le conducteur voit, par exemple centrée au niveau du pare-brise à l'intérieur de l'habitacle. D'autres positionnements peuvent néanmoins être envisagés sans départir du cadre de l'invention, par exemple sur le pare-choc arrière pour une caméra de recul, ou 15 plus généralement à n'importe quel endroit du véhicule selon la zone que l'on souhaite observer. Le véhicule automobile 1 comporte en outre un module de traitement (non représenté) formant, avec la caméra 2, un système permettant de détecter la présence d'un piéton 4, et d'agir sur un système d'aide à la conduite en fonction d'une estimation de la distance séparant le 20 piéton 4 du véhicule automobile 1. La détection de piétons est prise ici à titre d'exemple non limitatif, le système pouvant être prévu pour la détection d'autres objets. Ainsi, la caméra 2 capture les images de la scène routière située à l'avant du véhicule 1 et fournit ces images au module de traitement d'images du système. 25 Comme représenté très schématiquement sur la figure 2, chaque image captée par la caméra est délivrée à un détecteur 5, dans cet exemple non limitatif, un détecteur de piétons, comportant une base d'apprentissage 50 avec des exemples de piétons d'une part, et de fonds d'autre part, et son classifieur associé 51. Le classifieur 51 est apte à implémenter l'algorithme de 30 type Viola et Jones décrit ci-avant, avec les modifications liées à l'invention. On rappelle que cet algorithme consiste en général à balayer chaque région d'intérêt Ri,p d'un ensemble E de P régions d'intérêt correspondant à P échelles 3038760 6 possibles de l'image d'origine lb par une imagette de taille prédéterminée. Lorsqu'un piéton est détecté par ce traitement, le détecteur 5 de piéton délivre en sortie une boîte englobante 52 qui délimite une zone d'image représentative du piéton 4 détecté. Le traitement ci-dessus est réitéré pour 5 chaque image reçue. Afin de limiter le temps de traitement précédent, le procédé conforme à l'invention propose de ne balayer, pour chaque image reçue l qu'un sous-ensemble de régions d'intérêt comprenant au maximum un nombre limité de K régions d'intérêt successives (entier K inférieur à P), ainsi que des régions 10 d'intérêt ayant donné lieu à une détection pour l'image précédente I (appelées dans la suite régions d'intérêt validées ou mémorisées) ou contiguës à ces régions d'intérêt validées. A chaque itération, c'est-à-dire lors du traitement d'une nouvelle image captée, on change de préférence en outre les K régions d'intérêt successives qui vont être balayées. 15 Un exemple d'étapes susceptibles d'être effectuées conformément au procédé selon l'invention va être décrit en référence à la figure 3. Sur cette figure 3, est représentative d'une image captée à l'instant i par la caméra (étape Se). L'ensemble E de régions d'intérêts qui devraient être balayées si l'on devait appliquer la méthode classique de Viola et Jones 20 par un détecteur à reconnaissance de formes de type Adaboost comprend normalement P régions d'intérêts notées par commodité Ri,p, correspondant à P échelles différentes de l'image lb classées par ordre croissant d'échelles successives. Ainsi, pour chaque image : E = Ro ; Ri,2 25 avec Ri,p la région d'intérêt correspondant à l'image de la taille réelle (en d'autres termes, Ri,p= I i), et Ro la région d'intérêt correspondant à cette même image à la plus petite échelle, par exemple une échelle de 0,025 correspondant à un un sous échantillonnage, c'est-à-dire une diminution de la résolution de l'image I 30 On supposera dans la suite, pour simplifier, que la valeur P est égale à 8. En pratique, la valeur de P dépend de nombreux critères, tels que l'orientation de la caméra, la portée de détection que l'on cherche. 3038760 7 Ici, conformément à l'invention, on prévoit de sélectionner dans un premier temps (étape Si) un premier sous-ensemble E' comportant seulement K régions d'intérêt successives parmi les P possibles. A titre d'exemple non limitatif, l'entier K est fixé égal à 2. Le premier sous-ensemble E' peut donc 5 s'écrire sous la forme mathématique suivante : E' = Ri,m ; Ri,m+ } avec m un entier quelconque compris entre 1 et P-1. On effectue alors, sur chacune des régions d'intérêt successives du premier sous-ensemble E', ici au nombre de 2, un balayage classique par la 10 fenêtre glissante, de manière à détecter la présence éventuelle d'un ou plusieurs piétons dans ces régions d'intérêt (étape S2). Chaque région d'intérêt ayant effectivement donné lieu à une détection de piéton est alors mémorisée. Pour l'image suivante (i = i+ 1), on réitère le balayage sur un 15 deuxième sous-ensemble E" dont le nombre de régions d'intérêt dépend des détections réalisées à l'étape précédente. Plus précisément, dans le cas où le balayage précédent n'a permis aucune détection (branche de gauche du test référencé S3 sur la figure 3), le deuxième sous-ensemble E" correspond au contenu de premier sous-ensemble 20 E' réactualisé en déplaçant ledit premier sous-ensemble d'au moins une région d'intérêt dans l'ordre croissant d'échelles successives. Dans l'exemple représenté sur la figure 3, ceci correspond à l'étape S4, dans laquelle le déplacement correspond à exactement une région d'intérêt. Il convient de noter, de façon plus générale, que le déplacement ne peut être supérieur à 25 l'entier K. Ainsi, le deuxième sous-ensemble E" peut s'écrire dans ce cas sous la forme mathématique suivante : E" = E' = { ; Ri,m+ 2 30 ce qui signifie que, pour l'image suivante, le balayage par l'imagette ne s'effectuera là encore que sur deux régions d'intérêt successives. Dans le cas contraire (branche de droite du test S3 sur la figure 3), le deuxième sous-ensemble E" de régions d'intérêt successives comprend d'une 3038760 8 part, les régions d'intérêt mémorisées, voire celles contiguës aux régions d'intérêt mémorisées, et d'autre part, le contenu du premier ensemble E' réactualisé comme expliqué précédemment, par déplacement d'au moins une région d'intérêt. Dans l'exemple représenté sur la figure 3, ceci correspond à 5 l'étape S5, à l'issue de laquelle le deuxième sous-ensemble E" peut s'écrire sous la forme mathématique suivante, en supposant que l'étape S2 a permis la détection d'un objet dans la région d'intérêt Fli,m : E" = Ri,m U E' = Ri,m U { Ri,m+1 ; Ri,m+2 } 10 ce qui signifie que, pour l'image suivante, le balayage par l'imagette ne s'effectuera que sur trois régions d'intérêt successives. Le balayage est réitéré pour chaque image reçue selon le même principe, et ce, jusqu'à ce que le contenu réactualisé du premier sous-15 ensemble E' inclue la région d'intérêt Fli,p correspondant à la plus grande échelle. Pour fixer les idées, le tableau 1 ci-après montre les régions d'intérêt qui sont examinées à chaque itération sur 7 images successives, en fonction des détections réalisées. Dans cet exemple : 20 P= 8, K= 2 et m=1, de sorte que le premier sous-ensemble utilisé pour la première image reçue est E' = R1,1 ; R1,21 et inclut donc ici la région d'intérêt de l'ensemble E prédéterminé correspondant à la plus petite échelle. 25 3038760 9 I mage Régions d'intérêt Détections I ; balayées I 1 R1,1 ; R1,2 aucune 12 R2,2 ; R2,3 aucune 13 R3,3 ; R3,4 Piéton dans Région R3,4 14 R4,3 ; R4,4 ; R4,5 Piéton dans Région R4,4 et piéton dans Région R4,5 15 R5,3 ; R5,4 ; R5,5 ; R5,6 aucune 16 R6,6 ; R6,7 aucune 17 R7,7 ; R7,8 aucune 18 R8,1 ; R8,2 - - - tableau 1 Dans le tableau précédent, on remarque que, tant qu'il n'y a pas de détection (deux première lignes du tableau), le premier ensemble E' est 5 déplacé d'une région d'intérêt, et le balayage par l'imagette ne s'effectue que sur les deux régions d'intérêt de cet ensemble E'. A la première détection effectuée (ligne 3 du tableau), le premier ensemble est réactualisé par déplacement d'une région d'intérêt, mais on conserve également pour l'examen de l'image d'après la région d'intérêt R4,3, laquelle correspond à une 10 région contigüe et immédiatement inférieure (dans le sens des échelles croissantes) de celle ayant donné lieu à une détection sur la troisième image. L'avantage est ici d'éviter de perdre le suivi d'un objet qui se déplacerait en direction de la voiture. Certaines régions d'intérêt peuvent être abandonnées à l'itération suivante si elles n'ont pas donné lieu à des détections. Enfin, la 15 totalité des huit régions d'intérêt ayant été balayées entre la première image et la septième image de balayage, la dernière ligne montre que l'on recommence par l'examen des deux premières régions d'intérêt pour la huitième image. 3038760 10 Il convient d'ailleurs de noter que la plage de balayage pour l'ensemble E' ne correspond pas forcément à la totalité de l'ensemble E d'origine, comprenant ici huit régions d'intérêt. On pourrait par exemple se limiter à un déplacement de l'ensemble E' sur les régions d'intérêt correspondant aux plus 5 grandes échelles de l'ensemble E. L'exemple précédent illustre le gain de traitement que l'on peut atteindre par l'examen d'un nombre limité de régions d'intérêts. Ce gain de traitement peut encore être amélioré en combinant le procédé de traitement précédent à un traitement de recadrage (« cropping » 10 en terminologie anglo-saxonne) des régions d'intérêt ayant données lieu à une détection. Pour ce faire, on considère que chaque région d'intérêt peut être segmentée, dans le sens de la largeur, en une pluralité de zones, par exemple trois zones comme cela est illustré sur la figure 4 par des hachures d'orientation différentes. On note la zone de gauche, Rci,, , la zone 15 centrale, et la zone de droite. Lorsque le traitement d'une image I, a donné le lieu à une détection dans une zone spécifique d'une région d'intérêt donnée, on recadre, à l'itération d'après, cette région d'intérêt uniquement sur cette zone spécifique. Les zones spécifiques se recouvrent de préférence dans une large mesure de manière à éviter de perdre le suivi d'un objet qui se 20 déplacerait rapidement en latéral dans les images. Le tableau 2 suivant montre en gras les modifications apportées au tableau 1 lorsque l'on fait intervenir le recadrage. 3038760 11 I mage Régions d'intérêt Détections I ; balayées I 1 R1,1 ; R1,2 aucune 12 R2,2 ; R2,3 aucune 13 R3,3 ; R3,4 Piéton à droite dans Région R3,4 14 RR4,3 ; RR4,4 ; R4,5 Piéton dans Région RR4,4 et piéton à droite dans Région R4,5 15 RR5,3 ; RR5,4 ; RR5,5 ; aucune R5,6 16 R6,6 ; R6,7 aucune 17 R7,7 ; R7,8 aucune 18 R8,1 ; R8,2 - tableau 2 Les simulations effectuées par la Demanderesse ont pu montrer que la solution décrite ci-dessus peut réduire d'un facteur 10 le temps de traitement 5 nécessaire à l'examen d'une scène (succession d'images) lorsqu'aucun objet n'a été détecté. Bien sûr, ce facteur est moins élevé en cas de détection d'objets, mais le temps de traitement reste tout de même globalement amélioré par rapport à un algorithme classique de Viola et Jones. Par ailleurs, le procédé de l'invention permet un niveau de précision de 10 détection variable en fonction de la distance à laquelle se situent les objets, avec une précision plus élevée pour les objets proches, ce qui est tout à fait souhaitable lorsque l'on doit appliquer rapidement une stratégie d'évitement. REVENDICATIONS1. Procédé de détection d'objets par traitement d'images captées par une caméra (2), dans lequel on utilise un algorithme de détection et/ou de reconnaissance de formes apte à détecter au moins un objet en effectuant, pour chaque image d'une succession d'images, le balayage d'une pluralité de régions d'intérêt par une fenêtre glissante, chaque région d'intérêt correspondant à une échelle différente de chaque image, le procédé étant caractérisé en ce qu'il comprend une étape de sélection (Si), dans un ensemble (E) prédéterminé de P régions d'intérêt classées dans un ordre défini d'échelles successives, d'un premier sous-ensemble (E') de K régions d'intérêt successives sur lesquelles le balayage par la fenêtre glissante est effectué (S2) pour au moins une première image. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre les étapes suivantes : - on mémorise chaque région d'intérêt du premier sous-ensemble (E') ayant donné lieu à une détection d'un objet ; - on réitère (S5) le balayage pour les images suivantes sur un deuxième sous-ensemble (E") de régions d'intérêt successives limité d'une part, aux régions d'intérêt mémorisées et aux régions contiguës aux régions d'intérêt mémorisées, et d'autre part, aux K régions d'intérêt du premier sous-ensemble, en déplaçant, à chaque itération, ledit premier sous-ensemble de K régions d'intérêt successives d'au moins une région d'intérêt dans l'ordre défini d'échelles successives. 3. Procédé selon la revendication 2, caractérisé en ce que ledit premier sous-ensemble (E') de K régions d'intérêt successives est déplacé au plus de K régions d'intérêt. 4. Procédé selon l'une quelconque des revendications 2 ou 3, caractérisé en ce que le balayage est réitéré jusqu'à ce que le premier sous- ensemble (E') de K régions d'intérêt successives inclue la région 3038760 13 d'intérêt dudit ensemble prédéterminé correspondant à la plus grande échelle. 5. Procédé selon la revendication 4, caractérisé en ce que la plus grande échelle correspond à la taille réelle de l'image captée par la caméra. 5 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit premier sous-ensemble (E') de K régions d'intérêt successives inclut la région d'intérêt dudit ensemble prédéterminé correspondant à la plus petite échelle. 7. Procédé selon l'une quelconque des revendications précédentes, 10 caractérisé en ce que ledit premier sous-ensemble (E') comprend deux régions d'intérêts successives. 8. Procédé selon l'une quelconque des revendications 2 à 5, caractérisé en ce que chaque région d'intérêt est en outre segmentée dans le sens de la largeur en une pluralité de zones d'intérêt, et le procédé comporte en 15 outre une étape de recadrage des régions d'intérêt mémorisées, voire des régions contigües aux régions d'intérêt, le recadrage s'effectuant dans la zone d'intérêt ayant donné lieu à une détection d'objet. 9. Système de détection d'objets par traitement d'images captées par une caméra (2), le système comprenant un détecteur (5) utilisant un 20 algorithme de détection et/ou de reconnaissance de formes apte à détecter au moins un objet en effectuant, pour chaque image d'une succession d'images, le balayage d'une pluralité de régions d'intérêt par une fenêtre glissante, chaque région d'intérêt correspondant à une échelle différente de chaque image, caractérisé en ce que ledit 25 détecteur est programmé pour sélectionner (Si) dans un ensemble (E) prédéterminé de P régions d'intérêt, classées dans un ordre défini d'échelles successives, un premier sous-ensemble (E') de K régions d'intérêt successives sur lesquelles le balayage par la fenêtre glissante est effectué (S2) pour une première image. 3038760 14 10.Système selon la revendication 9, caractérisé en ce que le détecteur est programmé en outre pour : - mémoriser chaque région d'intérêt du premier sous-ensemble (E') ayant donné lieu à une détection d'un objet ; 5 - réitèrer (S5) le balayage pour les images suivantes sur un deuxième sous-ensemble (E") de régions d'intérêt successives limité d'une part, aux régions d'intérêt mémorisées et aux régions contiguës aux régions d'intérêt mémorisées, et d'autre part, aux K régions d'intérêt du premier sous-ensemble, en déplaçant, à chaque itération, ledit premier sous- 10 ensemble de K régions d'intérêt successives d'au moins une région d'intérêt dans l'ordre défini d'échelles successives.