EP4487293A1 - Système et procédé de segmentation d'image semi-automatique par apprentissage à boucle d'interaction utilisateur et procédé d'entraînement associé - Google Patents

Système et procédé de segmentation d'image semi-automatique par apprentissage à boucle d'interaction utilisateur et procédé d'entraînement associé

Info

Publication number
EP4487293A1
EP4487293A1 EP23707400.0A EP23707400A EP4487293A1 EP 4487293 A1 EP4487293 A1 EP 4487293A1 EP 23707400 A EP23707400 A EP 23707400A EP 4487293 A1 EP4487293 A1 EP 4487293A1
Authority
EP
European Patent Office
Prior art keywords
segmentation
mask
user
image
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP23707400.0A
Other languages
German (de)
English (en)
Inventor
Adrien Bartoli
Ivan MIKHAILOV
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Clermont Auvergne Inp
Surgar
Centre National de la Recherche Scientifique CNRS
Universite Clermont Auvergne
Original Assignee
Clermont Auvergne Inp
Surgar
Centre National de la Recherche Scientifique CNRS
Universite Clermont Auvergne
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Clermont Auvergne Inp, Surgar, Centre National de la Recherche Scientifique CNRS, Universite Clermont Auvergne filed Critical Clermont Auvergne Inp
Publication of EP4487293A1 publication Critical patent/EP4487293A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/03Recognition of patterns in medical or anatomical images

