EP4552093A1 - Procede et dispositif de classification et de localisation d'objets dans des sequences d'images, systeme, programme d'ordinateur et support d'informations associes - Google Patents

Procede et dispositif de classification et de localisation d'objets dans des sequences d'images, systeme, programme d'ordinateur et support d'informations associes

Info

Publication number
EP4552093A1
EP4552093A1 EP23751324.7A EP23751324A EP4552093A1 EP 4552093 A1 EP4552093 A1 EP 4552093A1 EP 23751324 A EP23751324 A EP 23751324A EP 4552093 A1 EP4552093 A1 EP 4552093A1
Authority
EP
European Patent Office
Prior art keywords
obj
img
sequence
images
classifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP23751324.7A
Other languages
German (de)
English (en)
Inventor
Jennifer VANDONI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran SA
Original Assignee
Safran SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Safran SA filed Critical Safran SA
Publication of EP4552093A1 publication Critical patent/EP4552093A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the present invention relates to the fields of image processing and analysis, as well as to the field of computer vision. More particularly, the present invention relates to a method and a device for classifying and locating objects in a sequence of images, and a method for configuring a classifier-locator module for objects in a sequence of images, as well as as a system, a computer program and an associated information medium.
  • the present invention finds a particularly advantageous application, although in no way limiting, for the implementation of on-board systems, such as autonomous vehicles, surveillance systems or navigation systems.
  • Radar systems are a common example of an object detection device. Waves emitted by a radar system are reflected by an object, then received and analyzed by the radar system to detect the presence and determine the position of the object.
  • radar systems have the following disadvantages. They require specific equipment, which is generally bulky and expensive. Radar systems make it possible to detect the presence of an object and estimate its position, but the object to be detected must have certain particular physical properties. The object to be detected must reflect the electromagnetic waves, which is not always the case.
  • the present invention aims to remedy all or part of the disadvantages of the prior art, in particular those explained above.
  • a method for classifying and locating at least one object in a sequence of images comprising steps of:
  • the classifier-localizer module used is configured from at least one sequence of reference images to minimize a multi-objective loss function representative of both a classification objective and a localization objective of objects in said at least one reference sequence.
  • image reference is made here to a set of computer data representative of an optical scene.
  • position of an object reference is made here to an absolute or relative position of an object present in an image.
  • Absolute position means a position defined in relation to the terrestrial reference frame (eg geographical coordinates).
  • a relative position is a position defined in relation to an observer position (eg a distance between the object and a camera) or in relation to a previous position of the object itself ( eg a movement of the object, a speed). It should be noted that, according to one embodiment, the proposed method determines an absolute position of an object from the sequence of images obtained and the position (eg geographical coordinates) of the device implementing the method.
  • loss function reference is made here to a function to be minimized when configuring a module or its parameters.
  • reference sequence reference is made here to image sequences used to configure the classifier-localizer module. More generally, the expression “reference data” is also hereinafter to refer to data used to configure the classifier-locator module.
  • the present invention makes it possible to precisely identify one or more objects in an optical scene, even in the case where the objects are far away. More particularly, the present invention allows this precise identification by reliably assigning a class to an object present in a sequence of images and by precisely locating this object.
  • the classifier-localizer module is configured to minimize a multi-objective loss function representative of both an objective of classification of one or more objects in a sequence of images and an objective of location of these objects.
  • the present invention thus implements a joint optimization of the classification and localization tasks, two intrinsically linked tasks.
  • the classification and localization tasks are learned in parallel by the classifier-localizer module from reference sequences during its configuration.
  • Visual information related to an object - for example, size, shape, movement, etc. - are used by the classifier-localizer module to carry out these two classification and localization tasks in parallel.
  • the present invention makes it possible, in a synergistic manner, to improve both the reliability of the class assigned to an object and the precision of the estimated position of an object.
  • the classifier-locator module is configured by a configuration method according to the invention.
  • said at least one estimated position comprises an estimated position of the object for each of the images of said sequence.
  • This particular embodiment makes it possible to improve the precision of localization of an object present in an optical scene, a position of the object being estimated for each of the images in a sequence. In particular, if the times of acquisition of the images of a sequence are different, this embodiment makes it possible to obtain a precise location in time of an object in the sequence, and thus to follow the movement of this object over time. course of time.
  • said step of determining the classification and localization method comprises substeps of:
  • An intermediate multidimensional representation of the optical scene is obtained in the present embodiment: said encoded data.
  • the encoded data being provided as input to the classifier and the localizer, the two tasks carried out use the same intermediate representation.
  • This use of an intermediate representation common to classification and localization tasks makes it possible to reinforce the synergy effect linked to the joint and parallel optimization of these two tasks.
  • the intermediate representation is both representative of visual characteristics of an object necessary for classification and of visual characteristics of this object necessary for localization.
  • the classifier to reliably classify an object, takes advantage of visual characteristics linked to location (for example, the size and speed of movement of the object); and, correlatively, the localizer, to accurately estimate the position of an object, takes advantage of the visual characteristics linked to the classification (for example, the shape and visual appearance of the object).
  • the encoder implements one or more convolutions between the sequence of images obtained and filters.
  • the encoder produces encoded data representative of spatio-temporal characteristics of an object.
  • This encoded data constitute an intermediate representation provided as input to the classifier and locator. Consequently, this embodiment makes it possible to highlight spatio-temporal characteristics of an object in a sequence of images and thus to improve the reliability of the classification and the precision of the localization carried out jointly and in parallel.
  • said convolutions implemented by the encoder are convolutions in the spatial domain and in the temporal domain.
  • said step of obtaining a sequence of images comprises a sub-step of acquiring said one or more images by at least one camera.
  • the classifier-localizer module used to carry out said method determination step, comprises a neural network.
  • neural network reference is made here to a network of artificial neurons thus comprising a set of artificial neurons connected to each other, an artificial neuron making it possible to determine an activation function of weighted and combined inputs.
  • a neural network to implement the classifier-localizer module makes it possible to obtain a reliable classification of an object in a sequence of images and a precise location of this object.
  • a neural network is able to deal with complex and non-linear cases and thus obtain significantly improved performance in comparison with analytical models. The latter point is particularly advantageous for the classification and localization of distant objects, a scenario in which the effects of atmospheric attenuation are particularly important.
  • this embodiment In combination with the multi-objective optimization based on reference image sequences described above, this embodiment has the advantage of not requiring a priori knowledge linked to the physical environment and/or or camera settings. As an indication, no knowledge of the physical atmospheric attenuation model is required to classify an object and estimate its position, which is a major advantage compared to existing solutions. [0032] This embodiment also makes it possible to exploit a significant amount of implicit knowledge linked to the reference image sequences. For example, the more the reference image sequences are representative of varied scenarios, the more the neural network used takes advantage of the knowledge linked to these reference sequences.
  • the network is a universal approximator and is thus able to approximate any continuous function on compact subsets of the set of real numbers, provided that this has enough neurons.
  • Using a neural network thus makes it possible to implement various image processing and analysis functions.
  • said one or more images of the sequence obtained are consecutive. Furthermore, the step of obtaining the sequence of images comprises a sub-step of cropping said one or more acquired images, one of said objects being centered on a determined image (i.e. a certain image) of the sequence.
  • the cropping operation carried out in this embodiment has the effect of providing, as input to the classifier-localizer module, information on the movement of an object within the sequence of images. Since the images are successive in time, the relative movement of an object within the sequence is representative of the speed of this object. Thus, the movement information of an object is highlighted by this cropping operation then used by the classifier-localizer module to improve the reliability of the classification and the precision of the location.
  • the cropping operation also makes it possible to reduce the size of the images processed by the method, while retaining the useful part of the images comprising an object to be identified and located. With a reduced image size, and without loss of useful information, the implementation in a practical system of classification and localization tasks is simplified on the hardware and software level, without degradation of performance. [0039] Compared to existing methods for automatic classification of an object in one or more images, the present invention also makes it possible to improve the reliability of classification of an object. Indeed, existing methods are more suited to classifying an object on a single image and cannot exploit information relating to the movement of an object over time.
  • a method for configuring a classifier-locator module for objects in image sequences, said method comprising a step of initializing the classifier-locator module ( in particular its parameters); and at least one iteration of the steps of:
  • the present invention makes it possible to configure a classifier-localizer module making it possible to implement a reliable classification of one or more objects in a sequence of images and a precise localization of said objects.
  • the classifier-localizer module used is configured to minimize a multi-objective loss function representative of both an objective of classification of one or more objects in reference image sequences and an objective of location of these objects.
  • the present invention thus proposes to configure a module which jointly optimizes classification and localization. These two tasks being intrinsically linked, the proposed joint and parallel optimization presents a synergistic effect, as described below.
  • the classifier-localizer module configured by the present invention makes it possible to implement both more reliable classification and more precise localization.
  • said step of evaluating the multi-objective loss function comprises sub-steps of:
  • the loss function is called multi-objective because it is representative of both a classification objective and a location objective.
  • This embodiment makes it possible to evaluate on the one hand the reliability of the assigned classes and on the other hand the precision of the estimated positions, and to deduce a loss function common to these two tasks.
  • this embodiment makes it possible to evaluate the classification objective and the localization objective independently, while guaranteeing that the classifier-localizer module jointly optimizes these two objectives.
  • the multi-objective loss function is defined on the basis of a weighted sum of the classification loss function and the location loss function, the weighting coefficients being non-zero coefficients.
  • the fact of using a weighted sum makes it possible to adjust the importance given by the multi-objective loss function to one of the two classification and localization objectives in relation to the other.
  • This embodiment makes it possible to favor, or not, one objective over the other.
  • the multi-objective loss function being representative of these two objectives, the weighting coefficients are non-zero numbers.
  • this embodiment makes it possible to adapt the multi-objective loss function to cases where the classification loss function and the localization loss function produce output values with different orders of magnitude.
  • the classification loss function is evaluated using the expression: where L EC is the classification loss function, M is the number of attributable classes of said list of classes, ⁇ ( C i , C r ) is a binary indicator equal to 0 if for a said object the class C i of said list of classes is different from the known class C r of said object and equal to 1 otherwise, with P o,i a probability determined by the classifier-localizer module that said object belong to class C i .
  • the location loss function is evaluated using the expression: where L IMSE is the location loss function, N is the number of images of said at least one reference sequence a binary indicator equal to 1 if a said object is present in an image of index i of said at least one reference sequence and equal to 0 otherwise, with P o,i the estimated position of said object determined by the classifier-localizer module for the index image with P r,i the known position of said object for the image of index i.
  • said step of reconfiguring the classifier-localizer module is carried out using a gradient descent algorithm from the result of the multi-objective loss function obtained at said step of assessment.
  • a gradient descent algorithm makes it possible to reconfigure the classifier-localizer module, in particular its parameters, in order to minimize the multi-objective loss function.
  • This embodiment makes it possible to configure the classifier-localizer module on the reference data base and thus to implement reliable classification of an object in a sequence of images and precise localization thereof.
  • the classifier-localizer module comprises a neural network and a gradient descent algorithm is used for the reconfiguration - in this case, reference is made to a gradient back-propagation method.
  • This embodiment makes it possible to train the neural network on the basis of reference data in order to minimize the multi-objective loss function and thus to obtain a classifier-localizer module implementing reliable classification of an object in a sequence of images and a precise location thereof.
  • the reconfiguration step consists of updating the parameters of the network, such as the weights of each neuron in the network.
  • the gradient back-propagation method aims to correct errors according to the importance of the contribution of each element to them.
  • the weights contributing the most to an error will be changed more significantly than the weights causing a marginal error.
  • said at least one sequence of reference images comprises at least one of the elements of the following group: one or more images acquired by at least one camera; and one or more synthesized images.
  • This embodiment makes it possible to obtain reference data making it possible to configure the classifier-locator module.
  • the embodiment where the reference images are acquired by at least one camera, makes it possible, among other things, to acquire reference images representative of real observed conditions.
  • the classifier-localizer module obtained is effective in real conditions.
  • the method of configuring a classifier-localizer module comprises several iterations of said steps of determination, evaluation of the multi-objective loss function, and reconfiguration of the classifier module -locator.
  • a device for classifying and locating at least one object in a sequence of images, said device comprising:
  • a classifier-locator module for determining from the sequence of images obtained: o at least one class assigned to said at least one object, said at least assigned class being selected from a list of classes; and o at least one estimated position of said at least one object.
  • Said classifier-localizer module is configured from at least one sequence of reference images to minimize a multi-objective loss function representative of both a classification objective and a localization objective d objects in said at least one sequence of reference images.
  • the classification and location device has the advantages described above in connection with the proposed classification and location method.
  • said classifier-locator module used by the device is configured by a configuration method according to the invention.
  • a system comprising a classification and localization device according to the invention and at least one camera configured to acquire said one or more images of the sequence.
  • the advantage of this embodiment is to be able to jointly carry out the two tasks of classification and localization within a practical system with a single device.
  • This embodiment allows effective practical implementation of a surveillance or navigation system, the classification of objects in an optical scene and the localization of these objects being critical tasks for these types of systems.
  • the proposed system comprises a single camera.
  • This embodiment makes it possible to only require a single camera to carry out both the classification and the localization of an object in an optical scene, which is advantageous with regard to existing solutions.
  • a camera is equipment commonly integrated into embedded systems, a camera being inexpensive and compact.
  • reliable classification and precise localization of an object in an optical scene are, according to this embodiment, implemented in an economical and space-saving manner in a practical system, such as an embedded system.
  • the proposed system comprises a plurality of cameras.
  • This embodiment by using a plurality of cameras, makes it possible to extend the total field of vision of the proposed system. This embodiment thus makes it possible to classify and locate objects in a wider geographical area.
  • said system is a surveillance system, or a navigation system.
  • the proposed system is embedded (i.e. integrated) into a vehicle such as an aircraft, a ship, a rail vehicle, a road vehicle, etc.
  • an aircraft comprising a system according to the invention.
  • a computer program is proposed with instructions for implementing the steps of a method according to the invention, when the computer program is executed by at least one processor or computer.
  • the computer program can be made up of one or more sub-parts stored in the same memory or in separate memories.
  • the program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable shape.
  • the information carrier can be any entity or device capable of storing the program.
  • the support may comprise a storage means, such as a non-volatile memory or ROM, for example a CD-ROM or a microelectronic circuit ROM, or even a magnetic recording means, for example a floppy disk or hard disk.
  • the storage medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by a telecommunications network or by a computer network or by other means.
  • the program according to the invention can in particular be downloaded onto a computer network.
  • the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in executing the method in question.
  • Figure 1 schematically represents an example of a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention
  • Figure 2 schematically represents an example of a sequence of images obtained and processed by a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention
  • Figure 3 schematically represents an example of functional architecture of a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention
  • Figure 4 represents, in flowchart form, steps of a method of classification and localization of at least one object in a sequence of images according to one embodiment of the invention
  • Figure 5 represents, in flowchart form, steps of a method of configuring a classifier-localizer module to implement a classification and localization of at least one object in a sequence of images according to an embodiment of the invention
  • Figure 6 schematically represents an example of functional architecture of a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention
  • Figure 7 schematically represents an example of software and hardware architecture of a system for classification and localization of at least one object in a sequence of images according to one embodiment of the invention
  • Figure 8 schematically represents an example of functional architecture of a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention.
  • the present invention relates to a method and a device for classifying and locating objects in a sequence of images, and a method for configuring a classifier-locator module for objects in image sequences, as well as as a system, a computer program and an associated information medium.
  • Figure 1 schematically represents an example of a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention.
  • the classification and localization device APP is configured to receive as input a sequence of images IMG_SEQ and produce as output a class assigned ATR_CLAS_OBJ to an object OBJ as well as an estimated position EST_POS_OBJ of the OBJ object.
  • the sequence of images IMG_SEQ typically comprises a plurality of images IMG_1, ..., IMG_N.
  • the images IMG_1, ..., IMG_N are acquired by a CAM camera and are composed of a plurality of pixels.
  • the pixels of an IMG_1 image are encoded on one or more bits: one bit per pixel in the case of a monochrome image, 8 bits per pixel to have 256 colors, etc.
  • the CAM camera is connected to the APP device such that the CAM camera can transmit the image sequence IMG_SEQ to the APP device.
  • the images IMG_1, ..., IMG_N of the sequence IMG_SEQ are representative of an optical scene comprising the material object OBJ.
  • the OBJ object can be a vehicle, an aircraft, a pedestrian, a house, etc. It should be noted that the OBJ object may or may not be moving.
  • the class assigned ATR_CLAS_OBJ to the OBJ object is selected from a finite list of assignable classes, such as a list of aircraft models, vehicle types, object categories, etc.
  • the device APP produces from the sequence IMG_SEQ an estimate EST_POS_OBJ of the position POSJDBJ of the object OBJ.
  • the position POSJDBJ of the OBJ object is either an absolute position or a relative position. If the position POSJDBJ is absolute, then it designates a position defined in relation to a terrestrial reference frame. It should be noted that, according to one embodiment, the APP device determines an absolute position of the object OBJ from the IMG_SEQ sequence and the position (eg geographical coordinates) of the APP device.
  • the absolute position POSJDBJ can correspond to geographical coordinates of the material object OBJ such that the position POSJDBJ of the object OBJ includes one or more coordinates from the following set: latitude, longitude ; and altitude.
  • the position POSJDBJ of the object is a relative position defined in relation to an observer position POSJDBS.
  • the position POSJDBJ comprises, in one embodiment, one or more coordinates of the following set: an azimuth, a height, and a distance defined relative to the observer position POSJDBS.
  • the estimated position EST_POS_OBJ is an estimate of the distance DISTJDBJ between the observer position POSJDBS and the object OBJ.
  • the distance DISTJDBJ designates the distance between the material object OBJ and the camera CAM carrying out the acquisitions of the image sequence IMG_SEQ.
  • the position POSJDBJ of the object OBJ is a relative position defined in relation to a previous position of the object OBJ.
  • the position estimated EST_POS_OBJ by the device APP thus corresponds to a movement of the material object OBJ, and includes for example one or more coordinates among: a longitudinal movement, a lateral movement, and a vertical movement.
  • the device APP produces an estimate EST_POS_OBJ relating to the movement of the object OBJ between two images IMG_1, IMG_2 of the sequence IMG_SEQ, and/or produces an estimate of the speed of the object OBJ.
  • the CAM camera is an IMG_SEQ image acquisition device, making it possible to transform optical images into digital images.
  • the CAM camera includes a sensor for electromagnetic radiation, radiation whose wavelengths belong to the visible light spectrum.
  • the CAM camera comprises an electromagnetic radiation sensor whose wavelengths are located beyond the visible light spectrum, such as an infrared sensor.
  • the CAM camera can according to this embodiment acquire IMG_SEQ images in the infrared domain.
  • FIG. 1 schematically represents an example of a sequence of images obtained by a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention.
  • the sequence of images IMG_SEQ comprises one or more images IMG_1, IMG_N.
  • the sequence of images IMG_SEQ comprises a plurality of images IMG_1, IMG_N.
  • the images IMG_1, ..., IMG_N of the sequence IMG_SEQ are representative of an optical scene comprising a moving OBJ object.
  • the images IMG_1, ..., IMG_N of the sequence IMG_SEQ are consecutive in time, that is to say that the respective acquisition times of the images IMG_1, ..., IMG_N of the IMG_SEQ sequence follows each other in time.
  • the first image IMG_1 thus corresponds to the oldest image, while the last image IMG_N corresponds to the most recent image.
  • the classification and localization device APP carries out an operation of cropping the images IMG_1, ..., IMG_N of the sequence IMG_SEQ such that the object OBJ is centered in the first image IMG_1.
  • the cropping coordinates remain fixed for all images IMG_1, ..., IMG_N of the sequence IMG_SEQ.
  • the cropping operation makes it possible to visually represent and highlight movement information of the object OBJ within the sequence of images IMG_SEQ and over time.
  • the sequence of images IMG_SEQ comprises a plurality of images IMG_1, ..., IMG_N acquired by a plurality of CAM cameras.
  • the sequence of images SEQ_IMG is representative of an optical scene comprising a plurality of material objects OBJ.
  • the sequence of images SEQ_IMG is representative of a plurality of optical scenes.
  • the APP device uses IMG_SEQ images acquired by a plurality of CAM cameras. It should then be mentioned that, according to this embodiment, the fields of vision of the different CAM cameras are distinct. In this way, an OBJ object of interest present in the field of vision of a first camera will then be observed by a second camera when the OBJ object leaves the field of vision of the first camera. Furthermore, according to this embodiment, the different CAM cameras have identical optics. This embodiment thus makes it possible to broaden the field of vision of the proposed APP device and, thus, makes it possible to classify and locate OBJ objects in a wider geographical area.
  • the APP device implements a classification and location of several OBJ objects from an IMG_SEQ sequence, at at least one class assigned ATR_CLAS_OBJ to the OBJ objects and at least one estimated position EST_POS_OBJ of the OBJ objects being provided as output by the APP device.
  • Figure 3 schematically represents an example of the functional architecture of a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention.
  • the device APP receives as input a sequence IMG_SEQ of images IMG_1, IMG_N.
  • the APP device determines, from the sequence IMG_SEQ, a class assigned ATR_CLAS_OBJ to the object and an estimated position EST_POS_OBJ of the object OBJ.
  • the ATR_CLAS_OBJ, EST_POS_OBJ outputs of the APP device are determined by a classifier-locator module X_NN on the basis of the IMG_SEQ sequence. How to configure the X_NN classifier-localizer module (i.e. its parameters) to obtain reliable classification and precise localization is described in more detail below and illustrated in Figure 5.
  • the determination step carried out by the classifier-localizer module X_NN comprises the following operations.
  • the IMG_SEQ image sequence is provided as input to a CNN encoder making it possible to produce LS_DATA encoded data as output.
  • the LS_DATA encoded data are on the one hand provided as input to a CLA_NN classifier and on the other hand to a LOC_NN locator.
  • the CLA_NN classifier outputs a class assigned ATR_CLA_OBJ to the OBJ object, while the LOC_NN locator outputs an estimated position EST_POS_OBJ.
  • the LS_DATA encoded data thus constitutes an intermediate multidimensional representation of the IMG_SEQ sequence common to classification and localization tasks.
  • the classifier-localizer module X_NN includes a parameterized function. More particularly, the classifier-localizer module X_NN comprises, according to a variant, a machine learning algorithm, such as a support vector machine, a Bayesian network, etc.
  • the classifier-localizer module X_NN comprises (ie is implemented by) a neural network.
  • a neural network comprises one or more layers of artificial neurons connected to each other.
  • An artificial neuron performs the following operations.
  • a neuron takes one or more values as input and weights these inputs by coefficients called weights.
  • the neuron combines the weighted inputs together with a bias, typically this combination operation is a sum, or a norm. This combination is then provided as input to an activation function. Examples of commonly used activation functions are the sigmoid functions, ReLU (acronym for the Anglo-Saxon expression “Rectified Linear Unit”), hyperbolic tangent.
  • the output of the artificial neuron is the result of the function activation.
  • the parameters of a neural network include a varied set of parameters, such as weights, biases, and activation functions used for the different neurons of the X_NN network. These parameters thus make it possible to optimize the X_NN neural network to implement reliable classification and precise localization.
  • the types of neural networks capable of implementing an X_NN classifier-localizer module conforming to the invention are varied. Mention should be made in particular, in a non-limiting manner, of multilayer perceptrons, convolutional or convolutional neural networks, recurrent neural networks, etc.
  • the neural network X_NN comprises: a convolutional neural network CNN; a CLA_NN classification neural network; and a localization neural network LOC_NN.
  • the encoder comprises the CNN convolutional neural network as described above making it possible to determine LS_DATA encoded data from the IMG_SEQ sequence.
  • the classifier includes the CLA_NN classification neural network and produces an assigned class ATR_CLAS_OBJ from the LS_DATA encoded data.
  • the locator includes the LOC_NN localization neural network and makes it possible to estimate the EST_POS_OBJ position from the LS_DATA encoded data.
  • the neural network X_NN is determined globally to minimize the multi-objective loss function F_LOSS representative of both a classification objective and a a location objective.
  • the neural networks CNN, CLA_NN and LOC_NN are thus jointly determined to minimize the loss function F_LOSS, and not independently.
  • Figure 4 represents, in flowchart form, steps of a method of classification and localization of at least one object in a sequence of images according to one embodiment of the invention.
  • the classification and localization method comprises the following steps and is implemented by an APP device.
  • the reference signs of the steps linked to the classification and localization process begin with S2.
  • step S210 an IMG_SEQ sequence of one or more images IMG_1, ..., IMG_N acquired by at least one CAM camera is obtained by the device APP.
  • step S220 the device APP provides the sequence of images IMG_SEQ obtained as input to a classifier-localizer module X_NN which thus determines:
  • At least one assigned class ATR_CLAS_OBJ audits at least one OBJ object, said at least assigned class ATR_CLAS_OBJ being selected from a list of assignable classes;
  • the classifier-localizer module X_NN is configured from reference image sequences to minimize a multi-objective loss function representative of both a classification objective and an object localization objective in the reference sequences.
  • step S210 of obtaining the method described above comprises at least one of the following substeps.
  • the device APP performs an acquisition by at least one camera of said one or more images IMG_1, ..., IMG_N of the sequence IMG_SEQ.
  • the APP device controls a CAM camera to acquire the images IMG_1, ..., IMG_N of the sequence IMG_SEQ.
  • the images IMG_1, ..., IMG_N of the sequence IMG_SEQ can be acquired by a CAM camera with a fixed time step between the different acquisition times.
  • the images IMG_1, ..., IMG_N are cropped by the device APP to center an object OBJ in a determined image IMG_1 of the sequence IMG_SEQ.
  • the object OBJ is centered on the first image IMG_1 of the sequence IMG_SEQ.
  • the images IMG_1, ..., IMG_N of the sequence IMG_SEQ are consecutive in time. The respective acquisition times of the images IMG_1, ..., IMG_N follow each other in time.
  • the cropping coordinates remain fixed for all images IMG_1, ..., IMG_N of the sequence IMG_SEQ, which makes it possible to represent the movement of the object OBJ during the sequence.
  • the cropping operation makes it possible to reduce the size of the processed images and thus to reduce the complexity of implementing the method, while retaining the information linked to the movement of the OBJ object within the sequence of IMG_SEQ images.
  • step S220 of determining the method described above comprises the following substeps.
  • step S221 the device APP determines LS_DATA encoded data.
  • the LS_DATA encoded data is produced by the CNN encoder taking as input the IMG_SEQ image sequence.
  • step S222 the device APP provides as input to a classifier CLA_NN the encoded data LS_DATA which produces said at least one class ATR_CLAS_OBJ as output.
  • step S223 said at least one estimated position EST_POS_OBJ is produced by a locator LOC_NN of the device APP taking as input the encoded data LS_DATA.
  • steps S222 and S223 described here is in no way restrictive. Steps S222 and S223 can be carried out simultaneously (i.e. in parallel), one before the other or vice versa.
  • the LS_DATA encoded data makes it possible to obtain an intermediate multidimensional representation common to the two classification and localization tasks and representative of spatio-temporal characteristics of the OBJ object in the IMG_SEQ image sequence.
  • Figure 5 represents, in flowchart form, steps of a method of configuring a classifier-localizer module to implement a classification and localization of at least one object in a sequence of images according to one embodiment of the invention.
  • the proposed configuration method comprises the following steps.
  • the reference signs for the steps linked to the configuration method begin with SI.
  • step S120 the classifier-localizer module X_NN making it possible to implement the classification and localization of OBJ objects in image sequences IMG_SEQ is initialized (e.g. its parameters).
  • the classifier-localizer module X_NN comprises a neural network
  • the weights of the neural network are, for example, initialized randomly.
  • step S130 a sequence of reference images TR_DATA is provided as input to the classifier-locator module X_NN to determine: a class assigned ATR_CLAS_OBJ to the object OBJ from a list of assignable classes; and at least one estimated position EST_POS_OBJ of the object OBJ.
  • step S130 comprises sub-steps similar to steps S221, S222 and S223 described above.
  • the classifier-localizer module EST_POS_OBJ_N the classifier-localizer module EST_POS_OBJ_N.
  • the classifier-localizer module X_NN For each image IMG_1, the classifier-localizer module X_NN provides an estimated position EST_POS_OBJ_1 of the object OBJ on the image IMG_1; and for each class in the list of attributable classes, the classifier-locator module X_NN provides as output a value PP_CLAS_1 representative of a probability of membership of the OBJ object to this class.
  • PP_CLAS_1 representative of a probability of membership of the OBJ object to this class.
  • a loss function F_LOSS is evaluated from the following inputs: said at least one assigned class ATR_CLAS_OBJ; said at least one estimated position EST_POS_OBJ; at least one known class of an object in the TR_DATA reference sequence; and at least one known position of an object in the reference sequence TR_DATA.
  • the multi-objective F_LOSS loss function is representative of both a classification objective and a localization objective.
  • reference data TR_DATA is used to configure the classifier-localizer module such that the loss function F_LOSS is minimized.
  • step S150 the classifier-localizer module X_NN is reconfigured (e.g. its parameters) to minimize the loss function F_LOSS.
  • the result of the evaluation carried out in step S140 is, according to a variant of the invention, used to reconfigure the classifier-localizer module X_NN.
  • this step consists of determining the parameter value of the classifier-localizer module X_NN to minimize the loss function F_LOSS.
  • the determination method comprises several iterations of steps S130, S140, and S150, which makes it possible to minimize the loss function F_LOSS as the iterations progress, and thus to improve performance. of the X_NN classifier-localizer module.
  • the number of iterations carried out by the method can be determined as follows. If during an iteration, the evaluation of the loss function in step S140 produces a result lower than a certain threshold, then no additional iteration will be carried out.
  • the method of configuring the classifier-localizer module X_NN can also carry out said iterations until the variation of the loss function between two iterations is less than a threshold, i.e. the difference between two consecutive results of the function loss is below the threshold.
  • the proposed configuration method described above comprises the following step.
  • step SI 10 reference data TR_DATA is obtained. More particularly, the TR_DATA reference data comprises: one or more reference image sequences; one or more known classes associated with OBJ objects of the reference sequences; one or more known positions associated with OBJ objects of the reference sequences. [0125] According to a particular embodiment, step SI 10 of obtaining reference data comprises at least one of the following substeps, as shown in Figure 5.
  • Step SI 11 one or more reference image sequences TR_DATA_ACQ are acquired by at least one CAM camera.
  • Step SI 11 further comprises, according to a variant, the determination of one or more known classes and positions associated with one or more OBJ objects of the acquired reference sequences TR_DATA_ACQ.
  • one or more computer-synthesized TR_DATA_SYN image sequences are obtained.
  • the synthesized reference sequences TR_DATA_SYN can be the result of simulations.
  • the simulation tool can produce in addition to synthesized reference image sequences TR_DAT_SYN, the known classes and the known positions associated with the objects of these reference sequences.
  • step S140 of evaluating the multi-objective loss function F_LOSS of the method described above comprises the following sub-steps.
  • step S141 a classification loss function F_LOSS_CLA is evaluated by taking as inputs said at least one assigned class ATR_CLAS_OBJ and at least one known class TR_DATA associated with said at least one object of the reference image sequence TR_DATA. This step makes it possible, among other things, to evaluate the reliability of the classifications carried out by the classifier-localizer module X_NN.
  • step S142 a location loss function F_LOSS_LOC is evaluated by taking as inputs said at least one estimated position EST_POS_OBJ and at least one known position TR_DATA associated with said at least one object of the reference image sequence TR_DATA. Step S142 thus makes it possible to evaluate the precision of the locations carried out by the classifier-localizer module X_NN.
  • substep S143 the multi-objective loss function F_LOSS is evaluated from the result of the classification loss function F_LOSS_CLA obtained in substep S141 and the result of the location loss function F_LOSS_LOC obtained in substep S142.
  • the classification loss function F_LOSS_CLA is a cross-entropy function, or “cross-entropy” in English.
  • C r the known class TR_DATA associated with the object OBJ
  • p o the set of values PP_CLAS_I, ..., PP_CLAS_M produced by the classifier-locator module X_NN and representative of probabilities membership of the OBJ object to each of the classes in the list.
  • the classification loss function F_LOSS_CLA denoted here L EC , is then defined by:
  • ⁇ (C i , C r ) is a binary indicator equal to 0 if the class C i is different from the class C r and equal to 1 otherwise
  • P o,i is the PP_CLAS_I value representative of a probability of belonging of the OBJ object to index class i in the list.
  • the result of the location loss function F_LOSS_LOC is determined from the error between the estimated positions EST_POS_OBJ_1, ..., EST_POS_OBJ_N of the object OBJ and the known positions of the sequence reference TR_DATA.
  • the localization error is taken into account only for images in which the OBJ object is present. Some of the images in the sequence may not include the object, as it has gone out of the frame.
  • the location loss function F_LOSS_LOC is defined as follows.
  • P r denote the set of known positions of the OBJ object for the reference sequence TR_DATA
  • P o is the set of estimated positions EST_POS_1, ..., EST_POS_OBJ_N of the OBJ object by the classifier-locator module X_NN for each of the images IMG_1, ..., IMG_N of the reference sequence TR_DATA.
  • the presence vector I (I 1 , ... ,I N ) is used.
  • the location loss function F_LOSS_LOC denoted here L IMSE , is then defined by:
  • [0136] is the L1 norm of vector I, is a binary indicator equal to 1 if the object is present in the image with index i in the sequence and equal to 0 otherwise, P o,i is the position estimated by the classifier-localizer module X_NN for the image with index i in the list, and P r,i is the known position for the image with index i in the sequence.
  • the location loss function F_LOSS_LOC is expressed from quadratic errors.
  • the proposed location loss function F_LOSS_LOC is an extension of a mean squared error type loss function.
  • the expression of the location loss function F_LOSS_LOC described above is defined for positions of the OBJ object of one dimension, for example a distance between the OBJ object and the CAM camera carrying out the acquisition images IMG_1, IMG_N.
  • this expression only constitutes a variant embodiment.
  • Such an expression of the location loss function F_LOSS_LOC can easily be extended for positions comprising several coordinates, in particular by using the quadratic error between the estimated position and the known position on each component associated with the dimensions.
  • the estimated position of an object includes a distance between an observer position and the object.
  • the classifier-localizer module is configured to minimize the multi-objective loss function representative of the classification objective and the object location objective in the reference sequence, the location objective of an object comprising an objective of determining a distance between an observer position and said object.
  • the multi-objective loss function F_LOSS to be minimized is, according to a variant embodiment, a weighted sum of the classification loss function F_LOSS_CLA and the location loss function F_LOSS_LOC.
  • the weighting coefficients of this sum are non-zero, a necessary condition for the multi-objective loss function F_LOSS to be representative of both a classification objective and a localization objective.
  • the loss function F_LOSS denoted here L, is expressed by:
  • ⁇ and ⁇ are the positive non-zero weighting coefficients, As an example, the value of ⁇ is equal to 1 and the value of ⁇ is 10 -3 .
  • step S150 of updating the method described above comprises the following substep.
  • the classifier-localizer module X_NN is using a gradient descent algorithm on the basis of the result obtained in step S140 of the loss function F_LOSS.
  • gradient backpropagation is used to update the parameters of the network, and in particular, to determine the weights thereof.
  • a gradient descent algorithm is used to configure the X_NN classifier-localizer module.
  • the reconfiguration step consists of updating the parameters of the X_NN classifier-localizer module.
  • the gradient of the loss function F_LOSS is evaluated.
  • the parameters of the X_NN module are updated using the evaluated gradient.
  • the parameters are updated by subtracting the value of the evaluated gradient multiplied by a positive real coefficient.
  • the classifier-localizer module X_NN comprises a neural network and a gradient back-propagation method is used to update the neural network.
  • the reconfiguration step S151 of the network X_NN consists of determining the values of the weights used by the artificial neurons of the network X_NN.
  • the gradient back-propagation method uses the result of the F_LOSS loss function to update the weights of the X_NN network.
  • the gradient back-propagation method consists of: propagating the result of the loss function through the different layers of the neural network, from the output layer to the input layer; and updating the weights of each layer from said propagated results.
  • the reconfiguration of the classifier-localizer module X_NN is carried out from the result of the multi-objective loss function F_LOSS, and not from the results of the classification loss function F_LOSS_CLA and the localization loss function F_LOSS_LOC .
  • the classifier CLA_NN and the locator LOC_NN are configured in parallel (i.e. jointly) with a view to optimizing a common objective of reliable classification and precise localization, and not each independently to optimize their respective objective.
  • Figure 6 schematically represents an example of the functional architecture of a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention.
  • the classification and localization device APP comprises a classifier-localizer module X_NN to determine, from a sequence of images IMG_SEQ, at least one assigned class ATR_CLAS_OBJ auditing at least one OBJ object of the sequence IMG_SEQ and at least one estimated position EST_POS_OBJ of said at least one OBJ object.
  • the classifier-localizer module of the sequence IMG_SEQ For example, the estimated position EST_POS_OBJ of the object OBJ by the classifier-locator module X_NN is the average of these estimated positions EST_POS_OBJ_1, ..., EST_POS_OBJ_N, or the closest position, or even the furthest position.
  • the classifier-locator module X_NN produces, in addition to the class assigned ATR_CLAS_OBJ to the OBJ object, a set of values PP_CLAS_1, ..., PP_CLAS_M.
  • Each of the values PP_CLAS_1, ..., PP_CLAS_M is representative of a probability of membership of the OBJ object to a class from the list of attributable classes.
  • the classifier-locator module X_NN provides a value PP_CLAS_1 characterizing the probability that the OBJ object belongs to this class.
  • the classifier-locator module X_NN assigns to the object OBJ of the sequence IMG_SEQ the class whose value PP_CLAS_1 is the highest.
  • the X_NN classifier-localizer module comprises: a CNN encoder providing LS_DATA encoded data as output from the IMG_SEQ sequence; a CLA_NN classifier whose output is at least one class assigned ATR_CLA_OBJ to the OBJ object and is determined from the LS_DATA encoded data; and a locator LOC_NN for determining an estimated position EST_POS_OBJ of the object based on the LS_DATA encoded data.
  • Figure 6 illustrates a particular embodiment of the invention in which the CNN encoder, the CLA_NN classifier and the LOC_NN locator are respectively implemented by a neural network.
  • the CNN encoder is implemented using a convolutional neural network.
  • the convolutional neural network is structured as follows.
  • the convolutional neural network CNN includes: one or more convolution layers CNN_CONV_L1, CNN_CONV_L2; one several subsampling layers CNN_POOL_L1, CNN_POOL_L2, so-called “pooling” layers; and at least one fully connected layer CNN_FC_L, the nodes of this layer all being connected to the nodes of the next layer.
  • the CNN network includes, according to other variants of the invention, other layers of neurons, no limitation being attached to the nature of the latter.
  • the function of a convolution layer is to carry out convolution operations between the input data of the layer and filters, filters commonly called kernels (or with the Anglo-Saxon expression “kernels”).
  • the term "convolution” is used to refer to a convolution product, the mathematical operation generally denoted *.
  • the convolution of an image I and a filter F is defined by Let us take the example of an image I provided as input and a convolution layer using two filters F 1 and F 2 , the convolutions I * F 1 and I * F 2 are evaluated to obtain two intermediate images. These intermediate images produced at the output of a convolution layer are commonly called “feature maps”.
  • the parameters of a convolution layer are among others the following: the number and size of filters, the control step and the margin used by the convolution layer (these last two parameters are more commonly called with the English expressions “strid” and “padding”).
  • the control step and margin respectively refer to the number of pixels by which the filter moves at each offset and to a technique of adding pixels at the edge of the image provided as input (eg zero-padding).
  • the convolution layers make it possible to highlight in the sequence of IMG_SEQ images information on the OBJ object such as as information about size, shape, speed, movement, etc.
  • the convolution layers CNN_CONV_L1, CNN_CONV_L2 of the CNN encoding neural network carry out convolutions between the sequence IMG_SEQ and filters in the spatial domain and in the temporal domain. Carrying out convolutions according to the three dimensions of the IMG_SEQ image sequence, two dimensions for the spatial domain of the images and one dimension for the temporal domain of the sequence, makes it possible to extract spatio-temporal characteristics from the IMG_SEQ image sequence. .
  • the convolution layers carry out convolutions called "3D pseudo-convolutions", the details of implementation of the 3D pseudo-convolutions are for example explained in the following document: Zhaofan Qiu, and al., “Learning spatio-temporal representation with pseudo-3d residual networks”, in proceedings of the IEEE International Conference on Computer Vision, pages 5533-5541, 2017. Exploiting 3D pseudo-convolution makes it possible to extract spatio-temporal characteristics of the IMG_SEQ image sequence, while reducing the complexity of the network, compared to classic three-dimensional convolutions.
  • a pooling layer also called a pooling layer, makes it possible to subsample the data provided as input to the layer. Take for example the case of an image, the image provided as input is partitioned into a plurality of rectangles of pixels, these rectangles being generally called tiles, and an output value is produced per tile. With tiles of size 2 x 2 pixels, the pooling layer allows compression by a factor of 4 of the input data. As an illustration, the output value for a tile is the maximum value of the tile's data, such a pooling layer is commonly referred to as "Max-Pool 2x2".
  • the output value associated with a tile is the minimum value of the tile's input data; in this case, the expression “Min-Pool 2x2” is used.
  • a pooling layer makes it possible to reduce the size of the data processed by the next layer of the neural network and thus reduce the complexity of the latter.
  • the convolutional network CNN comprises one or more successions of a convolution layer and a pooling layer.
  • the CNN network comprises two so-called successions and a fully connected layer, i.e. CNN: CNN_CONV_L1 > CNN_POOL_L1 > CNN_CONV_L2 > CNN_POOL_L2 > CNN_FC_L.
  • CNN_CONV_L1 > CNN_POOL_L1 > CNN_CONV_L2 > CNN_POOL_L2 > CNN_FC_L the images IMG_1, ..., IMG_N of the sequence IMG_SEQ are provided as input to the first convolution layer CNN_CONV_L1, and the encoded data LS_DATA is produced as output of the fully connected layer CNN_FC_L.
  • the CNN network also includes layers of neurons, called correction layers, interposed between the aforementioned convolution and pooling layers.
  • correction layers apply an activation function to all the pixels of the intermediate images, which makes it possible to introduce non-linear complexities and thus improve the processing carried out by the CNN network.
  • a convolutional neural network allows efficient implementation of feature extraction from input data. Indeed, the successions of convolution and pooling layers present minimal complexity and connectivity, and thus simplified practical implementation with better performance. Furthermore, the fully connected multilayer perceptrons used to implement such feature extractions are prone to overtraining problems.
  • the CNN convolutional neural network is implemented using a ResNet type neural network or one of its variants.
  • the implementation of such a network is for example detailed in the document mentioned above by Zhaofan Qiu, et al.
  • the localization neural network LOC_NN comprises one or more layers of neurons.
  • the LOC_NN network is a multi-layer perceptron.
  • the localization neural network LOC_NN is a perceptron comprising a fully connected layer LOC_FC_L whose inputs are the LS_DATA encoded data and the outputs are a set of positions estimated EST_POS_OBJ_1, ..., EST_POS_OBJ_N.
  • Each of the estimated positions EST_POS_OBJ_1 corresponds to an estimate of the position POSJDBJ of the object OBJ for an image IMG_1 of the sequence IMG_SEQ.
  • an aggregated estimated position EST_POS_OBJ of the object OBJ is evaluated on the basis of the estimated positions EST_POS_OBJ_1, ..., EST_POS_OBJ_N, for example by taking the average, the median, the minimum or the maximum of the latter .
  • the localization neural network LOC_NN produces a position estimate for each of the images of the sequence IMG_SEQ
  • an estimated position EST_POS_OBJ_1 is an estimate of a distance DISTJDBJ between an object OBJ and a camera CAM.
  • the localization neural network LOC_NN comprises an output layer with N neurons, each of them producing an estimation value EST_POS_OBJ_1 of the distance DISTJDBJ associated with a image IMG_1.
  • the classification neural network CLA_NN is a “classifier” type neural network.
  • the CLA_NN network includes one or more layers of neurons.
  • the CLA_NN network is a multi-layer perceptron.
  • the classification neural network CLA_NN is a perceptron comprising a fully connected layer CLA_FC_L whose inputs are the LS_DATA encoded data and the outputs are a set of values PP_CLAS_1, ..., PP_CLAS_M. These values are representative of a probability of membership of the OBJ object to the classes of the list of attributable classes.
  • the class assigned ATR_CLAS_OBJ to the object is the class from the list whose PP_CLAS_1 value is the highest.
  • the classification neural network CLA_NN produces the set of values PP_CLAS_1, ..., PP_CLAS_M.
  • the CLA_NN network includes an output layer with M neurons, each of them producing a PP_CLAS_1 value representative of the probability of membership of the OBJ object to a class.
  • the X_NN neural network then includes an output layer with M+N neurons.
  • Figure 7 schematically represents an example of software and hardware architecture of a system for classifying and locating at least one object in a sequence of images according to one embodiment of the invention.
  • the SYS system includes an APP device and a CAM camera.
  • the classification and localization device APP includes in particular: a PROC processing unit or processor; and an MEM memory.
  • the APP device includes interfaces and a communication module for exchanging data with the CAM camera.
  • the APP device has the hardware architecture of a computer, and as such comprises a PROC processor, a RAM, a MEM ROM, and a non-volatile memory.
  • the MEM memory associated with the device constitutes an information or recording medium in accordance with the invention, readable by computer and by the PROC processor and on which a program is recorded.
  • computer according to the invention.
  • the computer program includes instructions for implementing the steps of a method according to the invention, when the computer program is executed by the processor PROC.
  • the computer program defines the functional modules represented by Figure 8 of the APP device, which rely on or control the hardware elements of the latter.
  • the SYS system is on board a vehicle, for example in a land vehicle: car, truck, train, etc., or in a marine vehicle: boat, frigate, or even in an air vehicle: an aircraft, helicopter, plane, drone, etc.
  • the SYS system is, according to an alternative embodiment, embedded in a so-called autonomous vehicle, such as an autonomous car or a drone.
  • the SYS system constitutes a surveillance system or a navigation system.
  • Figure 8 schematically represents an example of functional architecture of a device for classifying and locating at least one object in a sequence of images according to one embodiment of the invention.
  • the SYS system comprises an APP device for classifying and locating at least one OBJ object in a sequence of IMG_SEQ images and at least one camera CAM.
  • Said at least one CAM camera is configured to acquire said one or more images IMG_1, ..., IMG_N of the sequence IMG_SEQ.
  • the SYS system comprises, according to one variant, a single CAM camera.
  • the APP device includes the modules described below.
  • module can correspond as well to a software component as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer or computer programs or subprograms. more generally to any element of a program capable of implementing a function or a set of functions as described for the modules concerned.
  • a hardware component corresponds to any element of a hardware assembly capable of implementing a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc. .).
  • the APP device for classifying and locating at least one OBJ object in a sequence of IMG_SEQ images comprises:
  • a MODJDBT obtaining module for obtaining an IMG_SEQ sequence of one or more IMG_1, IMG_N images acquired by at least one CAM camera;
  • a classifier-locator module and o at least one estimated position EST_POS_OBJ of said at least one object OBJ; the module being configured from a sequence of reference images to minimize a multi-objective loss function F_LOSS representative of both a classification objective and an object localization objective in the sequences of reference images TR_DATA.
  • the classifier-localizer module X_NN comprises:
  • a LOC_NN locator module to determine said at least one estimated position EST_POS_OBJ from the LS_DATA encoded data.
  • the MODJDBT obtaining module comprises:
  • an acquisition module MOD_ACQ for controlling the CAM camera and acquiring said one or more images IMG_1, ..., IMG_N of the sequence IMG_SEQ;
  • a cropping module MOD_CRP for cropping said one or more images IMG_1, ..., IMG_N of the sequence IMG_SEQ to center the object OBJ in a determined image IMG_1 of the sequence IMG_SEQ.
  • the OBJ object is centered on the first IMG_1 image of the cropped IMG_SEQ sequence.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

