Method for annotating individual tracking trails in an image sequence
An iterative constrained partitioning method with neural network signatures and sensor/user constraints enhances the precision of individual tracking annotations in image sequences, addressing the limitations of existing methods by incorporating external constraints and multi-camera data.
Patent Information
- Application Number
- FR2022014033
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-12-21
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2042-12-21
AI Technical Summary
Existing methods for annotating individuals in image sequences fail to adequately incorporate external constraints and multi-camera acquisitions, leading to inaccurate automatic annotations.
An iterative constrained partitioning technique that utilizes a re-identification neural network to generate signatures for tracking tracks, combined with constraints from sensors and user interactions, to refine the annotation process iteratively.
Improves the precision of annotations by accurately grouping tracking tracks based on constraints, reducing errors and enhancing the reliability of automatic annotation methods.
Smart Images

Figure 00000017_0000 
Figure 00000018_0000 
Figure 00000018_0001
Abstract
Description
Title of the invention: Method for annotating individual tracking tracks in a sequence of images
[0001] The invention relates to the field of annotating tracking tracks of individuals, for example animals, in a sequence of images acquired by one or more cameras. The invention relates to an annotation method involving a constrained partitioning algorithm.
[0002] A problem to be solved in the field of annotating individuals in image sequences concerns taking into account external constraints, for example user constraints or constraints provided by other sensors in order to improve the accuracy of automatic annotations, i.e. reduce the percentage of errors in the automatically generated annotations.
[0003] Generally speaking, the invention aims to propose an annotation method that is as reliable as possible.
[0004] The methods of the prior art are most often based on classification or partitioning techniques which do not allow all types of constraints to be taken into account and which operate in a single iteration. Furthermore, the known methods do not always take multi-camera acquisitions into account.
[0005] The invention proposes a new method for semi-automatic annotation of individuals within a sequence of images captured by one or more cameras. The method implements an iterative technique of partitioning under constraints which makes it possible to improve the precision of the annotations.
[0006] The subject of the invention is a computer-implemented method for annotating tracks acquired from at least one camera, the method comprising the steps of: - Receiving at least one sequence of images acquired using at least one camera, - Extract from at least one sequence of images, at least one tracking track of an unknown individual, - Calculate, for each tracking track of individuals, a signature of the individual, - Execute several iterations of a partitioning algorithm under constraints on said tracking tracks according to their signature, the algorithm being configured to partition the tracking tracks into at least one group of individuals re - ordered or in a group of in - individuals without recommendation, - At each new iteration, provide the partitioning algorithm with the less a new constraint and perform a validation step of the identity of the individuals classified in the group of recommended individuals, - If the individual's identity is validated, annotate the individual with this identity and transfer them to a group of annotated individuals.
[0007] In an alternative embodiment, the method according to the invention further comprises a step of receiving a database consisting of tracking tracks of annotated individuals, the individual signature calculation and the partitioning algorithm being carried out for the tracking tracks of annotated and unknown individuals, each group of recommended individuals comprising an annotated individual.
[0008] According to a particular aspect of the invention, the validation step consists of validating the identity of the individuals classified in the group of recommended individuals as corresponding to the identity of the annotated individual.
[0009] According to a particular aspect of the invention, the step of validating the identity of the individuals classified in the group of recommended individuals is carried out by means of a user interaction or by means of a comparison rule between the respective signatures of the individual whose identity must be validated and of the annotated individual.
[0010] In an alternative embodiment, the method according to the invention comprises a step of completing the database with the tracking tracks of the group of annotated individuals.
[0011] According to a particular aspect of the invention, the at least one sequence of images is acquired by means of several cameras with joint fields or disjoint fields.
[0012] According to a particular aspect of the invention, the individual tracking tracks are generated in 2D or 3D.
[0013] According to a particular aspect of the invention, the step of calculating a signature for each individual tracking track is carried out by means of a re-identification neural network trained to generate similar signatures for identical individuals.
[0014] In an alternative embodiment, the method according to the invention further comprises a step of re-training the re-identification neural network from the database of individual tracking tracks obtained at the end of several iterations of the annotation method.
[0015] In an alternative embodiment, the method according to the invention further comprises a step of receiving constraints provided by at least one sensor and associated with the tracking tracks of individuals, including: a constraint of temporal and / or spatial location of an individual, a constraint relating to the identity of the individual, a constraint of non-ubiquity of an individual, a constraint of non-teleportation of an individual, said constraints being provided as input to the partitioning algorithm under constraints.
[0016] In an alternative embodiment, the method according to the invention further comprises, each iteration, a step of receiving user constraints associated with the tracking tracks of individuals, relating to the identity of an individual, said constraints being provided as input to the constrained partitioning algorithm.
[0017] According to a particular aspect of the invention, the constraints of the partitioning algorithm are taken from an association constraint between several individual tracking tracks or a non-association constraint between several individual tracking tracks.
[0018] According to a particular aspect of the invention, all of the tracking tracks which share an association constraint are grouped into the same group of recommended individuals.
[0019] According to a particular aspect of the invention, two tracking tracks which share a non-association constraint are placed in two different groups of individuals.
[0020] The invention also relates to a computer program comprising instructions for executing the method according to the invention, when the program is executed by a processor.
[0021] The invention also relates to a recording medium readable by a processor on which is recorded a program comprising instructions for executing the method according to the invention, when the program is executed by a processor.
[0022] Other characteristics and advantages of the present invention will appear better on reading the description which follows in relation to the following appended drawings.
[0023] [Fig.1a] represents a flowchart detailing the steps of implementing a method for annotating individual tracking tracks according to a first embodiment of the invention,
[0024] [Fig.lb] represents a flowchart detailing the steps of implementing a method for annotating individual tracking tracks according to a second embodiment of the invention,
[0025] [Fig.2] represents an example of an animal tracking track,
[0026] [Fig.3] represents a flowchart detailing the phases of implementation of a partitioning step of the track annotation method, according to one embodiment of the invention,
[0027] [Fig.4] represents a graphical interface illustrating an example of inter results mediators obtained by the method according to the invention,
[0028] [Fig.5a] represents an example of implementation of the partitioning method according to the invention,
[0029] [Fig.5b] represents an example of implementation of the partitioning method according to the invention,
[0030] [Fig.5c] represents an example of implementation of the partitioning method according to the invention,
[0031] [Fig.5d] represents an example of implementation of the partitioning method according to the invention,
[0032] [Fig.5e] represents an example of implementation of the partitioning method according to the invention,
[0033] [Fig. 1a] shows, on a flowchart, the main steps of implementing an annotation of individual tracking tracks according to one embodiment of the invention.
[0034] The method aims to annotate tracking tracks of individuals, for example animals, with an identity. In other words, an objective of the invention is to identify and annotate accordingly each individual in a given video sequence. An application of the invention consists, for example, in identifying each individual in a herd of animals.
[0035] The method begins at step 101 with the reception of one or more image sequences acquired by one or more cameras. When several cameras are used, they can be joint-field or disjoint-field cameras. The tracking can be carried out in 2D or 3D. For this purpose, any video sequence acquisition device making it possible to provide 2D or 3D tracking is compatible with the invention.
[0036] In step 102, an extraction of individual tracking tracks is then carried out from the captured image sequences. An example of an individual tracking track is shown in [Fig.2]. A tracking track consists of consecutive position and time information as well as several thumbnail images centered on the individual to be tracked. Each thumbnail image is associated with a time instant. Step 102 can be carried out using any tracking track generation algorithm, for example a tracking algorithm of the “Multi Object Tracking” or MOT type as described for example in references [1], [2] or [3].
[0037] In the case of 3D tracking, the generation of tracking tracks can be based, for example, on a first step of generating 2D tracks in calibrated cameras, then a second step of 3D estimation from a height hypothesis on the 2D observation. In the case of joint field cameras, the matching of two 3D projections coming from two different cameras observing the same region can be carried out by the Hungarian algorithm for example.
[0038] Step 102 can be performed with 2D or 3D tracking and for sequences captured by cameras with joint or disjoint fields.
[0039] An objective of step 102 is to provide as output as many tracking tracks as there are individuals present in the filmed scene. Each tracking track is associated with a single individual. Each tracking track is a localized time sequence that identifies the trajectory of an individual in time and space. Several tracking tracks may be associated with the same individual, for example, in time intervals different.
[0040] An objective of the invention is to annotate each tracking track by assigning it an identity, for example a number.
[0041] In one embodiment of the invention, the method also receives as input an annotated BDA database consisting of already annotated individual tracking tracks. The annotation of the data in the BDA database can be carried out manually, by a user, or automatically using the method according to the invention. More generally, an objective of the invention is also to supplement the BDA database with new annotated tracking tracks. An annotated tracking track is a track of the type described in [Fig.2] to which an identity is associated, for example ID 447 in the example of [Fig.2].
[0042] Optionally, the invention can also be applied without relying on an annotated BDA database, in which case all the identities of the individuals are initially unknown.
[0043] In step 103, a visual re-identification signature is then calculated for each tracking track, resulting from the track extraction step 102 but also for each tracking track in the BDA database when it is available. Advantageously, the signatures for the tracking tracks or thumbnails stored in the BDA database are only calculated at the first iteration (iter=0) of the method and are then saved for the following iterations.
[0044] A signature is calculated for each track in order to evaluate the similarity between the different tracks. The signature calculation step 103 is, for example, implemented by means of a re-identification algorithm as described for example in one of the references [4] or [5].
[0045] The re-identification algorithm may implement an artificial intelligence model trained to calculate a signature characteristic of the visual appearance of each image of the tracking track. Such an algorithm is trained to calculate substantially identical signatures for two images representing the same individual and conversely different signatures for two images representing different individuals. For example, the signature is calculated from points of interest characteristic of the visual appearance of the individual.
[0046] The artificial intelligence model is, for example, based on a convolutional neural network or a “transformer” type neural network.
[0047] The neural network takes as input the images of the tracking track and encodes them into a lower-dimensional feature space so as to generate features, or signatures, which encode the relevant visual information to be able to compare different identities with each other.
[0048] The neural network is, for example, trained in a supervised manner from a training database containing, for each identity, several different thumbnails representing the individual in various conditions.
[0049] The training base is, for example, a public training image base.
[0050] The neural network is trained to minimize a predetermined cost function. The network parameters, including the synaptic weights of each layer of the network, are learned using a gradient back-propagation algorithm consisting of back-propagating the error obtained from the cost function from the output of the network to the input by updating the parameters of each layer as it goes along.
[0051] The cost function used is for example equal to
[0052] LTri = max(dp-dn+ a, 0)
[0053] dp corresponds to a distance between the signatures calculated for a reference image and another image corresponding to the same identity as the reference image. dn corresponds to a distance between the signatures calculated for a reference image and another image corresponding to an identity different from that of the reference image.
[0054] a is a parameter corresponding to an inter-identity margin.
[0055] Minimizing the LTri cost function ensures that an intra-identity distance is greater than an inter-identity distance.
[0056] Another cost function can be used alone or in addition to the previous one and corresponds to a classification function. The re-identification signatures are provided to a classification neural network whose output size is equal to the number of identities N contained in the learning base.
[0057] The cost function to be minimized is given by: 100581 =
[0059] With,
[0060] qj = 0 if yi
[0061] qi= Isiy = i
[0062] Where Pi is the logit corresponding to the prediction of membership of an identity to class i, y is the true identity of the individual considered.
[0063] The signature of a track is for example calculated as the average of the signatures calculated for each image of the track.
[0064] The signature of an identity present in the annotated database is for example equal to the average of the signatures calculated for each image representing this identity.
[0065] In step 104, a partitioning algorithm is then applied to the set of signatures calculated in step 103. The partitioning algorithm is configured to partition the signatures into different groups, potentially corresponding to different identities. An objective of the partitioning step 104 is that all the signatures classified in the same group are assumed to correspond to the same identity. However, the partitioning algorithm 104 may have a certain percentage of partitioning errors, which is why it operates under CT constraints, iteratively and is associated with a validation step 105 of the estimated identities.
[0066] [Fig. 3] represents, on a flowchart, the steps of implementing the partitioning algorithm of step 104.
[0067] The algorithm receives as input the signatures calculated for both the annotated tracks and the unannotated tracks.
[0068] It also receives data from sensors and makes it possible to provide spatial and / or temporal location information of individuals as well as information relating to the identity of individuals. The information can be absolute or relative (comparison between identities).
[0069] For example, the data provided by sensors are taken from the following non-exhaustive list: - A point location information of an individual provided by an RFID sensor or a QR code which is associated with an absolute identity, - Long-term location information provided by a satellite positioning sensor or an Ultra Wide Band location device and associated with an absolute identity. The location information is continuous and associated with a (time, position) pair.
[0070] The algorithm may also receive data provided by a user relating to the absolute or relative identity of individuals. This user data is taken from the following non-exhaustive list: - A user-generated “positive” absolute identification information that makes an association between a tracking track (or an image of that track) and an absolute identity and indicates that it is the same individual, - A user-generated “negative” absolute identifying information that makes an association between a tracking track (or an image in that track) and an absolute identity indicating that it is a different individual, - A user-generated “positive” relative identifying information that makes an association between multiple tracks and indicates that they are the same individual, without providing an absolute identity, - A user-generated "negative" relative identifying information that makes an association between multiple tracks and indicates that it is a different individual, without providing an absolute identity.
[0071] Generally, the information is, for example, provided by a user by means of an interaction via a human-machine graphical interface.
[0072] All of the data from sensors or users are provided as input to a constraint generation step 301 which delivers as output a set of constraints to be taken into account by the partitioning algorithm.
[0073] The purpose of step 301 is to transform the information received at the input into constraints to be taken into account in order to carry out the partitioning.
[0074] The constraints generated are, for example, taken from the following non-exhaustive list: - An association constraint between a track and an ML_Id identity: this constraint is for example generated when identification information is available for a track (provided by an identification or location device or by a user), - An association constraint between two ML_track tracks: this constraint is for example generated when a user indicates that two tracks must correspond to the same identity, - A non-association constraint between a track and a CL_Id identity: this constraint is for example generated from user or sensor information, - A non-association constraint between two CL_track tracks: this constraint is for example generated from spatio-temporal indications relating to non-ubiquity or non-teleportation constraints.
[0075] In particular, certain constraints on the spatio-temporal evolution of an individual in the scene can be taken into account. For example, a first non-ubiquity constraint can be taken into account in order to avoid attributing the same identity to two individuals present at the same time in two different images. A second non-teleportation or non-high-speed movement constraint consists of verifying a certain consistency in the spatio-temporal movement of an individual.
[0076] For example, a non-ubiquity constraint can be calculated as follows.
[0077] If we denote by tsi,tei and t^t^ the start and end times of two tracking tracks 1 and 2. A non-ubiquity constraint to be respected is given by the following relation: [ ^1] ] = 0 • In other words, the two tracking tracks 1 and 2 cannot not be associated with the same identity if this relationship is not met. Thus, if this condition is not verified, a non-association constraint is generated for these two tracks.
[0078] Similarly, for a track 1 prior to a track 2, if we note possi,posei the respective start and end positions of an individual in a tracking track 1 and poss2,pose2 the respective start and end positions of an individual in a tracking track 2, a constraint of non-teleportation or non-movement at high speed vmax to be respected can be given by the following relation: ^as'.s2 ' U < Vmax
[0079] If this condition is not verified, a non-association constraint is generated for the two tracks 1,2.
[0080] In addition to the above constraints, the user may decide to assign a new, never-before-seen identity to a track. This means the discovery of a previously undeclared identity.
[0081] Then these constraints are translated into constraints between tracks.
[0082] In other words, any track having an association constraint with an identity i £ [1; N_k] is linked to the tracks annotated with this identity i by an association constraint. N_k being the number of identities annotated at partitioning iteration k (iter=k).
[0083] Any track having a constraint of absence of association with an identity i £ [1; N_k] is linked to the tracks annotated with this identity i by a constraint of non-association.
[0084] These associations between tracks are carried out by steps 303, 304, 305, 306.
[0085] Step 302 aims to associate a ground truth label labelvt with all the signatures calculated for the identities of the annotated database BDA.
[0086] In step 307, the partitioning algorithm is executed with, as inputs, all the signatures and constraints to be respected.
[0087] The partitioning algorithm used is for example the C-DBSCAN algorithm described in reference [6] or a hierarchical partitioning type algorithm under constraints described in [7].
[0088] The partitioning algorithm 307 is configured to classify the tracks into two types of groups.
[0089] The tracking tracks that are classified in the same group as an image from the BDA database associated with a known identity are classified in a group 309 of recommended individuals associated with this identity. They correspond to unknown individuals but who resemble a known individual due to the similarity of their signatures.
[0090] The tracking tracks that belong to a group that does not contain any signature associated with a known identity (from the BDA database) are classified in a group of individuals without identity 310. These are unknown individuals who could not be assigned to a known identity, i.e. one present in the BDA database.
[0091] In an alternative embodiment, if no annotated database is initially available, at the first iteration of the method (iter=0), all the individuals are classified in the group without identity 310.
[0092] An additional step of validating the identity of the individuals in group 309 of recommended individuals is then carried out in order to transfer or not these individuals into the group 308 of annotated individuals by validating their identity as definitive annotation.
[0093] The group 308 of annotated individuals corresponds in [Fig.3] to the individuals annotated in step 302, i.e. those who have an identity corresponding to a ground truth labelvt. The individuals in the group of recommended individuals 309 do not yet have an identity associated with a ground truth (i.e. validated as such) but have an estimated identity labelpred.
[0094] In one embodiment of the invention, this validation step is integrated into the partitioning algorithm 307 and consists, for example, of validating the identity of a recommended individual when the difference between his signature and the signature of the annotated individual corresponding to the recommended identity is less than a predetermined threshold.
[0095] In another embodiment of the invention, the validation step is carried out via an interaction with a user (step 311). In this mode, the tracking tracks of the group of recommended individuals are presented to the user via a graphical interface. They are displayed next to the corresponding images of the same identity from the BDA database and then the user validates or not, by visual evaluation, whether the estimated identity corresponds or not to the real identity. If this is the case, the tracking tracks are definitively annotated with this identity and pass into the group of annotated individuals 308. In this case, the tracks are then saved in the BDA annotation database in order to enrich it.
[0096] The method operates according to an iterative process. At each iteration i, a user can both perform the step of validating the identities of the recommended individuals but also provide new constraints to the partitioning algorithm, for example constraints of association or non-association between different tracking tracks. In the case where an estimated identity of an individual is not validated by the user, this information is provided to the partitioning algorithm in the form of a non-association constraint between the tracking track and the estimated identity for the next iteration.
[0097] This iterative operation is represented schematically in [Fig. 1a] by an arrow which loops back from the validation step 105 to the partitioning step 104.
[0098] In the case where no annotated BDA database is initially available, from the 2nd iteration of the method, the tracking tracks of individuals from the group of annotated individuals 308 (i.e. validated by the user) can be used to create an annotated BDA database which is taken into account for the following iterations. The BDA database is then enriched at each iteration. This iterative operation is represented in [Fig. 1a] by an arrow which goes from the validation step 105 to the BDA database.
[0099] In another embodiment of the invention shown in [Fig.lb], the re-identification algorithm used to perform the calculation of the signatures 103 is re-trained in step 106 on the data updated in the BDA database after k' iterations of the partitioning mechanism (iter=k' iterations). Re-training the re-identification model makes it possible to calculate signatures that are more suited to the partitioning of the data in a given space linked to the types of individuals to be annotated. In this embodiment, once the re-identification network has been re-trained (step 106), the iterative partitioning method according to the invention as described in [Fig.la] is fully re-executed.
[0100] [Fig.4] represents an example of a human-machine graphical interface (HMI). This interface includes a first sub-window for viewing the group of annotated individuals 308 in the form of tracking tracks associated with an identity ID.
[0101] It includes a second sub-window for viewing the group of recommended individuals 309 with estimated identities EST. The tracking tracks of individuals in the group 309 are displayed on the same line as the tracking tracks of individuals in the group 308 corresponding to the same identities. Thus, the user can more easily compare the tracks two by two in order to validate the estimated identities.
[0102] The graphical interface IHM finally includes a third sub-window 310 including the tracking tracks of the group of individuals without identity 310.
[0103] At each iteration, the user can also assign a new identity ID to the tracking tracks of the group of individuals without identity 310. In this case, these tracks can be transferred to the group of annotated individuals 308.
[0104] An advantage of the proposed method lies in its iterative operation which allows the progressive improvement of track annotations by introducing user constraints at each iteration.
[0105] Figures 5a to 5e illustrate the iterative operation of the method according to the invention on a non-limiting schematic example.
[0106] In [Fig.5a], a set of symbols corresponding to tracking tracks provided as input to partitioning step 307 of the algorithm of [Fig.3] is schematically represented. In the example of [Fig.5a], all the tracks are unannotated (from new acquisitions) except tracks 501 and 502 which are already annotated and correspond to two different identities.
[0107] [Fig.5b] illustrates the application of constraints to the different tracking tracks. In this example, tracks 501 and 502 are linked by a non-association constraint since they correspond to two different identities. Tracks 503 and 504 are linked by an association constraint.
[0108] The constraints come from information from sensors or from information a priori.
[0109] [Fig.5c] shows the result of a first partitioning iteration which leads to the establishment of four groups G1, G2, G3, G4 which take into account the aforementioned constraints.
[0110] [Fig.5d] shows a second iteration of the method which begins with the introduction of new constraints provided by the user. In this case, track 505 is identified by the user who assigns it a new identity. The already annotated tracks 501,502,505 are constrained by a non-association constraint since they correspond to three different identities. Other association and non-association constraints are introduced for pairs of tracks.
[0111] [Fig.5e] shows the result of the second partitioning iteration which leads to the refinement of the groups. In this example, three groups G1, G2, G3 are finally formed instead of the four groups obtained in the first iteration which did not benefit from all the constraints provided by the user.
[0112] The invention may be implemented as a computer program comprising instructions for its execution. The computer program may be recorded on a recording medium readable by a processor.
[0113] Reference to a computer program that, when executed, performs any of the functions described above, is not limited to an application program running on a single host computer. Rather, the terms computer program and software are used herein in a general sense to refer to any type of computer code (e.g., application software, firmware, microcode, or any other form of computer instruction) that can be used to program one or more processors to implement aspects of the techniques described herein. The computing means or resources may notably be distributed (“Cloud computing”), possibly according to peer-to-peer technologies.The software code may be executed on any suitable processor (e.g., a microprocessor) or processor core or set of processors, whether provided in a single computing device or distributed among several computing devices (e.g., as may be accessible in the device environment). The executable code of each program enabling the programmable device to implement the processes according to the invention may be stored, for example, in the hard disk or in read-only memory. Generally, the program(s) may be loaded into one of the storage means of the device before being executed. The central unit may control and direct the execution of the instructions or portions of software code of the program(s) according to the invention, instructions which are stored in the hard disk or in read-only memory or in the other aforementioned storage elements. References
[0114] [1]: A. Bewley, G. Zongyuan, F. Ramos, and B. Upcroft, “Simple online and realtime tracking,” in IEEE international conférence on image processing (ICIP), 2016, pp.3464-3468.
[0115] [2] : N. WOJKE, A. BEWLEY and D. PAULUS. « Simple online and realtime tracking with a deep association metric ». In : 2017 IEEE international conférence on image processing (ICIP), 2017. pp. 3645-3649.
[0116] [3]: Y. ZHANG, P.SUN, Y. JIANG et al. Bytetrack: Multi-object tracking by as- sociating every détection box. In : European Conférence on Computer Vision. Springer, Cham, 2022. p. 1-21.
[0117] [4] H. LUO, Y. GU, LIAO, Xingyu, et al. Bag of tricks and a strong baseline for deep person re-identification. In : Proceedings of the IEEE / CVF conférence on computer vision and pattern récognition workshops. 2019. p. 0-0.
[0118] [5] Transreid HE, Shuting, LUO, Hao, WANG, Pichao, et al. Transreid: Transformer-based object re-identification. In : Proceedings of the IEEE / CVF international conférence on computer vision. 2021. p. 15013-15022.),
[0119] [6] RUIZ, Carlos, SPILIOPOULOU, Myra, et MENASALVAS, Ernestina. C- dbscan: Density-based clustering with constraints. In : International workshop on rough sets, fuzzy sets, data mining, and granular-soft computing. Springer, Berlin, Heidelberg, 2007. p. 216-223.
[0120] [7] DAVIDSON, lan et RAVI, S. S. Agglomerative hierarchical clustering with constraints: Theoretical and empirical results. In : European Conférence on Principles of Data Mining and Knowledge Discovery. Springer, Berlin, Heidelberg, 2005. p. 59-70.
Claims
Claims
1. A computer-implemented method for annotating tracks acquired from at least one camera, the method comprising the steps of: - Receiving (101) at least one sequence of images acquired using at least one camera, - Extracting (102) from the at least one sequence of images, at least one tracking track of an unknown individual, - Calculating (103), for each tracking track of individuals, a signature of the individual, - Executing several iterations of a partitioning algorithm (104) under constraints (CT) on said tracking tracks according to their signature, the algorithm receiving said signatures as input and being configured to partition the tracking tracks into at least one group of recommended individuals (309) in association with a known identity or into a group of individuals without recommendation (310) from the analysis of said signatures - At each new iteration,providing the partitioning algorithm (104) with at least one new constraint (CT) and executing a validation step (105) of the identity of the individuals classified in the group of recommended individuals (309), - If the identity of the individual is validated, annotating the individual with this identity and transferring it to a group of annotated individuals (308).,
2. A method of annotating tracks according to claim 1 further comprising a step of receiving a database (BDA) consisting of annotated individual tracking tracks, the individual signature calculation and the partitioning algorithm being carried out for the annotated and unknown individual tracking tracks, each group of recommended individuals (309) comprising one annotated individual.
3. A method of annotating tracks according to claim 2 wherein the validation step (105) consists of validating the identity of the individuals classified in the group of recommended individuals (309) as corresponding to the identity of the annotated individual.
4. Method for annotating tracks according to claim 3 in which the step of validating (105) the identity of the individuals classified in the group of recommended individuals (309) is carried out by means of a user interaction or by means of a comparison rule between the respective signatures of the individual whose identity must be validated and of the annotated individual.
5. Method for annotating tracks according to any one of claims 2 to 4 comprising a step of completing the database (BDA) with the tracking tracks of the group of annotated individuals (308).
6. A method of annotating tracks according to any one of the preceding claims wherein the at least one sequence of images is acquired by means of several cameras with joint fields or disjoint fields.
7. A method of annotating tracks according to any preceding claim wherein the individual tracking tracks are generated in 2D or 3D.
8. A method of annotating tracks according to any one of the preceding claims wherein the step of calculating (103) a signature for each individual tracking track is performed by means of a re-identification neural network trained to generate similar signatures for identical individuals.
9. Method for annotating tracks according to claim 8 further comprising a step of re-training the re-identification neural network from the database (BDA) of individual tracking tracks obtained at the end of several iterations of the annotation method.
10. Method for annotating tracks according to any one of the preceding claims further comprising a step of receiving constraints provided by at least one sensor and associated with the individual tracking tracks, including: a constraint on the temporal and / or spatial location of an individual, a constraint relating to the identity of the individual, a constraint on the non-ubiquity of an individual, a constraint on the non-teleportation of an individual, said constraints being provided as input to the constrained partitioning algorithm.
11. A method of annotating tracks according to any one of the preceding claims, further comprising, at each iteration, a step of receiving user constraints associated with the tracking tracks. of individuals, relating to the identity of an individual, said constraints being provided as input to the constrained partitioning algorithm.
12. A method of annotating tracks according to any one of the preceding claims wherein the constraints of the partitioning algorithm are taken from an association constraint between several individual tracking tracks or a non-association constraint between several individual tracking tracks.
13. A method of annotating tracks according to claim 12 wherein the set of tracking tracks that share an association constraint are grouped into the same group of recommended individuals.
14. A method of annotating tracks according to claim 12 wherein two tracking tracks that share a non-association constraint are placed in two different groups of individuals.
15. A computer program comprising instructions for executing the method according to any one of claims 1 to 14, when the program is executed by a processor.
16. A processor-readable recording medium having recorded thereon a program comprising instructions for executing the method according to any one of claims 1 to 14, when the program is executed by a processor.
