WO2015110762A1 - Method for determining the trajectory of a point of a moving object - Google Patents

Method for determining the trajectory of a point of a moving object Download PDF

Info

Publication number
WO2015110762A1
WO2015110762A1 PCT/FR2015/050161 FR2015050161W WO2015110762A1 WO 2015110762 A1 WO2015110762 A1 WO 2015110762A1 FR 2015050161 W FR2015050161 W FR 2015050161W WO 2015110762 A1 WO2015110762 A1 WO 2015110762A1
Authority
WO
WIPO (PCT)
Prior art keywords
points
trajectory
coordinates
point
measured
Prior art date
Application number
PCT/FR2015/050161
Other languages
French (fr)
Inventor
Thomas CREVEAUX
Isabelle ROGOWSKI
Original Assignee
Université Claude Bernard Lyon 1
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Université Claude Bernard Lyon 1 filed Critical Université Claude Bernard Lyon 1
Publication of WO2015110762A1 publication Critical patent/WO2015110762A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Definitions

  • the invention relates to a method for determining the trajectory of a point of a moving object and a method of selecting points belonging to a trajectory.
  • the invention also relates to an information recording medium and a computer for the implementation of this method.
  • US Patent Application 2007/0146370 A1 discloses such a method.
  • the selection is carried out, for a group of points, according to morphological criteria of the geometric form of the set including this group of points with respect to the shape including a group of points known as belonging to trajectories for previous moments of measurement.
  • this method requires significant computing resources to be implemented and has insufficient reliability.
  • the invention therefore relates to a method for determining the trajectory of a point of a moving object according to claim 1.
  • Embodiments of the invention may have one or more of the features of claims 3 to 6.
  • the search for a common part makes it possible to detect whether two distinct trajectories correspond in fact to the same position marker and if necessary, group these two trajectories to form only one. This makes it possible to reconstruct the trajectory of a marker even when the coordinates of this marker have not been measured at least at a time t, for example because of the temporary occultation of this marker during the movement of the object.
  • the invention also relates to an information recording medium, comprising instructions for executing a method according to the invention when these instructions are executed by an electronic computer.
  • the invention also relates to an electronic computer for implementing the invention, the electronic computer being in accordance with claim 8.
  • Figure 1 is a schematic illustration of a motion capture system
  • Fig. 2 is a flowchart of a method for determining the trajectory of a point of a moving object by means of the system of Fig. 1;
  • FIGS. 3A, 3B and 3C schematically illustrate an example of point clouds acquired during the process of FIG. 2 at different times t consecutive;
  • FIG. 1 represents a motion capture system 2 for measuring the movements of a mobile object 4,
  • the mobile object 4 is able to move over time.
  • the object 4 comprises a plurality of position markers 6, fixed on the object 4, for example on the surface of this object 4.
  • the markers 6 are configured to be visible optically.
  • the markers 6 have identical dimensions and each comprise a reflective target for infra-red radiation.
  • Object 4 is here an actor whose motions are to be measured for applications in biomechanics.
  • the markers 6 are represented by crosses arranged on the object 4.
  • the system 2 is capable of automatically acquiring a cloud of points of the object 4 at several successive instants in time, between an initial moment and a final instant.
  • Each cloud of points acquired by the system 2 at a given instant t is denoted N t and has p (t) points, called measured points.
  • the quantity p (t) is an integer greater than or equal to zero.
  • the quantity p (t) can vary from one measuring instant to another, in particular because markers 6 can be, at a given moment, temporarily hidden, making their measurement by the system 2 impossible, then that they are not hidden at another time.
  • the quantity p (t) can also vary because the system 2 can also accidentally acquire one or more points that do not correspond to the position of a marker 6. This is called measuring artifacts. For example, for the same marker 6, two distinct points are mistakenly acquired during a single instant. Such measurement artefacts may be caused by adverse optical conditions, such as the presence of reflections or the presence of a source of stray radiation.
  • each measured point corresponds to the position in the space occupied by one of the markers 6, at this moment t.
  • each measured point comprises spatial coordinates, called measured coordinates, of the position occupied at this instant t by this marker 6.
  • the measured coordinates are expressed in a reference R of the space.
  • This reference R is here an orthonormal reference three-dimensional.
  • the coordinates measured here are Cartesian coordinates. We denote x t , k, y t , k and z t , k the measured coordinates of the kth point of the cloud N t , where k is an integer belonging to the interval [1; p (t)].
  • the object 4 moves in the space between the initial and final instants.
  • the initial moment is chosen to coincide with the start of the movement of the object 4.
  • the point clouds are here acquired at regular intervals.
  • the instants t are therefore separated two by two by a time step At identical. Subsequently, for simplicity, the moments will be expressed as multiples of this time step.
  • the moments of measurement will be continuously numbered chronologically between these initial and final moments. "Instant t" will be noted any moment of measurement chosen from all the measurement times between these initial and final instants.
  • the term "measurement instant" here refers in fact to a measurement period.
  • the duration of acquisition of a cloud of points by the system 2 is so short compared to the duration between the initial and final instants as well as with respect to the time step At separating two consecutive measurements , that we consider that this duration is instantaneous.
  • the system 2 comprises here:
  • an optical measuring device 8 able to measure the position of the markers 6,
  • the device 8 comprises here:
  • an infrared radiation source configured to illuminate the object 4 by means of infra-red radiation
  • an infrared camera configured to measure the radiation reflected by the markers 6 of the object 4 when the object 4 is illuminated by the radiation source.
  • the acquisition of a cloud of points consists of recording an image of the object 4 by means of the device 8. As the markers 6 reflect the infrared radiation but the object hardly reflects them. , then the acquired image contains only images of the markers 6.
  • Each trajectory here comprises a temporally ordered sequence from the initial moment and towards the final instant of measured points, each originating from a respective acquired cloud of points.
  • the j-th trajectory TRj is denoted as follows: (Mj; Si, j; S 2 , j, Sij, S N j, j) where Mj is the number of measured points contained in this j -th trajectory.
  • Mj is here a natural integer less than or equal to n.
  • a trajectory TRj can not contain several points measured at the same time t.
  • Sij here comprises the coordinates Xij, Yij and Z of the i-th point of the trajectory TRj and a variable T, j indicating the instant t at which this i-th point has been measured.
  • the unit 10 comprises here:
  • the interface 22 is able to collect data measured by the device 8.
  • the computer 20 executes instructions contained in the support 24.
  • the support 24 comprises in particular instructions for the execution of the method of FIG. 0029] An example of use of the system 2 will now be described, with reference to the flowchart of FIG. 2 and FIGS. 1, 3 and 4.
  • the markers 6 are fixed without any degree of freedom on the object 4. Then, the object 4 is set in motion.
  • FIGS. 3A, 3B and 3C represent an example of acquired point clouds, respectively, at successive instants i-1, i and i + 1, where i is an integer belonging to the interval [1; not].
  • the point clouds each comprise a reduced number of points and are displayed in a two-dimensional plane reference.
  • a scatter plot can have at least ten or a hundred or a thousand points.
  • points belonging to a trajectory of the same marker are automatically selected by the unit 10 by means of a method 50 for selecting points belonging to a trajectory.
  • these acquired point clouds are transmitted to the unit 10 by means of the interface 22.
  • these point clouds are transmitted to the unit 10 under the form of a computer file in which are recorded the coordinates of the points forming each of these clouds and the moments of measurement of these points.
  • the points measured at the initial time each correspond to a position of one of the markers 6.
  • the trajectories are thus initialized with the position of these measured points.
  • a corresponding trajectory TRj is constructed, whose first point is this measured point.
  • the trajectories are constructed point by point by selecting, for each moment of measurement, within the acquired point clouds, following points of the trajectory from points of this same trajectory. selected at previous times. To do this, for each of the instants t of measurement and for each TRj trajectory initialized:
  • step 56 is described here in detail only to select the next point S i + ij TRj trajectory.
  • the coordinates of the next point S i + ij of each trajectory TRj are estimated.
  • the point S i + ij does not is therefore not part of the trajectory TRj, because it does not correspond to the measured coordinates of one of the markers 6.
  • the value of Mj is then equal to i.
  • the coordinates of the points Sij to Sij are therefore known because they have been previously identified during an implementation of step 56 for earlier instants 1 to i.
  • - W is a predefined parameter taking as value an integer belonging to the interval [1; Mj], and
  • k is a number equal to max (i - W, 1).
  • W 5
  • the function f is here a polynomial regression function taking for arguments the coordinates of the W points S k j to Sij and of the time variable.
  • the function f is a polynomial function of degree 1. The estimation of the coordinates thus involves a linear regression.
  • the coefficients a x and b x are computed by linear regression according to the coordinates X k j to j and T k j to T of the Mj-k points S k j to Sij already known from this trajectory TRj.
  • the coefficients a y and b y and the coefficients a z and b z are calculated in the same way except that the coordinates, respectively, Y k j to Yij and Z kJ to 3 ⁇ 4 are taken into account in place of the coordinates. X k j to Xij.
  • 5j, k the distance between the estimated point S i + i, j and the k-th measured point of the cloud N i + i.
  • distances 5j, k are then stored in a data structure, such as a matrix.
  • a data structure such as a matrix.
  • the pairs of measured coordinates and estimated coordinates that are closest to each other are then selected.
  • the distance ⁇ , ⁇ is then removed from the set of distances, so as not to be selected during subsequent iterations of the sub-operation 82.
  • the distances 5j, k o and 5 j 0 , k are also removed from all distances, regardless of the values of j and k.
  • the same measured point of the cloud can not belong to more than one trajectory TRj.
  • a trajectory TRj can not contain more than one measured point of a cloud acquired at a time t.
  • the distance 5 j0 , ko is here replaced in the set of distances by a numerical value strictly greater than the value ⁇ .
  • the sub-operation 82 is then reiterated, as long as there exists in the set of distances 5j, k strictly less than the value ⁇ .
  • each measured point whose measured coordinates are closest to one of the estimated coordinates has been added to the trajectory corresponding to these estimated coordinates.
  • TRj trajectories for which no point has been identified at this time The case of these trajectories will also be described later.
  • step 56 the operations 70 to 74 are repeated successively for each of the instants t following the initial time and until the final time.
  • the value of t is equal to n, that is to say that the final instant is reached, then operations 70 to 74 have subsequently been applied for each of the p (1) trajectories at this instant n, then the initialized p (1) TRj trajectories are considered to be constructed.
  • These p (1) TRj trajectories are then stored in a list of results. Step 56 is then considered complete.
  • trajectories TR'j are determined automatically from the remaining points which have not been identified as belonging to a trajectory during step 56.
  • p '(t) designating the number of remaining points of the cloud N t acquired, that is to say the measured points of this cloud which have not been considered as belonging to a trajectory TR j .
  • the number p '(t) is an integer less than or equal to p (t).
  • This step 100 comprises for example:
  • step 56 the application of a step identical to step 56, except that it:
  • step 100 is repeated as long as there are remaining points among the n clouds acquired.
  • secondary trajectories are constructed from the acquired point clouds temporally ordered from the final instant to the initial instant. These secondary trajectories are compared with previously defined trajectories, in particular to complete incomplete trajectories.
  • Incomplete trajectory is a path TRj which has a number of points less than the number of times of measurement.
  • a trajectory may, for example, be incomplete because the marker 6 corresponding to this trajectory has undergone a significant displacement between two consecutive instants of measurement, so that the point acquired after this important displacement has not been added to this trajectory because the estimate for this moment could not anticipate this displacement so that the acquired point is then too far from the estimated point.
  • FIG. 5 shows in greater detail an example of this step 120.
  • the step 56 is applied successively to all the clouds acquired, from the final instant to the initial instant, to form a plurality of points sequences, called inverse sequences.
  • the points of each inverted sequence are oriented temporally in the order from the final moment to the initial moment.
  • a step 124 identical to step 100, is also applied to construct other inverted suites from points remaining at the end of step 122.
  • this operation 126 includes a pairing between the formed sequences and these incomplete trajectories, in order to identify whether the points composing the sequences formed are likely to be part of the incomplete trajectories.
  • This pairing includes here in particular the search for points in common between the sequences formed and the incomplete trajectories so as to present a common part.
  • the instant t 2 being separated from the instant ti by at least one intermediate instant for which a cloud of points has been acquired, the points forming the first and second sequences being the same between the instants t 1 and t 2 .
  • Two points are here said to be the same if their coordinates are equal to 5% or close to 2% or 1%.
  • the operation 126 thus comprises here, for each pair formed of a sequence formed of an inverted continuation and of an incomplete trajectory, the search for the existence of a common part between this inverted continuation and the incomplete trajectory.
  • These pairs are here classified according to the number of points in common that they present with each other in this common part.
  • a path is created, by pairing, from the meeting of the points of the inverted sequence and of the incomplete trajectory forming the pair which, among these remaining pairs, presents the greatest number of points in common in their common part.
  • the number Y is for example greater than or equal to two or ten.
  • the trajectory TR, thus completed is formed of the points of the incomplete trajectory and points of the inverted continuation. This completed trajectory is then added to the result list. The incomplete path is then removed from the results list.
  • the system 2 can thus acquire the movements of the object 4 with greater resilience in the event of temporary masking of one or more of the markers 6.
  • the trajectories determined and contained in the result file are automatically transmitted for example by means of an output interface of the unit 10.
  • Measurement artefacts may be recorded by the system 2.
  • the quantity p (t) at a given instant may be greater than the number of markers 6 actually present on the object 4.
  • the unit 10 can be dissociated from the system 2. In this case, the unit 10 is able to automatically access a plurality of point clouds measured by a system 2.
  • the marker 6 can be made differently.
  • the marker 6 has a predetermined optical pattern.
  • the device 8 for example an optical camera, is then able to optically recognize this optical pattern among other elements by means of a pattern recognition method.
  • the markers 6 do not all have the same dimensions.
  • the device 8 can be made differently and depends in particular on the nature of the markers 6 used.
  • the radiation source of the device 8 is integrated with the camera.
  • the device 8 may comprise several cameras. In this case, each camera may have its own source of radiation. The measurement of the position of the markers is then carried out more precisely.
  • the device 8 also makes it possible to obtain a value of the measurement error of the position of the markers 6. This error can advantageously be taken into account in the method for constructing the trajectory TRj.
  • the method 50 may be performed differently.
  • the time step At can be reduced, so that the markers move little from one moment to another.
  • the determination of the trajectory is thus more precise.
  • all the acquired data can be divided into several subsets. This reduces the amount of data to be processed by the computer 20.
  • Each subset then contains the clouds acquired between times t, and t i + i.
  • the intervals delimited by the instants t, and t i + i are all included within the interval delimited by the initial and final instants.
  • the steps of the method 50 are separately applied to each of these intervals to obtain partial trajectories between these instants t, and t i + i.
  • the partial trajectories obtained from each of these subsets are then recombined to obtain the trajectories between the initial and final instants.
  • the recombination is for example carried out analogously to the operation 126.
  • the estimation carried out during the operation 70 may use non-linear regression functions, such as a polynomial regression of any degree greater than or equal to two or three, provided that there is a sufficient number W of previous points.
  • W is greater than or equal to two or three or ten.
  • f is a quadratic function of the time variable.
  • a i + i, j a x * (i + 1) 2 + b x * (i + 1) + c x ;
  • ⁇ ⁇ + ⁇ a y * (i + 1) 2 + b y * (i + 1) + c y ;
  • f is a polynomial function of degree three.
  • the estimated coordinates are then calculated as follows:
  • a i + i, j a x * (i + 1) 3 + b x * (i + 1) 2 + c x * (i + 1) + d x ;
  • ⁇ ⁇ + ⁇ a y * (i + 1) 3 + b y * (i + 1) 2 + c y * (i + 1) + d y ;
  • the estimation of the coordinates can comprise the use of several different extrapolation functions. For example, estimating the coordinates of a next point involves estimating two sets of provisional coordinates of the same next point by, respectively, two distinct extrapolation steps that differ from each other in particular by the nature of the extrapolation function f used and / or the number W of points used by this function f to perform the extrapolation. These two sets of provisional coordinates are then combined to define the estimated coordinates of the point.
  • the value of W may be different.
  • the value of W may be equal to that of Mj.
  • the coordinates may be different.
  • coordinates are expressed in a two-dimensional space only.
  • the distance ⁇ ,, ⁇ can be calculated differently.
  • Other distance measurements can also be used such as, for example, Minkowski distance or Chebyshev distance (maximum coordinate difference). This makes it possible to improve the reliability of the determination of the trajectories, by privileging certain directions of the space. Indeed, when the illumination of markers 6 has anisotropy, measurement errors can occur with a higher probability in certain directions of space.
  • Step 56 can be performed differently.
  • the stop condition of the operation 74 may be chosen differently than the absence of distance less than the value ⁇ . For example, for each instant t, if the number of initialized trajectories is greater than p (t), then operation 74 continues as long as there remain measured coordinates that have not been assigned to one of the initialized trajectories. In another example, if p (t) is greater than the number of initialized trajectories, then the operation 74 continues as long as there remain initialized trajectories for which no point measured for this instant t has been affected.
  • the operation 74 is carried out by means of an optimization method, for example by means of the Hungarian algorithm (known as Kuhn-Munkres) or the Jonker-Volgenant algorithm (R. Jonker et al., Computing, Vol 38, pp. 325-340, 1987).
  • the trajectories are constructed by assigning, for each instant t, the acquired points so that the sum of the distances ⁇ ,, ⁇ defined for acquired points is minimal. This improves the reliability of trajectory determination without the need to evaluate all combinations.
  • step 56 at a time t, it is possible to decide not to add points to a trajectory TRj from this instant t if no acquired point has been added.
  • X is a predefined non-zero integer.
  • X is greater than or equal to five or ten.
  • Measured coordinates of the same point of an acquired cloud can be assigned to more than one trajectory TRj. This makes it possible to take into account a case where markers 6 are superimposed during a measurement instant. Such a situation may occur, for example, when the object 4 is an actor and markers 6 are placed near joints of this actor. In this case, during the sub-operation 82, the distances 5j, k o are not removed from the set of distances.
  • the value of ⁇ is not necessarily constant during the execution of the process. For example, the value of ⁇ is updated at each instant t as a function of the points identified at the previous instants. Similarly, at a given moment, the value of ⁇ is not necessarily the same for all the points. It may indeed be advantageous to define particular values of ⁇ specific to one or more trajectories, because some markers 6 may be subject more frequently than other markers 6 to occultations or to measurement artefacts, for example due to their position on the object 4. The value of ⁇ depends in particular on the minimum distance between the markers 6 on the object 4 and the accuracy of the estimates made. In particular, for each of the trajectories, it is possible to determine a confidence interval for each of the estimates made.
  • the ⁇ value is omitted.
  • Step 100 can be omitted. The same is true for step 120 and for step 124. Step 140 can also be omitted or performed differently.
  • the operation 126 can be performed differently.
  • the pairs can be classified according to the average distance between the points of the respective trajectories in the part of these trajectories that is common to the two trajectories.
  • sequences of points that have discontinuities instead of looking for sequences that have points in common, we look for sequences of points that have discontinuities. It is considered that there exists a discontinuity between two series of points if there are instants ⁇ and t ' 2 such that neither of the two sequences has a point between the instants t'i and t' 2 .
  • This operation therefore comprises, for each pair formed of an inverted continuation and of an incomplete trajectory, the search for the existence:
  • the operation 126 may also include the search for a discontinuity which has just been described, in addition to the search for common points, for example if, after examining whether the points sequences have common points, it remainder of points which do not present any point in common.
  • step 126 two points are said to be the same if the distance separating them is less than or equal to a previously predetermined threshold.

