WO2024002959A1 - 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
WO2024002959A1
WO2024002959A1 PCT/EP2023/067297 EP2023067297W WO2024002959A1 WO 2024002959 A1 WO2024002959 A1 WO 2024002959A1 EP 2023067297 W EP2023067297 W EP 2023067297W WO 2024002959 A1 WO2024002959 A1 WO 2024002959A1
Authority
WO
WIPO (PCT)
Prior art keywords
images
visual items
classes
analyzed
image
Prior art date
Application number
PCT/EP2023/067297
Other languages
English (en)
Inventor
Jean-François LETELLIER
Tiphaine Marie
Original Assignee
Orange
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 filed Critical Orange
Publication of WO2024002959A1 publication Critical patent/WO2024002959A1/fr

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

Definitions

  • the present application relates to the field of classification (or categorization) of digital elements comprising a representation of information viewable on a screen of an electronic device, such as digital documents. These elements will also be called more simply “images” below.
  • the present application relates in particular to a method for classifying such images by an electronic device, as well as an electronic device, a computer program product and a corresponding recording (or information) medium.
  • image classification techniques Many technical fields implement image classification techniques. Certain artificial intelligence techniques, such as so-called “machine learning” techniques, require a set of training data, provided as examples of classified data, to train a classification model. These techniques sometimes need to have a large training dataset to obtain a relevant model. This is often the case for image classification techniques based on neural networks. Such techniques can, for example, require on the order of several thousand or millions of training data. For example, a widely used dataset like that of the challenge (ImageNet Large Scale Visual Recognition Challenge (ILSVRC 2012-2017), includes more than a million training images.
  • ILSVRC 2012-2017 ImageNet Large Scale Visual Recognition Challenge
  • the purpose of this application is to propose improvements to at least some of the disadvantages of the state of the art.
  • the present application aims to improve the situation using an image classification method implemented in an electronic device comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least one occurrence, in said images, of visual items extracted from said images.
  • the present application relates to an image classification method implemented in an electronic device and comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least a number of occurrences, in said images, of visual items extracted from said images.
  • image we mean here, as explained above, a representation of information that can be consulted on a screen of an electronic device, such as digital documents.
  • said classes are identified during said distribution.
  • said method comprises labeling the identified classes.
  • said labeling is carried out automatically.
  • said images distributed into said plurality of classes are used to train a neural network to classify other images according to said plurality of classes.
  • said method is implemented locally to said electronic device.
  • said images are obtained via a software probe and/or a scanning device.
  • said images comprise at least one digital document accessible to said device.
  • said visual items are words, groups of words and/or graphic objects of said images.
  • the method comprises replacing at least one first word, among said visual items, by at least one second word.
  • said at least one second word is a generic word or group of words describing a type of said first word.
  • said method comprises obtaining the positions of said visual items extracted in said plurality of images.
  • said visual items are words and/or groups of words and said method comprises, for an analyzed image of said plurality of images, an association with said analyzed image of the numbers of occurrence of the items distinct visuals extracted from said analyzed image.
  • said method comprises a deletion, in said distinct visual items associated with said analyzed image, of at least one stop word.
  • said method comprises a deletion, in said distinct visual items associated with the analyzed images of said plurality of images, of the visual items associated with a number of images greater than a desired number of classes.
  • said method comprises: a grouping of distinct visual items of said analyzed image taking into account the different values of said numbers of occurrence of distinct visual items in said analyzed image; obtaining at least one candidate distribution of said images for a candidate value of the different occurrence numbers, taking into account distinct visual items common to at least two analyzed images grouped for said candidate value.
  • said distribution takes into account patterns, relating to the positions of said visual items in said images of said plurality of images, and present in at least two analyzed images of said plurality of images.
  • said method comprises: detection of at least one pattern in analyzed images of said plurality of images; an association of said detected pattern to the analyzed images of said plurality of images in which an occurrence of said pattern has been detected; obtaining at least one candidate distribution of said analyzed images taking into account at least one occurrence of at least one pattern associated with at least two of said analyzed images.
  • said distribution takes into account the positions of said patterns in said analyzed images.
  • said method comprises an assignment of a confidence score to a class, taking into account the presence of at least one visual item associated with at least one image of said class, in at least another image of at least one other class.
  • said method comprises obtaining at least two candidate distributions and said distribution is chosen, from said candidate distributions, taking into account a desired number of classes and/or the confidence score assigned to at least one of the classes of said candidate distributions.
  • said method comprises a modification of at least one of said images obtained before an analysis of said images.
  • the method comprises an association of a textual label with at least one of said classes.
  • the method comprises a rendering of at least one of said images and said label associated with the class of said rendered image is obtained from a user interface of said device.
  • the present application also relates to an electronic device adapted to implement the method of the present application in any of its embodiments.
  • the present application thus concerns an electronic device comprising at least one processor configured for image classification comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least one occurrence, in said images, of visual items extracted from said images.
  • the present application also relates to an electronic device comprising at least one processor configured for image classification comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least a number of occurrences, in said images, of visual items extracted from said images.
  • the present application also relates to a computer program comprising instructions for implementing the various embodiments of the above method, when the program is executed by a processor and a recording medium readable by an electronic device and on which Computer programs are saved.
  • the present application thus relates to a computer program comprising instructions for the implementation, when the program is executed by a processor of an electronic device, of an image classification method comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least one occurrence, in said images, of visual items extracted from said images.
  • the present application also relates to a computer program comprising instructions for the implementation, when the program is executed by a processor of an electronic device, of an image classification method comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least a number of occurrences, in said images, of visual items extracted from said images.
  • the present application also relates to a recording medium (or information medium) readable by a processor of an electronic device and on which is recorded a computer program comprising instructions for implementation, when the program is executed by the processor, of an image classification method comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least one occurrence, in said images, of visual items extracted from said images.
  • the present application also relates to a recording medium readable by a processor of an electronic device and on which is recorded a computer program comprising instructions for the implementation, when the program is executed by the processor, an image classification method comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least a number of occurrences, in said images, of visual items extracted from said images.
  • the programs mentioned above may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in n any other desirable shape.
  • the information carriers (or recording media) mentioned above can be any entity or device capable of storing the program.
  • a medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means.
  • a storage means can for example be a hard disk, flash memory, etc.
  • an information carrier may be a transmissible medium such as an electrical or optical signal, which may be carried via an electrical or optical cable, by radio or by other means.
  • a program according to the invention can in particular be downloaded onto an Internet-type network.
  • an information carrier may be an integrated circuit in which a program is incorporated, the circuit being adapted to execute or to be used in the execution of any one of the embodiments of the method which is the subject of this application. patent.
  • FIG. 1 presents a simplified view of a system, cited by way of example, in which at least certain embodiments of the method of the present application can be implemented,
  • FIG 2 presents a simplified view of a device adapted to implement at least certain embodiments of the method of the present application
  • FIG 3 presents an overview of the method of the present application, in at least some of its embodiments
  • FIG 4 presents in more detail certain treatments of the method of the present application, in certain embodiments compatible with the embodiments illustrated in Figure 3;
  • FIG 5 presents in more detail certain treatments of the method of the present application, in certain embodiments compatible with the embodiments illustrated in Figure 3;
  • FIG 6 presents in more detail certain treatments of the method of the present application, in certain embodiments compatible with the embodiments of Figures 4 and 5;
  • FIG 7 presents, schematically and briefly, flow exchanges between some of the devices of the system 100 for the implementation of the method of the present application, in at least some of its embodiments
  • FIG 8 presents an example of patterns used in the context of the embodiments illustrated in Figure 5.
  • the present application proposes automatic (or at least partially automatic) classification of images. More precisely, the present application proposes in at least certain embodiments to use automatic image analysis techniques to obtain, from these images, data characterizing elements represented by these images. These elements are for example textual elements such as words or groups of words, or graphic objects occupying a portion of an image. This data will then be used to divide the images into different classes, or categories (also called “clusters” according to English terminology).
  • the method of the present application in at least some of its embodiments, can help to easily label (in other words annotate) a game of images of large size, for example by assigning one or more same labels to all the images of a class (or category).
  • These labeled images can, for example, then be used as training data, as part of supervised learning (for example for training a neural network intended to classify other images during its inference).
  • This automatic classification facilitates the labeling of images, it can also help, in at least certain embodiments of the method of the present application, to make the classes of a neural network evolve over time ( by successive learning, on variable data sets).
  • Automatic image classification can also make it possible to automatically label images, without intervention by an operator (for example by automatically assigning labels to classes (such as successive numbers) (and possibly subsequently offering the possibility to an operator to modify the labels of the classes as one wishes).
  • an automatic classification of images can therefore offer, at least in certain embodiments, advantages in terms of confidentiality of the images (which can for example correspond to data personal data of an individual or group of individuals), and/or speed of processing.
  • Such automatic classification can also help to avoid, or at least limit, entry errors, and simplify the choices of allocation of a class (or category) to an image, in cases of distribution according to fairly complex criteria, or when the number of classes (or clusters) is high (for example of the order of a few dozen classes).
  • Automatic classification of images when they correspond to captures or scans of administrative documents, can also offer advantages in terms of reliability, speed and/or confidentiality, for archiving.
  • electronic administrative documents for example, thanks to the method of the present application, in at least some of its embodiments, a user can scan a stack of documents and obtain, automatically, a distribution of these documents into classes (pay slips, bank statements , social security statements, etc.) which he only has to archive separately accordingly.
  • automatic classification of training data can also allow, in at least certain embodiments, learning (for example federated learning) of neural networks using, for learning a network of neurons for an inference on a device, self-labeled data local to this device, so as for example to meet obligations linked to the protection of personal data.
  • learning for example federated learning
  • the method of the present application can be implemented to classify various types of images. For example, as highlighted above, in certain embodiments it may involve digitization (or "scan" according to English terminology) of various types of digital documents: administrative documents (birth certificates, death notices, ...), commercial documents (invoice, delivery notes, purchase orders, etc.), receipts, etc. In certain embodiments, it may also involve a classification of images of products or objects (represented in the images) (for example with a view to producing an advertising catalog).
  • Figure 1 represents a telecommunications system 100 in which at least certain embodiments of the invention can be implemented.
  • the system 100 comprises one or more electronic devices, at least some of which can communicate with each other via one or more communication networks, possibly interconnected, such as a local network or LAN (for Local Area Network according to English terminology) and/or a network of extended type, or WAN (for Wide Area Network according to English terminology).
  • the network may include a corporate or home LAN network and/or a WAN network of the internet type, or cellular, GSM - Global System for Mobile Communications, UMTS - Universal Mobile Telecommunications System, Wifi - Wireless, etc.) .
  • the system 100 can also include several electronic devices, such as a terminal (such as a laptop 110, a smartphone 130, a tablet 120), a server 140, and a storage device 150, on which can for example be stored parameters of a neural network, such as parameters relating to its structure (for example a description of its different layers, the number and sizes of the matrices associated respectively with these layers, etc.) and the current values of the coefficients of the matrices associated with these layers.
  • the server 140 can for example use learning data, for example previously stored on the storage device or on another of the system devices, to refine the values of the coefficients of the neural network during an (optional) phase of learning (for example prior) of the neural network.
  • One of the terminals 110, 120, 130 can also obtain, from the storage device for example, the current parameters of the neural network (including the current values of the coefficients, possibly previously learned using the server or another terminal) and carry out “local” learning of the neural network to refine the values of the coefficients based, for example, on learning data specific to the terminal, such as data stored locally by the terminal or stored remotely but accessible to the terminal and relating to the terminal.
  • the current parameters of the neural network including the current values of the coefficients, possibly previously learned using the server or another terminal
  • “local” learning of the neural network to refine the values of the coefficients based, for example, on learning data specific to the terminal, such as data stored locally by the terminal or stored remotely but accessible to the terminal and relating to the terminal.
  • the learning data used by the server and/or the terminal may have been obtained by at least certain embodiments of the method of the present application.
  • the system may also include network management and/or interconnection elements (not shown). These electronic devices can be associated with at least one user 132 (for example through a user account accessible by login), some of the electronic devices 110, 130 can be associated with the same user 132.
  • the system can also include a database 160, such as a lexical base.
  • Figure 2 illustrates a simplified structure of an electronic device 200 of system 100, for example the device 110, 130 or 140 of Figure 1, adapted to implement the principles of the present application.
  • it may be a server and/or a terminal.
  • the device 200 notably comprises at least one memory M 210.
  • the device 200 may in particular comprise a buffer memory, a volatile memory, for example of the RAM type (for “Random Access Memory” according to English terminology), and/or a non-volatile memory. volatile (for example of the ROM type (for “Read Only Memory” according to English terminology).
  • the device 200 can also include a processing unit UT 220, equipped for example with at least one processor P 222, and controlled by a program computer program PG 212 stored in memory M 210. On initialization, the code instructions of the computer program PG are for example loaded into a RAM memory before being executed by the processor P.
  • the at least one processor P 222 of the processing unit UT 220 can in particular implement, individually or collectively, any of the embodiments of the method of the present application (described in particular in relation to Figure 3), according to the instructions of the PG computer program.
  • the device may also include, or be coupled to, at least one I/O input/output module 230, such as a communication module, allowing for example the device 200 to communicate with other devices of the system 100, via wired or wireless communication interfaces, and/or such as an interfacing module with a user of the device (also called more simply “user interface” in the present application.
  • I/O input/output module 230 such as a communication module, allowing for example the device 200 to communicate with other devices of the system 100, via wired or wireless communication interfaces, and/or such as an interfacing module with a user of the device (also called more simply “user interface” in the present application.
  • user interface of the device, we mean for example an interface integrated into the device 200, or part of a third-party device coupled to this device by wired or wireless communication means.
  • it may be a secondary screen of the device or a set of speakers connected by wireless technology to the device
  • a user interface may in particular be a user interface, called "output", adapted to a rendering (or to the control of a rendering) of an output element of a computer application used by the device 200, for example an application running at least partially on the device 200 or an “online” application running at least partially remotely, for example on the server 140 of the system 100.
  • output user interfaces of the device include one or more screens, in particular at least one graphic screen (touchscreen for example), one or more speakers, and/or a connected headset.
  • rendering we mean here a restitution (or “output” according to English terminology) on at least one user interface, in any form, for example comprising textual, audio and/or video components, or a combination of such components.
  • a user interface can be a so-called “entry” user interface.
  • » adapted to an acquisition of information coming from a user of the device 200. It may in particular be information intended for a computer application accessible via the device 200, for example an application executing at least partially on the device 200 or an "online" application running at least partially remotely, for example on the server 140 of the system 100.
  • Examples of input user interface of the device 200 include a sensor, a means of audio and/or video acquisition (microphone, camera (webcam) for example), a keyboard, a mouse.
  • the device may also include at least one software module (or software probe) adapted to capturing data entered or returned on the user interface of the device.
  • Said at least one microprocessor of the device 200 can in particular be adapted for image classification comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least one occurrence, in said images, of visual items extracted from said images.
  • Said at least one microprocessor of the device 200 can in particular be adapted for image classification comprising: obtaining images comprising a plurality of visual items; a distribution of the images into a plurality of classes, based on at least a number of occurrences, in said images, of visual items extracted from said images.
  • the above input-output modules are optional and may therefore be absent from the device 200 in certain embodiments.
  • the method can also be implemented locally by a device, for example using acquired elements as an input element. for example by software and/or hardware probes running on the device, to produce output elements stored locally on the device, or rendered via an output interface of the device.
  • the method can be implemented in a distributed manner between at least two devices 110, 120, 130, 140 and/or 150 of the system 100.
  • module or the term “component” or “element” of the device, we mean here a hardware element, in particular wired, or a software element, or a combination of at least one hardware element and at least one software element.
  • the method according to the invention can therefore be implemented in various ways, in particular in wired form and/or in software form.
  • Figure 3 illustrates certain embodiments of method 300 of the present application.
  • the method 300 can for example be implemented by the electronic device 200 illustrated in Figure 2.
  • the method 300 may include obtaining 310 a set (or batch) of images to be classified.
  • the method 300 may include obtaining 320 visual items extracted from the images obtained.
  • “item” is understood to mean visual » a word, a group of words or a graphic object.
  • This obtaining may include a search 322 for visual items in the images obtained (or alternatively access to at least one file associated with at least one of the images obtained and comprising visual items previously extracted from this image).
  • the research 322 can for example implement, in certain embodiments, techniques for analyzing images and/or detecting elements represented by these images, such as character recognition techniques (for example so-called techniques OCR (for “Optical Character Recognition” according to English terminology) leading to an extraction of word(s) from images). It may also be, for example, shape and/or object recognition techniques or/and image segmentation.
  • the method can also include a search 323 for at least one entity named in the words extracted by comparison with the elements of a lexical base for example (such as element 160 of system 100).
  • Such a search can for example include an execution of a service accessible to the device 200), for example a service from a software library (such as the “Allganize” ⁇ service), in charge of detecting, in a text (here in words extracted from an analyzed image) words considered by the service to be of a particular type (such as a name, a first name, an address, a telephone number, an organization);
  • the method may also include a replacement (for example via a service as introduced above), in this text, of words having one of these particular types by a generic word, or group of words, describing this type. particular (and subsequently called “named entity”).
  • named entities may include the terms “last name”, “first name”, “address”, “telephone number”, “organization”).
  • the group of words “Jean Dupont lives in Clermont-Ferrand” could become: “First name Last name lives in City”.
  • This search 323 for named entity(ies) may be optional in certain embodiments.
  • the method 300 may comprise, prior to a search (and extraction) of visual items from at least one image, a pre-processing 321 (or “preprocessing” according to English terminology) of at least one of the images obtained, for example to facilitate the extraction of visual items from the image.
  • a pre-processing 321 or “preprocessing” according to English terminology
  • Such a technique can be, according to a first example, a color transformation (for example a conversion) applied to at least one of the images obtained, to retain, in the transformed image, only colors corresponding to different levels of gray.
  • a transformation applied to at least one of the images obtained, to vary the contrasts within the image (for example to increase the contrasts) and/or to modify the brightness of the image. 'picture.
  • This pre-processing may be optional in certain embodiments.
  • the detection and/or extraction of visual items from the images obtained (and possibly pre-processed) can also make it possible, in certain embodiments, not only to identify visual items present in an image but also to obtain their positions in this image.
  • the method 300 can include an analysis 330 of the visual items obtained (for example the words and named entities extracted from the images), to distribute 340 the images into a plurality of classes (or “clusters” according to English terminology ) taking into account these visual items.
  • the analysis 330 and the distribution 340 based on this analysis, which are carried out may depend on the embodiments.
  • the analysis 331 (and therefore the distribution 341) can be based on a number of occurrences of visual items of word type or group of words extracted from the images analyzed.
  • the analysis 332 (and therefore the distribution 342) can be based on the presence of “patterns” in the analyzed images relating to the positions of certain visual items in the images.
  • Figure 4 thus illustrates in more detail an example of analysis 331 of images and associated visual items and distribution 341 of these images based on a number of occurrences of visual items in the images analyzed.
  • the analysis 331 of an image is based on the visual items obtained 320 (Fig. 3) from this image (and associated with this analyzed image). More precisely, the analysis 331 comprises, for at least one visual item associated with the analyzed image, a counting 3311 of the number of occurrences, in the analyzed image, of this visual item, that is to say of the number of times this visual item (word or named entity) appears in this image.
  • the analysis can also include a classification (or grouping) 3312 of the visual items associated with the image analyzed according to their number of occurrences (so as to gather for example together in a first group all the visual items appearing only 'only once in the analyzed image, then in a second group all the visual items appearing exactly twice in the analyzed image, etc.).
  • a classification or grouping 3312 of the visual items associated with the image analyzed according to their number of occurrences (so as to gather for example together in a first group all the visual items appearing only 'only once in the analyzed image, then in a second group all the visual items appearing exactly twice in the analyzed image, etc.).
  • ClaWordlmg[1] .. ClaWordlmg[n] obtained respectively for an image among the plurality of images h .. I n analyzed: ⁇
  • the analysis may include filtering 3313 of some of the visual items associated with an image.
  • this filtering can for example include a deletion of visual item(s) useless for the classification of images.
  • the method may include a deletion of at least one stop word (also called “stopword” (or “stop word”) according to English terminology), or sometimes "transition word”, “stop word”, “linking word” or “portmanteau word”) (such as an article, or a linking word), the method can also include, in certain embodiments, a deletion of items appearing in a high number of images.
  • the classification of images is subsequently carried out according to the visual items extracted from the images, a visual item present in a number of images greater than a desired number of classes in the distribution would in fact be of little use in distinguishing images for their distribution.
  • the visual items associated with a number of images close to the number of images to be classified can be deleted in certain embodiments.
  • certain elements such as a logo or certain words (for example "Payroll” or "Invoice” in the case of a type of administrative document), were often present a small number of times in an image. while being characteristic of a type of images.
  • certain embodiments such as the detailed embodiments, can favor low numbers of occurrences and delete items associated for example with a number of occurrences greater than a first number of occurrences (used as a high threshold by example).
  • this filtering can be carried out at least partially before and/or after the grouping by number of occurrences.
  • the filtering of unnecessary words can for example be carried out before grouping visual items according to their number of occurrences, to help gain processing efficiency for example during this grouping.
  • Filtering may be optional in some embodiments (e.g., it may or may not be enabled via a configuration setting).
  • the method may include obtaining a candidate distribution for at least one value k of the number of occurrences of visual items. Depending on the embodiments, it may be a value of “k” specific to each image analyzed or common to all the images analyzed.
  • the method may include a search 3411 for items common to several images corresponding to a given number k of occurrences, which makes it possible to group these images into “x” clusters (where x is the number of classes desired).
  • the pseudo-code below thus represents examples of classes (or clusters) obtained for the plurality of images h.. I n analyzed, in conjunction with the examples of pseudo-code previously introduced.
  • association and identification steps can be carried out for several occurrence values k of certain images, for example until finding a number of classes corresponding to the number x of desired classes.
  • candidate distributions can be obtained for successive, increasingly larger values of the number of occurrences, until a desired number of classes is obtained or until a number of occurrences corresponding to the number of occurrences associated with all of the images (i.e. the minimum value, over all of the images analyzed, of the greatest number of occurrences associated with each of these images).
  • the identification of classes can take into account for example a minimum or maximum number or percentage of images per class, so as to obtain relatively homogeneous classes, and/or a number x of classes desired for example, as explained above.
  • the desired number of classes may not be fixed, a minimum and/or maximum number of occurrences to be used for the different images may for example be defined. Different occurrence values can for example be tested to achieve a classification of all the images respecting this minimum and/or maximum number of occurrences.
  • the choice of a distribution, among the candidate distribution(s), can take into account a level of confidence associated with the distribution (or at least one class of the distribution).
  • the chosen distribution may be the first candidate distribution obtained associated with a confidence level greater than a first value (this first value may be a configuration parameter or be deduced from such a parameter).
  • this first value may be a configuration parameter or be deduced from such a parameter.
  • candidate distributions can be searched for all the numbers of occurrences less than or equal to the largest number of occurrences common to all the images, the method then comprising a selection of the candidate distribution having the best trust score.
  • the method may include assigning a confidence score to at least one class (for example to each class) of at least one of the candidate distributions.
  • This attribution may be optional in certain embodiments.
  • a confidence level can be assigned to each item associated with a class, this confidence level being for example calculated taking into account the number of classes in which the item is present. More precisely, the confidence level of an item in a class can be calculated in certain embodiments as a ratio between the number of images belonging to this class where this item appears, and the total number of images (in all classes) where the visual item is present.
  • a confidence score, at the level of the class considered, can for example be calculated by taking into account the respective confidence levels of the items in the class.
  • the calculation of the cluster confidence score can be based on the average of the confidence levels of the items, on the standard deviation relating to these confidence levels, etc.
  • the score of a class can, in certain embodiments, take into account compliance with at least one criterion relating to the values of the confidence levels of the items associated with it. For example, a value of a confidence level, for one of the items of the class, lower than a first value (for example a “threshold” value) can degrade (for example decrease), or in other embodiments improve (for example increase), the class confidence score (via a multiplicative coefficient for example). Likewise, a value of a confidence level, for one of the items of the class, greater than a second value (for example a “threshold” value) can improve, or in other embodiments degrade the confidence score. of style.
  • a first value for example a “threshold” value
  • a second value for example a “threshold” value
  • an overall score can be assigned to a candidate distribution by taking into account the confidence scores of all the different classes of the distribution.
  • the method may further comprise a selection of a distribution (called chosen or selected), among the candidate distributions.
  • a selection criteria can for example take into account the overall score obtained for a candidate distribution.
  • Another example of a selection criterion can for example be compliance with at least one configuration parameter as detailed below.
  • Figure 5 thus illustrates in more detail an example of analysis 332 and distribution 342 based on the presence of patterns in the analyzed images, and optionally on the positions of these patterns in the analyzed images.
  • the method may include a search 324 for at least one pattern, or pattern ("pattern" according to the English terminology), in terms of occupation of blocks by particular visual items, within an image or between the images analyzed, ie a repetition of an occupation of one or more blocks by one or more first items visuals within the same image (intra-image pattern) or between at least two analyzed images (inter-image pattern).
  • pattern for at least one pattern, or pattern ("pattern" according to the English terminology), in terms of occupation of blocks by particular visual items, within an image or between the images analyzed, ie a repetition of an occupation of one or more blocks by one or more first items visuals within the same image (intra-image pattern) or between at least two analyzed images (inter-image pattern).
  • pattern for at least one pattern, or pattern ("pattern" according to the English terminology), in terms of occupation of blocks by particular visual items, within an image or between the images analyzed, ie a repetition of an occupation of one or more blocks by one or more first items visuals within the same image (intr
  • a fixed pattern corresponds to a repetition (possibly with a scaling factor, such as a multiplicative coefficient, in certain embodiments), in at least m analyzed images (with m integer greater than or equal to 2, definable for example by configuration), of a set of occupied block(s) of the same position(s) ) relative(s) (the same “offsets” according to English terminology), relative to a reference position (for example an original position (0;0)), fixed between these at least two images.
  • a fixed pattern can correspond to a repetition of an identical set of occupied blocks with the same indices in several images.
  • the visual items of a pattern are identical between repetitions of the pattern.
  • a pattern can correspond to a repetition of the sequence of visual items of 3 entities named as last name, first name, time, distributed over 3 consecutive blocks.
  • Figure 8 thus illustrates three images 810, 820, 830 of which certain blocks (hatched) are occupied by visual items.
  • the groups of occupied blocks 811, 812, 813 present on several images correspond to (fixed) patterns. These patterns can have various shapes, more or less complex, as illustrated by element 831 of image 830 (this element is not present in images 810 and 820 but is deemed to be present in the context of this example in at least one other image not shown).
  • a sliding pattern has a repetition (possibly with a scaling factor (such as a multiplicative coefficient) in certain embodiments), in at least two analyzed images, of a set corresponding to a set of occupied block(s). ) of the same relative positioning(s) (for example of the same offset), relative to a reference position, likely to vary within an image, or between different images.
  • a scaling factor such as a multiplicative coefficient
  • the method can search only for fixed patterns or search for fixed patterns and floating patterns, or be limited to fixed patterns and floating patterns, whose position, although variable, is located in a certain portion of image (e.g. right side of images, center or left side,).
  • a pattern can be of different types.
  • a pattern may include at least one word, at least one named entity and/or at least one graphic object (for example a logo).
  • the search for at least one pattern can thus take into account a repeated proximity between at least one named entity and at least one word, and/or a proximity between at least two named entities , and/or proximity between at least two words.
  • the method may include an analysis 332 of at least some of the images obtained 310, from the patterns (fixed and/or floating) detected during the above search.
  • the method may include a search 324 for the presence of at least one pattern in an image and (optionally) an association 3321 to the patterns present in this image of their position(s) in this picture.
  • a first pattern P1 present several times in the image, will be associated with its positions (pos 11, pos 12, pos 13) in this image
  • a second pattern P2 present only once in the analyzed image, will be associated with its unique position pos21 in the image.
  • a filtering 3322 can be carried out on the patterns associated with an image (for example a deletion of stop words can be implemented before the detection of patterns)
  • the method can include a search 3421 for patterns common to several images and possibly their positions in these images (to detect a possible recurrence of their positions over the images).
  • the 3422 identifications of patterns by each analyzed image can be used to divide 342 the images into classes.
  • the method can include obtaining a candidate distribution into “x” classes of images, each identified class then being associated with a particular combination of patterns.
  • the combination of patterns associated with a class can take into account in certain embodiments a proximity relationship between the positions of several patterns in the different images. For example, in certain embodiments, a proximity between absolute positions of at least two patterns in each of the at least two images where they are present, or relative positions of at least two patterns can be taken into account. , in the images where they are present respectively, in relation to another element also present in these images (for example another pattern present in these at least 2 images). For example, we can take into account a recurrence of such proximity between several images, as illustrated by blocks 811, 812, 813 of images 810, 820, 830 in Figure 8, to group the images.
  • this identification of classes can take into account for example a number or a percentage, minimum or maximum of images per class, so as to obtain relatively homogeneous classes. (in terms of number of elements), of a desired number x of classes for example.
  • the method can include an assignment of a confidence level to a pattern (for example as a ratio between the number of images of the class where an occurrence of the pattern is present and the total number of images analyzed where an occurrence of this pattern is present), and an assignment of a confidence score to a class and/ or distribution.
  • a confidence level for example as a ratio between the number of images of the class where an occurrence of the pattern is present and the total number of images analyzed where an occurrence of this pattern is present
  • the two analyzes 331, 332 detailed above can be carried out sequentially and/or in parallel (as illustrated in Figure 6), the method then comprising a selection 342 of at least one of the distributions obtained.
  • This selection can take into account for example at least one selection criterion based for example on compliance with at least one configuration parameter, on a processing time and/or memory occupation.
  • the selection may take into account a confidence score assigned to at least one class of at least one of the distributions (as detailed above).
  • the method may include an association of a textual label with at least one of the classes. This association may be optional in certain embodiments.
  • the association of a label with a class can include an association of this label with all the images distributed in this class.
  • This labeling can for example be carried out by a user via a man-machine interface of said device 200.
  • the method may comprise, prior to the analysis, obtaining at least one configuration data, used to define a value of at least one parameter useful for the method of the present application. It may for example be at least one configuration data accessible via at least one configuration file, or at least one configuration data obtained via a user interface (or received from a third-party device). Such parameters can, in certain embodiments, have default values, accessible via a storage means of the device for example, or be calculated automatically by the method of the present application. This step may be optional in certain embodiments.
  • At least one configuration data can be obtained from the following data: a minimum number of desired clusters (for example of the order of 5 to around ten clusters); a number of desired clusters (for example of the order of ten to several dozen clusters, such as 12, 20, etc.); a maximum number of desired dusters (for example of the order of a hundred clusters, such as 100); a fixed, maximum, minimum and/or average number of blocks cutting up an image (as explained in more detail later), for example a number of blocks of the order of one or a few hundred blocks (like 99),
  • a minimum confidence score to respect for example a minimum coefficient of 0.9 when the scores go from 0 to 1.
  • this configuration data may be optional in certain embodiments.
  • These configuration parameters can be used, for example, as criterion(s) to be respected by a candidate distribution when selecting a distribution.
  • the method can for example be executed on the device 200.
  • the device 200 receives 720 images from another device 710 (for example one of the terminals of the system 100), which it processes 300 as described in connection above with Figures 3 to 6 to divide these images into classes. Information representative of this distribution can be provided 721 to the device 710.
  • Such representative information can for example include at least one of the following elements: a number of classes, identifiers and/or labels of the classes, a number or a percentage of images for at least one class, lists of images (or image identifiers) by class, lists of data structures each associating an image identifier with a class, images associated with metadata indicating their class, etc.
  • the device 710 can, for example, name the classes as it wishes 722 and associate its class with each distributed image (so as to thus constitute a base of images annotated by their class).
  • the device 710 can provide 723 these annotated images to a device 711 of the system 100, as a training dataset for an artificial intelligence model 712.
  • the device 711 can then carry out 724 the training of the model 712 using the annotated images received.
  • the parameters of the learned model may be provided 725 to the device 710, which may then use (infer) 726 the learned model on other images, to classify them.

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

L'invention concerne un procédé de classification d'images mis en œuvre dans un dispositif électronique et comportant: une obtention d'images comprenant une pluralité d'items visuels; une répartition des images en une pluralité de classes, en fonction au moins d'un nombre d'occurrence, dans les images, d'items visuels extraits des images.

Description

DESCRIPTION
Titre de l'invention : 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 de telles images par un dispositif électronique, ainsi qu’un dispositif électronique, un produit programme d’ordinateur et un support d’enregistrement (ou d’informations) 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é comme celui du challenge (ImageNet Large Scale Visual Recognition Challenge (ILSVRC 2012-2017), 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 exemple, la présente demande 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 au moins d’un nombre d’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 classes sont identifiées lors de ladite répartition.
Selon au moins un mode de réalisation, ledit procédé comprend une labellisation des classes identifiées.
Selon au moins un mode de réalisation, ladite labellisation est effectuée de façon automatique.
Selon au moins un mode de réalisation, lesdites images réparties en ladite pluralité de classes sont utilisées pour entraîner un réseau de neurones à classifier d’autres images selon ladite pluralité de classes.
Selon au moins un mode de réalisation, ledit procédé est mis en œuvre de façon locale audit dispositif électronique.
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. Seton 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 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 desdites images 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 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.
Par exemple, la présente demande concerne aussi 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 au moins d’un nombre d’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 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 au moins d’un nombre d’occurrence, dans lesdites images, d’items visuels extraits desdites images.
Par exemple, la présente demande concerne aussi un support d’enregistrement (ou support d’informations) 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.
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 au moins d’un nombre d’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 (ou supports d’enregistrement) 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 [Fig 1] 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 [Fig 2] 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 [Fig 3] présente un aperçu du procédé de la présente demande, dans au moins certains de ses modes de réalisation ;
La [Fig 4] 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 figure 3 ;
La [Fig 5] 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 figure 3 ;
La [Fig 6] 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 [Fig 7] 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 [Fig 8] présente un exemple de patrons utilisés dans le cadre des modes de réalisation illustrés en figure 5.
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 /ou 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 figure 1 , de façon plus détaillée la présente demande.
La figure 1 représente un système de télécommunication 100 dans lequel au moins 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 (pour Local Area Network selon la terminologie anglaise) et/ou un réseau de type étendu, ou WAN (pour Wide Area Network selon la terminologie anglaise). 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 figure 1 , 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.
Les données d’apprentissage utilisées par le serveur et/ou le terminal peuvent avoir été obtenues par au moins certains modes de réalisation du procédé de la présente demande.
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 figure 2 illustre une structure simplifiée d’un dispositif électronique 200 du système 100, par exemple le dispositif 110, 130 ou 140 de la figure 1 , 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 des modes de réalisation du procédé de la présente demande (décrit notamment en relation avec la figure 3), 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 haut-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. 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 au moins d’un nombre d’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 sortie stockés localement sur le dispositif, ou rendus 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 figure 3 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 figure 2.
Comme illustré en figure 3, le procédé 300 peut comprendre une obtention 310 d’un ensemble (ou lot) d’images à classifier.
Comme illustré en figure 3, 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 de 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é peut é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 exemples d’entités nommées 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 leurs positions dans cette image.
Comme illustré en figure 3, 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, qui sont effectuées peuvent dépendre des modes de réalisation. Ainsi, selon certains modes de réalisation illustrés en figure 4, 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 figure 5, 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 figure 4 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 figure 4, l’analyse 331 d’une image se base sur les items visuels obtenus 320 (fig. 3) à 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 d’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
ClaWordlmg[1] .. ClaWordlmg[n] obtenus respectivement pour une image parmi la pluralité d’images h .. In analysées :
Figure imgf000016_0001
}
Comme le montre la figure 4, l’analyse peut comprendre un filtrage 3313 de certains des items visuels associés à une image. Dans l’exemple de la figure 4, ce filtrage peut par exemple comprendre une suppression d’item(s) visuel(s) inutile(s) à la classification des images. Par exemple, le procédé peut comprendre une suppression d’au moins un mot vide (aussi appelé « stopword » (ou « stop word ») selon la terminologie anglaise), ou parfois « mot de transition », « mot d’arrêt », « mot de liaison » ou « mot valise ») (tel qu’un article, ou un mot de liaison), le procédé peut aussi comprendre, dans certains modes de réalisation, une suppression des items apparaissant dans un nombre élevé d’images. La classification des images étant par la suite effectuée en fonction des items visuels extraits 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 h .. In analysées, les regroupements ClaWordlmg[1] .. ClaWordlmg[n] précédemment introduits une fois ceux-ci filtrés :
30
Figure imgf000017_0001
On voit que les items ‘word-ggg’ et ‘word-ddd’ ont par exemple été supprimés des regroupements ClaWordlmg[1] et ClaWordlmg[n], 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 figure 4, 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 (où 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 h .. In analysées, en liaison avec les exemples de pseudo-code précédemment introduits.
Figure imgf000018_0001
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 figure 4, 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é 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 figure 5 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 figure 8 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 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 correspondant à un ensemble de bloc(s) occupé(s) de mêmes posrtionnement(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 patrons 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 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 figure 4, 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 figure 5, le procédé peut comprendre une recherche 3421 de patrons communs à plusieurs images et éventuellement de leurs positions dans ces images (pour détecter une é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 figure 5, 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 de 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). Par exemple, on peut tenir compte d’une récurrence d’une telle proximité entre plusieurs images, comme illustré par les blocs 811 , 812, 813 des images 810, 820, 830 en figure 8, pour regrouper les images.
Comme dans les modes de réalisation illustrés en lien avec la figure 4, 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 figure 5, similairement à ce qui a été exposé en lien avec les modes de réalisation de la figure 4, 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 figure 6), 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 dusters souhaités (par exemple de l’ordre d’une centaine de clusters, comme 100) ; un nombre fixe, maximum, 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 figure 6))
• 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 figure 7 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 exempte 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

