WO2017021600A1 - Dispositif de détermination de trajectoire - Google Patents

Dispositif de détermination de trajectoire Download PDF

Info

Publication number
WO2017021600A1
WO2017021600A1 PCT/FR2016/051734 FR2016051734W WO2017021600A1 WO 2017021600 A1 WO2017021600 A1 WO 2017021600A1 FR 2016051734 W FR2016051734 W FR 2016051734W WO 2017021600 A1 WO2017021600 A1 WO 2017021600A1
Authority
WO
WIPO (PCT)
Prior art keywords
markers
displacement
indicating
movement
indicate
Prior art date
Application number
PCT/FR2016/051734
Other languages
English (en)
Inventor
Jean-Marc COIC
Miguel NUNEZ DEL PRADO CORTEZ
Sébastien THOUEMENT
Original Assignee
Intersec
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 Intersec filed Critical Intersec
Priority to US15/749,285 priority Critical patent/US10292014B2/en
Priority to EP16750935.5A priority patent/EP3329696B1/fr
Publication of WO2017021600A1 publication Critical patent/WO2017021600A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • H04W4/185Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals by embedding added-value information into content, e.g. geo-tagging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Definitions

  • the invention relates to the field of trajectory detection, more particularly passively, from signaling data associated with a mobile device.
  • the invention improves the situation.
  • the invention proposes a trajectory determining device which comprises a memory for receiving signaling data associating mobile communication device identifiers, time markers and signaling identifiers, some at least signaling identifiers designating a location cell, a classifier capable, for a given mobile communication device identifier, of marking the signaling data associated therewith with a displacement marker indicating a state selected from a list comprising at least one movement and a short stop .
  • the device also includes an analyzer capable of processing the marked signaling data based on the displacement markers to produce trajectory data associating on the one hand a given mobile communication device identifier and on the other hand a sequence of markers of displacement each associated with a location cell and a time marker, so that two displacement markers whose time markers indicate that they succeed one another designate distinct states, applying at least one of the following rules:
  • the device is very advantageous because it makes it possible to determine paths in a passive manner, from the signaling data of the communication devices. This determination is reliable, automatable and inexpensive in human resources. In addition, it allows statistical processing to qualify many contextual information.
  • the device may have one or more of the following features:
  • the classifier and the analyzer are sequentially called to produce trajectory data
  • the invention also relates to a trajectory determination method comprising the following operations:
  • the method may have one or more of the following features:
  • the invention also relates to a computer program product comprising portions of program code for implementing the device or method according to the invention.
  • FIG. 1 represents a schematic view of a device according to the invention
  • FIG. 2 represents an example of implementation of a function by the classifier of FIG. 1,
  • FIGS. 3 to 7 show examples of implementation of functions by the analyzer of FIG. 1.
  • the drawings and the description below contain, essentially, elements of a certain character. They can therefore not only serve to better understand the present invention, but also contribute to its definition, if any.
  • FIG. 1 represents a schematic view of a trajectory determination device according to the invention.
  • the device 2 comprises a memory 4, a classifier 6 and an analyzer 8, which together produce trajectory data 10.
  • the classifier 6 and the analyzer 8 are elements directly or indirectly accessing the memory 4. They can be made in the form of a suitable computer code executed on one or more processors. By processor, it must be understood any processor adapted to the calculations described below.
  • processor can be made in any known manner, in the form of a microprocessor for a personal computer, a dedicated FPGA or SoC chip ("System on chip”), a computing resource on a grid, a microcontroller, or any other form to provide the computational power necessary for the embodiment described below.
  • One or more of these elements can also be realized in the form of specialized electronic circuits such as an ASIC.
  • a combination of processor and electronic circuits can also be considered.
  • the memory 4 receives data from a mobile operator (whether in GSM, GPRS, EDGE, UMTS, LTE, or their evolution, or an extended WiFi network type "hotspots" ).
  • the memory 4 contains all the signaling and activity data of one, several or all the geographical areas served by the operator.
  • the memory 4 can be directly accessible or remote, distributed on one or more sites, correspond to the aggregation of several separate storage, including belonging to several operators pooling their resources.
  • the memory 4 can be any type of data storage suitable for receiving digital data: hard disk, hard disk flash memory (SSD in English), flash memory in any form, random access memory, magnetic disk, distributed storage locally or in the cloud, etc.
  • the data calculated by the device can be stored on any type of memory similar to or on memory 4. This data can be erased after the device has completed its tasks or stored.
  • the signaling data associates a mobile communication device identifier, a signaling identifier and a time marker.
  • the time marker can be a raw marker or be accompanied by a duration.
  • Mobile communication devices can be any device connecting to a GSM mobile network, GPRS, EDGE, UMTS, LTE or their evolution, or to a network WiFi extended type "hotspots".
  • the signaling identifiers can be derived from any signaling on these networks, or a triangulation from these identifiers, and / or GPS type data communicated by the device.
  • the device 2 will initially analyze the signaling data associated with each mobile device identifier in order to add a displacement marker to the localization cell corresponding to the signaling identifiers and associated time markers. This triplet constitutes what will later be called an event.
  • Figure 2 shows an example of a function implemented by the classifier 6 to achieve this.
  • the classifier 6 initializes a loop index i to 0. Then, in an operation 210, a function T () is executed to analyze the time marker associated with the signaling identifier of index i. The function T () determines the time elapsed between the time marker associated with the signaling identifier of index i and the preceding marker. If the duration is greater than a chosen threshold (for example greater than 4 hours, or 6 hours, or more), then in an operation 220, a long stop type displacement marker is associated with the location cell and the location marker. times associated with the index signaling identifier i.
  • a chosen threshold for example greater than 4 hours, or 6 hours, or more
  • a function V () is executed to determine the difference in location between the location cell associated with the index signaling identifier i and that associated with the index signaling identifier i previous. If the function V () indicates that the speed of movement between these cells of location is less than a threshold speed (equal to about 10 km h for example), then in an operation 240, a short stop type displacement marker is associated with the location cell and the time marker associated with the identifier of index signaling i. Otherwise, in an operation 250, a motion-type displacement marker is associated with the location cell and the time marker associated with the signaling identifier of index i.
  • the events designate pairs of signaling identifiers associated with the same mobile communication device and consecutive time, and an event is of the motion type only if the perceived speed of movement is faster than a walking speed.
  • the function V () could determine if the location cell has not changed between the two successive signaling identifiers instead of being based on the speed of movement.
  • an operation 260 tests whether all the signaling identifiers have been traveled. When this is not the case, the index i is incremented in an operation 270. Otherwise, the function ends in an operation 299.
  • the device 2 can proceed with their processing. Indeed, many signaling data may not represent a displacement of a person. For example, a communication device may be surrounded by several antennas, and for various reasons be successively attached to various of these antennas, without moving. In this case, the signaling data will indicate separate location cells, suggesting a displacement, while the communication device (and therefore its user) has not moved. Many other cases that add noise may exist and need to be addressed to obtain reliable path data.
  • FIGS. 3 to 7 show how analyzer 8 processes the tagged data to derive path data.
  • Figure 3 shows an example of implementation of a first function. This function deals with the case described above. Thus, when between two location data whose displacement marker indicates a short stop in the same location cell and which are separated by less than four events, all the displacement markers are converted to a short stop.
  • a loop index i is initialized to 0. Then, in an operation 310, a test is performed to determine whether the index event ia a displacement marker E [i]. stop short or not. As long as this is not the case, the index i is incremented in an operation 320 and the test of the operation 310 is repeated.
  • an index j is defined with the value i added of 4, and a loop index k is defined with the added value i of 1 in an operation 330.
  • a loop determines whether there is an event between i and j which is also a short stop. For this, a test is made in an operation 340. As long as this test is not positive, a test in an operation 350 verifies that k is less than j, and k is incremented in an operation 360.
  • a test in an operation 370 checks whether the two events E [i] and E [k] share the same location cell. If so, then we have two events with a short stop displacement marker, which are separated by fewer than four events. Then, an MStop () function receiving i and k as arguments transforms all the displacement markers E [n] .l into a short stop, with n between i and k.
  • FIG. 4 represents another example of a function implemented by the analyzer 8.
  • a loop index i is initialized to 0. Then, in an operation 405, a test is performed to determine whether the current index event i is associated with a short or no stop. As long as this test is negative, in an operation 410 tests whether there are at least three events remaining (since the function seeks at least one event between two short-stop events), and, if so, the index i is incremented in an operation 415 and the test of the operation 405 is repeated. If this is not the case, the function ends in an operation 499.
  • a loop begins in which two conditions are searched. If one of these two conditions is fulfilled, then the events between the two most extreme events in time are changed to mark them as a short stop.
  • the least restrictive stopping condition is tested, by comparing a duration T which indicates the difference between the time marker of the current index event and that of the index event i. . If the duration T is lower than this first threshold AC, then the index j is incremented in an operation 430. Then, in an operation 435, a test determines whether the index event j indicates a short movement or a stop. If it is a movement, then in an operation 440, a test determines whether the index event j is the last or not. If this is the case, then the function ends with the operation 499. Otherwise, a duration T corresponding to the difference between the time marker of the index event i and the index event j is computed.
  • a test in an operation 450 determines whether the duration T is less than a second threshold SMS. If so, then the second (most restrictive) condition is fulfilled, and in an operation 460, the MStop () function is called with the indices i and j to modify the event displacement markers between these indices. short stop. Then, a test is performed in an operation 465 to determine if there is still 3 event in the list E [], as for the operation 410.
  • a test is performed in an operation 455 to determine whether the index events i and j relate to the same location cell. If so, then the first condition is met, and in an operation 460, the function MStop () is called with the indices i and j to change the event displacement markers between these indices to a short stop, then the Operation 465 test is performed. If the test of the operation 455 is negative, then the loop continues with the operation 440 until the first condition is fulfilled or the duration T exceeds the first threshold AC, or the operation 440 indicates the end of the loop.
  • the index i is updated with the value of the index j (since the index event j indicates a short stop) in an operation 470, and the loop resumes with operation 430.
  • the first threshold AC and the second threshold SMS are provided so that AC is greater than SMS.
  • the first threshold AC detects cases indicating a cell change and then a return to the original cell, while the time required for this (the time corresponding to the first threshold AC), was not sufficient.
  • the second threshold SMS designates an estimated time necessary to pass from one cell to another neighboring cell.
  • the first threshold AC is about 10 minutes
  • the second threshold SMS is about 6 minutes.
  • the function will turn into short stop events associated with a movement between two events associated with a short stop and separated by less than 6 (second SMS threshold) or 10 minutes (first AC threshold).
  • FIG. 5 represents another example of a function implemented by the analyzer 8. Indeed, when two events indicate a movement, and these events are separated by a duration less than a third threshold indicating that a short stop is not possible, then the intermediate events are modified so that their displacement markers indicate motion. Thus, in an operation 500, a loop index i is initialized to 0. Then in operations 505, 510 and 515 similar to operations 405, 410 and 415, the index event i is tested and incremented until it is found. an event indicating a movement. The only difference is that the operation 405 tests whether the event is of short stop type while the operation 505 tests whether the event is of the movement type.
  • index i whose displacement marker indicates a movement and whose time marker indicates a duration less than the third threshold MS when compared to the time marker of the event.
  • index i an index j is defined as equal to i plus 1, then in an operation 525 a duration T between the time marker of the index event j and the time marker of the event d index i is calculated. Then, in an operation 530, the duration T is compared with the third threshold to determine whether it is exceeded or not. If so, then a test similar to that of operation 510 is performed in an operation 535. If so, then index i is updated with index j in an operation 540 , and the next event indicating a movement is searched for with operation 505. If it is not, then the function ends in an operation 599.
  • a test determines whether the index event j indicates a short stop. If this is the case, then in an operation 550, a test determines if it is the last operation of the list E. If this is the case, then the function ends with the operation 599. Otherwise , then the index j is incremented in an operation 555 and the loop resumes with the operation 525 until finding a second event indicating a movement, or until the third threshold MS is exceeded.
  • a function MMove () is executed in an operation 560.
  • the function MMove () receives as arguments the indices i and j, to modify the markers of movement of the events between these moving clues. Finally, in an operation 565, the index i is updated with j (since the index event j indicates a movement), and the loop resumes with the operation 520.
  • the third threshold MS is about 15 minutes.
  • the threshold MS could be greater, for example being one hour.
  • this function amounts to considering that a short stop between two movements is not an anomaly if it lasts longer than the third threshold MS.
  • FIG. 6 represents another example of a function implemented by the analyzer 8. This function can be seen as a variant of the function represented in FIG. 4, or as a complement thereto, which can for example be executed after the function of Figure 5.
  • the first and least restrictive condition differs in that the location cells associated with the two events are not identical, the first threshold being also identical, and the speed of movement between the two extreme short stops must be less than one.
  • threshold speed SL threshold speed
  • the second condition is similar to the second condition of the function of FIG. 4, the second threshold being identical, but the location cells must here be identical.
  • the function of FIG. 6 being very close to that of FIG. 4, the numerical references have been kept identical, while adapting the hundred.
  • operations 650 and 655 differ from operations 450 and 455, an operation 657 being added.
  • Operation 650 tests the second condition, and the combination of operations 655 and 657 tests the first condition.
  • the first condition should not be fulfilled, since it corresponds to the same first condition as for the function of Figure 4. But it ensures that the function of Figure 5 or any other previously performed function did not introduce an undesired case.
  • Operation 657 tests whether the "as the crow flies" speed between the location cells associated with events of index i and j is less than a threshold speed SL of about 10 km / h. It is calculated by dividing the distance between the centers of the respective location cells by the time between the two events. Thus, in the case where a noise-type event (for example if the mobile communication device attaches to a remote station by accident) could make believe a movement between the events i and j, this test makes it possible to correct it. Operation 655 is not also not supposed to happen in practice, but, if this were to be the case, it makes it possible not to have to calculate the speed in the operation 657 which represents a saving of precious time.
  • the analyzer 8 will simplify the resulting data to produce the path data. For this purpose, the analyzer 8 will merge all the successive signaling data indicating a short stop, and associate them, for a total duration corresponding to the difference between the time markers of the extreme events, to the most represented localization cell.
  • FIG. 7 represents an exemplary embodiment of this function.
  • the event list E [] modified as above is used as the starting point. Then, a loop will unpick this list and aggregate events indicating a short stop when needed.
  • the list E [] is depilated in an event el. When the list is empty, the function ends in an operation 799.
  • a test determines whether the event el indicates a short stop. When this is not the case, operation 710 is repeated.
  • a list F [] is initialized with el.
  • the list F [] will receive all the successive events indicating a short stop.
  • the list E [] is again depilated, this time in an event e2. If there is not an event e2, then in an operation 740, a test determines whether the event e2 concerns a short stop. If so, then event e2 is entered in the list F [] in operation 750, and operation 720 is repeated.
  • a function Max () receiving the list F [ ] as an argument is executed in an operation 760.
  • the function Max () has for function the fusion of the events of the list F [], by choosing the cell of localization most represented in term of duration in the list F [], and summarizing all the events in this list in one event whose duration corresponds to the difference between the most extreme time markers of the list F [], associated with the selected location cell.
  • the path data output from the analyzer 8 contains event sequences indicating a movement and / or a single event indicating a short stop.
  • the analyzer performs the functions of Figures 3 to 7 sequentially, and successively.
  • the analyzer first executes the function of Figure 3 on all data, then the function of Figure 4 on the resulting data, etc.
  • These successive functions make it possible to reduce the natural noise of the signaling data and to reduce their number, by producing trajectory data that acquire a "meaning" related to the concept of displacement other than on foot.
  • the resulting series of events are particularly advantageous because they have a certain regularity that allows to gather the paths between them to establish statistics and / or connect a sequence of events to a known course.
  • they make it possible to greatly reduce the noise that is inherent in the signaling data used at the input, as well as to reduce the amount of computations to compare them with each other, by making it possible to define significant episodes.
  • trajectory data that is produced represent segments that represent a tangible displacement, even if it does not correspond perfectly to the original signaling data. They constitute an abstraction of signaling data that allows, by their nature which designates a movement or a short stoppage, to segment the original signaling data into significant episodes.
  • trajectory data is a form of compression of signaling data: this makes it possible to compute large volumes of location data. For example, the Applicant has been able to reduce a volume of data associated with an airport from about 4To to only 10Go. This reduction made it possible to make the data processing of trajectories possible, while it was not possible with the original mass of data, except to add a large quantity of servers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un dispositif de détermination de trajectoire, comprend: -une mémoire (4) pour recevoir des données de signalisation associant des identifiants de dispositif mobile de communication, des marqueurs temporels et des identifiants de signalisation, certains au moins des identifiants de signalisation désignant une cellule de localisation, -un classificateur (6) capable, pour un identifiant de dispositif mobile de communication donné, de marquer les données de signalisation qui lui sont associées avec un marqueur de déplacement indiquant un état choisi parmi une liste comprenant au moins un mouvement et un arrêt court, -un analyseur (8) capable de traiter les données de signalisation marquées en fonction des marqueurs de déplacement afin de produire des données de trajectoire associant d'une part un identifiant de dispositif mobile de communication donné et d'autre part une suite de marqueurs de déplacement associés chacun à une cellule de localisation et à un marqueur de temps, de sorte que deux marqueurs de déplacement dont les marqueurs de temps indiquent qu'ils se succèdent désignent des états distincts, en appliquant au moins une règle de traitement.

Description

Dispositif de détermination de trajectoire
L'invention concerne le domaine de la détection de trajectoire, plus particulièrement de manière passive, à partir de données de signalisation associées à un dispositif mobile.
Il est complexe de déterminer les flux de personnes qui se déplacent entre divers endroits. Pour un endroit donné, il est possible de déterminer des flux de manière statistique, en mesurant humainement le nombre de personnes qui rentrent et sortent. Cependant, ces méthodes sont peu fiables, présentent un coût important, et sont pauvres en informations contextuelles. En effet, il n'est pas possible de savoir quelle est la répartition horaire de ces flux, quels sont les moyens de transport utilisés, etc.
L'invention vient améliorer la situation. A cet effet, l'invention propose un dispositif de détermination de trajectoire qui comprend une mémoire pour recevoir des données de signalisation associant des identifiants de dispositif mobile de communication, des marqueurs temporels et des identifiants de signalisation, certains au moins des identifiants de signalisation désignant une cellule de localisation, un classificateur capable, pour un identifiant de dispositif mobile de communication donné, de marquer les données de signalisation qui lui sont associées avec un marqueur de déplacement indiquant un état choisi parmi une liste comprenant au moins un mouvement et un arrêt court.
Le dispositif comprend également un analyseur capable de traiter les données de signalisation marquées en fonction des marqueurs de déplacement afin de produire des données de trajectoire associant d'une part un identifiant de dispositif mobile de communication donné et d'autre part une suite de marqueurs de déplacement associés chacun à une cellule de localisation et à un marqueur de temps, de sorte que deux marqueurs de déplacement dont les marqueurs de temps indiquent qu'ils se succèdent désignent des états distincts, en appliquant l'une au moins des règles suivantes :
a) la modification de marqueurs de déplacement quelconques en marqueurs de déplacement indiquant un arrêt court, lorsque, pour deux marqueurs de déplacement indiquant un arrêt court associé à une unique cellule de localisation, le nombre de marqueurs de déplacements dont les marqueurs de temps indiquent qu'ils sont entre ces deux marqueurs de déplacement est inférieur ou égal à 4,
b) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un premier seuil,
c) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court qui sont associés à une même cellule de localisation et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un deuxième seuil,
d) la modification de marqueurs de déplacement indiquant un arrêt court en marqueurs de déplacement indiquant un mouvement lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un mouvement et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un troisième seuil,
e) la fusion de marqueurs de déplacement indiquant un arrêt court dont les marqueurs de temps indiquent qu'ils sont consécutifs, et l'association au marqueur de déplacement résultant de la cellule de localisation associée aux marque de déplacement dont les marqueurs de temps représentent la durée la plus importante et d'un marqueur de temps correspondant à la somme des durées des marqueurs de temps associés. Ce dispositif est très avantageux car il permet de déterminer des trajectoires de manière passive, à partir des données de signalisation des dispositifs de communication. Cette détermination est fiable, automatisable et peu coûteuse en moyens humains. De plus, elle permet un traitement statistique permettant de qualifier de nombreuses informations contextuelles. Dans certaines variantes, le dispositif pourra présenter une ou plusieurs des caractéristiques suivantes :
- le classifïcateur et l'analyseur sont appelés séquentiellement pour produire des données de trajectoire,
-l'analyseur applique la règle a) avant d'appliquer la règle b),
- l'analyseur applique la règle b) avant d'appliquer la règle c),
- l'analyseur applique la règle c) avant d'appliquer la règle d), et
- l'analyseur applique l'une des règles a), b), c) et d) avant d'appliquer la règle e). L'invention concerne également un procédé de détermination de trajectoire comprenant les opérations suivantes :
a) recevoir des données de signalisation associant des identifiants de dispositif mobile de communication, des marqueurs temporels et des identifiants de signalisation, certains au moins des identifiants de signalisation désignant une cellule de localisation, b) pour un identifiant de dispositif mobile de communication donné, de marquer les données de signalisation qui lui sont associées avec un marqueur de déplacement indiquant un état choisi parmi une liste comprenant au moins un mouvement et un arrêt court,
c) traiter les données de signalisation marquées en fonction des marqueurs de déplacement afin de produire des données de trajectoire associant d'une part un identifiant de dispositif mobile de communication donné et d'autre part une suite de marqueurs de déplacement associés chacun à une cellule de localisation et à un marqueur de temps, de sorte que deux marqueurs de déplacement dont les marqueurs de temps indiquent qu'ils se succèdent désignent des états distincts, en appliquant l'une au moins des règles suivantes :
cl) la modification de marqueurs de déplacement quelconques en marqueurs de déplacement indiquant un arrêt court, lorsque, pour deux marqueurs de déplacement indiquant un arrêt court associé à une unique cellule de localisation, le nombre de marqueurs de déplacements dont les marqueurs de temps indiquent qu'ils sont entre ces deux marqueurs de déplacement est inférieur ou égal à 4,
c2) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un premier seuil,
c3) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court qui sont associés à une même cellule de localisation et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un deuxième seuil,
c4) la modification de marqueurs de déplacement indiquant un arrêt court en marqueurs de déplacement indiquant un mouvement lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un mouvement et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un troisième seuil,
c5) la fusion de marqueurs de déplacement indiquant un arrêt court dont les marqueurs de temps indiquent qu'ils sont consécutifs, et l'association au marqueur de déplacement résultant de la cellule de localisation associée aux marque de déplacement dont les marqueurs de temps représentent la durée la plus importante et d'un marqueur de temps correspondant à la somme des durées des marqueurs de temps associés.
Dans certaines variantes, le procédé pourra présenter une ou plusieurs des caractéristiques suivantes :
- l'opération c) applique la règle cl) avant la règle c2),
- l'opération c) applique la règle c2) avant d'appliquer la règle c3),
- l'opération c) applique la règle c3) avant d'appliquer la règle c4), et
- l'opération c) applique l'une des règles cl), c2), c3) et c4) avant d'appliquer la règle c5).
L'invention concerne également un produit de programme d'ordinateur comprenant des portions de code de programme pour mettre en œuvre le dispositif ou le procédé selon l'invention. D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la description qui suit, tirée d'exemples donnés à titre illustratif et non limitatif, tirés des dessins sur lesquels :
- la figure 1 représente une vue schématique d'un dispositif selon l'invention,
- la figure 2 représente un exemple de mise en œuvre d'une fonction par le classificateur de la figure 1 ,
- les figures 3 à 7 représentent des exemples de mise en œuvre de fonctions par l'analyseur de la figure 1. Les dessins et la description ci-après contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant.
La présente description est de nature à faire intervenir des éléments susceptibles de protection par le droit d'auteur et/ou le copyright. Le titulaire des droits n'a pas d'objection à la reproduction à l'identique par quiconque du présent document de brevet ou de sa description, telle qu'elle apparaît dans les dossiers officiels. Pour le reste, il réserve intégralement ses droits. En outre, la description détaillée est augmentée de l'annexe A, qui donne la formulation de certaines formules mathématiques mises en œuvre dans le cadre de l'invention. Cette Annexe est mise à part dans un but de clarification, et pour faciliter les renvois. Elle est partie intégrante de la description, et pourra donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant.
La figure 1 représente une vue schématique d'un dispositif de détermination de trajectoire selon l'invention.
Le dispositif 2 comprend une mémoire 4, un classificateur 6 et un analyseur 8, qui produisent ensemble des données de trajectoire 10. Dans l'exemple décrit ici, le classifîcateur 6 et l'analyseur 8 sont des éléments accédant directement ou indirectement à la mémoire 4. Ils peuvent être réalisés sous la forme d'un code informatique approprié exécuté sur un ou plusieurs processeurs. Par processeurs, il doit être compris tout processeur adapté aux calculs décrits ci-après. Un tel processeur peut être réalisé de toute manière connue, sous la forme d'un microprocesseur pour ordinateur personnel, d'une puce dédiée de type FPGA ou SoC (« System on chip » en anglais), d'une ressource de calcul sur une grille, d'un microcontrôleur, ou de toute autre forme propre à fournir la puissance de calcul nécessaire à la réalisation décrite plus bas. Un ou plusieurs de ces éléments peuvent également être réalisés sous la forme de circuits électroniques spécialisés tel un ASIC. Une combinaison de processeur et de circuits électroniques peut également être envisagée.
Dans l'exemple décrit ici, la mémoire 4 reçoit des données d'un opérateur de téléphonie mobile (que ce soit en GSM, GPRS, EDGE, UMTS, LTE, ou leur évolution, ou encore un réseau WiFi étendu de type « hotspots »). La mémoire 4 contient l'ensemble des données de signalisation et d'activité d'une, plusieurs ou toutes les zones géographiques desservies par l'opérateur. La mémoire 4 peut être directement accessible ou déportée, répartie sur un ou plusieurs sites, correspondre à l'agrégation de plusieurs stockages distincts, y compris appartenant à plusieurs opérateurs mettant leurs ressources en commun. La mémoire 4 peut être tout type de stockage de données propre à recevoir des données numériques : disque dur, disque dur à mémoire flash (SSD en anglais), mémoire flash sous toute forme, mémoire vive, disque magnétique, stockage distribué localement ou dans le cloud, etc. Les données calculées par le dispositif peuvent être stockées sur tout type de mémoire similaire à la mémoire 4, ou sur celle-ci. Ces données peuvent être effacées après que le dispositif ait effectué ses tâches ou conservées.
Les données de signalisation associent un identifiant de dispositif mobile de communication, un identifiant de signalisation et un marqueur temporel. Le marqueur temporel peut être un marqueur brut ou être accompagné d'une durée. Les dispositifs mobiles de communication peuvent être tout dispositif se connectant à un réseau de téléphonie mobile GSM, GPRS, EDGE, UMTS, LTE ou leur évolution, ou à un réseau WiFi étendu de type « hotspots ». Les identifiants de signalisation peuvent être tirés de toute signalisation sur ces réseaux, ou d'une triangulation à partir de ces identifiants, et/ou à des données de type GPS communiquées par le dispositif. Le dispositif 2 va dans un premier temps analyser les données de signalisation associées à chaque identifiant de dispositif mobile afin d'adjoindre un marqueur de déplacement à la cellule de localisation correspondant aux identifiants de signalisation et aux marqueurs temporels associés. Ce triplet constitue ce qui sera par la suite appelé un événement.
La figure 2 représente un exemple d'une fonction mise en œuvre par le classificateur 6 pour réaliser cela.
Dans une opération 200, le classificateur 6 initialise un indice de boucle i à 0. Ensuite, dans une opération 210, une fonction T() est exécutée pour analyser le marqueur de temps associé à l'identifiant de signalisation d'indice i. La fonction T() détermine le temps qui s'est écoulée entre le marqueur de temps associé à l'identifiant de signalisation d'indice i et le marqueur précédent. Si la durée est supérieure à un seuil choisi (par exemple supérieure à 4 heures, ou 6 heures, ou plus), alors dans une opération 220, un marqueur de déplacement de type arrêt long est associé à la cellule de localisation et au marqueur de temps associés à l'identifiant de signalisation d'indice i.
Les marqueurs de temps de type arrêt long sont importants car ils servent à « découper » les suites d'événements. Ainsi, tous les traitements décrits ci-après concernent des séquences d'événements situés entre deux événements indiquant un arrêt long. À tout le moins, dès qu'un arrêt long est détecté, deux séquences sont générées qui seront traitées de manière indépendante.
Sinon, dans une opération 230, une fonction V() est exécutée pour déterminer la différence d'emplacement entre la cellule de localisation associée à l'identifiant de signalisation d'indice i et celle associée à l'identifiant de signalisation d'indice i précédent. Si la fonction V() indique que la vitesse de déplacement entre ces cellules de localisation est inférieure à une vitesse seuil (égale à environ 10 km h par exemple), alors dans une opération 240, un marqueur de déplacement de type arrêt court est associé à la cellule de localisation et au marqueur de temps associés à l'identifiant de signalisation d'indice i. Sinon, dans une opération 250, un marqueur de déplacement de type mouvement est associé à la cellule de localisation et au marqueur de temps associés à l'identifiant de signalisation d'indice i. Ainsi, les événements désignent des paires d'identifiants de signalisation associés à un même dispositif de communication mobile et consécutifs temporellement, et un événement n'est de type mouvement que si la vitesse de déplacement perçue est plus rapide qu'une vitesse de marche. En variante, la fonction V() pourrait déterminer si la cellule de localisation n'a pas changé entre les deux identifiants de signalisation successifs au lieu de se baser sur la vitesse de déplacement.
Après l'association d'un marqueur par l'une des opérations 220, 240 ou 250, une opération 260 teste si tous les identifiants de signalisation ont été parcourus. Lorsque cela n'est pas le cas, l'indice i est incrémenté dans une opération 270. Sinon, la fonction se termine dans une opération 299.
Une fois que toutes les données ont été marquées, le dispositif 2 peut procéder à leur traitement. En effet, de nombreuses données de signalisation peuvent ne pas représenter un déplacement d'une personne. Par exemple, un dispositif de communication peut être entouré de plusieurs antennes, et pour diverses raisons être attaché successivement à diverses de ces antennes, sans pour autant se déplacer. Dans ce cas, les données de signalisation indiqueront des cellules de localisation distinctes, ce qui suggère un déplacement, alors que le dispositif de communication (et donc son utilisateur) ne s'est pas déplacé. De nombreux autres cas de figures qui ajoutent du bruit peuvent exister et doivent être traités pour obtenir des données de trajet fiables.
Les exemples de fonctions représentées sur les figures 3 à 7 montrent comment l'analyseur 8 traite les données marquées pour en tirer des données de trajet. La figure 3 représente un exemple de mise en œuvre d'une première fonction. Cette fonction traite du cas décrit plus haut. Ainsi, lorsqu'entre deux données de localisation dont le marqueur de déplacement indique un arrêt court dans une même cellule de localisation et qui sont séparés par moins de quatre événements, tous les marqueurs de déplacement sont convertis en arrêt court.
Ainsi, dans une opération 300, un indice de boucle i est initialisé à 0. Ensuite dans une opération 310, un test est réalisé pour déterminé si l'événement d'indice i a un marqueur de déplacement E[i].l qui indique un arrêt court ou pas. Tant que ce n'est pas le cas, l'indice i est incrémenté dans une opération 320 et le test de l'opération 310 est répété.
Dès qu'un arrêt court est détecté, un indice j est défini avec la valeur i ajoutée de 4, et un indice de boucle k est défini avec la valeur i ajoutée de 1 dans une opération 330. Ensuite, une boucle détermine s'il existe un événement entre i et j qui est également un arrêt court. Pour cela, un test est fait dans une opération 340. Tant que ce test n'est pas positif, un test dans une opération 350 vérifie que k est inférieur à j, et k est incrémenté dans une opération 360.
Lorsqu'un arrêt court est trouvé, un test dans une opération 370 vérifie si les deux événements E[i] et E[k] partagent la même cellule de localisation. Si c'est le cas, alors on a bien deux événements avec un marqueur de déplacement de type arrêt court, et qui sont séparés par moins de quatre événements. Alors, une fonction MStop() recevant i et k comme arguments transforme tous les marqueurs de déplacement E[n].l en arrêt court, avec n compris entre i et k.
Ensuite, ou lorsque l'opération 350 détermine qu'il n'y a pas d'événement de type arrêt court à moins de 4 événements de l'événement i, ou lorsque les cellules de localisation de l'événement i et celle de l'événement k sont distinctes, un test dans une opération 390 vérifie s'il reste encore 4 opérations pour relancer une boucle. Si oui, alors dans une opération 395, l'indice i est mis à jour avec l'indice k et la boucle reprend avec l'opération 310. Sinon, la fonction se termine dans une opération 399. La figure 4 représente un autre exemple d'une fonction mise en œuvre par l'analyseur 8. En effet, lorsque deux événements dont les marqueurs de déplacement indiquent un arrêt court sont séparés par une durée, et que ces événements sont séparés par une durée inférieure à un premier seuil permettant de passer d'une cellule à une autre, ou que les deux événements sont associés à la même cellule de localisation mais que leurs marqueurs de temps sont séparés par une durée supérieure à un deuxième seuil indiquant que F aller-retour vers une cellule voisine n'était pas possible, alors tous les événements entre ceux-ci sont modifiés de sorte que leur marqueur de déplacement indique un arrêt court.
Ainsi, dans une opération 400, un indice i de boucle est initialisé à 0. Ensuite, dans une opération 405, un test est réalisé pour déterminé si l'événement d'indice i courant est associé à un arrêt court ou pas. Tant que ce test est négatif, dans une opération 410 teste s'il reste au moins trois événements (puisque la fonction cherche au minimum un événement entre deux événements de type arrêt court), et, si c'est le cas, l'indice i est incrémenté dans une opération 415 et le test de l'opération 405 est répété. Si ce n'est pas le cas, la fonction se termine dans une opération 499.
Lorsqu'un événement dont le marqueur de déplacement indique un arrêt court est trouvé, une boucle à deux tests est lancée afin d'essayer de vérifier si l'une des deux conditions ci-dessus est remplie. Pour cela, dans une opération 420, un indice j égal à i est défini.
Ensuite, une boucle commence dans laquelle deux conditions sont recherchées. Si l'une de ces deux conditions est remplie, alors les événements situés entre les deux événements les plus extrêmes temporellement sont modifiés pour les marquer comme correspondant à un arrêt court.
Ainsi, dans une opération 425, la condition d'arrêt la moins contraignante est testée, en comparant une durée T qui indique la différence entre le marqueur temporel de l'événement d'indice j courant et celui de l'événement d'indice i. Si la durée T est inférieure à ce premier seuil AC, alors l'indice j est incrémenté dans une opération 430. Puis, dans une opération 435, un test détermine si l'événement d'indice j indique un mouvement ou un arrêt court. S'il s'agit d'un mouvement, alors dans une opération 440, un test détermine si l'événement d'indice j est le dernier ou pas. Si c'est le cas, alors la fonction se termine avec l'opération 499. Sinon, une durée T correspondant à la différence entre le marqueur de temps de l'événement d'indice i et l'événement d'indice j est calculée dans une opération 445, puis la boucle reprend avec l'opération 425, jusqu'à ce qu'un événement indiquant un arrêt court soit rencontré dans l'opération 435. Lorsqu'un deuxième événement indiquant un arrêt court est trouvé dans l'opération 435, un test dans une opération 450 détermine si la durée T est inférieure à un deuxième seuil SMS. Si c'est le cas, alors la deuxième condition (la plus contraignante) est remplie, et dans une opération 460, la fonction MStop() est appelée avec les indices i et j pour modifier les marqueurs de déplacement des événements entre ces indices en arrêt court. Ensuite, un test est réalisé dans une opération 465 pour déterminer s'il reste encore 3 événement dans la liste E[], comme pour l'opération 410..
Si ce n'est pas le cas, alors un test est réalisé dans une opération 455 pour déterminer si les événements d'indices i et j concernent la même cellule de localisation. Si c'est le cas, alors la première condition est remplie, et dans une opération 460, la fonction MStop() est appelée avec les indices i et j pour modifier les marqueurs de déplacement des événements entre ces indices en arrêt court, puis le test de l'opération 465 est réalisé. Si le test de l'opération 455 est négatif, alors la boucle se poursuit avec l'opération 440 jusqu'à ce que la première condition soit remplie ou que la durée T excède le premier seuil AC, ou que l'opération 440 indique la fin de la boucle.
Enfin, lorsque le test de l'opération 465 est positif, alors l'indice i est mis à jour avec la valeur de l'indice j (puisque l'événement d'indice j indique un arrêt court) dans une opération 470, et la boucle reprend avec l'opération 430. Le premier seuil AC et le deuxième seuil SMS sont prévus de sorte que AC est supérieur à SMS. Le premier seuil AC permet de détecter les cas indiquant un changement de cellule puis un retour à la cellule originale, alors que le temps nécessaire pour cela (le temps correspondant au premier seuil AC), n'était pas suffisant. De manière similaire, le deuxième seuil SMS désigne un temps estimé nécessaire pour passer d'une cellule à une autre cellule voisine.
Dans l'exemple décrit ici, le premier seuil AC est d'environ 10 minutes, tandis que le deuxième seuil SMS est d'environ 6 minutes. Ainsi, la fonction va transformer en arrêt courts les événements associés à un mouvement compris entre deux événements associés à un arrêt court et séparés de moins de 6 (deuxième seuil SMS) ou 10 minutes (premier seuil AC).
La figure 5 représente un autre exemple d'une fonction mise en œuvre par l'analyseur 8. En effet, lorsque deux événements indiquent un mouvement, et que ces événements sont séparés par une durée inférieure à un troisième seuil indiquant qu'un arrêt court n'est pas possible, alors les événements intermédiaires sont modifiés de sorte que leurs marqueurs de déplacement indiquent un mouvement. Ainsi, dans une opération 500, un indice i de boucle est initialisé à 0. Ensuite dans des opérations 505, 510 et 515 similaires aux opérations 405, 410 et 415, l'événement d'indice i est testé et incrémenté jusqu'à trouver un événement indiquant un mouvement. La seule différence est que l'opération 405 teste si l'événement est de type arrêt court alors que l'opération 505 teste si l'événement est de type mouvement.
Ensuite, une boucle est lancée afin de chercher l'événement d'indice j dont le marqueur de déplacement indique un mouvement et dont le marqueur de temps indique une durée inférieure au troisième seuil MS lorsque comparé au marqueur de temps de l'événement d'indice i. Ainsi, dans une opération 520, un indice j est défini comme égal à i plus 1, puis dans une opération 525 une durée T entre le marqueur de temps de l'événement d'indice j et le marqueur de temps de l'événement d'indice i est calculée. Ensuite, dans une opération 530, la durée T est comparée au troisième seuil afin de déterminer si celui-ci est dépassé ou pas. Si c'est le cas, alors un test similaire à celui de l'opération 510 est réalisé dans une opération 535. Si c'est le cas, alors l'indice i est mis à jour avec l'indice j dans une opération 540, et le prochain événement indiquant un mouvement est recherché avec l'opération 505. Si ce n'est pas le cas, alors la fonction se termine dans une opération 599.
Si la durée T est inférieure au troisième seuil, alors dans une opération 545, un test détermine si l'événement d'indice j indique un arrêt court. Si c'est le cas, alors dans une opération 550, un test détermine s'il s'agit de la dernière opération de la liste E. Si c'est le cas, alors la fonction se termine avec l'opération 599. Sinon, alors l'indice j est incrémenté dans une opération 555 et la boucle reprend avec l'opération 525 jusqu'à trouver un deuxième événement indiquant un mouvement, ou jusqu'à ce que le troisième seuil MS soit dépassé. Lorsqu'un deuxième événement indiquant un mouvement est trouvé dans l'opération 545, une fonction MMove() est exécutée dans une opération 560. La fonction MMove() reçoit comme arguments les indices i et j, pour modifier les marqueurs de déplacement des événements entre ces indices en mouvement. Enfin, dans une opération 565, l'indice i est mis à jour avec j (puisque l'événement d'indice j indique un mouvement), et la boucle reprend avec l'opération 520.
Dans l'exemple décrit ici, le troisième seuil MS est d'environ 15 minutes. Ainsi, tous les événements associés à un arrêt court entre deux événements associés à un mouvement et séparés de moins de 15 minutes. En variante, le seuil MS pourrait être plus important, et par exemple être d'une heure. Dit autrement, cette fonction revient à considérer qu'un arrêt court entre deux mouvements n'est pas une anomalie si elle dure plus longtemps que le troisième seuil MS. La figure 6 représente un autre exemple d'une fonction mise en œuvre par l'analyseur 8. Cette fonction peut être vue comme une variante de la fonction représentée sur la figure 4, ou comme un complément à celle-ci, qui peut par exemple être exécutée après la fonction de la figure 5.
Dans cette fonction la structure est similaire, mais les conditions recherchées diffèrent :
- la première condition, la moins contraignante, diffère en ce que les cellules de localisation associées aux deux événements ne sont pas identiques, le premier seuil étant lui aussi identique, et la vitesse de déplacement entre les deux arrêts courts extrême devant être inférieure à une vitesse seuil SL,
- la deuxième condition est similaire à la deuxième condition de la fonction de la figure 4, le deuxième seuil étant identique, mais les cellules de localisation doivent ici être identiques. La fonction de la figure 6 étant très proche de celle de la figure 4, les références numériques ont été maintenues identiques, en adaptant la centaine. En fait, seules les opérations 650 et 655 diffèrent des opérations 450 et 455, une opération 657 étant ajoutée. L'opération 650 teste la seconde condition, et la combinaison des opérations 655 et 657 teste la première condition. Dans la pratique, la première condition ne devrait pas être remplie, dans la mesure où elle correspond à la même première condition que pour la fonction de la figure 4. Mais elle permet de s'assurer que la fonction de la figure 5 ou toute autre fonction exécutée précédemment n'a pas introduit de cas non souhaité.
L'opération 657 teste si la vitesse « à vol d'oiseau » entre les cellules de localisation associées aux événements d'indice i et j est inférieure à une vitesse seuil SL d'environ 10 km/h. Elle est calculée en divisant la distance entre les centres des cellules de localisation respectives par la durée entre les deux événements. Ainsi, dans le cas où un événement de type bruit (par exemple si le dispositif de communication mobile s'attache à une station éloignée par accident) pourrait faire croire à un déplacement entre les événements i et j, ce test permet de le corriger. L'opération 655 n'est également pas supposée se produire dans la pratique, mais, si cela devait être le cas, elle permet de ne pas avoir à calculer la vitesse dans l'opération 657 ce qui représente un gain de temps précieux. Une fois que l'analyseur 8 a exécuté les fonctions des figures 3 à 6, il va simplifier les données résultantes pour produire les données de trajet. Pour cela, l'analyseur 8 va fusionner toutes les données de signalisations successives indiquant un arrêt court, et les associer, pour une durée totale correspondant à la différence entre les marqueurs de temps des événements extrêmes, à la cellule de localisation la plus représentée.
La figure 7 représente un exemple de réalisation de cette fonction. Ainsi, dans une opération 700, la liste d'événements E[] modifiée tel que précédemment est utilisée comme point de départ. Ensuite, une boucle va dépiler cette liste et agréger les événements indiquant un arrêt court lorsque nécessaire. Pour cela, dans une opération 710, la liste E[] est dépilée dans un événement el . Lorsque la liste est vide, la fonction se termine dans une opération 799. Dans une opération 715, un test détermine si l'événement el indique un arrêt court. Lorsque ce n'est pas le cas, l'opération 710 est répétée.
Ensuite, dans une opération 720, une liste F[] est initialisée avec el . La liste F[] va recevoir tous les événements successifs indiquant un arrêt court. Dans une opération 730, la liste E[] est à nouveau dépilée, cette fois dans un événement e2. S'il y a pas un événement e2, alors dans une opération 740, un test détermine si l'événement e2 concerne un arrêt court. Si c'est le cas, alors l'événement e2 est introduit dans la liste F[] dans une opération 750, et l'opération 720 est répétée. Lorsque le prochain événement e2 qui indique un mouvement est trouvé dans l'opération 740, ou lorsque l'opération 730 indique que la liste E[] se termine par une suite d'arrêts courts, une fonction Max() recevant la liste F[] comme argument est exécutée dans une opération 760. La fonction Max() a pour fonction la fusion des événements de la liste F[], en choisissant la cellule de localisation la plus représentée en terme de durée dans la liste F[], et en résumant tous les événements de cette liste en un seul événement dont la durée correspond à la différence entre les marqueurs de temps les plus extrêmes de la liste F[], associée à la cellule de localisation choisie.
Ainsi, les données de trajet produites en sortie de l'analyseur 8 contiennent des suites d'événements indiquant un mouvement et/ou un unique événement indiquant un arrêt court.
Dans l'exemple décrit ici, l'analyseur exécute les fonctions des figures 3 à 7 séquentiellement, et de manière successive. Ainsi, l'analyseur exécute d'abord la fonction de la figure 3 sur l'ensemble des données, puis la fonction de la figure 4 sur les données résultantes, etc. Ces fonctions successives permettent de réduire le bruit naturel des données de signalisation et de réduire leur nombre, en produisant des données de trajectoire qui acquièrent un « sens » lié à la notion de déplacement autre qu'à pied. Les suites d'événements qui en résultent sont particulièrement avantageuses car elles présentent une certaine régularité qui permet de rassembler les trajets entre eux pour établir des statistiques et/ou rattacher une suite d'événement à un parcours connu. De plus, elles permettent de réduire grandement le bruit qui est inhérent aux données de signalisation utilisées en entrée, ainsi que de réduire la quantité de calculs pour les comparer entre elles, en permettant de définir des épisodes signifiants.
Ainsi, les données de trajectoire qui sont produites représentent des segments qui représentent un déplacement tangible, même s'il ne correspond pas parfaitement aux données de signalisation originelles. Elles constituent une abstraction des données de signalisation qui permet, par leur nature qui désigne un mouvement ou un arrêt court de segmenter les données de signalisation originales en épisodes significatifs.
De plus, la notion d'arrêt court permet de déterminer concrètement une présence dans un lieu donné pour une plage de temps donnée, ce qui est presque impossible à partir des données de signalisation seules. Il devient en outre possible de comparer des trajectoires avec des trajectoires de référence. Enfin, les données de trajectoire constituent une forme de compression des données de signalisation : cela rend possible des calculs sur de grands volumes de données de localisation. Par exemple, la Demanderesse a pu réduire un volume de données associées à un aéroport d'environ 4To à seulement lOOGo. Cette réduction a permis de rendre le traitement des données de trajectoires possible, alors qu'il ne l'était pas avec la masse de données originelle, sauf à ajouter une quantité de serveurs importante.

Claims

Revendications
1. Dispositif de détermination de trajectoire, comprenant :
une mémoire (4) pour recevoir des données de signalisation associant des identifiants de dispositif mobile de communication, des marqueurs temporels et des identifiants de signalisation, certains au moins des identifiants de signalisation désignant une cellule de localisation,
un classifïcateur (6) capable, pour un identifiant de dispositif mobile de communication donné, de marquer les données de signalisation qui lui sont associées avec un marqueur de déplacement indiquant un état choisi parmi une liste comprenant au moins un mouvement et un arrêt court,
un analyseur (8) capable de traiter les données de signalisation marquées en fonction des marqueurs de déplacement afin de produire des données de trajectoire associant d'une part un identifiant de dispositif mobile de communication donné et d'autre part une suite de marqueurs de déplacement associés chacun à une cellule de localisation et à un marqueur de temps, de sorte que deux marqueurs de déplacement dont les marqueurs de temps indiquent qu'ils se succèdent désignent des états distincts, en appliquant l'une au moins des règles suivantes :
a) la modification de marqueurs de déplacement quelconques en marqueurs de déplacement indiquant un arrêt court, lorsque, pour deux marqueurs de déplacement indiquant un arrêt court associé à une unique cellule de localisation, le nombre de marqueurs de déplacements dont les marqueurs de temps indiquent qu'ils sont entre ces deux marqueurs de déplacement est inférieur ou égal à 4,
b) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un premier seuil, c) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court qui sont associés à une même cellule de localisation et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un deuxième seuil,
d) la modification de marqueurs de déplacement indiquant un arrêt court en marqueurs de déplacement indiquant un mouvement lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un mouvement et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un troisième seuil, e) la fusion de marqueurs de déplacement indiquant un arrêt court dont les marqueurs de temps indiquent qu'ils sont consécutifs, et l'association au marqueur de déplacement résultant de la cellule de localisation associée aux marque de déplacement dont les marqueurs de temps représentent la durée la plus importante et d'un marqueur de temps correspondant à la somme des durées des marqueurs de temps associés.
Dispositif selon la revendication 1, dans lequel le classifïcateur (6) et l'analyseur (8) sont appelés séquentiellement pour produire des données de trajectoire.
Dispositif selon l'une des revendications précédentes, dans lequel l'analyseur (8) applique la règle a) avant d'appliquer la règle b).
Dispositif selon l'une des revendications précédentes, dans lequel l'analyseur (8) applique la règle b) avant d'appliquer la règle c).
Dispositif selon l'une des revendications précédentes, dans lequel l'analyseur (8) applique la règle c) avant d'appliquer la règle d).
Dispositif selon l'une des revendications précédentes, dans lequel l'analyseur (8) applique l'une des règles a), b), c) et d) avant d'appliquer la règle e).
Procédé de détermination de trajectoire comprenant les opérations suivantes : a) recevoir des données de signalisation associant des identifiants de dispositif mobile de communication, des marqueurs temporels et des identifiants de signalisation, certains au moins des identifiants de signalisation désignant une cellule de localisation,
b) pour un identifiant de dispositif mobile de communication donné, de marquer les données de signalisation qui lui sont associées avec un marqueur de déplacement indiquant un état choisi parmi une liste comprenant au moins un mouvement et un arrêt court,
c) traiter les données de signalisation marquées en fonction des marqueurs de déplacement afin de produire des données de trajectoire associant d'une part un identifiant de dispositif mobile de communication donné et d'autre part une suite de marqueurs de déplacement associés chacun à une cellule de localisation et à un marqueur de temps, de sorte que deux marqueurs de déplacement dont les marqueurs de temps indiquent qu'ils se succèdent désignent des états distincts, en appliquant l'une au moins des règles suivantes :
cl) la modification de marqueurs de déplacement quelconques en marqueurs de déplacement indiquant un arrêt court, lorsque, pour deux marqueurs de déplacement indiquant un arrêt court associé à une unique cellule de localisation, le nombre de marqueurs de déplacements dont les marqueurs de temps indiquent qu'ils sont entre ces deux marqueurs de déplacement est inférieur ou égal à 4,
c2) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un premier seuil,
c3) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court qui sont associés à une même cellule de localisation et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un deuxième seuil,
c4) la modification de marqueurs de déplacement indiquant un arrêt court en marqueurs de déplacement indiquant un mouvement lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un mouvement et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un troisième seuil,
c5) la fusion de marqueurs de déplacement indiquant un arrêt court dont les marqueurs de temps indiquent qu'ils sont consécutifs, et l'association au marqueur de déplacement résultant de la cellule de localisation associée aux marque de déplacement dont les marqueurs de temps représentent la durée la plus importante et d'un marqueur de temps correspondant à la somme des durées des marqueurs de temps associés.
Procédé selon l'une des revendications précédentes, dans lequel l'opération c) applique la règle cl) avant la règle c2).
Procédé selon l'une des revendications précédentes, dans lequel l'opération c) applique la règle c2) avant d'appliquer la règle c3).
10. Procédé selon l'une des revendications précédentes, dans lequel l'opération c) applique la règle c3) avant d'appliquer la règle c4).
11. Procédé selon l'une des revendications précédentes, dans lequel l'opération c) applique l'une des règles cl), c2), c3) et c4) avant d'appliquer la règle c5).
12. Produit de programme d'ordinateur comprenant des portions de code de programme pour mettre en œuvre le dispositif selon l'une des revendications 1 à 6 ou le procédé selon l'une des revendications 7 à 11 lorsque ledit programme est exécuté sur un ordinateur.
PCT/FR2016/051734 2015-07-31 2016-07-07 Dispositif de détermination de trajectoire WO2017021600A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/749,285 US10292014B2 (en) 2015-07-31 2016-07-07 Device for determining path
EP16750935.5A EP3329696B1 (fr) 2015-07-31 2016-07-07 Dispositif de détermination de trajectoire

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1557395A FR3039737B1 (fr) 2015-07-31 2015-07-31 Dispositif de determination de trajectoire
FR1557395 2015-07-31

