EP4189642A1 - Prediction of labels for digital images, especially medical ones, and supply of explanations associated with these labels - Google Patents
Prediction of labels for digital images, especially medical ones, and supply of explanations associated with these labelsInfo
- Publication number
- EP4189642A1 EP4189642A1 EP21752088.1A EP21752088A EP4189642A1 EP 4189642 A1 EP4189642 A1 EP 4189642A1 EP 21752088 A EP21752088 A EP 21752088A EP 4189642 A1 EP4189642 A1 EP 4189642A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- image
- classification
- labels
- neural network
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0012—Biomedical image inspection
- G06T7/0014—Biomedical image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30004—Biomedical image processing
- G06T2207/30096—Tumor; Lesion
Definitions
- the present invention relates to the prediction of labels, or labeling, to be associated with digital images. It applies in particular to the field of digital medical images in order to allow their use for automatic diagnosis or for aiding diagnosis. [0003] BACKGROUND OF THE INVENTION
- Such an approach can, for example, make it possible to automatically associate pathologies with medical images, taken from X-rays, scanners, tomographies, ultrasounds, MRI (Magnetic Resonance Imaging), etc.
- these automatic systems are based on multilayer neural networks (generally convolutional neural networks). These can be considered as "black boxes", i.e. after a learning phase, they are able to provide, in response to a digital image, a proposal for labels, or classes , without the user being able to understand how this proposal, or prediction, was established and on what basis. [0008] However, there is a need to be able to explain these predictions and to trace a causal chain between the inputs and the outputs of an automatic system based on artificial intelligence.
- An algorithmic decision is said to be explicable if it is possible to account for it explicitly from known data and characteristics of the situation. In other words, if it is possible to link the values taken by certain variables (characteristics) and their consequences on the forecast, for example of a score, and thus on the decision. [0016] An algorithmic decision is said to be interpretable if it is possible to identify the characteristics or variables which contribute the most to the decision, or even to quantify their importance.
- a first family of proposals is based on an a posteriori analysis of the influence of image pixels on the prediction made by the automatic image classification mechanism.
- this approach does not make it possible to precisely explain the detected influences.
- neural decision forests consisting of multiple neural decision trees. Although each neural decision tree is, to some extent, explainable, the fact that the final decision is based on a large number of decision trees still renders this final decision opaque.
- An object of the present invention is to provide a mechanism at least partially overcoming the aforementioned drawbacks.
- it aims to provide an automatic and explainable prediction of labels associated with a digital image.
- the present invention can be implemented by a method for the prediction of labels associated with a digital image, comprising a prediction phase consisting in supplying, in a first step, said image to a segmentation neural network configured to predict a classification of pixels of said image into a first set of classes; and, in a second step, providing said classification to a classification neural network, configured to predict a set of labels p(I) for said image from said pixel classification, except for a segment corresponding to a background of said image; said segmentation and classification neural networks being determined by a learning phase comprising, for each image of a learning set, - said first and second steps; - determining a location of said background of said image, from the classification of pixels - optimizing the weights of said neural networks, according to a set of cost functions configured to, by iteration, maximize the quality of said set of labels based on previously established labels associated with said image, and maximizing the probability of predicting no label for said background.
- the invention comprises one or more of the following characteristics which can be used separately or in partial combination with each other or in total combination with each other: - the determination of a location of the rear- plane of said image comprises determining an occluded image, from the pixel classification, corresponding to the background of the image, said occluded image being defined by defining a pixel of said image. - During the learning phase, an auxiliary classification neural network is trained in order to optimize the classification of said concealed image.
- said set of cost functions comprises a global cost function Lglobal which is expressed [Math.1] with - L is a cost function making it possible to maximize the quality of said set of labels as a function of previously established labels - L' is a cost function making it possible to maximize the quality of the predictions of said auxiliary classification neural network as a function of said previously established labels: - The occlusion is a cost function making it possible to maximize the probability of predicting no label for said occluded image; and L parsimony is a cost function for maximizing an area of said background pixel classification, and a, b, and g are parameters.
- said segmentation neural network is an encoder-decoder network formed of an encoder neural network and a decoder neural network, arranged in cascade, said classification neural network consists of summary and classification layers.
- the output of said classification layer can be expressed as a function of an input vector z m [Math. 2] with w m ,n representing positive synaptic weights, b n representing biases, s representing the activation function of the neurons of said classification layer, N representing the number of image labels and M the number of label of pixels, during said prediction phase, an explanation associated with each label of said set of labels is provided. said explanation is based on said synaptic weights w m ,n of said classification layer and on the outputs of said summary layers.
- names are associated with the probability maps and, during the prediction phase, said names are provided with said explanations.
- the invention can also be implemented by a computer program comprising instructions for implementing the method described above when implemented by an information processing platform.
- the invention can also be implemented by a device for predicting labels associated with a digital image, comprising means for implementing the method as described above.
- FIG. 1 schematically represents an example of the context in which the invention can be implemented.
- FIG. 2 schematically represents another example of the context in which the invention can be implemented.
- FIG. 3 schematically illustrates a functional architecture according to one embodiment of the invention
- FIG. 4 schematically illustrates a functional flowchart according to one embodiment of the invention.
- FIG. 5 schematically illustrates a multilayer neural network such as can be used in the context of an implementation of the invention
- FIG. 6 schematically illustrates a functional architecture according to one embodiment of the invention.
- FIG. 7 schematically illustrates a functional architecture according to an embodiment of the invention comprising a learning phase.
- the prediction of labels associated with a digital image can be performed by a device which can be implemented by an information processing system.
- This system can in particular be as illustrated in FIG. 1.
- a set 4 of digital images 4 1 , 4 2 , 4 3 ..4 k is presented to a computer program 10 implementing the method according to a embodiment of the invention.
- previously established labels 5, respectively 51, 5 2 , 5 3 ...5 k are also provided. These tags may have been established manually by human operators, or possibly by other methods.
- these images are two-dimensional digital images. These may in particular be digital medical images from x-rays, scanners, tomographies, ultrasounds, MRI (Magnetic Resonance Imaging), etc. [0037] However, the invention can be applied to images of other dimensions, in particular to 1 dimension or 3 dimensions or beyond.
- the learning phase makes it possible to constitute a model 11, formed of the internal parameters (synaptic weights, etc.) of the neural networks implemented by the computer program 10.
- a new image 3 is supplied to the computer program 10 which can then determine a prediction of labels 2.
- This computer program 10 can be implemented by an information processing device 1.
- the information processing device can be of different types (personal computer, server, communication terminal, service available via a computing cloud, etc.).
- the device can be implemented by a set of circuits co-located in a centralized server or distributed within a distributed server or among a set of servers.
- This set of servers may include “server farm” or “cloud computing” type arrangements.
- the computer program 10 can be accessed remotely through a communication network 7.
- a communication terminal 6 can transmit an image 3 to a label prediction device 1 via the communication network.
- communication 7 and receive in response a prediction 2 of labels.
- this device can be a single server, or, in a more abstract way, a service made accessible via an interface, in particular of the web type, and deployed on a cloud computing type abstraction platform.
- circuit is understood in the present application as comprising hardware elements possibly associated with software elements insofar as certain hardware elements can be programmed.
- circuit includes purely hardware implementations, in the form of specifically printed digital or analog circuits, implementations based, entirely or partially, on elements of the microprocessor or processor type, which are the subject of a programming by software instructions stored in one or more associated memories, etc.
- Software instructions may consist of only to the instructions necessary for the basic operations of the processors (the "firmware") while the software instructions necessary for carrying out the functions of the embodiments of the invention can be stored either in these same memories associated with the processors, or in remote memories.
- the label prediction device 10 comprises a first segmentation neural network, SN, and a second classification neural network, CN.
- the [FIG. 4] illustrates in the form of a flowchart this two-step process: a first step S1 makes it possible to predict a classification of the pixels of the image from the image itself, and a second step S2 makes it possible to predict a classification of the image from the pixel classification. These two steps are based on neural networks which have been trained during a learning phase S0.
- multilayer neural networks can be seen as black boxes whose internal parameters must be adjusted during a learning or training phase, by presenting them with both input data and a desired output (i.e., here, previously established labels).
- the error between this desired output and the "natural" output of the network makes it possible to slightly adjust the parameters to reduce the error.
- the network learns to react correctly and provide a good output when presented with new input data, not associated with previously established labels ( and therefore have to be predicted).
- the neural network used can be based on a multilayer perceptron.
- the multilayer perceptron (or “multilayer perceptron”, MLP, in English) is a type of artificial neural network organized in several layers within which information flows from the input layer L 1 to the output layer L k uniquely ; it is therefore a direct propagation network (“feedforward”).
- feedforward Each layer L1, L2, L3...Lk consists of a variable number of neurons, respectively n 1 , n 2 , n... n k.
- the neurons of the last layer are the outputs of the neural network and representative of a prediction of the model in response to an input provided on the layer L 1 .
- each neuron n i,j is connected at the output to all of the neurons of the next layer Li+1. Conversely, it receives as input the outputs of all the neurons of the previous layer L i -1 .
- FIG.5 for clarity, only a few connections are represented by oriented arrows. Each connection is associated with a weight (or synaptic weight). The set of weights form the internal parameters of the neural network.
- Each neuron ni,j performs, conventionally, a weighted sum of these inputs by the weights of the associated connections and then applies an activation function to this sum.
- the first neural network is a segmentation neural network, SN, configured to predict a classification P(I) of the pixels of the image I.
- this classification P(I) associates with each pixel (x,y) of the image I a vector P x,y representing the set of predictions P m,x,y of the pixel ( x,y) to be associated with the label m ⁇ ⁇ 0, 1, ... , M ⁇ , where M is the possible number of labels for the image pixels.
- P(I) forms a three-dimensional tensor.
- this classification as a set of M probability maps P m , with m ⁇ ⁇ 0, 1, ... , M ⁇ , representing the prediction of each of the pixels (x,y) of the image to be associated to label m.
- the pixel labels are considered to be mutually exclusive.
- This classification P(I) defines a segmentation of the image, that is to say a set of groups of pixels, or image segments, each segment corresponding to a distinct class.
- This meaning, associated with each class, will then make it possible to explain the prediction of image labels.
- This classification P(I) of the pixels, predicted by the segmentation network SN, is then provided to a classification network CN, configured to predict a set of labels p(I) for said image, from this pixel classification.
- this classification p(I) associates with the image I a vector of predictions p n ⁇ [0; 1] ] with n ⁇ ⁇ 0,1 ... N ⁇ N being the number of labels that can be associated with the image I.
- Each value pn of this vector p(I) indicates a probability that the image is associated with l label no.
- the labels are not mutually exclusive, that is to say that several labels can be predicted for the same image I.
- the segmentation neural network SN is implemented by an encoder-decoder network.
- Such an encoder-decoder network can be broken down, as illustrated in [FIG. 6] into an encoder neural network EN and a decoder neural network DN, arranged in cascade so that the outputs of the first network, EN, are provided at the input of the second network DN.
- the encoder network EN may be the EfficientNet network, as defined in the article “EfficientNet: Rethinking model scaling for convolutional neural networks” by Tan, M., Le, QV , in Proc. ICML, June 2019.
- This EfficientNet network is a convolutional neural network (CNN).
- the segmentation network SN is defined as a “Feature Pyramid Network” (FPN) type according to the article “Feature Pyramid Networks for object detections” by Lin TY, Dollar, P. , Girshick, R., He, K., Hariharan, B., Belongie, S., in Proc. CVPR, pp.936-944, July 2017.
- FPN Feature Pyramid Network
- This type of pyramid network is used in pattern recognition in digital images in order to detect objects or characteristics independently of their scale of representation in the image. It is based on a convolutional network, which can conventionally be ResNet or other. In particular, feature maps (or “feature maps” in English terminology) are produced at different resolutions. These maps are then resized to the resolution of the considered image I then concatenated. A final layer of convolution then makes it possible to obtain the tensor P(I).
- Other types of encoder-decoder neural networks can of course be used to implement the segmentation network SN.
- the FPN network was chosen for its speed of convergence and for its performance related to its independence from the resolution of the detected features (and which are used for the prediction of pixel labels). In particular, other types of network may be chosen depending, for example, on the application context or on the availability of new neural network architectures.
- Each probability map P m corresponds to a “segment” of the image, that is to say to a set of pixels (x,y) which are considered to correspond to the same semantic value.
- Each value P m,x,y corresponds to the probability of this pixel x,y of being associated with the label m, and therefore of belonging to the segment corresponding to the map P m .
- each pixel (x,y) is only associated with one class and that the pixel labels are mutually exclusive.
- this tensor P(I) we can assign a unique class to each pixel, by choosing the index m which maximizes the value of P m,x,y for the pixel (x,y).
- each pixel (x,y) is associated with a non-zero value P m X y of the tensor P, only for a unique value of m ⁇ (1, 2, ... , M ⁇ .
- the segmentation neural network SN is trained so that one of these probability maps, arbitrarily Pi, corresponds to the background of the image I.
- the other probability maps probabilities therefore form the foreground of the image I.
- the classification resulting from the segmentation network SN, formed by these other maps of probabilities P m , with m ⁇ (2, 3, , M), is then supplied to a neural network of classification CN.
- This classification network is configured to predict a set of labels p(I) for the image I from the classification P of the pixels.
- the CN classification neural network is chosen to be simple in order to facilitate the explainability of the predictions p(I). [0082] In particular, it may comprise two layers: a “summary” layer P
- the summary layer aims to represent each map of probabilities P m by a unique value. Different implementations are possible to determine this unique value.
- this unique value can be the average, which is proportional to the area covered by each pixel label.
- this unique value can be the maximum value of the map over all the x,y pixels. We can then write: [Math. 6]
- the second embodiment is preferred.
- the classification layer D can be a set of dense layers, in which the synaptic weights are positive.
- the classification layer can be implemented by a derivable decision tree.
- the classification layer only comprises a single dense layer, with positive weights.
- the uniqueness of the number of layers makes it possible to improve the explainability of image predictions.
- the positivity constraint allows the explainability of the contribution of each pixel label m ⁇ ⁇ 2, 3, ... , M ⁇ : the prediction of the image labels p(I) is defined as a weighted sum maximum predictions for each pixel label, each maximum prediction being weighted by a positive weight that can be interpreted as a level of confidence.
- This classification layer D can be defined by:
- [0091] represent positive synaptic weights
- b n represent biases
- s is an activation function
- z m represents the inputs, i.e. the output or value of the neurons of the previous layer P.
- the sigmoid function can be chosen as the activation function:
- N image label predictions are thus obtained at the output, among which it is possible to determine a set of labels as a function of the value p n .
- the value p n associated with each label quantifies a degree of confidence, or likelihood. It can be presented as a result to the user as an indicator.
- a learning phase S0 is implemented, configured to assign a semantic value to the probability maps P m .
- the learning phase S0 consists in providing images 4 1 , 4 2 , 4 3 ... 4 k of a set learning 4. Each of these images is associated with previously established image labels, respectively 5 1 , 5 2 , 5 3 ... 5 k . k is here the cardinality of the training set 4.
- One of the aspects of the invention consists in allowing the learning and the determination of all the parameters of the neural networks, in order to improve the explainability of the predictions p m while maintaining good prediction performance and of convergence.
- a difficulty for the design of a mechanism to implement this learning phase is that although we can have labels d(I) previously established for the images, we cannot have such labels. presets for pixels.
- the segmentation neural network SN can be trained so that one of these probability maps, arbitrarily Pi, corresponds to the background of the image I. other probability maps therefore form the foreground of the image I.
- the [FIG. 7] illustrates the sequence of functional steps according to one embodiment of the invention.
- the solid line arrows illustrate the sequences set up in the SI, S2 (or exploitation) prediction phases, while the dotted arrows and blocks illustrate those set up only during the S0 training phase.
- any image I of the learning set the previously described steps of prediction of a classification P of the pixels, by the segmentation network SN, are carried out, then of prediction of a set of labels p(I) for the image from the P classification of the pixels, by the CN classification network.
- the segmentation network SN should only predict background pixel labels, i.e. probability map Pi.
- the method therefore comprises the determination of a location of the background of the image, from the classification of the pixels P(I).
- the localization corresponds to the constitution of a segment of images corresponding to the background.
- This background corresponds to areas with no semantic value and which therefore cannot be used for the prediction of image labels.
- this determination of the localization comprises the determination of an occulted image I from the classification Pi of the pixels, corresponding to the background of the image.
- the weights of said neural networks are optimized, according to a set of cost functions configured to, by iterating over the images of the training set, maximize the quality of said set of labels p (I) based on previously established labels associated with said image and maximize the probability of predicting no label for said occluded image.
- This concealed image î can be determined as follows:
- This product can be produced element by element, in the case of an image with several planes, in particular a color image.
- the occlusion mechanism described can be considered as an improvement of that proposed by M. D. Zeiler and R. Fergus in which the mask is adapted to each image and a single occluded image is therefore obtained to be processed by the classification network.
- This approach allows a gain in speed (a single inference) and precision (scale of the pixel rather than the square mask).
- the occlusion mechanism implemented according to one embodiment of the invention is only performed during the learning phase S0. Also, it is implemented only in order to optimize the learning of the probability map Pi.
- the learning aims on the one hand to process the image I with the objective of assigning it the correct image label(s) p(I), and on the other hand to process the concealed image î with the objective of assigning no label to it, which reflects the fact that all the relevant pixels are well hidden.
- the occluded image should always be perceived as a background image, regardless of the labels previously established for the I-image. This indicates that all relevant pixels have been properly occluded (sensitivity property of the occlusion);
- the probability map Pi should represent as large an area as possible.
- the complementary image must be as sparse as possible, that is, it must contain pixels as sparse as possible (property of occlusion specificity).
- the occulted image I In order to optimize the first property (i), the occulted image I must be supplied to a neural network of classification CN', and the background map Pi must be optimized, by learning, so that î is predicted as the background.
- the neural networks CN o SN can be used to do this.
- the optimization of (CN o SN)(Î) will not only impact the detection of background pixels but also the whole classification.
- a CN' classification neural network is implemented, during the learning phase, in order to isolate the two convergences in an auxiliary classification branch.
- the encoder network EN performs a separation of the background and the foreground, so that it can be used for the optimization of the background.
- the auxiliary classification branch therefore consists of the EN and CN’ networks, i.e. (CN’ o EN).
- the reuse of the EN encoder network makes it possible in particular to reduce the complexity of the training.
- the “top activation” layer produces the tensor at the boundary between the encoder part and the decoder part of the segmentation network SN. It is considered that it is in this tensor that we find the information of the highest semantic level and therefore, the best able to allow a classification of the image. Also, the auxiliary neural network of classification CN' can take as input the tensor at the output of the encoder network EN, that is to say the tensor produced by the "top activation” layer.
- the CN' classification auxiliary neural network can consist of a "global average pooling" type layer (global average of the activation maps), followed by a classic dense layer. Like the CN classification network, this auxiliary network has a non-mutually exclusive output.
- the CN' o EN branch therefore forms a classification branch for classifying the hidden images, in order to optimize the classification of the background images.
- cost functions In order to allow the correct optimization of the synaptic weights (and of the biases) during the learning phase S0, cost functions (or "loss functions" in English) must also be defined.
- a cost function is therefore defined in order to measure the convergence between the provided label predictions p(I) and the previously established labels ⁇ (I), with [Math.12]
- a cost function L' can also be defined based on a cross-entropy.
- cost function L It can be defined, in the same way as the cost function L, by the equation: [Math.14] Another cost function is defined in order to optimize the learning of the auxiliary classification network CN′ so that it converges towards respecting the first property of the concealed image Î (sensitivity of the occlusion). [0127] For a background image, we can write: [Math.15] [0128] This expression indicates that no image label is assigned to a background image. Typically, in the case of medical imaging, this means that no pathology can be associated with an image that does not include lesions.
- the cost function L occlusion making it possible to optimize the sensitivity of the occlusion can be based on a Euclidean norm.
- Another cost function, Lparsimony can be defined in order to control the training of the neural network SN in order to optimize the respect of the second property of the hidden image (that is to say the property of the specificity of the occlusion).
- This cost function makes it possible to maximize an area of the classification P1 of the pixels or, conversely, to minimize that of the classification of the foreground pixels.
- This parsimony cost function L can for example be a norm 1 on the predictions of the maps of probabilities Pm, with m ⁇ 2,3, ..., M ⁇ supplied by the neural network SN.
- This cost function can be written: [Math.17]
- the set of cost functions can also comprise a global cost function Lglobale.
- This global cost function can be based on all the previously described cost functions and serve for the convergence of the various neural networks during the learning phase.
- this global cost function Lglobale which can be expressed, for example: [Math.18] in which ⁇ , ⁇ and ⁇ are parameters regulating the respective contributions of the various cost functions in the global cost function Lglobale.
- This global cost function allows convergence by back-propagation of the gradients of the errors determined by the function of cost in order to determine, iteratively, the synaptic weights of the different neural networks, so as to optimize the different constraints measured by the contributions £, £ ⁇ ⁇ occlusion and ⁇ parsimony.
- the parameters a, b and g can be determined experimentally. It turns out that the parameter g is the most sensitive and can be used to adjust a trade-off between the quality of image classification (attribution of image labels) and the quality of pixel classification (attribution of pixel labels) , allowing explainability.
- a prediction p(I) is obtained by inference, which is a vector of N label predictions p n , as well as Ml maps of probabilities P m for pixel labels.
- an explanation associated with each label of the label set is provided.
- these explanations can be based both on the pixel labels (i.e. the probability maps) as well as on the synaptic weights w m ,n of the classification layers D. These synaptic weights indicate the contribution of each pixel label in the assignment of image labels.
- the Ml pixels which maximize the prediction of the maps of probabilities P m can be presented to the user.
- i2 i3 . iM the intensities, or values, (positive) of these pixels.
- these intensities can be multiplied, respectively, by the (also positive) weights
- Each product is representative of the weight of the pixel label m in the prediction Pn.
- experts can also indicate names to the probability maps P m .
- these names can be used in order to indicate the causes of the prediction p n in addition to, or instead of, the number of the associated pixel label m.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Quality & Reliability (AREA)
- Radiology & Medical Imaging (AREA)
- Image Analysis (AREA)
Abstract
The invention relates to a method for predicting labels associated with a digital image, comprising a prediction phase consisting of: - supplying the image (I) to a segmentation neural network (SN) configured to predict a classification of the pixels of the image in a first set of classes; and, - supplying at least part of this classification to a classification neural network (CN), configured to predict a set of labels for said image from the classification P of the pixels; said segmentation and classification neural networks being determined by a training phase comprising, for each image of a training set, the first and second steps; and the determination of a location of the background of said image, from the classification of the pixels, and the optimisation of the weights of the neural networks, according to a set of cost functions configured, by iteration, to maximise the quality of the set of labels as a function of labels previously established and associated with the image, and to maximise the probability of not predicting any label for the background.
Description
Description Description
Prédiction d’étiquettes pour images numériques notamment médicales et fourniture d’explications associées auxdites étiquettes [0001] DOMAINE DE L’INVENTION Prediction of labels for digital images, in particular medical ones, and provision of explanations associated with said labels [0001] FIELD OF THE INVENTION
[0002] La présente invention est relative à la prédiction d’étiquettes, ou labélisation, à associer à des images numériques. Elle s’applique en particulier au domaine des images numériques médicales afin d’en permettre l’utilisation pour le diagnostic automatique ou pour l’aide au diagnostic. [0003] CONTEXTE DE L’INVENTION The present invention relates to the prediction of labels, or labeling, to be associated with digital images. It applies in particular to the field of digital medical images in order to allow their use for automatic diagnosis or for aiding diagnosis. [0003] BACKGROUND OF THE INVENTION
[0004] Les techniques de l’intelligence artificielle, et en particulier celles liées aux réseaux de neurones multicouches, permettent de traiter automatiquement les images numériques afin de les associer à des étiquettes, ou classes, qui peuvent être prédéfinies ou bien déterminées dynamiquement en fonction de l’ensemble des images traitées, lors d’une phase d’apprentissage. [0004] Artificial intelligence techniques, and in particular those related to multilayer neural networks, make it possible to automatically process digital images in order to associate them with labels, or classes, which can be predefined or even dynamically determined according to of all the images processed, during a learning phase.
[0005] Une telle approche peut permettre par exemple d’associer automatiquement des pathologies à des images médicales, issues de radiographies, de scanners, de tomographies, d’échographies, d’IRM (Imagerie par Résonance Magnétique), etc. [0005] Such an approach can, for example, make it possible to automatically associate pathologies with medical images, taken from X-rays, scanners, tomographies, ultrasounds, MRI (Magnetic Resonance Imaging), etc.
[0006] Elle peut également concerner d’autres domaines d’applications de l’imagerie numérique telles que la vidéosurveillance, la vision pour la conduite autonome, etc. dans lesquels il s’agit de caractériser, via ces étiquettes, une scène perçue par une caméra afin, d’éventuellement, enclencher une action (alerte, manœuvre automatique du véhicule, etc.) [0006] It may also relate to other fields of application of digital imaging such as video surveillance, vision for autonomous driving, etc. in which it is a question of characterizing, via these labels, a scene perceived by a camera in order to possibly initiate an action (alert, automatic maneuver of the vehicle, etc.)
[0007] En général, ces systèmes automatiques reposent sur des réseaux de neurones multicouches (généralement des réseaux de neurones convolutifs). Ceux-ci peuvent être considérés comme des « boites noires », c’est-à-dire qu’après une phase d’apprentissage, ils sont capables de fournir, en réponse à une image numérique, une proposition d’étiquettes, ou classes, sans que l’utilisateur soit en mesure de comprendre comment cette proposition, ou prédiction, a été établie et sur quelles bases.
[0008] Or, il existe un besoin de pouvoir expliquer ces prédictions et de tracer une chaîne causale, entre les entrées et les sorties d’un système automatique à base d’intelligence artificielle. [0007] In general, these automatic systems are based on multilayer neural networks (generally convolutional neural networks). These can be considered as "black boxes", i.e. after a learning phase, they are able to provide, in response to a digital image, a proposal for labels, or classes , without the user being able to understand how this proposal, or prediction, was established and on what basis. [0008] However, there is a need to be able to explain these predictions and to trace a causal chain between the inputs and the outputs of an automatic system based on artificial intelligence.
[0009] En effet, un tel système n’étant pas infaillible, l’utilisateur (par exemple le médecin ou le chirurgien dans le cas de l’imagerie médicale) sera en mesure d’analyser le « raisonnement » du système automatique, de comprendre la prédiction et de l’accepter plus aisément. [0009] Indeed, such a system not being infallible, the user (for example the doctor or the surgeon in the case of medical imaging) will be able to analyze the "reasoning" of the automatic system, to understand the prediction and accept it more easily.
[0010] Il existe par ailleurs une tendance générale à proposer des mécanismes explicables pour la classification automatique. Différentes législations se sont penchées sur cette problématique et visent à définir, à promouvoir, sinon imposer dans certains domaines sensibles, des systèmes de classification automatique explicable. [0010] There is also a general tendency to propose explainable mechanisms for automatic classification. Different legislations have looked into this problem and aim to define, promote, if not impose in certain sensitive areas, explainable automatic classification systems.
[0011] L’un des intérêts de cette explicabilité est que certaines réglementations, dont celles de l’Union Européenne, visent à garantir aux utilisateurs finaux de l’Intelligence Artificielle, une explication pour les décisions automatiques qui les concernent. Ces aspects sont notamment décrits dans Goodman B, Flaxman S, « European Union régulations on algorithmic decision- making and a right to explanation » in AI Magazine, 2017 Oct ; 38(3) :50-7 [0011] One of the advantages of this explainability is that certain regulations, including those of the European Union, aim to guarantee to the end users of Artificial Intelligence, an explanation for the automatic decisions which concern them. These aspects are described in particular in Goodman B, Flaxman S, “European Union regulations on algorithmic decision-making and a right to explanation” in AI Magazine, 2017 Oct; 38(3):50-7
[0012] En France, dans son avis publié en juin 2017 sur l’éthique de la recherche en apprentissage machine, la commission CERNA (Commission de réflexion sur l’éthique de la recherche en science et technologies du numérique d’Allistene) définit la notion d’explicabilité de la manière suivante : « expliquer un algorithme est faire comprendre à ses utilisateurs ce qu’il fait, avec assez de détails et d’arguments pour emporter leur confiance ». [0012] In France, in its opinion published in June 2017 on the ethics of research in machine learning, the CERNA commission (Commission for reflection on the ethics of research in science and digital technologies of Allistene) defines the notion of explainability in the following way: "to explain an algorithm is to make its users understand what it does, with enough details and arguments to gain their confidence".
[0013] Dès lors, la conception de mécanismes d’intelligence artificielle explicable (XAI pour « eXplanatory Artificial Intelligence », en anglais) est devenue un sujet de recherche, dans lequel de nombreux acteurs s’impliquent. Gilpin et al., « Explaining explanations : An overview of interpretability of machine learning » in Proc. IEEE DSAA, 2018, Turin, pp. 80- 89 en dresse un état des lieux. [0013] Consequently, the design of explainable artificial intelligence mechanisms (XAI for "eXplanatory Artificial Intelligence" in English) has become a subject of research, in which many actors are involved. Gilpin et al., “Explaining explanations: An overview of interpretability of machine learning” in Proc. IEEE DSAA, 2018, Torino, p. 80-89 draws up an inventory.
[0014] Toutefois, on doit distinguer sous ce concept général l’interprétabilité et l’ explicabilité véritable. [0014] However, a distinction must be made under this general concept between interpretability and true explainability.
[0015] Une décision algorithmique est dite explicable s’il est possible d’en rendre compte explicitement à partir de données et caractéristiques connues de la situation. Autrement dit, s’il est possible de mettre en relation les valeurs prises par certaines variables (les caractéristiques) et leurs conséquences sur la prévision, par exemple d’un score, et ainsi sur la décision.
[0016] Une décision algorithmique est dite interprétable s’il est possible d’identifier les caractéristiques ou variables qui participent le plus à la décision, voire même d’en quantifier l’importance. [0015] An algorithmic decision is said to be explicable if it is possible to account for it explicitly from known data and characteristics of the situation. In other words, if it is possible to link the values taken by certain variables (characteristics) and their consequences on the forecast, for example of a score, and thus on the decision. [0016] An algorithmic decision is said to be interpretable if it is possible to identify the characteristics or variables which contribute the most to the decision, or even to quantify their importance.
[0017] Par construction, une décision explicable est interprétable. [0017] By construction, an explicable decision is interpretable.
[0018] On peut retrouver ces définitions, notamment dans l’article de Gilpin et al., cité ci- dessus. [0018] These definitions can be found, in particular in the article by Gilpin et al., cited above.
[0019] Actuellement, il ne semble pas exister de mécanismes permettant d’atteindre le niveau requis d’explicabilité, sans impact sur ses qualités prédictives. [0019] Currently, there do not seem to be any mechanisms to achieve the required level of explainability, without impacting its predictive qualities.
[0020] Une première famille de proposition repose sur une analyse a posteriori de l’influence des pixels de l’image sur la prédiction effectuée par le mécanisme de classification automatique de l’image. Toutefois, cette approche ne permet pas d’expliquer précisément les influences détectées. A first family of proposals is based on an a posteriori analysis of the influence of image pixels on the prediction made by the automatic image classification mechanism. However, this approach does not make it possible to precisely explain the detected influences.
[0021] Une autre famille de propositions se base sur des méthodes alternatives aux réseaux de neurones multicouches. Par exemple, des forêts de décision neuronales, constitués de plusieurs arbres de décision neuronaux, ont été proposées. Bien que chaque arbre de décision neuronal soit, dans une certaine mesure, explicable, le fait que la décision finale s’appuie sur un nombre important d’arbres de décision rend malgré tout cette décision finale opaque. Another family of proposals is based on alternative methods to multilayer neural networks. For example, neural decision forests, consisting of multiple neural decision trees, have been proposed. Although each neural decision tree is, to some extent, explainable, the fact that the final decision is based on a large number of decision trees still renders this final decision opaque.
[0022] RESUME DE L’INVENTION [0022] SUMMARY OF THE INVENTION
[0023] Un objectif de la présente invention est de fournir un mécanisme palliant au moins partiellement les inconvénients précités. An object of the present invention is to provide a mechanism at least partially overcoming the aforementioned drawbacks.
[0024] Plus particulièrement, selon des modes de réalisation, elle vise à fournir une prédiction automatique et explicable d’étiquettes associées à une image numérique. More particularly, according to embodiments, it aims to provide an automatic and explainable prediction of labels associated with a digital image.
[0025] A cette fin, selon un premier aspect, la présente invention peut être mise en œuvre par un procédé pour la prédiction d’étiquettes associées à une image numérique, comportant une phase de prédiction consistant à fournir, dans une première étape, ladite image à un réseau de neurones de segmentation configuré pour prédire une classification des pixels de ladite image dans un premier ensemble de classes ; et, à fournir, dans une deuxième étape, ladite classification à un réseau de neurones de classification, configuré pour prédire un ensemble d’étiquettes p(I) pour ladite image
à partir de ladite classification des pixels, sauf un segment correspondant à un arrière- plan de ladite image ; lesdits réseaux de neurones de segmentation et de classification étant déterminés par une phase d’apprentissage comportant, pour chaque image d’un ensemble d’apprentissage, - lesdites première et deuxième étapes ; - la détermination d’une localisation dudit arrière-plan de ladite image, à partir de la classification des pixels - l’optimisation des poids desdits réseaux de neurones, selon un ensemble de fonctions de coût configuré pour, par itération, maximiser la qualité dudit ensemble d’étiquettes en fonction d’étiquettes préalablement établies et associé à ladite image, et maximiser la probabilité de ne prédire aucune étiquette pour ledit arrière-plan. [0026] Suivant des modes de réalisation préférés, l’invention comprend une ou plusieurs des caractéristiques suivantes qui peuvent être utilisées séparément ou en combinaison partielle entre elles ou en combinaison totale entre elles : - la détermination d’une localisation de l’arrière-plan de ladite image comprend la détermination d’une image occultée, à partir de la classification des pixels, correspondant à l’arrière-plan de l’image, ladite image occultée étant définie par
définissant un pixel de ladite image. - durant la phase d’apprentissage, on entraine un réseau de neurones auxiliaire de classification afin d’optimiser la classification de ladite image occultée. ledit ensemble de fonctions de coût comporte une fonction de coût globale ℒglobale qui s’exprime [Math.1]
avec - L est une fonction de coût permettant de maximiser la qualité dudit ensemble d’étiquettes en fonction d’étiquettes préalablement établies - L’ est une fonction de coût permettant de maximiser la qualité des prédictions dudit réseau de neurones auxiliaire de classification en fonction desdites étiquettes préalablement établies : - L occlusion est une fonction de coût permettant de maximiser la probabilité de prédire aucune étiquette pour ladite image occultée ; et
L parcimonie est une fonction de coût permettant de maximiser une surface de ladite classification des pixels de l’arrière-plan, et a, b et g sont des paramètres. ledit réseau de neurones de segmentation est un réseau encodeur-décodeur formé d’un réseau de neurones encodeur et d’un réseau de neurones décodeur, arrangés en cascade, ledit réseau de neurones de classification est constitué de couches de résumé, et de classification. la sortie de ladite couche de classification peut s’exprimer, en fonction d’un vecteur d’entrée zm [Math. 2]
avec wm,n représentant des poids synaptiques positifs, bn représentant des biais, s représentant la fonction d’activation des neurones de ladite couche de classification, N représentant le nombre d’étiquettes d’image et M le nombre d’étiquette de pixels, on fournit lors de ladite phase de prédiction, une explication associée à chaque étiquette dudit ensemble d’étiquette. ladite explication est basée sur lesdits poids synaptiques wm,n de ladite couche de classification et sur les sorties desdites couches de résumé. To this end, according to a first aspect, the present invention can be implemented by a method for the prediction of labels associated with a digital image, comprising a prediction phase consisting in supplying, in a first step, said image to a segmentation neural network configured to predict a classification of pixels of said image into a first set of classes; and, in a second step, providing said classification to a classification neural network, configured to predict a set of labels p(I) for said image from said pixel classification, except for a segment corresponding to a background of said image; said segmentation and classification neural networks being determined by a learning phase comprising, for each image of a learning set, - said first and second steps; - determining a location of said background of said image, from the classification of pixels - optimizing the weights of said neural networks, according to a set of cost functions configured to, by iteration, maximize the quality of said set of labels based on previously established labels associated with said image, and maximizing the probability of predicting no label for said background. [0026] According to preferred embodiments, the invention comprises one or more of the following characteristics which can be used separately or in partial combination with each other or in total combination with each other: - the determination of a location of the rear- plane of said image comprises determining an occluded image, from the pixel classification, corresponding to the background of the image, said occluded image being defined by defining a pixel of said image. - During the learning phase, an auxiliary classification neural network is trained in order to optimize the classification of said concealed image. said set of cost functions comprises a global cost function ℒglobal which is expressed [Math.1] with - L is a cost function making it possible to maximize the quality of said set of labels as a function of previously established labels - L' is a cost function making it possible to maximize the quality of the predictions of said auxiliary classification neural network as a function of said previously established labels: - The occlusion is a cost function making it possible to maximize the probability of predicting no label for said occluded image; and L parsimony is a cost function for maximizing an area of said background pixel classification, and a, b, and g are parameters. said segmentation neural network is an encoder-decoder network formed of an encoder neural network and a decoder neural network, arranged in cascade, said classification neural network consists of summary and classification layers. the output of said classification layer can be expressed as a function of an input vector z m [Math. 2] with w m ,n representing positive synaptic weights, b n representing biases, s representing the activation function of the neurons of said classification layer, N representing the number of image labels and M the number of label of pixels, during said prediction phase, an explanation associated with each label of said set of labels is provided. said explanation is based on said synaptic weights w m ,n of said classification layer and on the outputs of said summary layers.
- A l’issue de la phase d’apprentissage, des noms sont associés aux cartes de probabilités et, lors de la phase de prédiction, lesdits noms sont fournis avec lesdites explications. - At the end of the learning phase, names are associated with the probability maps and, during the prediction phase, said names are provided with said explanations.
[0027] Selon un autre aspect, l’invention peut également être mise en œuvre par un programme d’ordinateur comportant des instructions pour mettre en œuvre le procédé précédemment décrit lorsque mis en œuvre par une plateforme de traitement de l’information. According to another aspect, the invention can also be implemented by a computer program comprising instructions for implementing the method described above when implemented by an information processing platform.
[0028] Selon un autre aspect, l’invention peut être également mise en œuvre par un dispositif pour la prédiction d’étiquettes associées à une image numérique, comportant des moyens pour la mise en œuvre du procédé tel que précédemment décrit. According to another aspect, the invention can also be implemented by a device for predicting labels associated with a digital image, comprising means for implementing the method as described above.
[0029] D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit d’un mode de réalisation préféré de l’invention, donnée à titre d’exemple et en référence aux dessins annexés Other characteristics and advantages of the invention will appear on reading the following description of a preferred embodiment of the invention, given by way of example and with reference to the accompanying drawings.
[0030] BREVE DESCRIPTION DES FIGURES
[0031] Les dessins annexés illustrent l’invention : [0030] BRIEF DESCRIPTION OF THE FIGURES The accompanying drawings illustrate the invention:
La [Fig. 1] représente schématiquement un exemple de contexte dans lequel peut être mise en œuvre l’invention. The [Fig. 1] schematically represents an example of the context in which the invention can be implemented.
La [Fig. 2] représente schématiquement un autre exemple de contexte dans lequel peut être mise en œuvre l’invention. The [Fig. 2] schematically represents another example of the context in which the invention can be implemented.
La [Fig. 3] illustre schématiquement une architecture fonctionnelle selon un mode de réalisation de l’invention The [Fig. 3] schematically illustrates a functional architecture according to one embodiment of the invention
La [Fig. 4] illustre schématiquement un organigramme fonctionnel selon un mode de réalisation de l’invention. The [Fig. 4] schematically illustrates a functional flowchart according to one embodiment of the invention.
La [Fig. 5] illustre de façon schématique un réseau de neurones multicouche tel que pouvant être utilisé dans le cadre d’une mise en œuvre de l’invention The [Fig. 5] schematically illustrates a multilayer neural network such as can be used in the context of an implementation of the invention
La [Fig. 6] illustre schématiquement une architecture fonctionnelle selon un mode de réalisation de l’invention. The [Fig. 6] schematically illustrates a functional architecture according to one embodiment of the invention.
La [Fig. 7] illustre schématiquement une architecture fonctionnelle selon un mode de réalisation de l’invention comportant une phase d’apprentissage. The [Fig. 7] schematically illustrates a functional architecture according to an embodiment of the invention comprising a learning phase.
[0032] DESCRIPTION DETAILLEE DE L’INVENTION [0032] DETAILED DESCRIPTION OF THE INVENTION
[0033] Selon un aspect de l’invention, la prédiction d’étiquettes associées à une image numérique peut être effectuée par un dispositif qui peut être mis en œuvre par un système de traitement de l’information. According to one aspect of the invention, the prediction of labels associated with a digital image can be performed by a device which can be implemented by an information processing system.
[0034] Ce système peut notamment être tel qu’illustré en figure 1. [0034] This system can in particular be as illustrated in FIG. 1.
[0035] Dans une première phase, dite d’apprentissage ou d’entraînement, un ensemble 4 d’images numériques 41, 42, 43..4k est présenté à un programme informatique 10 mettant en œuvre le procédé selon un mode de réalisation de l’invention. En outre des étiquettes préalablement établies 5, respectivement 51, 52, 53...5k sont également fournies. Ces étiquettes peuvent avoir été établies manuellement par des opérateurs humains, ou éventuellement, par d’autres procédés. In a first phase, called learning or training, a set 4 of digital images 4 1 , 4 2 , 4 3 ..4 k is presented to a computer program 10 implementing the method according to a embodiment of the invention. In addition, previously established labels 5, respectively 51, 5 2 , 5 3 ...5 k are also provided. These tags may have been established manually by human operators, or possibly by other methods.
[0036] Selon un mode de réalisation, ces images sont des images numériques à deux dimensions. Il peut notamment s’agir d’images numériques médicales issues de radiographies, de scanners, de tomographies, d’échographies, d’IRM (Imagerie par Résonance Magnétique), etc.
[0037] Toutefois, Tinvention peut s’appliquer à des images de dimensions autres, notamment à 1 dimension ou 3 dimensions ou au-delà. According to one embodiment, these images are two-dimensional digital images. These may in particular be digital medical images from x-rays, scanners, tomographies, ultrasounds, MRI (Magnetic Resonance Imaging), etc. [0037] However, the invention can be applied to images of other dimensions, in particular to 1 dimension or 3 dimensions or beyond.
[0038] La phase d’apprentissage permet de constituer un modèle 11, formé des paramètres internes (poids synaptiques...) des réseaux de neurones mis en œuvre par le programme informatique 10. The learning phase makes it possible to constitute a model 11, formed of the internal parameters (synaptic weights, etc.) of the neural networks implemented by the computer program 10.
[0039] Ces réseaux de neurones 11, une fois entraînés, peuvent être utilisés lors d’une phase d’exploitation, ou de prédiction : une nouvelle image 3 est fournie au programme informatique 10 qui peut alors déterminer une prédiction d’étiquettes 2. These neural networks 11, once trained, can be used during an exploitation or prediction phase: a new image 3 is supplied to the computer program 10 which can then determine a prediction of labels 2.
[0040] Ce programme informatique 10 peut être mis en œuvre par un dispositif de traitement de l’information 1. Selon un mode de réalisation de Tinvention, le dispositif de traitement de l’information peut être de différents types (ordinateur personnel, serveur, terminal de communication, service disponible via un nuage informatique, etc.). This computer program 10 can be implemented by an information processing device 1. According to one embodiment of the invention, the information processing device can be of different types (personal computer, server, communication terminal, service available via a computing cloud, etc.).
[0041] Selon un mode de réalisation, le dispositif peut être mis en œuvre par un ensemble de circuits co-localisés dans un serveur centralisé ou repartis au sein d’un serveur reparti ou parmi un ensemble de serveurs. Cet ensemble de serveurs peut comprendre des arrangements de type « fermes de serveurs » ou d’informatique en nuage (« cloud computing »). According to one embodiment, the device can be implemented by a set of circuits co-located in a centralized server or distributed within a distributed server or among a set of servers. This set of servers may include “server farm” or “cloud computing” type arrangements.
[0042] Notamment, selon un mode de réalisation tel que par exemple illustré en [FIG. 2], le programme informatique 10 peut être accessible à distance au travers d’un réseau de communication 7. Ainsi, par exemple, un terminal de communication 6 peut transmettre une image 3 à un dispositif 1 de prédiction d’étiquettes via le réseau de communication 7 et recevoir en réponse une prédiction 2 d’étiquetes. Comme évoqué précédemment, ce dispositif peut être un serveur unique, ou, de façon plus abstraite, un service rendu accessible via une interface notamment de type web et déployé sur une plateforme d’abstraction de type informatique en nuage. [0042] In particular, according to an embodiment such as for example illustrated in [FIG. 2], the computer program 10 can be accessed remotely through a communication network 7. Thus, for example, a communication terminal 6 can transmit an image 3 to a label prediction device 1 via the communication network. communication 7 and receive in response a prediction 2 of labels. As mentioned above, this device can be a single server, or, in a more abstract way, a service made accessible via an interface, in particular of the web type, and deployed on a cloud computing type abstraction platform.
[0043] Pour la mise en œuvre concrète du dispositif de prédiction d’étiquettes, le terme « circuit » est compris dans la présente demande comme comprenant des éléments matériels éventuellement associés à des éléments logiciels dans la mesure où certains éléments matériels peuvent être programmés. Notamment, le terme circuit comprend des mises en œuvre purement matérielles, sous forme de circuits numériques ou analogues imprimés spécifiquement, des mises en œuvre basés, entièrement ou partiellement, sur des éléments de type microprocesseur ou processeur, qui font l’objet d’une programmation par des instructions logicielles stockées dans une ou plusieurs mémoires associées, etc. Les instructions logicielles peuvent consister
uniquement aux instructions nécessaires pour les opérations de base des processeurs (le « firmware ») tandis que les instructions logicielles nécessaires à la réalisation des fonctions des modes de réalisation de l’invention peuvent être stockées soit dans ces mêmes mémoires associées aux processeurs, soit dans des mémoires déportées. Dans ce dernier cas, ces instructions logicielles ne sont présentes dans le circuit que lorsque le circuit est en opération pour réaliser les fonctions selon les modes de réalisation de l’invention. [0044] Selon un aspect de l’invention, tel qu’illustré en [FIG.3], le dispositif 10 de prédiction d’étiquettes comprend un premier réseau de neurones de segmentation, SN, et un second réseau de neurones de classification, CN. [0045] La [FIG. 4] illustre sous forme d’organigramme ce procédé en deux étapes : une première étape S1 permet de prédire une classification des pixels de l’image à partir de l’image elle-même, et une deuxième étape S2 permet de prédire une classification de l’image à partir de la classification des pixels. Ces deux étapes se basent sur des réseaux de neurones qui ont fait l’objet d’un entrainement lors d’une phase d’apprentissage S0. [0046] D’une façon très macroscopique, les réseaux de neurones multicouches peuvent être vus comme des boîtes noires dont les paramètres internes doivent être ajustés lors d’une phase d’apprentissage, ou d’entrainement, en leur présentant à la fois des données d’entrée et une sortie souhaitée (c’est-à-dire, ici, des étiquette préalablement établies). L’erreur entre cette sortie souhaitée et la sortie « naturelle » du réseau permet d’ajuster légèrement les paramètres pour diminuer l’erreur. En présentant un grand nombre de ces couples « données d’entrée / sortie souhaitée », le réseau apprend à réagir correctement et à fournir une bonne sortie lorsqu’on lui présente de nouvelles données d’entrée, non associées à des étiquetées préalablement établies (et qu’il faut donc prédire). [0047] Selon un mode de réalisation de l’invention, le réseau de neurones utilisé peut être basé sur un perceptron multicouche. Parmi les réseaux basés sur l’architecture générale du perceptron multicouche, on peut notamment citer les réseaux de neurones convolutifs (ConvNet ou CNN pour « Convolutional Neural Network » en anglais). [0048] Le perceptron multicouches (ou « multilayer perceptron », MLP, en anglais) est un type de réseau neuronal artificiel organisé en plusieurs couches au sein desquelles une information circule de la couche d'entrée L1 vers la couche de sortie Lk uniquement ; il s'agit donc d'un réseau à propagation directe (« feedforward »). Chaque couche L1, L2, L3…Lk est constituée d'un nombre variable de neurones, respectivement n1, n2, n… nk. Les neurones de la dernière
couche (dite « de sortie ») sont les sorties du réseau de neurones et représentative d’une prédiction du modèle en réponse à une entrée fournie sur la couche L1. [0049] Dans un perceptron multicouches, chaque neurone ni,j est connecté en sortie à la totalité des neurones de la couche suivante Li+1. Inversement, il reçoit en entrée les sorties de la totalité des neurones de la couche précédente Li-1. Sur la [Fig.5], par clarté, seules quelques connexions sont représentées par des flèches orientées. [0050] Chaque connexion est associée à un poids (ou poids synaptique). L’ensemble des poids forment les paramètres internes du réseau de neurones. Ils doivent être déterminés lors d’une phase d’apprentissage (ou entrainement) et permettent ensuite de prédire des valeurs de sortie, par généralisation, à partir d’un nouveau vecteur d’entrée présenté sur la couche d’entrée L1. [0051] Chaque neurone ni,j effectue, classiquement, une somme pondérée de ces entrées par les poids des connexions associées puis applique à cette somme une fonction d’activation. [0052] Plusieurs techniques existent pour déterminer les paramètres internes du réseau, notamment les poids synaptiques, par apprentissage. On peut notamment citer l’algorithme de la descente du gradient stochastique (DGS ou SGD en anglais pour « Stochastic Gradient Descent »), décrit par exemple dans LeCun, Yann A., et al. "Efficient backprop. Neural networks: Tricks of the trade”, Springer Berlin Heidelberg, 2012.9-48. On peut également citer ADAM, décrit initialement dans Diederik P. Kingma and Jimmy Lei Ba. “Adam: A method for stochastic optimization”.2014. arXiv:1412.6980v9, ou bien RMSprop, décrit notamment dans Tijmen Tieleman et Geoffrey Hinton, « Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude », COURSERA: neural networks for machine learning, 4(2):26–31, 2012. [0053] Selon un aspect de l’invention, le premier réseau de neurones est un réseau de neurones de segmentation, SN, configuré pour prédire une classification P(I) des pixels de l’image I. [0054] Selon un mode de réalisation, cette classification P(I) associe à chaque pixel (x,y) de l’image I un vecteur Px,y représentant l’ensemble des prédictions Pm,x,y du pixel (x,y) d’être associé à l’étiquette m ∈ {0, 1, … , M}, où M est le nombre possible d’étiquettes pour les pixels d’images. On peut écrire
[0055] Autrement dit, P(I) forme un tenseur à trois dimensions. On peut aussi définir cette classification comme un ensemble de M cartes de probabilité Pm, avec m ∈ {0, 1, … , M} , représentant la prédiction de chacun des pixels (x,y) de l’image d’être associé à l’étiquette m.
[0056] Selon un mode de réalisation, on considère que les étiquettes de pixels sont mutuellement exclusives. On peut donc écrire : [Math.3]
[0057] Cette classification P(I) définit une segmentation de l’image, c’est-à-dire un ensemble de groupes de pixels, ou segments d’images, chaque segment correspondant à une classe distincte. Comme il sera vu plus loin, un des enjeux de certains modes de réalisation de l’invention consiste à conférer un sens sémantique à ces classes. Ce sens, associé à chaque classe, permettra ensuite d’expliquer la prédiction d’étiquettes d’image. [0058] Cette classification P(I) des pixels, prédite par le réseau de segmentation SN, est ensuite fournie à un réseau de classification CN, configuré pour prédire un ensemble d’étiquettes p(I) pour ladite image, à partir de cette classification de pixels. [0059] Selon un mode de réalisation, cette classification p(I) associe à l’image I un vecteur de prédictions pn ∈ [0; 1] ] avec n ∈ {0,1 … N} N étant le nombre d’étiquettes pouvant être associés à l’image I. Chaque valeur pn de ce vecteur p(I) indique une probabilité que l’image soit associée à l’étiquette n. [0060] Selon un mode de réalisation, les étiquettes ne sont pas mutuellement exclusives, c’est- à-dire que plusieurs étiquettes peuvent être prédites pour une même image I. [0061] Lors de phase d’apprentissage S0, qui sera détaillée plus loin, on considère, pour chaque image de l’ensemble d’apprentissage, un vecteur ^(I) d’étiquettes δn∈{0,1}.On peut alors écrire : [Math.4]
[0062] Le nombre N d’étiquettes pour les images I et le nombre M d’étiquettes pour les pixels peuvent être différents. [0063] Selon un mode de réalisation de l’invention, on considère une carte de probabilité particulière, P1 (étiquette m = 1), comme représentative de l’arrière-plan de l’image.
[0064] Selon un mode de réalisation, le réseau de neurones de segmentation SN est mis en œuvre par un réseau encodeur-décodeur. Un tel réseau encodeur-décodeur peut se décomposer, ainsi qu’illustré en [FIG. 6] en un réseau de neurones encodeur EN et un réseau de neurones décodeur DN, arrangés en cascade de sorte que les sorties du premier réseau, EN, soient fournies en entrée du second réseau DN. [0065] Une telle architecture est par exemple décrite dans Ronneberger, O., Fischer, P., Brox, T., « U-net: Convolutional networks for biomedical image segmentation », in Proc. MICCAI, octobre 2015, Munich, pp.234-241. Cette approche consiste à transformer les données d’entrée en les encodant dans un vecteur intermédiaire qui représente un ensemble d’états internes, puis à décoder ce vecteur intermédiaire en le « projetant » vers un vecteur de sortie, ici les prédictions des étiquettes de pixels P(I). [0066] On peut écrire SN=DN o EN, où « o » est l’opérateur de combinaison de fonctions, et SN, DN, EN représentent les fonctions associées aux réseaux de neurones SN, DN, EN respectivement. [0067] Selon un mode de réalisation de l’invention, le réseau encodeur EN peut être le réseau EfficientNet, tel que défini dans l’article « EfficientNet : Rethinking model scaling for convolutional neural networks » de Tan, M., Le, Q. V., in Proc. ICML, juin 2019. Ce réseau EfficientNet est un réseau de neurones de type convolutif (CNN pour Convolutive Neural Network en anglais). [0068] Selon un mode de réalisation de l’invention, le réseau de segmentation SN est défini de type « Feature Pyramid Network » (FPN) selon l’article « Feature Pyramid Networks for object detections » de Lin T.Y., Dollar, P., Girshick, R., He, K., Hariharan, B., Belongie, S., in Proc. CVPR, pp.936-944, juillet 2017. [0069] Ce type de réseau pyramidal est utilisé en reconnaissance de formes dans des images numériques afin de détecter des objets ou caractéristiques indépendamment de leur échelle de représentation dans l’image. Il repose sur un réseau convolutif, qui peut classiquement être ResNet ou autre. [0070] En particulier, des cartes de caractéristiques (ou « feature maps » selon la terminologie anglaise) sont produites à différentes résolutions. Ces cartes sont ensuite redimensionnées à la résolution de l’image I considérée puis concaténées. Une couche finale de convolution permet alors d’obtenir le tenseur P(I).
[0071] D’autres types de réseaux de neurones encodeur-décodeur peuvent bien évidement être utilisés pour mettre en œuvre le réseau de segmentation SN. Le réseau FPN a été choisi pour sa rapidité de convergence et pour ses performances liées à son indépendance à la résolution des caractéristiques détectées (et qui sont utilisées pour la prédiction d’étiquettes de pixels). Notamment, d’autres types de réseau pourront être choisis en fonction, par exemple, du contexte d’application ou de la disponibilité de nouvelles architectures de réseaux de neurones. [0043] For the concrete implementation of the label prediction device, the term “circuit” is understood in the present application as comprising hardware elements possibly associated with software elements insofar as certain hardware elements can be programmed. In particular, the term circuit includes purely hardware implementations, in the form of specifically printed digital or analog circuits, implementations based, entirely or partially, on elements of the microprocessor or processor type, which are the subject of a programming by software instructions stored in one or more associated memories, etc. Software instructions may consist of only to the instructions necessary for the basic operations of the processors (the "firmware") while the software instructions necessary for carrying out the functions of the embodiments of the invention can be stored either in these same memories associated with the processors, or in remote memories. In the latter case, these software instructions are only present in the circuit when the circuit is in operation to perform the functions according to the embodiments of the invention. According to one aspect of the invention, as illustrated in [FIG.3], the label prediction device 10 comprises a first segmentation neural network, SN, and a second classification neural network, CN. [0045] The [FIG. 4] illustrates in the form of a flowchart this two-step process: a first step S1 makes it possible to predict a classification of the pixels of the image from the image itself, and a second step S2 makes it possible to predict a classification of the image from the pixel classification. These two steps are based on neural networks which have been trained during a learning phase S0. [0046] In a very macroscopic way, multilayer neural networks can be seen as black boxes whose internal parameters must be adjusted during a learning or training phase, by presenting them with both input data and a desired output (i.e., here, previously established labels). The error between this desired output and the "natural" output of the network makes it possible to slightly adjust the parameters to reduce the error. By presenting a large number of these "desired input/output data" pairs, the network learns to react correctly and provide a good output when presented with new input data, not associated with previously established labels ( and therefore have to be predicted). According to one embodiment of the invention, the neural network used can be based on a multilayer perceptron. Among the networks based on the general architecture of the multilayer perceptron, mention may in particular be made of convolutional neural networks (ConvNet or CNN for “Convolutional Neural Network”). The multilayer perceptron (or “multilayer perceptron”, MLP, in English) is a type of artificial neural network organized in several layers within which information flows from the input layer L 1 to the output layer L k uniquely ; it is therefore a direct propagation network (“feedforward”). Each layer L1, L2, L3…Lk consists of a variable number of neurons, respectively n 1 , n 2 , n… n k. The neurons of the last layer (called “output”) are the outputs of the neural network and representative of a prediction of the model in response to an input provided on the layer L 1 . In a multilayer perceptron, each neuron n i,j is connected at the output to all of the neurons of the next layer Li+1. Conversely, it receives as input the outputs of all the neurons of the previous layer L i -1 . In [Fig.5], for clarity, only a few connections are represented by oriented arrows. Each connection is associated with a weight (or synaptic weight). The set of weights form the internal parameters of the neural network. They must be determined during a learning phase (or training) and then make it possible to predict output values, by generalization, from a new input vector presented on the input layer L 1 . Each neuron ni,j performs, conventionally, a weighted sum of these inputs by the weights of the associated connections and then applies an activation function to this sum. Several techniques exist for determining the internal parameters of the network, in particular the synaptic weights, by learning. Mention may in particular be made of the stochastic gradient descent (DGS or SGD) algorithm, described for example in LeCun, Yann A., et al. "Efficient backprop. Neural networks: Tricks of the trade”, Springer Berlin Heidelberg, 2012.9-48. We can also cite ADAM, originally described in Diederik P. Kingma and Jimmy Lei Ba. “Adam: A method for stochastic optimization”.2014 arXiv:1412.6980v9, or RMSprop, described in particular in Tijmen Tieleman and Geoffrey Hinton, “Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude”, COURSERA: neural networks for machine learning, 4(2) :26–31, 2012. [0053] According to one aspect of the invention, the first neural network is a segmentation neural network, SN, configured to predict a classification P(I) of the pixels of the image I. According to one embodiment, this classification P(I) associates with each pixel (x,y) of the image I a vector P x,y representing the set of predictions P m,x,y of the pixel ( x,y) to be associated with the label m ∈ {0, 1, … , M}, where M is the possible number of labels for the image pixels. In other words, P(I) forms a three-dimensional tensor. We can also define this classification as a set of M probability maps P m , with m ∈ {0, 1, … , M} , representing the prediction of each of the pixels (x,y) of the image to be associated to label m. According to one embodiment, the pixel labels are considered to be mutually exclusive. We can therefore write: [Math.3] This classification P(I) defines a segmentation of the image, that is to say a set of groups of pixels, or image segments, each segment corresponding to a distinct class. As will be seen below, one of the challenges of certain embodiments of the invention consists in conferring a semantic meaning on these classes. This meaning, associated with each class, will then make it possible to explain the prediction of image labels. This classification P(I) of the pixels, predicted by the segmentation network SN, is then provided to a classification network CN, configured to predict a set of labels p(I) for said image, from this pixel classification. According to one embodiment, this classification p(I) associates with the image I a vector of predictions p n ∈ [0; 1] ] with n ∈ {0,1 … N} N being the number of labels that can be associated with the image I. Each value pn of this vector p(I) indicates a probability that the image is associated with l label no. [0060] According to one embodiment, the labels are not mutually exclusive, that is to say that several labels can be predicted for the same image I. [0061] During the learning phase S0, which will be detailed further, we consider, for each image of the training set, a vector ^(I) of labels δ n ∈{0,1}. We can then write: [Math.4] The number N of labels for the images I and the number M of labels for the pixels can be different. According to one embodiment of the invention, a particular probability map, P1 (label m=1), is considered to be representative of the background of the image. According to one embodiment, the segmentation neural network SN is implemented by an encoder-decoder network. Such an encoder-decoder network can be broken down, as illustrated in [FIG. 6] into an encoder neural network EN and a decoder neural network DN, arranged in cascade so that the outputs of the first network, EN, are provided at the input of the second network DN. Such an architecture is for example described in Ronneberger, O., Fischer, P., Brox, T., “U-net: Convolutional networks for biomedical image segmentation”, in Proc. MICCAI, October 2015, Munich, pp.234-241. This approach consists in transforming the input data by encoding them in an intermediate vector which represents a set of internal states, then in decoding this intermediate vector by "projecting" it towards an output vector, here the predictions of the pixel labels P(I). We can write SN=DN o EN, where “o” is the function combination operator, and SN, DN, EN represent the functions associated with the neural networks SN, DN, EN respectively. According to one embodiment of the invention, the encoder network EN may be the EfficientNet network, as defined in the article “EfficientNet: Rethinking model scaling for convolutional neural networks” by Tan, M., Le, QV , in Proc. ICML, June 2019. This EfficientNet network is a convolutional neural network (CNN). According to one embodiment of the invention, the segmentation network SN is defined as a “Feature Pyramid Network” (FPN) type according to the article “Feature Pyramid Networks for object detections” by Lin TY, Dollar, P. , Girshick, R., He, K., Hariharan, B., Belongie, S., in Proc. CVPR, pp.936-944, July 2017. This type of pyramid network is used in pattern recognition in digital images in order to detect objects or characteristics independently of their scale of representation in the image. It is based on a convolutional network, which can conventionally be ResNet or other. In particular, feature maps (or “feature maps” in English terminology) are produced at different resolutions. These maps are then resized to the resolution of the considered image I then concatenated. A final layer of convolution then makes it possible to obtain the tensor P(I). Other types of encoder-decoder neural networks can of course be used to implement the segmentation network SN. The FPN network was chosen for its speed of convergence and for its performance related to its independence from the resolution of the detected features (and which are used for the prediction of pixel labels). In particular, other types of network may be chosen depending, for example, on the application context or on the availability of new neural network architectures.
[0072] Dans la mesure où les étiquettes de pixels sont mutuellement exclusives, on peut utiliser une fonction d’activation μ softmax pour la dernière couche convolutive : Since the pixel labels are mutually exclusive, one can use a μ softmax activation function for the last convolutional layer:
[Math. 5]
[Math. 5]
[0073] En sortie de ce réseau décodeur DN, on obtient donc un tenseur P(I) exprimant la classification des pixels de l’image I. At the output of this decoder network DN, we therefore obtain a tensor P(I) expressing the classification of the pixels of the image I.
[0074] Ce tenseur peut être vu comme un ensemble de M cartes de probabilités Pm. Chaque carte de probabilité Pm correspond à un « segment » de l’image, c’est-à-dire à un ensemble de pixels (x,y) qui sont considérés comme correspondant à une même valeur sémantique. Chaque valeur Pm,x,y correspond à la probabilité de ce pixel x,y d’être associé à l’étiquette m, et donc d’appartenir au segment correspondant à la carte Pm. This tensor can be seen as a set of M probability maps P m . Each probability map P m corresponds to a “segment” of the image, that is to say to a set of pixels (x,y) which are considered to correspond to the same semantic value. Each value P m,x,y corresponds to the probability of this pixel x,y of being associated with the label m, and therefore of belonging to the segment corresponding to the map P m .
[0075] Ces probabilités Pm,x,y forment les données d’entrée du réseau de classification CN qui sera expliqué plus loin. These probabilities P m,x,y form the input data of the classification network CN which will be explained later.
[0076] Comme évoqué précédemment, on peut supposer que chaque pixel (x,y) n’est associé qu’à une classe et que les étiquettes de pixels sont mutuellement exclusive. Autrement dit, à partir de ce tenseur P(I), on peut affecter une unique classe à chaque pixel, en choisissant l’indice m qui maximise la valeur de Pm,x,y pour le pixel (x,y). Dans ce tenseur P, binarisé, chaque pixel (x,y) n’est associé à une valeur Pm X y non nulle du tenseur P, que pour une unique valeur de m ∈ (1, 2, ... , M }. As mentioned previously, it can be assumed that each pixel (x,y) is only associated with one class and that the pixel labels are mutually exclusive. In other words, from this tensor P(I), we can assign a unique class to each pixel, by choosing the index m which maximizes the value of P m,x,y for the pixel (x,y). In this binarized tensor P, each pixel (x,y) is associated with a non-zero value P m X y of the tensor P, only for a unique value of m ∈ (1, 2, ... , M } .
[0077] Comme il sera vu plus tard, le réseau de neurones de segmentation SN est entraîné de sorte qu’une de ces cartes de probabilités, arbitrairement Pi, correspond à l’arrière-plan de l’image I. Les autres cartes de probabilités forment donc l’avant-plan de l’image I.
[0078] La classification issue du réseau de segmentation SN, formée par ces autres cartes de probabilités Pm, avec m ∈ (2, 3, , M) , est ensuite fournie à un réseau de neurones de classification CN. As will be seen later, the segmentation neural network SN is trained so that one of these probability maps, arbitrarily Pi, corresponds to the background of the image I. The other probability maps probabilities therefore form the foreground of the image I. The classification resulting from the segmentation network SN, formed by these other maps of probabilities P m , with m ∈ (2, 3, , M), is then supplied to a neural network of classification CN.
[0079] Ce réseau de classification est configuré pour prédire un ensemble d’étiquettes p(I) pour l’image I à partir de la classification P des pixels. This classification network is configured to predict a set of labels p(I) for the image I from the classification P of the pixels.
[0080] On peut écrire p(I) = CN(P(I)) = (CN o SN)(I), où « o » est l’opérateur de combinaison de fonctions. We can write p(I) = CN(P(I)) = (CN o SN)(I), where “o” is the function combination operator.
[0081] Selon un mode de réalisation, le réseau de neurones de classification CN est choisi pour être simple afin de faciliter l’explicabilité des prédictions p(I). [0082] En particulier, il peut comprendre deux couches : une couche de « résumé » PAccording to one embodiment, the CN classification neural network is chosen to be simple in order to facilitate the explainability of the predictions p(I). [0082] In particular, it may comprise two layers: a “summary” layer P
(« summary layer » selon la terminologie habituelle en langue anglaise), et une couche de classification D. ("summary layer" according to the usual terminology in English), and a classification layer D.
[0083] La couche de résumé vise à représenter chaque carte de probabilités Pm par une valeur unique. [0084] Différentes mises en œuvre sont possibles pour déterminer cette valeur unique. The summary layer aims to represent each map of probabilities P m by a unique value. Different implementations are possible to determine this unique value.
[0085] Selon un mode de réalisation, cette valeur unique peut être la moyenne, qui est proportionnelle à la surface couverte par chaque étiquette de pixels. According to one embodiment, this unique value can be the average, which is proportional to the area covered by each pixel label.
[0086] Selon un mode de réalisation, cette valeur unique peut être la valeur maximale de la carte sur l’ensemble des pixels x,y. On peut alors écrire : [Math. 6]
According to one embodiment, this unique value can be the maximum value of the map over all the x,y pixels. We can then write: [Math. 6]
[0087] Dans la mesure où le premier mode de réalisation peut engendrer des problématiques de sur-segmentation, le second mode de réalisation est préféré. [0087] Insofar as the first embodiment can cause problems of over-segmentation, the second embodiment is preferred.
[0088] Selon un mode de réalisation, la couche de classification D peut être un ensemble de couches denses, dans lequel les poids synaptiques sont positifs. Selon un autre mode de réalisation, la couche de classification peut être mise en œuvre par un arbre de décision dérivable. According to one embodiment, the classification layer D can be a set of dense layers, in which the synaptic weights are positive. According to another embodiment, the classification layer can be implemented by a derivable decision tree.
[0089] Selon un mode de réalisation, la couche de classification ne comporte qu’une unique couche dense, avec des poids positifs. L’unicité du nombre de couches permet d’améliorer
l’explicabilité des prédictions d’images. De même, la contrainte de positivité permet l’explicabilité de la contribution de chaque étiquete de pixels m ∈ {2, 3, ... , M} : la prédiction des étiquettes d’image p(I) est définie comme une somme pondérée des prédictions maximales pour chaque étiquette de pixel, chaque prédiction maximale étant pondérée par un poids positif pouvant être interprété comme un niveau de confiance. According to one embodiment, the classification layer only comprises a single dense layer, with positive weights. The uniqueness of the number of layers makes it possible to improve the explainability of image predictions. Similarly, the positivity constraint allows the explainability of the contribution of each pixel label m ∈ {2, 3, ... , M}: the prediction of the image labels p(I) is defined as a weighted sum maximum predictions for each pixel label, each maximum prediction being weighted by a positive weight that can be interpreted as a level of confidence.
[0090] Cette couche de classification D peut être définie par : This classification layer D can be defined by:
[Math. 7]
[Math. 7]
[0091] représentent des poids synaptiques positifs, bn représentent des biais, et s est une fonction d’activation. zm représente les entrées, c’est-à-dire la sortie ou valeur des neurones de la couche précédente P. [0091] represent positive synaptic weights, b n represent biases, and s is an activation function. z m represents the inputs, i.e. the output or value of the neurons of the previous layer P.
[0092] Dans la mesure où les étiquettes d’image ne sont pas mutuellement exclusives, on peut choisir comme fonction d’activation s la fonction sigmoïde : Insofar as the image labels are not mutually exclusive, the sigmoid function can be chosen as the activation function:
[Math. 8]
[Math. 8]
[0093] On obtient ainsi en sortie N prédictions d’étiquettes d’image, parmi lesquelles on peut déterminer un ensemble d’étiquettes en fonction de la valeur pn. [0093] N image label predictions are thus obtained at the output, among which it is possible to determine a set of labels as a function of the value p n .
[0094] En particulier, on peut choisir parmi les valeurs pn celles qui dépassent un seuil prédéfini, ou bien les quelques meilleures, etc. In particular, it is possible to choose from among the values p n those which exceed a predefined threshold, or else the few best, etc.
[0095] La valeur pn associée à chaque étiquette quantifie un degré de confiance, ou de vraisemblance. Elle peut être présentée en résultat à l’utilisateur comme indicateur. The value p n associated with each label quantifies a degree of confidence, or likelihood. It can be presented as a result to the user as an indicator.
[0096] Selon un mode de réalisation, afin d’améliorer l’explicabilité des prédictions d’étiquettes d’image effectuées, on met en place une phase d’apprentissage S0 configurée pour attribuer une valeur sémantique aux cartes de probabilités Pm. According to one embodiment, in order to improve the explicability of the image label predictions made, a learning phase S0 is implemented, configured to assign a semantic value to the probability maps P m .
[0097] Comme évoqué précédemment et ainsi que représenté en [FIG. 1], la phase d’apprentissage S0 consiste à fournir des images 41, 42, 43... 4k d’un ensemble
d’apprentissage 4. Chacune de ces images est associé à des étiquettes d’image préalablement établies, respectivement 51, 52, 53... 5k. k est ici la cardinalité de l’ensemble d’apprentissage 4. [0097] As mentioned above and as shown in [FIG. 1], the learning phase S0 consists in providing images 4 1 , 4 2 , 4 3 ... 4 k of a set learning 4. Each of these images is associated with previously established image labels, respectively 5 1 , 5 2 , 5 3 ... 5 k . k is here the cardinality of the training set 4.
[0098] Un des aspects de l’invention consiste à permettre l’apprentissage et la détermination de l’ensemble des paramètres des réseaux de neurones, afin d’améliorer l’explicabilité des prédictions pm tout en conservant de bonnes performances de prédiction et de convergence. One of the aspects of the invention consists in allowing the learning and the determination of all the parameters of the neural networks, in order to improve the explainability of the predictions p m while maintaining good prediction performance and of convergence.
[0099] Une difficulté pour la conception d’un mécanisme pour mettre en œuvre cette phase d’apprentissage est que bien qu’on peut disposer d’étiquettes d(I) préalablement établies pour les images, nous ne pouvons pas disposer de telles étiquettes préétablies pour les pixels. [0099] A difficulty for the design of a mechanism to implement this learning phase is that although we can have labels d(I) previously established for the images, we cannot have such labels. presets for pixels.
[0100] Pour ce faire, ainsi que précédemment évoqué, on peut entraîner le réseau de neurones de segmentation SN de sorte qu’une de ces cartes de probabilités, arbitrairement Pi, corresponde à l’arrière-plan de l’image I. Les autres cartes de probabilités forment donc l’avant-plan de l’image I. To do this, as previously mentioned, the segmentation neural network SN can be trained so that one of these probability maps, arbitrarily Pi, corresponds to the background of the image I. other probability maps therefore form the foreground of the image I.
[0101] La [FIG. 7] illustre l’enchaînement des étapes fonctionnelles selon un mode de réalisation de l’invention. Les flèches en trait plein illustrent les enchaînements mis en en place en phases de prédiction SI, S2 (ou d’exploitation), tandis que les flèches et blocs en pointillés illustrent ceux mis en place uniquement lors de la phase d’entrainement S0. [0101] The [FIG. 7] illustrates the sequence of functional steps according to one embodiment of the invention. The solid line arrows illustrate the sequences set up in the SI, S2 (or exploitation) prediction phases, while the dotted arrows and blocks illustrate those set up only during the S0 training phase.
[0102] Ainsi, pour toute image I de l’ensemble d’apprentissage, on effectue les étapes précédemment décrites de prédiction d’une classification P des pixels, par le réseau de segmentation SN, puis de prédiction d’un ensemble d’étiquete p(I) pour l’image à partir de la classification P des pixels, par le réseau de classification CN. Thus, for any image I of the learning set, the previously described steps of prediction of a classification P of the pixels, by the segmentation network SN, are carried out, then of prediction of a set of labels p(I) for the image from the P classification of the pixels, by the CN classification network.
[0103] On définit une contrainte qui doit être respectée par le réseau de neurones : We define a constraint that must be respected by the neural network:
Si on fournit une image de fond I, c’est-à-dire à laquelle aucune étiquette d’image n’est associée, ou encore pour laquelle If we provide a background image I, that is to say to which no image label is associated, or for which
[Math. 9]
[Math. 9]
- Alors, le réseau de segmentation SN ne doit prédire que des étiquetes de pixels de fond, c’est-à-dire de carte de probabilité Pi. - Then, the segmentation network SN should only predict background pixel labels, i.e. probability map Pi.
[0104] Afin de respecter cette contrainte, le procédé comprend donc la détermination d’une localisation de l’arrière-plan de l’image, à partir de la classification des pixels P(I). La
localisation correspond à la constitution d’un segment d’images correspondant à l’arrière-plan. Cet arrière-plan, comme il sera vu plus loin, correspond à des zones sans valeur sémantique et qui ne peuvent donc pas être utilisées pour la prédiction d’étiquettes d’image. In order to comply with this constraint, the method therefore comprises the determination of a location of the background of the image, from the classification of the pixels P(I). The localization corresponds to the constitution of a segment of images corresponding to the background. This background, as will be seen later, corresponds to areas with no semantic value and which therefore cannot be used for the prediction of image labels.
[0105] En particulier, selon un mode de réalisation, cette détermination de la localisation comprend la détermination d’une image occultée I à partir de la classification Pi des pixels, correspondant à l’arrière-plan de l’image. In particular, according to one embodiment, this determination of the localization comprises the determination of an occulted image I from the classification Pi of the pixels, corresponding to the background of the image.
[0106] Selon un mode de réalisation, on optimise les poids desdits réseaux de neurones, selon un ensemble de fonctions de coût configuré pour, par itération sur les images de l’ensemble d’apprentissage, maximiser la qualité dudit ensemble d’étiquettes p(I) en fonction d’étiquettes préalablement établies et associé à ladite image et maximiser la probabilité de prédire aucune étiquette pour ladite image occultée. According to one embodiment, the weights of said neural networks are optimized, according to a set of cost functions configured to, by iterating over the images of the training set, maximize the quality of said set of labels p (I) based on previously established labels associated with said image and maximize the probability of predicting no label for said occluded image.
[0107] Cette image occultée î peut être déterminée comme suit : This concealed image î can be determined as follows:
[Math. 10]
[Math. 10]
[0108] Ce produit peut se faire élément par élément, dans le cas d’une image à plusieurs plans, notamment une image en couleur. This product can be produced element by element, in the case of an image with several planes, in particular a color image.
[0109] Un mécanisme d’occlusion est décrit dans un contexte différent dans l’article « Visualizing and understanding convolutional networks » de M. D. Zeiler, R. Fergus, in Proc. ECCV, pp. 818-833, septembre 2014. Dans cet article, on balaie un masque carré au-dessus de l’image et, pour chaque position du masque, une image occultée est créée et traitée par le réseau de classification. On retient alors les positions du masque qui perturbent la classification. [0109] An occlusion mechanism is described in a different context in the article “Visualizing and understanding convolutional networks” by M. D. Zeiler, R. Fergus, in Proc. ECCV, pp. 818-833, September 2014. In this article, a square mask is scanned over the image and, for each position of the mask, an occluded image is created and processed by the classification network. The positions of the mask which disturb the classification are then retained.
[0110] Le mécanisme d’occlusion décrit peut être considéré comme une amélioration de celui proposé par M. D. Zeiler et R. Fergus dans lequel le masque est adapté à chaque image et on obtient donc une unique image occultée à traiter par le réseau de classification. Cette approche permet un gain en rapidité (une seule inférence) et en précision (échelle du pixel plutôt que du masque carré). En outre, contrairement à ce qui est décrit dans cet article, le mécanisme d’occlusion mis en œuvre selon un mode de réalisation de l’invention n’est effectué que lors de la phase d’apprentissage S0. Egalement, il est mis en œuvre que dans le but d’optimiser l’apprentissage de la carte de probabilité Pi. The occlusion mechanism described can be considered as an improvement of that proposed by M. D. Zeiler and R. Fergus in which the mask is adapted to each image and a single occluded image is therefore obtained to be processed by the classification network. This approach allows a gain in speed (a single inference) and precision (scale of the pixel rather than the square mask). Furthermore, contrary to what is described in this article, the occlusion mechanism implemented according to one embodiment of the invention is only performed during the learning phase S0. Also, it is implemented only in order to optimize the learning of the probability map Pi.
[0111] Ainsi, l’apprentissage vise à d’une part traiter l’image I avec comme objectif de lui affecter la ou les bonnes étiquettes d’images p(I), et d’autre part de traiter l’image occultée î
avec comme objectif de lui affecter aucune étiquette, ce qui traduit le fait que tous les pixels pertinents sont bien occultés. Thus, the learning aims on the one hand to process the image I with the objective of assigning it the correct image label(s) p(I), and on the other hand to process the concealed image î with the objective of assigning no label to it, which reflects the fact that all the relevant pixels are well hidden.
[0112] Dans le cas d’imagerie médicale, on obtient ainsi une carte de probabilités Pi optimisée de telle sorte que toutes les lésions soient supprimées de l’image occultée î. In the case of medical imaging, one thus obtains a probability map Pi optimized so that all the lesions are removed from the hidden image î.
[0113] L’image occultée doit répondre à deux propriétés qui doivent faire objet d’une optimisation pendant la phase d’apprentissage : [0113] The hidden image must meet two properties that must be optimized during the learning phase:
(i) l’image occultée doit toujours être perçue comme une image d’arrière-plan, quel que soient les étiquettes préalablement établies pour l’image I. Cela indique que tous les pixels concernés ont été correctement occultés (propriété de sensibilité de l’occlusion) ; (i) the occluded image should always be perceived as a background image, regardless of the labels previously established for the I-image. This indicates that all relevant pixels have been properly occluded (sensitivity property of the occlusion);
(ii) la carte de probabilité Pi doit représenter une surface aussi étendue que possible. Autrement dit, l’image complémentaire doit être aussi parcimonieuse que possible, c’est-à-dire qu’elle doit comporter des pixels aussi épars que possible (propriété de la spécificité de l’occlusion). (ii) the probability map Pi should represent as large an area as possible. In other words, the complementary image must be as sparse as possible, that is, it must contain pixels as sparse as possible (property of occlusion specificity).
[0114] Afin d’optimiser la première propriété (i), l’image occultée I doit être fournie à un réseau de neurones de classification CN’, et la carte d’arrière-plan Pi doit être optimisée, par apprentissage, de sorte à ce que î soit prédite comme arrière-plan. In order to optimize the first property (i), the occulted image I must be supplied to a neural network of classification CN', and the background map Pi must be optimized, by learning, so that î is predicted as the background.
[0115] Selon un mode de réalisation, les réseaux de neurones CN o SN peuvent être utilisés pour ce faire. Toutefois, l’optimisation de (CN o SN)(Î) ne va pas seulement impacter la détection des pixels d’arrière-plan mais également l’ensemble de la classification. According to one embodiment, the neural networks CN o SN can be used to do this. However, the optimization of (CN o SN)(Î) will not only impact the detection of background pixels but also the whole classification.
[0116] Aussi, selon un mode de réalisation, un réseau de neurones de classification CN’ est mis en œuvre, pendant la phase d’apprentissage, afin d’isoler les deux convergences dans une branche auxiliaire de classification. Also, according to one embodiment, a CN' classification neural network is implemented, during the learning phase, in order to isolate the two convergences in an auxiliary classification branch.
[0117] Il est à noter que l’utilisation d’un tel réseau de neurones de classification supplémentaire et d’une branche auxiliaire de classification ne sont pas indispensables. Cette optimisation proposée permet d’augmenter le segment d’image correspondant à l’arrière-plan, et, ce faisant, de réduire Tavant-plan au sein duquel les zones d’intérêts sont recherchées. Le but est d’optimiser la méthode et les poids synaptiques des réseaux de neurones afin d’obtenir une meilleure localisation des lésions que l’on cherche à déterminer sur les images numériques. L’absence de ces caractéristiques permettra néanmoins leur détermination, avec un taux de
prédiction correcte d’étiquettes aussi élevé (voire plus élevé), mais avec une précision moindre au niveau du pixel. It should be noted that the use of such an additional classification neural network and of an auxiliary classification branch are not essential. This proposed optimization makes it possible to increase the image segment corresponding to the background, and, in doing so, to reduce the foreground within which the areas of interest are sought. The goal is to optimize the method and the synaptic weights of the neural networks in order to obtain a better localization of the lesions that one seeks to determine on the digital images. The absence of these characteristics will nevertheless allow their determination, with a rate of correct label prediction as high (or even higher), but with less precision at the pixel level.
[0118] On peut supposer que le réseau encodeur EN réalise une séparation de l’arrière-plan et de l’avant plan, de sorte qu’il peut être utilisé pour l’optimisation de l’arrière-plan. La branche auxiliaire de classification se compose donc des réseaux EN et CN’, c’est-à-dire (CN’ o EN). La réutilisation du réseau encodeur EN permet notamment de réduire la complexité de l’entrainement. [0118] It can be assumed that the encoder network EN performs a separation of the background and the foreground, so that it can be used for the optimization of the background. The auxiliary classification branch therefore consists of the EN and CN’ networks, i.e. (CN’ o EN). The reuse of the EN encoder network makes it possible in particular to reduce the complexity of the training.
[0119] La couche " top activation " produit le tenseur à la frontière entre la partie encodeur et la partie décodeur du réseau de segmentation SN. On considère que c'est dans ce tenseur que l'on trouve l’information de plus haut niveau sémantique et donc, le mieux à même de permettre une classification de l'image. Aussi, le réseau de neurones auxiliaire de classification CN’ peut prendre pour entrée le tenseur en sortie du réseau encodeur EN, c’est-à-dire le tenseur produit par la couche " top activation” . The “top activation” layer produces the tensor at the boundary between the encoder part and the decoder part of the segmentation network SN. It is considered that it is in this tensor that we find the information of the highest semantic level and therefore, the best able to allow a classification of the image. Also, the auxiliary neural network of classification CN' can take as input the tensor at the output of the encoder network EN, that is to say the tensor produced by the "top activation" layer.
[0120] Le réseau de neurones auxiliaire de classification CN’ peut être constitué d’une couche de type "global average pooling" (moyenne globale des cartes d’activation), suivie d’une couche dense classique. Tout comme le réseau de classification CN, ce réseau auxiliaire a une sortie non mutuellement exclusive. The CN' classification auxiliary neural network can consist of a "global average pooling" type layer (global average of the activation maps), followed by a classic dense layer. Like the CN classification network, this auxiliary network has a non-mutually exclusive output.
[0121] Si T=EN(I), la sortie du réseau CN’(T) peut s’écrire : [0121] If T=EN(I), the network output CN’(T) can be written:
[Math. 11]
où s est la fonction sigmoïde, précédemment décrite, et w'l n et b'n représentent les poids synaptiques et les biais, respectivement et L est le nombre de composantes de la couche d’entrée (ou en sortie du réseau encodeur EN). [Math. 11] where s is the sigmoid function, previously described, and w' ln and b' n represent the synaptic weights and the biases, respectively and L is the number of components of the input layer (or at the output of the encoder network EN).
[0122] La branche CN’ o EN forme donc une branche de classification pour classifier les images occultées, afin d’optimiser la classification des images d’arrière-plan. The CN' o EN branch therefore forms a classification branch for classifying the hidden images, in order to optimize the classification of the background images.
[0123] Afin de permettre l’optimisation correcte des poids synaptiques (et des biais) pendant la phase d’apprentissage S0, des fonctions de coûts (ou « loss functions » en anglais) doivent également être définies.
Le but principal du mécanisme proposé consiste à classifier correctement les étiquettes d’images. Une fonction de coût est donc définie afin de mesurer la convergence entre les prédictions d’étiquettes p(I) fournies et les étiquettes préalablement établies ^(I), avec [Math.12]
[0124] On peut utiliser une fonction de coût L basée sur une entropie croisée (ou « cross entropie » en anglais). On peut la définir par : [Math.13]
avec p(I)=CNoSN(I). [0125] Pour la branche auxiliaire de classification CN’oEN, on peut définir une fonction de coût ℒ’ également basée sur une entropie croisée. On peut la définir, de la même façon que la fonction de coût ℒ, par l’équation : [Math.14]
[0126] Une autre fonction de coût est définie afin d’optimiser l’apprentissage du réseau auxiliaire de classification CN’ afin qu’il converge vers le respect de la première propriété de l’image occultée Î (sensibilité de l’occlusion). [0127] Pour une image d’arrière-plan, on peut écrire : [Math.15]
[0128] Cette expression indique qu’aucune étiquette d’image n’est attribuée à une image d’arrière-plan. Typiquement, dans le cas de l’imagerie médicale, cela signifie qu’aucune pathologie ne peut être associée à une image qui ne comporte pas de lésions.
[0129] La fonction de coût Locclusion permettant d’optimiser la sensibilité de l’occlusion peut être basée sur une norme euclidienne. Elle peut par exemple s’écrire : [Math.16]
[0130] Une autre fonction de coût, Lparcimonie peut être définie afin de contrôler l’apprentissage du réseau de neurones SN afin d’optimiser le respect de la seconde propriété de l’image occultée (c’est-à-dire la propriété de la spécificité de l’occlusion). [0131] Cette fonction de coût permet de maximiser une surface de la classification P1 des pixels ou, inversement, de minimiser celle de la classification des pixels d’avant-plan. [0132] Cette fonction de coût Lparcimonie peut par exemple être une norme 1 sur les prédictions des cartes de probabilités Pm, avec m∈{2,3, … , M} fournies par le réseau de neurones SN. Cette fonction de coût peut s’écrire : [Math.17]
[0133] L’ensemble de fonctions de coût peut en outre comporter une fonction de coût globale Lglobale. Cette fonction de coût globale peut se baser sur l’ensemble des fonctions de coût précédemment décrites et servir à la convergence des différents réseaux de neurones lors de la phase d’apprentissage. [0134] Ainsi, à chaque itération sur l’ensemble d’apprentissage, on peut donc utiliser cette fonction de coût globale Lglobale qui peut s’exprimer, par exemple : [Math.18]
dans laquelle α, β et Υ sont des paramètres réglant les contributions respectives des différentes fonctions de coûts dans la fonction de coût globale Lglobale [0135] Cette fonction de coût globale permet la convergence par rétro-propagation des gradients des erreurs déterminées par la fonction de coût afin de déterminer, itérativement, les
poids synaptiques des différents réseaux de neurones, de sorte à optimiser les différentes contraintes mesurées par les contributions £, £\ ^occlusion et ^parcimonie. In order to allow the correct optimization of the synaptic weights (and of the biases) during the learning phase S0, cost functions (or "loss functions" in English) must also be defined. The main purpose of the proposed mechanism is to correctly classify image labels. A cost function is therefore defined in order to measure the convergence between the provided label predictions p(I) and the previously established labels ^(I), with [Math.12] It is possible to use a cost function L based on cross-entropy. It can be defined by: [Math.13] with p(I)=CNoSN(I). For the auxiliary classification branch CN'oEN, a cost function ℒ' can also be defined based on a cross-entropy. It can be defined, in the same way as the cost function ℒ, by the equation: [Math.14] Another cost function is defined in order to optimize the learning of the auxiliary classification network CN′ so that it converges towards respecting the first property of the concealed image Î (sensitivity of the occlusion). [0127] For a background image, we can write: [Math.15] [0128] This expression indicates that no image label is assigned to a background image. Typically, in the case of medical imaging, this means that no pathology can be associated with an image that does not include lesions. The cost function L occlusion making it possible to optimize the sensitivity of the occlusion can be based on a Euclidean norm. It can for example be written: [Math.16] Another cost function, Lparsimony can be defined in order to control the training of the neural network SN in order to optimize the respect of the second property of the hidden image (that is to say the property of the specificity of the occlusion). This cost function makes it possible to maximize an area of the classification P1 of the pixels or, conversely, to minimize that of the classification of the foreground pixels. This parsimony cost function L can for example be a norm 1 on the predictions of the maps of probabilities Pm, with m∈{2,3, …, M} supplied by the neural network SN. This cost function can be written: [Math.17] The set of cost functions can also comprise a global cost function Lglobale. This global cost function can be based on all the previously described cost functions and serve for the convergence of the various neural networks during the learning phase. Thus, at each iteration on the learning set, we can therefore use this global cost function Lglobale which can be expressed, for example: [Math.18] in which α, β and Υ are parameters regulating the respective contributions of the various cost functions in the global cost function Lglobale This global cost function allows convergence by back-propagation of the gradients of the errors determined by the function of cost in order to determine, iteratively, the synaptic weights of the different neural networks, so as to optimize the different constraints measured by the contributions £, £\ ^occlusion and ^parsimony.
[0136] Les paramètres a, b et g peuvent être déterminés de façon expérimentale. Il s’avère que le paramètre g est le plus sensible et peut servir à régler un compromis entre la qualité de la classification des images (attribution des étiquettes d’images) et la qualité de la classification des pixels (attribution des étiquettes des pixels), permettant l’explicabilité. The parameters a, b and g can be determined experimentally. It turns out that the parameter g is the most sensitive and can be used to adjust a trade-off between the quality of image classification (attribution of image labels) and the quality of pixel classification (attribution of pixel labels) , allowing explainability.
[0137] Comme dit précédemment, l’attribution des étiquettes de pixels P(I) ainsi que le support exclusif de la prédiction des étiquettes d’images p(I) sur ces étiquettes de pixels P(I) permet l’explicabilité des prédictions des étiquettes d’images. En effet, il peut suffire de considérer les contributions des cartes de prédiction P(I) ayant conduite à une prédiction p(I) pour apporter, à un utilisateur, une bonne compréhension (c’est-à-dire sémantique) des éléments ayant conduit à la prédiction : ces cartes de prédiction peuvent être affichées, au besoin, de sorte à montrer explicitement les ensembles de pixels ayant permis la prédiction. Chaque ensemble de pixels correspond, normalement, à une lésion unique, si la classification s’est bien déroulée. [0137] As said previously, the allocation of the pixel labels P(I) as well as the exclusive support of the prediction of the image labels p(I) on these pixel labels P(I) allows the explanation of the predictions image labels. Indeed, it may suffice to consider the contributions of the prediction maps P(I) having led to a prediction p(I) to provide a user with a good (i.e. semantic) understanding of the elements having leads to the prediction: these prediction maps can be displayed, if necessary, so as to explicitly show the sets of pixels that allowed the prediction. Each set of pixels normally corresponds to a single lesion, if the classification has gone well.
[0138] Selon un mode de réalisation, lorsqu’une image I est fournie, on obtient, par inférence, une prédiction p(I), qui est un vecteur de N prédictions d’étiquettes pn, ainsi que M-l cartes de probabilités Pm pour les étiquettes de pixels. According to one embodiment, when an image I is supplied, a prediction p(I) is obtained by inference, which is a vector of N label predictions p n , as well as Ml maps of probabilities P m for pixel labels.
[0139] Selon un mode de réalisation de l’invention, on fournit lors de la phase de prédiction, une explication associée à chaque étiquette de l’ensemble d’étiquette. Ainsi, il est possible pour un utilisateur de comprendre les raisons qui ont amené l’attribution des étiquettes aux images numériques. According to one embodiment of the invention, during the prediction phase, an explanation associated with each label of the label set is provided. Thus, it is possible for a user to understand the reasons that led to the assignment of labels to digital images.
[0140] Selon un mode de réalisation, ces explications peuvent se baser à la fois sur les étiquettes de pixels (c’est-à-dire les cartes probabilités) ainsi que sur les poids synaptiques wm,n des couches de classification D. Ces poids synaptiques indiquent la contribution de chaque étiquette de pixel dans l’attribution des étiquettes d’image. According to one embodiment, these explanations can be based both on the pixel labels (i.e. the probability maps) as well as on the synaptic weights w m ,n of the classification layers D. These synaptic weights indicate the contribution of each pixel label in the assignment of image labels.
[0141] Selon un mode de réalisation, on peut mettre en œuvre la procédure suivante : According to one embodiment, the following procedure can be implemented:
Les M-l pixels qui maximisent la prédiction des cartes de probabilités Pm peuvent être présentés à l’utilisateur. The Ml pixels which maximize the prediction of the maps of probabilities P m can be presented to the user.
On note i2 i3 . iM les intensités, ou valeurs, (positives) de ces pixels. Ain d’expliquer la prédiction d’étiquette d’image pn, ces intensités peuvent être multipliées, respectivement, par les poids (également positifs) Chaque
produit est représentatif du poids de l’étiquette de pixels m dans la prédiction
Pn. We denote i2 i3 . iM the intensities, or values, (positive) of these pixels. In order to explain the image label prediction p n , these intensities can be multiplied, respectively, by the (also positive) weights Each product is representative of the weight of the pixel label m in the prediction Pn.
[0142] À l’issue de la phase d’apprentissage S0, des experts peuvent en outre indiquer des noms aux cartes de probabilités Pm. Auquel cas, ces noms peuvent être utilisés afin d’indiquer les causes de la prédiction pn en sus, ou à la place de, numéro de l’étiquette de pixel m associée. At the end of the learning phase S0, experts can also indicate names to the probability maps P m . In which case, these names can be used in order to indicate the causes of the prediction p n in addition to, or instead of, the number of the associated pixel label m.
[0143] Le mécanisme a été décrit dans l’article de Gwenolé Quellec, Hassan Al Hajj, Mathieu Lamard, Pierre-Henri Conze, Pascale Massin, Béatrice Cochener, « ExplAIn: Explanatory artifïcial intelligence for diabetic retinopathy diagnosis » in Medical Image Analysis, Volume 72, 2021, ISSN 1361-8415, [0144] Cet article présente notamment des résultats expérimentaux du procédé décrit. Ceux-ci montrent notamment que les règles retrouvées par l’architecture basée sur les réseaux de neurones sont cohérentes avec la classification d’experts humains (voir tableau 3). [0143] The mechanism has been described in the article by Gwenolé Quellec, Hassan Al Hajj, Mathieu Lamard, Pierre-Henri Conze, Pascale Massin, Béatrice Cochener, “ExplAIn: Explanatory artifïcial intelligence for diabetic retinopathy diagnosis” in Medical Image Analysis, Volume 72, 2021, ISSN 1361-8415, [0144] This article presents in particular experimental results of the method described. These show in particular that the rules found by the architecture based on neural networks are consistent with the classification of human experts (see Table 3).
[0145] Bien entendu, la présente invention n'est pas limitée aux exemples et au mode de réalisation décrits et représentés, mais est défini par les revendications. Elle est notamment susceptible de nombreuses variantes accessibles à l’homme de l’art.
Of course, the present invention is not limited to the examples and to the embodiment described and represented, but is defined by the claims. It is in particular susceptible of numerous variants accessible to those skilled in the art.
Claims
[Revendication 1]| Procédé pour la prédiction d’étiquettes associées à une image numérique, comportant une phase de prédiction consistant à fournir, dans une première étape (SI), ladite image (I) à un réseau de neurones de segmentation (SN) configuré pour prédire une classification P des pixels de ladite image dans un premier ensemble de classes ; et, à fournir, dans une deuxième étape (S2), ladite classification à un réseau de neurones de classification (CN), configuré pour prédire un ensemble d’étiquettes p(I) pour ladite image à partir de ladite classification P des pixels, sauf un segment correspondant à un arrière-plan de ladite image ; lesdits réseaux de neurones de segmentation et de classification étant déterminés par une phase d’apprentissage (S0) comportant, pour chaque image d’un ensemble d’apprentissage (TS), lesdites première (SI) et deuxième étapes (S2) ; la détermination d’une localisation dudit arrière-plan de ladite image, à partir de la classification des pixels l’optimisation des poids desdits réseaux de neurones, selon un ensemble de fonctions de coût configuré pour, par itération, maximiser la qualité dudit ensemble d’étiquetes p(I) en fonction d’étiquettes préalablement établies et associé à ladite image, et maximiser la probabilité de ne prédire aucune étiquette pour ledit arrière-plan. [Claim 1]| Method for predicting labels associated with a digital image, comprising a prediction phase consisting in supplying, in a first step (SI), said image (I) to a segmentation neural network (SN) configured to predict a classification P pixels of said image in a first set of classes; and, in a second step (S2), supplying said classification to a classification neural network (CN), configured to predict a set of labels p(I) for said image from said classification P of the pixels, except for a segment corresponding to a background of said image; said segmentation and classification neural networks being determined by a learning phase (S0) comprising, for each image of a learning set (TS), said first (SI) and second steps (S2); determining a location of said background of said image, from the classification of pixels optimizing the weights of said neural networks, according to a set of cost functions configured to, by iteration, maximize the quality of said set of labels p(I) according to labels previously established and associated with said image, and maximizing the probability of predicting no label for said background.
[Revendication 2] Procédé selon la revendication précédente, dans lequel la détermination d’une localisation de l’arrière-plan de ladite image comprend la détermination d’une image occultée I, à partir de la classification Pi des pixels, correspondant à l’arrière- plan de l’image, ladite image occultée étant définie par définissant un pixel de ladite image.
[Claim 2] Method according to the preceding claim, in which the determination of a location of the background of the said image comprises the determination of an occulted image I, from the classification Pi of the pixels, corresponding to the background of the image, said hidden image being defined by defining a pixel of said image.
[Revendication 3] Procédé selon la revendication précédente, dans lequel, durant la phase d’apprentissage, on entraîne un réseau de neurones auxiliaire de classification (CN’) afin d’optimiser la classification de ladite image occultée. [Claim 3] Method according to the preceding claim, in which, during the learning phase, an auxiliary classification neural network (CN') is trained in order to optimize the classification of the said hidden image.
[Revendication 4] Procédé selon la revendication précédente, dans lequel ledit ensemble de fonctions de coût comporte une fonction de coût globale Lglobale qui s’exprime
[Math.19]
avec - L est une fonction de coût permettant de maximiser la qualité dudit ensemble d’étiquettes p(I) en fonction d’étiquettes préalablement établies - L’ est une fonction de coût permettant de maximiser la qualité des prédictions dudit réseau de neurones auxiliaire de classification (CN’) en fonction desdites étiquettes préalablement établies : - Locclusion est une fonction de coût permettant de maximiser la probabilité de prédire aucune étiquette pour ladite image occultée ; et - Lparcimonie est une fonction de coûtpermettantde maximiser une surface de ladite classification P1 des pixels, et α, β et Υ sont des paramètres. [Claim 4] Method according to the preceding claim, in which said set of cost functions comprises a global global cost function L which is expressed [Math.19] with - L is a cost function making it possible to maximize the quality of said set of labels p(I) as a function of previously established labels - L' is a cost function making it possible to maximize the quality of the predictions of said auxiliary neural network of classification (CN') as a function of said previously established labels: - Occlusion is a cost function making it possible to maximize the probability of predicting no label for said occluded image; and - L parsimony is a cost function making it possible to maximize an area of said classification P1 of the pixels, and α, β and Υ are parameters.
[Revendication 5] Procédé selon l’une des revendications précédentes, dans lequel ledit réseau de neurones de segmentation (SN) est un réseau encodeur-décodeur formé d’un réseau de neurones encodeur (EN) et d’un réseau de neurones décodeur (DN), arrangés en cascade. [Claim 5] Method according to one of the preceding claims, in which the said segmentation neural network (SN) is an encoder-decoder network formed of an encoder neural network (EN) and a decoder neural network ( DN), arranged in cascade.
[Revendication 6] Procédé selon l’une des revendications précédentes, dans lequel ledit réseau de neurones de classification (CN) est constitué de couches de résumé π, et de classification Δ. [Claim 6] Method according to one of the preceding claims, in which the said neural network of classification (CN) consists of layers of summary π, and classification Δ.
[Revendication 7] Procédé selon la revendication précédente, dans lequel la sortie de ladite couche de classification peut s’exprimer, en fonction d’un vecteur d’entrée zm [Math.20]
Avec wm,n représentant des poids synaptiques positifs, σ représentant la fonction d’activation des neurones de ladite couche de classification , N représentant le nombre desdites étiquettes et bn représentant des biais..
[Claim 7] Method according to the preceding claim, in which the output of the said classification layer can be expressed, as a function of an input vector zm [Math.20] With wm,n representing positive synaptic weights, σ representing the activation function of neurons of said classification layer, N representing the number of said labels and bn representing biases.
[Revendication 8] Procédé selon la revendication précédente, dans lequel on fournit lors de ladite phase de prédiction, une explication associée à chaque étiquette dudit ensemble d’étiquette. [Claim 8] Method according to the preceding claim, in which an explanation associated with each label of said set of labels is provided during said prediction phase.
[Revendication 9] Procédé selon la revendication précédente, dans lequel ladite explication est basée sur lesdits poids synaptiques wm,n de ladite couche de classification D et sur les sorties desdites couches de résumé P. [Claim 9] Method according to the preceding claim, wherein said explanation is based on said synaptic weights w m , n of said classification layer D and on the outputs of said summary layers P.
[Revendication 10] Procédé selon l’une des revendications 7 ou 8, dans lequel, à l’issue de la phase d’apprentissage (S0), des noms sont associés aux cartes de probabilités Pm, et, lors de la phase de prédiction, lesdits noms sont fournis avec lesdites explications. [Claim 10] Method according to one of Claims 7 or 8, in which, at the end of the learning phase (S0), names are associated with the maps of probabilities P m , and, during the phase of prediction, said names are provided with said explanations.
[Revendication 11] Dispositif pour la prédiction d’étiquettes associées à une image numérique, comportant des moyens pour la mise en œuvre du procédé selon l’une des revendications précédentes. |
[Claim 11] Device for predicting labels associated with a digital image, comprising means for implementing the method according to one of the preceding claims. |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2007935A FR3113157B1 (en) | 2020-07-28 | 2020-07-28 | Prediction of labels for digital images, in particular medical ones, and provision of explanations associated with said labels |
PCT/FR2021/051363 WO2022023646A1 (en) | 2020-07-28 | 2021-07-21 | Prediction of labels for digital images, especially medical ones, and supply of explanations associated with these labels |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4189642A1 true EP4189642A1 (en) | 2023-06-07 |
Family
ID=74045528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP21752088.1A Pending EP4189642A1 (en) | 2020-07-28 | 2021-07-21 | Prediction of labels for digital images, especially medical ones, and supply of explanations associated with these labels |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230306731A1 (en) |
EP (1) | EP4189642A1 (en) |
FR (1) | FR3113157B1 (en) |
IL (1) | IL300233A (en) |
WO (1) | WO2022023646A1 (en) |
-
2020
- 2020-07-28 FR FR2007935A patent/FR3113157B1/en active Active
-
2021
- 2021-07-21 IL IL300233A patent/IL300233A/en unknown
- 2021-07-21 US US18/018,310 patent/US20230306731A1/en active Pending
- 2021-07-21 WO PCT/FR2021/051363 patent/WO2022023646A1/en active Application Filing
- 2021-07-21 EP EP21752088.1A patent/EP4189642A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
IL300233A (en) | 2023-03-01 |
US20230306731A1 (en) | 2023-09-28 |
FR3113157A1 (en) | 2022-02-04 |
FR3113157B1 (en) | 2022-09-09 |
WO2022023646A1 (en) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11314990B2 (en) | Method for acquiring object information and apparatus for performing same | |
Saleh et al. | Computer vision and deep learning for fish classification in underwater habitats: A survey | |
CA3061767A1 (en) | Systems and methods to enable continual, memory-bounded learning in artificial intelligence and deep learning continuously operating applications across networked compute edges | |
US20200302185A1 (en) | Recognizing minutes-long activities in videos | |
TW202127370A (en) | Machine learning-based defect detection of a specimen | |
KR20190024400A (en) | Object recognition apparatus and controlling method thereof | |
FR2994495A1 (en) | METHOD AND SYSTEM FOR DETECTING SOUND EVENTS IN A GIVEN ENVIRONMENT | |
KR20220156769A (en) | Method and system of classifying products manufactured by manufacturing process | |
EP4027269A1 (en) | Method for construction and for driving a detector of the presence of anomalies in a time signal, associated devices and method | |
EP4189642A1 (en) | Prediction of labels for digital images, especially medical ones, and supply of explanations associated with these labels | |
US20230326183A1 (en) | Data Collection and Classifier Training in Edge Video Devices | |
EP4099228A1 (en) | Automatic learning without annotation improved by adaptive groupings in open assembly of classes | |
Sangma et al. | A survey on fish health monitoring approaches using computer vision techniques | |
US20240071105A1 (en) | Cross-modal self-supervised learning for infrastructure analysis | |
FR3080932A1 (en) | AUTOMATIC GENERATION METHOD OF ARTIFICIAL NEURON NETWORKS | |
US20240144635A1 (en) | Techniques For Unsupervised Anomaly Classification Using An Artificial Intelligence Model | |
US20210248464A1 (en) | Computer-implemented method and device for machine learning | |
WO2024009026A1 (en) | Method and device for classifying and localising objects in image sequences, and associated system, computer program and storage medium | |
EP3920101A1 (en) | Method for reducing the size of an artificial neural network | |
WO2020002573A1 (en) | Method of modelling for checking the results provided by an artificial neural network and other associated methods | |
EP4322061A1 (en) | Electronic device and method for processing data comprising at least one self-adaptive artificial intelligence model with local learning, associated electronic system and computer program | |
Zandri | Image processing machine learning algorithms for interplanetary small-sats images to support Martian rovers navigation | |
JP2024523333A (en) | Apparatus and method for denoising an input signal | |
FR3127837A1 (en) | Method for analyzing the surface of a roof of a building | |
FR3117646A1 (en) | Compression method of an artificial neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20230201 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) |