FR3136880A1 - Procédé de classification d’images, dispositif électronique et produit programme d’ordinateur correspondant - Google Patents

Procédé de classification d’images, dispositif électronique et produit programme d’ordinateur correspondant Download PDF

Info

Publication number
FR3136880A1
FR3136880A1 FR2206563A FR2206563A FR3136880A1 FR 3136880 A1 FR3136880 A1 FR 3136880A1 FR 2206563 A FR2206563 A FR 2206563A FR 2206563 A FR2206563 A FR 2206563A FR 3136880 A1 FR3136880 A1 FR 3136880A1
Authority
FR
France
Prior art keywords
images
analyzed
image
visual items
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2206563A
Other languages
English (en)
Inventor
Jean Francois LETELLIER
Tiphaine Marie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to FR2206563A priority Critical patent/FR3136880A1/fr
Priority to PCT/EP2023/067297 priority patent/WO2024002959A1/fr
Publication of FR3136880A1 publication Critical patent/FR3136880A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19107Clustering techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Procédé de classification d’images, dispositif électronique et produit programme d’ordinateur correspondant L’invention concerne un procédé de classification d’images mis en œuvre dans un dispositif électronique et comprenant : une obtention d’images comprenant une pluralité d’items visuels ;une répartition des images en une pluralité de classes, en fonction d’au moins une occurrence, dans les images, d’items visuels extraits des images. Figure pour l'abrégé : Fig. 1

Description

Procédé de classification d’images, dispositif électronique et produit programme d’ordinateur correspondant 1. Domaine technique
La présente demande se rapporte au domaine de la classification (ou catégorisation) d’éléments numériques comprenant une représentation d’informations consultable sur un écran d’un appareil électronique, comme des documents numériques. Ces éléments seront aussi appelés plus simplement « images » ci-après.
La présente demande concerne notamment un procédé de classification d’images par un dispositif électronique, ainsi qu’un dispositif électronique, un produit programme d’ordinateur et un médium correspondants.
2. Etat de la technique
De nombreux domaines techniques mettent en œuvre des techniques de classification d’images. Certaines techniques d’intelligence artificielle, comme les techniques dites de « machine learning », nécessitent de posséder un jeu de données d’apprentissage, fournies en tant qu’exemples de données classifiées, pour faire apprendre un modèle de classification. Ces techniques ont parfois besoin de disposer d’un jeu de données d’apprentissage important pour obtenir un modèle pertinent. C’est souvent le cas des techniques de classification d’images basées sur des réseaux de neurones. De telles techniques peuvent par exemple nécessiter de l’ordre de plusieurs milliers ou de millions de données d’apprentissage. Par exemple un jeu de données très utilisé (ILSVRC 2012-2017 d’image ImageNet), comprend plus d’un million d'images d’apprentissage.
La préparation (notamment l’annotation) de ces jeux de données d’apprentissage peut être une tâche longue et fastidieuse.
La présente demande a pour objet de proposer des améliorations à au moins certains des inconvénients de l’état de la technique.
3. Exposé de l'invention
La présente demande vise à améliorer la situation à l'aide d'un procédé de classification d’images mis en œuvre dans un dispositif électronique comprenant :
  • une obtention d’images comprenant une pluralité d’items visuels ;
  • une répartition des images en une pluralité de classes, en fonction d’au moins une occurrence, dans lesdites images, d’items visuels extraits desdites images.
Par image, on entend ici, comme expliqué ci-dessus une représentation d’informations consultable sur un écran d’un appareil électronique, comme des documents numériques
Selon au moins un mode de réalisation, lesdites images sont obtenues via une sonde logicielle et/ou un dispositif de numérisation.
Selon au moins un mode de réalisation, lesdites images comprennent au moins un document numérique accessible audit dispositif.
Selon au moins un mode de réalisation, lesdits items visuels sont des mots, des groupes de mots et/ou des objets graphiques desdites images.
Selon au moins un mode de réalisation, le procédé comprend un remplacement d’au moins un premier mot, parmi lesdits items visuels, par au moins un second mot.
Selon au moins un mode de réalisation, ledit au moins un second mot est un mot ou groupe de mots générique décrivant un type dudit premier mot.
Par exemple, les « premiers » mots « Dupond » et « Durand »peuvent être tous les eux remplacés par le même « second » mot « Nom ».
Selon au moins un mode de réalisation, ledit procédé comprend une obtention des positions desdits items visuels extraits dans ladite pluralité d’images.
Selon au moins un mode de réalisation, lesdits items visuels sont des mots et/ou des groupes de mots et ledit procédé comprend, pour une image analysée de ladite pluralité d’images, une association à ladite image analysée des nombres d’occurrence des items visuels distincts extraits de ladite image analysée.
Selon au moins un mode de réalisation, lequel ledit procédé comprend une suppression, dans lesdits items visuels distincts associés à ladite image analysée, d’au moins un mot vide.
Selon au moins un mode de réalisation, ledit procédé comprend une suppression, dans lesdits items visuels distincts associés aux images analysées de ladite pluralité d’images, des items visuels associés à un nombre d’images supérieur à un nombre X de classes souhaité.
Selon au moins un mode de réalisation, ledit procédé comprend :
  • un regroupement des items visuels distincts de ladite image analysée en tenant compte des différentes valeurs desdits nombres d’occurrence d’items visuels distincts dans ladite image analysée ;
  • une obtention d’au moins une répartition candidate pour une valeur candidate des différents nombres d’occurrence, en tenant compte d’items visuels distincts communs à au moins deux images analysées regroupés pour ladite valeur candidate.
Selon au moins un mode de réalisation, ladite répartition tient compte de patrons, relatifs aux positions desdits items visuels dans lesdites images de ladite pluralité d’images, et présents dans au moins deux images analysées de ladite pluralité d’images.
Selon au moins un mode de réalisation, ledit procédé comprend :
  • une détection d’au moins un patron dans des images analysées de ladite pluralité d’images ;
  • une association, dudit patron détecté aux images analysées de ladite pluralité d’images dans lesquelles une occurrence dudit patron a été détecté ;
  • une obtention d’au moins une répartition candidate desdites images analysées en tenant compte d’au moins une occurrence d’au moins un patron associé à au moins deux desdites images analysées.
Selon au moins un mode de réalisation, ladite répartition tient compte des positions desdits patrons dans lesdites images analysées.
Selon au moins un mode de réalisation, ledit procédé comprend une affectation d’un score de confiance à une classe, en tenant compte d’une présence d’au moins un item visuel associé à au moins une image de ladite classe, dans au moins une autre image d’au moins une autre classe.
Selon au moins un mode de réalisation, ledit procédé comprend une obtention d’au moins deux répartitions candidates et ladite répartition est choisie, parmi lesdites répartitions candidates, en tenant compte d’un nombre X de classes souhaité et/ou du score de confiance affecté à au moins une des classes desdites répartitions candidates.
Selon au moins un mode de réalisation, ledit procédé comprend une modification d’au moins une desdites images obtenues avant une analyse desdites images.
Selon au moins un mode de réalisation, le procédé comprend une association d’un libellé textuel à au moins une desdites classes.
Selon au moins un mode de réalisation, le procédé comprend un rendu d’au moins une desdites images et ledit libellé associé à la classe de ladite image rendue est obtenu depuis une interface utilisateur dudit dispositif .
Les caractéristiques, présentées isolément dans la présente demande en lien avec certains modes de réalisation du procédé de la présente demande peuvent être combinées entre elles selon d’autres modes de réalisation du présent procédé.
Selon un autre aspect, la présente demande concerne également un dispositif électronique adapté à mettre en œuvre le procédé de la présente demande dans l’un quelconque de ses modes de réalisations. Par exemple, la présente demande concerne ainsi un dispositif électronique comprenant au moins un processeur configuré pour une classification d’images comprenant:
  • une obtention d’images comprenant une pluralité d’items visuels ;
  • une répartition des images en une pluralité de classes, en fonction d’au moins une occurrence, dans lesdites images, d’items visuels extraits desdites images.