Publications (1)

Publication Number Publication Date
WO2017021600A1 true WO2017021600A1 (fr) 2017-02-09

Family

ID=55178048

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2016/051734 WO2017021600A1 (fr) 2015-07-31 2016-07-07 Dispositif de détermination de trajectoire

Country Status (4)

Country Link
US (1) US10292014B2 (fr)
EP (1) EP3329696B1 (fr)
FR (1) FR3039737B1 (fr)
WO (1) WO2017021600A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3063168A1 (fr) * 2017-02-23 2018-08-24 Intersec Dispositif de determination de trajectoire

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109672986A (zh) * 2018-12-18 2019-04-23 成都方未科技有限公司 一种时空大数据分析系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140114561A1 (en) * 2012-10-22 2014-04-24 Qualcomm Incorporated Map-assisted sensor-based positioning of mobile devices
US20140315583A1 (en) * 2011-11-16 2014-10-23 Beijing Baidu Netcom Science And Technology Co. Ltd. Positioning method and system based on position prefetching

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8447326B2 (en) * 2010-04-07 2013-05-21 Apple Inc. Selective location determination
US9215553B2 (en) * 2012-05-11 2015-12-15 Rowles Holdings, Llc Automatic determination of and reaction to mobile user routine behavior based on geographical and repetitive pattern analysis
US9161258B2 (en) * 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9179304B2 (en) * 2013-09-18 2015-11-03 Google Inc. Device location history anonymization based on stop detection
US9301096B2 (en) * 2014-05-08 2016-03-29 Qualcomm Incorporated Range rate based stopped detection
US9654927B2 (en) * 2014-12-24 2017-05-16 AthenTek Incorporated Motion detection method and portable device using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140315583A1 (en) * 2011-11-16 2014-10-23 Beijing Baidu Netcom Science And Technology Co. Ltd. Positioning method and system based on position prefetching
US20140114561A1 (en) * 2012-10-22 2014-04-24 Qualcomm Incorporated Map-assisted sensor-based positioning of mobile devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LORENA CALAVIA ET AL: "A Semantic Autonomous Video Surveillance System for Dense Camera Networks in Smart Cities", SENSORS, vol. 12, no. 12, 2 December 2012 (2012-12-02), pages 10407 - 10429, XP055096503, ISSN: 1424-8220, DOI: 10.3390/s120810407 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3063168A1 (fr) * 2017-02-23 2018-08-24 Intersec Dispositif de determination de trajectoire
FR3063169A1 (fr) * 2017-02-23 2018-08-24 Intersec Dispositif de determination de trajectoire
WO2018154217A1 (fr) * 2017-02-23 2018-08-30 Intersec Dispositif de determination de trajectoire
US10743144B2 (en) 2017-02-23 2020-08-11 Intersec Trajectory determining device