La présente invention concerne un procédé et un dispositif (APP) de classification et de localisation d'un objet (OBJ) dans une séquence d'images (IMG_SEQ). Le procédé proposé comprend des étapes de : • obtention (S210) d'une séquence (IMG_SEQ) d'une ou plusieurs images (IMG_1, …, IMG_N) acquises par une caméra (CAM); et • détermination (S220) par un module classificateur-localisateur (X_NN) à partir de la séquence d'images (IMG_SEQ) de : o une classe attribuée (ATR_CLAS_OBJ) à l'objet (OBJ), la classe attribuée (ATR_CLAS_OBJ) étant sélectionnée parmi une liste de classes; et o une position estimée (EST_POS_OBJ) de l'objet (OBJ); ledit module classificateur-localisateur (X_NN) étant configuré à partir de séquences d'images de référence (TR_DATA) pour minimiser une fonction de perte multi-objectifs (F_LOSS) représentative à la fois d'un objectif de classification et d'un objectif de localisation d'objets dans les séquences de référence (TR_DATA).

Description

Description
Titre de l'invention : Procédé et dispositif de classification et de localisation d'objets dans des séquences d'images, système, programme d'ordinateur et support d'informations associés
Domaine technique
[0001] La présente invention se rapporte aux domaines du traitement et d'analyse d'images, ainsi qu'au domaine de la vision par ordinateur. Plus particulièrement, la présente invention concerne un procédé et un dispositif de classification et de localisation d'objets dans une séquence d'images, et un procédé de configuration d'un module classificateur-localisateur d'objets dans une séquence d'images, ainsi qu'un système, un programme d'ordinateur et un support d'informations associés. La présente invention trouve une application particulièrement avantageuse, bien que nullement limitative, pour la mise en oeuvre de systèmes embarqués, tels que les véhicules autonomes, de systèmes de surveillance ou de systèmes de navigation.
État de la technique antérieure
[0002] La détection automatique d'objets dans une scène optique est un problème technique étudié depuis de nombreuses années. En particulier, identifier de manière précise un objet dans des images est une tâche critique pour de nombreuses applications, notamment des applications domestiques, industrielles, militaires, etc. L'exemple des véhicules autonomes permet d'illustrer l'importance d'identifier dans une scène visuelle un objet avec précision, notamment pour prévenir les collisions.
[0003] Il existe plusieurs dispositifs permettant de d'identifier un objet. Les systèmes radar sont un exemple commun de dispositif de détection d'un objet. Les ondes émises par un système radar sont réfléchies par un objet, puis reçues et analysées par le système radar pour détecter la présence et déterminer la position de l'objet. Les systèmes radar présentent néanmoins les inconvénients suivants. Ils nécessitent des équipements spécifiques, équipements généralement encombrants et de coûts importants. Les systèmes radar permettent de détecter la présence d'un objet et d'estimer la position de celui-ci mais l'objet à détecter doit présenter certaines propriétés physiques particulières. L'objet à détecter doit réfléchir les ondes électromagnétiques, ce qui n'est pas toujours le cas.
[0004] Il est également connu d'utiliser une ou plusieurs caméras pour identifier un objet dans une scène optique. Par exemple, en exploitant des méthodes de stéréovision comparant deux images d'un même objet prises par deux caméras, il est possible d'obtenir une information sur la position d'un objet. Néanmoins, ces méthodes requièrent l'utilisation de plusieurs cameras simultanément, ce qui implique un encombrement et des coûts importants. De surcroît, les estimations produites par ces méthodes dans le cas d'objets lointains ne sont pas d'une précision satisfaisante.
[0005] Par ailleurs, les solutions connues pour identifier un objet à partir d'une ou plusieurs caméras exploitent les informations visuelles liées à l'objet. À titre indicatif, des méthodes existantes s'appuient sur la mesure de la taille de l'objet, tandis que d'autres reposent sur l'extraction de points caractéristiques liés à l'objet. Les solutions existantes nécessitent ainsi que l'objet soit représenté sur plusieurs pixels dans les images utilisées. Dans le cas d'objets lointains, ces solutions ne permettent pas d'identifier un objet précisément et ne sont pas satisfaisantes. De plus, la précision de ces solutions est sensiblement dégradée par les effets de l'atténuation atmosphériques, importants pour des objets lointains.
[0006] Il existe par conséquent un besoin pour une solution permettant d'identifier avec précision un objet dans une scène optique, et ce même pour un objet lointain.
Exposé de l'invention
[0007] La présente invention a pour objectif de remédier à tout ou partie des inconvénients de l'art antérieur, notamment ceux exposés précédemment.
[0008] À cet effet, selon un aspect de l'invention, il est proposé un procédé de classification et de localisation d'au moins un objet dans une séquence d'images, ledit procédé comprenant des étapes de :
• obtention d'une séquence d'une ou plusieurs images acquises par au moins une caméra ; et
• détermination par un module classificateur-localisateur à partir de la séquence d'images obtenue de : o au moins une classe attribuée audit au moins un objet, ladite au moins classe attribuée étant sélectionnée parmi une liste de classes attribuables ; et o au moins une position estimée dudit au moins un objet.
[0009] Le module classificateur-localisateur utilisé est configuré à partir d'au moins une séquence d'images de référence pour minimiser une fonction de perte multi-objectifs représentative à la fois d'un objectif de classification et d'un objectif de localisation d'objets dans ladite au moins une séquence de référence.
[0010] Par « image», il est fait référence ici à un ensemble de données informatiques représentatif d'une scène optique. [0011] Par « position d'un objet », il est fait référence ici à une position absolue ou relative d'un objet présent sur une image. Il est entendu par position absolue, une position définie par rapport au référentiel terrestre (e.g. des coordonnées géographiques). Dans le contexte de l'invention, une position relative est une position définie par rapport à une position d'observateur (e.g. une distance entre l'objet et une caméra) ou par rapport à une position précédente de l'objet lui-même (e.g. un déplacement de l'objet, une vitesse). Il convient de noter que, selon un mode de réalisation, le procédé proposé détermine une position absolue d'un objet à partir de la séquence d'images obtenue et de la position (e.g. coordonnées géographiques) du dispositif mettant en oeuvre le procédé.
[0012] Par « fonction de perte», il est fait référence ici à une fonction à minimiser lors de la configuration d'un module ou de ses paramètres.
[0013] Par « séquence de référence », il est fait référence ici à des séquences d'images utilisées pour configurer le module classificateur-localisateur. Plus généralement, l'expression « données de référence » est également ci-après pour faire référence à des données utilisées pour configurer le module classificateur-localisateur.
[0014] La présente invention permet d'identifier avec précision un ou plusieurs objets dans une scène optique, et ce même dans le cas où les objets sont lointains. Plus particulièrement, la présente invention permet cette identification précise en attribuant avec fiabilité une classe à un objet présent dans une séquence d'images et en localisant avec précision cet objet.
[0015] En outre, le module classificateur-localisateur est configuré pour minimiser une fonction de perte multi -objectifs représentative à la fois d'un objectif de classification d'un ou plusieurs objets dans une séquence d'images et d'un objectif de localisation de ces objets. La présente invention met ainsi en oeuvre une optimisation conjointe des tâches de classification et de localisation, deux tâches intrinsèquement liées. Dans un mode de réalisation, il peut ainsi considéré que les tâches de classification et de localisation sont apprises en parallèle par le module classificateur-localisateur à partir de séquences de référence lors de sa configuration. Les informations visuelles liées à un objet - par exemple, la taille, la forme, le déplacement, etc. - sont exploitées par le module classificateur-localisateur pour réaliser en parallèle ces deux tâches de classification et de localisation. En conséquence de l'optimisation conjointe et parallèle décrite ici, la présente invention permet, de manière synergique, d'améliorer à la fois la fiabilité de la classe attribuée à un objet et la précision de la position estimée d'un objet.
[0016] Selon un mode de réalisation de l'invention, le module classificateur-localisateur est configuré par un procédé de configuration conforme à l'invention.
[0017] Selon un mode de réalisation de l'invention, ladite au moins une position estimée comprend une position estimée de l'objet pour chacune des images de ladite séquence. [0018] Ce mode de réalisation particulier permet d'améliorer la précision de localisation d'un objet présent dans une scène optique, une position de l'objet étant estimée pour chacune des images d'une séquence. En particulier, si les instants d'acquisition des images d'une séquence sont différents, ce mode de réalisation permet d'obtenir une localisation précise dans le temps d'un objet de la séquence, et ainsi de suivre le déplacement de cet objet au cours du temps.
[0019] Selon un mode de réalisation de l'invention, ladite étape de détermination du procédé de classification et de localisation comprend des sous-étapes de :
• détermination de données encodées par un encodeur à partir de la séquence d'images obtenue ;
• détermination de ladite au moins une classe attribuée par un classificateur à partir des données encodées ; et
• détermination de ladite au moins une position estimée par un localisateur à partir des données encodées.
[0020] Ce mode de réalisation de l'invention présente les avantages suivants. Une représentation intermédiaire multidimensionnelle de la scène optique est obtenue dans le présent mode de réalisation : lesdites données encodées. Les données encodées étant fournies en entrée de la du classificateur et du localisateur, les deux tâches réalisées exploitent une même représentation intermédiaire. Cette utilisation d'une représentation intermédiaire commune aux tâches de classification et de localisation permet de renforcer l'effet de synergie lié à l'optimisation conjointe et parallèle de ces deux tâches. En combinaison avec l'optimisation multi -objectif susmentionnée, la représentation intermédiaire est à la fois représentative de caractéristiques visuelles d'un objet nécessaires à la classification et de caractéristiques visuelles de cet objet nécessaires à la localisation. Ainsi, le classificateur, pour classer avec fiabilité un objet, tire parti des caractéristiques visuelles liées à la localisation (par exemple, la taille et la vitesse de déplacement de l'objet) ; et, corrélativement, le localisateur, pour estimer avec précision la position d'un objet, tire parti des caractéristiques visuelles liées à la classification (par exemple, la forme et l'aspect visuel de l'objet).
[0021] Selon un mode de réalisation de l'invention, l'encodeur met en oeuvre une ou plusieurs convolutions entre la séquence d'images obtenue et des filtres.
[0022] Par « convolution », il est fait référence ici à un produit de convolution, l'opération mathématique généralement notée *.
[0023] Le fait de réaliser dans ce mode de réalisation des convolutions entre la séquence d'images et des filtres permet d'extraire des caractéristiques spatiales et/ou temporelles de l'objet dans la séquence d'images. L'encodeur produit selon ce mode de réalisation des données encodées représentatives de caractéristiques spatio-temporelles d'un objet. Ces données encodées constituent une représentation intermédiaire fournie en entrée du classificateur et du localisateur. Par conséquent, ce mode de réalisation permet de mettre en évidence des caractéristiques spatio-temporelles d'un objet dans une séquence d'images et ainsi d'améliorer la fiabilité de la classification et la précision de la localisation réalisées conjointement et en parallèle.
[0024] Selon un mode de réalisation de l'invention, lesdites convolutions mises en oeuvre l'encodeur sont des convolutions dans le domaine spatial et dans le domaine temporel.
[0025] Le fait d'utiliser des convolutions à la fois dans le domaine spatial et dans le domaine temporel permet d'extraire des caractéristiques liées à l'objet dans ces deux domaines. Ce mode de réalisation permet d'obtenir à partir de la séquence d'images des informations liées à l'objet dans l'espace et dans le temps (par exemple, le déplacement d'un objet au cours du temps, la vitesse de celui-ci, la variation de forme, etc.).
[0026] Selon un mode de réalisation de l'invention, ladite étape d'obtention d'une séquence d'images comprend une sous-étape d'acquisition par au moins une caméra desdites une ou plusieurs images.
[0027] Par « caméra », il est fait référence ici à un dispositif permettant la transformation d'images optiques en images électroniques.
[0028] Selon un mode de réalisation de l'invention, le module classificateur-localisateur, utilisé pour réaliser ladite étape de détermination du procédé, comprend un réseau de neurones.
[0029] Par « réseau de neurones », il est fait référence ici à un réseau de neurones artificiels comprenant ainsi un ensemble de neurones artificiels connectés entre eux, un neurone artificiel permettant de déterminer une fonction d'activation d'entrées pondérées et combinées.
[0030] Le fait d'utiliser un réseau de neurones pour mettre en oeuvre le module classificateur- localisateur permet d'obtenir une classification fiable d'un objet dans une séquence d'images et une localisation précise de cet objet. En particulier, un réseau de neurones est apte à traiter des cas complexes et non-linéaires et ainsi d'obtenir des performances nettement améliorées en comparaison avec des modèles analytiques. Ce dernier point est particulièrement avantageux pour la classification et la localisation d'objets lointains, scénario dans lequel les effets de l'atténuation atmosphérique sont particulièrement importants.
[0031] En combinaison avec l'optimisation multi-objectif à partir de séquences d'images de référence décrite ci-dessus, ce mode de réalisation présente l'avantage de ne pas nécessiter de connaissances a priori liées à l'environnement physique et/ou aux paramètres de la caméra. À titre indicatif, aucune connaissance du modèle physique d'atténuation atmosphérique n'est requise pour classer un objet et estimer la position de celui-ci, ce qui est un avantage majeur au regard de solutions existantes. [0032] Ce mode de réalisation permet également d'exploiter une quantité importante de connaissances implicites liées aux séquences d'images de référence. Par exemple, plus les séquences d'images de référence sont représentatives de scénarios variés, plus le réseau de neurones utilisés tire parti des connaissances liées à ces séquences de référence.
[0033] En outre, le fait d'utiliser un seul réseau de neurones pour mettre en oeuvre conjointement et en parallèle les deux tâches de classification et de localisation permet de simplifier la mise en oeuvre pratique dans un système, par exemple dans un système embarqué tel qu'un drone ou une voiture autonome. En effet, en exploitant un seul réseau de neurones pour ces deux tâches, les contraintes matérielles et logicielles d'implémentation (e.g. taille de la mémoire, capacité de calcul nécessaire, etc.) sont relâchées, tout en permettant la mise en oeuvre d'une classification fiable d'une localisation précise.
[0034] Dans le cas où un réseau de neurones à propagation avant est exploité, le réseau est un approximateur universel et est ainsi en mesure d'approximer toute fonction continue sur des sous-ensemble compacts de l'ensemble des réels, sous condition que celui-ci comporte suffisamment de neurones. Exploiter un réseau de neurones permet ainsi de mettre en oeuvre des fonctions variées de traitement et d'analyse d'images.
[0035] Selon un mode de réalisation de l'invention, lesdites une ou plusieurs images de la séquence obtenue sont consécutives. En outre, l'étape d'obtention de la séquence d'images comprend une sous-étape de recadrage desdites une ou plusieurs images acquises, un desdits objets étant centré sur une image déterminée (i.e. une certaine image) de la séquence.
[0036] Par « images consécutives », il est fait référence ici à des images consécutives dans le temps, et ainsi à des images dont les instants d'acquisition se suivent chronologiquement dans le temps.
[0037] L'opération de recadrage réalisée dans ce mode de réalisation a pour effet de fournir, en entrée du module classificateur-localisateur, une information sur le déplacement d'un objet au sein de la séquence d'images. Puisque les images sont successives dans le temps, le déplacement relatif d'un objet au sein de la séquence est représentatif de la vitesse de cet objet. Ainsi, l'information de déplacement d'un objet est mise en évidence par cette opération de recadrage puis exploitée par le module classificateur-localisateur pour améliorer la fiabilité de la classification et la précision de la localisation.
[0038] De plus, l'opération de recadrage permet également de réduire la taille des images traitées par le procédé, tout en conservant la partie utile des images comprenant un objet à identifier et localiser. Avec une taille d'image réduite, et sans perte d'informations utiles, la mise en oeuvre dans un système pratique des tâches de classification et de localisation est simplifiée sur le plan matériel et logiciel, sans dégradation de performances. [0039] En comparaison des méthodes existantes de classification automatique d'un objet dans une ou plusieurs images, la présente invention permet en outre d'améliorer la fiabilité de classification d'un objet. En effet, les méthodes existantes sont davantage adaptées pour classifier un objet sur une seule image et ne peuvent exploiter d'information relative au déplacement d'un objet dans le temps.
[0040] Selon un autre aspect de l'invention, il est proposé un procédé de configuration d'un module classificateur-localisateur d'objets dans des séquences d'images, ledit procédé comprenant une étape d'initialisation du module classificateur-localisateur (notamment de ses paramètres) ; et au moins une itération des étapes de :
• détermination par le module classificateur-localisateur à partir d'au moins une séquence d'images de référence de : o au moins une classe attribuée à au moins un objet dans ladite au moins une séquence de référence, ladite au moins une classe attribuée étant sélectionnée parmi une liste de classes ; et o au moins une position estimée dudit au moins un objet ;
• évaluation d'une fonction de perte multi-objectifs sur la base de ladite au moins une classe attribuée, de ladite au moins une position estimée, d'au moins une classe et d'au moins une position connues d'au moins un objet dans ladite au moins une séquence de référence, la fonction de perte multi-objectifs étant représentative à la fois d'un objectif de classification et d'un objectif de localisation d'objets ;
• reconfiguration du module classificateur-localisateur pour minimiser la fonction de perte multi-objectifs.
[0041] La présente invention permet de configurer un module classificateur-localisateur permettant de mettre en oeuvre une classification fiable d'un ou plusieurs objets dans une séquence d'images et une localisation précise desdits objets.
[0042] Le module classificateur-localisateur utilisé est configuré pour minimiser une fonction de perte multi-objectifs représentative à la fois d'un objectif de classification d'un ou plusieurs objets dans des séquences d'images de référence et d'un objectif de localisation de ces objets. La présente invention propose ainsi de configurer un module qui optimise conjointement la classification et la localisation. Ces deux tâches étant intrinsèquement liées, l'optimisation conjointe et parallèle proposée présente un effet de synergie, tel que décrit ci-après. En comparaison de modules distincts configurés de manière indépendante pour optimiser la classification et la localisation, le module classificateur-localisateur configuré par la présente invention permet de mettre en oeuvre à la fois une classification plus fiable et une localisation plus précise. [0043] Selon un mode de réalisation de l'invention, ladite étape d'évaluation de la fonction de perte multi -objectifs comprend des sous-étapes de :
• évaluation d'une fonction de perte de classification à partir de ladite au moins une classe attribuée et d'au moins une classe connue associée audit au moins un objet de ladite au moins une séquence d'images de référence ;
• évaluation d'une fonction de perte de localisation à partir de ladite au moins une position estimée et d'au moins une position connue associée audit au moins un objet de ladite au moins une séquence d'images de référence ; et
• évaluation de la fonction de perte multi-objectifs à partir du résultat de la fonction de perte de classification et du résultat de la fonction de perte de localisation.
[0044] La fonction de perte est dite multi-objectifs car celle-ci est représentatif à la fois d'un objectif de classification et d'un objectif de localisation. Ce mode de réalisation permet d'évaluer d'une part la fiabilité des classes attribuées et d'autre part la précision des positions estimées, et d'en déduire une fonction de perte commune à ces deux tâches. Ainsi, ce mode de réalisation permet d'évaluer indépendamment l'objectif de classification et l'objectif de localisation, tout en garantissant que le module classificateur-localisateur optimise conjointement ces deux objectifs.
[0045] Selon un mode de réalisation de l'invention, la fonction de perte multi-objectifs est définie sur la base d'une somme pondérée de la fonction de perte de classification et de la fonction de perte de localisation, les coefficients de pondération étant des coefficients non-nuls.
[0046] Le fait d'utiliser une somme pondérée permet d'ajuster l'importance donnée par la fonction de perte multi-objectifs à l'un des deux objectifs de classification et de localisation par rapport à l'autre. Ce mode de réalisation permet de privilégier, ou non, un objectif par rapport à l'autre. Toutefois, la fonction de perte multi-objectifs étant représentative de ces deux objectifs, les coefficients de pondération sont des nombres non-nuls. En outre, ce mode de réalisation permet d'adapter la fonction de perte multi-objectifs aux cas où la fonction de perte de classification et la fonction de perte de localisation produisent des valeurs de sorties avec des ordres de grandeur différents.
[0047] Selon un mode de réalisation, la fonction de perte de classification est évaluée en utilisant l'expression : où LEC est la fonction de perte de classification, M est le nombre de classes attribuables de ladite liste de classes, δ( Ci, Cr) est un indicateur binaire égal à 0 si pour un dit objet la classe Ci de ladite liste de classes est différente de la classe Cr connue dudit objet et égal à 1 sinon, avec Po,i une probabilité déterminée par le module classificateur-localisateur que ledit objet appartiennent à la classe Ci.
[0048] Selon un mode de réalisation, la fonction de perte de localisation est évaluée en utilisant l'expression : où LIMSE est la fonction de perte de localisation, N est le nombre d'images de ladite au moins une séquence de référence un indicateur binaire égal à 1 si un dit objet est présent dans une image d'indice i de ladite au moins une séquence de référence et égale à 0 sinon, avec Po,i la position estimée dudit objet déterminée par le module classificateur-localisateur pour l'image d'indice avec Pr,i la position connue dudit objet pour l'image d'indice i.
[0049] Selon un mode de réalisation de l'invention, ladite étape de reconfiguration du module classificateur-localisateur est réalisée en utilisant un algorithme de descente de gradient à partir du résultat de la fonction de perte multi-objectifs obtenu à ladite étape d'évaluation.
[0050] Dans ce mode de réalisation, un algorithme de descente de gradient permet de reconfigurer le module classificateur-localisateur, notamment ses paramètres, afin de minimiser la fonction de perte multi-objectifs. Ce mode de réalisation permet de configurer le module classificateur-localisateur sur la base de données de référence et ainsi de mettre en oeuvre une classification fiable d'un objet dans une séquence d'images et une localisation précise de celui-ci.
[0051] Selon un mode de réalisation, le module classificateur-localisateur comprend un réseau de neurones et un algorithme de descente de gradient est utilisé pour la reconfiguration - dans ce cas, il est fait référence à une méthode de rétro-propagation de gradient. Ce mode de réalisation permet d'entraîner le réseau de neurones sur la base de données de référence afin de minimiser la fonction de perte multi-objectifs et ainsi d'obtenir un module classificateur- localisateur mettant en oeuvre une classification fiable d'un objet dans une séquence d'images et une localisation précise de celui-ci.
[0052] À titre d'exemple, l'étape de reconfiguration consiste à mettre à jour les paramètres du réseau, tels que les poids de chaque neurone du réseau. La méthode de rétro-propagation du gradient vise à corriger les erreurs selon l'importance de la contribution de chaque élément à celles-ci. Les poids contribuant le plus à une erreur seront modifiés de manière plus importante que les poids provoquant une erreur marginale.
[0053] Selon un mode de réalisation de l'invention, ladite au moins une séquence d'images de référence comprend au moins un des éléments du groupe suivant : une ou plusieurs images acquises par au moins une caméra ; et une ou plusieurs images synthétisées.
[0054] Par « synthétisées », il est fait référence ici à des images générées par ordinateur.
[0055] Ce mode de réalisation permet d'obtenir des données de référence permettant de configurer le module classificateur-localisateur.
[0056] Le mode de réalisation, où les images de référence sont acquises par au moins une caméra, permet entre autre d'acquérir des images de référence représentatives de conditions réelles observées. De cette manière, le module classificateur-localisateur obtenu est efficace en conditions réelles.
[0057] Le mode de réalisation selon lequel des images de référence sont synthétisées permet d'augmenter le volume de données de référence utilisées pour configurer le module classificateur-localisateur. Générer par ordinateur des images de référence permet en outre de constituer des données de référence représentatives de scénarios variés, par exemples différentes niveaux d'atténuation atmosphérique, différentes conditions météorologiques. Par conséquent, cela permet de configurer un module classificateur-localisateur qui minimise une fonction de perte multi-objectifs pour des scénarios variés et nombreux.
[0058] Lorsque les deux derniers modes de réalisation sont pris en combinaison, cela permet d'obtenir un nombre important de séquences d'images de référence représentatives à la fois de conditions réelles observées et de scénarios variées. Ainsi, u un module classificateur- localisateur configuré à partir de telles données de référence mettra en oeuvre une classification plus fiable et une localisation plus précise.
[0059] Selon un mode de réalisation de l'invention, le procédé de configuration d'un module classificateur-localisateur comprend plusieurs itérations desdites étapes de détermination, d'évaluation de la fonction de perte multi-objectifs, et de reconfiguration du module classificateur-localisateur.
[0060] Le fait de réaliser plusieurs itérations desdites étapes de détermination, d'évaluation et de reconfiguration permet d'améliorer successivement, au fur et à mesure des itérations, le module classificateur-localisateur pour minimiser la fonction de perte multi-objectifs. Typiquement, plus le nombre d'itérations est important, plus le module classificateur- localisateur utilisé minimisera la fonction de perte multi-objectifs. Par conséquent, ce mode de réalisation permet d'améliorer la fiabilité de classification et la précision de localisation mise en oeuvre par le module classificateur-localisateur.
[0061] Considérons ici le mode de réalisation selon lequel plusieurs dites itérations sont réalisées et un algorithme de descente de gradient est utilisée pour reconfigurer le module classificateur-localisateur. Il est avantageux de réaliser plusieurs itérations sur des portions des données de référence, plutôt qu'une seule itération sur l'ensemble des données de référence. En effet, cela permet d'améliorer, au fur et à mesure des itérations, la convergence vers un module classificateur-localisateur qui minimise la fonction de perte multi-objectifs. Ce mode de réalisation permet en outre de nécessiter moins de ressources matérielles et logicielles - en termes de taille mémoire, et ressources de traitement, etc. - pour configurer le module classificateur-localisateur. Ainsi, la complexité de mise en oeuvre sur le plan matériel et logiciel du procédé de détermination est simplifiée par ce de mode de réalisation.
[0062] Selon un autre aspect de l'invention, il est proposé un dispositif de classification et de localisation d'au moins un objet dans une séquence d'images, ledit dispositif comprenant :
• un module d'obtention pour obtenir une séquence d'une ou plusieurs images acquises par au moins une caméra ; et
• un module classificateur-localisateur pour déterminer à partir de la séquence d'images obtenue : o au moins une classe attribuée audit au moins un objet, ladite au moins classe attribuée étant sélectionné parmi une liste de classes ; et o au moins une position estimée dudit au moins un objet.
[0063] Ledit module classificateur-localisateur est configuré à partir d'au moins une séquence d'images de référence pour minimiser une fonction de perte multi-objectifs représentative à la fois d'un objectif de classification et d'un objectif de localisation d'objets dans ladite au moins une séquence d'images de référence.
[0064] Le dispositif de classification et de localisation selon ce mode de réalisation dispose des avantages décrit ci-dessus en lien avec le procédé de classification et de localisation de proposé.
[0065] Selon un mode de réalisation de l'invention, ledit module classificateur-localisateur utilisé par le dispositif est configuré par un procédé de configuration conforme à l'invention.
[0066] Ce mode de réalisation permet de tirer parti au sein du dispositif de classification et de localisation des avantages précédemment cités en lien avec le procédé de de configuration proposé.
[0067] Selon un autre aspect de l'invention, il est proposé un système comprenant un dispositif dispositif de classification et de localisation conforme à l'invention et au moins une caméra configurée pour acquérir lesdites une ou plusieurs images de la séquence.
[0068] L'avantage de ce mode de réalisation est de pouvoir au sein d'un système pratique réaliser conjointement les deux tâches de classification et de localisation avec un unique dispositif. [0069] Ce mode de réalisation permet une mise en oeuvre pratique efficace d'un système de surveillance ou de navigation, la classification d'objets dans une scène optique et la localisation de ces objets étant des tâches critiques pour ces types de systèmes.
[0070] Selon un mode de réalisation, le système proposé comprend une unique caméra.
[0071] Ce mode de réalisation permet de ne nécessiter qu'une unique caméra pour réaliser à la fois la classification et la localisation d'un objet dans une scène optique, ce qui est avantageux au regard de solutions existantes. De plus, une caméra est un équipement communément intégré dans les systèmes embarqués, une caméra étant peu coûteuse, et peu encombrante. Ainsi, une classification fiable et une localisation précise d'un objet dans une scène optique sont, selon ce mode de réalisation, mises en oeuvre de manière économe et peu encombrante dans un système pratique, tel qu'un système embarqué.
[0072] Selon un mode de réalisation, le système proposé comprend une pluralité de caméras.
[0073] Ce mode de réalisation, en utilisant une pluralité de caméras, permet d'étendre le champ de vision total du système proposé. Ce mode de réalisation permet ainsi de classifier et de localiser des objets dans une zone géographique plus large. Selon un mode de réalisation, ledit système est un système de surveillance, ou un système de navigation.
[0074] Selon un mode de réalisation, le système proposé est embarqué (i.e. intégré) à un véhicule tel qu'un aéronef, un navire, un véhicule ferroviaire, un véhicule routier, etc.
[0075] Selon un autre aspect de l'invention, il est proposé un aéronef comprenant un système conforme à l'invention.
[0076] Selon un aspect de l'invention, il est proposé un programme d'ordinateur des instructions pour la mise en oeuvre des étapes d'un procédé conforme à l'invention, lorsque le programme d'ordinateur est exécuté par au moins un processeur ou un ordinateur.
[0077] Le programme d'ordinateur peut être formé d'une ou plusieurs sous-parties stockées dans une même mémoire ou dans des mémoires distinctes. Le programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
[0078] Selon un aspect de l'invention, il est proposé un support d'informations lisible par ordinateur comprenant un programme d'ordinateur conforme à l'invention.
[0079] Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire non-volatile ou ROM, par exemple un CD-ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette ou un disque dur. D'autre part, le support de stockage peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par un réseau de télécommunication ou par un réseau informatique ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau informatique. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des dessins
[0080] D'autres caractéristiques et avantages de la présente invention ressortiront de la description fournie ci-après de modes de réalisation de l'invention. Ces modes de réalisation sont donnés à titre d'exemple illustratif et sont dépourvus de tout caractère limitatif. La description fournie ci-après est illustrée par les dessins ci- joints :
[Fig. 1] La figure 1 représente schématiquement un exemple de dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention ;
[Fig. 2] La figure 2 représente schématiquement un exemple d'une séquence d'images obtenue et traitée par un dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention ;
[Fig. 3] La figure 3 représente schématiquement un exemple d'architecture fonctionnelle d'un dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention ;
[Fig. 4] La figure 4 représente, sous forme d'ordinogramme, des étapes d'un procédé de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention ;
[Fig. 5] La figure 5 représente, sous forme d'ordinogramme, des étapes d'un procédé de configuration d'un module classificateur-localisateur pour mettre en oeuvre une classification et une localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention ;
[Fig. 6] La figure 6 représente schématiquement un exemple d'architecture fonctionnelle d'un dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention ; [Fig. 7] La figure 7 représente schématiquement un exemple d'architecture logicielle et matérielle d'un système de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention ;
[Fig. 8] La figure 8 représente schématiquement un exemple d'architecture fonctionnelle d'un dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention.
Description des modes de réalisation
[0081] La présente invention concerne un procédé et un dispositif de classification et de localisation d'objets dans une séquence d'images, et un procédé de configuration d'un module classificateur-localisateur d'objets dans des séquences d'images, ainsi qu'un système, un programme d'ordinateur et un support d'information associés.
[0082] La figure 1 représente schématiquement un exemple de dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention.
[0083] Tel qu'illustré par la figure 1, le dispositif APP de classification et de localisation est configurée pour recevoir en entrée une séquence d'images IMG_SEQ et produire en sortie une classe attribuée ATR_CLAS_OBJ à un objet OBJ ainsi qu'une position estimée EST_POS_OBJ de l'objet OBJ. La séquence d'images IMG_SEQ comprend typiquement une pluralité d'images IMG_1, ..., IMG_N. Les images IMG_1, ..., IMG_N sont acquises par une caméra CAM et sont composées d'une pluralité de pixels. Par exemple, les pixels d'une image IMG_1 sont encodés sur un ou plusieurs bits : un bit par pixel dans le cas d'une image monochrome, 8 bits par pixel pour disposer de 256 couleurs, etc. La caméra CAM est reliée au dispositif APP de telle sorte que la caméra CAM peut transmettre la séquence d'images IMG_SEQ au dispositif APP. Les images IMG_1, ..., IMG_N de la séquence IMG_SEQ sont représentatives d'une scène optique comprenant l'objet matériel OBJ. À titre d'exemple, l'objet OBJ peut être un véhicule, un aéronef, un piéton, une maison, etc. Il convient de noter que l'objet OBJ peut être en mouvement ou pas. La classe attribuée ATR_CLAS_OBJ à l'objet OBJ est sélectionnée parmi une liste finie de classes attribuables, telle qu'une liste de modèles d'aéronefs, de types de véhicules, de catégories d'objets, etc.
[0084] Le dispositif APP produit à partir de la séquence IMG_SEQ une estimation EST_POS_OBJ de la position POSJDBJ de l'objet OBJ. La position POSJDBJ de l'objet OBJ est soit une position absolue soit une position relative. Si la position POSJDBJ est absolue, alors elle désigne une position définie par rapport à un référentiel terrestre. Il convient de noter que, selon un mode de réalisation, le dispositif APP détermine une position absolue de l'objet OBJ à partir de la séquence IMG_SEQ et de la position (e.g. coordonnées géographiques) du dispositif APP. Selon une variante de réalisation, la position POSJDBJ absolue peut correspondre à des coordonnées géographiques de l'objet matériel OBJ de telle sorte que la position POSJDBJ de l'objet OBJ comprenne une ou plusieurs coordonnées de l'ensemble suivant : la latitude, la longitude ; et l'altitude.
[0085] Selon un mode de réalisation, la position POSJDBJ de l'objet est une position relative définie par rapport à une position d'observateur POSJDBS. La position POSJDBJ comprend, dans un mode de réalisation, une ou plusieurs coordonnées de l'ensemble suivant : un azimut, une hauteur, et une distance définis par rapport à la position d'observateur POSJDBS. Selon une variante de réalisation, et tel qu'illustré par la figure 1, la position estimée EST_POS_OBJ est une estimation de la distance DISTJDBJ entre la position d'observateur POSJDBS et l'objet OBJ. Typiquement, la distance DISTJDBJ désigne la distance entre l'objet matériel OBJ et la caméra CAM réalisant les acquisitions de la séquence d'images IMG_SEQ.
[0086] Selon un mode de réalisation, la position POSJDBJ de l'objet OBJ est une position relative définie par rapport à une position précédente de l'objet OBJ. Dans ce mode de réalisation, la position estimée EST_POS_OBJ par le dispositif APP correspond ainsi à un déplacement de l'objet matériel OBJ, et comprend par exemple un ou plusieurs coordonnées parmi : un déplacement longitudinal, un déplacement latéral, et un déplacement vertical. Selon une variante de réalisation, le dispositif APP produit une estimation EST_POS_OBJ relative au déplacement de l'objet OBJ entre deux images IMG_1, IMG_2 de la séquence IMG_SEQ, et/ou produit une estimation de la vitesse de l'objet OBJ.
[0087] La caméra CAM est un dispositif d'acquisition d'images IMG_SEQ, permettant de transformer des images optiques en images numériques. Pour ce faire, la caméra CAM comprend un capteur de rayonnements électromagnétiques, rayonnements dont les longueurs d'onde appartiennent au spectre de la lumière visible. Selon un mode de réalisation de l'invention, la caméra CAM comprend un capteur de rayonnements électromagnétiques dont les longueurs d'ondes sont situées au-delà du spectre de la lumière visible, tel qu'un capteur infra-rouge. La caméra CAM peut selon ce mode de réalisation acquérir des images IMG_SEQ dans le domaine de l'infra-rouge.
[0088] Bien évidemment, aucune limitation n'est attachée à la nature de l'interface de communication entre le dispositif APP et la caméra CAM, qui peut être filaire ou non filaire, et peut mettre en oeuvre tout protocole connu de l'homme du métier (Internet, IP, Ethernet, WiFi, Bluetooth, 3G, 4G, 5G, 6G, etc.). En outre, aucune limitation n'est attachée au format des images IMG_1, ..., IMG_N de la séquence IMG_SEQ, qui peut mettre en oeuvre tout encodage connu de l'homme du métier (JPG, PNG, TIFF, etc.). [0089] La figure 2 représente schématiquement un exemple de séquence d'images obtenues par un dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention.
[0090] Tel qu'illustré par la figure 2, la séquence d'images IMG_SEQ comprend une ou plusieurs images IMG_1, IMG_N. Typiquement, la séquence d'images IMG_SEQ comprend une pluralité d'images IMG_1, IMG_N.
[0091] Selon un mode de réalisation, les images IMG_1, ..., IMG_N de la séquence IMG_SEQ sont représentatives d'une scène optique comprenant un objet OBJ en mouvement. Selon un mode de réalisation, les images IMG_1, ..., IMG_N de la séquence IMG_SEQ sont consécutives dans le temps, c'est-à-dire que les instants d'acquisition respectifs des images IMG_1, ..., IMG_N de la séquence IMG_SEQ se suivent dans le temps. La première image IMG_1 correspond ainsi à l'image la plus ancienne, tandis que la dernière image IMG_N correspond à l'image la plus récente. Selon un mode de réalisation, le dispositif APP de classification et de localisation réalise une opération de recadrage des images IMG_1, ..., IMG_N de la séquence IMG_SEQ de telle sorte que l'objet OBJ soit centré dans la première image IMG_1. Les coordonnées de recadrage restent fixes pour toutes les images IMG_1, ..., IMG_N de la séquence IMG_SEQ. Comme le montre la figure 2, l'opération de recadrage permet de représenter de manière visuelle et de mettre en évidence une information de déplacement de l'objet OBJ au sein de la séquence d'images IMG_SEQ et au cours du temps.
[0092] Selon un mode de réalisation de l'invention, la séquence d'images IMG_SEQ comprend une pluralité d'images IMG_1, ..., IMG_N acquises par une pluralité de caméras CAM. Selon un mode de réalisation, la séquence d'images SEQ_IMG est représentative d'une scène optique comprenant une pluralité d'objets matériels OBJ. Par ailleurs, selon un mode de réalisation, la séquence d'images SEQ_IMG est représentative d'une pluralité de scènes optiques.
[0093] Selon le mode de réalisation décrit ci-dessus, le dispositif APP utilisent des images IMG_SEQ acquises par une pluralité de caméras CAM. Il convient alors de mentionner que, selon ce mode de réalisation, les champs de vision des différentes caméras CAM sont distincts. De la sorte, un objet OBJ d'intérêt présent dans le champ de vision d'une première caméra sera ensuite observé par une deuxième caméra lorsque l'objet OBJ sort du champ de vision de la première caméra. Par ailleurs, selon ce mode de réalisation, les différentes caméras CAM disposent d'optiques identiques. Ce mode de réalisation permet ainsi d'élargir le champ de vision du dispositif APP proposée et, ainsi, permet de classifier et de localiser des objets OBJ dans une zone géographique plus large.
[0094] En outre, selon une variante de l'invention, le dispositif APP met en oeuvre une classification et une localisation de plusieurs objets OBJ à partir d'une séquence IMG_SEQ, au moins une classe attribuée ATR_CLAS_OBJ aux objets OBJ et au moins une position estimée EST_POS_OBJ des objets OBJ étant fournies en sortie par le dispositif APP.
[0095] La figure 3 représente schématiquement un exemple d'architecture fonctionnelle d'un dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention.
[0096] Tel qu'illustré par la figure 3, le dispositif APP reçoit en entrée une séquence IMG_SEQ d'images IMG_1, IMG_N. Le dispositif APP détermine, à partir de la séquence IMG_SEQ, une classe attribuée ATR_CLAS_OBJ à l'objet et une position estimée EST_POS_OBJ de l'objet OBJ. Les sorties ATR_CLAS_OBJ, EST_POS_OBJ du dispositif APP sont déterminées par un module classificateur-localisateur X_NN sur la base de la séquence IMG_SEQ. La manière de configurer le module classificateur-localisateur X_NN (i.e. ses paramètres) pour obtenir une classification fiable et une localisation précise est décrite plus en détails ci-après et illustrée par la figure 5.
[0097] Selon un mode de réalisation, l'étape de détermination réalisée par le module classificateur-localisateur X_NN comprend les opérations suivantes. La séquence d'images IMG_SEQ est fournie en entrée d'un encodeur CNN permettant de produire en sortie des données encodées LS_DATA. Les données encodées LS_DATA sont d'une part fournies en entrée d'un classificateur CLA_NN et d'autre part d'un localisateur LOC_NN. Le classificateur CLA_NN produit en sortie une classe attribué ATR_CLA_OBJ à l'objet OBJ, tandis que le localisateur LOC_NN produit en sortie une position estimée EST_POS_OBJ. Les données encodées LS_DATA constituent ainsi une représentation intermédiaire multidimensionnelle de la séquence IMG_SEQ commune aux tâches de classification et de localisation.
[0098] Selon un mode de réalisation, le module classificateur-localisateur X_NN comprend une fonction paramétrée. Plus particulièrement, le module classificateur-localisateur X_NN comprend, selon une variante, un algorithme d'apprentissage automatique, tel qu'une machine à vecteur de support, un réseau bayésien, etc.
[0099] Selon une variante de réalisation de l'invention, le module classificateur-localisateur X_NN comprend (i.e. est mis en oeuvre par) un réseau de neurones. De manière générale, un réseau de neurones comprend une ou plusieurs couches de neurones artificiels connectés entre eux. Un neurone artificiel réalise les opérations suivantes. Un neurone prend en entrée une ou plusieurs valeurs et pondère ces entrées par des coefficients appelés poids. Le neurone combine les entrées pondérées ainsi qu'un biais, typiquement cette opération de combinaison est une somme, ou une norme. Cette combinaison est ensuite fournie en entrée d'une fonction d'activation. Des exemples de fonctions d'activation couramment utilisées sont les fonctions sigmoïde, ReLU (acronyme de l'expression anglo-saxonne « Rectified Linear Unit »), tangente hyperbolique. Finalement, la sortie du neurone artificiel est le résultat de la fonction d'activation. Dans le contexte d'un réseau de neurones, les paramètres d'un réseau de neurones comprennent un ensemble variés de paramètres, tels que les poids, les biais, et les fonctions d'activations utilisés pour les différents neurones du réseau X_NN. Ces paramètres permettent ainsi d'optimiser le réseau de neurones X_NN pour mettre en oeuvre une classification fiable et une localisation précise. Les types de réseaux de neurones capables de mettre en oeuvre un module classificateur-localisateur X_NN conforme à l'invention sont variés. Il convient notamment de citer, de manière non limitative, les perceptrons multicouches, les réseaux de neurones à convolution ou convolutifs, les réseaux de neurones récurrents, etc.
[0100] Tel qu'illustré par la figure 3, et selon un mode de réalisation de l'invention, le réseau de neurones X_NN comprend : un réseau de neurones convolutif CNN ; un réseau de neurones de classification CLA_NN ; et un réseau de neurones de localisation LOC_NN. Dans ce mode de réalisation particulier, l'encodeur comprend le réseau de neurones convolutif CNN tel que décrite ci-dessus permettant de déterminer des données encodées LS_DATA à partir de la séquence IMG_SEQ. Le classificateur comprend le réseau de neurones de classification CLA_NN et produit à partir des données encodées LS_DATA une classe attribuée ATR_CLAS_OBJ. Le localisateur comprend le réseau de neurones de localisation LOC_NN et permet d'estimer la position EST_POS_OBJ à partir des données encodées LS_DATA. Un exemple plus détaillé de mise en oeuvre du module classificateur-localisateur X_NN par un réseau de neurones est fourni ci-après et illustré par la figure 6.
[0101] Il est important de noter ici que, dans ce mode de réalisation, le réseau de neurones X_NN est déterminé de manière globale pour minimiser la fonction de perte multi-objectifs F_LOSS représentative à la fois d'un objectif de classification et d'un objectif de localisation. Les réseaux de neurones CNN, CLA_NN et LOC_NN sont ainsi conjointement déterminés pour minimiser la fonction de perte F_LOSS, et non de manière indépendante. Dans un mode de réalisation, il peut être considéré que les tâches de classification et de localisation mises en oeuvre par le module X_NN sont apprises en parallèle.
[0102] La figure 4 représente, sous forme d'ordinogramme, des étapes d'un procédé de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention.
[0103] Tel qu'illustré par la figure 4, et selon un mode de réalisation de l'invention, le procédé de classification et de localisation comprend les étapes suivantes et est mis en oeuvre par un dispositif APP. Dans la présente description, les signes de référence des étapes liées au procédé de classification et de localisation débutent par S2.
[0104] À l'étape S210, une séquence IMG_SEQ d'une ou plusieurs images IMG_1, ..., IMG_N acquises par au moins une caméra CAM est obtenue par le dispositif APP. [0105] À l'étape S220, le dispositif APP fournit la séquence d'images IMG_SEQ obtenue en entrée d'un module classificateur-localisateur X_NN qui détermine ainsi :
• au moins une classe attribuée ATR_CLAS_OBJ audit au moins un objet OBJ, ladite au moins classe attribuée ATR_CLAS_OBJ étant sélectionnée parmi une liste de classes attribuables ; et
• au moins une position estimée EST_POS_OBJ dudit au moins un objet OBJ.
[0106] Le module classificateur-localisateur X_NN est configuré à partir de séquences d'images de référence pour minimiser une fonction de perte multi-objectifs représentative à la fois d'un objectif de classification et d'un objectif de localisation d'objets dans les séquences de référence.
[0107] Tel qu'illustré par la figure 4, et selon un mode de réalisation particulier, l'étape S210 d'obtention du procédé décrit ci-dessus comprend au moins une des sous-étapes suivantes.
[0108] À la sous-étape S211, le dispositif APP réalise une acquisition par au moins une caméra desdites une ou plusieurs images IMG_1, ..., IMG_N de la séquence IMG_SEQ. Par exemple, le dispositif APP commande une caméra CAM pour acquérir les images IMG_1, ..., IMG_N de la séquence IMG_SEQ. En particulier, les images IMG_1, ..., IMG_N de la séquence IMG_SEQ peuvent être acquises par une caméra CAM avec un pas de temps fixe entre les différents instants d'acquisition.
[0109] À la sous-étape S212, les images IMG_1, ..., IMG_N sont recadrées par le dispositif APP pour centrer un objet OBJ dans une image déterminée IMG_1 de la séquence IMG_SEQ. Selon un mode de réalisation, et tel qu'illustré par la figure 2, l'objet OBJ est centré sur la première image IMG_1 de la séquence IMG_SEQ. Dans ce mode de réalisation, les images IMG_1, ..., IMG_N de la séquence IMG_SEQ sont consécutives dans le temps. Les instants d'acquisition respectifs des images IMG_1, ..., IMG_N se suivent dans le temps. En outre, les coordonnées du recadrage restent fixes pour toutes les images IMG_1, ..., IMG_N de la séquence IMG_SEQ, ce qui permet de représenter le déplacement de l'objet OBJ durant la séquence. L'opération de recadrage permet de réduire la taille des images traitées et ainsi de réduire la complexité de mise en oeuvre du procédé, tout en conservant l'information liée au déplacement de l'objet OBJ au sein de la séquence d'images IMG_SEQ.
[0110] Tel qu'illustré par la figure 4, et selon un mode de réalisation particulier, l'étape S220 de détermination du procédé décrit ci-dessus comprend les sous-étapes suivantes.
[0111] À l'étape S221, le dispositif APP détermine des données encodées LS_DATA. Les données encodées LS_DATA sont produites par l'encodeur CNN prenant en entrée la séquence d'images IMG_SEQ. [0112] À l'étape S222, le dispositif APP fournit en entrée d'un classificateur CLA_NN les données encodées LS_DATA qui produit en sortie ladite au moins une classe ATR_CLAS_OBJ.
[0113] À l'étape S223, ladite au moins une position estimée EST_POS_OBJ est produite par un localisateur LOC_NN du dispositif APP prenant en entrée les données encodées LS_DATA.
[0114] Il convient de noter que l'ordre des étapes S222 et S223 décrit ici est nullement limitatif. Les étapes S222 et S223 peuvent être réalisées simultanément (i.e. en parallèle), l'une avant l'autre ou inversement. Les données encodées LS_DATA permettent d'obtenir une représentation intermédiaire multidimensionnelle commune aux deux tâches de classification et de localisation et représentative de caractéristiques spatio-temporelles de l'objet OBJ dans la séquence d'images IMG_SEQ.
[0115] La figure 5 représente, sous forme d'ordinogramme, des étapes d'un procédé de configuration d'un module classificateur-localisateur pour mettre en oeuvre une classification et une localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention.
[0116] Tel qu'illustré par la figure 5, et selon un mode de réalisation de l'invention, le procédé de de configuration proposé comprend les étapes suivantes. Dans la présente description, les signes de référence des étapes liées au procédé de configuration débutent par SI.
[0117] À l'étape S120, le module classificateur-localisateur X_NN permettant de mettre en oeuvre la classification et la localisation d'objets OBJ dans des séquences d'images IMG_SEQ est initialisé (e.g. ses paramètres). Dans le mode de réalisation où le module classificateur- localisateur X_NN comprend un réseau de neurones, les poids du réseau de neurones sont, par exemple, initialisés de manière aléatoire.
[0118] À l'étape S130, une séquence d'images de référence TR_DATA est fournie en entrée du module classificateur-localisateur X_NN pour déterminer : une classe attribuée ATR_CLAS_OBJ à l'objet OBJ parmi une liste de classes attribuables ; et au moins une position estimée EST_POS_OBJ de l'objet OBJ. Selon une variante de réalisation, l'étape S130 comprend des sous-étapes analogues aux étapes S221, S222 et S223 décrites ci-dessus. Selon un mode de réalisation particulier, le module classificateur-localisateur X_NN produit, pour une séquence d'images de référence TR_DATA en entrée, un ensemble de valeurs PP_CLAS_1, ..., PP_CLAS_M et un ensemble de positions estimées EST_POS_OBJ_1, ..., EST_POS_OBJ_N. Pour chaque image IMG_1, le module classificateur-localisateur X_NN fournit une position estimée EST_POS_OBJ_1 de l'objet OBJ sur l'image IMG_1 ; et pour chaque classe de la liste des classes attribuables, le module classificateur-localisateur X_NN fournit en sortie une valeur PP_CLAS_1 représentative d'une probabilité d'appartenance de l'objet OBJ à cette classe. [0119] Selon un mode de réalisation de l'invention, plusieurs séquences d'images de référence TR_DATA sont utilisées lors des étapes S130 et S140. En outre, une séquence d'image de référence TR_DATA peut comprendre plusieurs objets matériels OBJ.
[0120] À l'étape S140, une fonction de perte F_LOSS est évaluée à partir des entrées suivantes : ladite au moins une classe attribuée ATR_CLAS_OBJ ; ladite au moins une position estimée EST_POS_OBJ ; au moins une classe connue d'un objet dans la séquence de référence TR_DATA ; et au moins une position connue d'un objet dans la séquence de référence TR_DATA. La fonction de perte F_LOSS multi-objectifs est représentative à la fois d'un objectif de classification et d'un objectif de localisation. Dans ce mode de réalisation, il convient de noter que des données de référence TR_DATA sont utilisées pour configurer le module classificateur-localisateur de telle sorte que la fonction de perte F_LOSS soit minimisée.
[0121] À l'étape S150, le module classificateur-localisateur X_NN est reconfiguré (e.g. ses paramètres) pour minimiser la fonction de perte F_LOSS. Le résultat de l'évaluation réalisée à l'étape S140 est, selon une variante de l'invention, utilisé pour reconfigurer le module classificateur-localisateur X_NN. Selon un mode de réalisation, cette étape consiste à déterminer la valeur de paramètres du module classificateur-localisateur X_NN pour minimiser la fonction de perte F_LOSS.
[0122] Selon un mode de réalisation, le procédé de détermination comprend plusieurs itérations des étapes S130, S140, et S150, ce qui permet de minimiser la fonction de perte F_LOSS au fur et à mesure des itérations, et ainsi d'améliorer les performances du module classificateur- localisateur X_NN. Typiquement, plus le nombre d'itérations est important, plus la fonction de perte F_LOSS sera minimisée. Par exemple, le nombre d'itérations réalisées par le procédé peut être déterminé de la manière suivante. Si lors d'une itération, l'évaluation de la fonction de perte à l'étape S140 produit un résultat inférieur à un certain seuil, alors aucune itération supplémentaire ne sera réalisée. De manière différente, le procédé de configuration du module classificateur-localisateur X_NN peut également réaliser lesdites itérations jusqu'à ce que la variation de la fonction de perte entre deux itérations soit inférieure à un seuil, i.e. la différence entre deux résultats consécutifs de la fonction de perte soit inférieure au seuil.
[0123] Tel qu'illustré par la figure 5, et selon un mode de réalisation particulier, le procédé de configuration proposé décrit ci-dessus comprend l'étape suivante.
[0124] À l'étape SI 10, des données de référence TR_DATA sont obtenues. Plus particulièrement, les données de référence TR_DATA comprennent : une ou plusieurs séquences d'images de référence ; une ou plusieurs classes connues associées à des objets OBJ des séquences de référence ; une ou plusieurs positions connues associées à des objets OBJ des séquences de référence. [0125] Selon un mode de réalisation particulier, l'étape SI 10 d'obtention de données de référence comprend au moins une des sous-étapes suivantes, comme le montre la figure 5.
[0126] À la sous-étape SI 11, une ou plusieurs séquences d'images de référence TR_DATA_ACQ sont acquises par au moins une caméra CAM. L'étape SI 11 comprend en outre, selon une variante, la détermination d'une ou plusieurs classes et positions connues associées à un ou plusieurs objets OBJ des séquences de référence acquises TR_DATA_ACQ.
[0127] A la sous-étape SI 12, et selon une variante de l'invention, une ou plusieurs séquences d'images TR_DATA_SYN synthétisées par ordinateur sont obtenues. Par exemple, les séquences de référence synthétisées TR_DATA_SYN peuvent être le résultat de simulations. Dans ce mode de réalisation, l'outil de simulation peut produire en plus des séquences d'images de référence synthétisées TR_DAT_SYN, les classes connues et les positions connues associées aux objets de ces séquences de référence.
[0128] Tel qu'illustré par la figure 5, et selon un mode de réalisation particulier, l'étape S140 d'évaluation de la fonction de perte multi-objectifs F_LOSS du procédé décrit ci-dessus comprend les sous-étapes suivantes.
[0129] À l'étape S141, une fonction de perte de classification F_LOSS_CLA est évaluée en prenant pour entrées ladite au moins une classe attribuée ATR_CLAS_OBJ et au moins une classe connue TR_DATA associée audit au moins un objet de la séquence d'images de référence TR_DATA. Cette étape permet entre autres d'évaluer la fiabilité des classifications réalisées par le module classificateur-localisateur X_NN.
[0130] À l'étape S142, une fonction de perte de localisation F_LOSS_LOC est évaluée en prenant pour entrées ladite au moins une position estimée EST_POS_OBJ et au moins une position connue TR_DATA associée audit au moins un objet de la séquence d'images de référence TR_DATA. L'étape S142 permet ainsi d'évaluer la précision des localisations réalisées par le module classificateur-localisateur X_NN.
[0131] L'ordre des sous-étapes S141 et S142 décrit ici n'est nullement limitatif, ces deux étapes pouvant être réalisées simultanément, l'une après l'autre ou inversement.
[0132] À la sous-étape S143, la fonction de perte multi-objectifs F_LOSS est évaluée à partir du résultat de la fonction de perte de classification F_LOSS_CLA obtenu à la sous-étape S141 et du résultat de la fonction de perte de localisation F_LOSS_LOC obtenu à la sous-étape S142.
[0133] Selon une variante de l'invention, la fonction de perte de classification F_LOSS_CLA est une fonction d'entropie croisée, ou « cross-entropy » en anglais. Notons Cr la classe connue TR_DATA associée à l'objet OBJ et po l'ensemble de valeurs PP_CLAS_I, ..., PP_CLAS_M produites par le module classificateur-localisateur X_NN et représentatives de probabilités d'appartenance de l'objet OBJ à chacune des classes de la liste. La fonction de perte de classification F_LOSS_CLA, notée ici LEC, est alors définie par :
[Math 1]
[0134] où δ( Ci, Cr) est un indicateur binaire égal à 0 si la classe Ci est différente de la classe Cr et égal à 1 sinon, et Po,i est la valeur PP_CLAS_I représentative d'une probabilité d'appartenance de l'objet OBJ à la classe d'indice i dans la liste.
[0135] Selon un mode de réalisation, le résultat de la fonction de perte de localisation F_LOSS_LOC est déterminé à partir de l'erreur entre les positions estimées EST_POS_OBJ_1, ..., EST_POS_OBJ_N de l'objet OBJ et les positions connues de la séquence de référence TR_DATA. En particulier, l'erreur de localisation est prise en compte seulement pour les images dans lesquelles l'objet OBJ est présent. Une partie des images de la séquence peuvent ne pas comprendre l'objet, celui-ci étant sorti du cadre. Dans ce mode de réalisation, la fonction de perte de localisation F_LOSS_LOC est définie de la manière suivante. Notons Pr l'ensemble des positions connues de l'objet OBJ pour la séquence de référence TR_DATA, et Po est l'ensemble des positions estimées EST_POS_1, ..., EST_POS_OBJ_N de l'objet OBJ par le module classificateur-localisateur X_NN pour chacune des images IMG_1, ..., IMG_N de la séquence de référence TR_DATA. Pour indiquer la présence de l'objet OBJ dans la séquence de référence, le vecteur de présence I = (I1, ... ,IN) est utilisé. Si l'image d'indice i comprend l'objet OBJ, alors la valeur de la composante Ii est égale à 1 ; et si cette image ne comprend pas l'objet OBJ (e.g. celui étant hors du cadre), alors la composante li est égale à 0. La fonction de perte de localisation F_LOSS_LOC, notée ici LIMSE, est alors définie par :
[Math 2]
[0136] est la norme L1 du vecteur I, est un indicateur binaire égal à 1 si l'objet est présent dans l'image d'indice i dans la séquence et égale à 0 sinon, Po,i est la position estimée par le module classificateur-localisateur X_NN pour l'image d'indice i dans la liste, et Pr,i est la position connue pour l'image d'indice i dans la séquence. Il peut être remarqué que dans ce mode de réalisation la fonction de perte de localisation F_LOSS_LOC est exprimée à partir d'erreurs quadratiques. Ainsi, la fonction de perte de localisation F_LOSS_LOC proposée est une extension d'une fonction de perte de type erreur-quadratique moyenne, ou « mean squared error » en anglais. [0137] L'expression de la fonction de perte de localisation F_LOSS_LOC décrite ci-dessus est définie pour des positions de l'objet OBJ d'une dimension, par exemple une distance entre l'objet OBJ et la caméra CAM réalisant l'acquisition des images IMG_1, IMG_N. Toutefois, cette expression ne constitue qu'une variante de réalisation. Une telle expression de la fonction de perte de localisation F_LOSS_LOC peut aisément être étendue pour des positions comprenant plusieurs coordonnées, notamment en utilisant l'erreur quadratique entre la position estimée et la position connue sur chacune composantes associées aux dimensions.
[0138] Selon un mode de réalisation, la position estimée d'un objet comprend une distance entre une position d'observateur et l'objet. Selon ce mode de réalisation, le module classificateur- localisateur est configuré pour minimiser la fonction de perte multi-objectifs représentative de l'objectif de classification et de l'objectif de localisation d'objets dans la séquence de référence, l'objectif de localisation d'un objet comprenant un objectif de détermination d'une distance entre une position d'observateur et ledit objet.
[0139] La fonction de perte multi-objectifs F_LOSS à minimiser est, selon une variante de réalisation, une somme pondérée de la fonction de perte de classification F_LOSS_CLA et de la fonction de perte de localisation F_LOSS_LOC. Les coefficients de pondération de cette somme sont non-nuls, une condition nécessaire pour que la fonction de perte multi-objectifs F_LOSS soit représentative à la fois d'un objectif de classification et d'un objectif de localisation. En particulier, la fonction de perte F_LOSS, notée ici L, est exprimée par :
[Math 3]
[0140] où α et β sont les coefficients de pondération non-nuls positifs, À titre d'exemple, la valeur de α est égale à 1 et la valeur de β à 10-3.
[0141] Tel qu'illustré par la figure 5, et selon un mode de réalisation particulier, l'étape S150 de de mise à jour du procédé décrit ci-dessus comprend la sous-étape suivante.
[0142] À la sous-étape S151, le module classificateur-localisateur X_NN est en utilisant un algorithme de descente de gradient sur la base du résultat de obtenu à l'étape S140 de la fonction de perte F_LOSS. Dans le mode de réalisation où le module classificateur-localisateur comprend un réseau de neurones, la rétro-propagation de gradient est utilisée pour mettre à jour les paramètres du réseau, et en particulier, pour déterminer les poids de celui-ci.
[0143] . Selon un mode de réalisation, un algorithme de descente de gradient est utilisé pour configurer le module classificateur-localisateur X_NN. Dans ce mode de réalisation, l'étape de reconfiguration consiste à mettre à jour les paramètres du module classificateur-localisateur X_NN. Pour ce faire, le gradient de la fonction de perte F_LOSS est évalué. Ensuite, les paramètres du module X_NN sont mis à jour en utilisant le gradient évalué. En particulier, dans le cas d'un algorithme à descente de gradient, les paramètres sont mis à jour en y soustrayant la valeur du gradient évalué multipliée par un coefficient réel positif. Ainsi, un algorithme à descente de gradient vise à minimiser la fonction de perte.
[0144] Selon un mode de réalisation, le module classificateur-localisateur X_NN comprend un réseau de neurones et une méthode de rétro-propagation de gradient est utilisée pour mettre à jour le réseau de neurones. Dans ce mode de réalisation, l'étape de reconfiguration S151 du réseau X_NN consiste à déterminer les valeurs des poids utilisés par les neurones artificiels du réseau X_NN. La méthode de rétro-propagation de gradient utilise le résultat de la fonction de perte F_LOSS pour mettre à jour les poids du réseau X_NN. En particulier, la méthode par rétro-propagation de gradient consiste : à propager le résultat de la fonction de perte à travers les différentes couches du réseau de neurones, de la couche de sortie vers la couche d'entrée ; et à mettre à jour les poids de chaque couche à partir desdits résultats propagées.
[0145] Dans le mode de réalisation précédemment décrit où le module classificateur-localisateur X_NN comprend un encodeur CNN, un classificateur CLA_NN et un localisateur LOC_NN, il est important de noter que les éléments CNN, CLA_NN et LOC_NN du module X_NN sont conjointement déterminées. En effet, la reconfiguration du module classificateur-localisateur X_NN est réalisée à partir du résultat de la fonction de perte multi-objectifs F_LOSS, et non à partir des résultats de la fonction de perte de classification F_LOSS_CLA et de la fonction de perte de localisation F_LOSS_LOC. En d'autres termes, le classificateur CLA_NN et le localisateur LOC_NN sont configurés en parallèle (i.e. conjointement) en vue d'optimiser un objectif commun de classification fiable et de localisation précise, et non chacune de manière indépendante pour optimiser leur objectif respectif.
[0146] La figure 6 représente schématiquement un exemple d'architecture fonctionnelle d'un dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention.
[0147] Tel qu'illustré par la figure 6 et précédemment mentionné, le dispositif APP de classification et de localisation comprend un module classificateur-localisateur X_NN pour déterminer, à partir d'une séquence d'images IMG_SEQ, au moins une classe attribuée ATR_CLAS_OBJ audit au moins un objet OBJ de la séquence IMG_SEQ et au moins une position estimée EST_POS_OBJ dudit au moins un objet OBJ.
[0148] Dans le mode de réalisation particulier illustré par la figure 6, le module classificateur- localisateur X_NN produit en sortie une position estimée EST_POS_OBJ_1, ..., EST_POS_OBJ_N de l'objet OBJ pour chacune des images IMG_1, ..., IMG_N de la séquence IMG_SEQ. Par exemple, la position estimée EST_POS_OBJ de l'objet OBJ par le module classificateur-localisateur X_NN est la moyenne de ces positions estimées EST_POS_OBJ_1, ..., EST_POS_OBJ_N, ou la position la plus proche, ou encore la position la plus éloignée. En outre, le module classificateur-localisateur X_NN produit, en complément de la classe attribuée ATR_CLAS_OBJ à l'objet OBJ, un ensemble de valeurs PP_CLAS_1, ..., PP_CLAS_M. Chacune des valeurs PP_CLAS_1, ..., PP_CLAS_M est représentative d'une probabilité d'appartenance de l'objet OBJ à une classe de la liste des classes attribuables. En d'autres termes, pour chaque classe de la liste, le module classificateur-localisateur X_NN fournit une valeur PP_CLAS_1 caractérisant la probabilité que l'objet OBJ appartienne à cette classe. À titre illustratif et non limitatif, le module classificateur-localisateur X_NN attribue à l'objet OBJ de la séquence IMG_SEQ la classe dont la valeur PP_CLAS_1 est la plus élevée.
[0149] Selon un mode de réalisation de l'invention, décrit ci-dessus et illustré par la figure 3, le module classificateur-localisateur X_NN comprend : un encodeur CNN fournissant en sortie des données encodées LS_DATA à partir de la séquence IMG_SEQ ; un classificateur CLA_NN dont la sortie est au moins une classe attribué ATR_CLA_OBJ à l'objet OBJ et est déterminée à partir des données encodées LS_DATA ; et un localisateur LOC_NN pour déterminer une position estimée EST_POS_OBJ de l'objet sur la base des données encodées LS_DATA. La figure 6 illustre un mode de réalisation particulier de l'invention dans lequel l'encodeur CNN, le classificateur CLA_NN et le localisateur LOC_NN sont respectivement mis en oeuvre par un réseau de neurones.
[0150] Dans le mode de réalisation décrit ici, l'encodeur CNN est implémenté en utilisant un réseau de neurones convolutif. En particulier, le réseau de neurones convolutif est structuré de la manière suivante. Le réseau de neurones convolutif CNN, comme le montre la figure 6, comprend : une ou plusieurs couches de convolution CNN_CONV_L1, CNN_CONV_L2 ; une plusieurs couches de sous-échantillonnage CNN_POOL_L1, CNN_POOL_L2, couches dites de « pooling » ; et au moins une couche entièrement connectée CNN_FC_L, les noeuds de cette couche étant tous connectés aux noeuds de la couche suivante. Bien évidemment, le réseau CNN comprend, selon d'autres variantes de l'invention, d'autres couches de neurones, aucune limitation n'étant attachée à la nature de ces dernières.
[0151] La fonction d'une couche de convolution est de réaliser des opérations de convolution entre les données d'entrées de la couche et des filtres, filtres couramment appelés noyaux (ou avec l'expression anglo-saxonne « kernels »). Dans la présente description, et par simplification, le terme « convolution » est utilisé pour faire référence à un produit de convolution, l'opération mathématique généralement notée *. Dans le cas de données discrètes à deux dimensions, la convolution d'une image I et d'un filtre F est définie par Prenons l'exemple d'une image I fournie en entrée et d'une couche de convolution utilisant deux filtres F1 et F2, les convolutions I * F1 et I * F2 sont évaluées pour obtenir deux images intermédiaires. Ces images intermédiaires produites en sortie d'une couche de convolution sont couramment dénommées avec l'expression anglo- saxonne « feature maps ». Ainsi, les paramètres d'une couche de convolution sont entre autres les suivants : le nombre et la taille des filtres, le pas de contrôle et la marge utilisés par la couche de convolution (ces deux derniers paramètres sont plus couramment dénommés avec les expressions anglo-saxonnes « stride » et « padding »). Dans le cadre d'une opération de convolution ou de pooling, le pas de contrôle et la marge font respectivement référence au nombre de pixels par lesquels le filtre se déplace à chaque décalage et à une technique consistant à ajouter des pixels en bordure de l'image fournie en entrée (e.g. zero-padding). Ainsi, en réalisant des convolutions, une couche de convolution permet d'extraire des caractéristiques spatio-temporelles d'images fournies en entrée. En l'espèce, dans un but de classification et de localisation d'un objet OBJ dans une séquence d'images IMG_SEQ, les couches de convolutions permettent de mettre en évidence dans la séquence d'images IMG_SEQ des informations sur l'objet OBJ telles que des informations de taille, de forme, de vitesse, de déplacement, etc.
[0152] Selon un mode de réalisation particulier de l'invention, les couches de convolution CNN_CONV_L1, CNN_CONV_L2 du réseau de neurones d'encodage CNN réalisent des convolutions entre la séquence IMG_SEQ et des filtres dans le domaine spatiale et dans le domaine temporel. Réaliser des convolutions selon les trois dimensions de la séquence d'images IMG_SEQ, deux dimensions pour le domaine spatial des images et une dimension pour le domaine temporel de la séquence, permet d'extraire des caractéristiques spatio- temporelles de la séquence d'images IMG_SEQ. Plus particulièrement, selon une variante de l'invention, les couches de convolutions réalises des convolutions dites « pseudo-convolutions 3D », les détails de mises en oeuvre des pseudo-convolutions 3D sont par exemple explicités dans le document suivant : Zhaofan Qiu, et al., « Learning spatio-temporal representation with pseudo-3d residual networks », in proceedings of the IEEE International Conference on Computer Vision, pages 5533-5541, 2017. Exploiter des pseudo-convolution 3D permet d'extraire des caractéristiques spatio-temporelles de la séquence d'images IMG_SEQ, tout en réduisant la complexité du réseau, en comparaison à des convolutions classiques en trois dimensions.
[0153] Une couche de pooling, également dénommée couche de mise en commun, permet de réaliser un sous-échantillonnage des données fournies en entrée de la couche. Prenons pour exemple le cas d'une image, l'image fournie en entrée est partitionnée en une pluralité de rectangles de pixels, ces rectangles étant en général appelés tuiles, et une valeur de sortie est produite par tuile. Avec des tuiles de taille 2 x 2 pixels, la couche de pooling permet une compression par un facteur 4 des données d'entrées. À titre illustratif, la valeur de sortie pour une tuile est la valeur maximale des données de la tuile, une telle couche de pooling est communément appelée « Max-Pool 2x2 ». Selon un exemple différent, la valeur de sortie associée à une tuile est la valeur minimum des données d'entrée de la tuile ; dans ce cas, l'expression « Min-Pool 2x2 » est employée. Ainsi, une couche de pooling permet de réduire la taille des données traitées par la couche suivante du réseau de neurones et ainsi de réduire la complexité de ce dernier.
[0154] Selon un mode de réalisation, le réseau convolutif CNN comprend une ou plusieurs successions d'une couche de convolution et d'une couche de pooling. Selon le mode de réalisation particulier illustré par la figure 6, le réseau CNN comprend deux dites successions et une couche entièrement connectée, i.e. CNN : CNN_CONV_L1 > CNN_POOL_L1 > CNN_CONV_L2 > CNN_POOL_L2 > CNN_FC_L. Selon cette variante, les images IMG_1, ..., IMG_N de la séquence IMG_SEQ sont fournies en entrée de la première couche de convolution CNN_CONV_L1, et les données encodées LS_DATA sont produites en sortie de la couche entièrement connectée CNN_FC_L. Selon une variante de réalisation, le réseau CNN comprend également des couches de neurones, dites de correction, intercalées entre les couches de convolution et de pooling susmentionnées. Ces couches de correction appliquent une fonction d'activation à tous les pixels des images intermédiaires, ce qui permet d'introduire des complexités non-linéaires et ainsi d'améliorer le traitement réalisé par le réseau CNN. En comparaison à un réseau de neurones de type perceptron multicouche entièrement connecté, un réseau de neurones convolutif permet une mise en oeuvre efficace d'extraction de caractéristiques des données d'entrée. En effet, les successions de couches de convolution et de pooling présentent une complexité et une connectivité minimes, et ainsi une mise en oeuvre pratique simplifiée avec de meilleures performances. En outre, les perceptrons multicouches entièrement connectés utilisés pour mettre en oeuvre de tels extractions de caractéristiques sont prompts aux problèmes de surentrainements.
[0155] Selon un mode de réalisation, le réseau de neurones convolutif CNN est mis en oeuvre en utilisant un réseau de neurones de type ResNet ou une de ses variantes. La mise en oeuvre d'un tel réseau est par exemple détaillée dans le document mentionné ci-dessus de Zhaofan Qiu, et al.
[0156] Selon un mode de réalisation de l'invention, le réseau de neurones de localisation LOC_NN comprend une ou plusieurs couches de neurones. À titre d'exemple, le réseau LOC_NN est un perceptron multicouche. Tel qu'illustré par la figure 6, et selon une variante de l'invention, le réseau de neurones de localisation LOC_NN est un perceptron comprenant une couche entièrement connectée LOC_FC_L dont les entrées sont les données encodées LS_DATA et les sorties sont un ensemble de positions estimées EST_POS_OBJ_1, ..., EST_POS_OBJ_N. Chacune des positions estimées EST_POS_OBJ_1 correspond à une estimation de la position POSJDBJ de l'objet OBJ pour une image IMG_1 de la séquence IMG_SEQ. Selon un mode de réalisation, une position estimée agrégée EST_POS_OBJ de l'objet OBJ est évaluée sur la base des positions estimées EST_POS_OBJ_1, ..., EST_POS_OBJ_N, par exemple en prenant la moyenne, la médiane, le minimum ou le maximum de ces dernières. À titre d'exemple, considérons un mode de réalisation où le réseau de neurones de localisation LOC_NN produit une estimation de position pour chacune des images de la séquence IMG_SEQ, et où une position estimée EST_POS_OBJ_1 est une estimation d'une distance DISTJDBJ entre un objet OBJ et une caméra CAM. Dans ce mode de réalisation, et pour une séquence IMG_SEQ de N images, le réseau de neurones de localisation LOC_NN comprend une couche de sortie avec N neurones, chacun d'entre eux produisant une valeur d'estimation EST_POS_OBJ_1 de la distance DISTJDBJ associée à une image IMG_1.
[0157] Selon un mode de réalisation de l'invention, le réseau de neurones de classification CLA_NN est un réseau de neurones de type « classifieur ». Le réseau CLA_NN comprend une ou plusieurs couches de neurones. À titre d'exemple, le réseau CLA_NN est un perceptron multicouche. Tel qu'illustré par la figure 6, et selon une variante de l'invention, le réseau de neurones de classification CLA_NN est un perceptron comprenant une couche entièrement connectée CLA_FC_L dont les entrées sont les données encodées LS_DATA et les sorties sont un ensemble de valeurs PP_CLAS_1, ..., PP_CLAS_M. Ces valeurs sont représentatives d'une probabilité d'appartenance de l'objet OBJ aux classes de la liste de classes attribuables. Selon un mode de réalisation, la classe attribuée ATR_CLAS_OBJ à l'objet est la classe de la liste dont la valeur PP_CLAS_1 est la plus élevée. Selon une variante de réalisation, le réseau CLA_NN comprend une couche de type « Softmax » pour déterminer à partir des sorties de la couche CLA_FC_L l'ensemble de valeurs PP_CLAS_1, ..., PP_CLAS_M ; l'utilisation d'une couche Softmax permet de normaliser les valeurs de sorties, de telle sorte que celles-ci soient comprises entre 0 et 1 et ainsi représentatives de probabilités. Plus particulièrement, pour des entrées x = (x1 , ... , xK), les sorties de la couche Softmax y = (y1 ...,yK) sont exprimées par :
[0158] À titre d'exemple, considérons un mode de réalisation où le réseau de neurones de classification CLA_NN produit l'ensemble de valeurs PP_CLAS_1, ..., PP_CLAS_M. Dans ce mode de réalisation, et pour une liste de M classes attribuables, le réseau CLA_NN comprend une couche de sortie avec M neurones, chacun d'entre eux produisant une valeur PP_CLAS_1 représentative de la probabilité d'appartenance de l'objet OBJ à une classe. En combinaison avec l'exemple décrit ci-dessus d'un réseau LOC_NN avec N neurones en sorties, le réseau de neurones X_NN comprend alors une couche de sortie avec M+N neurones.
[0159] La figure 7 représente schématiquement un exemple d'architecture logicielle et matérielle d'un système de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention.
[0160] Tel qu'illustré par la figure 7, le système SYS comprend un dispositif APP et une caméra CAM. Le dispositif APP de classification et de localisation comprend notamment : une unité de traitement ou processeur PROC ; et une mémoire MEM. Bien entendu, le dispositif APP comprend des interfaces et un module de communication pour échanger des données avec la caméra CAM. Le dispositif APP dispose de l'architecture matérielle d'un ordinateur, et comporte, à ce titre, un processeur PROC, une mémoire vive, une mémoire morte MEM, et une mémoire non volatile.
[0161] Dans le mode de réalisation décrit ici, la mémoire MEM associée au dispositif constitue un support d'informations ou d'enregistrement conforme à l'invention, lisible par ordinateur et par le processeur PROC et sur lequel est enregistré un programme d'ordinateur conforme à l'invention. Le programme d'ordinateur comporte des instructions pour la mise en oeuvre des étapes d'un procédé selon l'invention, lorsque le programme d'ordinateur est exécuté par le processeur PROC. Le programme d'ordinateur définit les modules fonctionnels représentés par la figure 8 du dispositif APP, qui s'appuient ou commandent les éléments matériels de cette dernière.
[0162] À titre indication, le système SYS est embarqué dans un véhicule, par exemple dans un véhicule terrestre : voiture, camion, train, etc., ou dans un véhicule marin : bateau, frégate, ou encore dans un véhicule aérien : un aéronef, un hélicoptère, un avion, un drone, etc. En particulier, le système SYS est selon une variante de réalisation embarqué dans un véhicule dit autonome, tel qu'une voiture autonome ou un drone. Selon un mode de réalisation de l'invention, le système SYS constitue un système de surveillance ou un système de navigation.
[0163] La figure 8 représente schématiquement un exemple d'architecture fonctionnelle d'un dispositif de classification et de localisation d'au moins un objet dans une séquence d'images selon un mode de réalisation de l'invention.
[0164] Tel qu'illustré par la figure 8, et selon un mode de réalisation, le système SYS comprend un dispositif APP de classification et de localisation d'au moins un objet OBJ dans une séquence d'images IMG_SEQ et au moins une caméra CAM. Ladite au moins une caméra CAM est configurée pour acquérir lesdites une ou plusieurs images IMG_1, ..., IMG_N de la séquence IMG_SEQ. En particulier, le système SYS comprend, selon une variante, une seule caméra CAM. Le dispositif APP comprend les modules décrit ci-après.
[0165] Le terme module peut correspondre aussi bien à un composant logiciel qu'à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d'ordinateur ou de manière plus générale à tout élément d'un programme apte à mettre en oeuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.). [0166] Tel qu'illustré par la figure 8, selon un mode de réalisation particulier de l'invention, le dispositif APP de classification et de localisation d'au moins un objet OBJ dans une séquence d'images IMG_SEQ comprend :
• un module d'obtention MODJDBT pour obtenir une séquence IMG_SEQ d'une ou plusieurs images IMG_1, IMG_N acquises par au moins une caméra CAM; et
• un module classificateur-localisateur X_NN pour déterminer à partir de la séquence d'images IMG_SEQ : o au moins une classe attribuée ATR_CLAS_OBJ audit au moins un objet OBJ, ladite au moins classe attribuée ATR_CLAS_OBJ étant sélectionné parmi une liste de classes ; et o au moins une position estimée EST_POS_OBJ dudit au moins un objet OBJ ; le module étant configuré à partir d'une séquence d'images de référence pour minimiser une fonction de perte multi-objectifs F_LOSS représentative à la fois d'un objectif de classification et d'un objectif de localisation d'objets dans les séquences d'images de référence TR_DATA.
[0167] Tel qu'illustré par la figure 8, et selon un mode de réalisation particulier de l'invention, le module classificateur-localisateur X_NN comprend :
• un module encodeur CNN pour déterminer des données encodées LS_DATA à partir de la séquence d'images IMG_SEQ ;
• un module classificateur CLA_NN pour déterminer ladite au moins une classe attribuée ATR_CLAS_OBJ à partir des données encodées LS_DATA ; et
• un module localisateur LOC_NN pour déterminer ladite au moins une position estimée EST_POS_OBJ à partir des données encodées LS_DATA.
[0168] Tel qu'illustré par la figure 8, et selon un mode de réalisation particulier de l'invention, le module d'obtention MODJDBT comprend :
• un module d'acquisition MOD_ACQ pour commander la caméra CAM et acquérir lesdites une ou plusieurs images IMG_1, ..., IMG_N de la séquence IMG_SEQ ;
• un module de recadrage MOD_CRP pour recadrer lesdites une ou plusieurs images IMG_1, ..., IMG_N de la séquence IMG_SEQ pour centrer l'objet OBJ dans une image déterminée IMG_1 de la séquence IMG_SEQ. Typiquement, l'objet OBJ est centré sur la première image IMG_1 de la séquence IMG_SEQ recadrée.
[0169] Il est à noter que l'ordre dans lequel s'enchaînent les étapes d'un procédé tel que décrit précédemment, notamment en référence aux dessins ci-joints, ne constitue qu'un exemple de réalisation dépourvu de tout caractère limitatif, des variantes étant possibles. Par ailleurs, les signes de référence ne sont pas limitatifs de l'étendue de la protection, leur unique fonction étant de facilité la compréhension des revendications.
[0170] Un homme du métier comprendra que les modes de réalisation et variantes décrits ci- dessus ne constituent que des exemples non limitatifs de mise en oeuvre de l'invention. En particulier, l'homme du métier pourra envisager une quelconque adaptation ou combinaison des modes de réalisation et variantes décrits ci-dessus afin de répondre à un besoin bien particulier.

Claims

Revendications
[Revendication 1] Procédé (S200) de classification et de localisation d'au moins un objet (OBJ) dans une séquence d'images (IMG_SEQ), ledit procédé comprenant des étapes de :
• obtention (S210) d'une séquence (IMG_SEQ) d'une ou plusieurs images (IMG_1, IMG_N) acquises par au moins une caméra (CAM) ; et
• détermination (S220) par un module classificateur-localisateur (X_NN) à partir de la séquence d'images obtenue (IMG_SEQ) de : o au moins une classe attribuée (ATR_CLAS_OBJ) audit au moins un objet (OBJ), ladite au moins classe attribuée (ATR_CLAS_OBJ) étant sélectionnée parmi une liste de classes ; et o au moins une position estimée (EST_POS_OBJ) dudit au moins un objet (OBJ), ladite au moins une position estimée (EST_POS_OBJ) comprenant au moins une distance entre une position d'observateur (POS_OBS ) et ledit au moins un objet (OBJ) ; ledit module classificateur-localisateur (X_NN) étant configuré à partir d'au moins une séquence d'images de référence (TR_DATA) pour minimiser une fonction de perte multi- objectifs (F_LOSS) représentative à la fois d'un objectif de classification et d'un objectif de localisation d'objets dans ladite au moins une séquence de référence (TR_DATA).
[Revendication 2] Procédé selon la revendication 1 caractérisé en ce que ladite étape de détermination (S220) comprend des sous-étapes de :
• détermination (S221) de données encodées (LS_DATA) par un encodeur (CNN) à partir de la séquence d'images obtenue (IMG_SEQ) ;
• détermination (S222) de ladite au moins une classe attribuée (ATR_CLAS_OBJ) par un classificateur (CLA_NN) à partir des données encodées (LS_DATA) ; et
• détermination (S223) de ladite au moins une position estimée (EST_POS_OBJ) par un localisateur (LOC_NN) à partir des données encodées (LS_DATA).
[Revendication 3] Procédé selon la revendication 2 caractérisé en ce que ledit encodeur (CNN) met en oeuvre une ou plusieurs convolutions entre la séquence d'images obtenue (IMG_SEQ) et des filtres.
[Revendication 4] Procédé selon l'une quelconque des revendications 1 à 3 caractérisé en ce que ledit module classificateur-localisateur (X_NN) comprend un réseau de neurones.
[Revendication 5] Procédé selon l'une quelconque des revendications 1 à 4 caractérisé en ce que lesdites une ou plusieurs images (IMG_1, IMG_N) de la séquence obtenue (IMG_SEQ) sont consécutives et en ce que l'étape d'obtention (S210) de la séquence d'images comprend une sous-étape de recadrage (S212) desdites une ou plusieurs images acquises (IMG_1, IMG_N), un dit objet (OBJ) étant centré sur une image déterminée (IMG_1) de la séquence (IMG_SEQ).
[Revendication 6] Procédé (S100) de configuration d'un module classificateur-localisateur (X_NN) d'objets (OBJ) dans des séquences d'images (IMG_SEQ), ledit procédé comprenant une étape d'initialisation (S 120) dudit module classificateur-localisateur (X_NN) et au moins une itération des étapes de :
• détermination (S130) par ledit module classificateur-localisateur (X_NN) à partir d'au moins une séquence d'images de référence (TR_DATA) de : o au moins une classe attribuée (ATR_CLAS_OBJ) à au moins un objet (OBJ) dans ladite au moins une séquence de référence (TR_DATA), ladite au moins une classe attribuée (ATR_CLAS_OBJ) étant sélectionnée parmi une liste de classes ; et o au moins une position estimée (EST_POS_OBJ) dudit au moins un objet (OBJ), ladite au moins une position estimée (EST_POS_OBJ) comprenant au moins une distance entre une position d'observateur (POSJDBS) et ledit au moins un objet (OBJ) ;
• évaluation (S140) d'une fonction de perte multi-objectifs (F_LOSS) sur la base de ladite au moins une classe attribuée (ATR_CLAS_OBJ), de ladite au moins une position estimée (EST_POS_OBJ), d'au moins une classe connue et d'au moins une position connue d'au moins un objet (OBJ) dans ladite au moins une séquence de référence (TR_DATA), la fonction de perte multi-objectifs (F_LOSS) étant représentative à la fois d'un objectif de classification et d'un objectif de localisation d'objets ;
• reconfiguration (SI 50) dudit module classificateur- localisateur (X_NN) pour minimiser la fonction de perte multi-objectifs (F_LOSS).
[Revendication 7] Procédé selon la revendication 6 caractérisé en ce que ladite étape d'évaluation (S140) de la fonction de perte multi-objectifs (F_LOSS) comprend des sous-étapes de :
• évaluation (S 141) d'une fonction de perte de classification (F_LOSS_CLA) à partir de ladite au moins une classe attribuée (ATR_CLAS_OBJ) et d'au moins une classe connue (TR_DATA) associée audit au moins un objet (OBJ) de ladite au moins une séquence d'images de référence (TR_DATA) ; • évaluation (S142) d'une fonction de perte de localisation (F_LOSS_LOC) à partir de ladite au moins une position estimée (EST_POS_OBJ) et d'au moins une position connue (TR_DATA) associée audit au moins un objet (OBJ) de ladite au moins une séquence d'images de référence (TR_DATA) ; et
• évaluation (S143) de la fonction de perte multi-objectifs (F_LOSS) à partir du résultat de la fonction de perte de classification (F_LOSS_CLA) et du résultat de la fonction de perte de localisation (F_LOSS_LOC).
[Revendication 8] Procédé selon la revendication 7 caractérisé en ce que ladite fonction de perte de classification (FLOSS_CLA) est évaluée en utilisant l'expression : où LEC est la fonction de perte de classification (FLOSS_CLA), M est le nombre de classes attribuables de ladite liste de classes, δ( Ci, Cr) est un indicateur binaire égal à 0 si pour un dit objet (OBJ) la classe Ci) de ladite liste de classes est différente de la classe Cr connue dudit objet (OBJ) et égal à 1 sinon, et avec Po,i une probabilité déterminée par le module classificateur-localisateur (X_NN) que ledit objet (OBJ) appartiennent à la classe Ci.
[Revendication 9] Procédé selon la revendication 7 ou 8 caractérisé en ce que ladite fonction de perte de localisation (FLOSS_LOC) est évaluée en utilisant l'expression : où LIMSE est la fonction de perte de localisation (FLOSS_LOC), N est le nombre d'images de ladite au moins une séquence de référence (TR_DATA), un indicateur binaire égal à 1 si un dit objet (OBJ) est présent dans une image d'indice i de ladite au moins une séquence de référence (TR_DATA) et égale à 0 sinon, Poi la position estimée dudit objet (OBJ) déterminée par le module classificateur-localisateur (X_NN) pour l'image d'indice avec Pr,i la position connue dudit objet (OBJ) pour l'image d'indice i.
[Revendication 10] Procédé selon l'une quelconque des revendications 6 à 9 caractérisé en ce que ladite étape de reconfiguration (SI 50) est réalisée en utilisant un algorithme de descente de gradient à partir du résultat de l'évaluation (S140) de la fonction de perte multi-objectifs (F_LOSS).
[Revendication 11] Procédé selon l'une quelconque des revendications 6 à 10 caractérisé en ce que ladite au moins une séquence d'images de référence (TR_DATA) comprend au moins un des éléments du groupe suivant :
• une ou plusieurs images acquises (TR_DATA_ACQ) par au moins une caméra (CAM) ; et
• une ou plusieurs images synthétisées (TR_DATA_SYN).
[Revendication 12] Procédé selon l'une quelconque des revendications 6 à 11 caractérisé en ce qu'il comprend plusieurs itérations desdites étapes de détermination (S130), d'évaluation (S140) de la fonction de perte multi-objectifs (F_LOSS), et de reconfiguration (S150).
[Revendication 13] Dispositif (APP) de classification et de localisation d'au moins un objet (OBJ) dans une séquence d'images (IMG_SEQ), ledit dispositif comprenant :
• un module d'obtention (MOD_OBT) pour obtenir une séquence (IMG_SEQ) d'une ou plusieurs images (IMG_1, IMG_N) acquises par au moins une caméra (CAM) ; et
• un module classificateur-localisateur (X_NN) pour déterminer à partir de la séquence d'images obtenue (IMG_SEQ) : o au moins une classe attribuée (ATR_CLAS_OBJ) audit au moins un objet (OBJ), ladite au moins classe attribuée (ATR_CLAS_OBJ) étant sélectionné parmi une liste de classes ; et o au moins une position estimée (EST_POS_OBJ) dudit au moins un objet (OBJ), ladite au moins une position estimée (EST_POS_OBJ) comprenant au moins une distance entre une position d'observateur (POS_OBS ) et ledit au moins un objet (OBJ) ; ledit module classificateur-localisateur (X_NN) étant configuré à partir d'au moins une séquence d'images de référence (TR_DATA) pour minimiser une fonction de perte multi- objectifs (F_LOSS) représentative à la fois d'un objectif de classification et d'un objectif de localisation d'objets dans ladite au moins une séquence d'images de référence (TR_DATA).
[Revendication 14] Dispositif (APP) selon la revendication 13 caractérisé en ce que ledit module classificateur-localisateur (X_NN) est configuré par un procédé de configuration (S100) selon l'une quelconque des revendications 6 à 12.
[Revendication 15] Système (SYS) comprenant un dispositif (APP) selon la revendication 13 ou 14 et au moins une caméra (CAM) configurée pour acquérir lesdites une ou plusieurs images (IMG_1, ..., IMG_N) de la séquence (IMG_SEQ).
[Revendication 16] Système (SYS) selon la revendication 15 caractérisé en ce que ledit système (SYS) est un système de surveillance, ou un système de navigation.
[Revendication 17] Aéronef comprenant un système (SYS) selon la revendication 15 ou 16.
[Revendication 18] Programme d'ordinateur comportant des instructions pour la mise en oeuvre des étapes d'un procédé selon l'une quelconque des revendications 1 à 12, lorsque ledit programme d'ordinateur est exécuté par au moins un processeur.
EP23751324.7A 2022-07-04 2023-06-30 Procede et dispositif de classification et de localisation d'objets dans des sequences d'images, systeme, programme d'ordinateur et support d'informations associes Pending EP4552093A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2206771A FR3137478B1 (fr) 2022-07-04 2022-07-04 Procédé et dispositif de classification et de localisation d’objets dans des séquences d’images, système, programme d’ordinateur et support d’informations associés
PCT/FR2023/051005 WO2024009026A1 (fr) 2022-07-04 2023-06-30 Procede et dispositif de classification et de localisation d'objets dans des sequences d'images, systeme, programme d'ordinateur et support d'informations associes

Publications (1)

Publication Number Publication Date
EP4552093A1 true EP4552093A1 (fr) 2025-05-14

Family

ID=83593906

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23751324.7A Pending EP4552093A1 (fr) 2022-07-04 2023-06-30 Procede et dispositif de classification et de localisation d'objets dans des sequences d'images, systeme, programme d'ordinateur et support d'informations associes

Country Status (4)

Country Link
US (1) US20260004573A1 (fr)
EP (1) EP4552093A1 (fr)
FR (1) FR3137478B1 (fr)
WO (1) WO2024009026A1 (fr)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11107229B2 (en) * 2018-01-10 2021-08-31 Samsung Electronics Co., Ltd. Image processing method and apparatus

Also Published As

Publication number Publication date
US20260004573A1 (en) 2026-01-01
WO2024009026A1 (fr) 2024-01-11
FR3137478A1 (fr) 2024-01-05
FR3137478B1 (fr) 2024-11-15

Similar Documents

Publication Publication Date Title
US20250356642A1 (en) Classification of Image Data from Synthetic Aperture Radar Images and Electro-Optical Images with Multi-Modal Fusion
FR3134363A1 (fr) Procédé de prédiction de trajectoires de piétons pour le renforcement de la sécurité de la conduite autonome d’un véhicule, véhicule muni de moyens pour la mise en œuvre de ce procédé
EP2517152B1 (fr) Procede de classification d'objets dans un systeme de veille par imagerie
FR3092546A1 (fr) Identification de zones roulables avec prise en compte de l’incertitude par une méthode d’apprentissage profond
FR2977679A1 (fr) Procede et dispositif de detection d'une cible masquee par des reflecteurs de forte energie
FR3113321A1 (fr) Procédé de géolocalisation par satellite mettant en œuvre une correction d’un modèle de réfraction atmosphérique
Kusetogullari et al. Unsupervised change detection in landsat images with atmospheric artifacts: a fuzzy multiobjective approach
EP4552093A1 (fr) Procede et dispositif de classification et de localisation d'objets dans des sequences d'images, systeme, programme d'ordinateur et support d'informations associes
EP0410826A1 (fr) Procédé itératif d'estimation de mouvement, entre une image de référence et une image courante, et dispositif pour la mise en oeuvre de ce procédé
FR3104291A1 (fr) Procédé et système de configuration d’un dispositif d’imagerie d’un véhicule automobile comportant N capteurs et N réseaux de neurones encodeurs dédiés
FR3152600A1 (fr) Procédé de segmentation d’image(s) et de localisation d’éléments caractéristiques prédéterminés d’un environnement d’atterrissage d’un aéronef
EP4191530A1 (fr) Procédé de localisation et cartographie simultanées intégrant un masquage temporel auto-supervisé et modèle d'apprentissage automatique pour générer un tel masquage
EP3757943B1 (fr) Procédé et dispositif de télémétrie passive par traitement d'image et utilisation de modeles en trois dimensions
WO2022023646A1 (fr) Prédiction d'étiquettes pour images numériques notamment médicales et fourniture d'explications associées auxdites étiquettes
FR3105442A1 (fr) Procede de geolocalisation d’objets connectes et dispositif associe.
FR3162093A1 (fr) Procédé et dispositif de généralisation d’un modèle de classification d’image pour système d’aide à la conduite d’un véhicule
FR3146534A1 (fr) Procede d’estimation d’une carte de profondeur d’une image monoculaire et dispositifs associes
FR3155344A1 (fr) Dispositif de classification de scène de l'environnement d'un véhicule
FR3143810A1 (fr) Système de détection d’objets dans des trames de données radar utilisant un réseau de neurones convolutionnel récurrent
FR3138718A1 (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
EP4614460A1 (fr) Procédé et dispositif de segmentation d'objets matériels dans un espace environnant un robot autonome
FR3151419A1 (fr) Dispositif de traitement de données embarqué dans un engin spatial
FR3160495A1 (fr) Procédé de classification de signaux, dispositif et programme d’ordinateur associés
WO2024100349A1 (fr) Système et procédé d'aide à la navigation d'un système mobile
WO2025045972A1 (fr) Procédé et système de caractérisation automatique de données d'apprentissage acquises par un aéronef

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20250107

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)