Definitions

  • the invention relates to a 2D or 3D image segmentation system comprising a neural network, an image segmentation method using this system and a method for training the segmentation system, in particular its neural network.
  • the invention is intended in particular for the segmentation of medical images, for example originating from magnetic resonance imaging (MRI) or computed tomography (CT) for the identification of organs on each of the section images obtained by FIRM or CT to recreate a 3D model of the organ from these segmentations.
  • MRI magnetic resonance imaging
  • CT computed tomography
  • Image segmentation is a technique for associating each pixel or voxel of a 2D or 3D image with a label representing the object, texture or state, etc. corresponding to said pixel or voxel.
  • Image segmentation is particularly used in a medical context to determine organs, tissues, fluids, etc. visible on a 2D or 3D image.
  • Such an image is, for example, obtained by MRI and makes it possible to form a 3D model of the targeted organ and, for example, of its environment and of the tumor to be operated on.
  • This creation of a 3D model requires the segmentation of the images obtained by FIRM.
  • the semi-automatic method allows an interactivity in which the segmentation is both mostly automatic but with a degree of control by a user, who can in particular act on the initialization and on a modification during certain steps.
  • the different segmentation methods can implement methods based on deep learning, in particular by using artificial neural networks.
  • Deep learning is particularly used for fully automatic processes, but semi-automatic segmentation solutions implementing deep learning have received limited attention compared to the number of automatic solutions.
  • Neural networks have greatly improved the performance of automatic segmentation solutions, but semi-automatic segmentations have not benefited from as many improvements due to difficulties in achieving successful neural network integration.
  • the invention aims to provide a system and a method for semi-automatic image segmentation, in particular for medical type images, for example sections obtained by MRI.
  • the invention also aims to provide a method for training such a segmentation system.
  • the invention aims to provide, in at least one embodiment, a semi-automatic segmentation system that can be easily trained by simulating user interactions.
  • the invention aims to provide, in at least one embodiment, a segmentation system whose operation and training allow account of previous segmentation results.
  • the invention relates to a semi-automatic image segmentation system comprising a neural network configured to, at each iteration, receive input data comprising at least one image to be segmented and to provide output data comprising at least one segmentation mask of each image, characterized in that it further comprises a user interaction loop comprising a user interaction module configured to provide at least one user mask representative of an interaction of a real user and/or of a simulated user on each segmentation mask, said user interaction loop being configured to provide, as neural network input data: each segmentation mask provided by said neural network coming from of a previous iteration of the neural network, called past segmentation mask, and the user mask associated with each past segmentation mask.
  • An image segmentation system therefore makes it possible to take into account user interactions both during training and during use for image segmentation, and to associate these interactions with user to a neural network output segmentation mask as a new neural network input.
  • the training data is not obtained only by retrieving a large data set but is generated by the segmentation system itself thanks to the user interaction loop.
  • the user mask adapts according to the output data of the network and therefore cannot be prepared in advance. Without this loop, as in the systems of automatic segmentation, the system would only be trained from the images to be segmented and therefore could not, when used, take user interactions into account. Using only an input dataset without the loop would therefore not achieve a satisfactory result, regardless of the volume of this input dataset. In particular, using only an input data set without the loop would make it possible to obtain a system which does not allow modification of the result obtained, such modification being necessary in many fields, in particular in the medical field where a user must validate or edit the result before using it in a therapeutic act.
  • using the output segmentation mask as an input helps to introduce sequentiality of data processing by taking past segmentation masks into account in defining better future segmentation.
  • Using the output segmentation mask and user interaction as input data helps build up an internal sequential memory that keeps track of past segmentations and user interactions to maintain system sequentiality.
  • the sequential internal memory keeps all the user interactions and the previous segmentation masks obtained at the output of the neural network, to provide them as new input to the neural network. Segmentation is also accelerated because sequential user interactions have more impact on the outcome.
  • the user interaction loop is used both when training the neural network, when testing the segmentation system from test data, and when using the segmentation system for new data.
  • interaction by a real user is meant an interaction by a human user who interacts directly with the segmentation mask proposed as output.
  • interaction by a simulated user is meant the simulation of an interaction as a human user could do, defined by a user interaction simulation algorithm.
  • the user interaction is for example the assignment, to a specific point of the segmented image, of a particular label.
  • the user interaction makes it possible in particular to make a correction to the segmentation mask obtained at the output of the neural network, for example by indicating areas of the 2D or 3D image which have not been correctly labelled. Taking the user into account as soon as the system is trained improves the impact of user corrections when using the system.
  • the image segmentation system can carry out the initial segmentation itself when it is trained and takes into account the user corrections for an improvement in the segmentation.
  • the initial segmentation can be trivial, in particular little or not informative, or calculated by another method of segmentation, typically a fully automatic method.
  • the system can advantageously be used for the segmentation of MRI images but can be applied to other types of 2D or 3D images, medical type or not.
  • the system can be integrated into a larger system using the results of the segmentation for a particular application, for example for creating a 3D model from the segmented data and displaying the 3D model in augmented reality on a video.
  • the position of the interaction is determined according to the center of a region chosen as being to be corrected by the user interaction.
  • this step allows the smoothing of the output data by using a graph cutting algorithm (graph cut in English) to improve the relevance of the labels integrated into the segmentation mask.
  • the graph cutting algorithm is applicable for binary segmentation and derived algorithms are used for multi-class segmentation.
  • the user interaction loop comprises a sequential internal memory in which is sequentially stored each segmentation mask passed and each user mask obtained at each iteration.
  • the sequential internal memory comprises a queue of the "first in-first out” or FIFO (for First In-First Out) type, the queue storing at each iteration the segmentation mask and the user mask corresponding to the iteration.
  • FIFO First In-First Out
  • the invention also relates to a method for training an image segmentation system according to the invention, via at least one data set comprising images to be segmented, characterized in that it comprises, for each image of the set data: at least two iterations in which the neural network processes the input data to provide output data, a first iteration in which the input data includes at least one image to be segmented and a predefined initialization mask, and subsequent iterations in which the input data includes each image to be segmented, each past segmentation mask obtained in the previous iteration, and a user mask representative of an interaction of a real user and/or a user simulated, a step of updating the weights of the neural network from the output data after each iteration or when a predetermined number of iterations have been performed by the neural network.
  • a training method according to the invention makes it possible to simulate the user interactions in order to maximize the effectiveness of the training and the relevance of the neural network at the end of the training.
  • the training method according to the invention advantageously uses the user interaction loop of the system to allow the use of a user interaction simulation and output data, i.e. the segmentation mask of a previous iteration, as system input data.
  • the image segmentation system makes it possible to improve the user interaction simulation based on quality controls of the segmentation obtained, and to take into account the segmentation masks and past user interactions.
  • the training thus allows the reduction of the number of false positives and false negatives by simulating what a user would do during the quality control of the segmentation.
  • the training sequence formed by the iteration sequence makes it possible to improve the precision of the corrections and thus to increase the quality of the segmentation at each iteration.
  • the updating of the weights is for example implemented by an algorithm for minimizing the loss function, the gradient of which is for example calculated by backpropagation.
  • the weight update can be implemented at each iteration, in particular each time output data is produced by the neural network, or only at the end of all the iterations so that the weight update does not occur. only performs from the best segmentation obtained.
  • the initialization mask is for example a trivial mask, an empty mask, a mask obtained by an automatic pre-segmentation or a mask derived from the ground truth, for example by simulating user interactions from this ground truth.
  • the initialization mask is added to the user mask which indicates the errors between the segmentation mask obtained at the output of the neural network and the result desired by the user.
  • Each dataset can include one or more images, different or not. Even if two datasets include the same images, the training process will treat two identical images differently thanks to the simulated user interactions that allow modifications in the training.
  • the simulated user interactions are obtained from a ground truth.
  • the ground truth is formed by predefined labeled data and from which is determined the error between the segmentation mask obtained at the output of the neural network with the desired result.
  • the training is thus supervised thanks to previously segmented data, for which the regions of the image have labels assigned to them.
  • Ground truth is more commonly called "ground truth" in English.
  • the training is generally carried out only from these labeled data which are not sufficient since the user and the segmentation masks of the iteration previous are not taken into account in the training. Furthermore, the training method according to the invention makes it possible to provide different simulated user interactions for the same image, as would be the case with a real user who will never provide the same interactions for the same image.
  • the predetermined number of iterations is determined for each image to be segmented and for each data set independently of the predetermined number of iterations determined for the other images to be segmented and the other data sets.
  • the number of iterations is predetermined during the processing of a data set or of an image to be segmented but can be modified over time in order to reproduce the behavior of a real user who will not systematically make the same number of corrections.
  • a maximum number of iterations can be set to prevent the training from being too long. Setting the maximum number of iterations also avoids making the network dependent on interactions during the test phase. Since the interactions are based on ground truth, it is preferable to target that a minimum of interactions are provided during the training phase while maximizing performance, so that a minimum of interactions are necessary during the training phase. testing phase thereafter.
  • the invention also relates to a semi-automatic image segmentation method comprising at each iteration a step of processing input data comprising each image to be segmented by a neural network to provide output data comprising at least one segmentation mask of each image, characterized in that each iteration further comprises: a step of receiving a user mask representative of an interaction of a real user on each segmentation mask, a step of transmitting, as data of input of the neural network at the next iteration, of each segmentation mask provided by said neural network, and of the user mask
  • the image segmentation method allows user interactions to be taken into account as many times as necessary until the user considers that the quality of the image segmentation meets his expectations. If the quality is not sufficient, the user interactions and the segmentation mask are passed as input data to provide a new segmentation mask.
  • the image segmentation system according to the invention is configured to implement the image segmentation method according to the invention.
  • the image segmentation method according to the invention is implemented by an image segmentation system according to the invention.
  • the invention also relates to a computer program product for driving an image segmentation system according to the invention, said computer program product comprising program code instructions for execution, when said program product d computer is executed on a computer, steps of the training method according to the invention.
  • the invention also relates to a semi-automatic image segmentation computer program product, said computer program product comprising program code instructions for execution, when said computer program product is executed on a computer, steps of the image segmentation method according to the invention.
  • the invention also relates to an automatic segmentation system, an automatic segmentation method, an automatic segmentation computer program product, a training method and a training computer program product characterized in combination by all or part of the characteristics mentioned above or below.
  • FIG. 1 is a schematic view of a semi-automatic image segmentation system according to one embodiment of the invention.
  • FIG. 2 is a schematic view of a semi-automatic image segmentation method according to one embodiment of the invention.
  • FIG. 3 is a schematic representation of the steps of a method for training a semi-automatic image segmentation system according to one embodiment of the invention.
  • FIG. 1 schematically represents a semi-automatic image segmentation system 10 according to one embodiment of the invention.
  • the segmentation system 10 comprises a neural network 12 configured to, at each iteration, receive input data comprising at least one image 14 to be segmented and to provide output data comprising at least one segmentation mask 16 of each image.
  • the segmentation mask defines for each part of the image a label making it possible to identify regions of the image, corresponding to a particular class.
  • the segmentation can be binary but the segmentation can also be a multi-class segmentation and makes it possible to identify more than two classes of regions.
  • a graph cut can make it possible to smooth the output data to obtain the segmentation mask.
  • the segmentation system 10 integrates around an existing machine learning model.
  • the system uses an existing encoder-decoder neural network architecture comprising Recurrent Neural Network (RNN) modules.
  • RNN Recurrent Neural Network
  • One embodiment uses for example a ResNet34 encoder described in the publication “He, K., Zhang, X., Ren, S., Sun, J., 2016. Deep residual learning for image recognition. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 770-778. and a decoder equipped with a pair of standard convolutional layers and a corresponding Long short-term memory (LSTM) recurrent layer at each step of the upsampling path.
  • LSTM Long short-term memory
  • the system uses focal loss as described in “Lin, T.Y., Goyal, P., Girshick, R.B., He, K., Dollàr, P., 2017 Focal loss for dense object detection. 2017 IEEE International Conference on Computer Vision (ICCV), 2999-3007. and precomputed weights per class at the scale of the dataset.
  • the neural network is for example pre-trained on the ImageNet data set and then refined on a data set dedicated to the desired task.
  • a dataset can for example be a dataset comprising medical images of the MRI type of female pelvis manually segmented using manual segmentation software such as 3DSlicer and MITK.
  • a female pelvis MRI dataset created by the requestor includes ninety-seven MRI series representing three thousand and sixty-six slices in total. This female pelvis MRI dataset is used for training the neural network, with: seventy-seven MRI series representing two thousand four hundred and forty-nine slices for the training set, ten MRI series representing three hundred and eight slices for the validation set, and ten MRI series representing three hundred and nine slices for the test set.
  • the female pelvis MRI dataset slices can be pre-processed via normalization, standardization and bias correction, and random data augmentation can be provided, for example: vertical and horizontal flip, intensity shift for brightness, gamma correction for contrast, as well as blur and unsharp mask for sharpness adjustment, etc.
  • examples of labels can be the uterus, the bladder, a possible tumor, cavity, background, etc., forming segmentation classes.
  • the image segmentation system 10 differs from the prior art in that it further comprises a user interaction loop 18 comprising a user interaction module 20 configured to provide at least one user mask representative of an interaction of a real user and/or a simulated user on each segmentation mask.
  • the user interaction loop 18 is configured to provide, as neural network input data: each segmentation mask 16 provided by said neural network coming from a previous iteration of the neural network 12, called segmentation mask past, as represented by the arrow 22, the user mask associated with each past segmentation mask 16 obtained by the user interaction module 20, as represented by the arrow 24.
  • the segmentation mask 16 and the user mask are associated via a state module 26 to form a state 28 formed from the meeting of the segmentation mask and the user mask to form new input data.
  • the state 28 is fed by an equivalent empty structure 30, a mask obtained by a pre-segmentation obtained automatically or a mask derived from the ground truth when the system is trained.
  • State 28 thus brings together all the segmentation masks and past user masks, thus forming an internal sequential memory for the segmentation system.
  • the user interaction loop 18 is external to the neural network and does not depend on a specific neural network architecture, although examples of neural networks that can be used are described previously.
  • a classic prior art interaction loop without memory takes user interactions into account by providing the neural network as input with the image to be segmented and the user interactions.
  • User interactions are represented by N binary masks, with N the number of segmentation class.
  • the input of the neural network is thus concatenated in a tensor of size HxLxC, with H the height of the image, L the width of the image and Cbase the number of channels, which is equal to 1+N in a loop d interaction without memory, corresponding to one channel for the image and N channels for the N segmentation classes.
  • THE factor 2 corresponds to the presence of N interaction masks and N probability maps corresponding to the intermediate segmentation results.
  • FIG. 2 schematically represents a method 40 of semi-automatic image segmentation according to one embodiment of the invention.
  • the segmentation method comprises a step 42 of receiving the images to be segmented in order to supply them to the neural network as described in the segmentation system.
  • the method comprises at each iteration a step 44 of processing input data comprising each image to be segmented by the neural network to provide output data comprising at least one segmentation mask for each image.
  • a quality control step 46 If the quality of the segmentation is considered correct at a quality control step 46, the segmentation process is terminated and a final step 52 provides the segmentation mask associated with the last segmentation.
  • each following iteration further comprises a step 48 of receiving a user mask representative of an interaction of a real user on each segmentation mask, and a step 50 of transmitting , as input data of the neural network at the following iteration, of each segmentation mask provided by said neural network, and of the user mask.
  • FIG. 3 schematically represents steps of a method for training a semi-automatic image segmentation system according to one embodiment of the invention
  • the training method 100 comprises for each image of a data set, a predetermined number of iterations, each iteration being denoted from Ii to Each iteration includes a step 112 of processing input data 114 by the neural network to provide output data 116.
  • the input data includes at least one image to be segmented and a predefined initialization mask 110.
  • the predefined initialization mask 110 is here for example an empty mask, a trivial mask, a mask obtained by automatic pre-segmentation or a mask derived from ground truth.
  • the input data includes each image to be segmented, each past segmentation mask obtained at the previous iteration, and a user mask representative of an interaction of a real user and/or of a simulated user, as symbolized by the dotted arrows which link the output data 116 of one iteration to the input data 114 of the following iteration.
  • the user mask is for example obtained by comparing the segmentation mask with the ground truth, i.e. previously labeled images, allowing supervised learning.
  • the user mask thus simulates the interaction of a user who knows the desired result of the segmentation.
  • the user mask is for example a binary mask per segmentation class, symbolizing a click by the user in the foreground.
  • the position of the click is chosen randomly in the largest region of the class, following a probability map in which the maximum is at the center of the region, decreasing away from the center and very reduced outside the region.
  • the training therefore makes it possible to fill the memory of D states with realistic values produced by a virtual user.
  • the D states are formed by D iterations to fill the internal sequential memory before updating the weights.
  • the states are preferably formed by inference via the neural network, i.e. without updating the weights of the neural network.
  • the method also includes, after each iteration or when the predetermined number of iterations have been performed by the neural network, a step 120 of updating the weights of the neural network from the output data.
  • a step 120 of updating the weights of the neural network is carried out at the last iteration, on the basis of the last output data 116 .
  • the predetermined interaction number is determined independently for each class and for each image set.
  • the maximum number of interactions is typically three interactions to simulate a typical user, the minimum being zero.
  • the probability of adding an additional interaction decreases linearly after each interaction to reach zero when the maximum number of interactions is reached.
  • a class is randomly chosen at each epoch in English) of the training method with a dataset, for which no user interaction is generated.
  • a percentage of the interactions generated is retained, typically 20%.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Processing (AREA)