REVENDICATIONS
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 au moins d’un nombre d’occurrence, dans lesdites images, d’items visuels extraits desdites images.
2. Procédé selon la revendication 1 dans lequel lesdites classes sont identifiées lors de ladite répartition.
3. Procédé selon la revendication 2 comprenant une labellisation des classes identifiées. Procédé selon la revendication 3 dont lequel ladite labellisation est effectuée de façon automatique.
5. Procédé selon la revendication 1 à 4 dans lequel lesdites images réparties en ladite pluralité de classes sont utilisées pour entraîner un réseau de neurones à classifier d’autres images selon ladite pluralité de classes.
6. Procédé selon la revendication 1 à 4 dans lequel ledit procédé est mis en œuvre de façon locale audit dispositif électronique.
7. Procédé selon la revendication 1 à 6 dans lequel lesdits items visuels sont des mots, des groupes de mots et/ou des objets graphiques desdites images.
8. Procédé selon la revendication 7 où le procédé comprend un remplacement d’au moins un premier mot, parmi lesdits items visuels, par au moins un second mot.
9. Procédé selon l’une des revendications 1 à 8 dans lequel ledit procédé comprend une obtention des positions desdits items visuels extraits dans ladite pluralité d’images.
10. Procédé selon l’une des revendications 7 à 9 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.
11. Procédé selon la revendication 10 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.
12. Procédé selon l’une des revendications 10 ou 11 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 de classes souhaité.
13. Procédé selon l’une des revendications 10 à 12 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 desdites images 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.
14. Procédé selon la revendication 9 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.
15. Procédé selon la revendication 14 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 au moins d’un nombre d’occurrence d’au moins un patron associé à au moins deux desdites images analysées.
16. Procédé selon la revendication la revendication 14 ou 15 où ladite répartition tient compte des positions desdits patrons dans lesdites images analysées.
17. Procédé selon au moins une des revendications 13 à 16 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.
18. Procédé selon l’une des revendication 13 à 17 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 de classes souhaité et/ou du score de confiance affecté à au moins une des classes desdites répartitions candidates.
19. Procédé selon l’une des revendications 1 à 18 comprenant une modification d’au moins une desdites images obtenues avant une analyse desdites images.
20. 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 au moins d’un nombre d’occurrence, dans lesdites images, d’items visuels extraits desdites images.
21. 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 au moins d’un nombre d’occurrence, dans lesdites images, d’items visuels extraits desdites images.
22. 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 au moins d’un nombre d’occurrence, dans lesdites images, d’items visuels extraits desdites images.
PCT/EP2023/067297 2022-06-29 2023-06-26 Procédé de classification d'images, dispositif électronique et produit programme d'ordinateur correspondant WO2024002959A1 (fr)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2024002959A1 true WO2024002959A1 (fr) 2024-01-04