Abstract

The invention concerns a method for determining the trajectory of a point of a moving object provided with markers, which comprises: acquiring (32) a scatter diagram, by means of a motion capture system, at a plurality of successive moments in time; selecting (56), from the acquired diagrams, points belonging to a trajectory of a given marker; and in which the selection of a subsequent point of the trajectory at a moment in time t+1 comprises: estimating the coordinates of the subsequent point, by means of an extrapolation function taking as argument the coordinates of a plurality of preceding points of the trajectory; identifying the point in the diagram acquired at the moment in time t+1 in which the measured coordinates are closest to the estimated coordinates, and adding the point identified in this way to the sequence of points of the trajectory.

Description

PROCÉDÉ DE DÉTERMINATION DE LA TRAJECTOIRE D'UN POINT D'UN OBJET  METHOD FOR DETERMINING THE PATH OF A POINT OF AN OBJECT
MOBILE  MOBILE
[ooi] L'invention concerne un procédé de détermination de la trajectoire d'un point d'un objet mobile et un procédé de sélection de points appartenant à une trajectoire. L'invention concerne également un support d'enregistrement d'informations ainsi qu'un calculateur informatique pour la mise en œuvre de ce procédé. [Ooi] The invention relates to a method for determining the trajectory of a point of a moving object and a method of selecting points belonging to a trajectory. The invention also relates to an information recording medium and a computer for the implementation of this method.
[002] On connaît des systèmes de capture de mouvement (« motion capture System » en langue anglaise) utilisés par exemple dans le domaine de l'imagerie 3D ou de la biomécanique. Typiquement, dans ces systèmes, des marqueurs de position sont placés en des points d'un objet mobile (tel qu'un acteur) dont on veut connaître le détail des mouvements. Lors du mouvement de l'objet, un dispositif de mesure optique mesure à plusieurs instants successifs dans le temps les positions occupées par chacun de ces marqueurs de position. Le résultat de cette mesure est un ensemble de nuages de points. Des procédés connus permettent de déterminer la trajectoire de ces marqueurs en sélectionnant, au sein des nuages de points, des points qui appartiennent à la trajectoire d'un même marqueur de position. En particulier, la détermination de la trajectoire de ces marqueurs doit prendre en compte le fait que des marqueurs de position peuvent, à certains instants, être masqués lors des mouvements de l'objet mobile et donc ne pas être mesurés par le dispositif de mesure optique. Par ailleurs, le système est aussi susceptible d'enregistrer des coordonnées qui ne correspondent à aucun des marqueurs. On dit alors qu'il s'agit de coordonnées d'un artefact de mesure. Il en résulte ainsi une erreur dans la détermination de la trajectoire suivie par les marqueurs de position. [002] Motion capture systems are known, for example, used in the field of 3D imaging or biomechanics. Typically, in these systems, position markers are placed at points of a moving object (such as an actor) whose movement details are to be known. During the movement of the object, an optical measuring device measures at several successive times in time the positions occupied by each of these position markers. The result of this measurement is a set of point clouds. Known methods make it possible to determine the trajectory of these markers by selecting, within the point clouds, points which belong to the trajectory of the same position marker. In particular, the determination of the trajectory of these markers must take into account the fact that position markers may, at certain times, be masked during the movements of the moving object and therefore not be measured by the optical measuring device. . In addition, the system is also likely to record coordinates that do not match any of the markers. It is said that these are coordinates of a measurement artifact. This results in an error in the determination of the trajectory followed by the position markers.
[003] La demande de brevet US 2007/0146370 A1 (GORDON) décrit un tel procédé. Dans ce procédé, la sélection est réalisée, pour un groupe de points, en fonction de critères morphologiques de la forme géométrique de l'ensemble englobant ce groupe de points par rapport à la forme englobant un groupe de points connus comme appartenant à des trajectoires pour des instants de mesure précédents. Cependant, cette méthode nécessite des ressources informatiques importantes pour être mise en œuvre et présente une fiabilité insuffisante. [003] US Patent Application 2007/0146370 A1 (GORDON) discloses such a method. In this method, the selection is carried out, for a group of points, according to morphological criteria of the geometric form of the set including this group of points with respect to the shape including a group of points known as belonging to trajectories for previous moments of measurement. However, this method requires significant computing resources to be implemented and has insufficient reliability.
[004] De l'état de la technique est également connu des documents suivants : [004] From the state of the art is also known from the following documents:
- L. Herda et al, « Using skeleton-based tracking to increase the reliability of motion capture », Human movement science, vol. 20, p. 313-341 , janvier 2001 ; L. Herda et al, "Using skeleton-based tracking to increase the reliability of motion capture," Human Movement Science, Vol. 20, p. 313-341, January 2001;
- Ch. Bailer et al, « A user-supported tracking framework for interactive video production », CVMP13, ACM, nov. 2013. - Ch. Bailer et al, "A user-supported tracking framework for interactive video production," CVMP13, ACM, Nov. 2013.
[005] Il existe donc un besoin pour un procédé permettant de déterminer la trajectoire d'un point d'un objet mobile à partir de nuages de points mesurés par un système de capture de mouvements, ce procédé présentant une robustesse accrue. [006] L'invention concerne donc un procédé de détermination de la trajectoire d'un point d'un objet mobile conforme à la revendication 1 . [005] There is therefore a need for a method for determining the trajectory of a point of a moving object from point clouds measured by a motion capture system, this method having increased robustness. [006] The invention therefore relates to a method for determining the trajectory of a point of a moving object according to claim 1.
[007] En estimant les coordonnées du point suivant de chaque trajectoire d'un marqueur de position à partir des points de la trajectoire déjà connus pour tout ou partie des instants précédents, on obtient une estimation de la position à laquelle devrait se trouver le point mesuré du nuage acquis à l'instant suivant qui correspond à ce marqueur de position. La sélection est ainsi réalisée en repérant, s'il existe, le point dans le nuage acquis à l'instant suivant dont les coordonnées sont les plus proches de celles estimées. Il en résulte ainsi un moindre risque d'affecter un point mesuré correspondant à un marqueur, à une trajectoire d'un autre marqueur. Ainsi, on obtient une précision accrue dans la détermination des trajectoires respectives des marqueurs de position. En effet, en se basant sur le critère de proximité des coordonnées, le risque qu'un point soit affecté de façon erronée à une trajectoire est réduit.  [007] By estimating the coordinates of the next point of each trajectory of a position marker from the points of the trajectory already known for all or part of the previous instants, we obtain an estimate of the position at which the point should be located. measured cloud acquired at the next instant that corresponds to this position marker. The selection is thus performed by identifying, if it exists, the point in the cloud acquired at the next instant whose coordinates are closest to those estimated. This results in a lower risk of affecting a measured point corresponding to a marker, to a trajectory of another marker. Thus, an increased precision is obtained in the determination of the respective trajectories of the position markers. Indeed, based on the criterion of proximity of the coordinates, the risk that a point is erroneously assigned to a trajectory is reduced.
[008] Selon un autre aspect, l'invention concerne un procédé de sélection de points appartenant à une trajectoire pour la mise en œuvre du procédé de détermination de la trajectoire d'un point d'un objet mobile conforme à l'invention, conforme à la revendication 2. According to another aspect, the invention relates to a method for selecting points belonging to a path for implementing the method for determining the trajectory of a point of a moving object according to the invention, in accordance with the invention. in claim 2.
[009] Les modes de réalisation de l'invention peuvent présenter une ou plusieurs des caractéristiques des revendications 3 à 6.  Embodiments of the invention may have one or more of the features of claims 3 to 6.
[ooi o] Ces modes de réalisation présentent en outre les avantages suivants :  [ooi o] These embodiments furthermore have the following advantages:
- la réitération des opérations a] et b] sur les points restants depuis l'instant initial jusqu'à l'instant final pour construire de nouvelles trajectoires permet de prendre en compte des trajectoires de marqueurs de position pour lesquels aucune coordonnée n'a été mesurée lors de l'instant initial.  - the repetition of operations a] and b] on the remaining points from the initial moment until the final moment to build new trajectories makes it possible to take into account trajectories of position markers for which no coordinate has been measured at the initial moment.
- l'exécution de la sélection des première et seconde fois en ordonnant temporellement les points de la trajectoire dans des sens opposés puis la recherche d'une partie commune permettent de détecter si deux trajectoires distinctes correspondent en fait à un même marqueur de position et, le cas échéant, de regrouper ces deux trajectoires pour n'en former qu'une seule. Cela permet de reconstruire la trajectoire d'un marqueur même lorsque les coordonnées de ce marqueur n'ont pas été mesurées à au moins un instant t, par exemple à cause de l'occultation temporaire de ce marqueur lors du mouvement de l'objet.  the execution of the selection of the first and second times by temporally ordering the points of the trajectory in opposite directions, then the search for a common part makes it possible to detect whether two distinct trajectories correspond in fact to the same position marker and if necessary, group these two trajectories to form only one. This makes it possible to reconstruct the trajectory of a marker even when the coordinates of this marker have not been measured at least at a time t, for example because of the temporary occultation of this marker during the movement of the object.
- le choix de la valeur du nombre W prédéfini permet de contrôler la précision de l'estimation lors de l'étape a].  the choice of the value of the predefined number W makes it possible to control the accuracy of the estimate during step a].
- l'estimation de première et seconde coordonnées provisoires au moyen de fonctions d'extrapolation différentes puis la combinaison de ces première et seconde coordonnées provisoires permet d'améliorer la précision de l'estimation réalisée lors de l'étape a]. [0011] Selon un autre aspect, l'invention concerne également un support d'enregistrement d'informations, comportant des instructions pour l'exécution d'un procédé conforme à l'invention lorsque ces instructions sont exécutées par un calculateur électronique. estimating first and second provisional coordinates by means of different extrapolation functions and then combining these first and second provisional coordinates makes it possible to improve the accuracy of the estimate made during step a]. In another aspect, the invention also relates to an information recording medium, comprising instructions for executing a method according to the invention when these instructions are executed by an electronic computer.
[0012] Selon un autre aspect, l'invention concerne également un calculateur électronique pour la mise en œuvre de l'invention, ce calculateur électronique étant conforme à la revendication 8. In another aspect, the invention also relates to an electronic computer for implementing the invention, the electronic computer being in accordance with claim 8.
[0013] L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins sur lesquels :  The invention will be better understood on reading the description which follows, given solely by way of nonlimiting example and with reference to the drawings in which:
la figure 1 est une illustration schématique d'un système de capture de mouvements ;  Figure 1 is a schematic illustration of a motion capture system;
la figure 2 est un organigramme d'un procédé de détermination de la trajectoire d'un point d'un objet mobile au moyen du système de la figure 1 ;  Fig. 2 is a flowchart of a method for determining the trajectory of a point of a moving object by means of the system of Fig. 1;
- les figures 3A, 3B et 3C illustrent schématiquement un exemple de nuages de points acquis lors du procédé de la figure 2 à différents instants t consécutifs ;  FIGS. 3A, 3B and 3C schematically illustrate an example of point clouds acquired during the process of FIG. 2 at different times t consecutive;
les figures 4 et 5 sont des organigrammes d'étapes de sélection de points du procédé de la figure 2.  Figures 4 and 5 are flowcharts of point selection steps of the method of Figure 2.
[0014] Dans ces figures, les mêmes références sont utilisées pour désigner les mêmes éléments. In these figures, the same references are used to designate the same elements.
[0015] Dans la suite de cette description, les caractéristiques et fonctions bien connues de l'homme du métier ne sont pas décrites en détails.  In the following description, the features and functions well known to those skilled in the art are not described in detail.
[0016] La figure 1 représente un système 2 de capture de mouvements pour mesurer les mouvements d'un objet mobile 4,  FIG. 1 represents a motion capture system 2 for measuring the movements of a mobile object 4,
[0017] L'objet mobile 4 est apte à se déplacer au cours du temps. L'objet 4 comporte une pluralité de marqueurs de position 6, fixés sur l'objet 4, par exemple sur la surface de cet objet 4. De façon connue, les marqueurs 6 sont configurés pour être visibles optiquement. Par exemple, les marqueurs 6 présentent des dimensions identiques et comportent chacun une cible réfléchissante pour des rayonnements infra-rouges. L'objet 4 est ici un acteur dont on souhaite mesurer les mouvements pour des applications en biomécanique. Pour simplifier la figure 1 , les marqueurs 6 sont représentés par des croix disposées sur l'objet 4.  The mobile object 4 is able to move over time. The object 4 comprises a plurality of position markers 6, fixed on the object 4, for example on the surface of this object 4. In known manner, the markers 6 are configured to be visible optically. For example, the markers 6 have identical dimensions and each comprise a reflective target for infra-red radiation. Object 4 is here an actor whose motions are to be measured for applications in biomechanics. To simplify FIG. 1, the markers 6 are represented by crosses arranged on the object 4.
[0018] Le système 2 est apte à acquérir automatiquement un nuage de points de l'objet 4 à plusieurs instants successifs dans le temps, entre un instant initial et un instant final. Chaque nuage de points acquis par le système 2 à un instant t donné est noté Nt et comporte p(t) points, dits points mesurés. La quantité p(t) est un nombre entier supérieur ou égal à zéro. La quantité p(t) peut varier d'un instant de mesure à l'autre, en particulier car des marqueurs 6 peuvent être, à un instant donné, temporairement occultés, rendant leur mesure par le système 2 impossible, alors qu'ils ne sont pas occultés à un autre instant. La quantité p(t) peut aussi varier du fait que le système 2 peut aussi acquérir accidentellement un ou plusieurs points qui ne correspondent pas à la position d'un marqueur 6. On parle alors d'artefacts de mesure. Par exemple, pour un même marqueur 6, deux points distincts sont acquis de façon erronée au cours d'un même instant. De tels artefacts de mesure peuvent être causés par des conditions optiques défavorables, telles que la présence de reflets ou de la présence d'une source de rayonnement parasite. The system 2 is capable of automatically acquiring a cloud of points of the object 4 at several successive instants in time, between an initial moment and a final instant. Each cloud of points acquired by the system 2 at a given instant t is denoted N t and has p (t) points, called measured points. The quantity p (t) is an integer greater than or equal to zero. The quantity p (t) can vary from one measuring instant to another, in particular because markers 6 can be, at a given moment, temporarily hidden, making their measurement by the system 2 impossible, then that they are not hidden at another time. The quantity p (t) can also vary because the system 2 can also accidentally acquire one or more points that do not correspond to the position of a marker 6. This is called measuring artifacts. For example, for the same marker 6, two distinct points are mistakenly acquired during a single instant. Such measurement artefacts may be caused by adverse optical conditions, such as the presence of reflections or the presence of a source of stray radiation.
[0019] Dans ce qui suit, pour simplifier la description, on considère que chaque point mesuré correspond à la position dans l'espace occupée par un des marqueurs 6, à cet instant t. Autrement dit, dans cet exemple, il n'y a pas d'artefact de mesure. Ainsi, chaque point mesuré comporte des coordonnées spatiales, dites coordonnées mesurées, de la position occupée à cet instant t par ce marqueur 6. Les coordonnées mesurées sont exprimées dans un repère R de l'espace. Ce repère R est ici un repère orthonormé à trois dimensions. Les coordonnées mesurées sont ici des coordonnées cartésiennes. On note xt,k, yt,k et zt,k les coordonnées mesurées du k- ième point du nuage Nt , où k est un entier appartenant à l'intervalle [1 ; p(t)]. Par la suite, on utilisera le terme « instant de mesure » pour désigner un tel instant t. Les points d'un même nuage diffèrent les uns des autres uniquement par leurs coordonnées respectives. Typiquement, le système 2 est incapable de relever, en plus des coordonnées mesurées d'un point, une autre information qui permettrait d'identifier directement le marqueur correspondant à cette position parmi l'ensemble des marqueurs 6. In what follows, to simplify the description, it is considered that each measured point corresponds to the position in the space occupied by one of the markers 6, at this moment t. In other words, in this example, there is no measurement artifact. Thus, each measured point comprises spatial coordinates, called measured coordinates, of the position occupied at this instant t by this marker 6. The measured coordinates are expressed in a reference R of the space. This reference R is here an orthonormal reference three-dimensional. The coordinates measured here are Cartesian coordinates. We denote x t , k, y t , k and z t , k the measured coordinates of the kth point of the cloud N t , where k is an integer belonging to the interval [1; p (t)]. Subsequently, the term "moment of measurement" will be used to designate such an instant t. The points of the same cloud differ from each other only by their respective coordinates. Typically, the system 2 is unable to identify, in addition to the coordinates measured by one point, other information that would make it possible to directly identify the marker corresponding to this position among the set of markers 6.
[0020] Dans cet exemple, l'objet 4 se déplace dans l'espace entre les instants initial et final. De préférence, l'instant initial est choisi pour coïncider avec le début de la mise en mouvement de l'objet 4. Les nuages de points sont ici acquis à intervalle régulier. Les instants t sont donc séparés deux à deux par un pas de temps At identique. Par la suite, pour simplifier, les instants seront exprimés comme des multiples de ce pas de temps. Ainsi, on notera t=1 l'instant initial et t=n l'instant final où n est un entier naturel strictement supérieur à 1 . Les instants de mesure seront numérotés continûment de façon chronologique entre ces instants initial et final. On notera « instant t » un instant de mesure quelconque choisi parmi tous les instants de mesure compris entre ces instants initial et final . Cet instant pourra également être noté t=i, où i est un entier appartenant à l'intervalle [1 ; n]. Deux instants de mesure t=i et t=i+1 sont donc consécutifs. On dira aussi que l'instant t=i+1 suit immédiatement l'instant t=i.  In this example, the object 4 moves in the space between the initial and final instants. Preferably, the initial moment is chosen to coincide with the start of the movement of the object 4. The point clouds are here acquired at regular intervals. The instants t are therefore separated two by two by a time step At identical. Subsequently, for simplicity, the moments will be expressed as multiples of this time step. Thus, we note t = 1 the initial moment and t = n the final moment where n is a natural integer strictly greater than 1. The moments of measurement will be continuously numbered chronologically between these initial and final moments. "Instant t" will be noted any moment of measurement chosen from all the measurement times between these initial and final instants. This instant can also be noted t = i, where i is an integer belonging to the interval [1; not]. Two moments of measurement t = i and t = i + 1 are consecutive. We also say that the instant t = i + 1 immediately follows the moment t = i.
[0021] Le terme d'« instant de mesure » désigne ici en fait une durée de mesure. Cependant, en pratique, la durée d'acquisition d'un nuage de points par le système 2 est tellement courte par rapport à la durée s'écoulant entre les instants initial et final ainsi que par rapport au pas de temps At séparant deux mesures consécutives, que l'on considère que cette durée est instantanée. [0022] Le système 2 comporte ici : The term "measurement instant" here refers in fact to a measurement period. However, in practice, the duration of acquisition of a cloud of points by the system 2 is so short compared to the duration between the initial and final instants as well as with respect to the time step At separating two consecutive measurements , that we consider that this duration is instantaneous. The system 2 comprises here:
- un dispositif 8 de mesure optique apte à mesurer la position des marqueurs 6, et an optical measuring device 8 able to measure the position of the markers 6, and
- une unité de calcul 10 pour déterminer la trajectoire des marqueurs de l'objet 4. [0023] Le dispositif 8 comporte ici : a calculation unit 10 for determining the trajectory of the markers of the object 4. The device 8 comprises here:
- une source de rayonnement infrarouge, configurée pour éclairer l'objet 4 au moyen d'un rayonnement infra-rouge, et an infrared radiation source, configured to illuminate the object 4 by means of infra-red radiation, and
- une caméra infrarouge configurée pour mesurer les rayonnements réfléchis par les marqueurs 6 de l'objet 4 lorsque l'objet 4 est éclairé par la source de rayonnement. [0024] Dans cet exemple, l'acquisition d'un nuage de points consiste à enregistrer une image de l'objet 4 au moyen du dispositif 8. Comme les marqueurs 6 reflètent le rayonnement infrarouge mais que l'objet ne les reflète presque pas, alors l'image acquise contient uniquement des images des marqueurs 6.  an infrared camera configured to measure the radiation reflected by the markers 6 of the object 4 when the object 4 is illuminated by the radiation source. In this example, the acquisition of a cloud of points consists of recording an image of the object 4 by means of the device 8. As the markers 6 reflect the infrared radiation but the object hardly reflects them. , then the acquired image contains only images of the markers 6.
[0025] L'unité 10 est notamment programmée pour sélectionner, automatiquement, parmi les nuages de points acquis par le système 2, des points appartenant à une trajectoire d'un même marqueur. Cela permet ici de disposer d'une telle trajectoire pour chacun des marqueurs 6 entre les instants t=1 et t=n. Chaque trajectoire comporte ici une suite ordonnée temporellement depuis l'instant initial et vers l'instant final, de points mesurés, provenant chacun d'un nuage acquis respectif de points. [0026] Dans cette description, la j-ième trajectoire TRj est notée comme suit : (Mj ; Si,j ; S2,j, Sij, SNj,j) où Mj est le nombre de points mesurés contenus dans cette j-ième trajectoire. Mj est ici un entier naturel inférieur ou égal à n. Autrement dit, une trajectoire TRj ne peut pas contenir plusieurs points mesurés à un même instant t. Sij comporte ici les coordonnées Xij, Yij et Z du i-ème point de la trajectoire TRj ainsi qu'une variable T,j indiquant l'instant t auquel ce i-ème point a été mesuré. The unit 10 is in particular programmed to select, automatically, among the point clouds acquired by the system 2, points belonging to a trajectory of the same marker. This makes it possible to have such a trajectory for each of the markers 6 between the instants t = 1 and t = n. Each trajectory here comprises a temporally ordered sequence from the initial moment and towards the final instant of measured points, each originating from a respective acquired cloud of points. In this description, the j-th trajectory TRj is denoted as follows: (Mj; Si, j; S 2 , j, Sij, S N j, j) where Mj is the number of measured points contained in this j -th trajectory. Mj is here a natural integer less than or equal to n. In other words, a trajectory TRj can not contain several points measured at the same time t. Sij here comprises the coordinates Xij, Yij and Z of the i-th point of the trajectory TRj and a variable T, j indicating the instant t at which this i-th point has been measured.
[0027] L'unité 10 comporte ici : The unit 10 comprises here:
- un calculateur 20 électronique programmable ;  a programmable electronic calculator;
- une interface 22 de communications, et  a communications interface 22, and
- un support 24 d'enregistrement d'informations.  a support 24 for recording information.
[0028] L'interface 22 est apte à collecter des données mesurées par le dispositif 8. Le calculateur 20 exécute des instructions contenues dans le support 24. Le support 24 comporte notamment des instructions pour l'exécution du procédé de la figure 4. [0029] Un exemple d'utilisation du système 2 va maintenant être décrit, en référence à l'organigramme de la figure 2 et des figures 1 , 3 et 4.  The interface 22 is able to collect data measured by the device 8. The computer 20 executes instructions contained in the support 24. The support 24 comprises in particular instructions for the execution of the method of FIG. 0029] An example of use of the system 2 will now be described, with reference to the flowchart of FIG. 2 and FIGS. 1, 3 and 4.
[0030] Lors d'une étape 30, les marqueurs 6 sont fixés sans aucun degré de liberté sur l'objet 4. Puis, l'objet 4 est mis en mouvement.  In a step 30, the markers 6 are fixed without any degree of freedom on the object 4. Then, the object 4 is set in motion.
[0031] Ensuite, lors d'une étape 32, un nuage de points est automatiquement acquis par le système 2 à plusieurs instants successifs dans le temps entre les instants t=1 et t=n.  Then, during a step 32, a cloud of points is automatically acquired by the system 2 at several successive times in time between the instants t = 1 and t = n.
[0032] Les figures 3A, 3B et 3C représentent un exemple de nuages de points acquis, respectivement, à des instants i-1 , i et i+1 successifs, où i est un entier appartenant à l'intervalle [1 ; n]. Pour faciliter la lecture de ces figures 3A à 3C, les nuages de points comportent chacun un nombre de points réduit et sont affichés dans un repère plan à deux dimensions. En pratique, un nuage de points peut comporter au moins dix ou cent ou mille points. FIGS. 3A, 3B and 3C represent an example of acquired point clouds, respectively, at successive instants i-1, i and i + 1, where i is an integer belonging to the interval [1; not]. To facilitate the reading of these FIGS. 3A to 3C, the point clouds each comprise a reduced number of points and are displayed in a two-dimensional plane reference. In practice, a scatter plot can have at least ten or a hundred or a thousand points.
[0033] Ensuite, des points appartenant à une trajectoire d'un même marqueur sont automatiquement sélectionnés par l'unité 10 au moyen d'un procédé 50 de sélection de points appartenant à une trajectoire. Then, points belonging to a trajectory of the same marker are automatically selected by the unit 10 by means of a method 50 for selecting points belonging to a trajectory.
[0034] A cet effet, lors d'une étape 52, ces nuages de points acquis sont transmis à l'unité 10 au moyen de l'interface 22. Par exemple, ces nuages de points sont transmis à l'unité 10 sous la forme d'un fichier informatique dans lequel sont enregistrées les coordonnées des points formant chacun de ces nuages ainsi que les instants de mesure de ces points.  For this purpose, during a step 52, these acquired point clouds are transmitted to the unit 10 by means of the interface 22. For example, these point clouds are transmitted to the unit 10 under the form of a computer file in which are recorded the coordinates of the points forming each of these clouds and the moments of measurement of these points.
[0035] Puis, lors d'une étape 54, les trajectoires sont initialisées à partir des points mesurés lors de l'instant initial t=1 . Dans cet exemple, on considère que les points mesurés à l'instant initial correspondent chacun à une position d'un des marqueurs 6. On initialise donc les trajectoires avec la position de ces points mesurés. Ainsi, pour chacun des p(1 ) points mesurés du nuage Ni acquis à l'instant t=1 , on construit une trajectoire TRj correspondante, dont le premier point est ce point mesuré. A l'issue de cette étape 54, on dispose donc d'un nombre p(1 ) de trajectoires contenant chacune un point mesuré du nuage Ni .  Then, during a step 54, the trajectories are initialized from the points measured at the initial moment t = 1. In this example, it is considered that the points measured at the initial time each correspond to a position of one of the markers 6. The trajectories are thus initialized with the position of these measured points. Thus, for each of the p (1) measured points of the cloud Ni acquired at time t = 1, a corresponding trajectory TRj is constructed, whose first point is this measured point. At the end of this step 54, there is therefore a number p (1) of trajectories each containing a measured point of the cloud Ni.
[0036] Ensuite, lors d'une étape 56, les trajectoires sont construites point par point en sélectionnant, pour chaque instant de mesure, au sein des nuages de points acquis, des points suivants de la trajectoire à partir de points de cette même trajectoire sélectionnés aux instants précédents. Pour ce faire, pour chacun des instants t de mesure et pour chaque trajectoire TRj initialisée :  Then, during a step 56, the trajectories are constructed point by point by selecting, for each moment of measurement, within the acquired point clouds, following points of the trajectory from points of this same trajectory. selected at previous times. To do this, for each of the instants t of measurement and for each TRj trajectory initialized:
- les coordonnées du point de la trajectoire à l'instant t=i+1 , dit point suivant, sont estimées au moyen d'une fonction d'extrapolation prenant pour arguments les coordonnées de plusieurs points de la trajectoire , antérieurs à l'instant t=i+1 ;  the coordinates of the point of the trajectory at the instant t = i + 1, said next point, are estimated by means of an extrapolation function taking as arguments the coordinates of several points of the trajectory, prior to the moment t = i + 1;
- l'identification du point mesuré du nuage Ni+i qui, parmi tous les points mesurés du nuage Ni+i, présente des coordonnées mesurées les plus proches des coordonnées du point estimé. Ce point est alors dit identifié et il est ajouté à la trajectoire TRj. the identification of the measured point of the cloud N i + i which, among all the measured points of the cloud N i + i, has measured coordinates closest to the coordinates of the estimated point. This point is then said to be identified and it is added to the trajectory TRj.
[0037] La figure 4 représente plus en détail un exemple de mise en œuvre de l'étape 56 pour un instant t=i+1 donné, après que sa mise en œuvre ait permis d'identifier les points des trajectoires pour les instants précédant l'instant i+1 . Pour simplifier, l'étape 56 est décrite ici en détail uniquement pour sélectionner le point suivant Si+ij de la trajectoire TRj. FIG. 4 shows in greater detail an example of implementation of step 56 for a given instant t = i + 1, after its implementation has made it possible to identify the points of the trajectories for the moments preceding the instant i + 1. For simplicity, step 56 is described here in detail only to select the next point S i + ij TRj trajectory.
[0038] Lors d'une opération 70, les coordonnées du point suivant Si+ij de chaque trajectoire TRj sont estimées. Le symbole Si+ij est utilisé pour différentier ce point estimé du point Si+ij qui n'est pas encore identifié à cet instant t=i+1 . Le point Si+ij ne fait donc pas partie de la trajectoire TRj, car il ne correspond pas aux coordonnées mesurées d'un des marqueurs 6. During an operation 70, the coordinates of the next point S i + ij of each trajectory TRj are estimated. The symbol S i + ij is used to differentiate this estimated point from point S i + ij which is not yet identified at this time t = i + 1. The point S i + ij does not is therefore not part of the trajectory TRj, because it does not correspond to the measured coordinates of one of the markers 6.
[0039] Dans cet exemple, on suppose que le point Si+ij correspond à l'instant de mesure t=i+1 , c'est-à-dire que les i premiers points de la trajectoire TRj correspondent respectivement à des points mesurés aux instants 1 à i. La valeur de Mj est alors égale à i. Les coordonnées des points Sij à Sij sont donc connues, car elles ont été identifiées précédemment lors d'une mise en œuvre de l'étape 56 pour des instants t antérieurs 1 à i. In this example, it is assumed that the point S i + ij corresponds to the measurement instant t = i + 1, that is to say that the first i points of the trajectory TRj respectively correspond to measured points. at times 1 to i. The value of Mj is then equal to i. The coordinates of the points Sij to Sij are therefore known because they have been previously identified during an implementation of step 56 for earlier instants 1 to i.
[0040] Ici, pour chaque trajectoire, on calcule des coordonnées estimées ai+ij, βί+ij et Yi+ij pour prédire la position de chacune des coordonnées, respectivement Xi+1ij, Yi+1j et Zi+ij, qui ne sont pas encore connues. Ce calcul est ici réalisé à partir des coordonnées des W derniers points Skj à Sij déjà connus de cette trajectoire TRj, à l'aide d'une fonction d'extrapolation f prédéfinie, où : Here, for each trajectory, we calculate coordinates estimated at i + ij, βί + ij and Yi + ij to predict the position of each of the coordinates, respectively X i + 1ij , Y i + 1 j and Z i + ij, which are not yet known. This calculation is made here from the coordinates of the last W points S k j to Sij already known from this trajectory TRj, using a predefined extrapolation function f, where:
- W est un paramètre prédéfini prenant pour valeur un nombre entier appartenant à l'intervalle [1 ; Mj], et  - W is a predefined parameter taking as value an integer belonging to the interval [1; Mj], and
- k est un nombre égal à max(i - W, 1 ).  k is a number equal to max (i - W, 1).
[0041] Le choix de la valeur de W dépend de la précision souhaitée de l'estimation, du nombre de points Mj formant la trajectoire, de la fréquence d'acquisition du système, du mouvement étudié, ainsi que de la nature de la fonction f. Ici, on choisit W = 5, c'est-à-dire que les cinq points déjà connus précédant l'instant t=i+1 sont utilisés pour l'estimation.  The choice of the value of W depends on the desired precision of the estimate, the number of points Mj forming the trajectory, the frequency of acquisition of the system, the movement studied, as well as the nature of the function. f. Here, we choose W = 5, that is to say that the five already known points preceding the time t = i + 1 are used for the estimation.
[0042] La fonction f est ici une fonction de régression polynomiale prenant pour arguments les coordonnées des W points Skj à Sij et de la variable temps. Dans cet exemple, la fonction f est une fonction polynomiale de degré 1 . L'estimation des coordonnées comporte donc une régression linéaire. The function f is here a polynomial regression function taking for arguments the coordinates of the W points S k j to Sij and of the time variable. In this example, the function f is a polynomial function of degree 1. The estimation of the coordinates thus involves a linear regression.
[0043] Ainsi, les coordonnées estimées sont calculées au moyen des formules suivantes :  [0043] Thus, the estimated coordinates are calculated using the following formulas:
ai+u = ax * (i+1 ) + bx ; a i + u = a x * (i + 1) + b x ;
βί+υ = ay * (i+1 ) + by ;β ί + υ = a y * (i + 1) + b y ;
Figure imgf000009_0001
Figure imgf000009_0001
[0044] Les coefficients ax et bx sont ici calculés par régression linéaire en fonction des coordonnées Xkj à j et Tkj à T des Mj-k points Skj à Sij déjà connus de cette trajectoire TRj. Ainsi, de façon connue, on calcule ces coefficients en minimisant la quantité suivante : ∑r =k...Mj (Xrj - (ax*TrJ + bx))2, ce qui permet d'obtenir, de façon connue, par la méthode des moindres carrés :
Figure imgf000009_0002
et bx = (1 /(Mj-k)) *∑r =k...Mj (Xrj) - (ax/(Mj-k)) *∑r =k...Mj (Trj).
The coefficients a x and b x are computed by linear regression according to the coordinates X k j to j and T k j to T of the Mj-k points S k j to Sij already known from this trajectory TRj. Thus, in a known manner, these coefficients are calculated by minimizing the following quantity: Σ r = k ... Mj (X r j - (a x * T rJ + b x )) 2 , which makes it possible to obtain known way, by least squares method:
Figure imgf000009_0002
and b x = (1 / (Mj-k)) * Σ r = k ... Mj (X rj ) - (a x / (Mj-k)) * Σ r = k ... Mj (T rj ) .
[0045] Les coefficients ay et by et les coefficients az et bz sont calculés de la même façon sauf que les coordonnées, respectivement, Ykj à Yij et ZkJ à ¾ sont prises en compte à la place des coordonnées Xkj à Xij. The coefficients a y and b y and the coefficients a z and b z are calculated in the same way except that the coordinates, respectively, Y k j to Yij and Z kJ to ¾ are taken into account in place of the coordinates. X k j to Xij.
[0046] Ainsi, on obtient les coordonnées estimées ai+i,j, βί+ij et Yi+ij pour le point S ij. Ces calculs sont répétés pour estimer les coordonnées des points Si+ij pour chaque trajectoire TR,. Thus, we obtain the estimated coordinates a i + i, j, βί + ij and Y i + ij for the point S ij. These calculations are repeated to estimate the coordinates of the points S i + ij for each trajectory TR ,.
[0047] Dans le cas particulier où t = 2, alors, pour chaque trajectoire TRj, les coordonnées estimées <¾, β2,, et γ2,, du point S2,j sont définies comme étant égales aux coordonnées, respectivement Xi,,, Yij et Z'ij connues du point Sij. Autrement dit, on part de l'hypothèse que les marqueurs se sont très peu déplacés entre les instants t=1 et t=2. In the particular case where t = 2, then, for each trajectory TRj, the estimated coordinates <¾, β2 ,, and γ 2 ,, of the point S 2 , j are defined as being equal to the coordinates, respectively Xi, ,, Yij and Z'ij known from point Sij. In other words, it is assumed that the markers moved very little between the instants t = 1 and t = 2.
[0048] A l'issue de l'opération 70, on dispose d'un point estimé pour chacune des p(1 ) trajectoires TRj initialisées.  At the end of the operation 70, there is an estimated point for each of the p (1) trajectories TRj initialized.
[0049] Puis, lors d'une opération 72, les distances entre, d'une part, chacun des p(1 ) points suivants Si+i ,j estimés lors de l'opération 70 et, d'autre part, chacun des p(i+1 ) points mesurés du nuage Ni+i , sont calculées. Then, during an operation 72, the distances between, on the one hand, each of the following p (1) points S i + i, j estimated during the operation 70 and, on the other hand, each of the p (i + 1) measured points of the cloud N i + i are calculated.
[0050] On note ici 5j,k la distance entre le point estimé Si+i ,j et le k-ième point mesuré du nuage Ni+i . Cette distance 5j,k est ici calculée au moyen de la formule suivante : 5j,k = V[(ai+ij - xi+i,k)2+( i+i,j - yi+i,k)2+(Yi+ij - zi+i,k)2] . We note here 5j, k the distance between the estimated point S i + i, j and the k-th measured point of the cloud N i + i. This distance 5j, k is here calculated using the following formula: 5j, k = V [(a i + ij - x i + i, k ) 2 + ( i + i, j - y i + i, k ) 2 + (Yi + ij - z i + i, k ) 2 ].
[0051] Ces distances 5j,k sont ensuite stockées dans une structure de données, telle qu'une matrice. A l'issue de l'opération 72, on dispose donc d'un ensemble de p(1 )*p(i+ 1 ) distances 5j,k pour les différentes valeurs de j et de k. These distances 5j, k are then stored in a data structure, such as a matrix. At the end of the operation 72, we thus have a set of p (1) * p (i + 1) distances 5j, k for the different values of j and of k.
[0052] Lors d'une opération 74, on sélectionne ensuite les couples de coordonnées mesurées et de coordonnées estimées qui sont les plus proches l'un par rapport à l'autre. On choisit ici de ne prendre en compte que les distances 5j,k qui sont inférieures à une valeur maximale Δ préalablement définie. Cette valeur maximale permet de ne pas prendre en compte les coordonnées mesurées qui sont situées à une distance trop élevée de coordonnées estimées. In an operation 74, the pairs of measured coordinates and estimated coordinates that are closest to each other are then selected. We choose here to take into account only the distances 5j, k which are less than a maximum value Δ previously defined. This maximum value makes it possible not to take into account the measured coordinates which are located at a too high distance from estimated coordinates.
[0053] Pour ce faire, lors d'une sous-opération 80, on classe préalablement les distances 5j,k calculées par valeur croissante. To this end, during a sub-operation 80, the distances 5j, k calculated by increasing value are previously classified.
[0054] Ensuite, lors d'une sous-opération 82, on détermine s'il existe, dans l'ensemble de distances, une distance qui, parmi toutes les distances 5j,k calculées, présente la plus petite valeur tout en étant strictement inférieure à la valeur Δ. Then, during a sub-operation 82, it is determined whether there exists, in the set of distances, a distance which, among all the distances 5j, k calculated, has the smallest value while being strictly less than the value Δ.
[0055] On note 5j0,ko cette distance, qui correspond à la distance entre, d'une part, les coordonnées Xi+ijo, Y+ijo et Zi+i,j0 du point Si+i,jo et, d'autre part, des coordonnées Xi+i,ko, yi+ o et zi+i,k0 des points du ko-ième point du nuage N i+i . Note 5 j0 , k o this distance, which corresponds to the distance between, on the one hand, the coordinates X i + ijo, Y + ijo and Z i + i, j0 of the point S i + i, jo and, d on the other hand, of the coordinates Xi + i, k o, yi + o and z i + i, k0 points of the ko-th point of the cloud N i + i.
[0056] Si cette distance 5j0,ko existe, alors, lors d'une sous-opération 84, le point Si+i,j0 est dit être identifié comme appartenant à la trajectoire TRj0. Les coordonnées Xi+i jo, Yi+i,jo et Zi+i ,jo pour Ti+i ,j0 = i+ 1 sont ajoutées à la trajectoire TRj0 pour former le point Si+i,jo. Ces coordonnées Χ,-Η,Ρ, Yi+ijo et Zi+i,j0 se voient affecter la valeur des coordonnées, respectivement, xi+i,ko, yi+i,ko et zi+i,ko. La valeur Mj est alors incrémentée d'une unité. If this distance 5 j0 , k o exists, then, during a sub-operation 84, the point S i + i, j0 is said to be identified as belonging to the trajectory TR j0 . The coordinates Xi + ij, Y i + i, jo and Z i + i, jo for T i + i, j0 = i + 1 are added to the trajectory TR j0 to form the point If + i, jo. These coordinates Χ, -Η, Ρ, Yi + ijo and Z i + i, j0 are assigned the value of the coordinates, respectively, x i + i, k o, y i + i, k o and z i + i, k o. The value Mj is then incremented by one unit.
[0057] La distance δ ,κο est ensuite retirée de l'ensemble des distances, pour ne pas être sélectionnée lors d'itérations subséquentes de la sous-opération 82. De plus, ici, les distances 5j,ko et 5j0,k sont aussi retirées de l'ensemble des distances, quelque soient les valeurs de j et de k. En effet, ici, un même point mesuré du nuage ne peut pas appartenir à plus d'une trajectoire TRj. Une trajectoire TRj ne peut pas ici contenir plus d'un point mesuré d'un nuage acquis à un instant t. Pour ce faire, la distance 5j0,ko est ici remplacée dans l'ensemble des distances par une valeur numérique strictement supérieure à la valeur Δ. The distance δ, κο is then removed from the set of distances, so as not to be selected during subsequent iterations of the sub-operation 82. Moreover, here, the distances 5j, k o and 5 j 0 , k are also removed from all distances, regardless of the values of j and k. Indeed, here, the same measured point of the cloud can not belong to more than one trajectory TRj. A trajectory TRj can not contain more than one measured point of a cloud acquired at a time t. To do this, the distance 5 j0 , ko is here replaced in the set of distances by a numerical value strictly greater than the value Δ.
[0058] La sous-opération 82 est alors réitérée, tant qu'il existe dans l'ensemble des distances 5j,k strictement inférieures à la valeur Δ. The sub-operation 82 is then reiterated, as long as there exists in the set of distances 5j, k strictly less than the value Δ.
[0059] S'il n'existe aucune telle distance 5j0,ko, alors l'opération 74 se termine, car cela signifie qu'il n'y a aucun point du nuage acquis pouvant être identifié comme appartenant à une des trajectoires TRj. If there is no such distance 5 j0 , k o, then the operation 74 ends, because it means that there is no point of the acquired cloud that can be identified as belonging to one of the trajectories. TRj.
[0060] Ainsi, à l'issue de l'opération 74, chaque point mesuré dont les coordonnées mesurées sont les plus proches d'une des coordonnées estimées a été ajouté à la trajectoire correspondant à ces coordonnées estimées. A l'issue de cette opération 74, il peut toutefois exister des points mesurés, dits points restants, qui n'ont pas été identifiés comme appartenant à une des trajectoires TRj. Le traitement de ces points restants sera décrit plus en détail par la suite. De même, il peut également exister des trajectoires TRj pour lesquelles aucun point n'a été identifié à cet instant. Le cas de ces trajectoires sera également décrit par la suite.  Thus, at the end of the operation 74, each measured point whose measured coordinates are closest to one of the estimated coordinates has been added to the trajectory corresponding to these estimated coordinates. At the end of this operation 74, there may however exist measured points, so-called remaining points, which have not been identified as belonging to one of the trajectories TRj. The treatment of these remaining points will be described in more detail later. Similarly, there may also exist TRj trajectories for which no point has been identified at this time. The case of these trajectories will also be described later.
[0061] Pour réaliser l'étape 56 dans son intégralité, les opérations 70 à 74 sont répétées successivement pour chacun des instants t suivant l'instant initial et jusqu'à l'instant final. To perform step 56 in its entirety, the operations 70 to 74 are repeated successively for each of the instants t following the initial time and until the final time.
[0062] Par exemple, les opérations sont 70 à 74 sont d'abord appliquées pour l'instant t=2. puis pour chacun des instants suivants. Lorsque la valeur de t est égale à n, c'est-à-dire que l'instant final est atteint, puis que les opérations 70 à 74 ont ensuite été appliquées pour chacune des p(1 ) trajectoires à cet instant n, alors les p(1 ) trajectoires TRj initialisées sont considérées comme étant construites. Ces p(1 ) trajectoires TRj sont alors stockées dans une liste de résultats. L'étape 56 est alors considérée comme terminée.  For example, the operations are 70 to 74 are first applied for the moment t = 2. then for each of the following moments. When the value of t is equal to n, that is to say that the final instant is reached, then operations 70 to 74 have subsequently been applied for each of the p (1) trajectories at this instant n, then the initialized p (1) TRj trajectories are considered to be constructed. These p (1) TRj trajectories are then stored in a list of results. Step 56 is then considered complete.
[0063] En estimant les coordonnées du point suivant de chaque trajectoire d'un marqueur de position à partir des points de la trajectoire déjà connus pour les instants précédents, on obtient une estimation de la position à laquelle devrait se trouver le point mesuré du nuage acquis qui correspond à ce marqueur de position. La sélection est ainsi réalisée en repérant, s'il existe, le point dont les coordonnées sont les plus proches de celles estimées. Il en résulte ainsi un moindre risque d'affecter un point mesuré correspondant à un marqueur à une trajectoire d'un autre marqueur. En construisant les trajectoires sur la base d'un tel procédé de sélection, on obtient une précision accrue dans la détermination des trajectoires respectives des marqueurs de position. By estimating the coordinates of the next point of each trajectory of a position marker from the points of the trajectory already known for the previous instants, we obtain an estimate of the position at which the measured point of the cloud should be situated. acquired which corresponds to this position marker. The selection is thus performed by identifying, if it exists, the point whose coordinates are closest to those estimated. This results in a lower risk of affecting a point measured corresponding to a marker at a trajectory of another marker. By constructing the trajectories on the basis of such a selection method, increased accuracy is obtained in determining the respective trajectories of the position markers.
[0064] Avantageusement, lors d'une étape 100, des trajectoires TR'j sont déterminées automatiquement à partir des points restants qui n'ont pas été identifiés comme appartenant à une trajectoire lors de l'étape 56. Advantageously, during a step 100, trajectories TR'j are determined automatically from the remaining points which have not been identified as belonging to a trajectory during step 56.
[0065] On note p'(t) désignant le nombre de points restants du nuage N t acquis, c'est-à-dire les points mesurés de ce nuage qui n'ont pas été considérés comme appartenant à une trajectoire TRj. Le nombre p'(t) est un nombre entier inférieur ou égal à p(t). We denote p '(t) designating the number of remaining points of the cloud N t acquired, that is to say the measured points of this cloud which have not been considered as belonging to a trajectory TR j . The number p '(t) is an integer less than or equal to p (t).
[0066] Cette étape 100 comporte par exemple :  This step 100 comprises for example:
- la détermination du plus petit instant t0 compris entre t=1 et t=n à partir duquel il existe un point restant du nuage de points acquis à cet instant, puis, determining the smallest time t 0 between t = 1 and t = n from which there is a remaining point of the cloud of points acquired at this instant, and then
- l'application d'une étape identique à l'étape 56, sauf qu'elle : the application of a step identical to step 56, except that it:
• est réalisée pour les instants suivants de l'instant t=t0, c'est-à-dire en considérant l'instant t=t0 comme instant initial au lieu de t=1 ; • is carried out for the following instants of the instant t = t 0 , that is to say considering the instant t = t 0 as initial moment instead of t = 1;
• ne s'applique qu'aux seuls points restants.  • applies only to the remaining points.
[0067] Ainsi, les opérations constitutives 70 à 74 de l'étape 56 sont appliquées d'abord pour l'instant t=t0, pour initialiser un nombre p'(t0) de nouvelles trajectoires. Puis, ces opérations 70 à 74 sont appliquées successivement, pour chacun des instants t= t0+1 à t=n, pour construire progressivement les p'(t0) nouvelles trajectoires. Ces nouvelles trajectoires, une fois construites, sont alors ajoutées à la table de résultats. Thus, the constituent operations 70 to 74 of step 56 are first applied for the moment t = t 0 , to initialize a number p '(t 0 ) of new paths. Then, these operations 70 to 74 are applied successively, for each of the instants t = t 0 +1 to t = n, to gradually build the p '(t 0 ) new trajectories. These new trajectories, once constructed, are then added to the results table.
[0068] Avantageusement, l'étape 100 est réitérée tant qu'il existe des points restants parmi les n nuages acquis. Advantageously, step 100 is repeated as long as there are remaining points among the n clouds acquired.
[0069] Ainsi, les trajectoires de marqueurs de position dont aucune coordonnée n'a été mesurée lors de l'instant initial sont prises en compte.  Thus, the trajectories of position markers whose coordinates have not been measured at the initial time are taken into account.
[0070] Avantageusement, lors d'une étape 120, des trajectoires secondaires sont construites, à partir des nuages de points acquis ordonnés temporellement depuis l'instant final vers l'instant initial. Ces trajectoires secondaires sont comparées aux trajectoires précédemment définies, notamment pour compléter des trajectoires incomplètes. On désigne par trajectoire incomplète une trajectoire TRj qui présente un nombre de points inférieur au nombre d'instants de mesure. Une trajectoire peut par exemple être incomplète parce que le marqueur 6 correspondant à cette trajectoire a subi un déplacement important entre deux instants consécutifs de mesure, de telle sorte que le point acquis après ce déplacement important n'a pas été ajouté à cette trajectoire, car l'estimation pour cet instant ne pouvait pas anticiper ce déplacement de telle sorte que le point acquis est alors trop éloigné du point estimé.  Advantageously, during a step 120, secondary trajectories are constructed from the acquired point clouds temporally ordered from the final instant to the initial instant. These secondary trajectories are compared with previously defined trajectories, in particular to complete incomplete trajectories. Incomplete trajectory is a path TRj which has a number of points less than the number of times of measurement. A trajectory may, for example, be incomplete because the marker 6 corresponding to this trajectory has undergone a significant displacement between two consecutive instants of measurement, so that the point acquired after this important displacement has not been added to this trajectory because the estimate for this moment could not anticipate this displacement so that the acquired point is then too far from the estimated point.
[0071] La figure 5 représente plus en détail un exemple de cette étape 120. [0072] Lors d'une opération 122, l'étape 56 est appliquée successivement sur tous les nuages acquis, depuis l'instant final vers l'instant initial, pour former une pluralité de suites de points, dites suites inversées. Les points de chaque suite inversée sont orientés temporellement dans l'ordre allant de l'instant final vers l'instant initial. Ainsi, pour chaque instant t=i+1 auquel ces étapes sont appliquées, on nomme, en référence à l'étape 56 ainsi appliquée, « points précédents » de chaque suite, des points qui auront en réalité été mesurés après l'instant t+1 . Avantageusement, une étape 124, identique à l'étape 100, est également appliquée pour construire d'autres suites inversées à partir de points restants à l'issue de l'étape 122. FIG. 5 shows in greater detail an example of this step 120. During an operation 122, the step 56 is applied successively to all the clouds acquired, from the final instant to the initial instant, to form a plurality of points sequences, called inverse sequences. The points of each inverted sequence are oriented temporally in the order from the final moment to the initial moment. Thus, for each instant t = i + 1 to which these steps are applied, it is named, with reference to the step 56 thus applied, "previous points" of each sequence, points which will in fact have been measured after the instant t +1. Advantageously, a step 124, identical to step 100, is also applied to construct other inverted suites from points remaining at the end of step 122.
[0073] Ensuite, lors d'une opération 126, les suites ainsi formées sont comparées aux trajectoires, formées lors des étapes 56 et 100, qui sont incomplètes, c'est-à-dire qui présentent un nombre de points inférieur au nombre d'instants de mesures. Then, during an operation 126, the sequences thus formed are compared with the trajectories formed during steps 56 and 100, which are incomplete, that is to say which have a number of points less than the number of points. moments of measurements.
[0074] A cet effet, cette opération 126 comporte un appariement entre les suites formées et ces trajectoires incomplètes, afin d'identifier si les points composant les suites formées sont susceptibles de faire partie des trajectoires incomplètes. Cet appariement comporte ici notamment la recherche de points en commun entre les suites formées et les trajectoires incomplètes de sorte à présenter une partie commune. For this purpose, this operation 126 includes a pairing between the formed sequences and these incomplete trajectories, in order to identify whether the points composing the sequences formed are likely to be part of the incomplete trajectories. This pairing includes here in particular the search for points in common between the sequences formed and the incomplete trajectories so as to present a common part.
[0075] On considère que deux suites présentent une partie commune s'il existe des instants ti et t2 distincts entre lesquels les deux suites comportent les mêmes points, c'est-à-dire qu'il existe: It is considered that two sequences have a common part if there exist distinct instants t 1 and t 2 between which the two sequences have the same points, that is to say that there exists:
- dans la première suite, d'un premier point d'arrêt à un instant ti où la première suite s'arrête, et  in the first sequence, from a first stopping point to an instant ti where the first sequence stops, and
- dans la seconde suite, d'un second point d'arrêt à un instant t2 où la seconde suite s'arrête, in the second sequence, from a second stopping point to an instant t 2 where the second sequence stops,
l'instant t2 étant séparé de l'instant ti par au moins un instant intermédiaire pour lequel un nuage de points a été acquis, les points formant les première et seconde suite étant les mêmes entre les instants ti et t2. Deux points sont ici dits être les mêmes si leurs coordonnées sont égales à 5 % près ou à 2 % près ou à 1 % près. the instant t 2 being separated from the instant ti by at least one intermediate instant for which a cloud of points has been acquired, the points forming the first and second sequences being the same between the instants t 1 and t 2 . Two points are here said to be the same if their coordinates are equal to 5% or close to 2% or 1%.
[0076] L'opération 126 comporte donc ici, pour chaque paire formée d'une suite formée d'une suite inversée et d'une trajectoire incomplète, la recherche de l'existence d'une partie commune entre cette suite inversée et de la trajectoire incomplète. Ces paires sont ici classées en fonction du nombre de points en commun qu'elles présentent l'une avec l'autre dans cette partie commune. Tant qu'il reste des paires, dites paires restantes, présentant une partie commune d'au moins un nombre Y prédéterminé non nul de points, alors une trajectoire est créée, par appariement, à partir de la réunion des points de la suite inversée et de la trajectoire incomplète formant la paire qui, parmi ces paires restantes, présente le plus grand nombre de points en commun dans leur partie commune. Le nombre Y est par exemple supérieur ou égal à deux ou à dix. [0077] La trajectoire TR, ainsi complétée est donc formée des points de la trajectoire incomplète et des points de la suite inversée. Cette trajectoire complétée est alors ajoutée à la liste de résultats. La trajectoire incomplète est alors retirée de la liste des résultats. The operation 126 thus comprises here, for each pair formed of a sequence formed of an inverted continuation and of an incomplete trajectory, the search for the existence of a common part between this inverted continuation and the incomplete trajectory. These pairs are here classified according to the number of points in common that they present with each other in this common part. As long as there remain pairs, say remaining pairs, having a common part of at least a predetermined nonzero number Y of points, then a path is created, by pairing, from the meeting of the points of the inverted sequence and of the incomplete trajectory forming the pair which, among these remaining pairs, presents the greatest number of points in common in their common part. The number Y is for example greater than or equal to two or ten. The trajectory TR, thus completed is formed of the points of the incomplete trajectory and points of the inverted continuation. This completed trajectory is then added to the result list. The incomplete path is then removed from the results list.
[0078] Ainsi, les trajectoires qui présentent une discontinuité peuvent être identifiées et reconstruites avec une précision accrue. Le système 2 peut ainsi acquérir les mouvements de l'objet 4 avec une meilleure résilience en cas de masquage temporaire d'un ou plusieurs des marqueurs 6. Thus, trajectories that have a discontinuity can be identified and reconstructed with increased accuracy. The system 2 can thus acquire the movements of the object 4 with greater resilience in the event of temporary masking of one or more of the markers 6.
[0079] Enfin, lors d'une étape 140, les trajectoires déterminées et contenues dans le fichier de résultat sont automatiquement transmises par exemple au moyen d'une interface de sortie de l'unité 10.  Finally, during a step 140, the trajectories determined and contained in the result file are automatically transmitted for example by means of an output interface of the unit 10.
[0080] De nombreux autres modes de réalisation sont possibles.  [0080] Many other embodiments are possible.
[0081] Des artefacts de mesure peuvent être enregistrés par le système 2. Dans ce cas, la quantité p(t) à un instant donné peut être supérieure au nombre de marqueurs 6 réellement présents sur l'objet 4. Measurement artefacts may be recorded by the system 2. In this case, the quantity p (t) at a given instant may be greater than the number of markers 6 actually present on the object 4.
[0082] L'unité 10 peut être dissociée du système 2. Dans ce cas, l'unité 10 est apte à accéder automatiquement à une pluralité de nuages de points mesurés par un système 2.  The unit 10 can be dissociated from the system 2. In this case, the unit 10 is able to automatically access a plurality of point clouds measured by a system 2.
[0083] Le marqueur 6 peut être réalisé différemment. Par exemple, le marqueur 6 comporte un motif optique prédéterminé. Le dispositif 8, par exemple une caméra optique, est alors apte à reconnaître optiquement ce motif optique parmi d'autres éléments grâce à un procédé de reconnaissance de formes. En variante, les marqueurs 6 n'ont pas tous les mêmes dimensions.  The marker 6 can be made differently. For example, the marker 6 has a predetermined optical pattern. The device 8, for example an optical camera, is then able to optically recognize this optical pattern among other elements by means of a pattern recognition method. In a variant, the markers 6 do not all have the same dimensions.
[0084] Le dispositif 8 peut être réalisé différemment et dépend notamment de la nature des marqueurs 6 utilisés. En variante, la source de rayonnement du dispositif 8 est intégrée à la caméra. Le dispositif 8 peut comporter plusieurs caméras. Dans ce cas, chaque caméra peut comporter sa propre source de rayonnement. La mesure de la position des marqueurs est alors réalisée de façon plus précise.  The device 8 can be made differently and depends in particular on the nature of the markers 6 used. Alternatively, the radiation source of the device 8 is integrated with the camera. The device 8 may comprise several cameras. In this case, each camera may have its own source of radiation. The measurement of the position of the markers is then carried out more precisely.
[0085] En variante, le dispositif 8 permet en outre d'obtenir une valeur de l'erreur de mesure de la position des marqueurs 6. Cette erreur peut avantageusement être prise en compte dans le procédé pour construire la trajectoire TRj. In a variant, the device 8 also makes it possible to obtain a value of the measurement error of the position of the markers 6. This error can advantageously be taken into account in the method for constructing the trajectory TRj.
[0086] Le procédé 50 peut être réalisé différemment. En variante, pour améliorer la précision, le pas de temps At peut être réduit, de façon à ce que les marqueurs se déplacement peu d'un instant à l'autre. La détermination de la trajectoire est ainsi plus précise. Lorsque les nuages de points acquis présentent un nombre important de points (par exemple parce qu'un nombre élevé de marqueurs 6 sont fixés sur l'objet 4), on peut partager l'ensemble des données acquises en plusieurs sous-ensembles. Cela permet de réduire la quantité de données devant être traitée par le calculateur 20. Chaque sous-ensemble contient alors les nuages acquis entre des instants t, et ti+i . Les intervalles délimités par les instants t, et ti+i sont tous inclus à l'intérieur de l'intervalle délimité par les instants initiaux et finaux. Dans ce cas, les étapes du procédé 50 sont séparément appliquées sur chacun de ces intervalles pour obtenir des trajectoires partielles entre ces instants t, et ti+i . Les trajectoires partielles obtenues à partir de chacun de ces sous-ensembles sont ensuite recombinées pour obtenir les trajectoires entre les instants initiaux et finaux. La recombinaison est par exemple réalisée de façon analogue à l'opération 126. The method 50 may be performed differently. Alternatively, to improve the accuracy, the time step At can be reduced, so that the markers move little from one moment to another. The determination of the trajectory is thus more precise. When the acquired point clouds have a large number of points (for example because a high number of markers 6 are fixed on the object 4), all the acquired data can be divided into several subsets. This reduces the amount of data to be processed by the computer 20. Each subset then contains the clouds acquired between times t, and t i + i. The intervals delimited by the instants t, and t i + i are all included within the interval delimited by the initial and final instants. In this case, the steps of the method 50 are separately applied to each of these intervals to obtain partial trajectories between these instants t, and t i + i. The partial trajectories obtained from each of these subsets are then recombined to obtain the trajectories between the initial and final instants. The recombination is for example carried out analogously to the operation 126.
[0087] L'estimation réalisée lors de l'opération 70 peut utiliser des fonctions de régression autres que linéaires, comme une régression polynomiale de degré quelconque supérieur ou égal à deux ou à trois, sous réserve de disposer d'un nombre W suffisant de points précédents. Par exemple, W est supérieur ou égal à deux ou à trois ou à dix. Par exemple, f est une fonction quadratique de la variable temps. Les coordonnées estimées sont donc calculées de la façon suivante :  The estimation carried out during the operation 70 may use non-linear regression functions, such as a polynomial regression of any degree greater than or equal to two or three, provided that there is a sufficient number W of previous points. For example, W is greater than or equal to two or three or ten. For example, f is a quadratic function of the time variable. The estimated coordinates are thus calculated as follows:
ai+i,j = ax * (i+1 )2 + bx * (i+1 )+ cx ; a i + i, j = a x * (i + 1) 2 + b x * (i + 1) + c x ;
βί+υ = ay * (i+1 )2 + by * (i+1 ) + cy ; β ί + υ = a y * (i + 1) 2 + b y * (i + 1) + c y ;
Yi+u = az * (i+1 )2 + bz * (i+1 ) + cz . Yi + u = a z * (i + 1) 2 + b z * (i + 1) + c z .
[0088] Les coefficients ax, bx et cx sont alors calculés en minimisant la quantité suivante :∑r =i...i (Xrj - (ax *T2 r,j + bx *T + cx))2. Cette quantité peut être minimisée selon la méthode bien connue des moindres carrés. Aussi, on ne décrira pas ici le résultat, faute de place. Il en va de même pour les coefficients ay, by et cy et les coefficients az, bz et cz. [0088] The coefficients a x, b x c and x are then calculated by minimizing the following quantity: Σ r = i ... i (X r j - (a x 2 * T r, j + b * T + x c x )) 2 . This amount can be minimized according to the well-known least squares method. Also, we will not describe here the result, for lack of space. The same applies to the coefficients a y , b y and c y and the coefficients a z , b z and c z .
[0089] Alternativement, f est une fonction polynomiale de degré trois. Les coordonnées estimées sont alors calculées de la façon suivante :  [0089] Alternatively, f is a polynomial function of degree three. The estimated coordinates are then calculated as follows:
ai+i,j = ax * (i+1 )3 + bx * (i+1 )2+ cx * (i+1 ) + dx ; a i + i, j = a x * (i + 1) 3 + b x * (i + 1) 2 + c x * (i + 1) + d x ;
βί+υ = ay * (i+1 )3 + by * (i+1 )2 + cy * (i+1 ) + dy ; β ί + υ = a y * (i + 1) 3 + b y * (i + 1) 2 + c y * (i + 1) + d y ;
Yi+u = az * (i+1 )3 + bz * (i+1 f + cz * (i+1 ) + dz. Y i + u = a z * (i + 1) 3 + b z * (i + 1 f + c z * (i + 1) + d z .
[0090] Les coefficients ax, bx, cx et dx sont alors calculés par régression polynomiale en résolvant l'équation matricielle suivante, par exemple au moyen de la méthode de factorisation de Cholesky : The coefficients a x , b x , c x and d x are then calculated by polynomial regression by solving the following matrix equation, for example by means of the Cholesky factorization method:
Figure imgf000015_0001
[0091] Il en va de même pour les coefficients ay, by, cy et dy et les coefficients az, bz , cz, et dz.
Figure imgf000015_0001
The same applies to the coefficients a y , b y , c y and d y and the coefficients a z , b z , c z , and d z .
[0092] L'utilisation de fonctions f polynomiales de degré supérieur ou égal à deux permet d'améliorer la précision de l'estimation, en particulier pour un degré égal à deux ou trois ou quatre.  The use of polynomial functions of degree greater than or equal to two makes it possible to improve the accuracy of the estimation, in particular for a degree equal to two or three or four.
[0093] L'estimation des coordonnées peut comporter l'utilisation de plusieurs fonctions d'extrapolation différentes. Par exemple, l'estimation des coordonnées d'un point suivant comporte l'estimation de deux ensembles de coordonnées provisoires d'un même point suivant au moyen, respectivement, de deux étapes d'extrapolation distinctes qui diffèrent l'une de l'autre notamment par la nature de la fonction d'extrapolation f utilisée et/ou du nombre W de points utilisés par cette fonction f pour réaliser l'extrapolation. Ces deux ensembles de coordonnées provisoires sont ensuite combinés pour définir les coordonnées estimées du point.  The estimation of the coordinates can comprise the use of several different extrapolation functions. For example, estimating the coordinates of a next point involves estimating two sets of provisional coordinates of the same next point by, respectively, two distinct extrapolation steps that differ from each other in particular by the nature of the extrapolation function f used and / or the number W of points used by this function f to perform the extrapolation. These two sets of provisional coordinates are then combined to define the estimated coordinates of the point.
[0094] La valeur de W peut être différente. En particulier, la valeur de W peut être égale à celle de Mj .  The value of W may be different. In particular, the value of W may be equal to that of Mj.
[0095] Les coordonnées peuvent être différentes. Par exemples, les coordonnées sont exprimées dans un espace à deux dimensions seulement.  The coordinates may be different. For example, coordinates are expressed in a two-dimensional space only.
[0096] La distance δ,,κ peut être calculée différemment. Par exemple, dans le cas où l'espace ne présente que deux dimensions, alors la distance δ,,κ est calculée au moyen de la formule δ,,κ = V[(ai+i,j - χ,+ι,κ)2+(βί+ι,ί - y+ )2] - D'autres mesures de distances peuvent être aussi utilisées comme, par exemple, la distance de Minkowski ou la distance de Tchebychev (différence maximale des coordonnées). Cela permet d'améliorer la fiabilité de la détermination des trajectoires, en privilégiant certaines directions de l'espace. En effet, lorsque l'éclairage des marqueurs 6 présente une anisotropie, les erreurs de mesure peuvent survenir avec une probabilité plus élevée dans certaines directions de l'espace. The distance δ ,, κ can be calculated differently. For example, in the case where the space has only two dimensions, then the distance δ ,, κ is calculated by means of the formula δ ,, κ = V [(a i + i, j - χ, + ι, κ 2 + (βί + ι, ί - y +) 2 ] - Other distance measurements can also be used such as, for example, Minkowski distance or Chebyshev distance (maximum coordinate difference). This makes it possible to improve the reliability of the determination of the trajectories, by privileging certain directions of the space. Indeed, when the illumination of markers 6 has anisotropy, measurement errors can occur with a higher probability in certain directions of space.
[0097] L'étape 56 peut être réalisée différemment. Notamment, la condition d'arrêt de l'opération 74 peut être choisie différemment que l'absence de distance inférieure à la valeur Δ. Par exemple, pour chaque instant t, si le nombre de trajectoires initialisées est supérieur à p(t), alors l'opération 74 se poursuit tant qu'il reste des coordonnées mesurées qui n'ont pas été affectées à une des trajectoires initialisées. Dans un autre exemple, si p(t) est supérieur au nombre de trajectoires initialisées, alors l'opération 74 se poursuit tant qu'il reste des trajectoires initialisées pour lesquelles aucun point mesuré pour cet instant t n'a été affecté.  Step 56 can be performed differently. In particular, the stop condition of the operation 74 may be chosen differently than the absence of distance less than the value Δ. For example, for each instant t, if the number of initialized trajectories is greater than p (t), then operation 74 continues as long as there remain measured coordinates that have not been assigned to one of the initialized trajectories. In another example, if p (t) is greater than the number of initialized trajectories, then the operation 74 continues as long as there remain initialized trajectories for which no point measured for this instant t has been affected.
[0098] En variante, l'opération 74 est réalisée au moyen d'une méthode d'optimisation, par exemple grâce à l'algorithme hongrois (dit de Kuhn-Munkres) ou à l'algorithme de Jonker-Volgenant (R. Jonker et al, "A shortest augmenting path algorithm for dense and spare linear assignment problems", Computing, Vol. 38, pp. 325-340, 1987). Par exemple, les trajectoires sont construites en attribuant, pour chaque instant t, les points acquis de telle sorte que la somme des distances δ,,κ définies pour les points acquis soit minimale. Cela améliore la fiabilité de la détermination de la trajectoire sans avoir besoin d'évaluer toutes les combinaisons. [0099] Selon une autre variante, lors de l'étape 56, lors d'un instant t, on peut décider de ne plus ajouter des points à une trajectoire TRj à partir de cet instant t si aucun point acquis n'a été ajouté à cette trajectoire TRj au cours des X instants précédents, où X est un nombre entier non nul prédéfini. Par exemple, X est supérieur ou égal à cinq ou à dix. Autrement dit, on arrête d'ajouter des points acquis à une trajectoire lorsque l'on considère que l'estimation pour cette trajectoire présente une erreur trop importante. Cela permet d'améliorer la précision de la détermination des trajectoires. In a variant, the operation 74 is carried out by means of an optimization method, for example by means of the Hungarian algorithm (known as Kuhn-Munkres) or the Jonker-Volgenant algorithm (R. Jonker et al., Computing, Vol 38, pp. 325-340, 1987). For example, the trajectories are constructed by assigning, for each instant t, the acquired points so that the sum of the distances δ ,, κ defined for acquired points is minimal. This improves the reliability of trajectory determination without the need to evaluate all combinations. According to another variant, during step 56, at a time t, it is possible to decide not to add points to a trajectory TRj from this instant t if no acquired point has been added. to this trajectory TRj during the previous X instants, where X is a predefined non-zero integer. For example, X is greater than or equal to five or ten. In other words, we stop adding acquired points to a trajectory when we consider that the estimate for this trajectory has a too important error. This makes it possible to improve the precision of the determination of the trajectories.
[00100] Les coordonnées mesurées d'un même point d'un nuage acquis peuvent être affectées à plus d'une trajectoire TRj. Cela permet de prendre en compte un cas de figure où des marqueurs 6 sont superposés lors d'un instant de mesure. Une telle situation peut se présenter, par exemple, lorsque l'objet 4 est un acteur et que des marqueurs 6 sont placés à proximité d'articulations de cet acteur. Dans ce cas, lors de la sous-opération 82, les distances 5j,ko ne sont pas retirées de l'ensemble des distances. Measured coordinates of the same point of an acquired cloud can be assigned to more than one trajectory TRj. This makes it possible to take into account a case where markers 6 are superimposed during a measurement instant. Such a situation may occur, for example, when the object 4 is an actor and markers 6 are placed near joints of this actor. In this case, during the sub-operation 82, the distances 5j, k o are not removed from the set of distances.
[00101] La valeur de Δ n'est pas forcément constante au cours de l'exécution du procédé. Par exemple, la valeur de Δ est mise à jour à chaque instant t en fonction des points identifiés aux instants précédents. De même, à un instant donné, la valeur de Δ n'est pas forcément la même pour tous les points. Il peut en effet être avantageux de définir des valeurs particulières de Δ propres à une ou plusieurs trajectoires, car certains marqueurs 6 peuvent être plus fréquemment sujets que d'autres marqueurs 6 à des occultations ou à des artefacts de mesure, par exemple du fait de leur position sur l'objet 4. La valeur de Δ dépend alors notamment de la distance minimale qui sépare les marqueurs 6 sur l'objet 4 et de la précision des estimations réalisées. En particulier, pour chacune des trajectoires, on peut déterminer un intervalle de confiance pour chacune des estimations réalisées.  [00101] The value of Δ is not necessarily constant during the execution of the process. For example, the value of Δ is updated at each instant t as a function of the points identified at the previous instants. Similarly, at a given moment, the value of Δ is not necessarily the same for all the points. It may indeed be advantageous to define particular values of Δ specific to one or more trajectories, because some markers 6 may be subject more frequently than other markers 6 to occultations or to measurement artefacts, for example due to their position on the object 4. The value of Δ depends in particular on the minimum distance between the markers 6 on the object 4 and the accuracy of the estimates made. In particular, for each of the trajectories, it is possible to determine a confidence interval for each of the estimates made.
[00102] En variante, la valeur Δ est omise. Alternatively, the Δ value is omitted.
[00103] L'étape 100 peut être omise. Il en va de même pour l'étape 120 et pour l'étape 124. L'étape 140 peut être aussi omise ou être réalisée différemment. [00103] Step 100 can be omitted. The same is true for step 120 and for step 124. Step 140 can also be omitted or performed differently.
[00104] L'étape 120 peut s'appliquer aussi au cas où une trajectoire présente plusieurs discontinuités. Plusieurs suites inversées et trajectoires incomplètes peuvent alors être combinées pour former une trajectoire TRj. Step 120 may also apply to the case where a trajectory has several discontinuities. Several inverse sequences and incomplete trajectories can then be combined to form a trajectory TRj.
[00105] L'opération 126 peut être réalisée différemment. Par exemple, en variante, on peut classer les paires en fonction de la distance moyenne entre les points des trajectoires respectives dans la partie de ces trajectoires qui est commune aux deux trajectoires. Dans une autre variante, au lieu de rechercher des suites qui ont des points en commun, on recherche des suites de points qui présentent des discontinuités. [00106] On considère qu'il existe une discontinuité entre deux suites de points s'il existe des instants ίΊ et t'2 tels qu'aucune des deux suites ne comporte de point entre les instants t'i et t'2. [00105] The operation 126 can be performed differently. For example, alternatively, the pairs can be classified according to the average distance between the points of the respective trajectories in the part of these trajectories that is common to the two trajectories. In another variant, instead of looking for sequences that have points in common, we look for sequences of points that have discontinuities. It is considered that there exists a discontinuity between two series of points if there are instants ίΊ and t ' 2 such that neither of the two sequences has a point between the instants t'i and t' 2 .
[00107] Cette opération comporte donc, pour chaque paire formée d'une suite inversée et d'une trajectoire incomplète, la recherche de l'existence :  This operation therefore comprises, for each pair formed of an inverted continuation and of an incomplete trajectory, the search for the existence:
- dans la trajectoire incomplète, d'un premier point d'arrêt à un instant t' i , la trajectoire incomplète ne comportant plus aucun point après cet instant t'i , et  in the incomplete trajectory, from a first stopping point to an instant t 'i, the incomplete trajectory no longer having any point after this instant t'i, and
- dans la suite inversée, d'un second point d'arrêt à un instant t'2, la suite inversée ne comportant plus aucun point après cet instant t'2. in the inverted sequence, from a second stopping point to an instant t ' 2 , the inverted sequence no longer having any point after this instant t' 2 .
[00108] Si une discontinuité est trouvée, alors une trajectoire est créée comportant la réunion de la trajectoire incomplète et de la suite inversée. En outre, des points correspondant à la discontinuité sont interpolés à partir des points de la trajectoire incomplète et de la suite inversée. If a discontinuity is found, then a trajectory is created comprising the meeting of the incomplete trajectory and the inverted continuation. In addition, points corresponding to the discontinuity are interpolated from the points of the incomplete trajectory and the inverted sequence.
[00109] L'opération 126 peut également comporter la recherche d'une discontinuité qui vient d'être décrite, en complément de la recherche de points communs, par exemple si, après avoir examiné si les suites de points présentent des points communs, il reste des suites de points qui ne présentent aucun point en commun.  The operation 126 may also include the search for a discontinuity which has just been described, in addition to the search for common points, for example if, after examining whether the points sequences have common points, it remainder of points which do not present any point in common.
[00110] En variante, dans l'étape 126, deux points sont dits être les mêmes si la distance qui les sépare est inférieure ou égale à un seuil prédéterminé préalablement. In a variant, in step 126, two points are said to be the same if the distance separating them is less than or equal to a previously predetermined threshold.

Claims

REVENDICATIONS
1 . Procédé de détermination de la trajectoire d'un point d'un objet mobile, comportant : 1. A method of determining the trajectory of a point of a moving object, comprising:
- la fixation (30) d'une pluralité de marqueurs de position sur un objet mobile, lesdits marqueurs étant fixés à des emplacements différents sur cet objet mobile ; - Fixing (30) a plurality of position markers on a moving object, said markers being fixed at different locations on this moving object;
- l'acquisition automatique (32) d'un nuage de points, par un système de capture de mouvement, à plusieurs instants successifs dans le temps entre un instant initial et un instant final, chaque nuage acquis à un instant t donné comportant p(t) points, dits points mesurés, chaque point mesuré comportant des coordonnées mesurées, dans un repère, de la position occupée à cet instant t par un marqueur respectif, les points d'un même nuage différant les uns des autres uniquement par leurs coordonnées respectives ;  the automatic acquisition (32) of a cloud of points, by a motion capture system, at several successive instants in time between an initial instant and a final instant, each cloud acquired at a given instant t with p ( t) points, said measured points, each measured point having measured coordinates, in a reference, of the position occupied at this instant t by a respective marker, the points of the same cloud differing from each other only by their respective coordinates ;
- la sélection (56), au sein des nuages de points acquis, de points appartenant à une trajectoire d'un même marqueur, de manière à obtenir une suite ordonnée temporellennent de points mesurés, chacun des points mesurés de cette suite provenant d'un nuage acquis respectif de points ;  the selection (56), within the acquired point clouds, of points belonging to a trajectory of the same marker, so as to obtain an ordered temporal sequence of measured points, each of the measured points of this sequence coming from a acquired cloud respective points;
ce procédé étant caractérisé en ce que la sélection d'un point suivant de la trajectoire à un instant t+1 à partir de points précédemment sélectionnés de la même trajectoire comporte : this method being characterized in that the selection of a next point of the trajectory at a time t + 1 from previously selected points of the same trajectory comprises:
a] l'estimation (70) des coordonnées du point suivant de la trajectoire à l'instant t+1 , les coordonnées étant estimées au moyen d'une fonction d'extrapolation prenant pour argument les coordonnées de plusieurs points précédents de la trajectoire déjà contenus à l'intérieur de la suite de points de cette trajectoire, la fonction d'extrapolation étant une fonction de régression polynomiale de degré supérieur ou égal à deux prenant pour arguments les coordonnées d'un nombre W prédéfini de points précédents de la trajectoire et d'une variable temps ;  a] the estimation (70) of the coordinates of the next point of the trajectory at the instant t + 1, the coordinates being estimated by means of an extrapolation function taking for argument the coordinates of several previous points of the trajectory already contained within the sequence of points of this trajectory, the extrapolation function being a polynomial regression function of degree greater than or equal to two taking as arguments the coordinates of a predefined number W of preceding points of the trajectory and a time variable;
b] l'identification (74) du point du nuage acquis à l'instant t+1 dont les coordonnées mesurées sont les plus proches des coordonnées estimées et l'ajout du point ainsi identifié à la suite de points de la trajectoire.  b) the identification (74) of the point of the cloud acquired at time t + 1 whose measured coordinates are closest to the estimated coordinates and the addition of the point thus identified following points of the trajectory.
2. Procédé de sélection de points appartenant à une trajectoire pour la mise en œuvre du procédé de la revendication 1 , comportant : A method of selecting points belonging to a path for carrying out the method of claim 1, comprising:
- l'accès automatique à une pluralité de nuages de points acquis à des instants successifs de mesure, chaque nuage acquis à un instant t donné comportant p(t) points, dits points mesurés, chaque point mesuré comportant des coordonnées mesurées, dans un repère, d'une position de l'espace occupée à cet instant t par un marqueur respectif de position, les points d'un même nuage différant les uns des autres uniquement par leurs coordonnées respectives ; automatic access to a plurality of point clouds acquired at successive moments of measurement, each cloud acquired at a given instant t having p (t) points, said measured points, each measured point comprising measured coordinates, in a reference frame , from a position of space occupied at this moment t by a respective position marker, the points of the same cloud differing from each other only by their respective coordinates;
- la sélection (56), au sein des nuages de points acquis, de points appartenant à une trajectoire d'un même marqueur, de manière à obtenir une suite ordonnée temporellement de points mesurés, chacun des points mesurés de cette suite provenant d'un nuage acquis respectif de points ;  the selection (56), within the acquired point clouds, of points belonging to a trajectory of a same marker, so as to obtain a temporally ordered sequence of measured points, each of the measured points of this sequence coming from a acquired cloud respective points;
ce procédé étant caractérisé en ce que la sélection d'un point suivant de la trajectoire à un instant t+1 à partir de points précédemment sélectionnés de la même trajectoire comporte : this method being characterized in that the selection of a next point of the trajectory at a time t + 1 from previously selected points of the same trajectory comprises:
a] l'estimation (70) des coordonnées du point suivant de la trajectoire à l'instant t+1 , les coordonnées étant estimées au moyen d'une fonction d'extrapolation prenant pour argument les coordonnées de plusieurs points précédents de la trajectoire déjà contenus à l'intérieur de la suite de points de cette trajectoire ; b] la détermination (74) du point du nuage acquis à l'instant t+1 dont les coordonnées mesurées sont les plus proches des coordonnées estimées et l'ajout du point ainsi déterminé à la suite de points de la trajectoire.  a] the estimation (70) of the coordinates of the next point of the trajectory at the instant t + 1, the coordinates being estimated by means of an extrapolation function taking for argument the coordinates of several previous points of the trajectory already contained within the sequence of points of this trajectory; b) the determination (74) of the point of the cloud acquired at time t + 1 whose measured coordinates are closest to the estimated coordinates and the addition of the point thus determined following points of the trajectory.
3. Procédé selon la revendication 1 ou 2, dans lequel l'étape a] est d'abord exécutée pour plusieurs trajectoires de plusieurs marqueurs de manière à obtenir les coordonnées estimées du point suivant à l'instant t+1 pour chacune de ces trajectoires, puis, lors de l'étape b] : 3. Method according to claim 1 or 2, wherein step a] is first performed for several trajectories of several markers so as to obtain the estimated coordinates of the next point at time t + 1 for each of these trajectories. , then, in step b]:
b1 ] pour chaque point suivant dont les coordonnées ont été estimées lors de l'étape a], le procédé comporte le calcul (72) de la distance entre les coordonnées estimées de ce point suivant et les coordonnées mesurées de chaque point du nuage acquis à l'instant t+1 , puis, b1] for each next point whose coordinates have been estimated in step a], the method comprises calculating (72) the distance between the estimated coordinates of this next point and the measured coordinates of each point of the cloud acquired at the moment t + 1, then,
b2] le procédé comporte : b2] the method comprises:
• l'identification du point appartenant au nuage acquis à l'instant t+1 pour lequel la distance calculée lors de l'opération b1] entre les coordonnées mesurées de ce point et les coordonnées estimées d'un point suivant est la plus petite parmi l'ensemble des distances calculées, et  The identification of the point belonging to the cloud acquired at time t + 1 for which the distance calculated during the operation b1] between the measured coordinates of this point and the estimated coordinates of a next point is the smallest among the set of calculated distances, and
• l'ajout du point (82) ainsi identifié à la suite de points de la trajectoire utilisée pour estimer les coordonnées estimées dont les coordonnées mesurées de ce point identifié sont les plus proches ;  • adding the point (82) thus identified following points of the trajectory used to estimate the estimated coordinates whose measured coordinates of this identified point are closest;
b3] le procédé comporte la réitération de l'opération b2] mais sans prendre en compte : b3] the method comprises the repetition of the operation b2] but without taking into account:
• les distances calculées à partir des points appartenant au nuage acquis à l'instant t+1 qui ont déjà été ajoutés à une suite de points lors d'une précédente itération de l'opération b2] ni, • les distances calculées à partir des coordonnées estimées des points obtenues à partir de suites de points auxquelles un point appartenant au nuage acquis à l'instant t+1 a déjà été ajouté lors d'une précédente itération de l'opération b2]. • the distances calculated from the points belonging to the cloud acquired at time t + 1 which have already been added to a sequence of points during a previous iteration of the operation b2] ni, • the distances calculated from the estimated coordinates of the points obtained from sequences of points at which a point belonging to the cloud acquired at time t + 1 has already been added during a previous iteration of the operation b2].
4. Procédé selon la revendication 3, dans lequel les opérations b2] et b3] sont réitérées pour chaque instant tant qu'il existe au moins une distance à prendre en compte qui présente une valeur inférieure à un seuil prédéterminé et, si à l'issue de ces réitérations il existe, à l'intérieur des nuages de points un nombre M' de points, dits points restants, qui n'ont pas été ajoutés à une suite de points, alors les étapes a] et b] sont répétées (100) pour ces M' points restants, pour chacun des nuages de points contenant ces points restants, de façon à définir M' nouvelles trajectoires. 4. Method according to claim 3, wherein the operations b2] and b3] are repeated for each moment as long as there is at least one distance to be taken into account which has a value lower than a predetermined threshold and, if at as a result of these reiterations, there exists within the clouds of points a number M 'of points, called remaining points, which have not been added to a series of points, then the steps a] and b] are repeated ( 100) for these M 'remaining points, for each cloud of points containing these remaining points, so as to define M' new trajectories.
5. Procédé selon l'une quelconque des revendications précédentes, dans lequel : - la sélection, à l'intérieur du nuage acquis à l'instant t+1 , des points appartenant à la trajectoire, est exécutée : 5. Method according to any one of the preceding claims, in which: the selection, within the cloud acquired at time t + 1, of the points belonging to the trajectory, is executed:
• une première fois, en ordonnant temporellement les points de la trajectoire dans l'ordre allant de l'instant initial vers l'instant final de sorte que les points précédant le point suivant soient les points mesurés avant l'instant t+1 , cette première exécution de la sélection permettant d'obtenir une première suite de points ;  • a first time, by temporally ordering the points of the trajectory in the order from the initial moment to the final instant so that the points preceding the next point are the points measured before the moment t + 1, this first execution of the selection to obtain a first sequence of points;
• une seconde fois (122, 124), en ordonnant temporellement les points de la trajectoire dans l'ordre allant de l'instant final vers l'instant initial de sorte que les points précédant le point suivant soient les points mesurés après l'instant t+1 , cette seconde exécution de la sélection permettant d'obtenir une seconde suite de points ;  A second time (122, 124), by temporally ordering the points of the trajectory in the order from the final instant to the initial instant so that the points preceding the next point are the points measured after the instant t + 1, this second execution of the selection making it possible to obtain a second sequence of points;
ce procédé comportant en outre la recherche (126) d'une partie commune entre les première et seconde suites de points, c'est-à-dire de l'existence : the method further comprising searching (126) for a common portion between the first and second series of points, i.e., the existence:
• dans la première suite d'un premier point d'arrêt à un instant ti où la première suite s'arrête, et  In the first sequence of a first stopping point at a time t i where the first sequence stops, and
• dans la seconde suite, d'un second point d'arrêt à un instant t2 où la seconde suite s'arrête, In the second sequence, from a second stop point to an instant t 2 where the second sequence stops,
l'instant t2 étant séparé de l'instant ti par au moins un instant intermédiaire pour lequel un nuage de points a été acquis, les points formant les première et seconde suite étant les mêmes entre les instants ti et t2, et the instant t 2 being separated from the instant ti by at least one intermediate instant for which a cloud of points has been acquired, the points forming the first and second sequences being the same between the instants t 1 and t 2 , and
-si une partie commune est trouvée, alors le procédé comporte en outre une étape de recoupement des données dans laquelle les première et seconde suites de points sont remplacée par une troisième suite de points constituée de la réunion des première et seconde suites de points. if a common part is found, then the method further comprises a step of cross-checking the data in which the first and second series of points are replaced by a third series of points consisting of the meeting of the first and second series of points.
6. Procédé selon la revendication 3, dans lequel, lors de l'opération b1 ], la distance calculée est la distance algébrique δ = Λ/[(α-χ)2+(β-γ)2+(γ-ζ)2] où α, β et γ sont les coordonnées cartésiennes estimées et x, y et z sont les coordonnées mesurées du point du nuage acquis à l'instant t+1 , exprimées dans ce même repère. The method according to claim 3, wherein, during the operation b1], the calculated distance is the algebraic distance δ = Λ / [(α-χ) 2 + (β-γ) 2 + (γ-ζ) 2 ] where α, β and γ are the estimated Cartesian coordinates and x, y and z are the measured coordinates of the point of the cloud acquired at time t + 1, expressed in this same frame.
7. Support (24) d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour l'exécution d'un procédé conforme à l'une quelconque des revendications 1 à 6 lorsque ces instructions sont exécutées par un calculateur électronique. 7. Support (24) for recording information, characterized in that it comprises instructions for the execution of a method according to any one of claims 1 to 6 when these instructions are executed by an electronic calculator .
8. Calculateur électronique (20) pour la mise en œuvre de l'une quelconque des revendications 1 à 6, ce calculateur électronique étant programmé pour : 8. Electronic calculator (20) for the implementation of any one of claims 1 to 6, the electronic calculator being programmed for:
- obtenir automatiquement un fichier contenant une pluralité de nuages de points acquis à des instants successifs de mesure, chaque nuage acquis à un instant t donné comportant p(t) points, dits points mesurés, chaque point mesuré comportant des coordonnées mesurées, dans un repère, d'une position de l'espace occupée à cet instant t par un marqueur respectif de position, les points d'un même nuage différant les uns des autres uniquement par leurs coordonnées respectives ;  automatically obtaining a file containing a plurality of clouds of points acquired at successive moments of measurement, each cloud acquired at a given instant t having p (t) points, said measured points, each measured point comprising measured coordinates, in a reference frame , a position of the space occupied at this instant t by a respective marker of position, the points of the same cloud differing from each other only by their respective coordinates;
- sélectionner, au sein des nuages de points acquis, de points appartenant à une trajectoire d'un même marqueur, de manière à obtenir une suite ordonnée temporellement de points mesurés, chacun des points mesurés de cette suite provenant d'un nuage acquis respectif de points ;  selecting, within the acquired point clouds, points belonging to a trajectory of the same marker, so as to obtain a temporally ordered sequence of measured points, each of the measured points of this sequence coming from a respective acquired cloud of points;
caractérisé en ce que la sélection d'un point suivant de la trajectoire à un instant t+1 à partir de points précédemment sélectionnés de la même trajectoire comporte : characterized in that selecting a next point of the trajectory at a time t + 1 from previously selected points of the same trajectory comprises:
a] l'estimation des coordonnées du point suivant de la trajectoire à l'instant t+1 , les coordonnées étant estimées au moyen d'une fonction d'extrapolation prenant pour argument les coordonnées de plusieurs points précédents de la trajectoire déjà contenus à l'intérieur de la suite de points de cette trajectoire, la fonction d'extrapolation étant une fonction de régression polynomiale de degré supérieur ou égal à deux prenant pour arguments les coordonnées d'un nombre W prédéfini de points précédents de la trajectoire et d'une variable temps ;  a] the estimation of the coordinates of the next point of the trajectory at the instant t + 1, the coordinates being estimated by means of an extrapolation function taking for argument the coordinates of several previous points of the trajectory already contained in the within the sequence of points of this trajectory, the extrapolation function being a polynomial regression function of degree greater than or equal to two taking as arguments the coordinates of a predefined number W of preceding points of the trajectory and a variable time;
b] l'identification du point du nuage acquis à l'instant t+1 dont les coordonnées mesurées sont les plus proches des coordonnées estimées et l'ajout du point ainsi identifié à la suite de points de la trajectoire.  b] the identification of the point of the cloud acquired at time t + 1 whose measured coordinates are closest to the estimated coordinates and the addition of the point thus identified following points of the trajectory.
PCT/FR2015/050161 2014-01-23 2015-01-23 Method for determining the trajectory of a point of a moving object WO2015110762A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1450591A FR3016721A1 (en) 2014-01-23 2014-01-23 METHOD FOR DETERMINING THE TRACK OF A POINT OF A MOBILE OBJECT
FR1450591 2014-01-23