La présente demande concerne aussi un programme d'ordinateur comprenant des instructions pour la mise en œuvre des divers modes de réalisation du procédé ci-dessus, lorsque programme est exécuté par un processeur et un support d’enregistrement lisible par un dispositif électronique et sur lequel est enregistré les programmes d’ordinateur.
Par exemple, la présente demande concerne ainsi un programme d'ordinateur comprenant des instructions pour la mise en œuvre, lorsque le programme est exécuté par un processeur d’un dispositif électronique, d’un procédé de classification d’images comprenant:
  • une obtention d’images comprenant une pluralité d’items visuels ;
  • une répartition des images en une pluralité de classes, en fonction d’au moins une occurrence, dans lesdites images, d’items visuels extraits desdites images.
Par exemple, la présente demande concerne aussi un support d’enregistrement lisible par un processeur d’un dispositif électronique et sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour la mise en œuvre, lorsque le programme est exécuté par le processeur, d’un procédé de classification d’images comprenant :
  • une obtention d’images comprenant une pluralité d’items visuels ;
  • une répartition des images en une pluralité de classes, en fonction d’au moins une occurrence, dans lesdites images, d’items visuels extraits desdites images.
Les programmes mentionnés ci-dessus peuvent utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Les supports d'informations mentionnés ci-dessus peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, un support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique.
Un tel moyen de stockage peut par exemple être un disque dur, une mémoire flash, etc.
D'autre part, un support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Un programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, un support d'informations peut être un circuit intégré dans lequel un programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution de l’un quelconque des modes de réalisation du procédé objet de la présente demande de brevet.
4. Brève description des dessins
D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels :
La présente une vue simplifiée d’un système, cité à titre d’exemple, dans lequel au moins certains modes de réalisation du procédé de la présente demande peuvent être implémentés,
La présente une vue simplifiée d’un dispositif adapté à mettre en œuvre au moins certains modes de réalisation du procédé de la présente demande,
La présente un aperçu du procédé de la présente demande, dans au moins certains de ses modes de réalisation
La présente plus en détails certains traitements du procédé de la présente demande, dans certains modes de réalisation compatibles avec les modes de réalisation illustrés en ;
La présente plus en détails certains traitements du procédé de la présente demande, dans certains modes de réalisation compatibles avec les modes de réalisation illustrés en ;
La présente plus en détails certains traitements du procédé de la présente demande, dans certains modes de réalisation compatibles avec les modes de réalisation des figures 4 et 5;
La présente, schématiquement et sommairement, des échanges de flux entre certains des dispositifs du système 100 pour la mise en œuvre du procédé de la présente demande, dans au moins certains de ses modes de réalisation
La présente un exemple de patrons utilisés dans le cadre des modes de réalisation illustrés en .
5. Description des modes de réalisation
La présente demande propose une classification automatique (ou au moins partiellement automatique) d’images. Plus précisément, la présente demande propose dans au moins certains modes de réalisation d’utiliser des techniques d’analyse automatique d’images pour obtenir, à partir de ces images, des données caractérisant des éléments représentés par ces images. Ces éléments sont par exemple des éléments textuels tels que des mots ou des groupes de mots, ou des objets graphiques occupant une portion d’image. Ces données serviront ensuite à répartir les images en différentes classes, ou catégories (aussi appelées « clusters » selon la terminologie anglaise).
Grâce à cette répartition en classes (ou « clustering » selon la terminologie anglaise), le procédé de la présente demande, dans au moins certains de ses modes de réalisation, peut aider à labelliser (en d’autres termes annoter) facilement un jeu d’images de taille importante, en attribuant par exemple un ou plusieurs mêmes labels à toutes les images d’une classe (ou catégorie). Ces images labellisées peuvent par exemple ensuite être utilisées comme données d’apprentissage, dans le cadre d’un apprentissage supervisé (par exemple pour l’apprentissage d’un réseau de neurones destiné à classifier d’autres images lors de son inférence).
Cette classification (ou catégorisation) automatique facilitant la labellisation d’images, elle peut de plus aider, dans au moins certains modes de réalisation du procédé de la présente demande, à faire évoluer les classes d’un réseau de neurones au fil du temps (par des apprentissages successifs, sur des jeux de données variables).
Une classification automatique d’images peut aussi permettre de labelliser automatiquement des images, sans intervention d’un opérateur (par exemple en affectant automatiquement des libellés aux classes (comme des numéros successifs) (et en offrant éventuellement par la suite la possibilité à un opérateur de modifier à sa guise les libellés des classes). De ce fait, une classification automatique d’images peut donc offrir, au moins dans certains modes de réalisation, des avantages en termes de confidentialité des images (qui peuvent par exemple correspondre à des données personnelles d’un individu ou groupe d’individus), et/ou de rapidité de traitement . Une telle classification automatique peut aussi aider à éviter, ou au moins limiter, les erreurs de saisie, et simplifier les choix d’affectation d’une classe (ou catégorie) à une image, dans des cas de répartition selon des critères assez complexes, où lorsque le nombre de classes (ou clusters) est élevé (par exemple de l’ordre de quelques dizaines de classes).
Une classification automatique d’images, lorsque celles-ci correspondent à des captures ou numérisations de documents administratifs, peut également offrir des avantages en termes de fiabilité, rapidité et confidentialité pour l’archivage électronique de documents administratifs. Par exemple, grâce au procédé de la présente demande, dans au moins certains de ses modes de réalisation, un utilisateur peut scanner une pile de documents et obtenir, de façon automatique, une répartition de ces documents en classes (fiches de paie, relevés bancaires, relevés de sécurité sociale, etc..) qu’il n’a plus qu’à archiver séparément en conséquence.
Selon encore un autre exemple, une classification automatique de données d’apprentissage peut également permettre, dans au moins certains modes de réalisation, un apprentissage (par exemple un apprentissage fédéré) de réseaux de neurones utilisant, pour l’apprentissage d’un réseau de neurones en vue d’une inférence sur un dispositif, des données auto-labellisées locales à ce dispositif, de façon par exemple à répondre à des obligations liées à une protection des données personnelles.
Le procédé de la présente demande peut être mis en œuvre pour classifier divers types d’images. Par exemple, comme souligné ci-avant, il peut s’agir dans certains modes de réalisation de numérisation (ou « scan » selon la terminologie anglaise) de divers types de documents numériques: des documents administratifs (actes de naissance, avis de décès, …), des documents commerciaux (facture, bons de livraison, bons de commande …), des tickets de caisse, etc. Dans certains modes de réalisation, il peut aussi s’agir d’une classification d’images de produits ou d’objets (représentés sur les images) (par exemple en vue de la réalisation d’un catalogue publicitaire).
On décrit à présent, en lien avec la , de façon plus détaillée la présente demande.
La représente un système de télécommunication 100 dans lequel certains modes de réalisation de l’invention peuvent être mis en œuvre. Le système 100 comporte un ou plusieurs dispositifs électroniques, certains au moins pouvant communiquer entre eux via un ou plusieurs réseaux de communication, éventuellement interconnectés, comme un réseau local ou LAN (Local Area Network, 1) et/ou un réseau de type étendu, ou WAN (Wide Area Network, 2). Par exemple, le réseau peut comprendre un réseau LAN d’entreprise ou domestique et/ou un réseau WAN de type internet, ou cellulaire, GSM - Global System for Mobile Communications, UMTS - Universal Mobile Telecommunications System, Wifi - Wireless, etc.) .
Comme illustré en , le système 100 peut également comprendre plusieurs dispositifs électroniques, comme un terminal (tel qu’un ordinateur portable 110, un smartphone 130, une tablette 120), un serveur 140, et un dispositif de stockage 150, sur lequel peuvent par exemple être stockés des paramètres d’un réseau de neurones, tels que des paramètres relatifs à sa structure (par exemple une description de ses différentes couches, le nombre et les tailles des matrices associées respectivement à ces couches, etc.) et les valeurs courantes des coefficients des matrices associées à ces couches. Le serveur 140 peut par exemple utiliser des données d’apprentissage, par exemple précédemment stockées sur le dispositif de stockage ou sur un autre des dispositifs du système, pour affiner les valeurs des coefficients du réseau de neurones lors d’une phase (optionnelle) d’apprentissage (par exemple préalable) du réseau de neurones.
L’un des terminaux 110, 120, 130 peut également obtenir, depuis le dispositif de stockage par exemple, les paramètres courants du réseau de neurones (dont les valeurs courantes des coefficients, éventuellement préalablement apprises grâce au serveur ou à un autre terminal) et effectuer un apprentissage « local » du réseau de neurones pour affiner les valeurs des coefficients en fonction, par exemple, de données d’apprentissage propres au terminal, comme des données stockées localement par le terminal ou stockées à distance mais accessibles au terminal et relatives au terminal.
Le système peut également comprendre des éléments de gestion et/ou d’interconnexion réseau (non représentés). Ces dispositifs électroniques peuvent être associés à au moins un utilisateur 132 (par le biais par exemple d’un compte utilisateur accessible par login), certains des dispositifs électroniques 110, 130 pouvant être associés à un même utilisateur 132. Le système peut également comprendre une base de données 160, comme une base lexicale.
La illustre une structure simplifiée d’un dispositif électronique 200 du système 100, par exemple le dispositif 110, 130 ou 140 de la , adapté à mettre en œuvre les principes de la présente demande. Selon les modes de réalisation, il peut s’agir d’un serveur et/ou d’un terminal.
Le dispositif 200 comprend notamment au moins une mémoire M 210. Le dispositif 200 peut notamment comprendre une mémoire tampon, une mémoire volatile, par exemple de type RAM (pour « Random Access Memory » selon la terminologie anglaise), et/ou une mémoire non volatile (par exemple de type ROM (pour « Read Only Memory » selon la terminologie anglaise). Le dispositif 200 peut également comprendre une unité de traitement UT 220, équipée par exemple d'au moins un processeur P 222, et pilotée par un programme d'ordinateur PG 212 stocké en mémoire M 210. A l'initialisation, les instructions de code du programme d'ordinateur PG sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur P. L’au moins un processeur P 222 de l'unité de traitement UT 220 peut notamment mettre en œuvre, individuellement ou collectivement, l'un quelconque de modes de réalisation du procédé de la présente demande (décrit notamment en relation avec la ), selon les instructions du programme d'ordinateur PG.
Le dispositif peut également comporter, ou être couplé à, au moins un module d’entrée/ sortie I/O 230, tel qu’un module de communication, permettant par exemple au dispositif 200 de communiquer avec d’autres dispositifs du système 100, via des interfaces de communication filaires ou sans fils, et/ou tel qu’un module d’interfaçage avec un utilisateur du dispositif (aussi appelé plus simplement « interface utilisateur » dans la présente demande.
Par « interface utilisateur » du dispositif, on entend par exemple une interface intégrée au dispositif 200, ou une partie d’un dispositif tiers couplé à ce dispositif par des moyens de communication filaires ou sans fils. Par exemple, il peut s’agir d’un écran secondaire du dispositif ou d’un ensemble de hauts parleurs connectés par une technologie sans fils au dispositif
Une interface utilisateur peut notamment être une interface utilisateur, dite «de sortie», adaptée à un rendu (ou au contrôle d’un rendu) d’un élément de sortie d‘une application informatique utilisée par le dispositif 200, par exemple une application s’exécutant au moins partiellement sur le dispositif 200 ou une application « en ligne » s’exécutant au moins partiellement à distance, par exemple sur le serveur 140 du système 100. Des exemples d’interface utilisateur de sortie du dispositif incluent un ou plusieurs écrans, notamment au moins un écran graphique (tactile par exemple), un ou plusieurs haut-parleurs, et/ou un casque connecté.
Par rendu, on entend ici une restitution (ou « output » selon la terminologie anglaise) sur au moins une interface utilisateur, sous une forme quelconque, par exemple comprenant des composantes textuelle, audio et/ou vidéo, ou une combinaison de telles composantes.
Par ailleurs, une interface utilisateur peut être une interface utilisateur, dite «d’entrée», adaptée à une acquisition d’une information provenant d’un utilisateur du dispositif 200. Il peut s’agir notamment d’une information destinée à une application informatique accessible via le dispositif 200, par exemple une application s’exécutant au moins partiellement sur le dispositif 200 ou une application « en ligne » s’exécutant au moins partiellement à distance, par exemple sur le serveur 140 du système 100. Des exemples d’interface utilisateur d’entrée du dispositif 200 incluent un capteur, un moyen d’acquisition audio et/ou vidéo (microphone, caméra (webcam) par exemple), un clavier, une souris.
Le dispositif peut comprendre également au moins un module logiciel (ou sonde logicielle) adapté à la capture des données saisies ou restituées sur l’interface utilisateur du dispositif.
Ledit au moins un microprocesseur du dispositif 200 peut notamment être adapté pour une classification d’images comprenant:
  • une obtention d’images comprenant une pluralité d’items visuels ;
  • une répartition des images en une pluralité de classes, en fonction d’au moins une occurrence, dans lesdites images, d’items visuels extraits desdites images.
Certains des modules d‘entrée -sorties ci-dessus sont optionnels et peuvent donc être absents du dispositif 200 dans certains modes de réalisation. Notamment, si la présente demande est parfois détaillée en lien avec un dispositif communiquant avec au moins un second dispositif du système 100, le procédé peut également être mis en œuvre localement par un dispositif, en utilisant par exemple en élément d’entrée des éléments acquis par exemple par des sondes logicielles et/ou hardware s’exécutant sur le dispositif, pour produire des éléments de sorties stockés localement sur le dispositif, ou rendu via une interface de sortie du dispositif.
Au contraire, dans certains de ses modes de réalisation, le procédé peut être mis en œuvre de façon distribuée entre au moins deux dispositifs 110, 120, 130, 140 et/ou 150 du système 100.
Par le terme « module » ou le terme « composant » ou «élément » du dispositif, on entend ici un élément matériel, notamment câblé, ou un élément logiciel, ou une combinaison d’au moins un élément matériel et d’au moins un élément logiciel. Le procédé selon l’invention peut donc être mis en œuvre de diverses manières, notamment sous forme câblée et/ou sous forme logicielle.
La illustre certains modes de réalisation du procédé 300 de la présente demande. Le procédé 300 peut par exemple être implémenté par le dispositif électronique 200 illustré en .
Comme illustré en , le procédé 300 peut comprendre une obtention 310 d’un ensemble (ou lot) d’images à classifier.
Comme illustré en , le procédé 300 peut comprendre une obtention 320 d’items visuels extraits des images obtenues. Dans la présente demande, on entend par « item visuel » un mot, un groupe de mots ou un objet graphique. Cette obtention peut comprendre une recherche 322 d’items visuels dans les images obtenues (ou en variante un accès à au moins un fichier associé à au moins une des images obtenues et comprenant des items visuels préalablement extraits de cette image). La recherche 322 peut par exemple mettre en œuvre, dans certains modes de réalisation, des techniques d’analyse d’images et/ou détection d’éléments représentés par ces images, comme des techniques de reconnaissance de caractères (par exemple des techniques dites OCR (pour « Optical Character Recognition » selon la terminologie anglaise) menant à une extraction de mot(s) des images). Il peut aussi s’agir par exemple de techniques de reconnaissance de formes et/ou d’objets ou et/ou de segmentation d’images.
Dans le cas où la recherche 322 permet d’identifier des mots dans une des images obtenues, le procédé peut également comprendre une recherche 323 d’au moins une entité nommée dans les mots extraits par comparaison avec les éléments d’une base lexicale par exemple (comme par exemple l’élément 160 du système 100).
Une telle recherche peut par exemple comprendre une exécution d’un service accessible au dispositif 200) par exemple un service d’une bibliothèque logicielle (comme le service «Allganize»), en charge de détecter, dans un texte (ici dans des mots extraits d’une image analysée) des mots considérés par le service comme d’un type particulier (comme un nom, un prénom, une adresse, un numéro de téléphone, une organisation) ; Le procédé eut également comprendre un remplacement (par exemple via un service tel qu’introduit ci-dessus),dans ce texte, des mots ayant l’un de ces types particuliers par un mot, ou groupe de mots, générique, décrivant ce type particulier (et appelé par la suite « entité nommée »). Des exemple d’entités nommés peuvent comprendre les termes « nom », « prénom », « adresse », « numéro de téléphone », « organisation »). Par exemple, le groupe de mots « Jean Dupont habite à Clermont-Ferrand » pourrait devenir : » Prénom Nom habite à Ville ».
Cette recherche 323 d’entité(s) nommé(s) peut être optionnelle dans certains modes de réalisation.
Dans certains modes de réalisation, le procédé 300 peut comprendre, préalablement à une recherche (et extraction) d’items visuels d’au moins une image, un pré-traitement 321 (ou « preprocessing » selon la terminologie anglaise) d’au moins une des images obtenues, afin par exemple de faciliter l’extraction d’items visuels de l’image.
Il peut s’agir par exemple, dans au moins un mode de réalisation, de l’application d’au moins une technique de traitement d’images. Une telle technique peut être selon un premier exemple une transformation (par exemple une conversion) couleur appliquée à au moins une des images obtenues, pour ne conserver, dans l’image transformée, que des couleurs correspondant à différents niveaux de gris. Une autre technique peut être, selon un autre exemple, une transformation appliquée à au moins une des images obtenues, pour faire varier les contrastes au sein de l’image (par exemple pour augmenter les contrastes) et/ou pour modifier la luminosité de l’image.
Ce pré-traitement peut être optionnel dans certains modes de réalisation.
La détection et/ou l’extraction d’items visuels des images obtenues (et éventuellement pré-traitées) peut également permettre, dans certains modes de réalisation, non seulement d’identifier des items visuels présents dans une image mais également d’obtenir leurs positions dans cette image.
Suite à l’extraction d’items visuels des images analysées (et à la recherche éventuelle d’entité(s) nommée(s)), on obtient donc, par image sur laquelle l’extraction a été effectuée, une liste d’items visuels extraits de cette image et éventuellement leur position dans cette image.
Comme illustré en , le procédé 300 peut comprendre une analyse 330 des items visuels obtenus (par exemple les mots et entités nommés extraits des images), pour répartir 340 les images dans une pluralité de classes (ou « clusters » selon la terminologie anglaise) en tenant compte de ces items visuels.
L’analyse 330 et la répartition 340 basée sur cette analyse, effectuées peuvent dépendre des modes de réalisation. Ainsi, selon certains modes de réalisation illustrés en , l’analyse 331 (et donc la répartition 341) peut se baser sur un nombre d’occurrences d’items visuels de type mot ou groupe de mots extraits des images analysées. Selon d’autres modes de réalisation illustrés en , l’analyse 332 (et donc la répartition 342) peut se baser sur une présence de « patrons » dans les images analysées relatifs aux positionnements de certains items visuels dans les images.
La illustre ainsi de façon plus détaillée un exemple d’analyse 331 des images et items visuels associés et de répartition 341 de ces images basées sur un nombre d’occurrences des items visuels dans les images analysées.
Dans l’exemple illustré en , l’analyse 331 d’une image se base sur les items visuels obtenus 320 ( ) à partir de cette image (et associés à cette image analysée). Plus précisément, l’analyse 331 comprend, pour au moins un item visuel associé à l’image analysée, un comptage 3311 du nombre d’occurrences, dans l’image analysée, de cet item visuel, c’est-à-dire du nombre de fois où cet item visuel (mot ou entité nommée) apparait dans cette image. L’analyse peut également comprendre un classement (ou regroupement) 3312 des items visuels associés à l’image analysée en fonction de leur nombre d’occurrences (de façon à rassembler par exemple ensemble dans un premier groupe tous les items visuels n’apparaissant qu’une seule fois dans l’image analysée, puis dans un second groupe tous les items visuels apparaissant exactement deux fois dans l’image analysée, etc.). On obtient donc, par image analysée, une ou plusieurs listes ‘items visuels’, chaque liste étant dédiée à un nombre d’occurrence distinct.
Le pseudo code ci-après représente ainsi, à titre d’exemple, les regroupements ClaWordImg(1) .. ClaWordImg(n) obtenus pour la pluralité d’images I1 ..Inanalysées:
ClaWordImg[1]:
{
1:[‘word_ggg’, ‘word_ddd’ , ‘word_aaa’ , ‘word_sss’ , ‘word_ttt’ , ‘word_vvv’],
2:[‘word_mmm’, ‘word_ooo’ , ‘word_nnn’ , ‘word_yyy’ , ‘word_iii’ , ‘word_kkk’],
}
ClaWordImg[n]:
{
1:[‘word_ggg’, ‘word_ddd’ , ‘word_aaa’ , ‘word_sss’ , ‘word_eee’ , ‘word_bbb’],
2:[‘word_xxx’, ‘word_hhh’ , ‘word_rrr’ , ‘word_jjj’],
}
Comme le montre la , l’analyse peut comprendre un filtrage 3313 de certains des items visuels associés à une image. Dans l’exemple de la , ce filtrage peut par exemple comprendre une suppression d’item(s) visuel(s) inutile(s) à la classification des images, comme au moins un mot vide (aussi appelé « stopword » (ou « stop word ») selon la terminologie anglaise) (tel qu’un article, ou un mot de liaison) (aussi appelés parfois mots de transition, mots d’arrêt, mots de liaison ou mots valise). Il peut aussi s’agir, dans certains modes de réalisation, de supprimer des items apparaissant dans un nombre élevé d’images. La classification des images étant par la suite effectuée en fonction des items visuels des images, un item visuel présent dans un nombre d’images supérieur à un nombre de classes souhaité dans la répartition serait en effet de peu d’utilité pour distinguer des images en vue de leur répartition.
De même, dans certains modes de réalisation, les items visuels associés à un nombre d’images proche du nombre d’images à classifier (comme associés à plus de 90% de images analysées) peuvent être supprimés dans certains modes de réalisation. De plus, les inventeurs ont relevé que certains éléments (comme un logo ou certains mots (par exemple « Paie » ou « Facture » dans le cas d’un type de document administratif), étaient souvent présent un faible nombre de fois dans une image tout en étant caractéristique d’un type d’images. De ce fait, certains modes de réalisation, comme les modes de réalisation détaillés peuvent privilégier les faibles nombres d’occurrences et supprimer les items associés par exemple à un nombre d’occurrences supérieur à un premier nombre d’occurrences (utilisé comme seuil haut par exemple).
Selon les modes de réalisation, par exemple selon le filtrage effectué, ce filtrage peut être effectué au moins partiellement avant et/ou après le regroupement par nombres d’occurrences.
Ainsi, le filtrage des mots inutiles peut par exemple être effectué avant le regroupement des items visuels selon leur nombre d’occurrences, pour aider à gagner en efficacité de traitement par exemple lors de ce regroupement.
Le filtrage peut être optionnel dans certains modes de réalisation (par exemple, il peut être activé ou non via un paramètre de configuration).
Le pseudo code ci-après représente ainsi, pour la pluralité d’images I1 ..Inanalysées, les regroupements ClaWordImg(1) .. ClaWordImg(n) précédemment introduits une fois ceux-ci filtrés:
ClaWordImg[1]:
{
1:[ ‘word_aaa’ , ‘word_sss’ , ‘word_ttt’ , ‘word_vvv’],
2:[‘word_mmm’, ‘word_ooo’ , ‘word_nnn’ , ‘word_yyy’ , ‘word_iii’ , ‘word_kkk’],
}
ClaWordImg[n]:
{
1:[‘word_aaa’ , ‘word_sss’ , ‘word_eee’ , ‘word_bbb’],
2:[‘word_xxx’, ‘word_hhh’ , ‘word_rrr’ , ‘word_jjj’],
}
Les regroupements d’items visuels par nombre d’occurrences pour chaque image analysée peuvent être utilisés, pour répartir 341 les images en classes. Comme le montre la , le procédé peut comprendre une obtention d’une répartition candidate pour au moins une valeur k du nombre d’occurrences d’item visuels. Selon les modes de réalisation, il peut s’agir d’une valeur de « k » particulière à chaque image analysée ou commune à toutes les images analysées. Plus précisément, dans certains modes de réalisation, le procédé, peut comprendre une recherche 3411 d’items communs à plusieurs images correspondant à un nombre k d’occurrences donné, qui permettant de regrouper ces images en « x » clusters (ou x est le nombre de classes souhaitées). Il s’agit d’identifier une classe de la répartition candidate via une liste d’items communs aux images de cette classe. Par exemple, on recherche le maximum de mots communs dans les images analysées permettant de différencier les images en les regroupant en « x » clusters. Le pseudo code ci-après représente ainsi, des exemples de classes (ou clusters) obtenues pour la pluralité d’images I1 ..Inanalysées, en liaison avec les exemples de pseudo-code précédemment introduits.
Cluster[1]:
{
data:[3, 25, …, n-1, n],
bestNbOccurrence: 1,
words : [ ‘word_aaa’ , ‘word_sss’],
confidenceLevel : 0.89
}
Cluster[2]:
{
data:[1, 4, 5, …, …],
bestNbOccurrence: 1,
words :[ ‘word_fff’ , ‘word_ppp’ , ‘word_zzz’],
confidenceLevel : 0. 92
}
Les étapes d’association et d’identification peuvent être effectuées pour plusieurs valeurs d’occurrence k de certaines images, par exemple jusqu’à trouver un nombre de classes correspondant au nombre X de classes souhaitées.
Par exemple, dans certains modes de réalisation, une première répartition candidate peut être obtenue pour une première valeur de k, commune aux images, choisie pour correspondre au plus petit nombre d’occurrence d’items sur toutes les images (soit k=1 par exemple), au moins une seconde répartition candidate étant obtenue, pour au moins une seconde valeur d’occurrences, supérieure à la première valeur choisie pour la première répartition. Par exemple, des répartitions candidates peuvent être obtenues pour des valeurs successives, de plus en plus grandes, du nombre d’occurrences, jusqu’à obtenir un nombre de classes souhaité ou jusqu’à atteindre un nombre d’occurrences correspondant au nombre d’occurrences le plus grand associé à l’ensemble des images (c’est-à-dire la valeur minimale, sur l’ensemble des images analysées, du plus grand nombre d’occurrences associé à chacune de ces images).
Dans certains modes de réalisation, l’identification de classes peut tenir compte par exemple d’un nombre ou d’un pourcentage, minimum ou maximum d’images par classe, de façon à obtenir des classes relativement homogènes, et/ou d’un nombre X de classes souhaité par exemple, comme expliqué ci-avant.
Dans certains modes de réalisation, le nombre de classes souhaité peut ne pas être fixé, un nombre minimal et/ou maximal d’occurrences à utiliser pour les différentes images pouvant par exemple être défini. Différentes valeurs d’occurrences peuvent par exemple être testées pour parvenir à une classification de l’ensemble des images respectant ce nombre minimal et/ou maximal d’occurrences.
Dans certains modes de réalisation, lorsque le nombre de classes souhaité n’est pas fixé, le choix d’une répartition, parmi la ou les répartition(s) candidate(s), peut tenir compte d’un niveau de confiance associé à la répartition (ou à au moins une classe de la répartition). Par exemple, la répartition choisie peut être la première répartition candidate obtenue associée à un niveau de confiance supérieur à une première valeur (cette première valeur peut être un paramètre de configuration ou être déduite d’un tel paramètre). Ainsi, dans certains modes de réalisation, il peut être recherché des répartitions candidates pour tous les nombres d’occurrence inférieurs ou égaux au nombre d’occurrences le plus grand commun à toutes les images, le procédé comprenant ensuite une sélection de la répartition candidate ayant le meilleur score de confiance.
Dans certains modes de réalisation, le procédé peut comprendre une attribution d’un score de confiance à au moins une classe (par exemple à chaque classe) d’au moins une des répartitions candidates.
Cette attribution peut être optionnelle dans certains modes de réalisation.
Par exemple, dans des modes de réalisation compatibles avec l’illustration de la , un niveau de confiance peut être attribué à chaque item associé à une classe, ce niveau de confiance étant par exemple calculé en tenant compte du nombre de classes dans lesquels l’item est présent. Plus précisément, le niveau de confiance d’un item dans une classe peut être calculé dans certains modes de réalisation comme un ratio entre le nombre d’images appartenant à cette classe où cet item apparait, et le nombre total d’images (dans l’ensemble des classes) où l’item visuel est présent.
. Un score de confiance, au niveau de la classe considérée, peut par exemple être calculé en tenant compte des niveaux de confiance respectifs des items de la classe. Par exemple le calcul du score de confiance du cluster peut être basé par sur la moyenne des niveaux de confiances des items, sur l’écart type relatif à ces niveaux de confiance etc…
Le score d’une classe peut, dans certains modes de réalisation, tenir compte du respect d’au moins un critère relatif aux valeurs des niveaux de confiance des items qui lui sont associés. Par exemple, une valeur d’un niveau de confiance, pour un des items de la classe, inférieure à une première valeur (par exemple une valeur « seuil ») peut dégrader (par exemple diminuer), ou dans d’autres modes de réalisation améliorer (par exemple augmenter), le score de confiance de la classe (via un coefficient multiplicatif par exemple). De même, une valeur d’un niveau de confiance, pour un des items de la classe, supérieure à une seconde valeur (par exemple une valeur « seuil ») peut améliorer, ou dans d’autres modes de réalisation dégrader le score de confiance de la classe.
Similairement, un score global peut être affecté à une répartition candidate en tenant compte des scores de confiance de l’ensemble des différentes classes de la répartition.
Le procédé peut en outre comprendre une sélection d’une répartition (dite choisie ou sélectionnée), parmi les répartitions candidates. L’un des critères de sélection peut par exemple tenir compte du score global obtenu pour une répartition candidate. Un autre exemple de critère de sélection peut par exemple être le respect d’au moins un paramètre de configuration tel que détaillé ci-après.
La illustre ainsi de façon plus détaillée un exemple d’analyse 332 et de répartition 342 basées sur une présence de patrons dans les images analysées, et optionnellement sur les positions de ces patrons dans les images analysées.
Dans certains modes de réalisation, suite à la recherche (et à la détection) 322, 323 d’éléments visuels (étape 320), le procédé peut comprendre une recherche 324 d’au moins un motif , ou patron (« pattern » selon la terminologie anglaise), en termes d’occupation de blocs par des items visuels particuliers , au sein d‘une image ou entre les images analysées, ie d’une répétition d’une occupation d’un ou plusieurs blocs par un ou plusieurs premiers items visuels au sein d‘une même image (patron intra-image) ou entre au moins deux images analysées (patron inter-image). Il peut s’agir par exemple de patron fixe ou de patron flottant. Un patron fixe correspond à une répétition (avec éventuellement un facteur d’échelle, comme un coefficient multiplicatif, dans certains modes de réalisation), dans au moins m images analysées (avec m entier supérieur ou égal à 2, définissable par exemple par configuration), d’un ensemble de bloc(s) occupé(s) de même(s) positionnement(s) relatif(s) (de mêmes « offsets » selon la terminologie anglaise), par rapport à une position de référence (par exemple une position origine (0 ;0)), fixe entre ces au moins deux images. Ainsi, par exemple, un patron fixe peut correspondre à une répétition d’un ensemble identique de blocs occupés de mêmes indices dans plusieurs images. Dans certains modes de réalisation, les items visuels d’un patron sont identiques entre les répétitions du patron; par exemple un patron peut correspondre à une répétition de la séquence des items visuels de 3 entités nommés comme nom, prénom, horaire., réparties sur 3 blocs consécutifs.
La illustre ainsi trois images 810, 820, 830 dont certains blocs (hachurés) sont occupés par des items visuels . Les groupes de blocs occupés 811, 812, 813 présents sur plusieurs images correspondent à des patrons (fixes). Ces patrons peuvent avoir des formes diverses , plus ou moins complexes, comme l’illustre l’élément 831 de l’image 830 (cet élément n’est pas présent dans les images 810 et 820 mais est réputé présent dans le cadre de cet exemple dans d’au moins une autre image non illustrée).
Un patron glissant a une répétition (avec éventuellement un facteur d’échelle (comme un coefficient multiplicatif) dans certains modes de réalisation), dans au moins deux images analysées, d’un ensemble correspond à un ensemble de bloc(s) occupé(s) de mêmes positionnement(s) relatif(s) (par exemple de même offset), par rapport à une position de référence, susceptible de varier au sein d’une image, ou entre différentes images.
Selon les modes de réalisation, le procédé peut rechercher uniquement les patrons fixes ou rechercher les patrons fixes et les patrons flottants, ou se limiter aux patrons fixes et à des pattern flottants, dont la position bien que variable, est située dans une certaine portion d’image (ex: côté droit des images, centre ou côté gauche,…).
Les items visuels d’un patron peuvent être de différents types. Par exemple, un patron peut comprendre au moins un mot, au moins une entité nommée et/ou au moins un objet graphique (par exemple un logo). Dans le cas d’items textuels, la recherche d’au moins un patron peut ainsi tenir compte d’une proximité répétée entre au moins une entité nommée et au moins un mot, et/ou d’une proximité entre au moins deux entités nommées, et/ou d’une proximité entre au moins au moins deux mots.
Une fois les patrons fixes et/ou flottants détectés, le procédé peut comprendre une analyse 332 d’au moins certaines des images obtenues 310, à partir des patrons (fixes et/ou flottants) détectés lors de la recherche ci-dessus.
Dans certains modes de réalisation, le procédé peut comprendre une recherche 324 d’une présence d’au moins un patron dans une image et (optionnellement) une association 3321 aux patrons présents dans cette image de leur(s) position(s) dans cette image.
Par exemple, pour une image analysée, un premier patron P1, présent plusieurs fois dans l’image, sera associé à ses positions (pos 11, pos 12, pos 13) dans cette image, un second patron P2, présent une seule fois dans l’image analysée, sera associé à son unique position pos21 dans l’image.
Comme dans les modes de réalisation illustrés en lien avec la , un filtrage 3322 (optionnel) peut être effectué sur les patrons associés à une image (par exemple une suppression de mots vides peut être mise en œuvre avant la détection de patrons)
Selon l’exemple de la , le procédé peut comprendre une recherche 3421 de patrons communs à plusieurs images et éventuellement de leurs positions dans ces images (pour détecter d’éventuelle récurrence de leurs positions au fil des images).
Les identifications 3422 de patrons par chaque image analysée peuvent être utilisées, pour répartir 342 les images en classes. Comme le montre la , le procédé peut comprendre une obtention d’une répartition candidate en « x » classes d’images, chaque classe identifiée étant lors associée à une combinaison particulière de patrons. La combinaison de patrons associée à une classe (et donc la répartition candidate associée) peut tenir compte dans certains modes de réalisation d’une relation de proximité entre les positions plusieurs patrons dans les différentes images. Par exemple, dans certains modes de réalisation, il peut être tenu compte d’une proximité entre des positions absolues d’au moins deux patrons dans chacune des au moins deux images où ils sont présents, ou de positions relatives d’au moins deux patrons, dans les images où ils sont présents respectivement, par rapport à un autre élément également présent dans ces images (par exemple un autre patron présent dans ces au moins 2 images).
Comme dans les modes de réalisation illustrés en lien avec la , cette identification de classes peut tenir compte par exemple d’un nombre ou d’un pourcentage, minimum ou maximum d’images par classe, de façon à obtenir des classes relativement homogènes (en termes de nombre d’éléments), d’un nombre X de classes souhaité par exemple.
Dans les modes de réalisation illustrés en lien avec la , similairement à ce qui a été exposé en lien avec les modes de réalisation e la , le procédé peut comprendre une affectation d’un niveau de confiance à un patron (par exemple comme un ratio entre le nombre d’images de la classe où une occurrence du patron est présente et le nombre total d’images analysées où une occurrence de ce patron est présente), et un affectation d’un score de confiance à une classe et/ou à une répartition.
Selon certains modes de réalisation du procédé de la présente demande, les deux analyses 331, 332 détaillées ci-dessus peuvent être effectuées séquentiellement et/ou en parallèle (comme illustré en ), le procédé comprenant alors une sélection 342 d’au moins une des répartitions obtenues. Cette sélection peut tenir compte par exemple d’au moins un critère de sélection basé par exemple sur le respect d’au moins un paramètre de configuration, sur un temps de traitement et/ou une occupation mémoire. Dans certains modes de réalisation, la sélection peut tenir compte d’un score de confiance attribué à au moins une classe d’au moins une des répartitions (comme détaillé ci-dessus).
Comme indiqué ci-avant, dans certains modes de réalisation, le procédé peut comprendre une association d’un label textuel à au moins une des classes.
Cette association peut être optionnelle dans certains modes de réalisation. L’association d’un label à une classe peut comprendre une association de ce label à toutes les images reparties dans cette classe.
Cette labellisation peut par exemple être effectuée par un utilisateur via une interface homme machine dudit dispositif 200.
Dans certains modes de réalisation, le procédé peut comprendre, préalablement à l’analyse, une obtention d’au moins une donnée de configuration, utilisée pour définir une valeur d’au moins un paramètre utile au procédé de la présente demande. Il peut s’agir par exemple d’au moins une donnée de configuration accessible via au moins un fichier de configuration, ou d’au moins une donnée de configuration obtenue via une interface utilisateur (ou reçu d’un dispositif tiers). De tels paramètres peuvent, dans certains modes de réalisation, avoir des valeurs par défaut, accessibles via à un moyen de stockage du dispositif par exemple, ou être calculés automatiquement par le procédé de la présente demande. Cette étape peut être optionnelle dans certains modes de réalisation.
Bien évidemment les données de configuration peuvent varier selon les modes de réalisation. Par exemple, dans certains modes de réalisation, il peut être obtenu au moins une donnée de configuration parmi les données suivantes :
  • un nombre minimum de clusters souhaités (par exemple de l’ordre de 5 à d’une dizaine de clusters) ;
  • un nombre de clusters souhaités (par exemple de l’ordre d’une dizaine à quelques dizaines de clusters, comme 12, 20 etc.. ) ;
  • un nombre maximum de clusters souhaités (par exemple de l’ordre d’une centaine de clusters, comme 100) ;
  • un nombre fixe, maximal, minimum et/ou moyen de blocs découpant une image (comme exposé plus en détail plus loin), par exemple un nombre de blocs de l’ordre d’une ou de quelques centaines de blocs (comme 99),
  • une indication relative à un traitement à effectuer . Il peut s’agir par exemple d’un booléen précisant si un filtrage portant sur des mots « vides » (pour leur suppression) doit être effectué ou non ;
  • Un nombre minimum et/ou maximum d’occurrences d’items visuels sur lesquels baser des répartitions candidates ;
  • Une indication relative à l’analyse et la répartition à effectuer (sélection d’une analyse/répartition basée sur un nombre d’occurrence d’items, sélection d’une analyse/répartition basée sur une présence de patrons , ou sélection des deux analyse/répartition (comme illustré en ))
  • Un score minimum de confiance à respecter (par exemple un coefficient minimum de 0.9 lorsque les scores vont de 0 à 1)
Comme exposé plus avant, certaines de ces données de configuration ( par exemple le nombre de classes dans lesquelles répartir les images, ou le nombre maximum de telles classes quand le nombre exact est défini automatiquement par le procédé de la présente demande) peuvent être optionnelles dans certains modes de réalisation. Ces paramètres de configuration peuvent intervenir par exemple, en tant que critère(s) à respecter par une répartition candidate lors de la sélection d’une répartition.
On présente à présent en lien la et à titre d’exemple des échanges de flux entre certains des dispositifs du système 100 pour la mise en œuvre du procédé de la présente demande, pour une application à un apprentissage d’un réseau de neurones.
Dans l’exemple illustré, le procédé peut par exemple s’exécuter sur le dispositif 200. Le dispositif 200 reçoit 720 des images d’un autre dispositif 710 (par exemple l’un des terminaux du système 100), qu’il traite 300 comme décrit en lien ci-avant avec les figures 3 à 6 pour répartir ces images en classes. Des informations représentatives de cette répartition peuvent être fournies 721 au dispositif 710. De telles informations représentatives peuvent par exemple comprendre un au moins des éléments suivants : un nombre de classes, des identifiants et/ou des libellés des classes, un nombre ou un pourcentage d’images pour au moins une classe, des listes d’images (ou d’identifiants d’image) par classe, de listes de structures de données associant chacune un identifiant d’image à une classe, des images associées à une métadonnée indiquant leur classe, etc.
Le dispositif 710 peut par exemple nommer les classes à sa guise 722 et associer à chaque image répartie sa classe (de façon à constituer ainsi une base d’images annotées par leur classe). Le dispositif 710 peut fournir 723 ces images annotées à un dispositif 711 du système 100, en tant que jeu de données d’apprentissage pour un modèle d’intelligence artificielle 712. Le dispositif 711 peut ensuite réaliser 724 l’apprentissage du modèle 712 grâce aux images annotées reçues. Dans certains modes de réalisation, les paramètres du modèle appris peuvent être fournis 725 au dispositif 710, qui peut ensuite utiliser (inférer) 726 le modèle appris sur d’autres images, pour les classifier.

Claims (14)

  1. Procédé de classification d’images mis en œuvre dans un dispositif électronique 200 et comprenant :
    • une obtention 310 d’images comprenant une pluralité d’items visuels ;
    • une répartition 340, 341, 342 des images en une pluralité de classes, en fonction d’au moins une occurrence, dans lesdites images, d’items visuels extraits desdites images.
  2. Procédé selon la revendication 1 dans lequel lesdits items visuels sont des mots, des groupes de mots et/ou des objets graphiques desdites images.
  3. Procédé selon la revendication 2 où le procédé comprend un remplacement d’au moins un premier mot, parmi lesdits items visuels, par au moins un second mot.
  4. Procédé selon l’une des revendications 1 à 3 dans lequel ledit procédé comprend une obtention des positions desdits items visuels extraits dans ladite pluralité d’images.
  5. Procédé selon l’une des revendications 2 à 4 où lesdits items visuels sont des mots et/ou des groupes de mots et où ledit procédé comprend, pour une image analysée de ladite pluralité d’images, une association à ladite image analysée des nombres d’occurrence des items visuels distincts extraits de ladite image analysée.
  6. Procédé selon la revendication 5 dans lequel ledit procédé comprend une suppression, dans lesdits items visuels distincts associés à ladite image analysée, d’au moins un mot vide.
  7. Procédé selon l’une des revendications 5 ou 6 dans lequel ledit procédé comprend une suppression, dans lesdits items visuels distincts associés aux images analysées de ladite pluralité d’images, des items visuels associés à un nombre d’images supérieur à un nombre X de classes souhaité.
  8. Procédé selon l’une des revendications 5 à 7 dans lequel ledit procédé comprend :
    • un regroupement des items visuels distincts de ladite image analysée en tenant compte des différentes valeurs desdits nombres d’occurrence d’items visuels distincts dans ladite image analysée ;
    • une obtention d’au moins une répartition candidate pour une valeur candidate des différents nombres d’occurrence, en tenant compte d’ items visuels distincts communs à au moins deux images analysées regroupés pour ladite valeur candidate.
  9. Procédé selon la revendication 4 où ladite répartition tient compte de patrons relatifs aux positions desdits items visuels dans lesdites images de ladite pluralité d’images et présents dans au moins deux images analysées de ladite pluralité d’images.
  10. Procédé selon la revendication 9 où ledit procédé comprend :
    • une détection d’au moins un patron dans des images analysées de ladite pluralité d’images ;
    • une association, dudit patron détecté aux images analysées de ladite pluralité d’images dans lesquelles une occurrence dudit patron a été détecté ;
    • une obtention d’au moins une répartition candidate desdites images analysées en tenant compte d’au moins une occurrence d’au moins un patron associé à au moins deux desdites images analysées.
  11. Procédé selon la revendication la revendication 9 ou 10 où ladite répartition tient compte des positions desdits patrons dans lesdites images analysées.
  12. Procédé selon au moins une des revendications 8 à 11 dans lequel ledit procédé comprend une affectation d’un score de confiance à une classe, en tenant compte d’une occurrence d’au moins un item visuel et/ou d’au moins un patron associé à au moins une image de ladite classe, dans au moins une autre image d’au moins une autre classe.
  13. Procédé selon l’une des revendication 8 à 12 dans lequel ledit procédé comprend une obtention d’au moins deux répartitions candidates et où ladite répartition est choisie, parmi lesdites répartitions candidates, en tenant compte d’un nombre X de classes souhaité et/ou du score de confiance affecté à au moins une des classes desdites répartitions candidates.
  14. Procédé selon l’une des revendications 1 à 13 comprenant une modification d’au moins une desdites images obtenues avant une analyse desdites images.
FR2206563A 2022-06-29 2022-06-29 Procédé de classification d’images, dispositif électronique et produit programme d’ordinateur correspondant Pending FR3136880A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2206563A FR3136880A1 (fr) 2022-06-29 2022-06-29 Procédé de classification d’images, dispositif électronique et produit programme d’ordinateur correspondant
PCT/EP2023/067297 WO2024002959A1 (fr) 2022-06-29 2023-06-26 Procédé de classification d'images, dispositif électronique et produit programme d'ordinateur correspondant

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2206563A FR3136880A1 (fr) 2022-06-29 2022-06-29 Procédé de classification d’images, dispositif électronique et produit programme d’ordinateur correspondant
FR2206563 2022-06-29

Publications (1)

Publication Number Publication Date
FR3136880A1 true FR3136880A1 (fr) 2023-12-22

Family

ID=83188946

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2206563A Pending FR3136880A1 (fr) 2022-06-29 2022-06-29 Procédé de classification d’images, dispositif électronique et produit programme d’ordinateur correspondant

Country Status (2)

Country Link
FR (1) FR3136880A1 (fr)
WO (1) WO2024002959A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100166309A1 (en) * 2004-10-01 2010-07-01 Ricoh Co., Ltd. System And Methods For Creation And Use Of A Mixed Media Environment
US8724907B1 (en) * 2012-03-28 2014-05-13 Emc Corporation Method and system for using OCR data for grouping and classifying documents
US9069768B1 (en) * 2012-03-28 2015-06-30 Emc Corporation Method and system for creating subgroups of documents using optical character recognition data
US10872236B1 (en) * 2018-09-28 2020-12-22 Amazon Technologies, Inc. Layout-agnostic clustering-based classification of document keys and values

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100166309A1 (en) * 2004-10-01 2010-07-01 Ricoh Co., Ltd. System And Methods For Creation And Use Of A Mixed Media Environment
US8724907B1 (en) * 2012-03-28 2014-05-13 Emc Corporation Method and system for using OCR data for grouping and classifying documents
US9069768B1 (en) * 2012-03-28 2015-06-30 Emc Corporation Method and system for creating subgroups of documents using optical character recognition data
US10872236B1 (en) * 2018-09-28 2020-12-22 Amazon Technologies, Inc. Layout-agnostic clustering-based classification of document keys and values

Also Published As

Publication number Publication date
WO2024002959A1 (fr) 2024-01-04

Similar Documents

Publication Publication Date Title
US9349077B2 (en) Computer-implemented method, a computer program product and a computer system for image processing
US10621755B1 (en) Image file compression using dummy data for non-salient portions of images
JP5050075B2 (ja) 画像判別方法
US9171013B2 (en) System and method for providing objectified image renderings using recognition information from images
US7519200B2 (en) System and method for enabling the use of captured images through recognition
US11748401B2 (en) Generating congruous metadata for multimedia
US9558401B2 (en) Scanbox
US20100211551A1 (en) Method, system, and computer readable recording medium for filtering obscene contents
AU2008264197A1 (en) Image selection method
JP2019520662A (ja) 商標画像のコンテンツ・ベースの検索及び取得
WO2007129474A1 (fr) dispositif de reconnaissance d'objet, programme de reconnaissance d'objet et procédé d'obtention d'un service de recherche d'image
Rabbath et al. Analysing facebook features to support event detection for photo-based facebook applications
US9081801B2 (en) Metadata supersets for matching images
KR20220039578A (ko) 사용자 선택 의류를 기반으로 의류 추천 정보를 제공하는 방법, 이를 이용하는 서버 및 프로그램
Kuzovkin et al. Image selection in photo albums
FR3136880A1 (fr) Procédé de classification d’images, dispositif électronique et produit programme d’ordinateur correspondant
JP4995770B2 (ja) 画像辞書生成装置,画像辞書生成方法,および画像辞書生成プログラム
Ceroni Personal photo management and preservation
US11989209B2 (en) Electronic device, and computer-readable storage medium
Dong et al. Research on fast face retrieval optimization algorithm based on fuzzy clustering
Ricker et al. AI-Generated Faces in the Real World: A Large-Scale Case Study of Twitter Profile Images
WO2016016539A1 (fr) Procede, systeme et plateforme de constitution et d'exploitation d'une base de donnees multimedia
FR3103936A1 (fr) Traitement multidimensionnel de questions-réponses de production participative à partir d’ontologies
FR3080930A1 (fr) Systeme informatique de base de donnees
WO2014114877A1 (fr) Procédé de gestion de documents capturés sur un équipement mobile, et équipement apte à mettre en oeuvre le procédé

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20231222