Family

ID=83188946

Family Applications (1)

Application Number Title Priority Date Filing Date
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

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
FR3136880A1 (fr) 2023-12-22

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
US9116924B2 (en) System and method for image selection using multivariate time series analysis
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
JP5351958B2 (ja) デジタルコンテンツ記録のための意味論的イベント検出
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
US20180336931A1 (en) Automatic and intelligent video sorting
Rabbath et al. Analysing facebook features to support event detection for photo-based facebook applications
US9081801B2 (en) Metadata supersets for matching images
Ceroni et al. Investigating human behaviors in selecting personal photos to preserve memories
WO2024002959A1 (fr) Procédé de classification d'images, dispositif électronique et produit programme d'ordinateur correspondant
FR3123748A1 (fr) Apprentissage automatique sans annotation ameliore par regroupements adaptatifs en ensemble ouvert de classes
Gavilan Ruiz et al. Image categorization using color blobs in a mobile environment
FR3099600A1 (fr) Méthode de jugement du degré de similarité entre deux systèmes techniques quelconques
Nallapati et al. Identification of Deepfakes using Strategic Models and Architectures
Ricker et al. AI-Generated Faces in the Real World: A Large-Scale Case Study of Twitter Profile Images
US20240153306A1 (en) Method for synthetic video/image detection
Yadav et al. Toward effective image forensics via a novel computationally efficient framework and a new image splice dataset
FR3103937A1 (fr) Identification et compréhension de questions pilotées par ordinateur dans un dossier d’appel d’offres commercial pour le traitement automatisé d’offres
FR3103936A1 (fr) Traitement multidimensionnel de questions-réponses de production participative à partir d’ontologies

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23735041

Country of ref document: EP

Kind code of ref document: A1