Publications (1)

Publication Number Publication Date
WO2015110762A1 true WO2015110762A1 (en) 2015-07-30

Family

ID=50976772

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2015/050161 WO2015110762A1 (en) 2014-01-23 2015-01-23 Method for determining the trajectory of a point of a moving object

Country Status (2)

Country Link
FR (1) FR3016721A1 (en)
WO (1) WO2015110762A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190989A (en) * 2019-12-31 2020-05-22 深圳安智杰科技有限公司 Discrete trajectory analysis method and device, electronic equipment and readable storage medium
CN111553732A (en) * 2020-04-24 2020-08-18 北京爱笔科技有限公司 Method and device for processing movement track
CN113192110A (en) * 2020-01-14 2021-07-30 中寰卫星导航通信有限公司 Multi-target tracking method, device, equipment and storage medium
CN113496065A (en) * 2021-06-29 2021-10-12 西北工业大学 Rapid and high-precision network area dynamic coverage track generation method
CN114040328A (en) * 2021-11-26 2022-02-11 成都耀塔科技有限公司 Self-binding unpowered equipment positioning calculation method for apron based on track route information
WO2023201938A1 (en) * 2022-04-22 2023-10-26 南京邮电大学 Missing trajectory filling method and system
CN114040328B (en) * 2021-11-26 2024-05-03 成都耀塔科技有限公司 Tarmac self-binding unpowered equipment dead reckoning method based on track and path information

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070146370A1 (en) 2005-12-23 2007-06-28 Demian Gordon Group tracking in motion capture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070146370A1 (en) 2005-12-23 2007-06-28 Demian Gordon Group tracking in motion capture

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CH. BAILER ET AL.: "CVMP13", November 2013, ACM, article "A user-supported tracking framework for interactive video production"
CHRISTIAN BAILER ET AL: "A user supported tracking framework for interactive video production", VISUAL MEDIA PRODUCTION, ACM, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, 6 November 2013 (2013-11-06), pages 1 - 8, XP058044099, ISBN: 978-1-4503-2589-9, DOI: 10.1145/2534008.2534018 *
L. HERDA ET AL.: "Using skeleton-based tracking to increase the reliability of motion capture", HUMAN MOVEMENT SCIENCE, vol. 20, January 2001 (2001-01-01), pages 313 - 341
LORNA HERDA ET AL: "Using skeleton-based tracking to increase the reliability of optical motion capture", HUMAN MOVEMENT SCIENCE, NORTH-HOLLAND, ELSEVEIR SCIENCE, AMSTERDAM, NL, vol. 20, 1 January 2001 (2001-01-01), pages 313 - 341, XP008125608, ISSN: 0167-9457, DOI: 10.1016/S0167-9457(01)00050-1 *
R. JONKER ET AL.: "A shortest augmenting path algorithm for dense and spare linear assignment problems", COMPUTING, vol. 38, 1987, pages 325 - 340

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190989A (en) * 2019-12-31 2020-05-22 深圳安智杰科技有限公司 Discrete trajectory analysis method and device, electronic equipment and readable storage medium
CN111190989B (en) * 2019-12-31 2023-03-14 深圳安智杰科技有限公司 Discrete trajectory analysis method and device, electronic equipment and readable storage medium
CN113192110A (en) * 2020-01-14 2021-07-30 中寰卫星导航通信有限公司 Multi-target tracking method, device, equipment and storage medium
CN111553732A (en) * 2020-04-24 2020-08-18 北京爱笔科技有限公司 Method and device for processing movement track
CN111553732B (en) * 2020-04-24 2024-02-23 北京爱笔科技有限公司 Method and device for processing movement track
CN113496065A (en) * 2021-06-29 2021-10-12 西北工业大学 Rapid and high-precision network area dynamic coverage track generation method
CN113496065B (en) * 2021-06-29 2023-04-18 西北工业大学 Rapid and high-precision network area dynamic coverage track generation method
CN114040328A (en) * 2021-11-26 2022-02-11 成都耀塔科技有限公司 Self-binding unpowered equipment positioning calculation method for apron based on track route information
CN114040328B (en) * 2021-11-26 2024-05-03 成都耀塔科技有限公司 Tarmac self-binding unpowered equipment dead reckoning method based on track and path information
WO2023201938A1 (en) * 2022-04-22 2023-10-26 南京邮电大学 Missing trajectory filling method and system

