WO2020165544A1 - Identification de zones roulables avec prise en compte de l'incertitude par une méthode d'apprentissage profond - Google Patents
Identification de zones roulables avec prise en compte de l'incertitude par une méthode d'apprentissage profond Download PDFInfo
- Publication number
- WO2020165544A1 WO2020165544A1 PCT/FR2020/050268 FR2020050268W WO2020165544A1 WO 2020165544 A1 WO2020165544 A1 WO 2020165544A1 FR 2020050268 W FR2020050268 W FR 2020050268W WO 2020165544 A1 WO2020165544 A1 WO 2020165544A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- rolling
- image
- probability
- neural network
- pixel
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
Definitions
- the present invention relates to the field of autonomous vehicles, and in particular to the field of autonomous land vehicles, as well as the methods of controlling such vehicles.
- the autonomous vehicle In order to be able to move without risk for users and to adapt its driving suitably, the autonomous vehicle must also be able to detect and identify all fixed or moving objects in its environment.
- machine learning techniques give the best results, especially methods based on learning from data using deep neural networks, and in particular convolutional neural networks (in English " Convolutional Neural Network ”(CNN)), particularly suitable for segmenting images or videos.
- CNN Convolutional Neural Network
- Figure 1 shows an example of an image annotated by a human operator, intended to train a neural network to segment images into several classes of objects.
- Figure 1 is an urban outdoor scene, in which five categories of elements have been annotated.
- the rolling zone a1 is an asphalt road, defined without uncertainty.
- Sidewalks a2 human beings (pedestrians or cyclists) a3, buildings a4, background and vegetation a5 have also been segmented.
- a deep learning algorithm for example a deep neural network, making it possible to automatically identify the different object classes, and in particular to identify a “rollable” zone.
- a control system of an autonomous vehicle it is desirable to integrate the knowledge of the uncertainty of the information, and in particular to supplement the information of detection of a path in the environment of the vehicle by a probability estimation, in particular in order to minimize a risk, for example a slump.
- the existing algorithms do not integrate the knowledge of the uncertainty of the information, in particular for the path detection, when traveling off roads, and in particular do not take into account the problem of uncertainty in the definition of the presence or not of a path at a given point of an image.
- the learning of the model for example of the convolutional neural network (CNN) is suboptimal as well as its practical use for the control of the vehicle.
- An aim of the invention is to remedy at least in part the aforementioned drawbacks and to propose, according to a first aspect, a method for identifying rolling zones on an image, making it possible in particular to detect in a probabilistic manner rolling zones on terrain images.
- a method for controlling a land vehicle is proposed, implementing such a method for identifying rolling zones, making it possible to define laws for controlling a vehicle, for example a trajectory or a speed, taking into account account account of the uncertainty of identified rolling zones.
- the invention relates, according to a first aspect, to a method of identifying rolling zones in at least one image of a terrain, characterized in that it comprises the implementation of the following steps in a processing unit
- E1 supervised learning of at least one neural network, from a learning database including images of field learning that have been annotated by at least two operators in order to identify rolling areas,
- E2 segmentation by means of at least one neural network, of an input image to obtain a probabilistic map of the presence of at least one rolling zone in said input image, said segmentation comprising an estimate of a probability of the presence of a rolling zone in the input image, so as to obtain a probabilistic map (I3) defined by a matrix, each element of which corresponds to a probability of the presence of at least one rolling zone on a pixel of the input image.
- a probabilistic map (I3) defined by a matrix, each element of which corresponds to a probability of the presence of at least one rolling zone on a pixel of the input image.
- the method comprises, before the learning step, a step of calculating at least one ground truth defined by a probabilistic map for at least one associated image of the learning database, from at least two annotations, ground truth being used for the learning step.
- the training database comprises a set of images, associated with an associated set of ground truths, each ground truth being a matrix of which each element p corresponds to a pixel of the associated image, each element p being calculated from the following way:
- the learning stage includes the stages:
- the input image segmentation step comprises the steps of:
- the invention relates to a method for controlling a land vehicle, comprising the following steps:
- C1 acquisition of images by a sensor located on the vehicle
- C2 processing of the images acquired by a processing unit, by an identification method according to the first aspect of the invention, in order to obtain at least one probabilistic map of the presence of rolling zones;
- the sensor acquires a video, and in which the identification during the step of processing the acquired images is carried out sequentially.
- the step of calculating the setpoint depends on a predetermined threshold value, the threshold value being a level of risk to be taken corresponding to a probability that a pixel of an acquired image belongs to a rolling zone.
- the speed reference increases when the probability of the presence of a rolling zone increases.
- the trajectory instruction is calculated from the probabilistic map of rolling zones so as to maximize the probability of the presence of rolling zones.
- the trajectory setpoint is calculated from the probabilistic map of rolling zones so as to maximize the probability of the presence of a rolling zone and to minimize, according to a requirement level k, predefined or chosen dynamically, the zones with a low probability of rolling. .
- the trajectory setpoint is calculated from the final rollable zone presence probability map resulting from the so-called conservative merger of M successive probabilistic maps, each p / inai element of which is calculated as follows:
- Pfinal ipixel min (p t (pixeZ), p t-1 (pixeZ) ... p t-M + 1 (pixeZ))
- the trajectory setpoint is calculated from the final probability map of the presence of rolling zones resulting from the so-called robust merger of M successive probabilistic maps, each element of which Pf inai is calculated as follows:
- Pfinai ipixel median ⁇ p t ⁇ pixel), p t-1 ⁇ pixel) ... p t-M + 1 ⁇ pixel))
- the trajectory setpoint is calculated from the final roadable zone presence probability map resulting from the so-called aggressive merger of M successive probabilistic maps, each p / inai element of which is calculated as follows:
- the trajectory setpoint is calculated from the final roadable zone presence probability map resulting from the so-called average merger of M successive probabilistic maps, each element of which Pf inai is calculated as follows:
- the trajectory setpoint is calculated from the probability map of the presence of final rolling zones resulting from a merger of M successive probabilistic maps, and from obstacle detection carried out by an obstacle sensor.
- Figure 1 shows an example of segmentation of an urban area image, as it exists in the Cityscapes TM database.
- FIG. 2 represents an example of segmentation of an image taking into account an uncertainty in the definition of the rolling zone.
- FIG. 3 represents an example of an implementation architecture of the method for identifying rolling areas.
- FIG. 4 schematically represents the steps of a method for identifying rolling areas on at least one terrain image according to a first aspect of the invention.
- FIG. 5 shows a first example of the overall architecture of a method of segmenting an input image according to the first aspect of the present invention.
- Figure 6 shows a second example of the overall architecture of a method for segmenting an input image according to the first aspect of the present invention.
- Figure 7 shows the second example of the overall architecture of a method of segmenting an input video according to the first aspect of the present invention.
- FIG. 8 schematically represents a land vehicle making it possible to implement a control method according to a second aspect of the present invention.
- Figure 9 shows schematically the steps of a land vehicle control method according to the second aspect of the invention.
- Figure 10 schematically shows a first image from a sensor of a vehicle as illustrated in Figure 8, and a first associated probability map.
- Figure 1 1 shows schematically a second image from a sensor of a vehicle as illustrated in Figure 8, and a second associated probability map.
- Figure 12 schematically shows a third image from a sensor of a vehicle as illustrated in Figure 8, and a third associated probability map, used to issue a trajectory and speed instruction for the vehicle.
- FIG. 13 represents an example of segmentations of an image taking into account an uncertainty of the definition of the rolling zone by two different annotators. DETAILED DESCRIPTION OF THE INVENTION
- a method of identifying at least one rolling zone by at least one neural network, preferably by two neural networks, comprising
- a first step of learning the at least one neural network so that said at least one trained neural network can then, during a second segmentation step, segment an image or a video to obtain a probabilistic map allowing identify rolling areas taking into account an associated uncertainty;
- FIG. 4 schematically illustrates the steps of the method for identifying (E) rolling zones in an exemplary embodiment.
- the method of identification E of rolling zones implements a method for creating a learning base E0, a learning method E1, and a segmentation method E2 of an input image, implemented by at least a neural network trained during the learning process E1.
- the method of identification E of rolling zones can comprise a repetition of the segmentation method of images E2 many times, without requiring the repetition of the learning process E1.
- segmentation of an input image we mean a classification of each pixel of the image, i.e. the prediction of a label for each pixel of the image, each label being associated with an object real to be identified, for example a road or more generally a rolling zone.
- the image is segmented into a plurality of sets of pixels comprising the same label, each set of pixels defining an object.
- the image of FIG. 1 is segmented into five classes, the rolling zone a1, the sidewalks a2, the users a3, the buildings a4, the background and the vegetation a5.
- the terms “track”, “path” or “rolling zone” will be used in an equivalent manner to denote a surface on the ground on which a land vehicle is capable of rolling.
- an image is a matrix of pixels of a given size, for example 321 x 321 pixels.
- a terrain image we will speak generally of a terrain image to designate an image of an exterior zone, not necessarily including a rolling zone.
- the term “segmentation” may denote a segmented image, or a matrix whose elements are labels corresponding to an object or to a probability.
- FIG. 3 illustrates an example of architecture in which the steps of the above methods can be implemented.
- the learning method (E1) can be implemented on a first server 1 and the segmentation method (E2) can be implemented on a second server 2.
- Each server 1, 2 advantageously comprises at least one processing unit. 3, 4, for example a processor preferably having a high computing power.
- Each server 1, 2 can also include a communication interface 7, 8 allowing communication between them.
- a communication can for example be implemented by means of a wired or wireless connection via any type of communication network, for example the Internet network.
- the first server 1 it can have access through the communication interface 7 to a remote learning database (not shown).
- each server 1, 2 can include a storage unit 5, 6, for example a hard disk.
- the first learning server 1 can store in the storage unit 5 a learning database or have access to a learning database.
- the method of identifying E of rolling zone comprises the implementation of an image or video segmentation method (E2).
- Image or video segmentation is carried out by means of at least one network of previously trained neurons, during a learning process (E1) which will be detailed below.
- a neural network comprises a plurality of neurons (of perceptron type or of convolutional type) on several layers connected to each other.
- the at least one neural network can be implemented according to a large number of different architectures.
- a network according to one of the architectures known to those skilled in the art of the ConvNet type, for example: ResNet (convolutional neural network (CNN) making it possible to optimize the learning of networks very deep (more than 150 layers)), DenseNet (network comprising several "blocks" whose layers are linked by shorter connections, SegNet. (fully convolutional neural network presenting a symmetrical encoder-decoder architecture.
- the encoder is a succession of convolutional layers followed by batch normalization and nonlinear transfer functions
- the decoder is a symmetry of the encoder (Vijay Badrinarayanan, Alex Kendall, and Roberto Cipolla. SegNet: A Deep Convolutional Encoder- Decoder Architecture for Image Segmentation. November 2015) ,. We can also draw inspiration from one of these architectures and adapt it to the context of autonomous vehicles.
- the input data is an image, which will generally be designated by “input image” or “input field image”, before s' interested in the segmentation of a video or a sequence of images
- the segmentation method (E2) is carried out by means of a first deep neural network R1 and a second deep neural network R2, and previously trained.
- the first deep neural network R1 receives as input an image 11 to perform a first segmentation of the rolling zone (step S10) in order to obtain a segmented image I2.
- the image 11 is preferably supplied to the first deep neural network R1 via the communication interface 8 connected to a unit 10 remote from the server 2 (for example a sensor) or else is stored in the control unit. server storage 6 2.
- the first neural network R1 produces at output a segmented image I2.
- it may be a binarization of the image 11 supplied as input, the segmented image I2 obtained as output comprising white pixels and white pixels. only, the white pixels corresponding for example to the identified rolling zone, as illustrated schematically in FIG. 5.
- At least the segmented image 12 at the output of the first neural network R1 is given at the input of the second neural network R2.
- the second neural network R2 takes as input the input image 11 segmented image I2 from the first neural network R1.
- the second neural network R2 is configured, that is to say trained, to output an estimate of the probability of the presence of a rolling zone in the input image 11.
- the estimate of the probability of the presence of a rolling zone (step S20) in the input image 11 can then be transmitted to a unit 12, via the communication interface 8 or else be stored in the storage unit 6 of the server 2.
- the second neural network R2 calculates the estimate of the probability of the presence of a rolling zone in the form of a probabilistic map I3 of the presence of at least one rolling zone in the input image 11.
- the probabilistic map I3 is a two-dimensional matrix L x I, each element or value of which is between 0 and 1 and corresponds to a probability of the presence of at least one rolling zone on a pixel of the input image 11 .
- Each value or element of the probabilistic map I3 is intended to express the probability for a corresponding pixel of the input image 11 to belong to a rolling zone.
- a pixel located in an area identified as non-rollable is associated with the number 0 (black), and in an area identified as definitely rollable with the number 1 (white).
- the pixels located in areas with uncertainty have intermediate values, typically 0.2 for a pixel of a probably non-rolling zone, or 0.8 for a pixel of a probably non-rolling zone.
- the output of the second neural network R2 can be a matrix of the same size as the input image 11, comprising for example 321 x 321 values.
- Such a representation of probabilistic maps is also illustrated in Figures 10 to 12.
- the dimensions of the matrix representing the probability map I3 can be smaller than those of the input image 11, for example following compression of the input image 11. This implies a loss of information. but makes it possible to improve the speed of calculation of the probability map I3.
- the dimensions of the matrix representing the probability map 13 can be greater than those of the input image 11, for example by performing interpolations between the pixels of the input image 11.
- the segmentation method (E2) can be carried out by means of a single deep neural network R3.
- the deep neural network R3 is configured to output an estimate of the probability of the presence of a rolling zone in input image 11.
- the neural network R3 does not include a step of segmenting the input image 11 to obtain a segmented image I2.
- the neural network R3 is configured during the learning process (E1) to directly calculate the estimate of the probability of the presence of a rolling zone in the form of a probabilistic map I3.
- the neural network R3 can comprise one or more “skip connection (s)” (31, 32), that is to say that the information of the input image 11 can be given back as input at the level d 'one or more point (s) of the neural network R3, as can be seen in figure 6.
- the probabilistic map I3 calculated by the neural network R3 can be a matrix similar to that obtained at the output of the second neural network R2, and described previously.
- a video is a sequence of T images, depending on the length of the video, numbered from 1 to T.
- any image of a video corresponds to an image t, with t ⁇ II ; T ⁇ .
- the input data is an input video, that is to say a sequence of T images.
- the segmentation process E2 implemented in the identification process E of rolling areas is performed by two neural networks (R1, R2).
- the first neural network R1 can be configured to segment each frame of the input video.
- the output of the first neural network R1 can be the sequence of images of the input video segmented, that is to say the input video segmented, for example by binarization.
- the second neural network R2 can be configured to calculate a presence probability map for each segmented image obtained at the output of the first neural network R1.
- the first neural network R1 can be configured to calculate segmentation of an image only at a certain frequency, for example to calculate the segmentation of only one image in two, or one image in three of the input video.
- the output result of the first neural network R1 is a set of segmented image matrices whose number is less than the number of frames in the input video.
- the video is divided into sequences of size T ' ⁇ T, the size of the sequence being chosen so that, for each sequence, the result at the output of the first neural network R1 can be a single matrix representing the classification in rollable / non-rollable zone of an image sufficiently representative of the sequence. Typically, this could be the last frame in the sequence.
- the value of T ’ may depend on the acquisition speed of the sensor providing the input video, for example from a camera.
- the value of T ’ may depend on the size of the neural networks (R1, R2, R3), and / or the processing capacity of the processing unit (3,4).
- the size of a T ’sequence is less than ten images. This makes it possible to ensure the reliability of a succession of probability maps, in particular in an implementation in a method for controlling a land vehicle, as will be detailed below.
- the second neural network R2 can be configured to calculate a probabilistic map of an image segmented by the first neural network R1 only at a certain frequency, for example to calculate the probabilistic map of only one image segmented over two or three.
- Not segmenting all the images of the input video and / or not calculating all the probability maps associated with the images of the input video advantageously makes it possible to reduce the computing power necessary for processing the input video, and therefore time treatment. This is particularly relevant in the case where the probability maps are used to make a decision dynamically, as for example in the control method described in the second aspect of the invention.
- the segmentation method E2 implemented in the identification method E of rolling zones is performed by the single neural network R3.
- the R3 neural network can be configured not to compute probabilistic maps for all frames of the input video.
- FIG. 7 A schematic example is illustrated in FIG. 7.
- the input video, supplied as input by the unit 10 to the processing unit 4 on which the neural network R3 is implemented, is in this example divided into sequences of size three (T ' 3) by the processing unit 4.
- Each sequence of the input video comprises for example the images (11, 11', 11 ”).
- the neural network R3 can be configured to calculate only one probability map for each sequence of the input video, so that the probability map is representative of the estimate of the probability of the presence of the rolling zone in the images (11, 11 ', 11 ”) of the input sequence.
- the R3 neural network can only calculate the probability map associated with the first frame 11 of the sequence or the last frame 11 "of the sequence or with a central frame 11" of the sequence.
- the I3 probability map representative of the sequence of images (11, 11 ’, 11”) can then be transmitted to unit 12.
- All or part of the images (11, 11 ’, U”) of the sequence of the input video can be fed back into one or more points of the R3 neural network.
- the image segmentation method E2 can be repeated independently of the learning method E1, which will be repeated. now be described.
- a method of supervised learning of a neural network corresponds to implementing an algorithm consisting in modifying the weightings of the neurons of the neural network, until the output of the neuron network matches the expected output.
- a training method requires a training database comprising a set of sample input data, and a set of expected outputs. associated.
- the training database for a neural network intended for the segmentation of images comprises a plurality of images (or more generally of videos) and a plurality of probabilistic segmentation of the images.
- the algorithm can be configured to initialize the weights to any values and then successively present all the sample input data from the learning database to the neural network.
- the algorithm can be configured to compare the output of the neural network to the expected output associated with the example input data, and to adjust the weights depending on whether the output of the neural network is " close ”to the expected output.
- the algorithm can be configured to stop when all of the sample input data has been presented without any weighting change.
- the learning method E1 can be implemented by a learning algorithm implemented in the processing unit 3 of the learning server 1.
- the learning step is performed from a set of images and associated expected outputs, contained in a learning database, which may be stored in the storage unit 5, or accessible via the communication interface 7.
- the learning method E1 comprises the following steps:
- - S2 supervised learning of the second neural network R2 from the training database and at least one ground truth, so that the second network of trained R2 neurons is configured to segment the image according to a probabilistic map of the presence of a rolling zone.
- the learning algorithm may be simpler to set up, and the E1 learning process may be faster to implement. It may be faster to train the first neural network R1 and the second neural network R2 successively.
- a first preliminary step can comprise a construction of the adapted B1 training database.
- the B1 learning database may include a set of images or videos of outdoor scenes, preferably several hundred, more preferably several thousand.
- the exterior scenes in field images or videos do not necessarily represent all rollable areas, however, a significant set of the outside scenes feature at least one path, track, or rollable area.
- the training database B1 also includes an annotation of all the images or videos.
- An annotation of a terrain image is a segmentation of the image (that is, a classification of each pixel of the terrain image), performed by a human operator.
- the human operator also designated by “annotator” defines a label for each pixel of the image, corresponding to the label expected for each pixel. of the image at the output of the first trained neural network R1.
- the annotation associated with an image is therefore the expected result at the output of the trained neural network R1, if it received said image as input.
- the annotator will have to assign to each pixel a label from among two labels (a first label corresponding to a rolling zone, and a second label corresponding to a non-rolling zone), depending on whether it considers that the pixel belongs to a rolling zone or not.
- each terrain image of the training database B1 can be associated with an annotation of an annotator corresponding to the perception of the annotator, for example to the distinction by the annotator into a rolling zone and a rolling zone. non-rolling zone.
- the assessment depending on the human operator or annotator carrying out the annotation it is also possible to associate several different annotations to the terrain image, in order to to multiply the data of the training database B1.
- the learning algorithm can train the first R1 neural network, so that it is able to segment images. For example, so that the first trained neural network R1 is able to binarize images between “rolling zone” and “non-rolling zone”.
- the first learning step S1 is not necessary, and the deep neural network R1 used during the segmentation step E2 is a neural network already trained to identify rolling zones.
- the second neural network R2 may have learned to estimate the probability of the presence of a path, track, rolling zone from an image of an outdoor scene and / or a segmented image which may be obtained from the first neural network R1.
- the training database B2 can include all of the terrain images of the training database B1.
- the B2 training database also includes a set of probabilistic maps associated with the terrain images. Each probabilistic map corresponds to a ground truth, that is to say to the estimate of the presence of a rolling zone expected at the output of the second trained neural network R2, if the associated image was given at the input.
- the step EO can comprise a step of calculating at least one ground truth S200 defined by a probabilistic map for at least one associated image of the learning database B1.
- the at least one computed ground truth is used for the S2 learning step shown in Figure 4.
- the ground truths have a format similar to the probabilistic maps which are calculated during the segmentation process E2.
- the ground truth of the image is constructed from at least two different annotations of the image, i.e. the image may have been previously annotated by more than two annotators, preferably again by at least five independent annotators.
- Figure 2 illustrates an example of a terrain image in which there is uncertainty in the definition of the rolling zone.
- the lightest zone (zones z1) has been identified as rolling by the five annotators of the image, and therefore corresponds to a rolling lane identified with high certainty
- the darkest zone (sky) corresponds to an area that has not been identified as rolling by any of the annotators.
- the intermediate zones correspond to zones which have not been identified by all the annotators as rolling zones.
- the same area has been annotated by several annotators and may be annotated differently from one annotator to another.
- This is illustrated in figure 13 where an image leads to two different annotations of the rolling zone.
- One annotator will have identified a z1 ’rollable area that is larger (bottom left) than the other annotator (bottom right), the non-rollable area z’5 also being different from one annotator to another.
- a consensus of the annotations of all the annotators represents a certain rolling zone, associated for example with the value 1, while the divergence of the annotations carries the information of a probability of weaker path.
- the more a large number of different annotators identify an area of an image as a rollable area the more the uncertainty of the ability to roll over the area will decrease.
- the calculation of the ground truth S200 consists in adding, for each pixel of an annotated image of the database B1, the number of times that an annotator has considered that said pixel is part of a rolling zone then the processing unit 3 divides this sum by the number of annotators having annotated the image. We obtain a number between 0 and 1 which represents the probability for a pixel to belong to a path (track, rolling zone ).
- the set of field truths corresponds to a set of matrices the size of the images in the B1 learning database, each matrix representing an average of the annotations of the corresponding or associated image in the B1 database.
- each element p of the ground truth is calculated as follows:
- the ground truth associated with the terrain image of FIG. 2 comprises an area z1 annotated as “rolling area” by all the annotators of the image, and an area z5 annotated by none of the annotators.
- the pixels of the zone z1 are associated with the value 1 and the pixels of the zone z5 are associated with the value 0.
- the pixels of the zone z2, annotated by four annotators on the five annotators of the image can be associated with the value 0.8.
- the pixels of zone z3, annotated by three annotators, can be associated with the value 0.6.
- the pixels of zone z3, annotated by an annotator can be associated with the value 0.2.
- the method of identifying E rolling zones is implemented by means of a single neural network R3 which may include "skip connections".
- the learning can be carried out from end to end ("end-to-end"), that is to say the two learning steps S1 and S2 are carried out jointly.
- the learning algorithm of the neural network R3 can take as input directly the learning database B2 comprising the images of the database B1, raw, that is to say without annotation, with all the associated ground truths.
- a method for controlling a land vehicle in speed and trajectory is described here, implementing the method of identifying E of rolling zones described above.
- FIG. 8 schematically illustrates a land vehicle V, equipped with at least one on-board sensor 10 "and a processing unit 4".
- the sensor 10 ′ is intended to supply an input image to the processing unit or means 4 ′, on which at least the image segmentation step E2 can be implemented by the at least one trained neural network. .
- the processing means 4 ′ can comprise at least one processor, for example a graphics processor of GPU type (in English, “Graphics Processing Unit”), intended to process the probabilistic maps calculated by the at least one network of neurons trained, and communicate with a computer C of the land vehicle V.
- a graphics processor of GPU type in English, “Graphics Processing Unit”
- the land vehicle V comprises actuators A, for example a motorized system connected to a transmission.
- Computer C of vehicle V can be configured to control the operation of actuator A.
- the computer C receives information coming from sensors located at the level of the actuator A, and is capable of adapting the control of the operation of the actuator A to these data.
- the computer C can make it possible to control an assisted steering, or a speed of a transmission axis.
- the method for checking the land vehicle V can comprise several steps:
- C32 calculation of a trajectory and / or a vehicle speed setpoint V by the processing means from the probability of the presence of a rolling zone.
- control method can comprise a step C4 of transmission of the instruction to the computer C of the vehicle V.
- At least one sensor 10 ′ is configured for the acquisition of data necessary for the control of the vehicle V.
- the sensor 10 ′ can be a sensor allowing the acquisition. Images or videos, for example a camera, preferably located at the front or on the roof of the vehicle V.
- the data processing unit 4 ’ is an on-board system comprising a processor for example.
- the processing unit 4 ’ can be located on a remote server such as the server 2 described above, communicating with the sensors 10’ via the communication interface 8 and with the computer C.
- the data processing unit 4 ' determines from the data collected by at least one sensor 10' a segmentation of the environment taking into account the uncertainty of the capacity of the vehicle V to be able to drive over the different detected zones.
- a segmentation of the environment is typically a probability map or probabilistic map of the presence of a rolling zone as described above for an image of the environment of the vehicle V.
- the segmentation of the processing step C2 of the images acquired during the step C1 is carried out sequentially, as has been explained when the data input of the segmentation method E2 of the identification method E of rolling zones is a video for example.
- This makes it possible to guarantee shorter calculation times, and a more efficient and reliable implementation of the method for controlling the land vehicle V.
- Step C3 can comprise a first sub-step of analysis C31 of the segmentation of the environment obtained during step C2.
- the first threshold of risk may depend, for example, on the type of vehicle, the user, or the environment.
- the first Seuill risk threshold can be a datum preprogrammed on the data processing means 4 ’or set by a user of the vehicle V.
- the processing unit 4 ’ can calculate from the segmentation of the predefined quantities relevant to establish a vehicle control law V.
- P a quantity representing the average probability of the pixels considered to belong to a rolling zone of the segmentation of an image of the environment.
- the processing unit 4 ′ is configured to calculate the sum over all the pixels considered to belong to the rolling zone at the first risk threshold Seuill of the probability of the pixels, then divide the sum obtained by the size N of the segmentation.
- This magnitude P gives an average probability of one pixel of the image of the environment to belong to a rolling zone.
- P ′ a quantity representing the average probability of the pixels considered as belonging to a rolling zone with respect to the zone considered to be rolling at the threshold Seuill.
- the processing unit 4 ' calculates the sum over all the pixels considered to belong to the rolling zone at the first risk threshold Threshold of the probability of the pixels, then divides the sum obtained by the size N' corresponding to the size of the path at threshold threshold, that is
- the rolling zone is of good quality: the entire zone identified as rolling at the threshold Seuill can be rolled with certainty.
- the rolling zone is of poor quality: the entire zone identified as rolling at the Seuill threshold is considered rolling at the Seuill risk threshold only.
- the Seuill risk threshold is low, for example 0, 1.
- the neural network for example the second trained neural network R2 or the neural network R3, has segmented the image of 321 x 321 pixels into a lower area which can be rolled with certainty of probability 1, corresponding in reality to a track, and a non-rolling zone with certainty, corresponding in reality to a mountainous background.
- the second trained neural network R2 or the trained neural network R3 has segmented the 321 x 321 pixel image into a lower area that can be rolled in an uncertain manner, actually corresponding to a track , and a zone that cannot be driven with certainty, corresponding in reality to a forest background.
- S representing the size of the largest connected component, that is to say the largest zone of the segmentation considered to be rollable at the SeuiM risk threshold. It makes it possible to check whether the segmentation of the path is fragmented, and therefore measures the quality of the rolling zone.
- S represents the area of the largest connected component composed of pixels having a probability greater than SeuiM.
- the size S will be maximum in the example illustrated in Figures 10 and 11 since the area identified as rolling at the SeuiM risk threshold consists of a single piece.
- a track comprising for example potholes, ruts or various obstacles will not be identified as a rollable zone in one piece, and will therefore have a lower S value.
- the image of the environment acquired by the sensor 10 ′ during step C1 comprises obstacles (puddles, pedestrians, vehicles), identified as areas that cannot be driven with certainty or probably not rollable by the neural network during step C2.
- obstacles puddles, pedestrians, vehicles
- the size of the maximum related component varies.
- the processing unit 4 ’ can also calculate other quantities of interest for the control of vehicle V.
- a vehicle control method such as described below is particularly suitable.
- the speed control or setpoint is defined as a function of the quantities calculated during the first sub-step C31, and in particular of the probability of the existence of a rolling zone.
- Q comprising at least one parameter calculated during sub-step C31, for example Q ⁇ ⁇ P, P ', S, (P, S), (P', S), (P, P ', S) ⁇ , and f a continuous function.
- the speed of the vehicle V depends on the probability of the existence of a rolling zone P or P ’, since this probability is an indicator of the quality of the rolling zone.
- the processing means 4 can establish a speed setpoint according to the formula:
- the speed setpoint may tend to slow down the land vehicle V if the quality of the rolling zone is not good.
- the speed setpoint can increase when the probability of the presence of a rolling zone P or P ′ increases.
- the speed command calculated in substep C32 can depend on the probability map established during step C2 and on the authorized risk threshold SeuiM, which can be predefined by the user.
- the processing means 4 ′ can also, during the second sub-step C32, establish a command for the trajectory of the land vehicle.
- the sensors 10 ′ can comprise an ultrasound, laser, LIDAR type distance detection system.
- Distance data advantageously makes it possible to supplement the probability maps obtained during step C2, by providing information on the depth of the rolling zone identified at the SeuiM risk threshold, and on the distance to obstacles.
- the sensors 10 ′ may include a GPS type position detection system.
- Position data advantageously makes it possible to complete the probability maps obtained during step C2.
- position data can be used when the vehicle V is traveling on well-defined road areas.
- Position data can also be used to dynamically calculate the speed of the vehicle V, and in particular to identify skids, in order to adjust the trajectory of the vehicle V.
- the trajectory setpoint is calculated from the probabilistic map of rolling zones obtained during step C2 so as to maximize the probability of the presence of a rolling zone.
- the trajectory instruction can be calculated so as to maximize the integral of the probabilities of the pixels taken by the trajectory provided for the vehicle V.
- a trajectory can be parameterized by a polynomial interpolation function of spline type representing the possible trajectories parameterized by a set of parameters Q1, for example
- k a level of requirement or penalty coefficient which may be a factor predefined in the processing unit 4 ’or determined dynamically by the processing unit 4’.
- the coefficient k makes it possible to choose a degree of penalty associated with passing through a rolling zone in an uncertain manner.
- the calculation of the trajectory can be done in the image and then projected in the control frame of the vehicle V.
- this can be done by applying to the image of the path probabilities a homography which links the plane of the image coming from the sensor 10 ', for example the camera image, to a reference plane of the vehicle V. It is also possible to project the probability map of the presence of a rolling zone in the control frame of reference and configure the processing unit 4 'to perform all the calculations in this repository.
- Knowledge of the movement of the vehicle V can be calculated by the processing unit 4 ′, for example by an odometric technique, by navigation data (GPS), or by an inertial unit comprising a system for measuring movement and mapping the environment (also called “inertia vision”).
- GPS navigation data
- inertial unit comprising a system for measuring movement and mapping the environment
- the processing unit 4 can project and register the at least two probability maps (t, t-1) in the vehicle check mark V;
- Processing unit 4 calculates a final probability map corresponding to the merger of at least two probability maps of rolling zones, by applying a consolidation rule from one of the following consolidation rules:
- the preceding consolidations can be generalized in the case where M> 2, by applying formulas similar to the M probability maps. It is also possible to use other consolidation rules using the data of the elements p of the M previous probability maps.
- the sensors 10 ′ include an obstacle sensor, for example a remote sensing sensor by laser (LIDAR, in English "light detection and ranging »), A radar sensor or an ultrasonic sensor.
- LIDAR laser
- a radar sensor or an ultrasonic sensor.
- the processing unit 4 'so it is possible to configure the processing unit 4 'so that each element p is forced to zero in the case of obstacle detection.
- the probability of the presence of a rolling zone is automatically zero when there is the presence of an obstacle in the zone.
- the level of requirement or penalty coefficient k used for the trajectory calculation can be predefined at a high value, typically greater than 100.
- the trajectory calculated in the sub-step C32 is defined so that the vehicle V remains on the zones considered to be rollable with certainty, passing through the zones having the greatest probability of being nevertheless rollable.
- An example of a setpoint is also shown diagrammatically, in which the setpoint speed decreases when the vehicle V reaches the point P1, where it enters the zone where the probability of being rollable is lower, and the setpoint speed increases when the vehicle V reaches point P2, where it enters an area with a high probability of being rollable.
- the area between P1 and P2 identified on the image of the environment of the vehicle corresponds here to a portion of a muddy road, for example.
- the speed and / or trajectory control calculated in sub-step C32 can be transmitted to a computer C of the vehicle V.
- the computer C may preferably be capable of modifying the speed of the vehicle V so to achieve the control in trajectory, by a system of the “motion planner” type for example.
- the computer C can comprise a controller of the “feedback control” type, capable of modifying the speed and / or trajectory control of the vehicle V as a function of the data coming from sensors present on the actuator A, for example in the event of skidding of the vehicle V.
- a controller of the “feedback control” type capable of modifying the speed and / or trajectory control of the vehicle V as a function of the data coming from sensors present on the actuator A, for example in the event of skidding of the vehicle V.
- Steps C1 to C3 of the vehicle V control method can be repeated almost continuously, that is to say with a high frequency, in order to allow dynamic control of vehicle V.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biodiversity & Conservation Biology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
La présente invention concerne un procédé d'identification de zones roulables dans au moins une image d'un terrain, caractérisé en ce qu'il comprend l'implémentation des étapes suivantes dans une unité de traitement (4) : - apprentissage supervisé d'au moins un réseau de neurones (R2), à partir d'une base de données d'apprentissage comprenant des images d'apprentissages de terrain ayant été annotées par au moins deux opérateurs en vue d'identifier des zones roulables, - segmentation au moyen de l'au moins un réseau de neurones (R2), d'une image d'entrée (I1) pour obtenir une carte probabiliste (I3) de présence d'au moins une zone roulable dans ladite image d'entrée (I1), ladite segmentation comprenant une estimation d'une probabilité de présence d'une zone roulable dans l'image d'entrée (I1), de manière à obtenir une carte probabiliste (I3) définie par une matrice dont chaque élément correspond à une probabilité de présence d'au moins une zone roulable sur un pixel de l'image d'entrée (I1).
Description
Identification de zones roulables avec prise en compte de l’incertitude par une méthode d’apprentissage profond
DOMAINE DE L'INVENTION
La présente invention concerne le domaine des véhicules autonomes, et en particulier le domaine des véhicules autonomes terrestres, ainsi que les procédés de contrôle de tels véhicules.
ETAT DE LA TECHNIQUE
La conception et le développement de véhicules de plus en plus autonomes et connectés posent de nombreux défis. En effet, afin qu’un véhicule puisse naviguer sans pilote, il faut qu’il soit capable de percevoir son environnement, au moyen, par exemple de nombreux capteurs, puis d’analyser et interpréter les données reçues, afin de prendre des décisions sur la conduite du véhicule.
Afin de pouvoir se déplacer sans risque pour des usagers et d’adapter convenablement sa conduite, le véhicule autonome doit en outre être capable de détecter et d’identifier tous les objets fixes ou mobiles de son environnement.
Pour atteindre ces objectifs, des techniques d’intelligence artificielle sont actuellement utilisées. En particulier, ce sont des techniques d’apprentissage automatique qui donnent les meilleurs résultats, notamment des méthodes basées sur l’apprentissage à partir de données à l’aide de réseaux de neurones profonds, et notamment des réseaux de neurones convolutionnels (en anglais « Convolutionnal Neural Network » (CNN)), particulièrement adaptés à la segmentation d’images ou de vidéos.
Toutefois, l’utilisation de ces techniques d’intelligence artificielle n’est pas sans difficulté. En effet, entraîner un système d'intelligence artificielle à la conduite automobile est un processus particulièrement long et compliqué, qui nécessite notamment une base de données d’apprentissage importante, afin de prédire un fonctionnement sur les multiples scénarios auxquels peuvent être confrontés les véhicules.
De nombreuses bases de données existent déjà, par exemple la base de données Cityscapes™ (voir à ce titre le document M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele, “The Cityscapes Dataset for Semantic Urban Scene Understanding,” in Proc of the IEEE Conférence on Computer Vision and Pattern Récognition (CVPR), 2016), qui dispose de plusieurs milliers d’images sur lesquelles sont identifiées différentes classes d’objets (routes, usagers, véhicules, bâtiments, ...). Cependant, la
construction de telles bases de données annotées précisément nécessite une identification manuelle des objets par un opérateur humain et est par conséquent fastidieuse.
La figure 1 représente un exemple d’image annotée par un opérateur humain, destinée à entraîner un réseau de neurones à la segmentation d’images en plusieurs classes d’objets. La figure 1 est une scène d’extérieur urbain, dans laquelle cinq catégories d’éléments ont été annotées. Dans cet exemple, la zone roulable a1 est une route goudronnée, définie sans incertitude. Les trottoirs a2, les êtres humains (piétons ou cyclistes) a3, les bâtiments a4, le fond et la végétation a5 ont été également segmentés.
A partir de la base de données annotées, il est possible de construire un algorithme d’apprentissage profond (en anglais, « deep learning »), par exemple un réseau de neurones profonds, permettant d’identifier automatiquement les différentes classes d’objet, et notamment d’identifier une zone « roulable ».
Toutefois, en dehors d’une zone urbaine, dans un contexte de chemins ou de pistes non goudronnées par exemple, un problème de définition de ce que l’on considère comme une zone roulable se pose, même pour un opérateur humain chargé d’annoter une image d’une base de données d’apprentissage. Ainsi, pour une image de chemin donnée, il n’est pas rare que différents annotateurs proposent une annotation différente de la présence du chemin. En effet, dans le cas des chemins l’appréciation de la présence du chemin est assez subjective par exemple :
- est-ce qu’une flaque doit être considérée comme faisant partie du chemin ?
- est-ce que les ornières en bord de chemin font partie du chemin ? etc.
Cette subjectivité est en fait intéressante à observer. Mais ce n’est pas le cas dans les méthodes connues. Ainsi, le contexte des scènes urbaines ou de routes goudronnées reste privilégié.
De plus, pour un système de contrôle d’un véhicule autonome, il est souhaitable d’intégrer la connaissance de l’incertitude des informations, et notamment de compléter l’information de détection d’un chemin dans l’environnement du véhicule par une estimation de probabilité, afin notamment de minimiser un risque, d’embourbement par exemple.
Cependant, les algorithmes existants n’intègrent pas la connaissance de l’incertitude des informations, en particulier pour la détection de chemin, lors de circulation en dehors de routes, et ne tiennent en particulier pas compte du problème d’incertitude dans la définition de la présence ou non d’un chemin en un point donné d’une image. Ainsi l’apprentissage du modèle, par exemple du réseau de neurones convolutionnels (CNN) est sous optimal ainsi que son utilisation pratique pour le contrôle du véhicule.
EXPOSE DE L'INVENTION
Un but de l’invention est de remédier au moins en partie aux inconvénients précités et de proposer selon un premier aspect un procédé d’identification de zones roulables sur une image, permettant notamment de détecter de façon probabiliste des zones roulables sur des images de terrain. Selon un autre aspect est proposé un procédé de contrôle d’un véhicule terrestre, mettant en oeuvre un tel procédé d’identification de zones roulables, permettant de définir des lois de contrôle d’un véhicule, par exemple une trajectoire ou une vitesse, tenant compte de l’incertitude de zones roulables identifiées.
A cet effet, l’invention concerne, selon un premier aspect, un procédé d’identification de zones roulables dans au moins une image d’un terrain, caractérisé en ce qu’il comprend l’implémentation des étapes suivantes dans une unité de traitement
E1 : apprentissage supervisé d’au moins un réseau de neurones, à partir d’une base de données d’apprentissage comprenant des images d’apprentissages de terrain ayant été annotées par au moins deux opérateurs en vue d’identifier des zones roulables,
E2 : segmentation au moyen de l’au moins un réseau de neurones, d’une image d’entrée pour obtenir une carte probabiliste de présence d’au moins une zone roulable dans ladite image d’entrée, ladite segmentation comprenant une estimation d’une probabilité de présence d’une zone roulable dans l’image d’entrée, de manière à obtenir une carte probabiliste (I3) définie par une matrice dont chaque élément correspond à une probabilité de présence d’au moins une zone roulable sur un pixel de l’image d’entrée.
L’invention est avantageusement complétée par les caractéristiques suivantes, prises seules ou en une quelconque de leur combinaison techniquement possible :
- le procédé comprend avant l’étape d’apprentissage, une étape de calcul d’au moins une vérité terrain définie par une carte probabiliste pour au moins une image associée de la base de données d’apprentissage, à partir d’au moins deux annotations, la vérité terrain étant utilisée pour l’étape d’apprentissage.
- la base de données d’apprentissage comprend un ensemble d’images, associé à un ensemble de vérités terrain associé, chaque vérité terrain étant une matrice dont chaque élément p correspond à un pixel de l’image associée, chaque élément p étant calculé de la manière suivante :
avec K le nombre d’opérateurs ayant annoté l’image, et annotation (pixel, i) = 1 si un opérateur i a considéré le pixel comme appartenant à une zone roulable, 0 sinon.
- l’étape d’apprentissage comprend les étapes :
51 : apprentissage supervisé d’un premier réseau de neurones à partir de la base de données d’apprentissage, de sorte que le premier réseau de neurones entraînés soit configuré pour segmenter une image entre zone roulable et zone non roulable ;
52 : apprentissage supervisé d’un second réseau de neurones à partir de la base de données d’apprentissage et de l’au moins une vérité terrain, de sorte que le second réseau de neurones entraîné soit configuré pour segmenter l’image selon une carte probabiliste de présence de zone roulable.
- l’étape de segmentation de l’image d’entrée comprend les étapes de :
S10 : calcul d’une segmentation de l’image d’entrée, par le premier réseau de neurones entraîné,
S20 : calcul d’une carte probabiliste de présence de zones roulables de l’image d’entrée par le second réseau de neurones entraîné, à partir de l’image d’entrée et de la segmentation issue du premier réseau de neurones.
L’invention concerne selon un deuxième aspect, un procédé de contrôle d’un véhicule terrestre, comprenant les étapes suivantes :
C1 : acquisition d’images par un capteur situé sur le véhicule ;
C2 : traitement des images acquises par une unité de traitement, par un procédé de d’identification selon le premier aspect de l’invention, afin d’obtenir au moins une carte probabiliste de présence de zones roulables ;
C3 : calcul d’une consigne comprenant les sous-étapes de :
- C31 : calcul d’une probabilité de présence de zone roulable par l’unité de traitement (4’) à partir de la carte probabiliste de présence de zones roulables ;
- C32 : calcul d’une trajectoire et/ou d’une consigne en vitesse du véhicule par l’unité de traitement à partir de la probabilité de présence de zone roulable.
- le capteur acquiert une vidéo, et dans lequel l’identification au cours de l’étape de traitement des images acquises est effectuée de manière séquentielle.
- l’étape de calcul de la consigne dépend d’une valeur seuil prédéterminée, la valeur seuil étant un niveau de risque à prendre correspondant à une probabilité qu’un pixel d’une image acquise appartienne à une zone roulable.
- la consigne en vitesse augmente lorsque la probabilité de présence de zone roulable augmente.
- la consigne en trajectoire est calculée à partir de la carte probabiliste de zones roulables de sorte à maximiser la probabilité de présence de zone roulable.
- la consigne en trajectoire est calculée à partir de la carte probabiliste de zones roulables de sorte à maximiser la probabilité de présence de zone roulable et à minimiser selon un niveau d’exigence k, prédéfini ou choisi dynamiquement, les zones au caractère roulable faiblement probables.
- la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite conservative de M cartes probabilistes successives, dont chaque élément p/inai est calculé de la manière suivante :
Pfinal ipixel ) = min ( pt(pixeZ), pt-1 (pixeZ) ... pt-M+1 (pixeZ))
- la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite robuste de M cartes probabilistes successives, dont chaque élément Pfinai est calculé de la manière suivante :
Pfinai ipixel ) = médiane { pt {pixel), pt-1{pixel) ... pt-M+1 {pixel))
- la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite agressive de M cartes probabilistes successives, dont chaque élément p/inai est calculé de la manière suivante :
Pfinai ÎPixel ) = max ( ptipixe . pt^ ipixei), ... pt-M+1(pixel))
- la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite moyenne de M cartes probabilistes successives, dont chaque élément Pfinai est calculé de la manière suivante :
- la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de d’une fusion de M cartes probabilistes successives, et d’une détection d’obstacles réalisée par un capteur d’obstacle.
DESCRIPTION DES FIGURES
D’autres caractéristiques, buts et avantages de l’invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels :
[Fig. 1] La figure 1 représente un exemple de segmentation d’une image de zone urbaine, telle qu’il en existe dans la base de données Cityscapes™.
[Fig. 2] La figure 2 représente un exemple de segmentation d’une image prenant en compte une incertitude de la définition de la zone roulable.
[Fig. 3] La figure 3 représente un exemple d’architecture d’implémentation du procédé d’identification de zones roulables.
[Fig. 4] La figure 4 représente schématiquement les étapes d’un procédé de d’identification de zones roulables sur au moins une image de terrain selon un premier aspect de l’invention.
[Fig. 5] La figure 5 représente un premier exemple d’architecture globale d’un procédé de segmentation d’une image d’entrée selon le premier aspect de la présente invention.
[Fig. 6] La figure 6 représente un deuxième exemple d’architecture globale d’un procédé de segmentation d’une image d’entrée selon le premier aspect de la présente invention.
[Fig. 7] La figure 7 représente le deuxième exemple d’architecture globale d’un procédé de segmentation d’une vidéo d’entrée selon le premier aspect de la présente invention.
[Fig. 8] La figure 8 représente schématiquement un véhicule terrestre permettant de mettre en oeuvre un procédé de contrôle selon un deuxième aspect de la présente invention.
[Fig. 9] La figure 9 représente schématiquement les étapes d’un procédé de contrôle de véhicule terrestre selon le deuxième aspect de l’invention.
[Fig. 10] La figure 10 représente schématiquement une première image issue d’un capteur d’un véhicule tel qu’illustré sur la figure 8, et une première carte de probabilité associée.
[Fig. 1 1] La figure 1 1 représente schématiquement une deuxième image issue d’un capteur d’un véhicule tel qu’illustré sur la figure 8, et une deuxième carte de probabilité associée.
[Fig. 12] La figure 12 représente schématiquement une troisième image issue d’un capteur d’un véhicule tel qu’illustré sur la figure 8, et une troisième carte de probabilité associée, utilisée pour émettre une consigne en trajectoire et en vitesse pour le véhicule.
[Fig. 13] La figure 13 représente un exemple de segmentations d’une image prenant en compte une incertitude de la définition de la zone roulable par deux annotateurs différents.
DESCRIPTION DETAILLEE DE L'INVENTION
Dans ce qui suit, deux principaux aspects vont être décrits :
Un procédé d’identification d’au moins une zone roulable par au moins un réseau de neurones, de préférence par deux réseaux de neurones, comprenant
une première étape d’apprentissage de l’au moins un réseau de neurones, afin que ledit au moins un réseau de neurones entraîné puisse ensuite, lors d’une deuxième étape de segmentation, segmenter une image ou une vidéo pour obtenir une carte probabiliste permettant d’identifier des zones roulables en prenant en compte une incertitude associée ;
Un procédé de contrôle d’un véhicule équipé de capteurs mettant en oeuvre le procédé de segmentation précédent afin d’établir une consigne permettant d’avoir une vitesse et/ou une trajectoire adaptée(s) à la qualité de la zone roulable.
Procédé d’identification d’au moins une zone roulable (E)
La figure 4 illustre schématiquement des étapes du procédé d’identification (E) de zones roulables dans un exemple de réalisation.
Le procédé d’identification E de zones roulables met en oeuvre un procédé de création de base d’apprentissage E0, un procédé d’apprentissage E1 , et un procédé de segmentation E2 d’une image d’entrée, mis en oeuvre par au moins un réseau de neurones entraîné au cours du procédé d’apprentissage E1.
L’homme du métier comprendra qu’une fois que l’au moins un réseau de neurones entraîné est obtenu au cours du procédé d’apprentissage E1 , le procédé d’identification E de zones roulables peut comprendre une répétition du procédé de segmentation d’images E2 à de nombreuses reprises, sans nécessiter la répétition du procédé d’apprentissage E1.
Par segmentation d’une image d’entrée, on entendra une classification de chaque pixel de l’image, c’est-à-dire la prédiction d’un label pour chaque pixel de l’image, chaque label étant associé à un objet réel à identifier, par exemple une route ou plus généralement une zone roulable. Ainsi, l’image est segmentée en une pluralité d’ensembles de pixels comprenant le même label, chaque ensemble de pixels définissant un objet. Comme expliqué précédemment, l’image de la figure 1 est segmentée en cinq classes, la zone roulable a1 , les trottoirs a2, les usagers a3, les bâtiments a4, le fond et la végétation a5.
Par la suite, on utilisera de manière équivalente les termes « piste », « chemin » ou « zone roulable », pour désigner une surface au sol sur laquelle un véhicule terrestre est capable de rouler.
De manière générale, une image est une matrice de pixels de taille donnée, par exemple 321 x 321 pixels. On parlera de manière générale d’image d’un terrain pour désigner une image d’une zone extérieure, ne comprenant pas nécessairement une zone roulable. On pourra désigner par « la segmentation » une image segmentée, ou une matrice dont les éléments sont des labels correspondant à un objet ou à une probabilité.
Architecture
La figure 3 illustre un exemple d’architecture dans laquelle les étapes des procédés ci- dessus peuvent être implémentées.
Le procédé d’apprentissage (E1 ) peut être mis en oeuvre sur un premier serveur 1 et le procédé de segmentation (E2) peut être mis en oeuvre sur un deuxième serveur 2. Chaque serveur 1 , 2 comprend avantageusement au moins une unité de traitement 3, 4, par exemple un processeur ayant de préférence une puissance de calcul élevé.
Chaque serveur 1 , 2 peut également comprendre une interface de communication 7, 8 permettant une communication entre eux. Une telle communication peut par exemple être mise en oeuvre au moyen d’une liaison filaire ou sans fil par l’intermédiaire de tout type de réseau de communication par exemple le réseau Internet. S’agissant du premier serveur 1 , il peut avoir accès par l’intermédiaire de l’interface de communication 7 à une base de données d’apprentissage distante (non représentée).
De manière avantageuse également, chaque serveur 1 , 2 peut comprendre une unité de stockage 5,6, par exemple un disque dur. Typiquement, le premier serveur d’apprentissage 1 peut stocker dans l’unité de stockage 5 une base de données d’apprentissage ou avoir accès à une base de données d’apprentissage.
L’homme du métier comprendra sans difficulté que d’autres architectures pour la mise en oeuvre des procédés d’apprentissage (E1 ) et de segmentation (E2) sont possibles, les deux serveurs 1 ,2 pouvant notamment être fusionnés.
Procédé de segmentation (étape E2)
Selon un premier aspect, le procédé d’identification E de zone(s) roulable(s) comprend la mise en oeuvre d’un procédé de segmentation d’image ou de vidéo (E2). La segmentation d’image ou de vidéo est réalisée au moyen d’au moins un réseau de neurones préalablement entraînés, au cours d’un procédé d’apprentissage (E1 ) qui sera détaillé par la suite.
De manière générale, un réseau de neurones comprend une pluralité de neurones (de type perceptron ou de type convolutionnel) sur plusieurs couches connectées entre elles..
L’au moins un réseau de neurones peut être implémenté selon un grand nombre d’architectures différentes. De manière non limitative, il est possible d’utiliser un réseau selon l’une des architectures connues de l’homme du métier de typeConvNet comme par exemple : ResNet (réseau de neurones convolutionnels (CNN) permettant d’optimiser l’apprentissage de réseaux très profonds (plus de 150 couches)), DenseNet (réseau comprenant plusieurs « block » dont les couches sont reliées par des connexions plus courtes, SegNet. (réseau de neurones entièrement convolutifs présentant une architecture encodeur-décodeur symétrique. L’encodeur est une succession de couches convolutives suivies par une normalisation par batch et des fonctions de transfert non linéaires, et le décodeur est une symétrie de l’encodeur ( Vijay Badrinarayanan, Alex Kendall, and Roberto Cipolla. SegNet : A Deep Convolutional Encoder- Decoder Architecture for Image Segmentation. November 2015),. On pourra également s’inspirer d’une de ces architectures est l’adapter au contexte des véhicules autonomes.
Par la suite, on se placera dans un premier temps dans le cas où la donnée d’entrée est une image, qu’on désignera généralement par « image d’entrée » ou « image de terrain d’entrée », avant de s’intéresser à la segmentation d’une vidéo ou d’une séquence d’images
Dans un premier exemple de réalisation illustré sur la figure 5, le procédé de segmentation (E2) est réalisé au moyen d’un premier réseau de neurones profonds R1 et d’un second réseau de neurones profonds R2, et préalablement entraînés.
Le premier réseau de neurones profonds R1 reçoit en entrée une image 11 pour effectuer une première segmentation de la zone roulable (étape S10) afin d’obtenir une image I2 segmentée. L’image 11 est de préférence fournie au premier réseau de neurones profonds R1 par l’intermédiaire de l’interface de communication 8 connectée à une unité 10 distante du serveur 2 (par exemple un capteur) ou bien est stockée dans l’unité de stockage 6 du serveur 2.
Typiquement, comme expliqué précédemment, il peut s’agir de classifier chaque pixel de l’image en prédisant pour chaque pixel de l’image 11 un label, parmi un premier label correspondant à la classe « zone roulable » et un deuxième label correspondant à la classe « zone non roulable ». Le premier réseau de neurones R1 produit en sortie une image segmentée I2.
Dans un exemple de réalisation, il peut s’agir d’une binarisation de l’image 11 fournie en entrée, l’image segmentée I2 obtenue en sortie comprenant des pixels blancs et des pixels blancs
uniquement, les pixels blancs correspondant par exemple à la zone roulable identifiée, comme illustré schématiquement sur la figure 5.
Au moins l’image segmentée 12 en sortie du premier réseau de neurones R1 est donnée en entrée du second réseau de neurones R2. Dans l’exemple d’architecture illustré sur la figure 5 par exemple, le second réseau de neurones R2 prend en entrée l’image d’entrée 11 image segmentée I2 issue du premier réseau de neurones R1.
Le second réseau de neurones R2, est configuré, c’est-à-dire entraîné, pour fournir en sortie une estimation de la probabilité de la présence de zone roulable dans l’image d’entrée 11. L’estimation de la probabilité de la présence de zone roulable (étape S20) dans l’image d’entrée 11 peut ensuite être transmise à une unité 12, par l’intermédiaire de l’interface de communication 8 ou bien être stockée dans l’unité de stockage 6 du serveur 2.
De manière générale, le second réseau de neurones R2 calcule l’estimation de la probabilité de la présence de zone roulable sous la forme d’une carte probabiliste I3 de présence d’au moins une zone roulable dans l’image d’entrée 11. La carte probabiliste I3 est une matrice de deux dimensions L x I, dont chaque élément ou valeur est compris entre 0 et 1 et correspond à une probabilité de présence d’au moins une zone roulable sur un pixel de l’image d’entrée 11.
On parlera de manière indépendante de carte probabiliste ou de carte de probabilité pour définir l’estimation d’une probabilité de présence d’une zone roulable sur une image.
Chaque valeur ou élément de la carte probabiliste I3 est destiné à exprimer la probabilité pour un pixel correspondant de l’image d’entrée 11 d’appartenir à une zone roulable. Par exemple, on associe à un pixel situé dans une zone identifiée comme non roulable le chiffre 0 (noir), et dans une zone identifiée comme roulable de façon certain le chiffre 1 (blanc). On associe aux pixels situés dans des zones présentant une incertitude des valeurs intermédiaires, typiquement 0,2 pour un pixel d’une zone probablement pas roulable, ou 0,8 un pixel d’une zone probablement roulable.
Dans un exemple de réalisation, la sortie du second réseau de neurones R2 peut être une matrice de même dimension que l’image d’entrée 11 , comprenant par exemple 321 x 321 valeurs. Une telle représentation des cartes probabilistes est également illustrée sur les figures 10 à 12.
Plus généralement, les dimensions de la matrice représentant la carte de probabilité I3 peuvent être inférieures à celles de l’image d’entrée 11 , par exemple suite à une compression de l’image d’entrée 11. Cela implique une perte d’informations mais permet d’améliorer la vitesse de calcul de la carte de probabilité I3.
De manière alternative, les dimensions de la matrice représentant la carte de probabilité 13 peuvent être supérieures à celles de l’image d’entrée 11 , par exemple en réalisant des interpolations entre les pixels de l’image d’entrée 11.
Dans un deuxième exemple de réalisation illustré sur la figure 6, le procédé de segmentation (E2) peut être réalisé au moyen d’un unique réseau de neurones profonds R3.
A partir de l’image 11 donnée en entrée le réseau de neurones profonds R3 est configuré pour fournir en sortie une estimation de la probabilité de la présence de zone roulable dans l’image d’entrée 11.
Selon ce deuxième exemple de réalisation, le réseau de neurones R3 ne comprend pas d’étape de segmentation de l’image d’entrée 11 pour obtenir une image segmentée I2. Comme cela sera détaillé par la suite, le réseau de neurones R3 est configuré lors du procédé d’apprentissage (E1 ) pour directement calculer l’estimation de la probabilité de la présence de zone roulable sous la forme d’une carte probabiliste I3.
Le réseau de neurones R3 peut comprendre une ou plusieurs « skip connexion(s) » (31 , 32), c’est-à-dire que l’information de l’image d’entrée 11 peut être redonnée en entrée au niveau d’un ou plusieurs point(s) du réseau de neurones R3, comme cela est visible sur la figure 6.
La carte probabiliste I3 calculée par le réseau de neurones R3 peut être une matrice semblable à celle obtenue en sortie du second réseau de neurones R2, et décrite précédemment.
A partir des deux exemples de réalisations décrits précédemment, il est également possible de manière analogue de segmenter une vidéo.
De manière générale, une vidéo est une séquence de T images, dépendant de la longueur de la vidéo, numérotées de 1 à T. En d’autres termes, une image quelconque d’une vidéo correspond à une image t, avec t Ê II; T} .
On considérera par la suite que la donnée d’entrée est une vidéo d’entrée c’est-à-dire une séquence de T images.
Dans le premier exemple de réalisation, le procédé de segmentation E2 mis en oeuvre dans le procédé d’identification E de zones roulables est effectué par deux réseaux de neurones (R1 , R2).
Le premier réseau de neurones R1 peut être configuré pour segmenter chaque image de la vidéo d’entrée. Dans ce cas, la sortie du premier réseau de neurones R1 peut être la séquence d’images de la vidéo d’entrée segmentées, c’est-à-dire la vidéo d’entrée segmentée, par exemple par binarisation.
De même, le second réseau de neurones R2 peut être configuré pour calculer une carte de probabilité de présence pour chaque image segmentée obtenue en sortie du premier réseau de neurones R1.
De préférence, il est possible d’effectuer un séquençage de la vidéo d’entrée avant la segmentation par le premier réseau de neurones R1 et/ou avant le calcul de cartes probabilistes par le second réseau de neurones R2.
Par exemple, le premier réseau de neurones R1 peut être configuré pour ne calculer de segmentation d’une image qu’à une certaine fréquence, par exemple de ne calculer la segmentation que d’une image sur deux, ou d’une image sur trois de la vidéo d’entrée.
Lors d’une segmentation séquentielle, le résultat en sortie du premier réseau de neurones R1 est un ensemble de matrices d’images segmentées dont le nombre est inférieur au nombre d’images de la vidéo d’entrée.
De préférence, la vidéo est divisée en séquences de taille T' < T, la taille de la séquence étant choisie de sorte que, pour chaque séquence, le résultat en sortie du premier réseau de neurones R1 peut être une unique matrice représentant la classification en zone roulable/non roulable d’une image suffisamment représentative de la séquence. Typiquement, il peut s’agir de la dernière image de la séquence. La valeur de T’ peut dépendre de la vitesse d’acquisition du capteur fournissant la vidéo d’entrée, par exemple d’une caméra. La valeur de T’ peut dépendre de la taille des réseaux de neurones (R1 ,R2,R3), et/ou de la capacité de traitement de l’unité de traitement (3,4).
De préférence, la taille d’une séquence T’ est inférieure à dix images. Cela permet d’assurer la fiabilité d’une succession de cartes de probabilités, notamment dans une mise en oeuvre dans un procédé de contrôle d’un véhicule terrestre, comme il sera détaillé par la suite.
De manière avantageuse, il est possible de calculer séquentiellement la première segmentation puis de redonner en entrée au deuxième réseau de neurones R2 la séquence d’images segmentées et toutes les images de la vidéo d’entrée.
De même, le second réseau de neurones R2 peut être configuré pour ne calculer une carte probabiliste d’une image segmentée par le premier réseau de neurones R1 qu’à une certaine fréquence, par exemple de ne calculer la carte probabiliste que d’une image segmentée sur deux ou sur trois.
Ne pas segmenter toutes les images de la vidéo d’entrée et/ou ne pas calculer toutes les cartes de probabilité associées aux images de la vidéo d’entrée permet avantageusement de diminuer la puissance de calcul nécessaire au traitement de la vidéo d’entrée, et donc le temps
de traitement. Cela est particulièrement pertinent dans le cas où les cartes de probabilités sont utilisées pour prendre une décision de manière dynamique, comme par exemple dans le procédé de contrôle décrit dans le deuxième aspect de l’invention.
Dans un deuxième exemple de réalisation, le procédé de segmentation E2 mis en oeuvre dans le procédé d’identification E de zones roulables est effectué par l’unique réseau de neurones R3.
De même que précédemment, le réseau de neurones R3 peut être configuré pour ne pas calculer des cartes probabilistes pour toutes les images de la vidéo d’entrée.
Un exemple schématique est illustré sur la figure 7. La vidéo d’entrée, fournie en entrée par l’unité 10 à l’unité de traitement 4 sur laquelle est implémentée le réseau de neurones R3, est dans cet exemple divisée en séquences de taille trois (T’=3) par l’unité de traitement 4. Chaque séquence de la vidéo d’entrée comprend par exemple les images (11 , 11’, 11”).
Le réseau de neurones R3 peut être configuré pour ne calculer qu’une carte de probabilité pour chaque séquence de la vidéo d’entrée, de sorte que la carte de probabilité soit représentative de l’estimation de la probabilité de la présence de zone roulable dans les images (11 , 11’, 11”) de la séquence d’entrée. Par exemple, le réseau de neurones R3 ne peut calculer que la carte de probabilité associée à la première image 11 de la séquence ou à la dernière image 11” de la séquence ou à une image centrale 11’ de la séquence. La carte de probabilité I3 représentative de la séquence d’images (11 , 11’, 11”) peut ensuite être transmise à l’unité 12.
Il est possible de réaliser ce traitement en une seule opération en utilisant une ou plusieurs « skip connexions » comme cela a été détaillé précédemment. Tout ou partie des images (11 , 11’, U”) de la séquence de la vidéo d’entrée peuvent être redonnées en entrée en un ou plusieurs points du réseau de neurones R3.
L’homme du métier comprendra que lors d’une utilisation du procédé d’identification E de zones roulable pour le traitement d’une vidéo, le procédé E2 de segmentation d’image peut être répétée indépendamment du procédé d’apprentissage E1 , qui va maintenant être décrit.
Procédé d’apprentissage (E1)
De manière générale et connue de l’homme du métier, un procédé d’apprentissage supervisé d’un réseau de neurones correspond à mettre en oeuvre un algorithme consistant à modifier les pondérations des neurones du réseau de neurones, jusqu’à ce que la sortie du réseau de neurone corresponde à la sortie attendue.
Un procédé d’apprentissage nécessite une base de données d’apprentissage comprenant un ensemble de données d’entrée exemple, et un ensemble de sorties attendues
associées. Par exemple, la base de données d’apprentissage pour un réseau de neurones destiné à la segmentation d’images comprend une pluralité d’images (ou plus généralement de vidéos) et une pluralité de segmentation probabiliste des images.
Par exemple, l’algorithme peut être configuré pour initialiser les pondérations à des valeurs quelconques, puis pour présenter successivement toutes les données d’entrée exemple de la base de données d’apprentissage au réseau de neurones. Pour chaque donnée d’entrée exemple, l’algorithme peut être configuré pour comparer la sortie du réseau de neurones à la sortie attendue associée à la donnée d’entrée exemple, et pour ajuster les pondérations selon que la sortie du réseau de neurones est « proche » de la sortie attendue. L'algorithme peut être configuré pour s'arrêter lorsque toutes les données d’entrée exemple ont été présentées sans modification d'aucune pondération.
De nombreux algorithmes d’apprentissage peuvent être utilisés, à titre illustratif, un algorithme d’apprentissage par rétropropagation du gradient, ou par exemple un algorithme du gradient stochastique (en anglais « Stochastic Gradient Decent »), ou d’estimation adaptive de moment (en anglais ADAM ou « adaptive moment estimation »). L’homme du métier comprendra que de nombreux algorithmes d’apprentissage, tels que connus dans l’art antérieur peuvent être utilisés pour entraîner le réseau de neurones.
De préférence, le procédé d’apprentissage E1 peut être mis en oeuvre par un algorithme d’apprentissage implémenté dans l’unité de traitement 3 du serveur d’apprentissage 1 . L’étape d’apprentissage est réalisée à partir d’un ensemble d’images et de sorties attendues associées, contenu dans une base de données d’apprentissage, qui peut être stockée dans l’unité de stockage 5, ou accessible via l’interface de communication 7.
On considère d’abord un premier exemple de réalisation, dans lequel le procédé d’identification E de zones roulables est mis en oeuvre au moyen du premier réseau de neurones profonds R1 et du second réseau de neurones profonds R2.
Dans un exemple de réalisation de procédé d’apprentissage, comme illustré par exemple sur la figure 4, le procédé d’apprentissage E1 comprend les étapes suivantes :
- S1 : apprentissage supervisé du premier réseau de neurones R1 à partir de la base de données d’apprentissage, de sorte que le premier réseau de neurones R1 entraîné soit configuré pour segmenter une image entre zone roulable et zone non roulable ;
- S2 : apprentissage supervisé du second réseau de neurones R2 à partir de la base de données d’apprentissage et d’au moins une vérité terrain, de sorte que le second réseau
de neurones R2 entraîné soit configuré pour segmenter l’image selon une carte probabiliste de présence de zone roulable.
Il est avantageux de distinguer deux étapes S1 , S2 pour entraîner les deux réseaux de neurones distincts (R1 , R2) indépendamment. L’algorithme d’apprentissage peut être plus simple à mettre en place, et le procédé d’apprentissage E1 peut être plus rapide à implémenter. Il peut être plus rapide d’entraîner le premier réseau de neurones R1 et le deuxième réseau de neurones R2 successivement.
Dans un exemple de réalisation préférentiel, lors de la première étape d’apprentissage
51 , on entraînera le premier réseau de neurones R1 en utilisant une fonction de coût adaptée telle que la fonction de coût à entropie croisée (en anglais « Cross Entropy »), par exemple utilisée dans l’article « SegNet : A deep Convolutional Encoder-Decoder Architecture for Image Segmentation ».
Dans un exemple de réalisation préférentiel, lors de la deuxième étape d’apprentissage
52, on entraînera le deuxième réseau de neurones R2 en utilisant une fonction de coût adaptée telle que la valeur absolue ou le carré des différences entre la matrice de sortie du réseau de neurones R2 et la vérité terrain associée, en chaque pixel de la matrice de sortie.
De façon avantageuse on pourra utiliser des méthodes de régularisation connues de l’homme du métier, par exemple la méthode de dégradation des pondérations (en anglais « weight decay ») pour la définition de la fonction de coût.
Pour mettre en oeuvre la première étape S1 d’apprentissage supervisé du premier réseau de neurones R1 , permettant la segmentation d’images ou de vidéos, et en particulier la détection de zones roulables, une première étape préliminaire (étape E0) peut comprendre une construction de la base de données d’apprentissage B1 adaptée.
La base de données d’apprentissage B1 peut comprendre un ensemble d’images ou de vidéos de scènes d’extérieur, de préférence plusieurs centaines, de préférence encore plusieurs milliers. Les scènes d’extérieur des images de terrain ou des vidéos ne représentent pas nécessairement toutes de zones roulables, cependant, un ensemble important des scènes d’extérieur présentent au moins un chemin, une piste, ou une zone roulable.
La base de données d’apprentissage B1 comprend également une annotation de l’ensemble des images ou des vidéos. Une annotation d’une image de terrain est une segmentation de l’image (c’est-à-dire une classification de chaque pixel de l’image de terrain), réalisée par un opérateur humain. L’opérateur humain, désigné également par « annotateur » définit un label pour chaque pixel de l’image, correspondant au label attendu pour chaque pixel
de l’image en sortie du premier réseau de neurones R1 entraîné. L’annotation associée à une image est donc le résultat attendu en sortie du réseau de neurones R1 entraîné, s’il recevait en entrée ladite image.
Par exemple, dans l’exemple de réalisation où le premier réseau de neurones R1 entraîné est destiné à binariser une image d’entrée entre une classe « zone roulable » et une classe « zone non roulable », l’annotateur devra attribuer à chaque pixel un label parmi deux labels (un premier label correspondant à une zone roulable, et un second label correspondant à une zone non roulable), selon qu’il considère que le pixel appartient à une zone roulable ou pas.
De préférence, chaque image de terrain de la base de données d’apprentissage B1 peut être associée à une annotation d’un annotateur correspondant à la perception de l’annotateur, par exemple à la distinction par l’annotateur en une zone roulable et une zone non roulable.
Dans le cas où les zones roulables sur une image de terrain sont mal définies, l’appréciation dépendant de l’opérateur humain ou annotateur réalisant l’annotation, il est également possible d’associer plusieurs annotations différentes à l’image de terrain, afin de multiplier les données de la base de données d’apprentissage B1.
A partir des images de terrain et des annotations associées, contenus dans la base de données d’apprentissage B1 , l’algorithme d’apprentissage peut entraîner le premier réseau de neurones R1 , de sorte qu’il soit capable de segmenter des images. Par exemple, de sorte que le premier réseau de neurones R1 entraîné soit capable de binariser des images entre « zone roulable » et « zone non roulable ».
Dans un autre exemple de réalisation, la première étape d’apprentissage S1 n’est pas nécessaire, et le réseau de neurones profonds R1 utilisé lors de l’étape E2 de segmentation est un réseau de neurones déjà entraîné à identifier des zones roulables.
Pour mettre en oeuvre la deuxième étape S2 d’apprentissage supervisé du deuxième réseau de neurones R2, permettant le calcul de cartes probabilistes de présence de zones roulables, il convient d’adapter la base de données d’apprentissage B1 , en une base de données d’apprentissage B2.
A l’issue de la deuxième étape d’apprentissage S2, le deuxième réseau de neurones R2 peut avoir appris à estimer la probabilité de présence d’un chemin, piste, zone roulable à partir d’une image d’une scène d’extérieur et/ou d’une image segmentée pouvant être issue du premier réseau de neurones R1.
La base de données d’apprentissage B2 peut comprendre l’ensemble des images de terrain de la base de données d’apprentissage B1.
La base de données d’apprentissage B2 comprend également un ensemble de cartes probabilistes associées aux images de terrain. Chaque carte probabiliste correspond à une vérité terrain, c’est-à-dire à l’estimation de présence de zone roulable attendue en sortie du deuxième réseau de neurones R2 entraîné, si l’image associée était donnée en entrée.
L’étape EO peut comprendre une étape de calcul d’au moins une vérité terrain S200 définie par une carte probabiliste pour au moins une image associée de la base de données d’apprentissage B1. L’au moins une vérité terrain calculée est utilisée pour l’étape d’apprentissage S2 illustrée sur la figure 4.
De préférence, les vérités terrain ont un format semblable aux cartes probabilistes qui sont calculées au cours du procédé de segmentation E2.
Comme expliqué précédemment, dans le cadre de zones roulables mal définies, il est avantageux d’ajouter une information sur l’incertitude de la zone roulable à identifier, et notamment sur l’incertitude de l’existence de la zone roulable.
Pour construire une vérité terrain associée à une image de la base de données B1 , il est possible d’utiliser des annotations de l’image réalisées par des annotateurs différents, de manière indépendante, lors d’une étape d’annotation d’images S100. De préférence, la vérité terrain de l’image est construite à partir d’au moins deux annotations différentes de l’image, c’est-à-dire que l’image peut avoir été préalablement annotée par plus de deux annotateurs, de préférence encore par au moins cinq annotateurs indépendants.
La figure 2 illustre un exemple d’image de terrain dans laquelle il existe une incertitude dans la définition de la zone roulable. Par exemple, la zone la plus claire (zones z1 ) a été identifié comme roulable par les cinq annotateurs de l’image, et correspond donc à une voie roulable identifiée avec une forte certitude, tandis que la zone la plus sombre (ciel) correspond à une zone n’ayant été identifiée comme roulable par aucun des annotateurs. Les zones intermédiaires correspondent à des zones n’ayant pas été identifiées par tous les annotateurs comme des zones roulables. Ainsi, la même zone a été annotée par plusieurs annotateurs et peut être annotées différemment d’un annotateur à l’autre. Ceci est illustré sur la figure 13 où une image conduit à deux annotations différentes de la zone roulable. Un annotateur aura identifié une zone roulable z1’ plus grande (en bas à gauche) que l’autre annotateur (en bas à droite), la zone non roulable z’5 étant aussi différente d’un annotateur à l’autre.
Ainsi, plus le nombre d’annotateurs différents est élevé, plus on dispose de perceptions différentes de la zone roulable éventuelle, et il sera simple d’estimer une incertitude dans la définition même de la capacité à rouler sur la zone roulable éventuelle.
Pour le calcul de la vérité terrain, on peut considérer qu’un consensus des annotations de tous les annotateurs représente une zone roulable certaine, associée par exemple à la valeur 1 , tandis que la divergence des annotations porte l’information d’une probabilité de chemin plus faible. De manière générale, plus un nombre élevé d’annotateurs différents identifie une zone d’une image comme zone roulable, plus l’incertitude de la capacité à rouler sur la zone diminuera.
De préférence, on peut construire une vérité terrain pour chacune des images de la base de données d’apprentissage B1. L’homme du métier comprendra que, dans une certaine mesure, plus le nombre d’images de la base de données d’apprentissage B2 augmente, plus la fiabilité du réseau de neurones R2 entraîné augmentera.
Selon un exemple de réalisation, le calcul de la vérité terrain S200 consiste à additionner pour chaque pixel d’une image annotée de la base de données B1 le nombre de fois qu’un annotateur a considéré que ledit pixel fait partie d’une zone roulable puis l’unité de traitement 3 divise cette somme par le nombre d’annotateurs ayant annoté l’image. On obtient un chiffre entre 0 et 1 qui représente la probabilité pour un pixel d’appartenir à un chemin (piste, zone roulable...).
Ainsi, l’ensemble de vérités terrain correspond à un ensemble de matrices de la taille des images de la base de données d’apprentissage B1 , chaque matrice représentant une moyenne des annotations de l’image correspondante ou associée dans la base de données B1.
Dans l’exemple d’une binarisation, où l’annotation d’un pixel vaut 1 si l’annotateur i parmi les K annotateurs de l’image a considéré que le pixel appartient à une zone roulable, ou 0 sinon, chaque élément p de la vérité terrain est calculé de la manière suivante :
On obtient ainsi une carte probabiliste de présence de zones roulables dans un ensemble d’images de la base de données d’apprentissage B1.
Par exemple, la vérité terrain associée à l’image de terrain de la figure 2 comprend une zone z1 annotée comme « zone roulable » par tous les annotateurs de l’image, et une zone z5 annotée par aucun des annotateurs. Les pixels de la zone z1 sont associés à la valeur 1 et les pixels de la zone z5 sont associés à la valeur 0. Les pixels de la zone z2, annotée par quatre annotateurs sur les cinq annotateurs de l’image peuvent être associés à la valeur 0,8. Les pixels de la zone z3, annotée par trois annotateurs, peuvent être associés à la valeur 0,6. Les pixels de la zone z3, annotée par un annotateur, peuvent être associés à la valeur 0.2.
A partir de la deuxième base de données d’apprentissage B2, il est possible d’entrainer le réseau de neurones R2. Comme expliqué précédemment, il s’agit de redéfinir itérativement les pondérations du deuxième réseau de neurones R2 de sorte à faire converger les cartes de probabilité en sortie du réseau de neurones R2 vers les cartes de probabilités correspondant à la vérité terrain calculée précédemment.
Dans le deuxième exemple de réalisation décrit, le procédé d’identification E de zones roulables est mis en oeuvre au moyen d’un seul réseau de neurones R3 pouvant comprendre des « skip connexions ».
Dans cet exemple de réalisation, l’apprentissage peut être réalisé de bout en bout (« end- to-end »), c’est-à-dire les deux étapes d’apprentissages S1 et S2 sont réalisées conjointement.
L’algorithme d’apprentissage du réseau de neurones R3 peut prendre directement en entrée la base de données d’apprentissage B2 comprenant les images de la base de données B1 , brutes c’est-à-dire sans annotation, avec l’ensemble des vérités terrain associé.
Procédé de contrôle d’un véhicule utilisant la segmentation probabiliste de zones roulables
On décrit ici un procédé de contrôle d’un véhicule terrestre en vitesse et en trajectoire, mettant en oeuvre le procédé d’identification E de zones roulables ci-dessus décrit.
La figure 8 illustre schématiquement un véhicule terrestre V, équipé d’au moins un capteur 10’ embarqué et d’une unité de traitement 4’. Le capteur 10’ est destiné à fournir une image d’entrée à l’unité ou moyen de traitement 4’, sur laquelle peut être implémenté au moins l’étape de segmentation d’image E2 par l’au moins un réseau de neurones entraîné.
De préférence, le moyen de traitement 4’ peut comprendre au moins un processeur, par exemple un processeur graphique de type GPU (en anglais, « Graphics Processing Unit »), destiné à traiter les cartes probabilistes calculées par l’au moins un réseau de neurones entraîné, et communiquer avec un calculateur C du véhicule terrestre V.
Le véhicule terrestre V comprend des actionneurs A, par exemple un système motorisé relié à une transmission. Le calculateur C du véhicule V peut être configuré pour contrôler le fonctionnement de l’actionneur A.
De préférence, le calculateur C reçoit des informations en provenance de capteurs situés au niveau de l’actionneur A, et est capable d’adapter le contrôle du fonctionnement de l'actionneur A à ces données. Par exemple, le calculateur C peut permettre de contrôler une direction assistée, ou une vitesse d’un axe de transmission.
Comme cela est illustré sur la figure 9, le procédé de contrôle du véhicule terrestre V peut comprendre plusieurs étapes :
C1 : acquisition d’images par l’au moins un capteur 10’ situé sur le véhicule V ;
C2 : traitement des images acquises par l’unité de traitement 4’, selon un procédé de segmentation E2 décrit précédemment, afin d’obtenir au moins une carte probabiliste de présence de zones roulables ;
C3 : calcul d’une consigne comprenant les sous-étapes de
C31 : calcul d’une probabilité de présence de zone roulable par le moyen de traitement 4’ à partir de la carte probabiliste de présence de zones roulables ;
C32 : calcul d’une trajectoire et/ou d’une consigne en vitesse du véhicule V par le moyen de traitement à partir de la probabilité de présence de zone roulable.
Dans un exemple de réalisation, le procédé de contrôle peut comprendre une étape C4 de transmission de la consigne au calculateur C du véhicule V.
Afin de pouvoir mettre en oeuvre la première étape C1 du procédé de contrôle, l’au moins un capteur 10’ est configuré pour l’acquisition de données nécessaires au contrôle du véhicule V. Le capteur 10’ peut être un capteur permettant l’acquisition d’images ou de vidéos par exemple une caméra, située de préférence à l’avant ou sur le toit du véhicule V.
Sur l’exemple illustré à la figure 8, l’unité de traitement de données 4’ est un système embarqué comprenant un processeur par exemple. De manière alternative, l’unité de traitement 4’ peut être située sur un serveur à distance tel que le serveur 2 décrit précédemment, communicant avec les capteurs 10’ via l’interface de communication 8 et avec le calculateur C.
Sur l’unité de traitement de données ou unité de traitement 4’ est implémenté le procédé de segmentation E2 du procédé d’indentification de zones roulables et illustré dans différents exemples de réalisation sur les figures 5 à 7. L’unité de traitement de données 4’ détermine à partir des données collectées par l’au moins un capteur 10’ une segmentation de l’environnement prenant en compte l’incertitude de la capacité du véhicule V à pouvoir rouler sur les différentes zones détectées. Une telle segmentation de l’environnement est typiquement une carte de probabilité ou carte probabiliste de présence de zone roulable telle que décrite précédemment pour une image de l’environnement du véhicule V.
De préférence, la segmentation de l’étape de traitement C2 des images acquises lors de l’étape C1 est effectuée de manière séquentielle, comme cela a été expliqué lorsque la donnée
d’entrée de du procédé de segmentation E2 du procédé d’identification E de zones roulables est une vidéo par exemple. Cela permet de garantir des temps de calculs plus courts, et une mise en oeuvre plus efficace et fiable du procédé de contrôle du véhicule terrestre V.
A partir de cartes probabilistes de présence de zones roulables, il est possible de piloter le véhicule. L’étape C3 peut comprendre une première sous-étape d’analyse C31 de la segmentation de l’environnement obtenue lors de l’étape C2.
On définit un premier seuil (Seuill ) représentant le niveau de risque que l’on souhaite prendre sur le niveau de probabilité nécessaire d’appartenance à une zone roulable. Le premier seuil de risque Seuill peut dépendre par exemple du type de véhicule, de l’utilisateur, ou de l’environnement. Le premier seuil de risque Seuill peut être une donnée préprogrammée sur le moyen de traitement de données 4’ ou réglée par un utilisateur du véhicule V.
Lors de la première sous-étape d’analyse C31 , l’unité de traitement 4’ peut calculer à partir de la segmentation des grandeurs prédéfinies pertinentes pour établir une loi de contrôle du véhicule V.
On note P une grandeur représentant la probabilité moyenne des pixels considérés comme appartenant à une zone roulable de la segmentation d’une image de l’environnement. L’unité de traitement 4’ est configurée pour calculer la somme sur tous les pixels considérés comme appartenant à la zone roulable au premier seuil de risque Seuill de la probabilité des pixels, puis diviser la somme obtenue par la taille N de la segmentation.
J N
pixel
p(pixel)>Seuill
avec p(pixel) la probabilité pour qu’un pixel appartienne à un chemin, selon la carte de probabilité obtenue par le procédé de segmentation d’image à l’étape C2.
Cette grandeur P donne une probabilité moyenne d’un pixel de l’image de l’environnement d’appartenir à une zone roulable.
On peut également définir P’ une grandeur représentant la probabilité moyenne des pixels considérés comme appartenant à une zone roulable par rapport à la zone considérée comme roulable au seuil Seuill . L’unité de traitement 4’ calcule la somme sur tous les pixels considérés comme appartenant à la zone roulable au premier seuil de risque Seuill de la probabilité des pixels, puis divise la somme obtenue par la taille N’ correspondant à la taille du chemin au seuil Seuill , soit
avec c la fonction caractéristique de l’ensemble
{pixel / p(pixel) > Seuill).
On a donc : p (pixel)
" =
p åixel
p(pixel)>Seuil 1
Cette grandeur donne un indicateur de la qualité du chemin :
Si P' ® 1, alors la zone roulable est de bonne qualité : toute la zone identifiée comme roulable au seuil Seuill est roulable de façon certaine.
Si P' ® Seuill, alors la zone roulable est de mauvaise qualité : toute la zone identifiée comme roulable au seuil Seuill est estimée roulable au seuil de risque Seuill uniquement.
Par exemple, dans le cas où l’on choisit de prendre un risque élevé, le seuil de risque Seuill est faible, par exemple 0, 1.
Sur l’exemple illustré sur la figure 10, le réseau de neurones, par exemple le second réseau de neurones R2 entraîné ou le réseau de neurones R3, a segmenté l’image de 321 x 321 pixels en une zone inférieure roulable de manière certaine de probabilité 1 , correspondant en réalité à une piste, et une zone non roulable de manière certaine, correspondant en réalité à un fond montagneux. Dans cet exemple, la moitié inférieure de l’image d’entrée est considérée comme un chemin au seuil de risque Seuill , soit N’= 160 x 321 pixels. Comme l’ensemble de la zone considéré comme roulable au seuil de risque Seuill l’est de façon certaine, on a P’ = 1 et P = 0,5.
Sur l’exemple illustré sur la figure 11 , le deuxième réseau de neurones R2 entraîné ou le réseau de neurones R3 entraîné a segmenté l’image de 321 x 321 pixels en une zone inférieure roulable de manière non certaine, correspondant en réalité à une piste, et une zone non roulable de manière certaine, correspondant en réalité à un fond de forêt. Parmi les pixels de la moitié inférieure de l’image, une zone centrale d’environ 160 x 160 pixels est roulable de façon certaine (p=1 ), et les zones latérales de la moitié inférieure, représentant 160 x 161 pixels sont roulables de façon probable (p=0.5), et correspondent en réalité à une piste recouverte de feuilles. On obtient dans cet exemple P’ = (160 x 160 x 1 + 160 x 161 x 0.5) / 160 x 321 = 0.75 et P = (160 x 160 x 1 + 160 x 161 x 0.5) / 321 x 321 = 0.375.
Ainsi, plus P’ et P sont grands plus la présence d’un chemin ou zone roulable sur l’image et donc dans l’environnement du véhicule V est certaine.
On définit également une grandeur S représentant la taille de la plus grande composante connexe, c’est-à-dire la plus grande zone de la segmentation considérée comme roulable au seuil de risque SeuiM . Elle permet de vérifier si la segmentation du chemin est morcelée, et donc mesure la qualité de la zone roulable.
S = maxÇsurface en pixel décomposante connexe {pixel \ pipixeï) > Seuill })
S représente la surface de la plus grande composante connexe composée de pixels présentant une probabilité supérieure à SeuiM .
Par exemple, la grandeur S sera maximale dans l’exemple illustré sur les figures 10 et 1 1 puisque la zone identifiée comme roulable au seuil de risque SeuiM est constituée d’un seul tenant.
En revanche, une piste comprenant par exemple des nids de poules, des ornières ou des obstacles divers ne sera pas identifiée comme une zone roulable d’un seul tenant, et aura donc une valeur S plus faible.
Dans l’exemple illustré sur la figure 12, l’image de l’environnement acquise par le capteur 10’ lors de l’étape C1 comprend des obstacles (flaques, piétons, véhicules), identifiés comme des zones non roulables de manière certaine ou probablement non roulables par le réseau de neurones lors de l’étape C2. Selon le seuil de risque choisi, la taille de la composante connexe maximale varie.
Lors de la sous-étape d’analyse C31 , l’unité de traitement 4’ peut également calculer d’autres grandeurs intéressantes pour le contrôle du véhicule V.
A partir des grandeurs calculées lors de la première sous-étape d’analyse C31 de la qualité du chemin de l’étape C3, l’unité de traitement 4’ peut calculer, lors d’une deuxième sous- étape C32, une commande ou consigne en vitesse du véhicule terrestre V.
De manière générale, il est connu de l’art antérieur des procédés de contrôle de véhicule (en anglais « path planning » par exemple :
Daniel Harabor and Alban Grastien. An Optimal Any-Angle Pathfinding Algorithm. Proceedings of the Twenty-Third International Conférence on Automated Planning and Scheduling.
Sinyukov, Dmitry A.; Padir, Taskin (May-June 2017). "CWave: High-Performance Single- Source Any-Angle Path Planning on a Grid". Proceedings of the 2017 IEEE International Conférence on Robotics and Automation (ICRA). 2017 IEEE International Conférence on
Robotics and Automation (ICRA). Singapore: IEEE. pp. 6190-6197), permettant de piloter une trajectoire d’un véhicule, notamment en amont, à partir de données de navigation GPS (en anglais, « Global Positioning System ») du véhicule et de données concernant le réseau routier, puis à partir de la perception de l’environnement direct du véhicule par des capteurs, et de modèles prédictifs de comportement.
Dans le cas où le véhicule V effectue une trajectoire « off-road », sur des pistes ou des zones non cartographiées notamment, un procédé de contrôle de véhicule tel que décrit par la suite est particulièrement adapté.
De manière générale, la commande ou consigne en vitesse est définie comme une fonction des grandeurs calculées lors de la première sous-étape C31 , et notamment de la probabilité de l’existence d’une zone roulable. De manière générale, on a :
Vitesse = /(0)
avec Q comprenant au moins un paramètre calculé lors de la sous-étape C31 , par exemple Q Ê {P, P', S, (P, S), (P', S), (P, P', S)}, et f une fonction continue.
Il est particulièrement avantageux que la vitesse du véhicule V dépende de la probabilité de l’existence de zone roulable P ou P’, puisque cette probabilité est un indicateur de la qualité de la zone roulable.
Par exemple, le moyen de traitement 4’ peut établir une consigne en vitesse selon la formule :
5
Vitesse = Vn x— ;
0 N'
avec Vo la vitesse cible du véhicule.
De préférence, la consigne en vitesse peut tendre à ralentir le véhicule terrestre V si la qualité de la zone roulable n’est pas bonne.
De préférence, la consigne en vitesse peut augmenter lorsque la probabilité de présence de zone roulable P ou P’ augmente.
De nombreuses fonctions de commande de vitesse peuvent être définies, par exemple
Vitesse = V0 x P' .
On a alors
Vitesse ® V0
lorsque le chemin identifié est une zone roulable de manière certaine.
De manière générale, la commande de vitesse calculée à la sous-étape C32 peut dépendre de la carte de probabilité établie lors de l’étape C2 et du seuil de risque autorisé SeuiM , qui peut être prédéfini par l’utilisateur.
Vitesse = f (carte de probabilité, Seuill)
A partir des grandeurs calculées lors de la sous-étape d’analyse de la qualité du chemin, le moyen de traitement 4’ peut également, lors de la deuxième sous-étape C32, établir une commande de la trajectoire du véhicule terrestre.
De préférence, les capteurs 10’ peuvent comprendre un système de détection de distance de type ultrason, laser, LIDAR. Des données de distance permettent avantageusement de compléter les cartes de probabilités obtenues lors de l’étape C2, en fournissant une information sur la profondeur de la zone roulable identifiée au seuil de risque SeuiM , et sur la distance à des obstacles.
De préférence, les capteurs 10’ peuvent comprendre un système de détection de position de type GPS. Des données de position permettent avantageusement de compléter les cartes de probabilités obtenues lors de l’étape C2. Par exemple, des données de position peuvent être utilisées lorsque le véhicule V circule sur des zones de routes bien définies. Des données de position peuvent aussi être utilisées pour calculer dynamiquement la vitesse du véhicule V, et notamment identifier des dérapages, afin d’ajuster la trajectoire du véhicule V.
De préférence, la consigne en trajectoire est calculée à partir de la carte probabiliste de zones roulables obtenue lors de l’étape C2 de sorte à maximiser la probabilité de présence de zone roulable.
Par exemple, la consigne de la trajectoire peut être calculée de sorte à maximiser l’intégrale des probabilités des pixels empruntés par la trajectoire prévue pour le véhicule V.
Par exemple, il est possible à partir des images issues des capteurs 10’ de définir une trajectoire en trois dimensions (3D) par interpolation. On peut paramétrer par exemple une trajectoire par une fonction d’interpolation polynomiale de type spline représentant les trajectoires possibles paramétrées par un ensemble de paramètres Q1 , par exemple
01 e [P, P', s, (P, s), (P\ s), (P, P', s )}.
avec Spline la projection des points de passage du véhicule V dans l’image.
En particulier, on peut choisir de contraindre la trajectoire à ne pas passer par les zones où le chemin est le moins probable. La trajectoire peut être alors calculée:
Avec k un niveau d’exigence ou coefficient de pénalisation pouvant être un facteur prédéfini dans l’unité de traitement 4’ ou déterminé dynamiquement par l’unité de traitement 4’. Le coefficient k permet de choisir un degré de pénalisation associé au passage dans une zone roulable de manière incertaine.
On peut aussi choisir de contraindre la longueur du chemin emprunté par le véhicule V. La trajectoire peut être alors calculée :
De manière plus générale, l’homme du métier comprendra qu’il est possible de définir, à partir des images segmentées et des cartes de probabilité différentes paramétrisations de la trajectoire, par exemple des portions de droites projetées dans l’image de l’environnement.
Comme décrit ci-dessus, le calcul de la trajectoire peut se faire dans l’image puis projetée dans le référentiel de contrôle du véhicule V. Par exemple, cela peut être fait en appliquant à l’image des probabilités de chemin une homographie qui lie le plan de l’image issue du capteur 10’, par exemple l’image caméra, à un plan de référence du véhicule V. On peut également projeter la carte de probabilité de présence de zone roulable dans le référentiel de contrôle et configurer l’unité de traitement 4’ pour effectuer tous les calculs dans ce référentiel.
Il est possible de fusionner ou consolider les informations disponibles, acquises par le capteur 10’ ou calculées par l’unité de traitement 4’, pour obtenir un meilleur contrôle du véhicule V.
A un instant t, il est possible d’obtenir une connaissance du déplacement du véhicule V à partir d’au moins deux cartes de probabilités, par exemple entre une première carte de probabilité à l’instant t, et une deuxième carte de probabilité à l’instant t-1. De manière générale, on obtient la connaissance du déplacement du véhicule V à partir de M cartes probabilistes successives, c’est-à-dire de la première carte de probabilité à l’instant t, et des cartes de probabilités antérieures aux instants t-1 , t-2... t-M+1.
La connaissance du déplacement du véhicule V peut être calculée par l’unité de traitement 4’, par exemple par une technique d’odométrie, par des données de navigation (GPS),
ou par une centrale inertielle comprenant un système de mesure du mouvement et de cartographie de l’environnement (aussi appelée « inertie vision »).
A partir de la connaissance de déplacement du véhicule V, il est possible d’effectuer une consolidation temporelle d’au moins deux cartes de probabilité :
comme expliqué ci-dessus, l’unité de traitement 4’ peut projeter et recaler les au moins deux cartes de probabilité (t, t-1 ) dans le repère de contrôle du véhicule V ;
L’unité de traitement 4’ calcule une carte de probabilité finale correspondant à la fusion des au moins deux cartes de probabilités des zones roulables, en appliquant une règle de consolidation parmi une des règles de consolidation suivantes :
• Consolidation par fusion conservatrice, dans laquelle chaque élément Pfinai de la matrice finale est calculé selon : p/inai (pixel) = min (pt_i (pixel), pt(pixel)) ;
• consolidation par fusion agressive, dans laquelle chaque élément Pfinai de la matrice finale est calculé selon : p^inai (pixel) = max (pt-i (pixel), pt(pixel)) ;
• consolidation par fusion moyenne, dans laquelle chaque élément Pfinai de la matrice finale est calculé selon : p/inai (pixel) = Pt-i(Plxeb+ Pt(pixei) .
consolidation par fusion robuste, dans laquelle chaque élément Pfinai de la matrice finale est calculé selon les éléments pt-2. Vt-i. Vt des cartes de probabilités aux instants t-2, t-1 et t respectivement, selon : p/inai (pixel) = médiane (pt-2 (pixel), pt_i (pixel), pt (pixel)) ;
Les consolidations précédentes peuvent être généralisées dans le cas où M>2, en appliquant des formules semblables aux M cartes de probabilité. Il est aussi possible d’utiliser d’autres règles de consolidation utilisant les données des éléments p des M cartes de probabilités antérieures.
Il est également possible d’effectuer une consolidation comprenant une détection d’obstacle externe, dans le cas où les capteurs 10’ comprennent un capteur d’obstacle, par exemple un capteur de télédétection par laser (LIDAR, en anglais «light détection and ranging »), un capteur par radar ou un capteur par ultrasons. Dans un tel exemple de réalisation, il est possible de configurer l’unité de traitement 4’ pour que chaque élément p soit mis à zéro de manière forcée dans le cas d’une détection d’obstacle. Ainsi, la probabilité de présence de zone roulable est automatiquement nulle quand il y a présence d’un obstacle dans la zone. Dans cet
exemple de réalisation, le niveau d’exigence ou coefficient de pénalisation k utilisé pour le calcul de trajectoire peut être prédéfini à une valeur élevée, typiquement supérieure à 100.
Selon l’exemple de la figure 12, la trajectoire calculée à la sous-étape C32 est définie pour que le véhicule V reste sur les zones considérées comme roulable de manière certaine, en passant par les zones ayant la plus grande probabilité d’être néanmoins roulable. Un exemple de consigne est également schématisé, dans lequel la vitesse de consigne diminue lorsque le véhicule V atteint le point P1 , où il entre dans la zone dont la probabilité d’être roulable est plus faible, et la vitesse de consigne augmente lorsque le véhicule V atteint le point P2, où il entre dans une zone dont la probabilité d’être roulable est élevée. La zone entre P1 et P2 identifiée sur l’image de l’environnement du véhicule correspond ici à une portion de route boueuse par exemple.
Dans un exemple de réalisation, la commande en vitesse et/ou en trajectoire calculée à la sous-étape C32 peuvent être transmises à un calculateur C du véhicule V. Le calculateur C peut être de préférence capable de modifier la vitesse du véhicule V de sorte à atteindre la commande en trajectoire, par un système de type « motion planner » par exemple.
De préférence, le calculateur C peut comprendre un contrôleur de type « feedback control », capable de modifier la commande en vitesse et/ou en trajectoire du véhicule V en fonction des données issues de capteurs présents sur l’actionneur A, par exemple en cas de dérapage du véhicule V.
Les étapes C1 à C3 du procédé de contrôle du véhicule V pourront être réitérées de manière quasi continue, c’est-à-dire avec une fréquence élevée, afin de permettre un contrôle dynamique du véhicule V.
Le lecteur aura compris que de nombreuses modifications peuvent être apportées sans sortir matériellement des nouveaux enseignements et des avantages décrits ici. Par conséquent, toutes les modifications de ce type sont destinées à être incorporées à l’intérieur de la portée du procédé de contrôle présenté.
Claims
1. Procédé d’identification (E) de zones roulables dans au moins une image d’un terrain, caractérisé en ce qu’il comprend l’implémentation des étapes suivantes dans une unité de traitement (3,4) :
E0 : construction d’une base de données d’apprentissage (B1 ) comprenant un ensemble d’images, ladite construction comprenant une étape de calcul d’un ensemble d’au moins une vérité terrain associé à l’ensemble d’images de ladite base de données d’apprentissage (B1 ), chaque vérité terrain étant définie par une carte probabiliste et est obtenue à partir d’au moins deux annotations d’une même image ;
E1 : apprentissage supervisé d’au moins un réseau de neurones (R2,R3), à partir d’une base de données d’apprentissage (B1 ) comprenant des images d’apprentissages de terrain ayant été annotées par au moins deux opérateurs en vue d’identifier des zones roulables,
E2 : segmentation au moyen de l’au moins un réseau de neurones (R2,R3), d’une image d’entrée (11 ) pour obtenir une carte probabiliste (I3) de présence d’au moins une zone roulable dans ladite image d’entrée (11 ), ladite segmentation comprenant une estimation d’une probabilité de présence d’une zone roulable dans l’image d’entrée (11 ), de manière à obtenir une carte probabiliste (I3) définie par une matrice dont chaque élément correspond à une probabilité de présence d’au moins une zone roulable sur un pixel de l’image d’entrée (11 ).
2. Procédé d’identification (E) selon la revendication précédente, dans lequel la base de données d’apprentissage (B1 ) comprend un ensemble d’images, associé à un ensemble de vérités terrain associé, chaque vérité terrain étant une matrice dont chaque élément p correspond à un pixel de l’image associée, chaque élément p étant calculé de la manière suivante :
avec K le nombre d’opérateurs ayant annoté l’image, et annotation (pixel, i) = 1 si un opérateur i a considéré le pixel comme appartenant à une zone roulable, 0 sinon.
3. Procédé d’identification (E) selon l’une quelconque des revendications précédentes, dans lequel l’étape d’apprentissage (E1 ) comprend les étapes :
S1 : apprentissage supervisé d’un premier réseau de neurones (R1 ) à partir de la base de
données d’apprentissage (B1 ), de sorte que le premier réseau de neurones (R1 ) entraînés soit configuré pour segmenter une image entre zone roulable et zone non roulable ;
S2 : apprentissage supervisé d’un second réseau de neurones (R2) à partir de la base de données d’apprentissage et de l’au moins une vérité terrain, de sorte que le second réseau de neurones (R2) entraîné soit configuré pour segmenter l’image selon une carte probabiliste de présence de zone roulable.
4. Procédé de d’identification (E) de zones roulables selon la revendication précédente, dans lequel l’étape de segmentation (E2) de l’image d’entrée (11 ) comprend les étapes de :
S10 : calcul d’une segmentation (I2) de l’image d’entrée (11 ), par le premier réseau de neurones (R1 ) entraîné,
S20 : calcul d’une carte probabiliste (I3) de présence de zones roulables de l’image d’entrée (11 ) par le second réseau de neurones (R2) entraîné, à partir de l’image d’entrée (11 ) et de la segmentation (I2) issue du premier réseau de neurones (R1 ).
5. Procédé de contrôle d’un véhicule terrestre (V), comprenant les étapes suivantes:
C1 : acquisition d’images par un capteur (10’) situé sur le véhicule (V) ; C2 : traitement des images acquises par une unité de traitement (4’), par un procédé de d’identification (E2) selon l’une quelconque des revendications 1 à 4, afin d’obtenir au moins une carte probabiliste de présence de zones roulables ;
C3 calcul d’une consigne comprenant les sous-étapes de :
- C31 : calcul d’une probabilité de présence de zone roulable par l’unité de traitement (4’) à partir de la carte probabiliste de présence de zones roulables ;
- C32 : calcul d’une trajectoire et/ou d’une consigne en vitesse du véhicule (V) par l’unité de traitement (4’) à partir de la probabilité de présence de zone roulable.
6. Procédé de contrôle d’un véhicule (V) selon la revendication précédente, dans lequel le capteur (10’) acquiert une vidéo, et dans lequel l’identification (E2) au cours de l’étape de traitement des images acquises (C2) est effectuée de manière séquentielle.
7. Procédé de contrôle d’un véhicule (V) selon l’une quelconque des revendications 5 ou 6, dans lequel l’étape de calcul de la consigne (C3) dépend d’une valeur seuil prédéterminée, la valeur
seuil étant un niveau de risque à prendre correspondant à une probabilité qu’un pixel d’une image acquise appartienne à une zone roulable.
8. Procédé de contrôle d’un véhicule (V) selon l’une quelconque des revendications 5 à 7, dans lequel la consigne en vitesse augmente lorsque la probabilité de présence de zone roulable augmente.
9. Procédé de contrôle d’un véhicule (V) selon l’une quelconque des revendications 5 à 8, dans lequel la consigne en trajectoire est calculée à partir de la carte probabiliste de zones roulables de sorte à maximiser la probabilité de présence de zone roulable.
10. Procédé de contrôle d’un véhicule (V) selon l’une quelconque des revendications 5 à 8, dans lequel la consigne en trajectoire est calculée à partir de la carte probabiliste de zones roulables de sorte à maximiser la probabilité de présence de zone roulable et à minimiser selon un niveau d’exigence k, prédéfini ou choisi dynamiquement, les zones au caractère roulable faiblement probables.
1 1 . Procédé de contrôle d’un véhicule (V) selon l’une quelconque des revendications 5 à 10, dans lequel la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite conservative de M cartes probabilistes successives, dont chaque élément p/inai est calculé de la manière suivante :
Pfinai ipixel ) = min ( pt(pixel'), pt-1 (pixel') ... pt-M+1 (pixel)')
12. Procédé de contrôle d’un véhicule (V) selon l’une quelconque des revendications 5 à 10, dans lequel la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite robuste de M cartes probabilistes successives, dont chaque élément Pfinai est calculé de la manière suivante :
Pfinai ipixel ) = médiane pt pixel), pt-1 pixel ... pt-M+1 (pixel))
13. Procédé de contrôle d’un véhicule (V) selon l’une quelconque des revendications 5 à 10, dans lequel la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de
zones roulables finale issue de la fusion dite agressive de M cartes probabilistes successives, dont chaque élément p/inai est calculé de la manière suivante :
Pfinai ÎPixel ) = max ( ptipixe . pt^ ipixei), ... pt-M+1(pixel))
14. Procédé de contrôle d’un véhicule (V) selon l’une quelconque des revendications 5 à 10, dans lequel la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de la fusion dite moyenne de M cartes probabilistes successives, dont chaque élément Pfinai est calculé de la manière suivante :
pt(pixel)+pt- 1(pixel)+---+pt-M+ 1(pixel )
Pfinal ipixel ) M
15. Procédé de contrôle d’un véhicule (V) selon l’une quelconque des revendications 5 à 14, dans lequel la consigne de trajectoire est calculée à partir de la carte de probabilité de présence de zones roulables finale issue de d’une fusion de M cartes probabilistes successives, et d’une détection d’obstacles réalisée par un capteur d’obstacle.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1901448 | 2019-02-13 | ||
| FR1901448A FR3092546B1 (fr) | 2019-02-13 | 2019-02-13 | Identification de zones roulables avec prise en compte de l’incertitude par une méthode d’apprentissage profond |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020165544A1 true WO2020165544A1 (fr) | 2020-08-20 |
Family
ID=67185290
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/FR2020/050268 Ceased WO2020165544A1 (fr) | 2019-02-13 | 2020-02-13 | Identification de zones roulables avec prise en compte de l'incertitude par une méthode d'apprentissage profond |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR3092546B1 (fr) |
| WO (1) | WO2020165544A1 (fr) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112785619A (zh) * | 2020-12-31 | 2021-05-11 | 大连海事大学 | 一种基于视觉感知的无人水下航行器自主循迹方法 |
| CN120593793A (zh) * | 2025-08-11 | 2025-09-05 | 北京理工大学 | 非结构化环境运动规划方法、装置及设备 |
| US20250354817A1 (en) * | 2024-05-17 | 2025-11-20 | Zoox, Inc. | Dynamic drivable area determining management |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114674338B (zh) * | 2022-04-08 | 2024-05-07 | 石家庄铁道大学 | 基于分层输入输出和双注意力跳接的道路可行驶区域精细推荐方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180157972A1 (en) * | 2016-12-02 | 2018-06-07 | Apple Inc. | Partially shared neural networks for multiple tasks |
| US10176388B1 (en) * | 2016-11-14 | 2019-01-08 | Zoox, Inc. | Spatial and temporal information for semantic segmentation |
-
2019
- 2019-02-13 FR FR1901448A patent/FR3092546B1/fr active Active
-
2020
- 2020-02-13 WO PCT/FR2020/050268 patent/WO2020165544A1/fr not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10176388B1 (en) * | 2016-11-14 | 2019-01-08 | Zoox, Inc. | Spatial and temporal information for semantic segmentation |
| US20180157972A1 (en) * | 2016-12-02 | 2018-06-07 | Apple Inc. | Partially shared neural networks for multiple tasks |
Non-Patent Citations (8)
| Title |
|---|
| DANIEL HARABORALBAN GRASTIEN: "An Optimal Any-Angle Pathfinding Algorithm", PROCEEDINGS OF THE TWENTY-THIRD INTERNATIONAL CONFÉRENCE ON AUTOMATED PLANNING AND SCHEDULING |
| KIM JIMAN ET AL: "End-To-End Ego Lane Estimation Based on Sequential Transfer Learning for Self-Driving Cars", 2017 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION WORKSHOPS (CVPRW), IEEE, 21 July 2017 (2017-07-21), pages 1194 - 1202, XP033145900, DOI: 10.1109/CVPRW.2017.158 * |
| M. CORDTSM. OMRANS. RAMOST. REHFELDM. ENZWEILERR. BENENSONU. FRANKES. ROTHB. SCHIELE: "The Cityscapes Dataset for Semantic Urban Scene Understanding", PROC. OF THE IEEE CONFÉRENCE ON COMPUTER VISION AND PATTERN RÉCOGNITION (CVPR), 2016 |
| MOHAMMAD HAJIZADEH SAFFAR ET AL: "Semantic Video Segmentation: A Review on Recent Approaches", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 16 June 2018 (2018-06-16), XP081238558 * |
| NELSON FERNANDEZ: "Two-stream convolutional networks for end-to-end learning of self-driving cars", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 13 November 2018 (2018-11-13), XP081050083 * |
| SINYUKOV, DMITRY A.PADIR, TASKIN: "Proceedings of the 2017 IEEE International Conférence on Robotics and Automation (ICRA). 2017 IEEE International Conférence on Robotics and Automation (ICRA", May 2017, IEEE., article "CWave: High-Performance Single-Source Any-Angle Path Planning on a Grid", pages: 6190 - 6197 |
| VIJAY BADRINARAYANANALEX KENDALLROBERTO CIPOLLA, SEGNET : A DEEP CONVOLUTIONAL ENCODER-DECODER ARCHITECTURE FOR IMAGE SEGMENTATION, November 2015 (2015-11-01) |
| YUNPENG PAN ET AL: "Agile Off-Road Autonomous Driving Using End-to-End Deep Imitation Learning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 21 September 2017 (2017-09-21), XP080822298 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112785619A (zh) * | 2020-12-31 | 2021-05-11 | 大连海事大学 | 一种基于视觉感知的无人水下航行器自主循迹方法 |
| US20250354817A1 (en) * | 2024-05-17 | 2025-11-20 | Zoox, Inc. | Dynamic drivable area determining management |
| CN120593793A (zh) * | 2025-08-11 | 2025-09-05 | 北京理工大学 | 非结构化环境运动规划方法、装置及设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| FR3092546A1 (fr) | 2020-08-14 |
| FR3092546B1 (fr) | 2022-05-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020165544A1 (fr) | Identification de zones roulables avec prise en compte de l'incertitude par une méthode d'apprentissage profond | |
| WO2021133727A1 (fr) | Détection et action correctrice à la dégradation de capteur | |
| EP4256412B1 (fr) | Système et procédé de contrôle de véhicule à base d'apprentissage machine | |
| WO2019091787A1 (fr) | Procédé d'estimation de pose d'une caméra dans le référentiel d'une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d'ordinateur associé | |
| FR3103048A1 (fr) | Procede et dispositif de generation de donnees synthetiques d'apprentissage pour machine d'intelligence artificielle pour l'aide a l'atterrissage d'aeronef | |
| EP4002274A1 (fr) | Procédé itératif d'estimation du mouvement d'un corps matériel par génération d'une grille de mouvement filtrée | |
| EP4375953A1 (fr) | Procédé de détermination de charge perceptuelle, programme informatique, support lisible par ordinateur, système de détermination de charge perceptuelle et système d'aide à la conduite avancée | |
| EP3635615B1 (fr) | Procede de determination du type de route sur laquelle evolue un vehicule | |
| EP4204266A1 (fr) | Méthode de contrôle pour contrôler le mouvement latéral d'un véhicule automobile | |
| Acun et al. | D3NET (divide and detect drivable area net): deep learning based drivable area detection and its embedded application | |
| Mortimer et al. | TAS-NIR: A VIS+ NIR Dataset for Fine-grained Semantic Segmentation in Unstructured Outdoor Environments | |
| FR3094081A1 (fr) | Procédé d’estimation passive du temps avant collision pour un aéronef ou de tout objet volant pouvant être guidé, procédé de navigation associé | |
| TW202340752A (zh) | 邊界估計 | |
| Souza et al. | Template-based autonomous navigation in urban environments | |
| FR3106108A1 (fr) | Procédé et dispositif de détermination de trajectoire d’une route | |
| FR3111424A1 (fr) | Génération de trajectoires par un réseau de neurones issu d’un système de réseaux antagonistes génératifs | |
| Singéis et al. | Performance Analysis of ORB-SLAM in Foggy Environments | |
| EP4170603B1 (fr) | Procédé automatique de détection d'objets dans un flux d'images | |
| WO2024194543A1 (fr) | Procede d'analyse d'un flux video, programme d'ordinateur, dispositif de traitement et vehicule associes | |
| WO2025099180A1 (fr) | Dispositif de classification de scène de l'environnement d'un véhicule | |
| FR3139383A1 (fr) | Procédé et dispositif de détection d’objets matériels dans un espace environnant un robot autonome | |
| EP4322061A1 (fr) | Dispositif électronique et procédé de traitement de données comportant au moins un modèle d'intelligence artificielle auto-adaptatif avec apprentissage local, système électronique et programme d'ordinateur associés | |
| FR3151818A1 (fr) | Procédé et dispositif de détermination d’une vitesse de confort d’un véhicule circulant sur une chaussée par réseaux de neurones profond | |
| FR3110011A1 (fr) | Méthode d’apprentissage d’un agent intelligent pour un véhicule automobile autonome | |
| FR3141763A1 (fr) | Système et procédé d’aide à la navigation d’un système mobile |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20711233 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20711233 Country of ref document: EP Kind code of ref document: A1 |