Abstract

L'invention concerne un système de segmentation d'image semi-automatique comprenant un réseau (12) neuronal configuré pour, à chaque itération, recevoir des données d'entrée comprenant au moins une image (14) à segmenter et pour fournir des données de sortie comprenant au moins un masque (16) de segmentation de chaque image, caractérisé en ce qu'il comprend en outre une boucle (18) d'interaction d'utilisateur comprenant un module (20) d'interaction utilisateur configuré pour fournir au moins un masque utilisateur représentatif d'une interaction d'un utilisateur réel et/ou d'un utilisateur simulé sur chaque masque de segmentation, ladite boucle (18) d'interaction d'utilisateur étant configuré pour fournir, en tant que données d'entrée du réseau (12) neuronal chaque masque de segmentation fourni par ledit réseau neuronal provenant d'une itération précédente du réseau (12) neuronal, dit masque de segmentation passée, et le masque utilisateur associé à chaque masque de segmentation passée.

Description

DESCRIPTION
TITRE DE L’INVENTION : SYSTÈME ET PROCÉDÉ DE SEGMENTATION D’IMAGE SEMI-AUTOMATIQUE PAR APPRENTISSAGE À BOUCLE D’INTERACTION UTILISATEUR ET PROCÉDÉ D’ENTRAÎNEMENT ASSOCIÉ
Domaine technique de l’invention
L’invention concerne un système de segmentation d’image 2D ou 3D comprenant un réseau neuronal, un procédé de segmentation d’image utilisant ce système et un procédé d’entraînement du système de segmentation, en particulier de son réseau neuronal. L’invention est notamment destinée à la segmentation d’images médicales, par exemple provenant d’imagerie par résonance magnétique (IRM) ou d’une tomodensitométrie (TDM) pour l’identification d’organes sur chacune des images de coupe obtenues par FIRM ou la TDM afin de recréer une modélisation 3D de l’organe à partir de ces segmentations.
Arrière-plan technologique
La segmentation d’images est une technique permettant d’associer à chaque pixel ou voxel d’une image 2D ou 3D un label représentatif de l’objet, de la texture ou de l’état, etc. correspondant audit pixel ou voxel.
La segmentation d’image est notamment utilisée dans un contexte médical pour déterminer les organes, les tissus, les fluides, etc. visibles sur une image 2D ou 3D. Une telle image est par exemple obtenue par IRM et permet de former un modèle 3D de l’organe visé et par exemple de son environnement et de la tumeur à opérer. Cette création d’un modèle 3D nécessite la segmentation des images obtenues par FIRM.
Les techniques de segmentation actuelles se répartissent en plusieurs catégories : les segmentations manuelles, semi-automatiques (aussi appelées interactives) ou entièrement automatiques.
L’approche manuelle est longue à mettre en œuvre, chaque pixel ou voxel devant être catégorisé un par un par un utilisateur et peut ainsi nécessiter plusieurs heures pour une seule coupe. L’approche automatique permet la segmentation sans intervention d’un utilisateur mais l’absence de contrôle peut affecter négativement le résultat et donc l’application en pratique. En outre, le résultat n’est jamais parfait et pour obtenir un meilleur résultat, l’opérateur humain doit pouvoir garder un contrôle pour des raisons de validation, et donc pouvoir corriger les erreurs.
La méthode semi- automatique permet une interactivité dans laquelle la segmentation est à la fois majoritairement automatique mais avec un degré de contrôle par un utilisateur, qui peut notamment agir sur l’initialisation et sur une modification au cours de certaines étapes.
Les différents procédés de segmentation peuvent mettre en œuvre des méthodes basées sur l’apprentissage profond, en particulier en utilisant des réseaux neuronaux artificiels. L’apprentissage profond est particulièrement utilisé pour les procédés complètement automatiques, mais les solutions de segmentation semi- automatiques mettant en œuvre un apprentissage profond ont reçu une attention limitée par rapport au nombre de solutions automatiques. Les réseaux neuronaux ont permis d’améliorer grandement les performances des solutions de segmentation automatique, mais les segmentations semi-automatiques n’ont pas bénéficié d’autant améliorations du fait de difficultés pour réussir l’intégration de réseau neuronal.
En particulier, l’utilisation de réseaux neuronaux dans une segmentation semi-automatique pose des problèmes de prise en compte des interactions de l’utilisateur pendant l’entraînement du réseau neuronal. Cette prise en compte des interactions de l’utilisateur engendre des problèmes d’entraînement du système, car les données d’entraînement qui prennent en compte les interactions utilisateurs doivent s’adapter à la sortie du réseau neuronal à laquelle est appliquée les interactions, le réseau neuronal n’étant pas entraîné en début de processus. Cela entraine une dépendance problématique, les données d’entrée nécessaires à l’entrainement étant elles-mêmes dépendantes des données de sortie auxquelles ont été appliquées les interactions utilisateurs.
Les solutions proposées pour répondre à ces problématiques ne fournissent pas les performances souhaitées, notamment car les interactions de l’utilisateur ne sont généralement pas prises en compte de façon dynamique et ont peu d’impact sur la qualité de l’entraînement, car elles se focalisent sur les données d’entrée. Les solutions proposées approchent généralement l’entraînement d’un réseau neuronal pour des tâches de segmentation semi- automatique de la même façon que pour une segmentation automatique. Elles génèrent des masques d’interaction utilisateur à partir des données annotées, de façon statique avant l’entrainement ou de façon dynamique pendant l’entrainement. Les méthodes de génération statiques forment des structures d’entrées au réseau neuronal les plus proches d’une segmentation automatique, et ne prennent pas en compte la nature dynamique des interactions utilisateurs. Les méthodes de générations dynamiques existantes permettent de diversifier les données d’entrainement et d’augmenter les performances mais n’adressent pas directement la dépendance problématique entre les sorties et les entrées du système prenant en compte les interactions. En particulier, les interactions d’utilisateurs utilisées dans les traitements dynamiques ne reproduisent pas une séquence typique d’interaction utilisateur car elles ne prennent pas en compte l’ordre de ces interactions.
Les inventeurs ont ainsi cherché à améliorer les solutions de segmentation semi-automatique pour permettre une meilleure prise en compte des interactions de l’utilisateur, notamment de prendre en compte lors de l’entraînement l’impact des interactions de l’utilisateur lors du déploiement de la solution.
Objectifs de l’invention
L’invention vise à fournir un système et un procédé de segmentation semi- automatique d’images, en particulier pour des images de type médicales, par exemple des coupes obtenues par IRM.
L’invention vise également à fournir un procédé d’entraînement d’un tel système de segmentation.
L’invention vise à fournir, dans au moins un mode de réalisation, un système de segmentation semi- automatique pouvant être entraîné facilement en simulant des interactions utilisateurs.
L’invention vise à fournir, dans au moins un mode de réalisation, un système de segmentation dont le fonctionnement et l’entraînement permettent la prise en compte de résultats de segmentation antérieurs.
L’invention vise à fournir, dans au moins un mode de réalisation, un système de segmentation dont le fonctionnement et l’entraînement permettent la prise en compte des interactions utilisateur antérieures.
Exposé de l’invention
Pour ce faire, l’invention concerne un système de segmentation d’image semi-automatique comprenant un réseau neuronal configuré pour, à chaque itération, recevoir des données d’entrée comprenant au moins une image à segmenter et pour fournir des données de sortie comprenant au moins un masque de segmentation de chaque image, caractérisé en ce qu’il comprend en outre une boucle d’interaction d’utilisateur comprenant un module d’interaction utilisateur configuré pour fournir au moins un masque utilisateur représentatif d’une interaction d’un utilisateur réel et/ou d’un utilisateur simulé sur chaque masque de segmentation, ladite boucle d’interaction d’utilisateur étant configuré pour fournir, en tant que données d’entrée du réseau neuronal : chaque masque de segmentation fourni par ledit réseau neuronal provenant d’une itération précédente du réseau neuronal, dit masque de segmentation passée, et le masque utilisateur associé à chaque masque de segmentation passée.
Un système de segmentation d’image selon l’invention permet donc de prendre en compte les interactions d’utilisateur à la fois lors de l’entraînement et de l’utilisation pour la segmentation d’image, et d’associer ces interactions d’utilisateur à un masque de segmentation obtenu en sortie de réseau neuronal comme nouvelle entrée du réseau neuronal.
En particulier, les données d’entraînement ne sont pas obtenues uniquement par la récupération d’un grand jeu de données mais sont générées par le système de segmentation lui-même grâce à la boucle d’interaction utilisateur. Le masque utilisateur s’adapte en fonction des données de sortie du réseau et ne peut donc pas être préparé à l’avance. Sans cette boucle, comme dans les systèmes de segmentation automatique, le système serait uniquement entraîné à partir des images à segmenter et donc ne pourrait pas, à l’utilisation, prendre en compte les interactions utilisateurs. Utiliser uniquement un jeu de données d’entrée sans la boucle ne permettrait donc pas d’obtenir un résultat satisfaisant, quel que soit le volume de ce jeu de données d’entrée. En particulier, utiliser uniquement un jeu de données d’entrée sans la boucle permettrait d’obtenir un système qui ne permet pas la modification du résultat obtenu, une telle modification étant nécessaire dans beaucoup de domaines, en particulier dans le domaine médical où un utilisateur doit valider ou éditer le résultat avant son utilisation dans un acte thérapeutique.
En outre, l’utilisation du masque de segmentation de sortie en tant qu’entrée permet d’introduire une séquentialité du traitement des données en prenant en compte les masques de segmentation passés dans la définition d’une meilleure segmentation future. L’utilisation du masque de segmentation de sortie et de l’interaction utilisateur en tant que données d’entrée permet de constituer une mémoire interne séquentielle qui permet de garder une trace des segmentations et interactions utilisateur passées pour maintenir la séquentialité du système. En particulier, la mémoire interne séquentielle garde toutes les interactions utilisateur et les masques de segmentation précédents obtenus en sortie du réseau neuronal, pour les fournir comme nouvelle entrée du réseau neuronal. La segmentation est par ailleurs accélérée car les interactions utilisateur séquentielles ont davantage d’impact sur le résultat.
La boucle d’interaction utilisateur est utilisée à la fois lors de l’entraînement du réseau neuronal, lors du test du système de segmentation à partir de données de tests et lors de l’utilisation du système de segmentation pour des nouvelles données.
On entend par interaction par un utilisateur réel une interaction par un utilisateur humain qui interagit directement avec le masque de segmentation proposé en sortie. On entend par interaction par un utilisateur simulé la simulation d’une interaction comme pourrait le faire un utilisateur humain, défini par un algorithme de simulation d’interaction utilisateur. L’interaction utilisateur est par exemple l’affectation, à un point précis de l’image segmentée, d’un label particulier. L’interaction utilisateur permet notamment d’apporter une correction au masque de segmentation obtenu en sortie du réseau neuronal, par exemple en indiquant des zones de l’image 2D ou 3D qui n’ont pas été correctement labellisées. La prise en compte de l’utilisateur dès l’entraînement du système permet d’améliorer l’impact des corrections utilisateur lors de l’utilisation du système. Avantageusement et grâce à sa méthode d’entrainement, le système de segmentation d’image peut réaliser lui-même la segmentation initiale lorsqu’il est entraîné et prend en compte les corrections utilisateur pour une amélioration de la segmentation. La segmentation initiale peut être triviale, en particulier peu ou non informative, ou calculée par une autre méthode de segmentation, typiquement une méthode entièrement automatique.
Le système peut avantageusement être utilisé pour la segmentation d’images IRM mais peut être appliquées à d’autres types d’images 2D ou 3D, de type médicales ou non. Le système peut être intégré dans un système plus large utilisant les résultats de la segmentation pour une application particulière, par exemple pour une création d’un modèle 3D à partir des données segmentées et un affichage du modèle 3D en réalité augmentée sur une vidéo.
Le réseau neuronal peut être de différent type, le système de segmentation ne dépendant pas d’un réseau neuronal particulier pour son utilisation. En effet, le système de segmentation d’image se caractérise particulièrement par la boucle d’interaction utilisateur qui est extérieure au réseau neuronal. Le réseau neuronal peut intégrer des modules de type réseau neuronal récurrent ou RNN pour recurrent neural network en anglais.
Un module peut par exemple consister en un dispositif informatique tel qu’un ordinateur, d’un ensemble de dispositifs informatiques, d’un composant électronique ou d’un ensemble de composants électroniques, ou par exemple d’un programme informatique, d’un ensemble de programmes informatiques, d’une librairie d’un programme informatique ou d’une fonction d’un programme informatique exécuté par un dispositif informatique tel qu’un ordinateur, un ensemble de dispositifs informatiques, un composant électronique ou un ensemble de composants électroniques. Avantageusement et selon l’invention, chaque masque utilisateur représentatif d’un utilisateur simulé comprend une simulation d’au moins une interaction opérée par l’opérateur simulé sur le masque de segmentation associé au masque utilisateur, la position de ladite interaction sur l’image étant déterminée en fonction de la différence entre ledit masque de segmentation en sortie avec une vérité terrain.
Selon cet aspect de l’invention, la position de l’interaction simulée est déterminée pour s’approcher de ce que ferait un utilisateur réel, c’est-à-dire de positionner son interaction dans une zone qui a été mal segmentée ou labellisée, ou dans une zone qui ne présente pas de label.
Avantageusement et selon l’invention, la position de l’interaction est déterminée en fonction du centre d’une région choisie comme étant à corriger par l’interaction utilisateur.
Avantageusement et selon l’invention, le système comprend un module de coupe de graphe configuré pour appliquer une coupe de graphe aux données de sortie du réseau neuronal pour obtenir chaque masque de segmentation.
Selon cet aspect de l’invention, cette étape permet le lissage des données de sortie par utilisation d’un algorithme de coupe de graphe graph cut en anglais) pour améliorer la pertinence des labels intégrés au masque de segmentation. L’algorithme de coupe de graphe est applicable pour une segmentation binaire et des algorithmes dérivés sont utilisés pour des segmentations multi-classes.
Avantageusement et selon l’invention, la boucle d’interaction utilisateur comprend une mémoire interne séquentielle dans laquelle est stockée séquentiellement chaque masque de segmentation passée et chaque masque utilisateur obtenu à chaque itération.
Avantageusement et selon ce dernier aspect de l’invention, la mémoire interne séquentielle comprend une file de type « premier entré-premier sorti » ou FIFO (pour First In-First Out en anglais), la file stockant à chaque itération le masque de segmentation et le masque utilisateur correspondant à l’itération.
L’invention concerne également un procédé d’entraînement d’un système de segmentation d’image selon l’invention, via au moins un jeu de données comprenant des images à segmenter, caractérisé en ce qu’il comprend, pour chaque image du jeu de données : au moins deux itérations dans lesquelles le réseau neuronal traite les données d’entrées pour fournir des données de sortie, une première itération dans laquelle les données d’entrées comprennent au moins une image à segmenter et un masque d’initialisation prédéfini, et des itérations suivantes dans laquelle les données d’entrées comprennent chaque image à segmenter, chaque masque de segmentation passée obtenu à l’itération précédente, et un masque utilisateur représentatif d’une interaction d’un utilisateur réel et/ou d’un utilisateur simulé, une étape de mise à jour des poids du réseau neuronal à partir des données de sortie après chaque itération ou lorsqu’un nombre prédéterminé d’itérations ont été effectuées par le réseau neuronal.
Un procédé d’entraînement selon l’invention permet de simuler les interactions utilisateurs pour maximiser l’efficacité de l’entraînement et la pertinence du réseau neuronal à l’issu de l’entraînement. Contrairement aux modèles classiques de l’art antérieur dans lequel une mise à jour des poids est réalisée après chaque itération, le procédé d’entraînement selon l’invention utilise avantageusement la boucle d’interaction utilisateur du système pour permettre l’utilisation d’une simulation d’interaction utilisateur et des données de sortie, c’est-à-dire le masque de segmentation d’une itération précédente, comme données d’entrée du système. Ainsi, le système de segmentation d’image permet d’améliorer la simulation d’interaction d’utilisateur en se basant sur des contrôles de qualité de la segmentation obtenu, et de prendre en compte les masques de segmentation et interactions d’utilisateur passées. L’entraînement permet ainsi la réduction du nombre de faux positifs et de faux négatifs en simulant ce qu’un utilisateur ferait lors du contrôle de la qualité de la segmentation. La séquence d’entraînement formée par la suite d’itération permet d’améliorer la précision des corrections et ainsi d’augmenter la qualité de la segmentation à chaque itération.
La mise à jour des poids est par exemple mise en œuvre par un algorithme de minimisation de la fonction de perte, dont le gradient est par exemple calculé par rétropropagation. La mise à jour des poids peut être mise en œuvre à chaque itération, notamment à chaque fois que des données de sorties sont produites par le réseau neuronal, ou seulement à la fin de toutes les itérations pour que la mise à jour des poids ne s’effectue qu’à partir de la meilleure segmentation obtenue.
Le masque d’initialisation est par exemple un masque trivial, un masque vide, un masque obtenu par une pré-segmentation automatique ou un masque dérivé de la vérité terrain, par exemple en simulant des interactions utilisateurs à partir de cette vérité terrain.
Lors des itérations suivantes, le masque d’initialisation est ajouté au masque utilisateur qui indique les erreurs entre le masque de segmentation obtenu en sortie du réseau neuronal et le résultat souhaité par l’utilisateur.
Chaque jeu de données peut comprendre une ou plusieurs images, différentes ou non. Même si deux jeux de données comprennent les mêmes images, le procédé d’entraînement traitera deux images identiques de façon différente grâce aux interactions utilisateur simulées qui permettent des modifications dans l’entraînement.
Les interactions utilisateurs simulées sont obtenues à partir d’une vérité terrain. La vérité terrain est formée par des données labellisées prédéfinies et à partir desquelles est déterminée l’erreur entre le masque de segmentation obtenu en sortie du réseau neuronal avec le résultat souhaité. L’entraînement est ainsi supervisé grâce à des données préalablement segmentées, pour lesquelles les régions de l’image ont des labels qui leurs sont attribués. La vérité terrain est plus communément appelée « ground truth » en anglais.
Dans les procédés de segmentation de l’art antérieur, l’entraînement est généralement effectué uniquement à partir de ces données labellisées qui ne suffisent pas puisque l’utilisateur et les masques de segmentation de l’itération précédente ne sont pas pris en compte dans l’entraînement. En outre, le procédé d’entraînement selon l’invention permet de fournir des interactions d’utilisateur simulées différentes pour la même image, comme ce serait le cas avec un utilisateur réel qui ne fournira jamais les mêmes interactions pour une même image.
Avantageusement et selon l’invention le nombre prédéterminé d’itérations est déterminé pour chaque image à segmenter et pour chaque jeu de donnée indépendamment du nombre prédéterminé d’itérations déterminé pour les autres images à segmenter et les autres jeux de données.
Selon cet aspect de l’invention, le nombre d’itérations est prédéterminé lors du traitement d’un jeu de données ou d’une image à segmenter mais peut être modifié au cours du temps afin de reproduire le comportement d’un utilisateur réel qui n’effectuera pas systématiquement le même nombre de corrections. Un nombre maximal d’itérations peut être fixé pour éviter que l’entraînement soit trop long. Fixer le nombre maximal d’itérations permet également d’éviter de rendre le réseau dépendant des interactions lors de la phase de test. Puisque les interactions sont basées sur la vérité terrain, il est préférable de cibler qu’un minimum d’interactions soient fournies lors de la phase d’entrainement tout en maximisant les performances, pour qu’un minimum d’interactions soient nécessaires lors de la phase de test par la suite.
L’invention concerne également un procédé de segmentation d’image semi- automatique comprenant à chaque itération une étape de traitement de données d’entrées comprenant chaque image à segmenter par un réseau neuronal pour fournir des données de sortie comprenant au moins un masque de segmentation de chaque image, caractérisé en ce que chaque itération comprend en outre : une étape de réception d’un masque utilisateur représentatif d’une interaction d’un utilisateur réel sur chaque masque de segmentation, une étape de transmission, en tant que données d’entrée du réseau neuronal à l’itération suivante, de chaque masque de segmentation fourni par ledit réseau neuronal, et du masque utilisateur Selon cet aspect de l’invention, le procédé de segmentation d’image permet la prise en compte des interactions de l’utilisateur autant de fois que nécessaire jusqu’à ce que l’utilisateur considère que la qualité de la segmentation de l’image est conforme à ses attentes. Si la qualité n’est pas suffisante, les interactions de l’utilisateur et le masque de segmentation sont transmises en tant que données d’entrée pour fournir un nouveau masque de segmentation.
Avantageusement, le système de segmentation d’image selon l’invention est configuré pour mettre en œuvre le procédé de segmentation d’image selon l’invention.
Avantageusement, le procédé de segmentation d’image selon l’invention est mis en œuvre par un système de segmentation d’image selon l’invention.
L’invention concerne également un produit programme d’ordinateur d’entraînement d’un système de segmentation d’image selon l’invention ledit produit programme d’ordinateur comprenant des instructions de code de programme pour l’exécution, lorsque ledit produit programme d’ordinateur est exécuté sur un ordinateur, des étapes du procédé d’entraînement selon l’invention.
L’invention concerne également un produit programme d’ordinateur de segmentation d’image semi-automatique ledit produit programme d’ordinateur comprenant des instructions de code de programme pour l’exécution, lorsque ledit produit programme d’ordinateur est exécuté sur un ordinateur, des étapes du procédé de segmentation d’image selon l’invention.
L’invention concerne également un système de segmentation automatique, un procédé de segmentation automatique, un produit programme d’ordinateur de segmentation automatique, un procédé d’entraînement et un produit programme d’ordinateur d’entraînement caractérisés en combinaison par tout ou partie des caractéristiques mentionnées ci-dessus ou ci-après.
Liste des figures
D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante donnée à titre uniquement non limitatif et qui se réfère aux figures annexées dans lesquelles :
[Fig. 1] est une vue schématique d’un système de segmentation d’image semi-automatique selon un mode de réalisation de l’invention.
[Fig. 2] est une vue schématique d’un procédé de segmentation d’image semi-automatique selon un mode de réalisation de l’invention.
[Fig. 3] est une représentation schématique des étapes d’un procédé d’entraînement d’un système de segmentation d’image semi-automatique selon un mode de réalisation de l’invention.
Description détaillée d’un mode de réalisation de l’invention
Sur les figures, les échelles et les proportions ne sont pas strictement respectées et ce, à des fins d’illustration et de clarté.
En outre, les éléments identiques, similaires ou analogues sont désignés par les mêmes références dans toutes les figures.
La figure 1 représente schématiquement un système 10 de segmentation d’image semi-automatique selon un mode de réalisation de l’invention.
Le système 10 de segmentation comprend un réseau 12 neuronal configuré pour, à chaque itération, recevoir des données d’entrée comprenant au moins une image 14 à segmenter et pour fournir des données de sortie comprenant au moins un masque 16 de segmentation de chaque image. Le masque de segmentation définit pour chaque partie de l’image un label permettant d’identifier des régions de l’image, correspondant à une classe particulière. La segmentation peut être binaire mais la segmentation peut être également une segmentation multi-classes et permet d’identifier plus de deux classes de régions. En sortie de réseau neuronal, une coupe de graphe peut permettre de lisser les données de sorties pour obtenir le masque de segmentation.
Le système 10 de segmentation s’intégre autour d’un modèle d’apprentissage automatique existant. Par exemple, le système utilise une architecture de réseau neuronal encodeur-décodeur existante comprenant des modules de réseau de neurone récurrent (RNN pour Recurrent Neural Network en anglais). Un mode de réalisation utilise par exemple un encodeur ResNet34 décrit dans la publication « He, K., Zhang, X., Ren, S., Sun, J., 2016. Deep residual learning for image recognition. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 770-778. » et un décodeur équipé d'une paire de couches convolutionnelles standard et d'une couche récurrente à mémoire court et long terme (LSTM pour Long short-term memory en anglais) correspondante à chaque étape du chemin de suréchantillonnage.
Pour contrer le déséquilibre du jeu de données, le système utilise la perte focale (Focal loss en anglais) tel que décrite dans « Lin, T.Y., Goyal, P., Girshick, R.B., He, K., Dollàr, P., 2017. Focal loss for dense object detection. 2017 IEEE International Conference on Computer Vision (ICCV), 2999-3007. » et des poids par classe précalculés à l'échelle du jeu de données.
Le réseau neuronal est par exemple pré-entrainé sur le jeu de données ImageNet puis affiné sur un jeu de donnée dédié à la tâche souhaitée. Un jeu de donnée peut par exemple être un jeu de donnée comprenant des images médicales de type IRM de bassin féminin segmentés manuellement via des logiciels de segmentation manuelle tels que 3DSlicer et MITK.
Un jeu de données d’IRM de bassin féminin créé par le demandeur comprend quatre-vingt-dix-sept séries d’IRM représentant trois mille soixante-six coupes au total. Ce jeu de donnée d’IRM de bassin féminin est utilisé pour l’entraînement du réseau neuronal, à raison de : soixante-dix-sept séries d’IRM représentant deux mille quatre cent quarante-neuf coupes pour le jeu d’entrainement, dix séries d’IRM représentant trois cent huit coupes pour le jeu de validation, et dix séries d’IRM représentant trois cent neuf coupes pour le jeu de test.
Les coupes du jeu de données d’IRM de bassin féminin peuvent être prétraitées via la normalisation, la standardisation et correction de biais, et une augmentation aléatoire des données peut être prévue, par exemple : retournement vertical et horizontal, décalage de l'intensité pour la luminosité, correction gamma pour le contraste, ainsi que flou et masque flou pour le réglage de la netteté, etc.
Dans le cadre d’images médicales de type IRM pour une application gynécologique, des exemples de labels peuvent être l’utérus, la vessie, une éventuelle tumeur, une cavité, l’arrière-plan, etc, formant des classes de segmentation.
Le système 10 de segmentation d’image se différencie de l’art antérieur en ce qu’il comprend en outre une boucle 18 d’interaction d’utilisateur comprenant un module 20 d’interaction utilisateur configuré pour fournir au moins un masque utilisateur représentatif d’une interaction d’un utilisateur réel et/ou d’un utilisateur simulé sur chaque masque de segmentation.
La boucle 18 d’interaction d’utilisateur est configuré pour fournir, en tant que données d’entrée du réseau neuronal : chaque masque 16 de segmentation fourni par ledit réseau neuronal provenant d’une itération précédente du réseau 12 neuronal, dit masque de segmentation passée, comme représenté par la flèche 22, le masque utilisateur associé à chaque masque 16 de segmentation passée obtenu par le module 20 d’interaction utilisateur, comme représenté par la flèche 24.
Le masque 16 de segmentation et le masque utilisateur sont associés via un module 26 d’état pour former un état 28 formé de la réunion du masque de segmentation et du masque utilisateur pour former de nouvelles données d’entrée. Lors de la première itération, l’état 28 est alimenté par une structure 30 vide équivalente, un masque obtenu par une pré- segmentation obtenue automatiquement ou un masque dérivé de la vérité terrain lorsque le système est entraîné. L’état 28 réunit ainsi l’ensemble des masques de segmentations et masques d’utilisateurs passés, formant ainsi une mémoire séquentielle interne pour le système de segmentation.
La boucle 18 d’interaction d’utilisateur est externe au réseau neuronal et ne dépend pas d’une architecture spécifique de réseau neuronal, bien que des exemples de réseaux neuronaux pouvant être utilisés sont décrits précédemment.
Une boucle d’interaction classique de l’art antérieur sans mémoire prend en compte les interactions de l’utilisateur en fournissant au réseau neuronal comme entrée l’image à segmenter et les interactions utilisateurs. Les interactions utilisateurs sont représentées grâce à N masques binaires, avec N le nombre de classe de segmentation. L’entrée du réseau neuronal est ainsi concaténée dans un tenseur de taille HxLxC, avec H la hauteur de l’image, L la largeur de l’image et Cbase le nombre de canaux, qui est égal à 1+N dans une boucle d’interaction sans mémoire, correspondant à un canal pour l’image et N canaux pour les N classes de segmentation.
Des solutions de l’art antérieur ont proposé d’ajouter une mémoire interne, caractérisée par un ensemble de N masques binaires pour chaque classe de segmentation dans laquelle les interactions utilisateurs sont cumulées. Le tenseur d’entrée comprend donc COM = 1+N canaux puisque l’ensemble des interactions utilisateurs sont fusionnées. Ce type de méthode peut être appelée « mémoire d’interaction cumulative » au vu de son principe de fonctionnement et est implémentée selon différentes variantes notamment dans les publications suivantes :
Amrehn, M., Gaube, S., Unberath, M., Schebesch, F., Horz, T., Strumia, M., Steidl, S., Kowarschik, M., Maier, A., 2017. ULNet: Interactive Artificial Neural Networks for Iterative Image Segmentation Based on a User Model, in: Eurographics Workshop on Visual Computing for Biology and Medicine, The Eurographics Association ;
Zhou, B., Chen, L., Wang, Z., 2019. Interactive deep editing framework for medical image segmentation, in: Shen, D., Liu, T., Peters, T.M., Staib, L.H., Essert, C., Zhou, S., Yap, P.T., Khan, A. (Eds.), Medical Image Computing and Computer Assisted Intervention - MICCAI 2019, Springer International Publishing, Cham. pp. 329-337 ;
Liao, X., Li, W., Xu, Q., Wang, X., Jin, B., Zhang, X., Zhang, Y., Wang, Y., 2020. Iteratively -refined interactive 3d medical image segmentation with multi-agent reinforcement learning. 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 9391-9399.
Le système 10 de segmentation d’image selon l’invention comprend donc, grâce à la préservation de l’état des interactions précédentes, une séquentialité stockée dans un tenseur d’entrée comprenant CSIM = 1 + 2DN canaux, avec D le nombre d’état stocké, c’est-à-dire le nombre d’interaction mises en œuvre. Le facteur 2 correspond à la présence de N masques d’interaction et de N cartes de probabilité correspondant aux résultats de segmentation intermédiaire.
La mémoire séquentielle interne est ainsi formée d’une pile de type FIFO où sont enregistrés les états successifs correspondant aux interactions. Cette mémoire est externe au réseau neuronal et n’a pas d’interaction avec la mémoire interne du réseau neuronal, en particulier avec les poids attribués à chaque nœud du réseau neuronal qui sont spécifiques à ce réseau neuronal et au type de données.
La figure 2 représente schématiquement un procédé 40 de segmentation d’image semi-automatique selon un mode de réalisation de l’invention.
Le procédé de segmentation comprend une étape 42 de réception des images à segmenter pour les fournir au réseau neuronal tel que décrit dans le système de segmentation.
Le procédé comprend à chaque itération une étape 44 de traitement de données d’entrées comprenant chaque image à segmenter par le réseau neuronal pour fournir des données de sortie comprenant au moins un masque de segmentation de chaque image.
Si la qualité de la segmentation est considérée comme correcte à une étape 46 de contrôle de qualité, le procédé de segmentation est terminé et une étape 52 finale fourni le masque de segmentation associé à la dernière segmentation.
Si la qualité de la segmentation n’est pas correcte, chaque itération suivante comprend en outre une étape 48 de réception d’un masque utilisateur représentatif d’une interaction d’un utilisateur réel sur chaque masque de segmentation, et une étape 50 de transmission, en tant que données d’entrée du réseau neuronal à l’itération suivante, de chaque masque de segmentation fourni par ledit réseau neuronal, et du masque utilisateur.
La figure 3 représente schématiquement des étapes d’un procédé d’entraînement d’un système de segmentation d’image semi- automatique selon un mode de réalisation de l’invention,
Le procédé 100 d’entraînement comprend pour chaque image d’un jeu de données, un nombre prédéterminé d’itérations, chaque itération étant notée de Ii à Chaque itération comprend une étape 112 de traitement de données 114 d’entrées par le réseau neuronal pour fournir des données 116 de sortie. Dans la première itération Ii, les données d’entrées comprennent au moins une image à segmenter et un masque 110 d’initialisation prédéfini. Le masque 110 d’initialisation prédéfini est ici par exemple un masque vide, un masque trivial, un masque obtenu par une pré- segmentation automatique ou un masque dérivé de la vérité terrain.
Dans les itérations suivantes, de L à L, les données d’entrées comprennent chaque image à segmenter, chaque masque de segmentation passée obtenu à l’itération précédente, et un masque utilisateur représentatif d’une interaction d’un utilisateur réel et/ou d’un utilisateur simulé, comme symbolisé par les flèches en pointillés qui lient les données 116 de sortie d’une itération aux données d’entrée 114 de l’itération suivante.
Le masque utilisateur est par exemple obtenu par comparaison du masque de segmentation avec la vérité terrain, c’est-à-dire des images préalablement labélisées, permettant un apprentissage supervisé. Le masque utilisateur simule ainsi l’interaction d’un utilisateur qui connaît le résultat souhaité de la segmentation.
Le masque utilisateur est par exemple un masque binaire par classe de segmentation, symbolisant un clic de l’utilisateur en premier plan. La position du clic est choisie aléatoirement dans la région la plus grande de la classe, suivant une carte de probabilité dans laquelle le maximum est au centre de la région, décroissante en s’éloignant du centre et très réduite en dehors de la région.
En utilisant la mémoire séquentielle interne telle que décrite précédemment, l’entraînement permet donc de remplir la mémoire de D états avec des valeurs réalistes produite par un utilisateur virtuel. Les D états sont formés par D itérations pour remplir la mémoire séquentielle interne avant la mise à jour des poids. Les états sont de préférence formés par inférence via le réseau neuronal, c’est-à-dire sans mise à jour des poids du réseau neuronal.
Le procédé comprend également, après chaque itération ou lorsque le nombre prédéterminé d’itérations ont été effectuées par le réseau neuronal, une étape 120 de mise à jour des poids du réseau neuronal à partir des données de sortie. En l’occurrence, dans le mode de réalisation représenté sur la figure 3, l’étape 120 de mise à jour des poids du réseau neuronal est réalisée à la dernière itération, sur la base des dernières données 116 de sortie.
Le nombre d’interaction prédéterminé est déterminé indépendamment pour chaque classe et pour chaque jeu d’image. Le nombre maximal d’interaction est typiquement trois interactions pour simuler un utilisateur classique, le minimum étant de zéro.
La probabilité d’ajouter une interaction supplémentaire décroit linéairement après chaque interaction pour atteindre zéro lorsque le nombre maximal d’interaction est atteint.
Dans un mode de réalisation de l’invention, une classe est choisie aléatoirement à chaque époque epoch en anglais) du procédé d’entrainement avec un jeu de données, pour laquelle aucune interaction d’utilisateur est générée.
Dans un mode de réalisation de l’invention, un pourcentage des interactions générées est retenu, typiquement 20%.

