WO2017050890A1 - Procede et systeme de perception de corps materiels - Google Patents
Procede et systeme de perception de corps materiels Download PDFInfo
- Publication number
- WO2017050890A1 WO2017050890A1 PCT/EP2016/072530 EP2016072530W WO2017050890A1 WO 2017050890 A1 WO2017050890 A1 WO 2017050890A1 EP 2016072530 W EP2016072530 W EP 2016072530W WO 2017050890 A1 WO2017050890 A1 WO 2017050890A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- probability
- sensor
- grid
- occupancy
- cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/04—Systems determining presence of a target
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Definitions
- the invention relates to a method and a system for perceiving and estimating the position of material bodies that perform efficiently, in terms of computing power and energy consumption, a multi-sensor fusion.
- Machine body means any substance or material object having an individuality and which can be detected and identified by an appropriate sensor.
- material bodies are considered to be inanimate objects, whether natural or artificial, plants, animals, human beings, but also liquid or solid particles suspended in the air, such as clouds or even masses. liquid or gaseous.
- the invention applies in particular to the field of navigation of robots, drones, autonomous vehicles, etc. and more generally to that of perception.
- robotic applications have multiplied in recent years, from industrial production to home automation, from space and underwater exploration to toy drones for the general public.
- the tasks performed in robotic applications have become progressively more complex, implying more and more often for robots to be able to evolve in unknown environments; this has made the development of means and techniques of perception, that is to say, allowing the discovery and interpretation of the surrounding space, more and more important.
- An important application that uses perception in robotics is navigation, which consists of setting a target destination to a robot, and allowing it to go there, taking care to avoid unknown and potentially mobile obstacles; the robot then has the task of planning its own trajectory.
- a typical example, the subject of intense research, is the autonomous car.
- the integration of multiple sensors is generally used.
- several sensors possibly of different types, cover the same space, it is necessary to be able to combine the information extracted from each one of them: one speaks then of fusion multi-sensors.
- the invention relates to occupation grid techniques.
- the floating point format - defined by the IEEE 754 standard - represents a number by means of three elements: a sign (1 bit), a mantissa (23 or 52 bits) and an exponent (8 or 1 1 bits).
- Performing calculations using floating point numbers is much more complex (that is, it requires much more elementary operations) than doing integer calculations. This therefore requires the use of a faster processor and / or a dedicated hardware accelerator, with an adverse impact in terms of cost, size and power consumption.
- the aim of the invention is to provide a multi-sensor fusion method for material bodies requiring less computation resources and, therefore, better suited to embedded solutions. More particularly, it aims:
- the inventors have found that the invention makes it possible to perform the merger on a digital system offering computing performance equivalent to those available in the platforms.
- An object of the invention making it possible to achieve this goal is a method of perception of material bodies comprising the following steps, implemented by a computer or a dedicated digital electronic circuit:
- each said inverse sensor model is a discrete model, associating with each cell of the corresponding occupation grid, and for each distance measurement, a probability class chosen within the same set of cardinality finite, each said probability class being identified by an integer index; and in that, in said step c), the occupancy probability of each cell of the consolidated occupancy grid is determined by means of integer calculations performed on the indices of the classes of probabilities determined during said step b).
- Another object of the invention is a material body perception system comprising: at least one input port for receiving a plurality of signals representative of distance measurements of said hardware bodies from one or more sensors;
- a data processing module configured to receive said signals input and use them to construct a consolidated occupancy grid by applying a method as defined above; and at least one output port for a signal representative of said consolidated occupancy grid.
- Figure 4 the spatial discretization of an inverse model on a grid of occupation
- FIGS. 5A to 5D a method for calculating the inverse model of a sensor on a occupancy grid
- FIGS. 6A to 6D a method of choosing the optimal spatial resolution of a busy grid
- FIGS. 7A and 7B various probability class systems
- FIG. 8 two methods of quantizing an inverse model of a sensor on a occupancy grid
- FIGS. 9A and 9B an obstacle perception system according to a first embodiment of the invention
- FIGS. 10A and 10B an obstacle perception system according to a second embodiment of the invention.
- FIG. 1 an obstacle perception system according to a third embodiment of the invention.
- sensors used for navigation provide information on the distance of surrounding obstacles; we are talking about distance sensors.
- a probabilistic model To account for the accuracy of a sensor, its possible error or its resolution, we introduce a probabilistic model. The idea is that a measurement at the output of the sensor does not necessarily indicate the exact distance between the obstacle and the sensor, and that it is therefore necessary to reason about the probability that the obstacle is at a given distance knowing the sensor response.
- an occupancy grid GO is a partition of a continuous and bounded subset of ⁇ into a number N of parts, called cells and denoted by an index ie [0, N-1]. It is indicated by c, the cell of index i.
- a one-dimensional occupation grid observed by a single distance sensor C (or a plurality of co-located sensors), the index i being increasing with the distance of the sensor (c 0 being the cell closest to the sensor and CN-I farthest). This configuration is illustrated in Figure 2.
- An obstacle A is a bounded continuous subset of ⁇ .
- a cell c is occupied by an obstacle A if AnCi ⁇ 0, that it is not occupied by A if In other words, if the obstacle covers even partially the cell, it is considered that it is occupied.
- Other conventions are possible, but in any case a cell must be either free or busy.
- the position of the obstacles can be known only by means of uncertain distance sensors, characterized by a probabilistic model as described above which can be written more generally p (z
- These sensors can be telemetric lasers (also called lidars), sonars, infrared radars, time-of-flight cameras, etc.
- a measurement z from a sensor makes it possible to determine the probability of occupation ⁇ ( ⁇ ,
- ⁇ ) V ie [0, N-1] constitutes the inverse model of the sensor on the grid. While the sensor's direct model provides information about the sensor's response to the physical world, the inverse model expresses the impact of the measurement on the occupancy grid, which is the model of the physical world that we adopt. justifies the name inverse model.
- the probability of occupancy is almost zero for cells that are at a distance of less than 24.25 m from the sensor and reaches a peak for a distance of 25 m (corresponding to the measurement provided by the sensor) . Beyond 25 m, the probability of occupation decreases until it stabilizes at a value of 0.5, indicative of a total lack of knowledge of the state of occupancy of the cells which, being located beyond obstacle, are hidden by the latter and therefore inaccessible to the sensor.
- FIG. 3 A more accurate version of the inverse model of FIG. 3, taking into account this spatial discretization induced by the grid, is presented in FIG.
- distance from the obstacle are not quite equivalent. Indeed, to say that an obstacle is at a sensor distance z does not only mean that a certain cell is occupied, but also that all the other cells of the grid closer to the sensor are free (otherwise, the first obstacle would have been seen at a distance less than z).
- the obstacle A is in the cell of index i (in black); cells with an index less than i are shown in white to indicate that they are free, those with indexes greater than i are gray to indicate that their occupation status is unknown.
- Equation (2) indicates that the model of the sensor evaluated at a point which is at the boundary of a grid cell (x,) is equal to the sensor response probability density for a corresponding grid pattern, that is, a grid where the cells closest to the cell i are empty, the cell i is occupied, and the states of occupation of the cells farther than the cell i are not determined. It is by exploiting this information that A. Elfes, in his article above, proposed a method of construction of the inverse model of the sensor. An explanation of this process is given below.
- the Bayes theorem expresses the inverse model of a sensor ⁇ ( ⁇ ,
- P (O i) and P (V I) denote the a priori probabilities (that is to say without knowing the position of obstacles, or the sensor output) that the cell C is occupied or free, respectively.
- v,) can be done using the Kolmogorov theorem on all possible configurations of the grid.
- a configuration is formed by a N-tuplet ⁇ e 0 , ei ... ⁇ - ⁇ where e £ G ⁇ O £ J I £ ⁇ ; a grid of N cells has 2 N possible configurations.
- Equations (5a) and (5b) can therefore be rewritten: ( 6 ) whose terms can be calculated directly from the direct model of the sensor.
- re-injecting (6) into (4) can therefore calculate, in principle, the inverse model of the sensor on the occupancy grid considered.
- the main limitation of this method comes from the exponential explosion of the number of terms in the sum of equation (6), making it virtually impossible to calculate the sum.
- analytical expressions of the inverse model are generally used, renouncing the expression directly as a function of ⁇ ( ⁇
- the first contribution of the present invention is a simplified method for calculating the inverse-linear model in N instead of being exponential without introducing an approximation with respect to the use of equations (6) and (4).
- the aim of simplifying the presentation but without loss of generality, the case of a one-dimensional occupation grid, where the position of an obstacle is represented by a scalar variable x and for which ( 6) can be written:
- k ⁇ i the cell k is occupied (1 cell), the cells Cj with j ⁇ k are empty (k cells), the cell c, is occupied (1 cell), the others are either occupied or empty.
- Figure 5A a free cell is shown in white, a cell occupied in black, and a cell in an indeterminate gray state.
- Equation (7) in the case is written:
- simplifications are also possible in larger dimension, in particular by using polar or spherical coordinates.
- FIGS. 6A-6D show the inverse models of the same sensor on four different spatial resolution grids: 1 m (6A), 50 cm (6B), 25 cm (6C), 12.5 cm (6D).
- the maximum of the inverse model decreases and tends to 0.5. Indeed, one should not expect to be able to know the position of an obstacle with a precision greater than that of the sensor.
- a second contribution of the invention consists of a method for the Bayesian fusion of data from multiple sensors in a occupation grid without floating point calculation, which considerably reduces the complexity of the calculations required for the construction of grids. occupation and thus address more varied application domains, especially those for which the embedded computing capacity is very limited.
- This aspect of the invention is based on the representation of the probability over the interval [0; 1] in a discretized way, through classes of probabilities identified by integer indices.
- a particularly interesting case is that of a class system such that the result of the merger of two classes of probabilities of the system also belongs to the system; formally: V pi, p j eS, F (pi, p2) eS.
- V pi, p j eS, F (pi, p2) eS We then speak of a system of classes "without error", because the fusion does not introduce an error or an approximation. It is therefore possible to identify the probability values by the indices of the corresponding classes, and the result of a merger is also identified by an index. The problem of the fusion then amounts to determining an appropriate function F d which, with two integer indices, associates another integer index.
- F d (k, l) requires only the knowledge of indices k and I and integer index arithmetic; no floating-point calculation is necessary for the calculation of the merger of the information p k and p t . Moreover, if class system is considered, the index obtained using F d (k, l) designates a probability value strictly identical to that obtained - using floating-point numbers - by applying equation (1 1) . The method thus makes it possible to merge the probability classes without error with respect to a floating calculation.
- a first example of application interest relates to a system of classes of probabilities formed by the union of the following two non-error class subsystems: (13)
- k of low value for example not greater than 5
- k of low value for example not greater than 5
- the inverse model of Figure 4 was spatially discretized, but the occupancy probability of each cell could be any value in the range [0,1].
- the probability values are themselves discretized, or quantified, to belong to the system of classes S k (more generally, to a system of classes S).
- a first possibility is to replace the values of the inverse model - represented by the curve M1 in FIG. 8 - by the elements of S that are closest, so as to minimize the quantization error.
- Si system of probability classes
- MQP curve MQP curve on this same figure 8.
- p 3 F (p 2 , p);
- G p + ⁇ (p n ), n> 0 ⁇ (25)
- Gp ⁇ (Pn), n 0 0 ⁇ (26)
- p n is defined by (22) or (23), depending on whether n is positive or negative.
- Equation (27) finds the class merge formula in G p :
- Figure 7B illustrates the system G p for three values of the parameter p: 0.52; 0.55 and 0.7.
- FIG. 9A illustrates the application of the invention to a terrestrial vehicle V equipped with a distance sensor C, for example a mechanical scanning laser rangefinder (LI DAR).
- This sensor is configured to perform a plurality of one-dimensional sweeps of the space at the front of the vehicle, each sweep defining an acquisition "sheet".
- a plurality of plies N1, N2 ... are made at different heights.
- the sensor produces a vector of measurements z, each of which is indicative of the presence of an obstacle - pedestrian, other vehicle, tree on the side of the road ... - in a respective direction and its distance (For example, when z takes its maximum value, it means that there is no obstacle detected within the range of the sensor).
- a plurality of co-located sensors i.e. having the same point of origin for measuring the distance
- Figure 9B illustrates an obstacle perception system adapted to this application.
- This system comprises said sensor C (or a set of co-located sensors) and a data processing module MTD1 receiving as input the measurement vectors corresponding to each acquisition sheet of the sensor and supplying at its output a signal (typically a vector of 'integers') representative of an occupancy grid obtained by merging the data of these acquisition plies.
- a signal typically a vector of 'integers'
- the data processing module MTD1 comprises a plurality of hardware blocks for calculating occupancy probabilities, CO-
- Each occupancy probability calculation block CO k comprises a memory storing, in the form of a correspondence table, an inverse model of the index subscript layer k of the sensor C, discretized by means of a system of classes of probability, for example Si.
- inverse model of the tablecloth because it is the measurements of the different layers which merge. If only one sensor is used to acquire several layers, this single sensor is in fact equivalent to a plurality of sensors acquiring a sheet each, and each having its own inverse model (even if all these inverse models may be identical).
- Each processing block CO k thus receives, as input, the measurements corresponding to an acquisition layer z k (references z-1 ... z NC ) respectively, and outputs an occupancy gate, in the form of a vector d integers g k representing the indices of the classes of probabilities associated with the different cells of the grid.
- the grid g k contains the occupancy information estimated using the measurements of the ply k only, that is to say the measurement vector z k .
- the consolidation hardware block F comprises four combinational logic circuits Fi, F 2 , F 3 and F 4 implementing the equations (15),
- equations (19) and (20) may not be implemented; thus the blocks F 3 and F 4 may be absent, or be replaced by detection conflict management circuits, for example, implementing the rule expressed by equation 21 (choice of the maximum probability).
- the COi ... CONC blocks are also identical, and can be replaced by a single unit of calculation of occupancy probabilities, performing the processing in a sequential manner.
- the data processing module MTD1 can also be associated with any other type of distance sensor.
- Figs. 10A and 10B relate to another embodiment of the invention, using a plurality of sensors arranged at different locations that cooperate to provide a busy grid constructed using measurements from different points of view.
- the sensors can be technologically heterogeneous in precision, range, field of vision and / or speed of acquisition.
- the distance of the first obstacle is information relating to the sensor that is measuring.
- FIG 10A A schematic example of the scenario is shown in Figure 10A, showing two sensors Ci and C 2 placed at different positions and having different ranges and fields of view. Thus the obstacle O is seen at completely different distances by Ci and C 2 .
- the main difficulty lies in the fact that the occupancy gate on the one hand and the sensors of other parts each have their own mark associated with them. For example, assessing the location of obstacles requires changes in benchmarks.
- FIG. 10B illustrates an obstacle perception system according to such an embodiment of the invention.
- This system comprises, in general, "NC" non-co-located and potentially heterogeneous sensors Ci, C 2 ... C N c and a data processing module MTD2.
- the latter differs from the data processing module MTD1 of FIG. 9B in that it also includes, interposed between the hardware blocks for calculating occupation probabilities CO1 ... CONC and the material consolidation block F, reference change blocks Ri ... R N c-
- Each of these blocks R k contains calculation units, generally in floating point, to perform the change of the marker of a sensor respective to the reference of the "consolidation" occupation grid with respect to which the data fusion is performed.
- the calculation carried out for the change of marker consists of reallocating the occupation of a known location in the coordinate system of a sensor Ck (expressed by a vector of integers gk) to the corresponding cell in the reference of the consolidation grid.
- the vectors of integers representative of the occupations of the cells of the consolidation grid are represented by g 1 ... g NC .
- This reassignment assumes the calculation of translations, rotations, etc.
- the processing of the blocks R k can, for example, be carried out using a floating arithmetic unit of an embedded processor (FPU: Floating Point Unit). In this case, the same hardware block can perform the computation for all the blocks Rk (sequential processing).
- the change of reference equations can be stored in conversion tables stored in memories contained in the modules Rk.
- the change of reference equations can be stored in conversion tables stored in memories contained in the modules Rk.
- these conversion tables can be quite large and their storage have a significant cost in terms of silicon area.
- FIG. 11 illustrates a third embodiment of the invention in which a single sensor C, not shown, acquires scalar or vector measurements z t , z t + -i, ... z x + m ... at a acquisition rate
- a hardware block for calculating occupancy probabilities CO produces an occupancy grid g t , g t + 1, ... g t + m - - - for each of these measurements. Then a melting material block F merges N of these grids, acquired at successive instants, into a single consolidated grid g fus ; the consolidated occupancy gates gf US are thus generated at a rate N times lower than the rate of application of the sensor. For example, if the C sensor is running at a rate of 100 Hz and a rate of 10 Hz is sufficient for the intended application, it can merge 10 successive acquisitions.
- FIGS. 9B, 10B and 11 the case is considered where the processes - or at least some of them - are carried out by hardware calculation blocks, that is to say digital circuits. dedicated.
- the invention also lends itself to a totally or partially software implementation, in which the processing operations - or at least some of them - are carried out by a generic processor programmed in a timely manner.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Multimedia (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
- Radar Systems Or Details Thereof (AREA)
- Traffic Control Systems (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Geophysics And Detection Of Objects (AREA)
Abstract
Procédé de perception de corps matériels comportant les étapes suivantes : a) Acquisition d'une pluralité de mesures de distance desdits corps matériels issues d'un ou plusieurs capteurs (C1 … CNC); b) Application d'un modèle inverse de capteur sur une grille d'occupation pour déterminer une probabilité d'occupation d'un ensemble de cellules de ladite grille; et c) Construction d'une grille d'occupation consolidée par fusion des probabilités d'occupation estimées lors de l'étape b); caractérisé en ce que chaque dit modèle inverse de capteur est un modèle discret, associant à chaque cellule de la grille d'occupation correspondante, et pour chaque mesure de distance, une classe de probabilité choisie à l'intérieur d'un même ensemble de cardinalité finie et identifiée par un indice entier; et en ce que ladite étape c) est mise en œuvre au moyen de calculs entiers effectués sur les indices des classes de probabilités déterminées lors de ladite étape b). Système de perception de corps matériels adapté pour mettre en œuvre un tel procédé.
Description
PROCEDE ET SYSTEME DE PERCEPTION DE CORPS MATERIELS
L'invention porte sur un procédé et un système de perception et d'estimation de la position de corps matériels réalisant, de manière efficace en termes de puissance de calcul et consommation énergétique, une fusion multi- capteurs.
On entend par « corps matériel » toute substance ou objet matériel présentant une individualité et pouvant être détecté et identifié par un capteur approprié. Ainsi, sont considérés des corps matériels les objets inanimés, qu'ils soient naturels ou artificiels, les végétaux, les animaux, les êtres humains, mais aussi des particules liquides ou solides en suspension dans l'air, comme les nuages, voire des masses liquides ou gazeuses.
L'invention s'applique notamment au domaine de la navigation de robots, drones, véhicules autonomes, etc. et plus généralement à celui de la perception.
Avec l'explosion des moyens de calcul intégrables dans un robot, les applications de la robotique se sont multipliées ces dernières années, de la production industrielle à la domotique, de l'exploration spatiale et sous- marine aux drones-jouets grand public. Les tâches réalisées dans les applications robotiques se sont progressivement complexifiées, impliquant de plus en plus souvent pour les robots de pouvoir évoluer dans des environnements inconnus ; cela a rendu de plus en plus important le développement de moyens et techniques de perception, c'est-à-dire permettant la découverte et l'interprétation de l'espace environnant. Une application importante qui utilise la perception en robotique est la navigation, qui consiste à fixer un objectif de destination à un robot, et de le laisser s'y rendre en prenant soin d'éviter les obstacles inconnus et potentiellement mobiles ; le robot a alors la charge de planifier lui même sa trajectoire. Un exemple typique, faisant l'objet de recherches intenses, est la voiture autonome.
Pour permettre une connaissance de tout l'environnement en limitant au maximum les angles morts, et pour pallier un éventuel défaut d'un capteur, on a généralement recours à l'intégration de multiples capteurs. Quand plusieurs capteurs, éventuellement de types différents, couvrent le même
espace, il faut pouvoir combiner l'information extraite de chacun d'entre eux : on parle alors de fusion multi-capteurs.
Il existe deux principales familles de techniques de perception : les méthodes géométriques, qui visent à identifier la géométrie des objets de l'espace environnant, et celles à base de grille d'occupation, qui visent à déterminer si un certain emplacement est occupé par un obstacle (plus généralement, par un corps matériel). L'invention relève des techniques à base de grille d'occupation.
Les fondements théoriques des méthodes de perception et de fusion multi-capteurs basées sur des grilles d'occupation sont décrits dans l'article de A. Elfes, « Occupancy grids: a stochastic spatial représentation for active robot perception » (Sixth Conférence on Uncertainty in Al, 1990). Cette publication ne s'intéresse pas à la mise en œuvre pratique des méthodes, dont une application directe nécessiterait des calculs complexes en virgule flottante.
L'article de K. Konolige « Improved occupancy grids for map building » (Autonomous Robots, 4, 351 -367, 1997), celui de J. Adarve et al. « Computing occupancy grids from multiple sensors using linear opinion pools », (Proceedings - IEEE International Conférence on Robotics and Automation, 2012) et celui de T. Rakotovao et al. « Real-time power-efficient intégration of multi-sensor occupancy grid on many core » (2015 International Workshop on Advanced Robotics and its Social Impact, 30 juin 2015) décrivent des perfectionnements des techniques à base des grilles d'occupation. Là encore, la mise en œuvre de ces techniques nécessite un recours massif au calcul en virgule flottante.
Les documents US 2014/035775, FR 2006/050860 et
DE 102009007395 décrivent des méthodes et systèmes de perception et de fusion multi-capteurs basées sur des grilles d'occupation, appliquées à la conduite autonome des véhicules terrestres. Toutes ces méthodes nécessitent, pour leur mise en œuvre, des calculs en virgule flottante.
Or, le recours au calcul en virgule flottante exige des ressources importantes en termes de puissance de calcul, qui sont difficilement compatibles avec les contraintes propres aux systèmes embarqués. Pour mémoire, le format en virgule flottante - défini par la norme IEEE 754 -
représente un nombre au moyen de trois éléments : un signe (1 bit), une mantisse (23 ou 52 bits) et un exposant (8 ou 1 1 bits). Effectuer des calculs en utilisant des nombres représentés en virgule flottante est beaucoup plus complexe (c'est-à-dire nécessite beaucoup plus d'opérations élémentaires) qu'effectuer des calculs sur des entiers. Cela nécessite donc l'utilisation d'un processeur plus rapide et/ou d'un accélérateur matériel dédié, avec un impact défavorable en termes de coût, encombrement et consommation électrique.
On considère, à titre d'exemple, un environnement de 20 m x 50 m discrétisé en 100.000 cellules de 10 cm x 10 cm, et deux capteurs fonctionnant à 25 Hz. Si la fusion de données doit se faire, conformément à l'art antérieur, en mettant en œuvre la théorie de A. Elfes au moyen de calculs en virgule flottante, la puissance de calcul requise est de l'ordre de 5 - 50 GFIops (milliards d'opérations flottantes par secondes). Si on considère une grille de 150.000 cellules avec 8 capteurs fonctionnant à 50 Hz - hypothèses qui paraissent plus réalistes pour des applications dans le domaine automobile - on obtient un besoin en puissance de calcul de 60 - 600 GFIops.
L'invention vise à procurer une méthode de perception de corps matériels par fusion multi-capteurs nécessitant moins de ressources de calcul et, de ce fait, mieux adaptée à des solutions embarquées. Plus particulièrement elle vise :
d'une part, à permettre l'utilisation de dispositifs de calcul embarqués simples, ne supportant pas nécessairement les opérations en virgule flottante ;
d'autre part, même dans le cas où des calculs en virgule flottante seraient supportés, à réduire la consommation énergétique du dispositif de calcul, en évitant ou limitant fortement le recours effectif à de tels calculs. Une telle réduction de consommation est avantageuse par elle-même ; par ailleurs, elle permet de réduire échauffement, ce qui améliore la robustesse et la durée de vie du dispositif de calcul, tout en relaxant les contraintes en termes de dissipation thermique.
A titre d'exemple, les inventeurs ont pu constater que l'invention permet de réaliser la fusion sur un système numérique offrant des performances de calcul équivalente à celles disponibles dans les plateformes
certifiées IS026262 ASIL-D utilisées dans le secteur automobile. Cela n'est pas possible en utilisant les techniques de fusion connues de l'art antérieur.
Dans la suite on considérera de manière spécifique l'application à la perception d'obstacles, mais l'invention n'est nullement limitée à ce cas de figure. D'autres applications possibles concernent la détection de nuages ou précipitations, voire de concentrations de polluants, ou bien la distribution et les déplacements de personnes dans un espace public. Dans tout ces cas, il est possible de détecter des corps matériels à l'aide de capteurs, d'en mesurer la distance et d'utiliser les mesures pour calculer une grille d'occupation.
Un objet de l'invention permettant d'atteindre ce but est un procédé de perception de corps matériels comportant les étapes suivantes, mises en œuvre par un ordinateur ou un circuit électronique numérique dédié :
a) Acquisition d'une pluralité de mesures de distance desdits corps matériels issues d'un ou plusieurs capteurs ;
b) Application, à chaque dite mesure de distance, d'un modèle inverse du capteur correspondant sur une grille d'occupation fournissant une représentation spatiale discrétisée d'un environnement dudit capteur, pour déterminer une probabilité d'occupation par un corps matériel d'un ensemble de cellules de ladite grille d'occupation ; et
c) Construction d'une grille d'occupation consolidée dont chaque cellule présente une probabilité d'occupation calculée par fusion des probabilités d'occupation estimées lors de l'étape b) ;
caractérisé en ce que chaque dit modèle inverse de capteur est un modèle discret, associant à chaque cellule de la grille d'occupation correspondante, et pour chaque mesure de distance, une classe de probabilité choisie à l'intérieur d'un même ensemble de cardinalité finie, chaque dite classe de probabilité étant identifiée par un indice entier ; et en ce que, lors de ladite étape c), la probabilité d'occupation de chaque cellule de la grille d'occupation consolidée est déterminée au moyen de calculs entiers effectués sur les indices des classes de probabilités déterminées lors de ladite étape b).
Un autre objet de l'invention est un système de perception de corps matériels comprenant :
au moins un port d'entrée pour recevoir une pluralité de signaux représentatifs de mesures de distance desdits corps matériels issues d'un ou plusieurs capteurs ;
un module de traitement de données configuré pour recevoir en entrée lesdits signaux et les utiliser pour construire une grille d'occupation consolidée en appliquant un procédé tel que défini ci-dessus; et au moins un port de sortie pour un signal représentatif de ladite grille d'occupation consolidée.
D'autres caractéristiques, détails et avantages de l'invention ressortiront à la lecture de la description faite en référence aux dessins annexés donnés à titre d'exemple et qui illustrent respectivement :
La figure 1 , la notion de modèle « direct » d'un capteur de distance ;
La figure 2, la notion de grille d'occupation ;
- La figure 3, la notion de modèle « inverse » d'un capteur de distance ;
La figure 4, la discrétisation spatial d'un modèle inverse sur une grille d'occupation ;
Les figures 5A à 5D, une méthode de calcul du modèle inverse d'un capteur sur une grille d'occupation ;
Les figures 6A à 6D, une méthode de choix de la résolution spatiale optimale d'une grille d'occupation ;
Les figures 7A et 7B, divers systèmes de classes de probabilité ;
- La figure 8, deux méthodes de quantification d'un modèle inverse d'un capteur sur une grille d'occupation ;
Les figures 9A et 9B, un système de perception d'obstacles selon un premier mode de réalisation de l'invention ;
Les figures 10A et 10B, un système de perception d'obstacles selon un deuxième mode de réalisation de l'invention ; et
La figure 1 1 , un système de perception d'obstacles selon un troisième mode de réalisation de l'invention.
Dans la description détaillée qui suit, il sera fait référence au cas de la perception d'obstacles. Cependant, tout ce qui est décrit s'applique plus généralement à la perception de toute sorte de corps matériels.
Le plus souvent, les capteurs employés pour la navigation renseignent sur la distance des obstacles environnants ; on parle alors de capteurs de distance. Pour rendre compte de la précision d'un capteur, de son éventuelle erreur ou de sa résolution, on introduit un modèle probabiliste. L'idée est qu'une mesure en sortie du capteur n'indique pas nécessairement la distance exacte entre l'obstacle et le capteur, et que par conséquent il convient de raisonner sur la probabilité que l'obstacle soit à une distance donnée connaissant la réponse du capteur.
Si on note d la distance réelle entre un obstacle et le capteur, et z la sortie du capteur, on s'intéresse à la fonction de densité de probabilité conditionnelle p(z|d) qui modélise le lien entre la position réelle d'un obstacle et son estimation vue par le capteur (« modèle direct »). La figure 1 présente un exemple de modèle direct d'un capteur ; on considère un espace linéaire de 50 m de long et on suppose qu'un obstacle se trouve à d=25m du capteur. Pour un capteur avec une erreur modélisable par une fonction gaussienne, la réponse z la plus probable sera proche de 25 m, mais d'autres valeurs seront possibles, avec une densité de probabilité définie par la courbe. Dans le cas d'un capteur idéal on aurait p(z|d)=ô(z-d), où δ est une Delta de Dirac, et la mesure serait toujours égale à la vraie distance. Le modèle direct d'un capteur peut être déterminé de manière expérimentale ; typiquement il peut être construit à partir de données fournies par le constructeur (dans le cas gaussien, la valeur de l'écart-type suffit pour caractériser le modèle).
Dans la suite, on notera Ω un référentiel spatial à une, deux ou trois dimensions ; une grille d'occupation GO est une partition d'un sous- ensemble continu et borné de Ω en un nombre N de parties, dénommées cellules et désignées par un indice i e[0, N-1 ] . On indique par c, la cellule d'indice i. Sans perte de généralité, on considérera dans la suite une grille d'occupation monodimensionnelle observée par un seul capteur de distance C (ou une pluralité de capteurs co-localisés), l'indice i étant croissant avec
l'éloignement du capteur (c0 étant donc la cellule la plus proche du capteur et CN-I la plus éloignée). Cette configuration est illustrée par la figure 2.
Un obstacle A est un sous-ensemble continu borné de Ω. On dit qu'une cellule c, est occupée par un obstacle A si AnCi≠0, qu'elle n'est pas occupée par A si
En d'autres termes, si l'obstacle recouvre même partiellement la cellule, on considère qu'elle est occupée. D'autres conventions sont possibles, mais en tout cas une cellule doit être soit libre, soit occupée.
On considère pour chacune des cellules de la grille, l'expérience aléatoire binaire « état » pouvant avoir l'une des deux issues {occupée; vide} consistant à connaître si la cellule contient un obstacle ou non. On notera e, l'état de la cellule c,, o, la réalisation e, = occupée et v, la réalisation e, = vide. Dans une grille, on considère que toutes les cellules sont indépendantes, de sorte que
V i,j e [0, N-1 ], P(0| A Oj)= P(Oi)-P(Oj) (1 ) où Λ est l'opérateur logique « et » et P(.) dénote la probabilité d'un événement (à ne pas confondre avec une densité de probabilité, désignée par un « p » minuscule).
On considère également que la position des obstacles ne peut être connue qu'à l'aide de capteurs de distance incertains, caractérisés par un modèle probabiliste tel que décrit plus haut qui peut s'écrire de manière plus générale p (z |x) , x étant la position d'un obstacle (en plusieurs dimensions, il s'agit d'un vecteur, exprimés en coordonnées cartésiennes, sphériques, polaires, etc. et pas d'un simple scalaire). Ces capteurs peuvent être des lasers télémétriques (appelés aussi lidars), des sonars, des radars infrarouges, des caméras à temps de vol, etc.
Une mesure z issue d'un capteur permet de déterminer la probabilité d'occupation Ρ(ο,|ζ) d'une cellule c,. Pour une mesure z donnée, l'ensemble des probabilités Ρ(ο,|ζ) V i e [0, N-1 ] constitue le modèle inverse du capteur sur la grille. Alors que le modèle direct du capteur renseigne sur la réponse du capteur en fonction du monde physique, le modèle inverse exprime l'impact de la mesure sur la grille d'occupation qui est le modèle du monde physique que l'on adopte, ce qui justifie l'appellation modèle inverse.
La figure 3 présente un exemple typique de modèle inverse d'un capteur de distance, dans un cas où z=25m. On peut vérifier que la probabilité d'occupation est quasi-nulle pour les cellules qui se trouvent à une distance inférieure à 24,25 m du capteur et atteint un pic pour une distance de 25 m (correspondant à la mesure fournie par le capteur). Au-delà de 25 m, la probabilité d'occupation diminue jusqu'à se stabiliser à une valeur de 0,5, indicative d'une méconnaissance totale de l'état d'occupation des cellules qui, étant situées au-delà de l'obstacle, sont masquées par ce dernier et donc inaccessibles au capteur.
Conformément à l'usage qui prévaut dans la littérature, la figure
3 représente le modèle inverse au moyen d'une courbe lissée. Une représentation plus correcte serait de n'afficher que les points correspondant aux limites des cellules de la grille : en effet, on ne peut pas distinguer une cellule « partiellement » occupée d'une autre qui le serait « totalement », dans tous les cas la distance à l'obstacle sera estimée comme étant la distance à la cellule correspondante. C'est là l'erreur spatiale introduite par la grille.
Une version plus juste du modèle inverse de la figure 3, tenant compte de cette discrétisation spatiale induite par la grille est présentée sur la figure 4.
II convient de souligner que les notions de « occupation » et de
« distance de l'obstacle » ne sont pas tout à fait équivalentes. En effet, dire qu'un obstacle est à une distance z de capteur ne signifie pas seulement qu'une certaine cellule est occupée, mais aussi que toutes les autres cellules de la grille plus proches du capteur sont libres (autrement, le premier obstacle aurait été vu à une distance inférieure à z). Sur la figure 2 précitée, l'obstacle A se trouve dans la cellule d'indice i (en noir) ; les cellules d'indice inférieur à i sont représentées en blanc pour indiquer qu'elles sont libres, celles d'indice supérieur à i le sont en gris pour indiquer que leur état d'occupation est inconnu.
Si on tient compte de la notion de capteur incertain caractérisé par son modèle (direct) p(z| ) et que l'on note d, la distance de la cellule c, par rapport au point de mesure et x[ le point de la cellule c, le plus proche dudit point de mesure, on a :
Vi < N, p(z \xi ) =
. . . Λ Vi- i A Oi ) (2)
L'équation (2) indique que le modèle du capteur évalué en un point qui est à la frontière d'une cellule de la grille (x,) est égal à la densité de probabilité de réponse du capteur pour une configuration de grille correspondante, à savoir une grille où les cellules les plus proches que la cellule i sont vides, la cellule i est occupée, et les états d'occupation des cellules plus éloignées que la cellule i ne sont pas déterminées. C'est en exploitant cette information que A. Elfes, dans son article précité, a proposé un procédé de construction du modèle inverse du capteur. Une explication de ce procédé est donnée ci-dessous.
Le théorème de Bayes permet d'exprimer le modèle inverse d'un capteur Ρ(ο,|ζ) de la manière suivante :
où P(O i) et P(VÎ) désignent les probabilités a priori (c'est-à-dire sans connaître la position des obstacles, ni la sortie du capteur) que la cellule c, soit occupée ou libre, respectivement. Dans la suite on fera l'hypothèse Ρ(ο,) = P(Vi) = 1 /2, mais une généralisation ne pose pas de difficulté théorique fondamentale.
Le calcul des termes ρ(ζ|ο,) et p(z|v,) peut se faire en utilisant le théorème de Kolmogorov sur toutes les configurations possibles de la grille. Une configuration est formée par un N-uplet { e0, ei ... ΘΝ-Ι } OÙ e£ G {O£J I £} ; une grille de N cellules a 2N configurations possibles.
Pour le terme ρ(ζ|ο,) les configurations de grille possibles sont de la forme G . = (e0, ... o£, ... eN_ ) où le la cellule i est occupée ; il y a 2N"1
de telles grilles. Pour le terme p(z|v,) les configurations de grille possibles sont de la forme G£. = (e0, ... vit ... eN_ ) où la cellule c, est vide ; il y a 2N"1 de telles grilles.
Qv%
k (5b)
Les termes '^ ^'i- ' et ^ - ^k ) valent 1 /2N"1. En utilisant l'équation (2) liant l'occupation et la distance mesurée, on peut déterminer, à partir d'une configuration de grille Gjï , la position x[ telle que p • [ z
_ Cette position est celle de la cellule occupée de la configuration G g . la plus proche de l'observateur. Les équations (5a) et (5b) peuvent donc se réécrire :
(6) dont les termes peuvent être calculés directement à partir du modèle direct du capteur. En réinjectant (6) dans (4) ont peut donc calculer, en principe, le modèle inverse du capteur sur la grille d'occupation considérée.
La limitation principale de cette méthode provient de l'explosion exponentielle du nombre de termes dans la somme de l'équation (6), rendant pratiquement impossible le calcul de la somme. En effet, dans l'art antérieur, on utilise généralement des expressions analytiques du modèle inverse, en renonçant à l'exprimer directement en fonction de ρ(ζ|ο,). Cela implique la perte du lien avec le modèle directe, qui est le seul à être directement accessible par l'expérience, et donc de la capacité de mesurer l'erreur introduit par la modélisation.
premier apport de la présente invention est une méthode simplifiée pour calculer le modèle inverse - linéaire en N au lieu d'être exponentielle - sans introduire d'approximation par rapport à l'utilisation des équations (6) et (4). Dans la suite on considérera, dans un but de simplification de l'exposé mais sans perte de généralité, le cas d'une grille d'occupation monodimensionnelle, où la position d'un obstacle est représentée par une variable scalaire x et pour laquelle (6) peut s'écrire :
cellules, Xk peut prendre seulement la valeur de position de l'une des cellules Cj avec j e[0; N - 1 ]. Ainsi, les termes de la somme (7) ne peuvent prendre que N valeurs différentes. En factorisant toutes les grilles donnant la même valeur de p(z|xk), on peut donc ramener l'équation (7) à une somme de N termes seulement - au lieu de 2N"1 .. La complexité du calcul passe d'exponentielle à linéaire.
On commence par considérer le cas e, = o,. On fixe c, dans son état occupé et on fixe la distance du premier obstacle comme étant celle de la cellule ck, de sorte que cette distance est effectivement xk. On cherche donc le nombre de grilles qui sont telles que le premier obstacle est vu à la position xk sachant que la cellule ci est occupée. Trois cas de figure sont envisageables :
1 . k < i : la cellule k est occupée (1 cellule), les cellules Cj avec j < k sont vides (k cellules), la cellule c, est occupée (1 cellule), les autres sont soit occupées, soit vides. Cela est illustré sur la figure 5A, où une cellule libre est représentée en blanc, une cellule occupée en noir et une cellule qui se trouve dans un état indéterminé en gris. On a donc k+2 cellules dans un état fixe et N-k-2 cellules dans un état indéterminé ; il y a 2N"k"2 telles grilles.
2. k = i (cf. figure 5B) : la cellule k = i est occupée (1 cellule), les cellules Cj avec j < i sont vides (i cellules), les autres sont soit occupées, soit vides. Ce qui fait 1 +i cellules dont l'état est fixé et N-i-1 cellules dont l'état est indéterminé. Il existe en tout 2N"'"1 telles grilles.
3. k > i : cette configuration est impossible, car si k était strictement supérieur à i, le plus proche obstacle serait vu en x, et non en xk.
k=Q (8) On peut répéter le même raisonnement pour le cas
Dans ce cas aussi on peut distinguer trois possibilités :
1 . k<i - situation représentée sur la figure 5C : il y a 2N"k"2 cellules qui vérifient cette condition ;
2. k=i : situation impossible ;
3. k>i - situation représentée sur la figure 5D : il y a 2N"k"2 cellules qui vérifient cette condition.
En injectant les expressions (8) et (9) dans (4), on parvient ainsi à construire le modèle inverse de capteur monodimensionnel sur la grille d'occupation à partir de son modèle direct avec une complexité linéaire par rapport à la taille N de la grille :
(10)
De telles simplifications sont également possibles en plus grande dimension, en utilisant notamment des coordonnées polaires ou sphériques.
La construction du modèle inverse dépend fortement de la définition de la grille. Il est donc intéressant d'étudier quel est l'impact d'une variation de résolution spatiale sur le modèle inverse. Les figures 6A - 6D montrent les modèles inverses d'un même capteur sur quatre grilles de résolution spatiales différentes : 1 m (6A), 50 cm (6B), 25 cm (6C), 12,5 cm
(6D). On peut remarquer que quand la résolution augmente (le pas de la grille diminue), le maximum du modèle inverse diminue et tend vers 0,5. En effet, on ne doit pas s'attendre de pouvoir connaître la position d'un obstacle avec une précision supérieure à celle du capteur. A contrario, si on se contente de connaître l'occupation avec une précision bien inférieure à celle du capteur, on pourra déterminer avec une grande certitude la présence ou l'absence d'un obstacle (cas de la figure 6A, où le maximum du modèle inverse vaut 0,999994). Ces considérations permettent d'optimiser la résolution spatiale de la grille : on peut en effet réaliser une exploration permettant de déterminer la résolution maximale de la grille pour laquelle le maximum du modèle inverse reste supérieur à un seuil (strictement supérieur à 0,5 et strictement inférieur à 1 ) considéré « significatif ».
Il est intéressant de noter que le lien existant entre la précision du capteur et la résolution de la grille n'est apparent que si on calcule le modèle inverse à partir du modèle direct (équations 7 - 10). Ce lien est perdu si on se contente d'une expression analytique approchée du modèle inverse, comme dans l'art antérieur ; cela constitue un avantage supplémentaire de l'approche proposée par l'invention.
A partir des modèles inverses de deux capteurs sur une même grille d'occupation, la fusion des données des deux capteurs s'effectue à l'aide de l'é uation suivante :
(1 1 ) où zi et z2 sont les mesures fournies par les deux capteurs (la généralisation à plus de deux capteurs est immédiate - il suffit de considérer î | A, i comme le modèle inverse d'un capteur « virtuel » et le fusionner avec la mesure fournie par un troisième capteur, et ainsi de suite. L'équation (1 1 ) n'est valable que si Ρ(ο,)= Ρ(ν,)=1 /2, mais sa généralisation à d'autres hypothèses est triviale.
Ce calcul, en virgule flottante, doit être effectué pour chaque cellule de la grille et à une fréquence au moins aussi rapide que la fréquence
d'acquisition des capteurs - ce qui nécessite une puissance de calcul importante.
Un deuxième apport de l'invention consiste en un procédé pour la fusion bayésienne des données issues de multiples capteurs dans une grille d'occupation sans calcul en virgule flottante, ce qui permet de réduire considérablement la complexité des calculs nécessaires à la construction de grilles d'occupation et ainsi d'adresser des domaines applicatifs plus variés, notamment ceux pour lesquels la capacité de calcul embarqué est très limitée.
Cet aspect de l'invention repose sur la représentation de la probabilité sur l'intervalle [0 ; 1 ] de manière discrétisée, par l'intermédiaire de classes de probabilités identifiées par des indices entiers.
Dans ce qui suit, on appellera « système de classes de probabilités » S = {pn, n eZ } un sous-ensemble dénombrable de [0; 1 ], dont les éléments pn peuvent donc être caractérisés par un indice entier relatif « n ». Si on appelle « F » la fonction de fusion des données exprimée par l'équation (1 1 ) ci-dessus, on peut écrire :
" ■ Plf¾ + (1 - P ) ( 1 2)_
Un cas particulièrement intéressant est celui d'un système de classes tel que le résultat de la fusion de deux classes de probabilités du système appartient également au système ; formellement : V pi,pj eS, F(p-i , p2)eS. On parle alors d'un système de classes « sans erreur », car la fusion n'introduit pas d'erreur ou d'approximation. Il est donc possible de repérer les valeurs de probabilité par les indices des classes correspondantes, et le résultat d'une fusion est également identifié par un indice. Le problème de la fusion revient alors à déterminer une fonction appropriée Fd qui, à deux indices entiers, associe un autre indice entier. Formellement :
v(k, l) Ε Έ2, 3 ί ε Έ : F(pk, Pl) = Pi
et on note Fd k, l) = i.
Le calcul de Fd(k,l) ne requiert que la connaissance des indices k et I et de l'arithmétique d'indice entier ; aucun calcul en virgule flottante n'est nécessaire pour le calcul de la fusion des informations pk et pt. De plus, si le
système de classes est considéré, l'indice obtenu à l'aide de Fd(k,l) désigne une valeur de probabilité strictement identique à celle obtenue - en utilisant des nombres en virgule flottante - en appliquant l'équation (1 1 ). La méthode permet ainsi la fusion des classes de probabilité sans erreur par rapport à un calcul flottant.
Il est possible de généraliser cette approche en considérant le cas où les système S est construit comme étant la réunion de plusieurs sous- systèmes de classes qui, individuellement, sont sans erreur. Dans ce cas il est possible que le système S considéré dans sa globalité ne soit pas sans erreur. II est donc nécessaire d'introduire une étape d'approximation dans la définition de la fonction de fusion Fd :
V(/c, G Έ2, Ξ i G TL : F(pk, Pl) = p et Pi≤ p < pi+1 On peut ensuite arrondir par défaut, par excès ou au plus proche, et de chosir donc Fd(k,l)=i ou Fd(k,l)=i+1 suivant le modèle d'approximation. L'erreur reste toutefois bornée par la largeur du support du système de classes.
Un exemple trivial de système sans erreur est S={1 /2, 1 }. Tout système de classes comprenant des probabilités différentes de 1 /2, 1 et 0 comprend nécessairement une infinité d'éléments. En pratique, pour des raisons évidentes de mise en œuvre, on considérera uniquement des systèmes de classes de probabilités de cardinalité finie. Toutefois, étant donné que les capteurs sont en nombre fini et que leurs sorties (quantifiées et numérisées) ne peuvent prendre qu'un nombre fini de valeurs, on démontre qu'il est possible de réaliser des fusions « sans erreurs » même à partir de systèmes de classes de probabilités de cardinalité finie.
Un premier exemple d'intérêt applicatif concerne un système de classes de probabilités formé par la réunion des deux sous-systèmes de classes sans erreur suivants :
(13)
où k est un entier positif (keN*) ainsi que le système Sk = S^HS^, qui n'est pas sans erreur. La figure 7 A illustre ces systèmes de classes de probabilités dans les cas k=1 , k=2 et k=4. On peut observer que les systèmes Sk quantifient l'intervalle [0, 1 ] de manière non uniforme, avec un pas de quantification grand près de la valeur 0,5 et de plus en plus petit lorsqu'on s'approche des valeurs 0 et 1 . Cela est doublement avantageux, car :
une probabilité de 0,5 indique une occupation incertaine ; il n'est donc pas utile d'être très précis autour de cette valeur ; par contre, la précision est utile à proximité des valeurs extrêmes 0 et 1 ;
au-delà d'une certaine valeur de |n|, les différentes valeurs des classes de probabilité pn deviennent extrêmement proches entre elles ; l'erreur introduite en tronquant les systèmes de classes est donc négligeable.
Il est préférable de choisir k de faible valeur (par exemple non supérieur à 5) pour éviter que seules les probabilités très proches de 0 ou de 1 soient échantillonnées finement. En fait, plus le capteur est précis, plus la valeur de k pourra être élevée.
Le modèle inverse de la figure 4 était discrétisé spatialement, mais la probabilité d'occupation de chaque cellule pouvait prendre n'importe quelle valeur comprise dans l'intervalle [0,1 ]. A présent, les valeurs de probabilité sont elles-mêmes discrétisées, ou quantifiées, pour appartenir au système de classes Sk (plus généralement, à un système de classes S). Ainsi, conformément à l'invention, il est nécessaire d'approcher les valeurs de probabilité du modèle inverse de la figure 4 par des éléments d'un système de classes S.
Une première possibilité consiste à remplacer les valeurs du modèle inverse - représenté par la courbe Ml sur la figure 8 - par les éléments de S les plus proches, de manière à minimiser l'erreur de quantification. Le résultat, dans le cas où le système de classes de probabilité est Si (Sk avec k=1 ) est représenté par la courbe MQP sur cette même figure 8. On voit que cette approche peut conduire à sous-estimer la probabilité d'occupation d'une
cellule, ce qui peut ne pas être acceptable dans une application de détection d'obstacles. Une alternative consiste à approcher les valeurs du modèle inverse théorique par le plus petit majorant du système de classes S (courbe MQE sur la figure 8, toujours dans le cas du système Sk). Ainsi la probabilité d'occupation n'est jamais sous-estimée, ce qui peut être un avantage pour la détection d'obstacles. Dans d'autres applications, comme le comptage de personne, ce type d'approximation peut en revanche conduire à la génération de faux-positifs.
On remarque que, quel que soit le type d'approximation considéré, le système inverse discrétisé spatialement (courbe Ml sur la figure 8) prend un nombre de valeurs qui est très faible (7 dans l'exemple de la figure 8, tout au plus 18 si on prenait la résolution maximale de la grille, fonction de l'erreur du capteur). Par conséquent, le nombre d'éléments du système S nécessaires pour l'approcher le modèle inverse est également très faible. On peut donc se limiter à considérer un sous-ensemble fini, et de petite taille, du système de classes Sk dont la cardinalité est, en principe, infinie et dénombrable.
Il a été montré plus haut, en référence aux figures 6A - 6D, que - pour un capteur donné - plus la grille d'occupation spatiale est résolue, plus la valeur maximale du modèle inverse est proche de 0,5. Or, si on se limite à des valeurs de probabilité appartenant à un système de classes S, il existe une classe de probabilité pmin qui correspond à la plus petite valeur supérieure à 0,5. Dans le cas de S-i , on a pmin=P i =2/3 ; plus généralement, pour un système de classes Sk, pmin=p =(k+1 )/(k+2). La résolution optimale de la grille d'occupation est donc celle pour laquelle la valeur maximale du modèle inverse est égale à pmin - Toute diminution ultérieure du pas de la grille augmente la charge de calcul sans apporter aucun gain en termes d'information.
Comme cela a été expliqué plus haut, l'intérêt d'utiliser des systèmes de classes de probabilité du type de Sk est que la fusion des données ne nécessite que des calculs sur les indices « n », et donc sur des entiers.
On considère d'abord le cas de 5^. Soient i, j < 0e TL. En remplaçant (13) dans (12) et en effectuant des simples calculs on trouve :
F(pi, pj) = ρ -κ.Ν (15).
On considère d'abord le cas de s . Soient i, j > 0 e Έ. En remplaçant (14) dans (12) et en effectuant des simples calculs on trouve :
Si i=0, la probabilité p, est égale à 0,5 et alors F(p,, Pj) = Pj : un capteur pour lequel la probabilité d'occupation est 0,5 n'apporte aucune information.
Reste le cas où l'une des probabilités à fusionner est inférieure à 0,5 - et relève donc de la classe S¾ - et l'autre est supérieure à 0,5 - et relève donc de la classe s . Dans ce cas on a :
i+j
• F(Vi, Vj) = Vn, n = 77^7 si i<0, j>0 et |i|≥|j| ; (17)
• F{Vi, Vj) = pn, = ^- s\ i<0, j>0 et |i|≤|j|. (18)
Le calcul des fractions entières ne donne pas, en général, un résultat entier. On peut cependant mettre en œuvre une opération de division entière « ÷ », fournissant un résultat entier - l'indice d'une classe de probabilité dons la valeur est proche du résultat réel. L'équation ci-dessus devient alors :
• F{P Pj) = V{i+j)÷{i+k-j) si i<0, j>0 et |i|≥|j| ; (19)
• F{Vi> Vj) = (i+;)÷(i-fc- si i<0, j>0 et |i|≤|j|. (20) L'erreur introduit par l'application des équations (19) et (20) est borné par la distance maximale entre deux classes successives. Les deux classes de distance maximale sont p0 et pi , par conséquent l'erreur maximale est donnée par
E(k)=Pl -p0=k/(2k+4) (21 ) On remarque que la situation considérée ici signifie que les deux capteurs donnent des informations contradictoires ; dans certains cas, on préférera ne pas appliquer les équations (19), (20), mais une règle de gestion des conflits, pouvant être connue de l'art antérieur. Par exemple, notamment lorsqu'il s'agit d'éviter des collisions potentiellement dangereuses, il peut être préférable de prendre l'estimation de probabilité d'occupation la plus élevée ; dans ce cas on a donc simplement :
F(pi, pj) = max.(Vu Vj) (22)
Un autre exemple de système de classes présentant un intérêt applicatif peut être défini par récurrence.
Soit p une probabilité d'occupation strictement comprise entre 0,5 et 1 : 0,5<p<1. On définit alors par récurrence la suite pn de la façon suivante :
On étend ensuite la définition de pn aux valeurs entières négatives de n de la façon suivante :
On définit ensuite les deux systèmes de classes suivants, de paramètre pe ]0,5, 1 [ :
Gp + = {(pn),n > 0} (25) Gp = {(Pn),n≤ 0} (26) où pn est défini par (22) ou (23), selon que n soit positif ou négatif. Par constructions, les classes G~ et sont sans erreur. En effet, si on note fp la fonction à une variable qui, à une probabilité x, associe fp(x)=F(x,p), on voit immédiatement que Vi G N*, p£ = /p £(p), où l'exposant « i » signifie « composé i fois avec lui-même ». Par conséquent : Vu Pj) = P (fj(p),fj(p)) = fp i+J(p) = Pi+j (27)
On en déduit que G+est sans erreur. En remarquant que Vx, E [0,l] on a F(1 -x, 1— y)=1 -F(x,y), on peut appliquer le même raisonnement à G ~ , qui est donc aussi sans erreur.
En posant Gp = Gp \ Gp , on obtient un nouveau système de classes pouvant être utilisé dans une méthode de fusion de données selon l'invention. Ce qui est remarquable est que - contrairement au système Sk défini plus haut, Gp est sans erreur sur tout son ensemble de définition.
L'équation (27) permet de trouver la formule de fusion des classes dans Gp :
Fd(i, j) = i + j V i, j G TL (28)
De plus, le paramètre p permet de contrôler finement l'erreur introduite par la quantification ; en effet si on pose p=1 /2 + ε on a :
Ε(ρ)=Ρι -ρ0=ε (29) Le système Gp est très intéressant car il permet de réaliser la fusion entière de la manière la plus simple possible (une addition entière) et sans erreur, et de maîtriser l'erreur introduite par la quantification par le choix du paramètre p.
La figure 7B illustre le système Gp pour trois valeurs du paramètre p : 0,52 ; 0,55 et 0,7.
La figure 9A illustre l'application de l'invention à un véhicule terrestre V équipé d'un capteur de distance C, par exemple un télémètre laser à balayage mécanique (LI DAR). Ce capteur est configuré pour effectuer une pluralité de balayages unidimensionnels de l'espace à l'avant du véhicule, chaque balayage définissant une « nappe » d'acquisition. De préférence, on réalise une pluralité de nappes N1 , N2... à des hauteurs différentes. Lors de chaque balayage, le capteur produit un vecteur de mesures z, dont chacune est indicative de la présence d'un obstacle - piéton, autre véhicule, arbre sur le bord de la route ... - dans une direction respective et de sa distance (par exemple, lorsque z prend sa valeur maximale, cela signifie qu'il n'y a pas d'obstacle détecté dans la limite de portée du capteur). En variante, une pluralité de capteurs co-localisés (c'est-à-dire ayant le même point d'origine
pour la mesure de la distance) peut permettre de réaliser de manière simultanée une pluralité de nappes d'acquisition.
La figure 9B illustre un système de perception d'obstacles adapté à cette application. Ce système comprend ledit capteur C (ou un ensemble de capteurs colocalisés) et un module de traitement de données MTD1 recevant en entrée les vecteurs de mesures correspondant à chaque nappe d'acquisition du capteur et fournissant à sa sortie un signal (typiquement un vecteur d'entiers) représentatif d'une grille d'occupation obtenue par fusion des données de ces nappes d'acquisition.
Dans le mode de réalisation de la figure 9B, le module de traitement de données MTD1 comprend une pluralité de blocs matériels de calcul de probabilités d'occupation, CO-| ...CONc et un bloc matériel de calcul F dit de consolidation ou de fusion. Chaque bloc de calcul de probabilités d'occupation COk comprend une mémoire stockant, sous la forme d'une table de correspondance, un modèle inverse de la nappe d'indice k du capteur C, discrétisé au moyen d'un système de classes de probabilité, par exemple S-i . On parle ici de « modèle inverse de la nappe » car ce sont les mesures des différentes nappes qu'on fusionne. Si un seul capteur est utilisé pour acquérir plusieurs nappes, ce capteur unique est en fait équivalent à une pluralité de capteurs acquérant une nappe chacun, et ayant chacun son propre modèle inverse (même si tous ces modèles inverses peuvent être identiques).
Chaque bloc de traitement COk reçoit donc en entrée les mesures correspondant à une nappe d'acquisition zk (références z-| ...zNC) respective, et fournit en sortie une grille d'occupation, sous la forme un vecteur d'entiers gk représentant les indices des classes de probabilités associées aux différentes cellules de la grille. Ainsi, la grille gk renferme les informations d'occupation estimées à l'aide des mesures de la nappe k uniquement, c'est-à- dire du vecteur de mesures zk.
Le bloc matériel de consolidation F comprend quatre circuits logiques combinatoires F-i , F2, F3 et F4 mettant en œuvre les équations (15),
(1 6), (19) et (20) respectivement ; il reçoit à son entrée les grilles d'occupation g-i ...gNc et fournit à sa sortie une grille d'occupation « consolidée »,
représentée à son tour par un vecteur d'entiers, indices des classes de probabilités associées aux différentes cellules de cette grille consolidée.
Comme cela a été expliqué plus haut, les équations (19) et (20) peuvent ne pas être mises en œuvre ; ainsi les blocs F3 et F4 peuvent être absent, ou être remplacés par des circuits de gestion des conflits de détection, par exemple, mettant en œuvre la règle exprimée par l'équation 21 (choix de la probabilité maximale).
Si les modèles inverses associés aux différentes nappes d'acquisition sont identiques, les blocs COi ... CONC sont aussi identiques, et peuvent être remplacés par un bloc matériel de calcul de probabilités d'occupation unique, effectuant les traitements de manière séquentielle.
Le module de traitement de données MTD1 peut aussi être associé à tout autre type de capteurs de distance.
Les figures 10A et 10B se rapportent à un autre mode de réalisation de l'invention, utilisant plusieurs capteurs disposés à des emplacements différents qui coopèrent pour fournir une grille d'occupation construite à l'aide de mesures effectuées depuis différents points de vue. Les capteurs peuvent être hétérogènes technologiquement, en précision, portée, champ de vision et/ou rapidité d'acquisition. Dans ce mode de réalisation la distance du premier obstacle est une information relative au capteur qui fait la mesure. Un exemple schématique du scénario est représenté sur la figure 10A, montrant deux capteurs Ci et C2 placés à différentes positions et ayant des portées et des champs de vision différents. Ainsi l'obstacle O est vu à des distances complètement différentes par Ci et C2.
Dans ce mode de réalisation, la principale difficulté réside dans le fait que la grille d'occupation d'une part et les capteurs d'autres parts ont chacun un repère propre qui leur est associé. Ainsi, l'évaluation de l'emplacement des obstacles requiert d'effectuer des changements de repères.
La figure 10B illustre un système de perception d'obstacles selon un tel mode de réalisation de l'invention. Ce système comprend, de manière générale, « NC » capteurs non co-localisés et potentiellement hétérogènes C-i , C2 ... CNc et un module de traitement de données MTD2. Ce dernier se différencie du module de traitement de données MTD1 de la figure
9B en ce qu'il comprend aussi, intercalés entre les blocs matériels de calcul de probabilités d'occupation CO1 .. . CONC et le bloc matériel de consolidation F, de blocs de changement de repère Ri ... RNc- Chacun de ces blocs Rk contient des unités de calcul, généralement en virgule flottante, pour effectuer le changement du repère d'un capteur respectif vers le repère de la grille d'occupation dite « de consolidation » par rapport à laquelle est effectuée la fusion des données. Le calcul effectué pour le changement de repère consiste à réaffecter l'occupation d'un emplacement connu dans le repère d'un capteur Ck (exprimé par un vecteur d'entiers gk) à la cellule correspondante dans le repère de la grille de consolidation. On représente par g1 ... gNC les vecteurs d'entiers représentatifs des occupations des cellules de la grille de consolidation. Cette réaffectation suppose le calcul de translations, rotations, etc. Le traitement des blocs Rk peut par exemple être réalisé en utilisant une unité arithmétique flottante d'un processeur embarqué (FPU : Floating Point Unit). Dans ce cas un même bloc matériel peut effectuer le calcul pour l'ensemble des blocs Rk (traitement séquentiel).
En variante, les équations de changement de répère peuvent être mémorisées dans des tables de conversion stockées dans des mémoires contenues dans les modules Rk. Ainsi, même dans ce cas, on peut s'affranchir du calcul en virgule flottante et n'effectuer que des opérations sur des entiers. Par contre, ces tables de conversion peuvent être assez volumineuses et leur stockage avoir un coût non négligeable en termes de surface de silicium.
La figure 1 1 illustre un troisième mode de réalisation de l'invention dans lequel un capteur unique C, non représenté, acquiert des mesures scalaires ou vectorielles zt, zt+-i , ...zx+m ... à une cadence d'acquisition
N fois plus élevée de ce qui est requis pour une application déterminée. Un bloc matériel de calcul de probabilités d'occupation CO produit une grille d'occupation gt, gt+i , ...gt+m - - - pour chacune de ces mesures. Puis un bloc matériel de fusion F fusionne N de ces grilles, acquises à des instants successifs, en une seule grille consolidée gfus ; les grilles d'occupation consolidées gfUS sont donc générées à une cadence N fois moins élevée que la cadence d'application du capteur. Par exemple, si le capteur C fonctionne à une
cadence de 100 Hz et une cadence de 10 Hz suffit pour l'application visée, on peut fusionner 10 acquisitions successives.
Dans les modes de réalisation des figures 9B, 10B et 1 1 on a considéré le cas où les traitements - ou au moins certains d'entre eux - sont réalisés par des blocs de calcul matériels, c'est-à-dire des circuits numériques dédiés. L'invention se prête cependant aussi à une mise en œuvre totalement ou partiellement logicielle, dans laquelle les traitements - ou au moins certains d'entre eux - sont réalisés par un processeur générique programmé de manière opportune.
Claims
1 . Procédé de perception de corps matériels (O) comportant les étapes suivantes, mises en œuvre par un ordinateur ou un circuit électronique numérique dédié (MTD1 , MTD2) :
a) Acquisition d'une pluralité de mesures de distance (zi ... zNC) desdits corps matériels issues d'un ou plusieurs capteurs (Ci ... CNc) ;
b) Application, à chaque dite mesure de distance, d'un modèle inverse du capteur correspondant sur une grille d'occupation (GO) fournissant une représentation spatiale discrétisée d'un environnement dudit capteur, pour déterminer une probabilité d'occupation par un corps matériel d'un ensemble de cellules de ladite grille d'occupation ; et
c) Construction d'une grille d'occupation consolidée dont chaque cellule présente une probabilité d'occupation calculée par fusion des probabilités d'occupation estimées lors de l'étape b) ;
caractérisé en ce que chaque dit modèle inverse de capteur est un modèle discret, associant à chaque cellule de la grille d'occupation correspondante, et pour chaque mesure de distance, une classe de probabilité choisie à l'intérieur d'un même ensemble de cardinalité finie, chaque dite classe de probabilité étant identifiée par un indice entier ; et en ce que, lors de ladite étape c), la probabilité d'occupation de chaque cellule de la grille d'occupation consolidée est déterminée au moyen de calculs entiers effectués sur les indices des classes de probabilités déterminées lors de ladite étape b).
2. Procédé selon la revendication 1 dans lequel ledit ensemble de cardinalité finie de classes de probabilité est formé par l'union d'un ou plusieurs sous-ensembles tels que, lors de ladite étape c), la fusion de deux classes de probabilité appartenant à un même sous-ensemble fournisse un résultat appartenant aussi audit sous-ensemble.
3. Procédé selon l'une des revendications précédentes dans lequel ledit ensemble de cardinalité finie de classes de probabilité constitue une
discrétisation non uniforme de l'intervalle de probabilité [0, 1 ], avec un pas de discrétisation augmentant entre 0 et 0,5, puis diminuant entre 0,5 et 1 .
4. Procédé selon les revendications 2 et 3 dans lequel ledit ensemble de cardinalité finie de classes de probabilité, désigné par Sk, est formé par l'union de deux sous-ensembles S et s définis par :
si = F" = ' "≥ °]
l'indice n prenant des valeurs entières relatives et le paramètre k étant un entier relatif non nul, et dans lequel, lors de ladite étape c), la fusion F(pi, pj) entre deux classes de probabilités p,, Pj e Sk est calculée par application des équations suivantes lorsque les indices « i » et « j » ont le même signe :
• F(pi,pj)=pi+j-k.i.j si i,j<0;
• F(pi,pj)=pi+j+k.i.j si i,j>0.
5. Procédé selon la revendication 4 dans lequel, lors de ladite étape c), la fusion F(p,, pj) entre deux classes de probabilités p,, Pj e Sk est calculée par application des équations suivantes lorsque les indices « i » et « j » ont des signes opposés :
• F(pi,pj)= P(i+j)÷(i+kj) si i<0, j>0 et |i|≥|j| ;
· F(pi,pj)= P(i+j)÷(i-k.i) si i<0, j>0 et |i|≤|j|.
où le symbole ÷ désigne une division entière.
6. Procédé selon l'une des revendications 4 ou 5 dans lequel k=1 .
7. Procédé selon la revendication 3 dans lequel ledit ensemble de cardinalité finie de classes de probabilité, désigné par Gp , est formé par l'union de deux sous-ensembles G~ et définis par :
Gp = {(Pn)> n≤ 0}
G = {{Pn), n≥0}
l'indice n prenant des valeurs entières relatives, p étant un paramètre de valeur strictement comprise entre 0,5 et 1 et les probabilité pn étant définies par récursion de la manière suivante :
p0=0,5 ;
et dans lequel, lors de ladite étape c), la fusion F(p,, Pj) entre deux classes de probabilités p,, Pj e Gp est calculée par application de l'équation suivante :
F (Pù Pj) = Pi+j
8. Procédé selon l'une des revendications précédentes dans lequel ladite étape c) comprend la mise en œuvre de changements de repère pour construire ladite grille d'occupation consolidée à partir de probabilités d'occupation de cellules de grilles d'occupation associées à des capteurs non co-localisés.
9. Procédé selon l'une des revendications précédentes comportant également une étape préliminaire de construction des modèles inverses d'au moins un dit capteur sur la grille d'occupation correspondante, mise en œuvre par application de l'équation suivante :
ou :
• P(OÎ | Z) représente la probabilité d'occupation de la cellule d'indice « i » de la grille d'occupation, lesdites cellules étant ordonnées par distance croissante dudit capteur ;
• N est le nombre de cellules de ladite grille d'occupation ;
• z représente une mesure de distance issue du capteur ; et
• p(z|xk) représente le modèle direct du capteur, exprimant la densité de probabilité de la mesure « z » fournie par le capteur lorsque la position xk de la cellule k de la grille d'occupation, mais aucune autre cellule plus proche du capteur, est occupée par un corps matériel.
10. Procédé selon l'une des revendications précédentes comportant également une étape préliminaire de détermination d'une résolution spatiale d'au moins une dite grille d'occupation, ladite résolution spatiale étant choisi la plus petite compatible avec la contrainte max[p(z|xk)]≥pmin, où p(z|xk) est un modèle direct du capteur, exprimant la densité de probabilité de la mesure « z » fournie par le capteur lorsque la cellule xk de la grille d'occupation, mais aucune autre cellule plus proche du capteur, est occupée par un corps matériel, et pmin est la plus petite classe de probabilité appartenant audit ensemble et supérieure à 0,5.
1 1 . Système de perception de corps matériels comprenant : - au moins un port d'entrée pour recevoir une pluralité de signaux , zNC) représentatifs de mesures de distance desdits corps matériels issues d'un ou plusieurs capteurs ;
un module de traitement de données (MTD1 , MTD2) configuré pour recevoir en entrée lesdits signaux et les utiliser pour construire une grille d'occupation consolidée en appliquant un procédé selon l'une des revendications 1 à 8 ; et
au moins un port de sortie pour un signal (gfUS) représentatif de ladite grille d'occupation consolidée.
12. Système selon la revendication 1 1 comprenant également un ou plusieurs capteurs de distance (Ci , CNC) adaptés pour générer des signaux représentatifs d'une pluralité de mesures de distance desdits corps matériels et reliés audit ou auxdits ports d'entrée.
13. Système selon l'une des revendications 1 1 ou 1 2 dans lequel ledit module de traitement de données comprend au moins un bloc matériel de calcul de probabilités d'occupation (COi ... COnNc) comprenant une mémoire stockant, sous la forme d'une table de correspondance, un modèle inverse d'un capteur associant à chaque mesure de distance un vecteur d'entiers représentant des indices de classes de probabilité associées à des cellules respectives d'une grille d'occupation.
14. Système selon l'une des revendications 1 1 à 13 dans lequel ledit module de traitement de données comprend un bloc matériel de calcul entier, dit de consolidation (F), configuré pour recevoir en entrée une pluralité d'entiers représentant des indices de classes de probabilité associées à des cellules de grilles d'occupation respectives, et pour calculer un indice d'une classe de probabilité associée à une cellule de ladite grille d'occupation consolidée.
15. Système selon la revendication 14 lorsqu'elle dépend de la revendication 13 dans lequel ledit module de traitement de données comprend aussi au moins un bloc de calcul, dit de changement de repère (R-i , RNc), configuré pour :
recevoir en entrée au moins un premier vecteur d'entiers, issu d'un bloc matériel de calcul de probabilités d'occupation correspondant et représentant des indices de classes de probabilité associées à des cellules respectives d'une grille d'occupation ;
le convertir en un second vecteur d'entiers représentant des indices de classes de probabilité associées à des cellules respectives d'une autre grille d'occupation, coïncidant spatialement avec ladite grille d'occupation consolidée ; et
- fournir ledit second vecteur d'entier en entrée dudit bloc matériel de consolidation.
16. Système selon l'une des revendications 1 1 ou 1 2 dans lequel ledit module de traitement de données est configuré pour recevoir en entrée des signaux , zNC) représentatifs de mesures de distance acquises successivement par un même capteur ou des capteurs co-localisés et pour construire une grille d'occupation consolidée à partir d'une pluralité de ces signaux, correspondant à des instants d'acquisition successifs.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP16775572.7A EP3353720B1 (fr) | 2015-09-22 | 2016-09-22 | Procede et systeme de perception de corps materiels |
| US15/753,540 US11397901B2 (en) | 2015-09-22 | 2016-09-22 | Method and system for perceiving physical bodies |
| JP2018512239A JP6869230B2 (ja) | 2015-09-22 | 2016-09-22 | 物体を認識する方法およびシステム |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1558919A FR3041451B1 (fr) | 2015-09-22 | 2015-09-22 | Procede et systeme de perception de corps materiels |
| FR1558919 | 2015-09-22 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017050890A1 true WO2017050890A1 (fr) | 2017-03-30 |
Family
ID=54783801
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2016/072530 Ceased WO2017050890A1 (fr) | 2015-09-22 | 2016-09-22 | Procede et systeme de perception de corps materiels |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11397901B2 (fr) |
| EP (1) | EP3353720B1 (fr) |
| JP (1) | JP6869230B2 (fr) |
| FR (1) | FR3041451B1 (fr) |
| WO (1) | WO2017050890A1 (fr) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3594719A1 (fr) | 2018-07-13 | 2020-01-15 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Procédé et appareil de detection de l'environnement au moyen d'un capteur de distance grand angle |
| EP3734388A1 (fr) | 2019-04-29 | 2020-11-04 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Procédé et appareil permettant d'effectuer une localisation et une cartographie simultanées |
| US11105911B2 (en) | 2017-02-16 | 2021-08-31 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method and system for contextualized perception of physical bodies |
| EP3926434A1 (fr) | 2020-06-18 | 2021-12-22 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Procédé et appareil permettant d'effectuer une localisation d'un corps mobile basée sur une grille |
| EP3968219A1 (fr) | 2020-09-14 | 2022-03-16 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Procédé et système de détection coopérative de corps matériels dans un environnement |
| WO2023222597A1 (fr) | 2022-05-17 | 2023-11-23 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Procede et systeme de perception de corps materiels a balayage optimise |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR3052275A1 (fr) | 2016-06-03 | 2017-12-08 | Commissariat Energie Atomique | Procede et systeme de determination de cellules traversees par un axe de mesure ou de visualisation |
| US10635913B2 (en) * | 2016-10-17 | 2020-04-28 | Mediatek Inc. | Path planning method and related navigation device |
| DE102017217972A1 (de) * | 2017-10-10 | 2019-04-11 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Erzeugen eines inversen Sensormodells und Verfahren zum Erkennen von Hindernissen |
| US11449705B2 (en) | 2019-01-08 | 2022-09-20 | Motional Ad Llc | Field theory based perception for autonomous vehicles |
| US11168985B2 (en) * | 2019-04-01 | 2021-11-09 | GM Global Technology Operations LLC | Vehicle pose determining system and method |
| RU2744012C1 (ru) | 2019-12-24 | 2021-03-02 | Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" | Способы и системы для автоматизированного определения присутствия объектов |
| DE102021112349A1 (de) | 2020-05-12 | 2021-11-18 | Motional Ad Llc | Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters |
| FR3116640B1 (fr) | 2020-11-20 | 2023-11-17 | Commissariat Energie Atomique | Procédé itératif d’estimation du mouvement d’un corps matériel par génération d’une grille de mouvement filtrée |
| FR3143814B1 (fr) | 2022-12-16 | 2025-03-28 | Commissariat Energie Atomique | Procédé de caractérisation de l’environnement d’un porteur mobile, produisant une grille d’espace statique et/ou une grille d’espace libre |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102009007395A1 (de) | 2008-03-25 | 2009-10-01 | Volkswagen Ag | Verfahren zur kartenbasierten Umfelddarstellung eines Fahrzeugs |
| US20140035775A1 (en) | 2012-08-01 | 2014-02-06 | GM Global Technology Operations LLC | Fusion of obstacle detection using radar and camera |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2890774B1 (fr) * | 2005-09-09 | 2007-11-16 | Inst Nat Rech Inf Automat | Procede d'assitance a la conduite d'un vehicule et dispositif associe ameliore |
| JP5206752B2 (ja) * | 2010-08-30 | 2013-06-12 | 株式会社デンソー | 走行環境認識装置 |
-
2015
- 2015-09-22 FR FR1558919A patent/FR3041451B1/fr active Active
-
2016
- 2016-09-22 WO PCT/EP2016/072530 patent/WO2017050890A1/fr not_active Ceased
- 2016-09-22 EP EP16775572.7A patent/EP3353720B1/fr active Active
- 2016-09-22 JP JP2018512239A patent/JP6869230B2/ja active Active
- 2016-09-22 US US15/753,540 patent/US11397901B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102009007395A1 (de) | 2008-03-25 | 2009-10-01 | Volkswagen Ag | Verfahren zur kartenbasierten Umfelddarstellung eines Fahrzeugs |
| US20140035775A1 (en) | 2012-08-01 | 2014-02-06 | GM Global Technology Operations LLC | Fusion of obstacle detection using radar and camera |
Non-Patent Citations (10)
| Title |
|---|
| A ELFES: "Occupancy Grids: A Stochastic Spatial Representation for Active Robot Perception", PROCEEDINGS OF THE SIXTH CONFERENCE ANNUAL CONFERENCE ON UNCERTAINTY IN ARTIFICIAL INTELLIGENCE (UAI-90), 27 July 1990 (1990-07-27), Corvallis, Oregon, pages 136 - 146, XP055291066 * |
| A. ELFES: "Occupancy grids: a stochastic spatial représentation for active robot perception", SIXTH CONFÉRENCE ON UNCERTAINTY IN AI, 1990 |
| J. ADARVE ET AL.: "Computing occupancy grids from multiple sensors using linear opinion pools", PROCEEDINGS - IEEE INTERNATIONAL CONFÉRENCE ON ROBOTICS AND AUTOMATION, 2012 |
| JULIEN MORAS: "Grilles de perception évidentielles pour la navigation robotique en milieu urbain", PHD THESIS, 26 September 2013 (2013-09-26), pages 1 - 198, XP055291126, Retrieved from the Internet <URL:https://tel.archives-ouvertes.fr/tel-00866300/file/These_Utc_Julien_Moras.pdf> [retrieved on 20160725] * |
| K. KONOLIGE: "Improved occupancy grids for map building", AUTONOMOUS ROBOTS, vol. 4, 1997, pages 351 - 367 |
| N.A.: "Numerical Algorithms and Roundoff Errors", 28 July 2014 (2014-07-28), XP055292485, Retrieved from the Internet <URL:https://web.archive.org/web/20140728133805/http://www.sml.ee.upatras.gr/uploadedfiles/roundofferror.pdf> [retrieved on 20160801] * |
| RAKOTOVAO TIANA ET AL: "Real-time power-efficient integration of multi-sensor occupancy grid on many-core", 2015 IEEE INTERNATIONAL WORKSHOP ON ADVANCED ROBOTICS AND ITS SOCIAL IMPACTS (ARSO), IEEE, 30 June 2015 (2015-06-30), pages 1 - 6, XP032878066, DOI: 10.1109/ARSO.2015.7428211 * |
| SCHEUNERT U ET AL: "Generalized Grid Framework for multi sensor data fusion", INFORMATION FUSION, 2008 11TH INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 30 June 2008 (2008-06-30), pages 1 - 7, XP031931930, ISBN: 978-3-8007-3092-6 * |
| T. RAKOTOVAO ET AL.: "Real-time power-efficient intégration of multi-sensor occupancy grid on many core", INTERNATIONAL WORKSHOP ON ADVANCED ROBOTICS AND ITS SOCIAL IMPACT, 30 June 2015 (2015-06-30) |
| TIANA RAKOTOVAO ET AL: "Intelligent Vehicle Perception: Toward the Integration on Embedded Many-core", 6TH WORKSHOP ON PARALLEL PROGRAMMING AND RUN-TIME MANAGEMENT TECHNIQUES FOR MANY-CORE ARCHITECTURES (PARMA), 16 September 2015 (2015-09-16), Amsterdam, Netherlands, pages 2701313, XP055291194, DOI: 10.1145/2701310.2701313> * |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11105911B2 (en) | 2017-02-16 | 2021-08-31 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method and system for contextualized perception of physical bodies |
| EP3594719A1 (fr) | 2018-07-13 | 2020-01-15 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Procédé et appareil de detection de l'environnement au moyen d'un capteur de distance grand angle |
| US11327157B2 (en) | 2018-07-13 | 2022-05-10 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Environment sensing method and apparatus using a wide-angle distance sensor |
| EP3734388A1 (fr) | 2019-04-29 | 2020-11-04 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Procédé et appareil permettant d'effectuer une localisation et une cartographie simultanées |
| EP3926434A1 (fr) | 2020-06-18 | 2021-12-22 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Procédé et appareil permettant d'effectuer une localisation d'un corps mobile basée sur une grille |
| US11550020B2 (en) | 2020-06-18 | 2023-01-10 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method and apparatus for performing grid-based locailization of a mobile body |
| EP3968219A1 (fr) | 2020-09-14 | 2022-03-16 | Commissariat à l'Energie Atomique et aux Energies Alternatives | Procédé et système de détection coopérative de corps matériels dans un environnement |
| FR3114174A1 (fr) | 2020-09-14 | 2022-03-18 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Procédé et système de détection coopérative de corps matériels dans un environnement |
| US12032385B2 (en) | 2020-09-14 | 2024-07-09 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Method and system for collaboratively detecting tangible bodies in an environment |
| WO2023222597A1 (fr) | 2022-05-17 | 2023-11-23 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Procede et systeme de perception de corps materiels a balayage optimise |
| FR3135790A1 (fr) | 2022-05-17 | 2023-11-24 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Procede et systeme de perception de corps materiels a balayage optimise |
Also Published As
| Publication number | Publication date |
|---|---|
| FR3041451A1 (fr) | 2017-03-24 |
| JP6869230B2 (ja) | 2021-05-12 |
| FR3041451B1 (fr) | 2018-02-16 |
| JP2018537745A (ja) | 2018-12-20 |
| US20180247216A1 (en) | 2018-08-30 |
| EP3353720B1 (fr) | 2023-12-20 |
| EP3353720A1 (fr) | 2018-08-01 |
| US11397901B2 (en) | 2022-07-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3353720B1 (fr) | Procede et systeme de perception de corps materiels | |
| EP3364213B1 (fr) | Procede et systeme de perception contextualisee de corps materiels | |
| EP3252615B1 (fr) | Procede et systeme de determination de cellules traversees par un axe de mesure ou de visualisation | |
| EP2599021A1 (fr) | Procede de determination optimale des caracteristiques et de la disposition d'un ensemble de senseurs de surveillance d'une zone | |
| Zang et al. | Non-fusion time-resolved depth image reconstruction using a highly efficient neural network architecture | |
| EP3968219A1 (fr) | Procédé et système de détection coopérative de corps matériels dans un environnement | |
| EP3137355A1 (fr) | Dispositif de signalisation d'objets a un module de navigation de vehicule equipe de ce dispositif | |
| WO2015185846A1 (fr) | Procédé d'analyse d'une scène dynamique, module d'analyse et programme d'ordinateur associés | |
| FR2961897A1 (fr) | Filtre de navigation pour un systeme de navigation par correlation de terrain | |
| CN111886597A (zh) | 可移动平台的障碍物检测方法、装置及可移动平台 | |
| EP4002274A1 (fr) | Procédé itératif d'estimation du mouvement d'un corps matériel par génération d'une grille de mouvement filtrée | |
| Galloway et al. | Automated crater detection and counting using the Hough transform | |
| EP4152274A1 (fr) | Système et procédé permettant de prédire une probabilité d'occupation d'un point dans un environnement, et son procédé de formation | |
| CN115497061B (zh) | 一种基于双目视觉的道路可行驶区域识别方法及装置 | |
| FR3019310A1 (fr) | Procede de geo-localisation de l'environnement d'un porteur | |
| CN112987010B (zh) | 一种用于机器人的多雷达建图的系统及方法 | |
| Kim et al. | Cloud Update of Geodetic Normal Distribution Map Based on Crowd‐Sourcing Detection against Road Environment Changes | |
| WO2021148481A1 (fr) | Procédé d'exploitation de données fournies par un lidar et calculateur associé | |
| EP4526706B1 (fr) | Procede et systeme de perception de corps materiels a balayage optimise | |
| CN116415353A (zh) | 基于自动驾驶功能的感知系统设计需求的建模方法 | |
| FR3123172A1 (fr) | Procédés de compression et de décompression d’un fichier de modèle numérique de terrain ; fichiers compressé et décompressé et produit programme d’ordinateur associés. | |
| EP4386425B1 (fr) | Procédé de caractérisation de l'environnement d'un dispositif mobile, produisant une grille d'espace statique et/ou une grille d'espace libre | |
| Chen et al. | Fusion of sparse LIDAR and uncertainty-based 3D vision for accurate depth estimation with Bayesian Kriging | |
| US20250080685A1 (en) | Motion forecasting for scene flow estimation | |
| EP1121665A1 (fr) | Procede de codage d'un maillage source, avec optimisation de la position d'un sommet resultant d'une fusion d'arete, et applications correspondantes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16775572 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15753540 Country of ref document: US |
|
| ENP | Entry into the national phase |
Ref document number: 2018512239 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |












