Tracking system, tracking method, and program

The distributed tracking system addresses scalability issues by distributing processing across multiple tracking devices and using a graph-structured database in the server, ensuring efficient and accurate tracking of individuals across multiple camera ranges.

JP7683619B2Active Publication Date: 2025-05-27TOYOTA JIDOSHA KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023032593
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-03
Publication Date
2025-05-27
Estimated Expiration
2043-03-03

AI Technical Summary

Technical Problem

Existing tracking systems face scalability issues due to centralized processing, which hinders their ability to manage large numbers of tracking devices and maintain accurate identification of individuals across multiple camera ranges.

Method used

A distributed tracking system comprising multiple tracking devices and a server device, where each tracking device performs local tracking, shares information with adjacent devices, and updates a graph-structured database in the server with tracking information, ensuring distributed processing and efficient data management.

Benefits of technology

The system ensures scalability by distributing processing loads across multiple tracking devices, maintains accurate identification of individuals through distributed determination, and facilitates high-speed data searches using a graph-structured database, even with increasing data volumes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007683619000001
    Figure 0007683619000001
  • Figure 0007683619000002
    Figure 0007683619000002
  • Figure 0007683619000003
    Figure 0007683619000003
Patent Text Reader

Abstract

To provide a scalable tracking system.SOLUTION: The tracking system includes a plurality of tracking devices and a server device. Each of the plurality of tracking device comprises: an imaging device; tracking means; transmission means which transmits tracking information; determination means which, in response to receiving the tracking information, determines whether an object specified by the transmitted tracking information is included in an object being currently tracked or not; and update means which, in response to determining that the object specified by the transmitted tracking information is included in the object being currently tracked, replaces an identifier of the object with an identifier included in the tracking information and transmits coincidence information indicating that objects received from peripheral tracking devices coincide with the object being currently tracked, to the server device. The server device comprises storage means for storing tracking information transmitted from the tracking devices as graph structures and linking nodes of pieces of tracking information that are shown to match each other by the coincidence information, and linking nodes of identification information of the object to nodes of respective pieces of tracking information to store the nodes.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a tracking system, a tracking method, and a program.

Background Art

[0002] The device disclosed in Patent Document 1 acquires a plurality of person images captured by a plurality of cameras each having a different imaging area and similarity information related to the similarity between the plurality of person images, and when the similarity between two person images is greater than a predetermined threshold value, the graph generation unit generates an edge connecting between the two person images.

Prior Art Document

Patent Document

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] One aspect of the present disclosure aims to provide a technique for enhancing the scalability of a tracking system.

Means for Solving the Problems

[0005] One aspect of the present disclosure is a tracking system including a plurality of tracking devices and a server device. Each of the plurality of tracking devices includes an imaging device, a tracking means for tracking an object based on an imaging image acquired by the imaging device, a tracking information transmitting means for transmitting tracking information including at least the characteristics and identifiers of the object to surrounding tracking devices and the server device, a determination means for determining whether an object matching the object specified by the tracking information transmitted from another tracking device is included among the currently tracked objects when receiving the tracking information from another tracking device, and an update means for replacing the identifier of the object with the identifier included in the tracking information and transmitting matching information indicating that the object received from the surrounding tracking device matches the currently tracked object to the server device when it is determined that an object matching the object specified by the tracking information transmitted from another tracking device is included among the currently tracked objects. The server device includes a storage means for storing the tracking information transmitted from the tracking device as a graph structure, connecting nodes of tracking information indicated to match each other by the matching information, and connecting and storing a node of identification information of an object to a node of each tracking information. The tracking system is characterized by the above.

Effect of the Invention

[0006] According to an aspect of the present disclosure, scalability of the tracking system can be ensured.

Brief Description of the Drawings

[0007]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Embodiment for Carrying Out the Invention

[0008] Techniques for identifying the same person from oneself captured by a plurality of cameras and tracking the person over a wide range have been proposed. When trying to build such a large-scale tracking system, it is necessary to build a scalable distributed system. However, since all the processing in the prior art as in Patent Document 1 is performed by a server device, it is not scalable. Also, it is required to correctly manage the same person over a wide range and to facilitate the search for a specific person.

[0009] Therefore, an object of the present disclosure is to enhance scalability in a tracking system having a plurality of tracking devices.

[0010] One embodiment of the present disclosure is a tracking system including a plurality of tracking devices and a server device.

[0011] Each of the plurality of tracking devices includes an imaging device, a tracking unit, a tracking information transmitting unit, a determination unit, and an update unit. The tracking unit performs tracking of an object based on an imaging image acquired by the imaging device. The tracking information transmitting unit transmits tracking information including at least the characteristics and an identifier of the object to surrounding tracking devices and the server device. Here, the identifier is an identifier unique on the system like a UUID (Universally Unique Identifier). This is acceptable. When the determination means receives the tracking information from another tracking device, it determines whether the objects currently being tracked include an object that matches the object specified by the tracking information transmitted from the other tracking device. The update means, when it is determined that the objects currently being tracked include an object that matches the object specified by the tracking information transmitted from another tracking device, replaces the identifier of the object with the identifier included in the tracking information, and transmits to the server device matching information indicating that the object received from the surrounding tracking devices matches the object currently being tracked.

[0012] The server device includes storage means for storing the tracking information transmitted from the tracking device as a graph structure, connecting nodes of the tracking information indicated to match each other by the matching information, and connecting and storing a node of the identification information of the object to the node of each tracking information.

[0013] In this way, the determination of whether they are the same person is executed distributively in cooperation with a plurality of adjacent tracking devices, so even if the number of tracking devices increases, the concentration of the processing load does not occur. Further, since a graph-structured database is used in the server device, high-speed data search is possible even if the number of data increases, and since the identification information node is connected to each tracking information node, the search using the identification information is further speeded up.

[0014] In the present disclosure, the tracking information transmission means of the tracking device may periodically transmit the tracking information to a tracking device among the surrounding tracking devices whose imaging ranges of the imaging devices overlap. Further, the tracking information transmission means of the tracking device may transmit the tracking information in response to an exit event of the object to a tracking device among the surrounding tracking devices whose imaging ranges of the imaging devices do not overlap.

[0015] When the imaging ranges of the two tracking devices overlap, the target person may be photographed by both tracking devices, so it is desirable to transmit information periodically. On the other hand, when the imaging ranges of the two tracking devices do not overlap, tracking by the other tracking device starts after tracking by one tracking device is completed. Therefore, it is sufficient to transmit tracking information after an exit event occurs.

[0016] In the present disclosure, the server device verifies the connection relationship of the tracking information in the storage means, and may further include verification means for notifying the user or correcting the inconsistent connection relationship when an inconsistent connection relationship is found. Here, an example of an inconsistent connection relationship is a case where a tracking target is tracked by different tracking devices at the same time, in other words, a case where one tracking information node is linked to a plurality of different tracking information nodes. Another example of an inconsistent connection relationship is a case where the tracking target moves between tracking devices that are so far apart that it is realistically impossible to move. The server device can maintain the integrity of the database by performing such corrections. In the present disclosure, the server device may include image acquisition means for acquiring an image in which an object appears, identifier specifying means for specifying an identifier of the object in the image, and search means for acquiring and outputting tracking information of the object in the image from the storage means. Here, the specification of the identifier of the object may be performed by the server device itself, or may be performed by another device and the server device may only receive the result. According to the present disclosure, the search for tracking information of a specific object can be performed at high speed.

[0017] Other embodiments of the present disclosure are the above-described tracking device and the above-described server device. Further, other embodiments of the present disclosure are a tracking method performed by the above-described tracking system, a processing method performed by the tracking device, and a processing method performed by the server device. Further, another aspect of the present disclosure is a computer program for causing the tracking system, the tracking device, or the server device to execute the above-described processing method.

[0018]

[0019] ​Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. The configurations of the following embodiments are examples, and the present disclosure is not limited to the configurations of the embodiments.

[0020] (System Overview) FIG. 1(A) is a diagram for explaining the outline of a tracking system according to an embodiment. The tracking system according to this embodiment performs tracking on a person, and a plurality of tracking devices are given the same identifier for the same person, so that movement across the shooting ranges of the tracking devices of the person can be tracked. In the example shown in FIG. 1(A), the tracking system includes three tracking devices 100A, 100B, and 100C. The camera shooting ranges of the tracking device 100A and the tracking device 100B partially overlap, and the camera shooting range of the tracking device 100C does not overlap with the camera shooting ranges of other devices.

[0021] Here, assume that the person P has moved as shown in the figure. Each tracking device can determine the identity with the person tracked by other devices by sharing the feature information of the tracked person with surrounding tracking devices.

[0022] In addition, each tracking device transmits the tracking information of the tracked person from the start of tracking to the end of tracking to the server device 200. As shown in FIG. 1(B), the server device 200 stores the tracking information as a database in a graph structure. Here, identifiers (IDs) of A-1, B-5, and C-3 are respectively assigned to the tracking instances (a series of tracking information from the start of tracking to the end of tracking) of the person P in each of the tracking devices 100A, 100B, and 100C for management. According to the movement route of the person P, the server device 200 creates a link from the node A-1 to the node B-5 and a link from the node B-5 to the node C-3. Thereby, the tracking information associated with the movement of the person P can be easily retrieved by traversing the graph. Also, nodes with unique IDs (here, UUID 1 ) are connected to each node A-1, B-5, C-3. Thereby, the server device 200 can also easily perform a search using the unique ID.

[0023] The tracking system according to this embodiment determines the identification of the same person only between adjacent tracking devices, so the processing load of the same person determination can be distributed and scalability can be ensured. Also, in the server device, since the tracking information is stored in the database with the graph structure as described above, it becomes easy to ensure the consistency of the tracking information and also easy to perform searches. It becomes easy to ensure the consistency of the tracking information and also easy to perform searches.

[0024] (Configuration) The tracking system according to this embodiment is composed of a plurality of tracking devices 100 and a server device 200. FIG. 2(A) is a configuration diagram of the tracking device 100, and FIG. 2(B) is a configuration diagram of the server device 200.

[0025] The tracking device 100 is a computer (information processing device) having a CPU 101, a memory 102, a communication device 103, and a camera (imaging device) 104. Programs executable by the CPU 101 are stored in the memory 102. By the CPU 101 executing the program, the tracking device 100 functions as an image acquisition unit 110, a tracking unit 120, a tracking information storage unit 130, a tracking information transmission unit 140, a tracking information reception unit 150, a coincidence determination unit 160, and a tracking information update unit 170. The camera 104, the CPU 101, the memory 102, and the communication device 103 may be arranged in the same housing, or may be arranged in different housings at geographically separated positions. Also, the tracking device 100 is configured to be able to communicate with the server device 200 and at least other adjacent tracking devices 100.

[0026] The server device 200 is a computer (information processing device) having a CPU 201, a memory 202, and a communication device 203. Programs executable by the CPU 201 are stored in the memory 202. By the CPU 201 executing the program, the server device 200 functions as a tracking information reception unit 210, a tracking information update unit 220, a coincidence information reception unit 230, a tracking information storage unit 240, a verification unit 250, a search target image acquisition unit 260, a search target identification unit 270, and a search unit 280.

[0027] Details of each of the above functional units will be described in detail later with reference to other drawings. Note that some or all of the above functional units may be implemented by dedicated circuits or devices.

[0028] (Processing) Hereinafter, the processing performed by the tracking device 100 and the server device 200 will be described with reference to the drawings. FIGS. 3(A) to 3(C) are flowcharts showing the flows of the tracking process, the tracking information transmission process, and the process at the time of receiving tracking information, respectively, performed by the tracking device 100. FIGS. 4(A) to 4(D) are flowcharts showing the flows of the process at the time of receiving tracking information, the process at the time of transmitting coincidence information, the verification process, and the search process, respectively, performed by the server device 200. These processes are realized by the CPU of the tracking device 100 or the server device 200 executing a program. Therefore, the CPU corresponds to the control means.

[0029] [Tracking Process (Tracking Device)] Referring to FIG. 3(A), the tracking process performed by the tracking device 100 will be described. The tracking process is a process of analyzing an image captured by the camera 104, detecting a person (tracking target object) newly appearing in the image, and tracking the movement of the detected person.

[0030] In step S11, the tracking unit 120 acquires a captured image from the camera 104 via the image acquisition unit 110, and detects a person other than the person currently being tracked from the image. Further, the tracking unit 120 acquires the feature information of the detected person. The feature information of the person may be any information as long as it can identify the person. For example, information representing the features of the facial parts or information representing the physical features (contour, color, luminance gradient, etc.) may be adopted.

[0031] In step S12, the tracking unit 120 determines whether the person detected in step S11 is the same as a person who has already been tracked in the past in the tracking system or is a new person. It is determined. This determination can be made by examining whether the tracking system has ever tracked a person having a feature amount that matches the feature amount acquired in step S11. As will be described later, the tracking device 100 receives tracking information including the feature information of the person tracked by the surrounding tracking devices from the surrounding tracking devices 100 and stores it in the tracking information storage unit 130. Therefore, the tracking unit 120 can make the determination in step S12 by determining whether feature information having a feature that matches the feature information of the detected person is stored in the tracking information storage unit 130. Note that even for a person who has already been tracked, if the tracking device 100 cannot acquire the tracking information thereof, the tracking device 100 determines that the detected person is a new person.

[0032] If the determination in step S12 is negative, that is, if the detected person is a person who has already been tracked in the past, in step S13, the tracking unit 120 acquires the identifier used when tracking the person in the past. As will be described later, this identifier is a globally unique identifier and is included in the tracking information.

[0033] If the determination in step S12 is positive, that is, if the detected person is a new person who has not been tracked in the past, in step S14, the tracking unit 120 issues a new globally unique ID for this person.

[0034] In step S15, the tracking unit 120 performs tracking of the target person from the image acquired from the camera 104 via the image acquisition unit 110. The tracking unit 120 stores, as tracking information, the feature information, the person image, the position of the bounding box (detection position), the detection time, and the identifier of the person to be tracked acquired from each frame image in the tracking information storage unit 130. Note that information indicating the frame image acquired from the camera 104 or the storage location of the frame image may be included in the tracking information and stored.

[0035] In addition, for a series of tracking information (tracking instance) from when it appears in the camera shooting range of the tracking device 100 until it exits, the tracking device 100 assigns a tracking identifier (tracking ID). This tracking ID is different from the unique ID of a person and is a different identifier for each tracking instance even for the same person. The tracking ID can be a combination of the identifier of the tracking device 100 and a unique identifier within the tracking device 100. In Fig. 1(A), A-1, B-5, and C-3 are examples of tracking IDs. This tracking ID is also included in the tracking information and stored in the tracking information storage unit 130.

[0036] [Tracking Information Transmission Process (Tracking Device)] Referring to Fig. 3(B), the tracking information transmission process performed by the tracking information transmission unit 140 will be described. The tracking information transmission unit 140 transmits the tracking information to surrounding tracking devices at a predetermined timing. Here, the transmission timing varies depending on the destination tracking device. The following will be described with reference to the drawings.

[0037] In step S21, the tracking information transmission unit 140 determines the type of the destination tracking device 100. Here, it is determined whether the camera shooting range of the destination tracking device 100 overlaps with its own camera shooting range or not. If the shooting ranges do not overlap, the process proceeds to step S22, and if the shooting ranges overlap, the process proceeds to step S23.

[0038] Note that whether the camera shooting ranges overlap or not is configured to be stored in each tracking device 100 in advance as camera installation information, or stored in the server device 200 and acquired by the tracking device 100 as needed. The camera installation information may include other information such as the installation location and the distance between two tracking devices in addition to the presence or absence of overlap of the camera shooting ranges. It may also be included.

[0039] Step S22 is performed when the tracking range of the tracking device that is the destination of the tracking information does not overlap with the camera shooting range. In step S22, the tracking information transmission unit 140 determines whether an exit event has occurred for any of the currently tracked persons. If an exit event has occurred, the process proceeds to step S24. If no exit event has occurred, the process returns to step S22 and waits for the occurrence of an exit event. The tracking unit 120 causes an exit event of a person to occur, for example, when the person being tracked cannot be continuously detected from the image for a predetermined time (or a predetermined number of frames).

[0040] Step S23 is performed when the tracking range of the tracking device that is the destination of the tracking information overlaps with the camera shooting range The tracking information transmission unit 140 determines whether a certain period of time has elapsed since the previous tracking information transmission. This transmission period (certain time) may be arbitrary. If a certain period of time has elapsed, the process proceeds to step S24. If not, the process returns to step S23 and waits for the time to elapse.

[0041] In step S24, the tracking information transmission unit 140 transmits the tracking information stored in the tracking information storage unit 130 to the surrounding tracking devices via the communication device 103. Note that when the tracking information transmission unit 140 transmits tracking information in response to an exit event, it transmits the tracking information of the exited person, and when transmitting tracking information periodically, it may transmit the tracking information of the currently tracked person and the person who exited after the previous transmission. The transmitted tracking information may include, for example, the global unique ID of the person to be tracked, the tracking ID, feature information, the person image, the position of the bounding box, and the detection time.

[0042] Note that the tracking information transmission unit 140 also transmits tracking information to the server device 200. The timing of transmitting the tracking information to the server device 200 is not particularly limited, and for example, it can be transmitted when an exit event occurs.

[0043] [Processing at the time of receiving tracking information (tracking device)] Referring to FIG. 3(C), the processing when the tracking device 100 receives tracking information from surrounding tracking devices will be described.

[0044] In step S31, the tracking information receiving unit 150 receives tracking information from surrounding tracking devices via the communication device 103. As described above, the tracking information may include, for example, the global unique ID of the person to be tracked, the tracking ID, feature information, a person image, the position of the bounding box, and the detection time.

[0045] In step S32, the matching determination unit 160 determines whether there is a person among the persons currently being tracked by the tracking unit 120 who matches the person specified by the received tracking information. Specifically, the matching determination unit 160 compares the feature information of the persons currently being tracked stored in the tracking information storage unit 130 with the feature information included in the received tracking information, and determines that these persons match when the similarity is equal to or greater than a threshold value.

[0046] In step S33, if there is a matching person to be tracked, the process proceeds to step S34; otherwise, the process proceeds to step S36.

[0047] In step S34, the tracking information update unit 170 updates the tracking information storage unit 130 to replace the global unique ID of the person determined to match with the global unique ID included in the received tracking information. Also, the tracking information update unit 170 may store the tracking ID included in the received tracking information as the previous tracking instance of the person currently being tracked. It is also acceptable.

[0048] In step S35, the tracking information update unit 170 transmits, via the tracking information transmission unit 140, matching information indicating that the person currently being tracked matches the person indicated by the received tracking information to the server device 200. The matching information includes, for example, the currently tracked tracking ID and the globally unique ID used so far, and the globally unique ID included in the received tracking information. Further, the matching information may include, in addition to the currently tracked tracking ID, the immediately previous tracking ID (included in the received tracking information).

[0049] In step S36, the matching determination unit 160 returns the result of the matching determination to the tracking device that is the source of the tracking information via the tracking information transmission unit 140. The content of the reply includes whether there is a person being tracked who matches the person indicated by the transmitted tracking information, and may further include a tracking ID, feature information, etc. By transmitting the matching determination result in this way, the tracking device 100 of the source can save the trouble of transmitting the tracking information again.

[0050] [Processing at the time of receiving tracking information (server device)] Referring to FIG. 4(A), the processing at the time of receiving tracking information performed by the server device 200 will be described. This processing is executed when the tracking information receiving unit 210 receives tracking information from any of the tracking devices 100, and the server device 200 stores the tracking information in the tracking information storage unit 240. Here, the tracking information storage unit 240 stores the tracking information as a graph-structured database. Hereinafter, mainly how to update the graph database when receiving the tracking information will be described.

[0051] In step S41, the tracking information update unit 220 adds a node of the tracking instance to the tracking information storage unit 240. Specifically, a node specified by the tracking ID is added to the graph database. This node may include other tracking information, such as feature information, a person image, the position of the bounding box, and the detection time.

[0052] In step S42, the tracking information update unit 220 determines whether the global unique ID included in the tracking information is an ID existing in the database or a new ID. If it is a new ID, the process proceeds to step S43; otherwise, the process proceeds to step S44.

[0053] Step S43 is a process executed when the current tracking instance has a new global unique ID. In step S43, the tracking information update unit 220 newly adds a node representing the global unique ID included in the tracking information to the graph database.

[0054] Step S44 is a process executed when the current tracking instance has an existing global unique ID. In step S44, the tracking information update unit 220 connects the node of the tracking instance specified by the previous tracking ID included in the tracking information and the node of the tracking instance added in step S41 with a link.

[0055] In step S45, the tracking information update unit 170 connects the tracking instance node added in step S41 and the node of the global unique ID indicated in the tracking information (added or existing in step S43) with a link.

[0056] [Processing When Matching Information is Received (Server Device)] With reference to FIG. 4(B), the processing when the server device 200 receives matching information will be described. This processing is executed when the matching information receiving unit 230 receives matching information from any of the tracking devices 100, and the tracking information update unit 220 updates the graph database according to the matching information. When this occurs, the tracking information update unit 220 updates the graph database according to the matching information.

[0057] In step S51, the tracking information update unit 220 updates the graph database based on the matching information received by the matching information reception unit 230. The matching information includes that a person in a certain tracking instance A matches a person in another tracking instance B, and the global unique ID to be assigned to the person. The tracking information update unit 220 changes the node of the global unique ID connected to the node of tracking instance A to the node of the global unique ID indicated by the matching information.

[0058] In step S52, the tracking information update unit 220 connects the nodes of tracking instance A and tracking instance B with a link.

[0059] [Example of updating the graph database] With reference to FIGS. 5(A) to 5(D), an example of updating the graph database stored in the tracking information storage unit 240 will be described.

[0060] FIG. 5(A) shows a database when the tracking device 100A (see FIG. 1(A)) newly starts tracking a person as tracking instance A-1 and assigns the global unique ID UUID 1 to the person. Based on the tracking information transmitted from the tracking device 100A, the tracking information update unit 170 adds a node of tracking instance A-1 (S41), adds a node of the global unique ID UUID 1 (S43), and connects these nodes (S45).

[0061] FIG. 5(B) shows a database when the tracking device 100B tracks the same person. It is assumed that the tracking device 100B has grasped that the person in tracking instance B-5 is the same person as in tracking instance A-1 based on the tracking information transmitted from the tracking device 100A. Therefore, the tracking information transmitted from the tracking device 100B to the server device 200 includes the global unique ID of tracking instance B-5 as UUID 1It is shown to be. Based on the tracking information transmitted from the tracking device 100B, the tracking information update unit 170 adds the nodes of the tracking instance B-5 (S41), and connects the nodes of the tracking instance B-5 and the nodes of the immediately previous tracking instance A-1 (S44). Further, the tracking information update unit 170 connects the nodes of the tracking instance B-5 to the node with the global unique ID UUID 1 (S45).

[0062] FIG. 5(C) shows the database when the tracking device 100C tracks the same person. However, at this point, the tracking device 100C cannot recognize that this person is the same person as the tracking instances A-1 and B-5, and it is assumed that a new global unique ID UUID 2 is assigned. Based on the tracking information transmitted from the tracking device 100C, the tracking information update unit 170 adds the nodes of the tracking instance C-3 (S41), and also adds the node with the global unique ID UUID 2 (S43), and connects these nodes (S45).

[0063] FIG. 5(D) shows the database after the tracking device 100C recognizes that the person of the tracking instance C-3 is the same person as the tracking instances A-1 and B-5 and transmits the matching information to the server device 200. Based on the matching information transmitted from the tracking device 100C, the tracking information update unit 170 changes the global unique ID node to which the tracking instance C-3 is connected from the node with UUID 1 to the node with UUID 2 (S51). Also, the tracking information update unit 170 connects the nodes of the tracking instance B-5 and the nodes of the tracking instance C-3 (S52).

[0064] In this way, by updating the graph database of the server device 200 based on the tracking information and the matching information, even if the same person is temporarily recorded as a different person, the same person can finally be recorded as the same person.

[0065] [Verification Process (Server Device)] Referring to FIG. 5(C), the verification process of the graph database performed by the verification unit 250 of the server device 200 will be described.

[0066] In step S61, the verification unit 250 detects inconsistent connections in the graph database. An example of an inconsistent connection is a case where, in the graph database, one tracking instance node is linked to the tracking instance nodes of a plurality of tracking devices whose camera shooting ranges do not overlap. If the camera shooting ranges do not overlap, the tracking instance node should be linked to only one tracking instance node. If there is a misrecognition in the matching determination based on the feature information, such a case as described above will occur erroneously. The verification unit 250 regards such a connection as an inconsistent connection.