Also Published As

Publication number Publication date
FR3016721A1 (en) 2015-07-24

Similar Documents

Publication Publication Date Title
WO2015110762A1 (en) Method for determining the trajectory of a point of a moving object
EP3412245B1 (en) Process for evaluating an orthodontic splint
EP3072108A1 (en) Method for estimating the speed of movement of a camera
EP3271869B1 (en) Method for processing an asynchronous signal
WO2015166176A1 (en) Method of tracking shape in a scene observed by an asynchronous light sensor
FR3073311A1 (en) METHOD FOR ESTIMATING THE INSTALLATION OF A CAMERA IN THE REFERENTIAL OF A THREE-DIMENSIONAL SCENE, DEVICE, INCREASED REALITY SYSTEM, AND COMPUTER PROGRAM
FR3013488A1 (en) METHOD OF ESTIMATING THE SPEED OF MOVING A CAMERA
EP2257924B1 (en) Method for generating a density image of an observation zone
FR3065100A1 (en) INSTALLATION ESTIMATING METHOD, DEVICE, SYSTEM AND COMPUTER PROGRAM
WO2020065177A1 (en) Method, computer program and system for object detection and location in a three-dimensional scene
FR3086434A1 (en) METHOD AND SYSTEM FOR NON-DESTRUCTIVE INSPECTION OF AN AERONAUTICAL PART BY CONTOUR ADJUSTMENT
EP1308890A1 (en) Medical imaging system for extracting a trajectory within a branched object
WO2023027804A1 (en) Denoising depth data of low-signal pixels
WO2023075885A1 (en) Denoising depth image data using neural networks
EP1746486A1 (en) Process for detecting movement of an entity fitted with an image sensor and a device for implementing it
FR3057095B1 (en) METHOD FOR CONSTRUCTING A DEPTH MAP OF A SCENE AND / OR A COMPLETELY FOCUSED IMAGE
EP3216213A1 (en) Method for detecting defective pixels
EP2943935B1 (en) Estimation of the movement of an image
FR3130061A1 (en) Simultaneous localization and mapping method integrating self-supervised temporal masking and machine learning model to generate such masking.
EP2409276B1 (en) Image processing method for the analysis of integrated circuits, and system for implementing said method
EP4167197A1 (en) Method for calibrating a solution for re-identification of an object using a network of a plurality of cameras
FR3042292A1 (en) METHOD FOR OPTIMIZING DECOMPOSITION OF AN ASYNCHRONOUS SIGNAL
WO2022117712A1 (en) Method for training a spiking neural network for characterisation of movements and use thereof
Wu et al. Blind measurement of image blur for vision-based applications
FR3103940A1 (en) Image processing method and device

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15704357

Country of ref document: EP

Kind code of ref document: A1