Claims

REVENDICATIONS Système de segmentation d’image semi-automatique comprenant un réseau (12) neuronal configuré pour, à chaque itération, recevoir des données d’entrée comprenant au moins une image (14) à segmenter et pour fournir des données de sortie comprenant au moins un masque (16) de segmentation de chaque image, caractérisé en ce qu’il comprend en outre une boucle (18) d’interaction d’utilisateur comprenant un module (20) d’interaction utilisateur configuré pour fournir au moins un masque utilisateur représentatif d’une interaction d’un utilisateur réel et/ou d’un utilisateur simulé sur chaque masque de segmentation, ladite boucle (18) d’interaction d’utilisateur étant configurée pour fournir, en tant que données d’entrée du réseau neuronal : chaque masque de segmentation fourni par ledit réseau (12) neuronal provenant d’une itération précédente du réseau (12) neuronal, dit masque de segmentation passée, et le masque utilisateur associé à chaque masque de segmentation passée. Système de segmentation selon la revendication 1 , caractérisé en ce que chaque masque utilisateur représentatif d’un utilisateur simulé comprend une simulation d’au moins une interaction opérée par l’opérateur simulé sur le masque (16) de segmentation associé au masque utilisateur, la position de ladite interaction sur l’image étant déterminée en fonction de la différence entre ledit masque (16) de segmentation en sortie avec une vérité terrain. Système de segmentation selon l’une des revendications 1 ou 2, caractérisé en ce qu’il comprend un module de coupe de graphe configuré pour appliquer une coupe de graphe aux données de sortie du réseau (12) neuronal pour obtenir chaque masque (16) de segmentation. Système de segmentation selon l’une des revendications 1 à 3, caractérisé en ce que la boucle (18) d’interaction utilisateur comprend une mémoire interne séquentielle dans laquelle est stockée séquentiellement chaque masque de segmentation passée et chaque masque utilisateur obtenu à chaque itération. Procédé d’entraînement d’un système de segmentation d’image selon l’une des revendications 1 à 4 via au moins un jeu de données comprenant des images à segmenter, caractérisé en ce qu’il comprend, pour chaque image du jeu de données : au moins deux itérations (Ii, L, L) dans lesquelles le réseau (12) neuronal traite les données d’entrées pour fournir des données de sortie, une première itération (Ii) dans laquelle les données d’entrées comprennent au moins une image à segmenter et un masque (110) d’initialisation prédéfini, et des itérations suivantes dans laquelle les données d’entrées comprennent chaque image à segmenter, chaque masque de segmentation passée obtenu à l’itération précédente, et un masque utilisateur représentatif d’une interaction d’un utilisateur réel et/ou d’un utilisateur simulé, une étape (120) de mise à jour des poids du réseau neuronal à partir des données de sortie après chaque itération ou lorsqu’un nombre prédéterminé d’itérations ont été effectuées par le réseau neuronal. Procédé d’entraînement selon la revendication 5, caractérisé en ce que le nombre prédéterminé d’itérations est déterminé pour chaque image à segmenter et pour chaque jeu de donnée indépendamment du nombre prédéterminé d’itérations déterminé pour les autres images à segmenter et les autres jeux de données. Procédé de segmentation d’image semi-automatique comprenant à chaque itération une étape de traitement de données d’entrées comprenant chaque image à segmenter par un réseau neuronal pour fournir des données de sortie comprenant au moins un masque de segmentation de chaque image, caractérisé en ce que chaque itération comprend en outre : une étape de réception d’un masque utilisateur représentatif d’une interaction d’un utilisateur réel sur chaque masque de segmentation, une étape de transmission, en tant que données d’entrée du réseau neuronal à l’itération suivante, de chaque masque de segmentation fourni par ledit réseau neuronal, et du masque utilisateur. Produit programme d’ordinateur d’entraînement d’un système de segmentation d’image selon l’une des revendications 1 à 4, ledit produit programme d’ordinateur comprenant des instructions de code de programme pour l’exécution, lorsque ledit produit programme d’ordinateur est exécuté sur un ordinateur, des étapes du procédé d’entraînement selon l’une des revendications 5 ou 6. Produit programme d’ordinateur de segmentation d’image semi-automatique ledit produit programme d’ordinateur comprenant des instructions de code de programme pour l’exécution, lorsque ledit produit programme d’ordinateur est exécuté sur un ordinateur, des étapes du procédé de segmentation d’image selon la revendication 7.
EP23707400.0A 2022-02-28 2023-02-28 Système et procédé de segmentation d'image semi-automatique par apprentissage à boucle d'interaction utilisateur et procédé d'entraînement associé Pending EP4487293A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2201763A FR3133099B1 (fr) 2022-02-28 2022-02-28 Système et procédé de segmentation d’image semi-automatique par apprentissage à boucle d’interaction utilisateur et procédé d’entraînement associé
PCT/EP2023/055035 WO2023161531A1 (fr) 2022-02-28 2023-02-28 Système et procédé de segmentation d'image semi-automatique par apprentissage à boucle d'interaction utilisateur et procédé d'entraînement associé

Publications (1)

Publication Number Publication Date
EP4487293A1 true EP4487293A1 (fr) 2025-01-08

Family

ID=81448340

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23707400.0A Pending EP4487293A1 (fr) 2022-02-28 2023-02-28 Système et procédé de segmentation d'image semi-automatique par apprentissage à boucle d'interaction utilisateur et procédé d'entraînement associé

Country Status (6)

Country Link
EP (1) EP4487293A1 (fr)
JP (1) JP2025507706A (fr)
CN (1) CN119053990A (fr)
CA (1) CA3244125A1 (fr)
FR (1) FR3133099B1 (fr)
WO (1) WO2023161531A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN121280725B (zh) * 2025-12-03 2026-04-17 西安交通大学 一种交互式图像分割方法、系统、计算机设备及存储介质

Also Published As

Publication number Publication date
CN119053990A (zh) 2024-11-29
JP2025507706A (ja) 2025-03-21
CA3244125A1 (fr) 2023-08-31
WO2023161531A1 (fr) 2023-08-31
FR3133099B1 (fr) 2024-07-19
FR3133099A1 (fr) 2023-09-01

Similar Documents

Publication Publication Date Title
US11605156B2 (en) Iterative image inpainting with confidence feedback
CN116757986B (zh) 一种红外与可见光图像融合方法及装置
US10032256B1 (en) System and method for image processing using automatically estimated tuning parameters
CN112598045A (zh) 训练神经网络的方法、图像识别方法及图像识别装置
US10832036B2 (en) Meta-learning for facial recognition
US10614347B2 (en) Identifying parameter image adjustments using image variation and sequential processing
US11158059B1 (en) Image reconstruction based on edge loss
US20220156891A1 (en) Methods and systems for deblurring blurry images
FR3121535A1 (fr) Autoencodeur multimodal a fusion de donnees latente amelioree
US12112524B2 (en) Image augmentation method, electronic device and readable storage medium
FR3095042A1 (fr) Procede de definition d’un chemin
EP4099228A1 (fr) Apprentissage automatique sans annotation ameliore par regroupements adaptatifs en ensemble ouvert de classes
EP4487293A1 (fr) Système et procédé de segmentation d'image semi-automatique par apprentissage à boucle d'interaction utilisateur et procédé d'entraînement associé
CN119169442A (zh) 一种应用于水下捕捞机器人的实时目标检测方法
CN115457255B (zh) 基于深度学习的地基望远镜图像非均匀校正方法
EP3966739A1 (fr) Procédé d'analyse automatique d'images pour reconnaître automatiquement au moins une caractéristique rare
CN120765948A (zh) 去雾识别联合网络及其目标检测方法
US20250217988A1 (en) Image segmentation mask refinement with diffusion model
CN116109883A (zh) 模型训练方法、图像处理方法、装置以及可读存储介质
Pushpalatha et al. MSFRNet: Multiscale Feature Recomposition Network for SingleImage Dehazing
EP4165605A1 (fr) Procédé de génération d'images d'une caméra intérieure de véhicule
CN116645665B (zh) 基于Spark和深度学习的荔枝品种鉴别与分类方法
BE1026929B1 (fr) Réseau neuronal artificiel pour identifier les points anatomiques d'un pied et pour sélectionner un article chaussant
FR3146529A1 (fr) Système et procédé combiné de sélection, d’annotation et d’entraînement via un modèle d’apprentissage automatique partagé
Xiao Probing, Improving, and Verifying Machine Learning Model Robustness

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: 20240913

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 ME 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)