[0067] Another example of an inconsistent connection is a case where the tracked person is moving between tracking devices that are so far apart that realistic movement is impossible. Since such movement does not occur in reality, the verification unit 250 also regards such a connection as an inconsistent connection.

[0068] In step S62, the verification unit 250 corrects inconsistent connections in the graph database. An example of the correction is to delete an inconsistent connection (link). Another example of the correction is to replace an inconsistent connection with a correct connection.

[0069] [Search Process (Server Device)] FIG. 5(D) shows the person search process performed by the server device 200.

[0070] In step S240, the search target image acquisition unit 260 acquires an image in which the search target person appears. The search target image acquisition unit 260 may acquire the image from another device via a network, may read and acquire it from a storage medium, or may acquire it from a camera provided in the server device 200.

[0071] In step S72, the search target specifying unit 270 specifies the person to be searched for and obtains the global unique ID of the person. The person can be specified by extracting the feature information of the person from the image and searching for a person having the same feature information. The server device 200 has a storage unit that stores the feature information of the person in association with the global unique ID used in the graph database, and obtains the global unique ID of the person to be searched for by referring to the storage unit. In other embodiments, the search target specifying unit 270 transmits an image in which the person to be searched for appears or the feature information of the person to an external device, and as a result, obtains the global unique ID of the person.

[0072] In step S73, the search unit 280 searches the graph database in the tracking information update unit 220 and searches for a tracking instance connected to the global unique ID obtained in step S72. In this search, if conditions such as the geographical range and time range of the search are specified, the search unit 280 searches only for tracking instances that satisfy the conditions. In the graph database, since each tracking instance node is connected to the global unique ID node, it is easy to search for the tracking instance of the person having the specified global unique ID.

[0073] In step S74, the search unit 280 presents the search result. The presentation of the search result may be output to the screen or transmitted to another device of the search result.

[0074] [Advantageous Effects of the Embodiment] According to the present embodiment, the tracking device makes a coincidence determination of the person to be tracked in cooperation with surrounding tracking devices, and the server device does not perform the process of the coincidence determination. Therefore, even if the number of tracking devices increases, the load on the server device regarding the coincidence determination does not increase, so it is scalable.

[0075] In addition, the server device manages the tracking information in a graph-structured database. It is not easy to manage the information related to tracking in a database with a table structure (relational database), but by using a graph database, the management becomes easier. For example, by connecting the nodes of the tracking instance, it is easy to sequentially obtain the tracking instances associated with the movement of the object to be tracked. Also, since a node with a global unique ID is connected to each of the tracking instances, the search process using the global unique ID also becomes simple. Therefore, it is also easy to extract the search information of a specific person from the graph database.

[0076] In addition, since the tracking device performs a matching determination of the tracking target and notifies the server device, even if different global IDs are assigned to the same person, the database is updated so that ultimately the same global ID is assigned to the same person.

[0077] (Other Embodiments) The above embodiments are merely examples, and the present disclosure can be appropriately modified and implemented without departing from the gist thereof.

[0078] In the above, an example where the object to be searched is a person has been described, but in other embodiments, the object to be searched may be other objects. Examples of the object to be searched include, but are not limited to, vehicles, aircraft, animals, and the like.

[0079] The present disclosure can also be realized by supplying a computer program that implements the functions described in the above embodiments to a computer and causing one or more processors included in the computer to read and execute the program. Such a computer program may be provided to the computer by a non-transitory computer-readable storage medium connectable to the system bus of the computer, or may be provided to the computer via a network. The non-transitory computer-readable storage medium includes, for example, any type of disk such as a magnetic disk (e.g., a floppy (registered trademark) disk, a hard disk drive (HDD), etc.), an optical disk (e.g., a CD-ROM, a DVD disk, a Blu-ray disk, etc.), a read-only memory (ROM), a random access memory (RAM), an EPROM, an EEPROM, a magnetic card, a flash memory, an optical card, and any type of medium suitable for storing electronic instructions.

Explanation of Signs

[0080] 100: Tracking device 200: Server device

Claims

