Brevet FR3122940A1 — publié le 20221118

La présente invention concerne un procédé de traitement d’une image par un modèle d’apprentissage automatique comprenant des étapes de : - réception de ladite image (I), comprenant au moins un canal, à traiter ultérieurement par le modèle d’apprentissage automatique ; - création d’un masque d’attention (M) par soustraction d’une image d’arrière-plan correspondant à l’arrière-plan de l’image à traiter (E1), le masque représentant les zones de l’image correspondant au premier plan ; - création d’un blob (E2) comprenant le au moins un canal de l’image à traiter (R, G, B) ainsi qu’un canal supplémentaire correspondant au masque d’attention (M) ; - traitement du blob par le modèle d’apprentissage automatique. Figure pour l’abrégé : figure 1 Procédé d’enrichissement d’une image par mécanisme d’attention DOMAINE TECHNIQUE GENERAL La présente invention concerne le domaine de l’apprentissage supervisé et de la vision par ordinateur. Plus particulièrement, elle concerne une méthode d’apprentissage exploitant en entrée le résultat d’un mécanisme d’attention obtenu par soustraction de l’arrière-plan. Ce mécanisme d’attention ne nécessite pas d’apprentissage spécifique. ETAT DE L’ART Le développement du domaine de la vision par ordinateur durant ces dernières années a permis de développer des modèles de prédiction de plus en plus complexes capables de réaliser des taches difficiles. Cependant, dans le même temps le volume et la taille des données à analyser à lui aussi explosé, il est donc crucial de permettre aux modèles de traiter ces données de manière plus rapide tout en conservant, ou même en améliorant, l’exactitude des prédictions de ces modèles. Pour tenter de répondre à ces besoins, des « mécanismes d’attention » sont ajoutés aux modèles de prédiction. Par mécanisme d’attention on comprendra un moyen d’assister un modèle d‘apprentissage, par exemple un réseau de neurones, dans sa décision en introduisant une notion d’importance et/ou de localisation de certaines parties des informations fournies en entrée du modèle d’apprentissage. Un tel modèle d’apprentissage peut être un modèle de détection ou un modèle de segmentation, ou éventuellement de classification. Dans le domaine de la vision par ordinateur l’attention est représentée par un poids associé à chaque pixel d’une image (ou trame dans le cas de vidéos) à traiter, formant ainsi une image appelée « masque » représentant les zones de l’image de base comportant des informations importantes pour le modèle de classification. L’utilisation d’un masque d’attention permet ainsi d’augmenter les performances d’un modèle de classification en minimisant l’influence d’éléments non pertinents sur la classification finale. Cependant si les masques d’attentions permettent d’améliorer les performances d’un modèle de classification, ces masques doivent être obtenus préalablement, soit par un étiquetage manuel de l’image d’entrée (réduisant à néant l’utilité de tel masque lors des tâches d’utilisation du modèle de classification) soit par un modèle d’apprentissage similaire à un modèle de segmentation (la segmentation étant une tache de classification consistant à associer une classe à chaque pixel d’une image). En pratique les mécanismes d’attention sont donc utilisés soit uniquement lors de l’entrainement du réseau de classification à partir de données annotées manuellement tel que décrit dans Derakhshani, M. M., Masoudnia, S., Shaker, A. H., Mersa, O., Sadeghi, M. A., Rastegari, M., & Araabi, B. N. (2019). Assisted excitation of activations: A learning technique to improve object detectors , dans ce cas le mécanisme d’attention à uniquement pour effet d’accélérer l’entrainement du modèle de classification choisi, soit le masque d’attention est « appris », c’est-à-dire qu’il est généré par un second modèle de classification entrainé pour une tache de segmentation, une telle méthode est décrite dans Roh, B., Cho, H., Ju, M., & Pyo, S.H. (2020). BABO: Background Activation Black-Out for Efficient Object Detection . Cependant, ces méthodes nécessitent des informations complexes à obtenir, telles que des cartes de segmentation, et nécessitent des ressources de calculs plus importantes afin de mettre en œuvre des mécanismes complexe permettant l’utilisation de ces informations. PRESENTATION DE L’INVENTION Selon un premier aspect, la présente invention concerne un procédé de traitement d’une image par un modèle d’apprentissage automatique comprenant des étapes de : - réception de ladite image, comprenant au moins un canal, à traiter ultérieurement par le modèle d’apprentissage automatique ; - création d’un masque d’attention par soustraction d’une image d’arrière-plan correspondant à l’arrière-plan de l’image à traiter, le masque représentant les zones de l’image correspondant au premier plan ; - création d’un blob comprenant le au moins un canal de l’image à traiter ainsi qu’un canal supplémentaire correspondant au masque d’attention ; - traitement du blob par le modèle d’apprentissage automatique. Selon d’autres caractéristiques avantageuses et non limitatives : le masque d’attention est une image quantifiée dans laquelle chaque pixel de l’image à traiter est identifié comme faisant partie d’une catégorie ; le masque d’attention est créé par une méthode de soustraction de l’arrière-plan modélisant l’arrière-plan par un modèle de mélange gaussien ; le modèle d’apprentissage automatique est au moins l’un parmi : un modèle de classification ; un modèle de détection ; ou un modèle de segmentation ; le modèle d’apprentissage automatique est un réseau de neurones convolutif. Selon un deuxième aspect, la présente invention concerne un procédé d’entrainement d’un modèle d’apprentissage automatique, comprenant des étapes de : - réception d’une image, comprenant au moins un canal, à traiter par le modèle d’apprentissage automatique ; - création d’un masque d’attention par soustraction d’une image d’arrière-plan correspondant à l’arrière-plan de l’image à traiter, le masque représentant les zones de l’image correspondant au premier plan ; - création d’un blob comprenant le au moins un canal de l’image à traiter ainsi qu’un canal supplémentaire correspondant au masque d’attention ; - traitement du blob par le modèle d’apprentissage automatique et calcul d’une valeur représentative de la performance du modèle d’apprentissage automatique. Selon un troisième aspect, la présente invention concerne un procédé d’entrainement d’un modèle d’apprentissage automatique, comprenant des étapes de : - réception d’une image, comprenant au moins un canal, à traiter par le modèle d’apprentissage automatique ; - création d’un masque d’attention à partir d’un masque de segmentation prédéfini associé à l’image à traiter ; - création d’un blob comprenant le au moins un canal de l’image à traiter ainsi qu’un canal supplémentaire correspondant au masque d’attention ; - traitement du blob par le modèle d’apprentissage automatique et calcul d’une valeur représentative de la performance du modèle d’apprentissage automatique. Selon un quatrième et un cinquième aspect sont proposés un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé selon le premier aspect de traitement d’une image par un modèle d’apprentissage automatique ou pour l’exécution d’un procédé selon le deuxième ou le troisième aspect d’entrainement d’un modèle d’apprentissage automatique ; et un moyen de stockage lisible par un équipement informatique sur lequel un produit programme d’ordinateur comprend des instructions de code pour l’exécution d’un procédé selon le premier aspect de traitement d’une image par un modèle d’apprentissage automatique ou pour l’exécution d’un procédé selon le deuxième ou le troisième aspect d’entrainement d’un modèle d’apprentissage automatique. PRESENTATION DES FIGURES D’autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre d’un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés dans lesquels : la est un schéma d’une architecture pour la mise en œuvre du procédé selon l’invention ; la représente les étapes d’un mode de réalisation du mécanisme d’attention de données selon l’invention. DESCRIPTION DETAILLEE Architecture Selon deux aspects complémentaires de l’invention, sont proposés : - un procédé de traitement d’une image par un modèle d’apprentissage automatique comprenant une étape antérieure d’exécution d’un mécanisme d’attention de données ; - un procédé d’entrainement dudit modèle d’apprentissage automatique En référence à la , les présents procédés sont mis en œuvre par des moyens de traitement de données 11 (qui consistent typiquement en un ou plusieurs processeurs) d’un équipement 1. Ce dernier peut être par exemple un ou plusieurs serveurs mettant en œuvre le procédé de traitement d’image ou le procédé d’entrainement du modèle d’apprentissage, connectés à un réseau 4 typiquement internet, via lequel il est relié à des clients 2 (par exemple des PC personnels) disposant de données à traiter typiquement des images sur lesquelles un utilisateur souhaite réaliser une tâche de classification, de segmentation, de régression etc. L’équipement 1 comprend en outre des moyens de stockage de données 12 (typiquement un ou plusieurs disques durs). Il est tout à fait possible que les deux équipements 1, 2 soient confondus, mais de façon préférée le serveur 1 est celui d’un fournisseur de solution de sécurité, et le client 2 un équipement grand public notamment un ordinateur personnel, un dispositif de surveillance, un véhicule autonome etc. Le serveur 1 stocke une base de données d’apprentissage, i.e. un ensemble d’images d’entrainement pour lesquelles on dispose déjà d’une « réalité de terrain » correspondant au résultat attendu suite au traitement de ces images par le modèle d’apprentissage. Cette base de données d’apprentissage peut en outre comprendre des masques de segmentation associés à tout ou parties des images d’entrainement, permettant ainsi d’améliorer l’efficacité du mécanisme d’attention lors de l’apprentissage. Procédé d’augmentation de données La présente invention propose un nouveau mécanisme d’attention permettant d’enrichir des données, image ou vidéo, avant leur traitement par un modèle d’apprentissage automatique. Par mécanisme d’attention permettant l’enrichissement de données, on comprendra le fait d’isoler les informations les plus pertinentes d’au moins une image ou d’une vidéo (par la suite on entendra par une image, soit une image seule, soit une trame d’une vidéo) et relatives à la problématique que le modèle d’apprentissage souhaite résoudre. Les données spécialisées ainsi générées pourront alors être fournies au modèle d’apprentissage permettant un traitement optimisé. Par modèle d’apprentissage automatique on entend une fonction paramétrique prenant en entrée des données à traiter (par exemple des images) et fournis en sortie une information relative aux données d’entrée, souvent appelée « prédiction », les paramètres de cette fonction paramétrique étant défini lors d’une étape dite « d’apprentissage ». Un modèle d’apprentissage automatique peut être par exemple un modèle de classification, détection, segmentation, de régression etc., en particulier mis en œuvre par un réseau de neurones (notamment à convolution, CNN pour Convolutional Neural Network en anglais) dont les poids constituent les paramètres de la fonction paramétrique. L’invention définit d’une part un mécanisme d’attention d’une image et d’autre part un procédé de traitement d’une image comprenant, en « pré-traitement », l’enrichissement de ladite image au moyen dudit mécanisme d’attention, puis la mise en œuvre dudit traitement sur la base de l’image enrichie et non de l’image d’entrée originale. En référence à la , le mécanisme d’attention selon l’invention reçoit une image I (ou trame dans le cas d’une vidéo) à traiter, cette image peut être une image en couleur, les couleurs étant codées par des canaux représentant des valeurs d’intensité associé à des couleurs prédéfinie. Les couleurs d’une image peuvent ainsi être codées selon le système rouge, vert, bleu (abrégé RGB), mais aussi par les systèmes YUV, cyan-magenta-jaune-noir (CMJN), teinte saturation luminosité (TSL) etc. Il est bien évidement aussi possible d’appliquer le présent procédé à des images en niveau de gris, on aura alors une image à un seul canal, représentant le niveau de gris de chacun des pixels de l’image. Une étape, E1, de soustraction de l’arrière-plan est alors réalisée, le principe de base des méthodes de soustractions d’arrière-plan consiste à identifier au moins une (ou plusieurs) partie(s) ou zone(s) de l’image comme appartenant à l’arrière-plan puis de « soustraire » cette au moins une partie ou zone de l’image à l’image, I, à traiter. Par arrière-plan, on entend une partie de l’image non pertinente pour la tâche réalisée par le modèle d’apprentissage automatique, par opposition à un premier plan ou région d’intérêt (abrégé ROI pour Region Of Interest), on obtient dans ce cas un masque dit « binaire ». Ainsi, en prenant l’exemple de la surveillance d’un carrefour, l’arrière-plan correspondra à la route, et l’avant plan ou ROI aux véhicules circulants sur cette route. De même, dans le cas du traitement d’une vidéo l’arrière-plan sera le plus souvent constitué de la partie fixe de l’image, et l’avant plan sera constitué des éléments en mouvement dans cet arrière-plan. Alternativement, il est aussi possible, plus que juste un arrière-plan et premier plan, d’identifier, par exemple, un deuxième, voir un troisième plan, le masque obtenu pourra alors être simplement qualifié de « catégorisé » (ou « quantifié ») dans le sens où il n’est plus juste binaire. Les catégories pourront ainsi être : premier plan, deuxième plan, troisième plan etc. Ainsi, une approche simple de la soustraction d’arrière-plan consiste à obtenir une première image d’un certain environnement sans le moindre objet présent, par exemple une photo d’une route sans aucune voiture, puis afin de soustraire l’arrière-plan de l’image, I, à traiter, simplement de soustraire les valeurs de chaque pixel de la première image aux valeurs des pixels correspondant de l’image, I, à traiter. On obtient alors une matrice de valeurs, M, correspondant à l’écart entre les valeurs de pixel de la première image (correspondant au fond) et l’image, I, à traiter, une valeur proche de la valeur zéro indiquant une faible différence, donc que le pixel fait partie de l’arrière-plan. Le résultat de cette soustraction peut en outre être seuillé afin de limiter l’effet de petites variations entre les deux images. Cependant, bien que cette méthode de soustraction de l’arrière-plan soit efficace et très simple à mettre en œuvre en l’absence de mouvement de la caméra, et lorsqu’il est possible d’obtenir une image de ce qui est considéré comme l’arrière-plan, dès lors qu’au moins une de ces conditions n’est pas respectée, c’est en particulier souvent le cas pour les vidéos, cette méthode n’est plus utilisable. Il existe cependant de nombreuses méthodes alternatives reposant sur une modélisation de l’arrière-plan, et en particulier une modélisation par des modèles de mélange gaussien (en anglais Gaussian Mixture Model abrégé GMM). De telles méthodes sont notamment décrites dans les documents : KaewTraKulPong, P., & Bowden, R. (2002). An improved adaptive background mixture model for real-time tracking with shadow detection ; Zivkovic, Z. (2004, August). Improved adaptive Gaussian mixture model for background subtraction ; Zivkovic, Z., & Van Der Heijden, F. (2006). Efficient adaptive density estimation per image pixel for the task of background subtraction ; et Godbehere, A. B., Matsukawa, A., & Goldberg, K. (2012, June). Visual tracking of human visitors under variable-lighting conditions for a responsive audio art installation. Ces méthodes sont particulièrement intéressantes car elles permettent d’avoir un mécanisme d’attention non appris contrairement aux mécanismes d’attention traditionnels, souvent basés sur des modèles d’apprentissage qui nécessitent donc des données d’entrainement spécifiques. L’image (ou matrice) M, ainsi calculée (étape E2), aussi appelée masque d’attention, par la méthode de soustraction de l’arrière-plan peut alors être ajoutée à l’image, I, à traiter sous la forme d’un canal additionnel, en plus des canaux, R, G, et B, déjà utilisés pour représenter l’information relative à la couleur de l’image. La donnée ainsi créée, appelée image enrichie ou « blob », un blob n’étant rien de plus que la généralisation à n-canaux d’un objet de type image – l’image, I, à traiter seule pouvant d’ailleurs être vue comme un cas particulier de blob d’entrée à trois canaux (dans le cas d’une image RGB). Ce blob peut alors être traité lors d’une étape E3, par un modèle d’apprentissage automatique. Ce modèle d’apprentissage automatique pouvant être un réseau de neurones convolutif et/ou récurrent, un Séparateur à Vaste Marge (abrégé SVM) etc. La classification peut consister en un simple label associé à l’image I, mais aussi en une association d’un label à chaque pixel de l’image I (segmentation), ou bien la localisation d’un élément particulier dans l’image, de même, il est aussi possible d’associer plusieurs labels à une seule image, ou à un seul pixel. Lorsque le modèle d’apprentissage automatique utilisé est un réseau de neurones, tous les canaux du blob pourrons évidement être utilisés comme entrée au niveau de la première couche du réseau, toutefois, dans des modes de réalisation alternatifs, certains canaux du blob pourront être utilisés comme entrée par une couche différente. Utilisation du procédé d’augmentation de données Le mécanisme d’attention décrit précédemment peut être utilisé de plusieurs manières différentes, dans un premier mode de réalisation ce procédé peut être utilisé lors de l’entrainement ainsi que lors de l’utilisation d’un modèle d’apprentissage automatique particulier. Il est alors possible d’améliorer les performances du modèle d’apprentissage automatique en ajoutant une information relative à la position des éléments important pour la classification dans l’image, tout en limitant l’impact sur les ressources de calcul nécessaires à l’entrainement et l’utilisation du modèle d’apprentissage automatique par rapport à l’utilisation d’un modèle supplémentaire en amont du modèle d’apprentissage automatique réalisant la tâche de génération d’un masque d’attention. De plus, l’utilisation d’une méthode de soustraction de l’arrière-plan, afin de générer un masque d’attention, permet d’améliorer la performance du modèle d’apprentissage automatique sans nécessiter d’informations supplémentaires lors de l’entrainement telles que des cartes de segmentation. Il est cependant possible d’exploiter l’existence de telles cartes de segmentation lors de l’entrainement du modèle d’apprentissage automatique en remplaçant le masque d’attention généré par une méthode de soustraction de l’arrière-plan par une carte de segmentation existante, améliorant ainsi l’efficacité du modèle. Lors de l’utilisation du modèle d’apprentissage automatique l’information utilisée reste cependant le masque d’attention généré par la méthode de soustraction de l’arrière-plan. Procédé de traitement d’une image par un modèle d’apprentissage automatique comprenant des étapes de : - réception de ladite image (I), comprenant au moins un canal, à traiter ultérieurement par le modèle d’apprentissage automatique ; - création d’un masque d’attention (M) par soustraction d’une image d’arrière-plan correspondant à l’arrière-plan de l’image à traiter (E1), le masque représentant les zones de l’image correspondant au premier plan ; - création d’un blob (E2) comprenant le au moins un canal de l’image à traiter (R, G, B) ainsi qu’un canal supplémentaire correspondant au masque d’attention (M) ; - traitement du blob par le modèle d’apprentissage automatique. Procédé de traitement d’image selon la revendication 1 dans lequel le masque d’attention est une image quantifiée dans laquelle chaque pixel de l’image à traiter est identifié comme faisant partie d’une catégorie. Procédé de traitement d’image selon l’une des revendications 1 et 2 dans lequel le masque d’attention est créé par une méthode de soustraction de l’arrière-plan modélisant l’arrière-plan par un modèle de mélange gaussien. Procédé de traitement d’image selon l’une des revendications 1 à 3 dans lequel le modèle d’apprentissage automatique est au moins l’un parmi : - un modèle de classification ; - un modèle de détection ; - ou un modèle de segmentation. Procédé de traitement d’image selon l’une des revendications 1 à 4 dans lequel le modèle d’apprentissage automatique est un réseau de neurones convolutif. Procédé d’entrainement d’un modèle d’apprentissage automatique, comprenant des étapes de : - réception d’une image (I), comprenant au moins un canal, à traiter par le modèle d’apprentissage automatique ; - création d’un masque d’attention (M) par soustraction d’une image d’arrière-plan correspondant à l’arrière-plan de l’image à traiter (E1), le masque représentant les zones de l’image correspondant au premier plan ; - création d’un blob (E2) comprenant le au moins un canal de l’image à traiter (R, G, B) ainsi qu’un canal supplémentaire correspondant au masque d’attention (M) ; - traitement du blob par le modèle d’apprentissage automatique et calcul d’une valeur représentative de la performance du modèle d’apprentissage automatique. Procédé d’entrainement d’un modèle d’apprentissage automatique, comprenant des étapes de : - réception d’une image (I), comprenant au moins un canal, à traiter par le modèle d’apprentissage automatique ; - création d’un masque d’attention (M) à partir d’un masque de segmentation prédéfini associé à l’image à traiter ; - création d’un blob (E2) comprenant le au moins un canal de l’image à traiter (R, G, B) ainsi qu’un canal supplémentaire correspondant au masque d’attention (M) ; - traitement du blob par le modèle d’apprentissage automatique et calcul d’une valeur représentative de la performance du modèle d’apprentissage automatique. Produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé de traitement d’image selon l’une des revendications 1 à 5, d’un procédé d’entrainement d’un modèle d’apprentissage automatique selon l’une des revendications 6 ou 7 lorsque ledit programme est exécuté sur un ordinateur. Moyen de stockage lisible par un équipement informatique sur lequel est enregistré un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé de traitement d’image selon l’une des revendications 1 à 5, d’un procédé d’entrainement d’un modèle d’apprentissage automatique selon l’une des revendications 6 ou 7 lorsque ledit programme est exécuté sur un ordinateur.