FR 3132586 A1 20230811 FR 2201090 A 20220208 Procédé, mis en œuvre par ordinateur, d’entraînement non supervisé d’un modèle de détection de motifs récurrents dans un ensemble de données, le modèle se composant d’une couche de détection (102) comprenant au moins : un détecteur de motifs récurrents configuré pour recevoir un ensemble de caractéristiques pertinentes extraites des données et fournir en sortie une carte d’activation constituée d’un ensemble de scores d’activation, une couche d’activation (104) consistant au moins à normaliser les cartes d’activation, l’apprentissage de chaque détecteur étant contraint au respect d’un critère de localité consistant à maximiser une région de la carte d’activation. Figure 1 Procédé d’entrainement non supervisé pour la détection de motifs récurrents L’invention concerne le domaine technique des méthodes d’apprentissage automatique non supervisées pour la détection de motifs récurrents, notamment des motifs connexes dans une séquence de données. Par exemple, l’invention concerne la détection de parties d’objets dans une séquence d’images mais s’applique aussi à d’autres domaines de détection ou reconnaissance, par exemple dans le domaine de l’audio ou du contrôle commande. En particulier, l’invention s’applique par exemple pour détecter des types de voix différents dans un enregistrement audio. L’invention entre dans le champ des méthodes d’intelligence artificielle et plus précisément les méthodes de détection automatique non supervisées. Avec le développement des techniques d’apprentissage automatique profond ou « deep learning », ces dernières années, les réseaux de neurones convolutifs (CNN) sont rapidement devenus l'épine dorsale de nombreux systèmes de reconnaissance, notamment les systèmes de reconnaissance visuelle. Les réseaux de neurones convolutifs sont des outils très efficaces dans le domaine de la reconnaissance d’objets, cependant ils manipulent des représentations abstraites de l’image, également appelées caractéristiques ou « features » en anglais, qui ne sont pas nécessairement interprétables pour expliquer le processus décisionnel du réseau. Le caractère souvent non interprétable des algorithmes décisionnaires utilisant des réseaux de neurones convolutifs est au cœur des préoccupations internationales, avec à l’échelle du Parlement Européen des demandes fortes pour plus de transparence. Au niveau des systèmes de reconnaissance visuelle, une des pistes explorée consiste en la détection de parties sémantiques des objets à reconnaître et à l’utilisation de ces parties dans un processus explicable aboutissant à la décision finale (ex. le système détecte un piéton car il a détecté au préalable une tête, des bras, des jambes). Ces parties sémantiques représentent des motifs plus « simples » à détecter que l’objet global dont elles font parties, et correspondent à des motifs récurrents dans l’ensemble d’apprentissage. Les techniques d’apprentissage machine sont généralement séparées en deux classes : les méthodes supervisées qui nécessitent d’annoter les données d’entraînement, et les méthodes non supervisées qui traitent des données non annotées. Les méthodes d’apprentissage machine supervisées présentent l’inconvénient de nécessiter une annotation des données afin de fournir des valeurs de vérité durant l’entraînement, ce qui représente une tâche coûteuse et complexe à mettre en place. Elle nécessite souvent l’appel à des experts pour annoter les données d’entraînement. Par ailleurs, la précision des annotations a un impact direct sur l’entraînement des modèles d’apprentissage supervisés. Ainsi, afin de réduire les coûts d’une telle tâche, il est parfois possible de faire appel à des plateformes de travail collaboratif (« crowdsourcing » en anglais), dont les contributeurs ne sont pas nécessairement experts du domaine, entraînant une perte en qualité des annotations et dégradant les performances de l’entraînement. Il existe donc un besoin pour une méthode de détection de motifs récurrents non supervisée permettant à la fois de fournir un outil de pré-annotation automatique (dont un expert pourrait plus rapidement vérifier les résultats) mais constituant également un préalable à des systèmes de reconnaissance explicables. La détection de motifs récurrents ou parties d’objets dans une image ou plus généralement dans un ensemble de données est un problème qui a été massivement abordé dans la littérature ces dernières années, en particulier pour des applications de vision assistée par ordinateur impliquant des tâches de reconnaissance fine. Il existe principalement trois catégories de méthodes d’apprentissage automatique pour la détection de parties d’objets ou motifs récurrents : des méthodes supervisées, semi supervisées ou non supervisées. Les méthodes supervisées présentent l’inconvénient de nécessiter une base de données d’entraînement annotées, l’opération d’annotation étant coûteuse à réaliser comme indiqué ci-dessus. Par ailleurs, la quantité de données d’entraînement nécessaire étant en général très importante, il existe souvent un compromis entre le coût et la qualité des annotations. Les méthodes semi supervisées ne nécessitent pas d’annoter les données d’entraînement mais requièrent tout de même des informations sur la catégorie des objets à détecter, par exemple une espèce particulière d’oiseau dans le cas où l’objet à détecter concerne des oiseaux. Dans ce cas, les détecteurs de motifs constituent des produits intermédiaires du système et sont optimisés uniquement dans le but de réaliser la tâche finale (par ex. une tâche de classification). Par ailleurs, ces méthodes n'offrent pas de garantie de couverture de l'objet car seules les parties "intéressantes" pour la tâche finale sont détectées. Dans le domaine des méthodes d’apprentissage non supervisées appliquées à la détection de parties d’objets dans des images, chaque image est généralement d’abord encodée en un ensemble de caractéristiques ou « features » en anglais. Ainsi, l’objectif de rechercher des parties d’objets dans l’espace visuel est transformé en un objectif de recherche de motifs récurrents dans le domaine des caractéristiques encodées, cet espace étant vraisemblablement plus robuste aux transformations géométriques. Les premières méthodes d’apprentissage non supervisées utilisaient des descripteurs d’images basés sur des histogrammes encodant la couleur ou le gradient (i.e. des éléments saillants tels que des contours) pour extraire des caractéristiques pertinentes de l’image puis appliquaient un algorithme de partitionnement, par exemple du type K moyennes ou Séparateurs à Vaste Marge (SVM). Plus récemment des méthodes de détection non supervisées basées sur des caractéristiques extraites à partir de réseaux de neurones convolutifs profonds ou « deep CNN » en anglais ont été proposées. De manière générale, les méthodes de l’art antérieur ne permettent pas d’évaluer la performance des détecteurs de motifs ou parties d’objets de façon indépendante. Au contraire, la performance des algorithmes est évaluée globalement comme un gain de précision sur la tâche finale de classification. Un inconvénient de ces méthodes est qu’elles sont fortement dépendantes du type d’architecture de traitement choisi pour la mise en œuvre du processus de décision. Par exemple, la publication scientifique « Heliang Zheng, Jianlong Fu, Tao Mei, and Jiebo Luo. Learning Multi-attention Convolutional Neural Network for Fine- Grained Image Recognition. In 2017 IEEE International Conference on Computer Vision (ICCV), pages 5219–5227, Venice, Oct. 2017. IEEE. 1, 2, 4 » donne un exemple de méthode d’apprentissage non supervisé pour la détection de parties d’objets. La méthode décrite dans cette référence utilise un réseau de neurones convolutifs complété par une couche de filtres convolutifs pour réaliser les détecteurs. Cependant, si ces détecteurs sont initialement entraînés de manière non-supervisée, comme mentionné par les auteurs la méthode nécessite néanmoins de connaître la classe des objets à détecter afin de réaliser un affinage des paramètres des détecteurs après l’entraînement. Elle ne consiste ainsi pas en une méthode réellement non supervisée. L’invention propose une nouvelle méthode d’apprentissage non supervisée qui ne nécessite aucune annotation préalable des données ni aucune information sur les catégories d’objets à détecter. L’invention permet de construire des détecteurs de parties d’objets comme des sommes pondérées de cartes d’activation en exploitant les caractéristiques d’un réseau de neurones convolutifs profond pré-entrainé. En effet, la plupart des systèmes de reconnaissance visuelle actuels utilisent des réseaux de neurones qui sont pré-entrainés sur des tâches de classification utilisant des millions d’images d’entraînement, et qui sont le fruit d’une décennie d’optimisation par la communauté scientifique. Bien qu’initialement dédiées à une tâche de classification spécifique, les premières couches de ces réseaux peuvent cependant être utilisées afin d’extraire des caractéristiques pertinentes de l’image. Les détecteurs sont entraînés globalement sur l’ensemble des images d’apprentissage et non localement (à l’échelle d’une seule image) comme certaines méthodes de l’art antérieur (Jian Zhang, Runsheng Zhang, Yaping Huang, and Qi Zou. Unsupervised Part Mining for Fine-grained Image Classification. [preprint] ArXiv, abs/1902.09941, 2019) qui requièrent une phase supplémentaire d’alignement sémantique. L’invention est basée sur des fonctions de coût qui sont définies afin d’assurer certaines propriétés de localité, d’unicité ou de regroupement propres à la détection de parties d’objets connexes. L’invention ne nécessite aucun réglage supplémentaire basée sur la connaissance des classes à détecter ou des catégories d’objets visées. L’invention ne nécessite pas de modifier les paramètres du réseau pré-entrainé servant à l’extraction des caractéristiques de l’image, ce qui permet d’obtenir une convergence rapide durant l’entraînement des détecteurs et de coupler l’invention à différents modèles d’intelligence artificielle pré-entrainés aptes à fournir des caractéristiques pertinentes extraites des données dans une approche « boîte noire ». En particulier, le critère de regroupement permet de limiter la détection de parties d’objets non adjacentes entre elles ce qui évite le recours à un filtrage manuel supplémentaire. L’invention permet aussi de fournir une mesure de confiance associée à la décision et basée sur la distribution des scores de corrélation sur l’ensemble des données d’entraînement. Cette mesure permet notamment de détecter la visibilité d’une partie d’objet. L’invention a pour objet un procédé, mis en œuvre par ordinateur, d’entraînement non supervisé d’un modèle de détection de motifs récurrents dans un ensemble de données, le modèle se composant d’une couche de détection comprenant au moins : un détecteur de motifs récurrents configuré pour recevoir un ensemble de caractéristiques pertinentes extraites des données et fournir en sortie une carte d’activation constituée d’un ensemble de scores d’activation, une couche d’activation consistant au moins à normaliser les cartes d’activation, l’apprentissage de chaque détecteur étant contraint au respect d’un critère de localité consistant à maximiser une région de la carte d’activation. Dans une variante de réalisation, le procédé selon l’invention comprend en outre l’application, à chaque carte d’activation en sortie de la couche d’activation, d’un filtre uniforme de dimension dépendant de celle de ladite région de la carte d’activation. Selon une variante de réalisation, la couche de détection comprend plusieurs détecteurs de motifs récurrents et l’apprentissage de chaque détecteur est en outre contraint au respect d’un critère d’unicité consistant à éviter l’activation simultanée de plusieurs détecteurs en un même point de la carte d’activation. Selon une variante de réalisation, le critère d’unicité est mis en œuvre en contraignant la valeur maximale de la somme en chaque point des cartes d’activation sur l’ensemble des détecteurs à un premier seuil maximal prédéfini. Selon une variante de réalisation, la couche de détection comprend plusieurs détecteurs de motifs récurrents et l’apprentissage de chaque détecteur est en outre contraint au respect d’un critère de regroupement consistant à favoriser l’activation desdits détecteurs sur des zones de la carte d’activation contiguës. Selon une variante de réalisation, le critère de regroupement est mis en œuvre en appliquant un filtre convolutif à la somme des cartes d’activation en sortie de la couche d’activation et en contraignant la valeur maximale du résultat de filtrage à un second seuil maximal prédéfinie. Selon une variante de réalisation, la couche d’activation implémente une fonction de normalisation, par exemple la fonction Softmax. Selon une variante de réalisation, l’ensemble de caractéristiques pertinentes est obtenu au moyen d’un modèle pré-entrainé sur un ensemble de données d’entraînement. Selon une variante de réalisation, le procédé selon l’invention comprend en outre, à l’issue de l’entraînement, pour chaque détecteur, une estimation de la distribution des valeurs maximales des sorties du détecteur et la fixation d’un seuil de confiance dépendant de la fonction de distribution cumulative de ladite distribution. L’invention a aussi pour objet un modèle de détection, mis en œuvre par ordinateur, obtenu par le procédé selon l’invention. L’invention a encore pour objet un procédé, mis en œuvre par ordinateur, de détection de motifs récurrents dans un ensemble de données comprenant la mise en œuvre d’un modèle de détection obtenu par le procédé selon l’invention. Selon une variante de réalisation, le procédé de détection de motifs récurrents selon l’invention comprend en outre, pour chaque détecteur de motifs récurrents et pour chaque nouvel ensemble de données reçu, la détermination d’un score de confiance dépendant de ladite fonction de distribution cumulative apprise lors de l’entraînement appliquée audit ensemble de données. Selon une variante de réalisation, le procédé de détection de motifs récurrents selon l’invention comprend en outre, pour chaque détecteur de motifs récurrents, l’application d’un filtre aux valeurs de sorties du détecteur qui sont inférieures au seuil de confiance déterminé lors de l’entraînement. Selon une variante de réalisation, le procédé de détection de motifs récurrents selon l’invention comprend en outre une étape de conversion de la carte d’activation produite en sortie de la couche d’activation du modèle de détection en une carte de localisation des motifs récurrents. Selon une variante de réalisation, les données sont de type images et les caractéristiques pertinentes extraites des données sont organisées dans un tenseur d’ordre trois. Selon une variante de réalisation, les motifs récurrents à détecter sont des parties d’objets connexes dans les images. L’invention a encore pour objet un programme d’ordinateur comprenant des instructions de code pour la mise en œuvre de l’invention et un support d’enregistrement lisible par ordinateur sur lequel est enregistré le programme d’ordinateur selon l’invention. D’autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit en relation aux dessins annexés suivants. représente un schéma illustrant un procédé, selon l’invention, d’entraînement non supervisé d’un modèle d’apprentissage configuré pour la détection de motifs récurrents, par exemple des parties d’objets dans une séquence d’image, représente un organigramme d’une variante de réalisation de l’invention permettant la détermination d’un score de confiance de chaque détection, représente plusieurs exemples d’histogrammes déterminés à l’issue d’un entraînement du modèle pour déterminer le score de confiance, illustre le calcul du seuil de visibilité d’un détecteur de motifs selon un mode de réalisation de l’invention, représente un exemple de résultats obtenus à l’aide du modèle de détection automatique entraîné au moyen du procédé selon l’invention. La schématise un mode de réalisation d’un procédé d’entraînement non supervisé de détecteurs de motifs selon l’invention. Dans l’exemple de la , les données traitées sont des séquences d’images et l’objectif de la tâche à apprendre n concerne la détection de parties d’objets, par exemple les parties du corps d’un animal (tête, pattes, ailes..). Sans sortir du cadre de l’invention, les données peuvent être d’autres types (images 2D, 3D, issues de capteurs de perception de différents types, données audio, texte, multimedia, radars, ...). De façon générale, l’objectif du procédé est de détecter des motifs récurrents, plus particulièrement des motifs connexes, dans la séquence de données pour une catégorie d’objets. Le procédé d’entrainement de la est décrit pour le traitement d’une image mais l’entrainement nécessite un ensemble de plusieurs images. Sur l’exemple de la , le procédé reçoit donc en entrée une image x en deux dimensions. Cette image est fournie en entrée d’un système extracteur de caractéristiques, par exemple un réseau de neurones convolutifs 101, produisant un ensemble de caractéristiques représentatives de l’entrée x. Afin de limiter la complexité globale de l’entraînement, il est possible d’utiliser des réseaux de neurones déjà pré-entrainés, auquel cas il suffit de retirer un certain nombre de couches de fin du réseau (généralement spécifiques à la tâche pour laquelle ce réseau a été entraîné) afin d’obtenir les caractéristiques de l’image.. Le réseau de neurones convolutifs 101 a pour fonction d’extraire des caractéristiques pertinentes ou des représentations abstraites permettant de caractériser les informations importantes contenues dans l’image. Ainsi, le réseau de neurones 101 fournit en sortie un tenseur d’ordre trois F(x), de dimensions H lignes, W colonnes, dont chaque coordonnée correspond à un vecteur de dimension D contenant les caractéristiques extraites d’une région de l’image. Les dimensions H,W du tenseur sont en général plus petites que les dimensions de l’image d’entrée x puisqu’au fur et à mesure des couches du réseau de neurones convolutifs, la taille des cartes de sorties est réduite, bien que le nombre de canaux (dimension D) augmente. Par la suite, les indices h,w désignent les coordonnées d’un point ou d’un vecteur dans une carte de dimension H,W ou un tenseur de dimension H,W,D. Le réseau de neurones convolutifs 101 peut être remplacé par tout autre algorithme d’apprentissage machine adapté à extraire des caractéristiques pertinentes des données d’entrée. Le réseau de neurones convolutifs 101 est complété par une couche de détection 102 comprenant au moins un détecteur de motifs récurrents au sein des caractéristiques extraites des données d’entrée. Sur l’exemple de la , un nombre p de détecteurs k (1) ,…k (p) est représenté, chaque détecteur est implémenté au moyen d’un filtre de convolution de longueur D égale à la dimension d’un vecteur de caractéristiques, D étant un entier strictement positif. Un objectif de l’entraînement du modèle de détection selon l’invention est d’apprendre les coefficients des filtres détecteurs k (1) ,…k (p) de manière à ce que chaque détecteur soit configuré pour détecter une partie d’un objet. Une couche d’activation 104 est ajoutée en sortie de la couche de détection 102 afin de générer, pour chaque détecteur, une carte d’activation de dimensions W par H. Sur la , les cartes d’activation obtenues par le détecteur k (i) appliqué à l’image x sont notées P(k (i) ,x).Un point d’une carte d’activation a pour coordonnées h et w deux entiers compris respectivement entre 0 et H-1 et entre 0 et W-1. La couche d’activation 104 consiste à appliquer une fonction d’activation suivie d’une fonction de normalisation.. Par exemple la fonction d’activation Act() est une fonction de rectification linéaire ReLU ou une fonction dérivée de cette première fonction comme « Leaky ReLU » ou une fonction de rectification linéaire paramétrique. La fonction de normalisation Norm() peut être la fonction Softmax ou la fonction « Softmax avec échelle de température » ou la fonction min-max. Un avantage à l’utilisation de ces fonctions de normalisation est qu’elle vise à normaliser les valeurs de la carte d’activation entre 0 et 1, de sorte que la somme des valeurs de la carte soit égale à 1, la valeur 1 correspondant à la présence certaine d’un motif à détecter. Les coefficients des détecteurs sont, par exemple, initialisés à des valeurs aléatoires au début de l’entraînement. Une couche 103 supplémentaire de filtrage est insérée entre la fonction d’activation et la fonction de normalisation afin de filtrer des valeurs ayant un score de confiance trop faible. Cette couche de filtrage sera explicitée par la suite. Lors de l’entraînement du modèle, les filtres de la couche 103 sont initialisés à l’identité. Un avantage à la mise en œuvre de l’invention associée à un réseau pré-entrainé 101 réside dans le faible nombre de paramètres à apprendre lors de l’entraînement. En effet, le nombre de paramètres est égal à D x p avec D typiquement compris entre 512 et 2048 et p par exemple de l’ordre d’une dizaine de détecteurs. A titre de comparaison, le réseau pré-entrainé contient généralement plusieurs dizaine de millions de paramètres. L’apprentissage des fonctions de détection de motifs récurrents k (1) ,…k (p) est réalisé sous une ou plusieurs contraintes parmi les contraintes suivantes. Une première contrainte dite de localité consiste à faire en sorte que chaque détecteur soit capable de détecter, pour chaque image d’entraînement, un motif dans un nombre prédéfini de régions d’attention de l’image. Une deuxième contrainte dite d’unicité consiste à imposer que chacun des détecteurs soit focalisé sur une région d’attention différente de l’image. Autrement dit plusieurs détecteurs ne doivent pas être dédiés à la même région d’attention, et donc pas au même motif récurrent. Une troisième contrainte dite de regroupement consiste à prendre en compte l’aspect connexe des objets dont on souhaite détecter des parties. Ainsi, les régions d’attention associées à chaque détecteur doivent être contiguës de sorte à correspondre à un motif connexe. Chacune des contraintes précitées est prise en compte seule ou en combinaison avec une ou plusieurs autres pour déterminer une fonction de coût à minimiser par un algorithme de descente du gradient qui vise à mettre à jour les coefficients des fonctions de détection au fur et à mesure de l’entraînement sur plusieurs images. L’apprentissage de l’ensemble des fonctions de détection k (i) de sorte à implémenter la première contrainte de localité peut être traduit comme un problème d’optimisation de la fonction de coût suivante : (1) Autrement dit, la contrainte de localité est traduite par la minimisation de la fonction de coût (1) de sorte à rechercher les paramètres de détecteur qui permettent d’obtenir une maximisation, en moyenne sur tous les détecteurs, d’un point de la carte d’activation de coordonnées [h,w], pour l’ensemble des n images d’une base d’entraînement X ent . Dans une variante de réalisation, la contrainte de localité est relâchée en appliquant à la carte d’activation un filtre uniforme dont la dimension défini une sous-région de la carte. Par exemple, le filtre uniforme u est de dimension 3x3, on obtient alors une carte d’activation filtrée : (2) L’opérateur * est l’opérateur de convolution. La fonction de coût à minimiser devient alors (3) Cette variante présente l’avantage d’autoriser des activations dans un voisinage (ici de dimension 3x3) de taille paramétrable au lieu d’un seul point de la carte d’activation. Cela permet d’éviter que les détecteurs ne se focalisent sur des détails discriminants situés entre deux vecteurs de caractéristiques adjacents qui représentent une seule et même partie de l’objet. Sur la , on a représenté sur la carte d’activation P(k (1) ,x) du premier détecteur, une zone d’activation 110 avec deux points adjacents ayant la même valeur maximale. Après application du filtre uniforme u, chaque point de la carte d’activation filtrée G(k (1) ,x) correspond à une zone de dimension égale à la dimension du filtre uniforme dans la carte d’activation P(k (1) ,x). La fonction de coût de l’équation (3) ne permet pas d’éviter que le système n’apprenne qu’une partie des motifs à détecter, les plus simples à détecter visuellement, avec plusieurs détecteurs apprenant le même motif. Afin d’éviter ce scénario, dans une variante de réalisation, la deuxième contrainte d’unicité est implémentée en assurant que chaque vecteur de caractéristiques F(x) n’est pas simultanément hautement corrélé avec plusieurs filtres de convolution k (i) . Pour cela, on calcule la somme des cartes d’activation via l’équation (4) : (4) La contrainte d’unicité de chaque partie d’objet détectée par un détecteur est implémentée en s’assurant qu’aucune position (h,w) de la carte d’activation ne contient une valeur d’activation plus élevée qu’un seuil d’unicité prédéterminé t u . Cette contrainte se traduit par la minimisation de la fonction de coût suivante : (5) La fonction est nulle si toutes les valeurs de sont inférieures au seuil t u pour toutes les images d’entraînement et elle est strictement positive dans le cas contraire. La contrainte d’unicité vise à éviter l’apparition d’une valeur très élevée (supérieure au seuil t u ) pour un point de la somme des cartes d’activation. La valeur du seuil t u est préférablement prise égale à 1. Ainsi, on empêche que la somme des valeurs d’activation des différents détecteurs en un même point soit supérieure à la valeur maximale d’activation qui vaut 1 du fait de la normalisation par la fonction de normalisation. Ainsi, on interdit un recouvrement total entre les activations de deux détecteurs distincts. L’intérêt d’une contrainte additive basée sur la carte d’activation cumulée sur l’ensemble des détecteurs, plutôt qu’une contrainte multiplicative comme décrit dans la publication « Heliang Zheng, Jianlong Fu, Tao Mei, and Jiebo Luo. Learning Multi-attention Convolutional Neural Network for Fine- Grained Image Recognition. In 2017 IEEE International Conference on Computer Vision (ICCV), pages 5219–5227, Venice, Oct. 2017. IEEE. 1, 2, 4 », est que cela permet d’autoriser un recouvrement partiel de plusieurs parties. Sur la , la carte d’activation cumulée S(K,x) est représentée avec un point 111 qui dépasse le seuil t u et correspondant à un recouvrement quasi total des zones principales d’attention des détecteurs k (2) et k (p) . La contrainte d’unicité permet d’éviter la présence de tels recouvrements totaux. Dans une variante de réalisation, une troisième contrainte de regroupement est implémentée. La carte d’activation cumulée S(K,x) peut être vue comme un masque de segmentation d’un objet situé dans l’image. On prend comme hypothèse que les objets de la catégorie des données d’entraînement sont connexes, c’est-à-dire qu’ils sont formés d’un seul tenant. Avec cette hypothèse, il est possible de pénaliser, lors de l’apprentissage, les activations isolées. Cette contrainte peut être implémentée en appliquant à la carte d’activation cumulée S(K,x) un filtre convolutif donné par la relation (7) (7) La carte filtrée permet de mesurer la différence entre la valeur d’activation cumulée au point (h,w) et la somme des valeurs d’activations entourant le point (h,w). De façon similaire à l’équation (5), la contrainte de regroupement peut être implémentée en assurant qu’aucune position (h,w) de la carte d’activation cumulée filtrée ne contient une valeur d’activation plus élevée qu’un seuil de regroupement prédéterminé t p . Cette contrainte se traduit par la minimisation de la fonction de coût suivante : (8) De préférence, le seuil t p est pris proche de 0, par exemple égal 0.1. Cette contrainte de regroupement vise à éviter des activations sur des zones non contiguës alors que les zones d’activation des différents détecteurs doivent correspondre à différentes parties d’un même objet connexe et doivent donc, théoriquement, être contiguës. Sur l’exemple de la figure 1, la contrainte de regroupement permet d’éviter une activation sur le point isolé 112 identifié sur la carte filtrée . Ainsi, la fonction de coût globale utilisée pour entraîner le modèle de détection décrit à la et apprendre les coefficients des fonctions de détection par l’intermédiaire d’un algorithme de descente du gradient, est donnée par la relation (9) : (9) Les paramètres λ u , λ p sont des nombres réels positifs ou nuls qui sont fixés de sorte à contrôler l’importance relative des trois contraintes : localité, unicité et regroupement. Les coefficients des fonctions de détection k (i) sont mis à jour en minimisant la fonction de coût de l’équation (9) au moyen d’un algorithme de descente du gradient, de façon itérative sur l’ensemble des images de la base d’entraînement. A l’issue de l’entraînement, on obtient p fonctions de convolutions k (i) qui correspondent aux détecteurs aptes à détecter chacun une partie d’un même objet appartenant à une classe d’objets donnée. On décrit à présent une variante de réalisation de l’invention qui consiste à déterminer un score de confiance ainsi qu’un filtre automatique 103 de détection de visibilité pour chaque image traitée par le modèle de détection entraîné selon le procédé décrit précédemment. Le procédé de détermination d’un score de confiance, selon un mode de réalisation de l’invention, est illustré par l’organigramme de la . La première étape 201 du procédé consiste à réaliser l’entraînement complet du modèle tel que décrit à la sur une base de données d’entraînement correspondant à une classe d’objets (par exemple un type d’animal ou un type de véhicule). A l’étape 202, on refait passer l’ensemble des données d’entraînement dans le modèle de la , sans modifier les paramètres du modèle. Autrement dit, on exécute une phase d’inférence du réseau de neurones en propageant les données d’entraînement de l’entrée du réseau vers la sortie. En sortie des détecteurs k (i) et après application de la fonction d’activation, on mesure le maximum des valeurs de sortie pour chaque image d’entrée et on calcule ensuite un histogramme de ces données pour chacun des détecteurs. Cet histogramme est ensuite modélisé par une distribution normale de moyenne μ i et de variance σ i 2 . La représente un exemple de six histogrammes 301-306 obtenus pour six détecteurs entraînes sur un ensemble de données d’entraînement constituées d’images d’oiseaux. Chaque détecteur est entraîné à détecter une partie du corps d’un oiseau parmi la tête/gorge (301), les ailes/le corps (302), les pattes (303), le ventre (304), le dos/les ailes (305), la tête (306). Les histogrammes de la sont obtenus en mesurant sur le réseau déjà entraîné le maximum des sorties de la fonction d’activation Act() après détection, autrement dit, la fonction suivante : Les histogrammes obtenus correspondent aux valeurs d’activation avant application de la fonction de normalisation Norm(). Ces distributions peuvent être modélisées par des lois de probabilité, par exemple une loi de distribution normale de moyenne μ i et de variance σ i 2 dont les paramètres sont déterminés à l’étape 203 à partir des histogrammes 301-306. A l’étape 204, on détermine une mesure de confiance en calculant la fonction de distribution cumulative associée à la loi de probabilité modélisant la distribution des valeurs de H i (x). Dans le cas d’une modélisation par une loi normale , on obtient : . Sans sortir du cadre de l’invention, la loi de probabilité utilisée peut être aussi une loi normale asymétrique modélisée par trois paramètres (position, échelle et forme). Un avantage est que cela permet d’adapter la modélisation à des distributions asymétriques. Dans ce cas, la mesure de confiance dépend de trois paramètres du modèle et non plus de deux. La mesure de confiance est représentée sur la pour chacun des détecteurs par les courbes 311 à 316. Elle correspond à une fonction sigmoïde à valeurs entre 0 et 1. La mesure de confiance permet d’estimer un niveau de confiance dans la partie d’objet qui est détectée par un détecteur. En particulier, cette mesure permet de signaler qu’un détecteur s’est activé pour un objet ou une partie d’objet qui n’est peut-être pas visible sur la scène, car cachée partiellement ou encore pour un objet qui ne correspond pas à la classe d’objets pour laquelle le réseau a été entraîné (par exemple des images de voitures fournies en entrée d’un réseau entraîné à reconnaître des images d’oiseaux). Pour cela à l’étape 205, on détermine tout d’abord, pour chaque détecteur, le score minimum de corrélation s i tel que avec un seuil de visibilité compris entre 0 et 1. Le seuil de visibilité est fixé indépendamment pour chaque détecteur, par exemple, en fonction d’une connaissance a priori sur certaines parties d’objets à détecter. Par exemple, dans le cas d’images d’oiseaux, si on considère que la tête de l’oiseau doit toujours être présente dans l’image, le seuil de visibilité doit être fixé à une valeur proche de 0. La figure 4 représente un exemple de fonction de mesure de confiance avec un seuil de visibilité . Les valeurs inférieures au seuil de visibilité correspondent à des parties d’objets non visibles. Une fois que l’entraînement est réalisé et le seuil de visibilité fixé pour chaque détecteur, le modèle de détection automatique de parties d’objets, non supervisé, peut être utilisé sur des images représentant les mêmes catégories d’objets. Le seuil de visibilité déterminé à l’issue de l’entraînement est utilisé durant l’exécution pour filtrer les activations en fonction de la valeur maximale en sortie de la fonction d’activation, autrement dit H i (x). Si H i (x) est strictement supérieure au seuil de visibilité, on considère que la partie d’objet i est visible dans l’image x. Dans le cas contraire, l’activation est filtrée (mise à zéro) en considérant que la partie d’objet i n’est pas visible car elle est masquée partiellement ou parce que l’objet ne correspond pas à la classe d’objets pour laquelle le réseau a été entraîné. Ainsi, une couche de filtres 103 peut être insérée au modèle entraîné entre la sortie des fonctions d’activation (non représentée à la ) et les entrées de la couche de normalisation 104. Ce filtre est défini par la fonction suivante : sinon, T étant une matrice de valeurs de dimension H par W. En parallèle, la valeur du score de confiance obtenue via la mesure peut être fournie en sortie avec les résultats de détection afin d’apporter une information de confiance sur le résultat obtenu. Dans un mode de réalisation particulier de l’invention, une étape de visualisation est ajoutée qui consiste à convertir la carte d’activation produite en sortie de la couche d’activation 104 en une carte de localisation des parties d’objets dans l’image. Pour cela, une méthode possible consiste à calculer les pixels de la carte de visualisation au moyen de la formule suivante : La fonction M peut désigner par exemple une fonction de gradient intégré ou « Integrated gradients » telle que décrite dans la référence « Mukund Sundararajan et al, « Axiomatic attribution for deep networks, Proceedings of the 34th international conference on machine learning, pages 3319-3328,2017 », ou bien une fonction de gradients lissés SmoothGrad, telle que définie dans « Smilkov et al, Smoothgrad: removing noise by adding noise. ArXiv, abs/1706.03825, 2017 ». Cette méthode présente l’avantage suivant. Au lieu de calculer des gradients uniquement aux positions qui maximisent les activations dans les cartes d’activation , cette méthode permet d’inclure des contributions d’autres positions et de déterminer plus précisément les pixels de la matrice x impliqués dans la partie d’objet détectée. En option, il est possible d’appliquer à l’image obtenue un masque binaire propre à chaque détecteur en appliquant un filtre Gaussien, par exemple de dimension 5x5 suivi d’une normalisation min-max et d’une suppression des valeurs inférieures à un seuil prédéterminé t m , par exemple égal à 0,4. La représente un exemple de résultats obtenus à l’aide du modèle de détection automatique entraîné au moyen du procédé selon l’invention. La illustre les résultats de détection de parties d’objet pour des images d’oiseau de la base de données CUB200. Chaque ligne correspondant à une image différente (cinq images en tout) et chaque colonne à un détecteur focalisé sur une région d’attention différente (six détecteurs en tout). Les régions d’attention correspondent aux parties d’objets de l’exemple de la . Pour chaque image, et chaque détecteur, le score de confiance calculé est indiqué. Le seuil de visibilité est fixé à 0.1. Ainsi, pour les détecteurs n°2 à 5, sur la 5eme image, aucune détection de partie n’est réalisée car le score de confiance associé est trop bas. L’invention peut être mise en œuvre en tant que programme d’ordinateur comportant des instructions pour son exécution. Le programme d’ordinateur peut être enregistré sur un support d’enregistrement lisible par un processeur. La référence à un programme d'ordinateur qui, lorsqu'il est exécuté, effectue l'une quelconque des fonctions décrites précédemment, ne se limite pas à un programme d'application s'exécutant sur un ordinateur hôte unique. Au contraire, les termes programme d'ordinateur et logiciel sont utilisés ici dans un sens général pour faire référence à tout type de code informatique (par exemple, un logiciel d'application, un micro logiciel, un microcode, ou toute autre forme d'instruction d'ordinateur) qui peut être utilisé pour programmer un ou plusieurs processeurs pour mettre en œuvre des aspects des techniques décrites ici. Les moyens ou ressources informatiques peuvent notamment être distribués (" Cloud computing "), éventuellement selon des technologies de pair-à-pair. Le code logiciel peut être exécuté sur n'importe quel processeur approprié (par exemple, un microprocesseur) ou cœur de processeur ou un ensemble de processeurs, qu'ils soient prévus dans un dispositif de calcul unique ou répartis entre plusieurs dispositifs de calcul (par exemple tels qu’éventuellement accessibles dans l’environnement du dispositif). Le code exécutable de chaque programme permettant au dispositif programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur ou en mémoire morte. De manière générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif avant d'être exécutés. L'unité centrale peut commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur ou dans la mémoire morte ou bien dans les autres éléments de stockage précités. L’invention peut être implémentée sur un dispositif de calcul basé, par exemple, sur un processeur embarqué. Le processeur peut être un processeur générique, un processeur spécifique, un circuit intégré propre à une application (connu aussi sous le nom anglais d’ASIC pour « Application-Specific Integrated Circuit ») ou un réseau de portes programmables in situ (connu aussi sous le nom anglais de FPGA pour « Field-Programmable Gate Array »). Le dispositif de calcul peut utiliser un ou plusieurs circuits électroniques dédiés ou un circuit à usage général. La technique de l'invention peut se réaliser sur une machine de calcul reprogrammable (un processeur ou un micro-contrôleur par exemple) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel). Procédé, mis en œuvre par ordinateur, d’entraînement non supervisé d’un modèle de détection de motifs récurrents dans un ensemble de données de type images, audio ou contrôle commande, le modèle se composant d’une couche de détection (102) comprenant au moins : un détecteur de motifs récurrents configuré pour recevoir un ensemble de caractéristiques pertinentes extraites des données et fournir en sortie une carte d’activation constituée d’un ensemble de scores d’activation, une couche d’activation (104) consistant au moins à normaliser les cartes d’activation, l’apprentissage de chaque détecteur étant contraint au respect d’un critère de localité consistant à maximiser une région de la carte d’activation. Procédé d’entraînement non supervisé d’un modèle de détection selon la revendication 1, comprenant en outre l’application, à chaque carte d’activation en sortie de la couche d’activation, d’un filtre uniforme de dimension dépendant de celle de ladite région de la carte d’activation. Procédé d’entraînement non supervisé d’un modèle de détection selon l’une quelconque des revendications précédentes dans lequel la couche de détection (102) comprend plusieurs détecteurs de motifs récurrents et l’apprentissage de chaque détecteur est en outre contraint au respect d’un critère d’unicité consistant à éviter l’activation simultanée de plusieurs détecteurs en un même point de la carte d’activation. Procédé d’entraînement non supervisé d’un modèle de détection selon la revendication 3 dans lequel le critère d’unicité est mis en œuvre en contraignant la valeur maximale de la somme en chaque point des cartes d’activation sur l’ensemble des détecteurs à un premier seuil maximal prédéfini . Procédé d’entraînement non supervisé d’un modèle de détection selon l’une quelconque des revendications précédentes dans lequel la couche de détection comprend plusieurs détecteurs de motifs récurrents et l’apprentissage de chaque détecteur est en outre contraint au respect d’un critère de regroupement consistant à favoriser l’activation desdits détecteurs sur des zones de la carte d’activation contiguës. Procédé d’entraînement non supervisé d’un modèle de détection selon la revendication 5 dans lequel le critère de regroupement est mis en œuvre en appliquant un filtre convolutif à la somme des cartes d’activation en sortie de la couche d’activation et en contraignant la valeur maximale du résultat de filtrage à un second seuil maximal prédéfinie. Procédé d’entraînement non supervisé d’un modèle de détection selon l’une quelconque des revendications précédentes dans lequel la couche d’activation implémente une fonction de normalisation, par exemple la fonction Softmax. Procédé d’entraînement non supervisé d’un modèle de détection selon l’une quelconque des revendications précédentes dans lequel l’ensemble de caractéristiques pertinentes est obtenu au moyen d’un modèle pré-entrainé (101) sur un ensemble de données d’entraînement. Procédé d’entraînement non supervisé d’un modèle de détection selon l’une quelconque des revendications précédentes comprenant en outre, à l’issue de l’entraînement, pour chaque détecteur, une estimation (202) de la distribution des valeurs maximales des sorties du détecteur et la fixation d’un seuil de confiance (205) dépendant de la fonction de distribution cumulative de ladite distribution. Modèle de détection, mis en œuvre par ordinateur, obtenu par le procédé de l’une quelconque des revendications précédentes. Procédé, mis en œuvre par ordinateur, de détection de motifs récurrents dans un ensemble de données comprenant la mise en œuvre d’un modèle de détection obtenu par le procédé selon l’une quelconque des revendications 1 à 9. Procédé de détection de motifs récurrents selon la revendication 11 en combinaison avec la revendication 9 comprenant en outre, pour chaque détecteur de motifs récurrents et pour chaque nouvel ensemble de données reçu, la détermination d’un score de confiance dépendant de ladite fonction de distribution cumulative apprise lors de l’entraînement appliquée audit ensemble de données. Procédé de détection de motifs récurrents selon la revendication 12 comprenant en outre, pour chaque détecteur de motifs récurrents, l’application d’un filtre (103) aux valeurs de sorties du détecteur qui sont inférieures au seuil de confiance déterminé lors de l’entraînement. Procédé de détection de motifs récurrents selon l’une quelconque des revendications 12 ou 13 comprenant en outre une étape de conversion de la carte d’activation produite en sortie de la couche d’activation du modèle de détection en une carte de localisation des motifs récurrents. Procédé selon l’une quelconque des revendications 1 à 9 ou 11 à 14 dans lequel les données sont de type images et les caractéristiques pertinentes extraites des données sont organisées dans un tenseur d’ordre trois. Procédé selon la revendication 15 dans lequel les motifs récurrents à détecter sont des parties d’objets connexes dans les images. Programme d’ordinateur comprenant des instructions de code pour la mise en œuvre des procédés selon l’une quelconque des revendications 1 à 9 ou 11 à 16, lorsque ledit programme est exécuté sur un ordinateur. Support d’enregistrement lisible par ordinateur sur lequel est enregistré le programme d’ordinateur selon la revendication 17.