1. A tracking system including a plurality of tracking devices and a server device, wherein each of the plurality of tracking devices, an imaging device, tracking means for tracking an object based on an imaging image acquired by the imaging device, tracking information transmission means for generating an identifier of the object and transmitting tracking information including at least the characteristics and identifier of the object to surrounding tracking devices and the server device, determination means for determining whether, among the objects currently being tracked, there is an object whose characteristics match those of the object included in the tracking information received from another tracking device when the tracking information is received from another tracking device, when it is determined that, among the objects currently being tracked, there is an object whose characteristics match those of the object included in the tracking information received from another tracking device, replacing the generated identifier of the object with the identifier included in the received tracking information, and transmitting to the server device matching information indicating that the characteristics of the object included in the tracking information received from the surrounding tracking devices match the characteristics of the object currently being tracked, comprising, the server device, storing each of the tracking information transmitted from the plurality of tracking devices as a node in a network, based on the matching information, linking nodes of tracking information obtained by tracking objects that match each other by a link, and associating identification information of the object with each of the linked nodes, A tracking system comprising control means for executing.

2. The tracking information transmission means of the tracking device, transmits the tracking information periodically to tracking devices among surrounding tracking devices whose imaging ranges of the imaging device overlap, transmits the tracking information triggered by the object exiting the imaging range to tracking devices among surrounding tracking devices whose imaging ranges of the imaging device do not overlap, The tracking system according to claim 1.

3. The server device further comprises verification means for verifying the connection relationship of the stored tracking information and notifying the user or correcting the inconsistent connection relationship when an inconsistent connection relationship is found, The tracking system according to claim 1.

4. The control means of the server device, acquiring an image in which an object appears, identifying an identifier of the object in the image, acquiring and outputting tracking information of the object in the image, The tracking system according to claim 1, which executes

5. A tracking method in a tracking system including a plurality of tracking devices and a server device, wherein each of the plurality of tracking devices performs a tracking step of tracking an object based on a captured image acquired by an imaging device, generates an identifier of the object, and transmits tracking information including at least the characteristics and the identifier of the object to surrounding tracking devices and the server device in a tracking information transmission step, when receiving the tracking information from another tracking device, determines whether an object matching the characteristics of the object included in the received tracking information from the other tracking device is included among the currently tracked objects in a determination step, when it is determined that an object matching the characteristics of the object included in the received tracking information from another tracking device is included among the currently tracked objects, replaces the generated identifier of the object with the identifier included in the received tracking information, and transmits to the server device matching information indicating that the characteristics of the object included in the tracking information received from the surrounding tracking devices match the characteristics of the currently tracked object in an update step, executes, wherein the server device stores each of the tracking information transmitted from the plurality of tracking devices as a node in a network in a storage step, based on the matching information, links the nodes of the tracking information obtained by tracking objects that match each other by a link, and associates identification information of the object with each of the linked nodes in an association step, executes, characterized in that, a tracking method.

6. A program used in a tracking system including a plurality of tracking devices and a server device, wherein the tracking device performs a tracking step of tracking an object based on a captured image acquired by an imaging device, generates an identifier of the object, and transmits tracking information including at least the characteristics and the identifier of the object to surrounding tracking devices and the server device in a tracking information transmission step, when receiving the tracking information from another tracking device, determines whether an object matching the characteristics of the object included in the received tracking information from the other tracking device is included among the currently tracked objects in a determination step, When it is determined that among the objects currently being tracked, there is an object that matches the characteristics of the object included in the tracking information received from other tracking devices, replace the generated identifier of the object with the identifier included in the received tracking information, and a match indicating that the characteristics of the object included in the tracking information received from the surrounding tracking devices match the characteristics of the object currently being tracked an update step of transmitting matching information to the server device; causing to execute, in the server device, a step of storing each of the tracking information transmitted from the plurality of tracking devices as a node in the network; a step of linking nodes of the tracking information obtained by tracking objects that match each other based on the matching information by a link, and associating identification information of the object with each of the linked nodes; A program that causes the above to be executed.

Citation Information

Patent Citations

  • Graph display device, graph display program and computer readable storage medium with graph display program stored

    JP2017021753A

  • Movable body tracking method and image processing device used therefor

    JP2020087180A

  • Object detection system, object detection method, and program

    JP2022037998A

  • Graph display device, graph display program, and computer-readable storage medium storing the graph display program

    JP6570905B2