Also Published As

Publication number Publication date
US20180227716A1 (en) 2018-08-09
EP3329696A1 (fr) 2018-06-06
EP3329696B1 (fr) 2022-01-26
FR3039737B1 (fr) 2017-09-01
US10292014B2 (en) 2019-05-14
FR3039737A1 (fr) 2017-02-03

Similar Documents

Publication Publication Date Title
EP3479285A1 (fr) Procédé et dispositif de surveillance de la sécurité d'un système d'information
EP2386947A1 (fr) Dispositif de gestion dynamique d'applications téléchargeables, pour un équipement de communication
EP3329696B1 (fr) Dispositif de détermination de trajectoire
EP3357261B1 (fr) Dispositif pour l'association d'un identifiant de téléphonie mobile et d'un identifiant de réseau informatique
EP3586319B1 (fr) Dispositif de détermination de trajectoire
EP3311604A1 (fr) Système d'optimisation du déploiement de capteurs pour la localisation de cibles, utilisation du système et procédé d'optimisation
WO2012085432A1 (fr) Procede et dispositif de communication de donnees numeriques
EP3114863B1 (fr) Dispositif de géolocalisation pour un système de télécommunication
FR3111424A1 (fr) Génération de trajectoires par un réseau de neurones issu d’un système de réseaux antagonistes génératifs
EP1575328A1 (fr) Procédé et dispositif de localisation d'un terminal dans un réseau local sans fil
EP3543904A1 (fr) Procédé de contrôle de détection de scènes et appareil correspondant
WO2018193201A1 (fr) Procédés pour le partage de données de localisation entre un dispositif source d'un utilisateur et un dispositif destinataire d'un tiers, serveur, dispositif source d'un utilisateur, dispositif destinataire d'un tiers et programme d'ordinateur correspondants
EP3622445A1 (fr) Procede, mise en oeuvre par ordinateur, de recherche de regles d'association dans une base de donnees
WO2017134398A1 (fr) Dispositif de prévision d'altitude de la limite pluie-neige
WO2017198926A1 (fr) Procédé et système de transmission d'une alerte géolocalisée a un utilisateur muni d'un terminal mobile de communication
WO2023099318A1 (fr) Procede d'obtention d'une valeur d'une variable representative d'un deplacement d'un terminal mobile, dispositif et programme d'ordinateur correspondant
FR3053490A1 (fr) Capteur, systeme d'analyse statistique et procede de determination et d'affichage de la hauteur d'un saut effectue par un sportif
FR3088113A1 (fr) Procede de prediction du prochain trajet d’une personne
EP2237244A2 (fr) Procédé de détermination des points caractéristiques d'un pont sur une carte d'aéroport
Leclerc Caractérisation des déplacements des usagers de l'autopartage à partir de traces GPS
WO2018115691A1 (fr) Procédé de détermination d'un itinéraire et terminal associé
EP3287806B1 (fr) Système de cartographies de déplacements
FR3117723A1 (fr) Géolocalisation d’équipements communicants dans un réseau collaboratif
EP2791687A1 (fr) Procede et systeme d'auto-calibration d'un dispositif de mesure de vitesse d'un vehicule circulant dans un espace tridimensionnel
FR3090148A1 (fr) Procédé de recalage cartographique multimodal basé sur le comportement répétitif humain

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15749285

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016750935

Country of ref document: EP