Processing equipment

The processing device and method efficiently vectorize the search for shared trajectories of moving objects, addressing processing inefficiencies by optimizing vectorization based on processing status, thus enhancing speed and efficiency in tracking multiple objects.

JP7729408B2Active Publication Date: 2025-08-26NEC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023574958
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-01-19
Publication Date
2025-08-26
Estimated Expiration
2042-01-19

AI Technical Summary

Technical Problem

Existing methods for determining shared trajectories of moving objects face inefficiencies in processing time and parallelization due to the increasing number of combinations required as the number of tracked objects increases, making it difficult to speed up the combination processing.

Method used

A processing device and method that vectorizes the process of searching for shared trajectories using a vector processing unit, which includes a trajectory determination unit to identify and extract common possible trajectories while avoiding duplicate combinations, and a vectorization method determination unit to optimize the vectorization process based on processing status.

Benefits of technology

The solution significantly speeds up the combination processing by utilizing high-speed memory access and optimizing vectorization methods, thereby improving processing efficiency and enabling real-time tracking of multiple moving objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007729408000001
    Figure 0007729408000001
  • Figure 0007729408000002
    Figure 0007729408000002
  • Figure 0007729408000003
    Figure 0007729408000003
Patent Text Reader

Abstract

A processing device 200 includes: an acquisition unit 221 that acquires information indicating trajectories which were identified on the basis of the results of sensing mobile bodies and which are the paths on which the mobile bodies moved; and a vectorization unit 222 that vectorizes processing for searching combinations of the trajectories acquired by the acquisition unit 221, and that causes a vectorization processing unit to execute such processing.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a processing device, a processing method, and a recording medium. [Background technology]

[0002] Based on multiple observations, the trajectory of a moving object such as a car, ship, airplane, or automated guided vehicle may be determined.

[0003] For example, Non-Patent Document 1 and Non-Patent Document 2 describe techniques for determining the trajectory of a moving object, such as the wake of a ship. In the cases of the techniques described in Non-Patent Document 1 and Non-Patent Document 2, after classifying wake hypotheses, global hypotheses are generated and wake hypotheses are selected based on the generated global hypotheses. In addition, Non-Patent Document 3, for example, is an example of a document that describes a method for generating global hypotheses.

[0004] Further, as a related technology, for example, there is Patent Document 1. Patent Document 1 describes an example of a technology used when detecting and tracking an object based on sensor data. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Patent Publication No. 2021-089723 [Non-patent literature]

[0006] [Non-Patent Document 1] Dimitri J Papageorgiou, et al. The Maximum Weight Independent Set Problem for Data Association in Multiple Hypothesis Tracking: Optimization and Cooperative Control Strategies, pp 235-255 [Non-patent document 2] KIM, Chanho, et al. Multiple hypothesis tracking revisited. In: Proceedings of the IEEE international conference on computer vision. 2015. p. 4696-4704. [Non-patent document 3] JRWerthmann, Step-by-step description of a computationally efficient version of multiple hypothesis tracking(Structured Branching MHT)P.298 2.7Hypothesis Generation Summary of the Invention [Problem to be solved by the invention]

[0007] When generating a global hypothesis as described in Non-Patent Documents 1 to 3, a trajectory and a trajectory that can be shared with the trajectory may be searched for. When tracking moving objects by searching for such trajectories that can be shared, for example, as the number of moving objects to be tracked increases, the number of required processes increases by the number of combinations. As a result, the processing time increases.

[0008] Since tracking of moving objects as described above may require processing in real time, it is desirable to perform the processing as quickly as possible. However, the process of combining, such as searching for common trajectories, is complex. Therefore, parallelization efficiency is poor, making it difficult to increase the speed.

[0009] As such, it has become difficult to speed up the process of combinations such as searching for sharable trajectories.

[0010] Therefore, an object of the present invention is to provide a processing device, a processing method, and a recording medium that can solve the problem that it is difficult to speed up combination processing such as searching for sharable trajectories. [Means for solving the problem]

[0011] In order to achieve this object, a processing device according to one embodiment of the present disclosure comprises: an acquisition unit that acquires information indicating a trajectory, which is a path along which the moving object has moved, identified based on a sensing result of the moving object; a vectorization unit that vectorizes the process of searching for a combination of trajectories acquired by the acquisition unit and causes a vector processing unit to execute the process; have The structure is as follows.

[0012] In addition, a processing method according to another aspect of the present disclosure includes: The information processing device acquiring information indicating a trajectory, which is a route traveled by the moving object, identified based on a sensing result of the moving object; The process of searching for the combination of acquired trajectories is vectorized and executed by the vector processing unit. The structure is as follows.

[0013] Furthermore, a recording medium according to another aspect of the present disclosure includes: In the information processing device, acquiring information indicating a trajectory, which is a route traveled by the moving object, identified based on a sensing result of the moving object; The process of searching for the combination of acquired trajectories is vectorized and executed by the vector processing unit. It is a computer-readable recording medium that records a program for implementing the processing. [Effects of the Invention]

[0014] According to the above-described configurations, it is possible to provide a processing device, a processing method, and a recording medium that can speed up the process of combinations such as searching for sharable trajectories. [Brief explanation of the drawings]

[0015] [Figure 1] FIG. 1 is a diagram for explaining an overview of the present invention. [Figure 2] FIG. 1 is a diagram for explaining an overview of the present invention. [Figure 3] FIG. 2 is a block diagram showing an example of the configuration of a processing device. [Figure 4] FIG. 10 is a diagram showing an example of determining a trajectory and a common possible trajectory in the first stage. [Figure 5] FIG. 10 is a diagram illustrating an example of vectorization. [Figure 6] FIG. 10 is a diagram illustrating another example of vectorization. [Figure 7] FIG. 10 is a diagram illustrating another example of vectorization. [Figure 8] FIG. 10 is a diagram illustrating an example of a determination condition. [Figure 9] FIG. 10 is a diagram illustrating a detailed example of vectorization in the first method. [Figure 10] FIG. 10 is a diagram illustrating a detailed example of vectorization in the first method. [Figure 11] FIG. 10 is a diagram illustrating a detailed example of vectorization in the second method. [Figure 12] FIG. 10 is a diagram illustrating a detailed example of vectorization in the third method. [Figure 13] 10 is a flowchart illustrating an example of the operation of the processing device. [Figure 14] FIG. 10 is a block diagram showing a configuration example of a processing device according to a second embodiment of the present disclosure. [Figure 15] FIG. 2 is a block diagram showing an example of the configuration of a processing device. DETAILED DESCRIPTION OF THE INVENTION

[0016] [First embodiment] A first embodiment of the present disclosure will be described with reference to FIGS. 1 to 13. FIGS. 1 and 2 are diagrams for explaining an overview of the present invention. FIG. 3 is a block diagram showing an example of the configuration of a processing device 100. FIG. 4 is a diagram showing an example of determining a trajectory and a common possible trajectory in the first stage. FIGS. 5 to 7 are diagrams showing an example of vectorization. FIG. 8 is a diagram showing an example of a determination condition. FIGS. 9 and 10 are diagrams showing a detailed example of vectorization in a first method. FIG. 11 is a diagram showing a detailed example of vectorization in a second method. FIG. 12 is a diagram showing a detailed example of vectorization in a third method. FIG. 13 is a flowchart showing an example of the operation of the processing device 100.

[0017] In the first embodiment of the present disclosure, a processing device 100 that is an information processing device that searches for a combination of trajectories that can be selected simultaneously will be described as an example of combination processing. For example, as shown in FIG. 1, assume that three moving objects are observed in a certain frame (frame 1) using a sensor such as an electric wave or an acoustic wave, and three moving objects are observed in the next frame (frame 2) (the number of moving objects may be arbitrary). In such a case, it is assumed that moving object 1 in frame 1 corresponds to any one of moving objects 1, 2, and 3 in frame 2. In other words, it is assumed that one of trajectories 11 formed by moving object 1 in frame 1 moving to moving object 1 in frame 2, trajectory 12 formed by moving object 1 in frame 1 moving to moving object 2 in frame 2, and trajectory 13 formed by moving object 1 in frame 1 moving to moving object 3 in frame 2 is formed. The same can be said for moving objects 2 and 3 in frame 1.

[0018] The processing device 100 described in this embodiment thoroughly searches for the above-mentioned combinations of trajectories, for example, by a method illustrated in FIG. 2. First, the processing device 100 focuses on a certain trajectory and extracts common possible trajectories, which are trajectories that can be shared with the focused trajectory. At this time, the processing device 100 performs the extraction process so as not to extract the same combinations that are only in a different order. For example, in the example illustrated in FIG. 2, the processing device 100 focuses on trajectory 22 and extracts trajectories 11, 33, 13, and 31 as common possible trajectories that can be shared with trajectory 22. Next, the processing device 100 focuses on trajectory 11 and extracts common possible trajectories. At this time, the processing device 100 extracts common possible trajectories so as not to extract the same combination as the combination extracted when focusing on trajectory 22. For example, in the example illustrated in FIG. 2, the combination of "trajectory 22, trajectory 11" has already been extracted when focusing on trajectory 22. Therefore, the processing device 100 extracts trajectories 33, 23, and 32 as common possible trajectories that are trajectories that can be shared with trajectory 11, but does not extract trajectory 22, which forms the same combination. For example, as the first stage of processing, the processing device 100 focuses on each trajectory and repeats the above-mentioned processing to extract common possible trajectories so as not to extract the same combination.

[0019] Note that a moving body refers to a moving object such as an automobile, ship, airplane, or automated guided vehicle. The moving body may be other than those exemplified above. Furthermore, a common feasible trajectory refers to a trajectory that can physically coexist (exist). For example, trajectory 11 and trajectory 22 can coexist, but trajectory 11 and trajectory 13 cannot coexist because two moving bodies 1 exist in frame 1, and are not considered common feasible trajectories. Common feasible trajectories may be limited to a subset of physically coexistent trajectories in advance, such as trajectories whose travel distance is within a threshold or trajectories formed between moving bodies with predetermined features, during preprocessing. Furthermore, the order of trajectories that the processing device 100 focuses on may be determined arbitrarily.

[0020] Furthermore, after the first stage of processing, the processing device 100 performs a second stage of processing to extract common feasible trajectories that are trajectories that can be further shared with each trajectory indicated by the common feasible trajectories extracted in the first stage of processing, in a manner similar to the first stage, so as not to extract the same combinations. Furthermore, after the process of searching for combinations for the second stage is completed, the processing device 100 performs a third stage of processing to extract common feasible trajectories that are trajectories that can be further shared with each trajectory indicated by the common feasible trajectories extracted in the second stage of processing. Thereafter, the processing device 100 repeats the same process until no more combinations are extracted. Note that, as will be described later, the processing device 100 described in this embodiment vectorizes the extraction process from the second stage onwards and causes a vector processing unit 130, such as a vector engine, to perform the vector processing. In other words, the processing device 100 vectorizes the process of searching for combinations for the second stage onwards and causes the vector processing unit 130 to perform the vectorization. Furthermore, as described above, the processing device 100 performs the extraction process so as not to extract the same combinations. Therefore, the number of common possible trajectories decreases in later stages, or even in the same stage, the later one focuses on. Therefore, the processing device 100 can change the vectorization method depending on the processing status of the process searching for combinations such as the order of focus, the number of processing stages, and the number of common possible trajectories for a certain trajectory. Note that the decision to change the vectorization method and specific examples of vectorization methods will be described later.

[0021] Fig. 3 shows a configuration example of the processing device 100. Referring to Fig. 3, the processing device 100 has, for example, a storage unit 110, an arithmetic processing unit 120, and a vector processing unit 130. The processing device 100 is also communicably connected to an external device such as a sensor that detects a moving object using sound waves, radio waves, or the like. The processing device 100 can receive, from the external device such as a sensor, the results of sensing by the sensor or the like.

[0022] The storage unit 110 is a storage device such as a hard disk or memory. The storage unit 110 stores processing information and programs 112 required for various processes in the arithmetic processing unit 120 and the like. The programs 112 are read into the arithmetic processing unit 120 and executed to realize various processing units. The programs 112 are read in advance from an external device or recording medium via a data input / output function of the processing device 100, and are stored in the storage unit 110. Main information stored in the storage unit 110 includes, for example, sensing information 111.

[0023] The sensing information 111 includes information indicating the position of a moving object detected by an external device such as a sensor (e.g., position information such as latitude and longitude information). For example, the sensing information 111 includes information indicating the positions of multiple moving objects in multiple frames. The sensing information 111 is updated every time information indicating a sensing result is received from an external device such as a sensor.

[0024] The arithmetic processing unit 120 includes an arithmetic device such as a processor and its peripheral circuits. The arithmetic processing unit 120 reads and executes a program 112 from the storage unit 110, thereby causing the hardware and the program 112 to cooperate with each other to realize various processing units. Major processing units realized by the arithmetic processing unit 120 include, for example, a trajectory determination unit 121, a vectorization method determination unit 122, and a vectorization execution unit 123. Of the processing units realized by the arithmetic processing unit 120, at least the vectorization method determination unit 122 and the vectorization execution unit 123 may be included in, for example, a compiler realized by the arithmetic processing unit 120 reading and executing the program 112, etc.

[0025] The trajectory determination unit 121 identifies, for example, multiple trajectories, such as the routes traveled by the moving object, based on the position information of the moving object in multiple frames indicated by the sensing information 111. Then, the trajectory determination unit 121 performs the first stage processing described above on the multiple identified trajectories. That is, the trajectory determination unit 121 focuses on an arbitrary trajectory and performs processing for extracting common possible trajectories from the focused trajectory for each identified trajectory. In this case, the trajectory determination unit 121 extracts common possible trajectories so as not to extract identical combinations that are simply in a different order. Furthermore, the trajectory determination unit 121 adds each trajectory indicated by the extracted common possible trajectories to the processing targets for the next common possible trajectory search.

[0026] 4 shows an example of processing by the trajectory determination unit 121 in a case where three moving objects are detected in each of frames 1 and 2 as illustrated in FIG. 1. Referring to FIG. 4, for example, the trajectory determination unit 121 focuses on trajectory 22. Then, the trajectory determination unit 121 extracts common possible trajectories that are trajectories that can be shared with trajectory 22. For example, the trajectory determination unit 121 extracts trajectories 11, 33, 13, and 31 as common possible trajectories. Next, for example, the trajectory determination unit 121 focuses on trajectory 11. Then, the trajectory determination unit 121 extracts common possible trajectories that are trajectories that can be shared with trajectory 11, so as not to extract the same combination as a combination that has already been extracted. For example, in the example shown in FIG. 4, the trajectory determination unit 121 extracts trajectories 33, 23, and 32 as common possible trajectories, but does not extract trajectory 22, which is the same combination as an already extracted combination.

[0027] For example, the trajectory determination unit 121 extracts common possible trajectories without extracting the same combinations by repeating the same process for each identified trajectory, such as trajectory 33, trajectory 21, trajectory 23, ..., focusing on trajectory 22, trajectory 11, and onwards.The trajectory determination unit 121 then adds each trajectory indicated by the extracted common possible trajectory to the processing targets for the next common possible trajectory search.

[0028] As described above, the trajectory determination unit 121 does not extract the same combination as a combination that has already been extracted. Therefore, as shown in FIG. 4, the later a trajectory is focused on, the more likely it is that a sharable trajectory of the same combination has been extracted previously, and the number of sharable trajectories that are actually extracted decreases. For example, in the example shown in FIG. 4, the trajectory determination unit 121 does not extract a sharable trajectory when focusing on trajectory 31. This is because all combinations of trajectory 31 and sharable trajectories have already been extracted before focusing on trajectory 31.

[0029] Furthermore, the trajectory determination unit 121 may be configured to perform the above-described first-stage processing on a trajectory that has undergone predetermined preprocessing by a preprocessing unit implemented by the calculation processing unit 120 reading and executing the program 112. For example, the preprocessing may include processing to limit common possible trajectories that can be shared with a certain trajectory, such as trajectories whose movement distance is within a threshold among trajectories that can physically coexist, or trajectories formed between moving objects having predetermined feature amounts. In this way, the trajectory determination unit 121, which functions as an acquisition unit that acquires information indicating a trajectory, may acquire information indicating a trajectory based on position information of moving objects in multiple frames indicated by the sensing information 111, or may acquire information indicating a trajectory from another processing unit such as a preprocessing unit.

[0030] The vectorization method determination unit 122 is a determination unit that determines a method for vectorizing the process of searching for combinations for each of one or more processing targets. For example, the vectorization method determination unit 122 determines which of predetermined methods to use to vectorize the process of searching for combinations, based on the processing status of the process of searching for trajectory combinations, such as the order of focus, the number of processing stages, and the number of common possible trajectories in a certain trajectory. For example, the vectorization method determination unit 122 determines whether to use any of the first method, the second method, or the third method to vectorize the process of searching for combinations, based on the processing status of the process of searching for trajectory combinations.

[0031] Here, an overview of the first method will be described with reference to FIG. 5. Referring to FIG. 5, the first method vectorizes the process of searching for further common possible trajectories for each trajectory indicated by a common possible trajectory corresponding to a certain trajectory in the previous stage, which is one stage before the stage to be searched, and adding these to the next processing target. In other words, the first method vectorizes the process of searching for combinations for each trajectory indicated by a common possible trajectory corresponding to a single processing target. For example, in the example shown in FIG. 5, in the first stage, which is the previous stage, trajectories 11, trajectory 33, trajectory 13, and trajectory 31 are extracted as common possible trajectories of trajectory 22. Therefore, the first method vectorizes the process of searching for further common possible trajectories for each of trajectories 11, trajectory 33, trajectory 13, and trajectory 31, and adding each trajectory indicated by the searched common possible trajectory to the next processing target.

[0032] FIG. 6 also shows an overview of the second method. Referring to FIG. 6, the second method vectorizes a process of searching for a common possible trajectory for each trajectory indicated by a common possible trajectory corresponding to multiple trajectories in the previous stage and adding the searched common possible trajectory to the next processing target. In other words, the second method vectorizes a process of searching for a combination for each trajectory indicated by a common possible trajectory corresponding to multiple processing targets. For example, in the example shown in FIG. 6, in the first stage, which is the previous stage, trajectories 11, trajectory 33, trajectory 13, and trajectory 31 are extracted as common possible trajectories of trajectory 22. Also, in the example shown in FIG. 6, trajectories 33, trajectory 23, and trajectory 32 are extracted as common possible trajectories of trajectory 11 in the first stage. Therefore, in the second method, a further possible common trajectory is searched for for each of trajectory 11, trajectory 33, trajectory 13, and trajectory 31 that can be shared with trajectory 22, and for each of trajectory 33, trajectory 23, and trajectory 32 that can be shared with trajectory 11, and the process of adding each of the searched possible common trajectories to the next processing target is vectorized. Note that the number of trajectories to be processed collectively in the second method may be set arbitrarily. For example, the number of trajectories to be processed collectively in the second method may be set according to the total number of possible common trajectories corresponding to each of the trajectories to be processed collectively.

[0033] FIG. 7 shows an overview of a third method. Referring to FIG. 7, the third method performs some of the processes of the first method in a consolidated manner. For example, the third method vectorizes the process of searching for combinations so that the process of searching for further common possible trajectories for each trajectory indicated by a common possible trajectory corresponding to a certain trajectory in the previous stage is performed multiple times, and then the process of adding the trajectories indicated by the searched common possible trajectories to the next processing target is performed in a consolidated manner. In this way, the third method vectorizes the process of searching for combinations so that the process of searching for combinations of the first method is performed multiple times, and then the process of adding the trajectories indicated by the searched common possible trajectories to the next processing target is performed in a consolidated manner.

[0034] For example, as described above, the vectorization method determination unit 122 determines which of the first, second, and third methods described above to use to vectorize the process of searching for combinations, based on the processing status of the process of searching for combinations. FIG. 8 illustrates an example of the determination based on the processing status. For example, as shown in FIG. 8, the later the processing stage, the fewer the number of shareable trajectories corresponding to trajectories in the previous stage. Therefore, for example, the vectorization method determination unit 122 can determine which of the first and second methods to use for vectorization, based on the number of processing stages, etc. For example, the vectorization method determination unit 122 determines to use the first method for vectorization when the number of processing stages is less than a predetermined value, and determines to use the second method for vectorization when the number of processing stages is equal to or greater than the predetermined value. In other words, the vectorization method determination unit 122 determines to vectorize the process of searching for combinations using the first method when it is assumed that there are a sufficiently large number of trajectories to be searched for (i.e., the number of sharable trajectories in the previous stage) based on the processing status such as the number of processing stages. On the other hand, when it is assumed that there are a small number of trajectories to be searched for based on the number of processing stages, the vectorization method determination unit 122 determines to vectorize the process of searching for combinations using the second method. In this way, the vectorization method determination unit 122 can determine whether to use the first method or the second method for vectorization based on the amount of processing determined based on the processing status such as the number of processing stages.

[0035] Furthermore, as shown in FIG. 8, the later the focus is placed, the fewer the number of sharable trajectories corresponding to a trajectory, even within the same stage. Therefore, for example, the vectorization method determination unit 122 can determine whether to use the first method or the third method for vectorization based on factors such as the focus order. For example, the vectorization method determination unit 122 determines to use the first method for vectorization when the focus order is less than a predetermined value, and determines to use the third method for vectorization when the focus order is equal to or greater than the predetermined value. In other words, the vectorization method determination unit 122 determines to use the first method for vectorization in the process of searching for combinations when it is expected that there are a sufficient number of trajectories to be searched based on factors such as the focus order. On the other hand, when it is expected that there are a small number of trajectories to be searched based on factors such as the focus order, the vectorization method determination unit 122 determines to use the third method for vectorization in the process of searching for combinations. In this way, the vectorization method determination unit 122 can determine whether to use the first method or the third method for vectorization based on the amount of processing determined based on the processing status, such as the order of focus.

[0036] For example, the vectorization method determination unit 122 can determine whether to use any of the above determination methods or a combination of the above determination methods to vectorize the process of searching for combinations, among the first method, the second method, and the third method. The vectorization method determination unit 122 may make the determination using a variation of the above-exemplified methods, such as determining whether to use the first method or the third method for vectorization based on the number of processing stages, or determining whether to use the first method or the second method for vectorization based on the number of shareable trajectories in the previous stage.

[0037] The timing at which the vectorization method determination unit 122 makes the above determination may be set arbitrarily. For example, the vectorization method determination unit 122 can determine which method to use for vectorization for each stage. That is, the vectorization method determination unit 122 can collectively determine which method to use for vectorization for a certain stage. Each time processing based on the result of determining that a certain method should be used for vectorization is completed, the vectorization method determination unit 122 may determine which method to use for vectorizing the process of searching for combinations of the next sharable trajectories corresponding to one or more trajectories.

[0038] The vectorization execution unit 123 (vectorization unit) vectorizes the process of searching for combinations in accordance with the determination by the vectorization method determination unit 122. Then, the vectorization execution unit 123 causes the vector processing unit 130 to execute vector processing. Note that the method described in this embodiment is a process of checking common combinations, and therefore cannot be simply vectorized. Therefore, the vectorization execution unit 123 performs vectorization using a buffer.

[0039] For example, Fig. 9 is a diagram for explaining the process of vectorization using the first method in more detail. Referring to Fig. 9, the vectorization execution unit 123 first prepares a buffer corresponding to the trajectory number in the previous stage. For example, in the case of the second stage processing as illustrated in Fig. 5, the previous stage, i.e., the first stage, contains trajectory 22, trajectory 11, trajectory 33, trajectory 21, trajectory 23, trajectory 12, trajectory 32, trajectory 13, and trajectory 31. Therefore, the vectorization execution unit 123 prepares a buffer corresponding to the number of each of the trajectories in the storage unit 110 or the like.

[0040] Furthermore, the vectorization execution unit 123 performs vectorization by generating an instruction to cause the vector processing unit 130 to perform the following processing, for example. Store 1 in the buffer that corresponds to the common feasible trajectory of the previous stage among the prepared buffers. Check whether there is a 1 in the buffer indicated by the previous common possible trajectory corresponding to the trajectory to be judged, and if there is a 1, add the number of the buffer with 1 to the common possible trajectory frame of the trajectory to be judged. -Similar judgment process is performed for each trajectory The trajectory indicated by the number added to the shared trajectory frame will be the next target for processing.

[0041] As an example, as shown in FIG. 9, in the case of the second stage processing as illustrated in FIG. 5, the command is as follows: Store 1 in the buffers corresponding to the previous shareable trajectories, trajectory 11, trajectory 33, trajectory 13, and trajectory 31. ·Check whether there is a 1 in the buffer (33, 23, 32) indicated by the previous common possible trajectory corresponding to the trajectory 11 to be judged, and if there is a 1, add the number of the buffer with 1 to the common possible trajectory frame of the trajectory to be judged. (In this case, 1 is stored in the buffers corresponding to trajectory 11, trajectory 33, trajectory 13, and trajectory 31, so there is a 1 in the buffer for 33. Therefore, 33 is added to the common possible trajectory frame for trajectory 11, which is the target of evaluation.) · Check whether there is a 1 in the buffer (21, 12) indicated by the previous common possible trajectory corresponding to the trajectory 33 to be judged, and if there is a 1, add the number of the buffer with 1 to the common possible trajectory frame of the trajectory to be judged. (In this case, 1 is stored in the buffers corresponding to trajectories 11, 33, 13, and 31, so there is no 1 in the buffers for 21 and 12. Therefore, a value such as Φ is added to the shared possible trajectory frame for trajectory 33, which is the target of evaluation, to indicate that there is no shared possible trajectory.) Check whether there is a 1 in the buffer (31) indicated by the previous common possible trajectory corresponding to the trajectory 13 to be judged, and if there is a 1, add the number of the buffer with 1 to the common possible trajectory frame of the trajectory to be judged. (In this case, 1 is stored in the buffers corresponding to trajectories 11, 33, 13, and 31, so there is a 1 in the buffer for 31. Therefore, 31 is added to the common possible trajectory frame for trajectory 13, which is the target of evaluation.) The previous shareable trajectory corresponding to the trajectory 31 to be judged indicates that there is no combination of trajectories that can be shared with the trajectory 31. Therefore, no further checks are performed. · The trajectories 33 and 31 indicated by the numbers added to the common possible trajectory frame will be the next processing targets.

[0042] When preparing a buffer, the vectorization execution unit 123 prepares a buffer corresponding to the number of the trajectory in the previous stage. In this case, the vectorization execution unit 123 can prepare a buffer corresponding to the number of the trajectory that was the target of judgment in the previous stage by the same process (or by processing each trajectory if multiple trajectories are processed collectively). For example, FIG. 10 shows an example of a buffer prepared by the vectorization execution unit 123 in the third stage. Referring to FIG. 10, when a further possible shared trajectory is searched for for trajectory 33 and trajectory 31 in the third stage of processing, the trajectories that were the target of judgment in the same process in the previous stage are trajectories 11, trajectory 33, trajectory 13, and trajectory 31. Therefore, the vectorization execution unit 123 can prepare a buffer corresponding to the number of each of the above trajectories in the storage unit 110, etc. When a further possible shared trajectory is searched for for trajectory 32 in the third stage of processing, the trajectories that were the target of judgment in the same process in the previous stage are trajectories 33, trajectory 23, and trajectory 32. Therefore, the vectorization execution unit 123 can prepare buffers corresponding to the numbers of the above-mentioned respective trajectories in the storage unit 110 or the like.

[0043] FIG. 11 is a diagram for explaining the process of vectorization using the second method in more detail. Referring to FIG. 11, the vectorization execution unit 123 first prepares a buffer with a number of vector lengths corresponding to the number of trajectories to be processed simultaneously, which corresponds to the trajectory numbers in the previous stage. For example, in the case of the second-stage processing illustrated in FIG. 6, the previous stage, the first stage, contains trajectories 22, 11, 33, 21, 23, 12, 32, 13, and 31. In the example illustrated in FIG. 6, two trajectories are processed simultaneously, as an example. Therefore, the vectorization execution unit 123 prepares two rows of buffers in the storage unit 110, etc., corresponding to the numbers of the trajectories.

[0044] Furthermore, the vectorization execution unit 123 performs vectorization by generating an instruction to cause the vector processing unit 130 to perform the following processing, for example. For the row corresponding to the trajectory to be processed, store 1 in the buffer corresponding to the common possible trajectory in the previous stage. For each line of the buffer, check whether there is a 1 in the buffer indicated by the previous common possible trajectory corresponding to the trajectory to be judged. If there is a 1, add the number of the buffer with 1 to the common possible trajectory frame of the trajectory to be judged. -Similar judgment process is performed for each trajectory The trajectory indicated by the number added to the shared trajectory frame will be the next target for processing.

[0045] As an example, as shown in FIG. 11, in the case of the second stage processing illustrated in FIG. 6, the command is as follows: For the first row of the buffer, store 1 in the buffers corresponding to the previous shareable trajectories: trajectory 11, trajectory 33, trajectory 13, and trajectory 31. For the second row of the buffer, store 1 in the buffers corresponding to the previous shareable trajectories: trajectory 33, trajectory 23, and trajectory 32. Check whether there is a 1 in buffer 33 on the first line and 21 on the second line, and if there is a 1, add the number of buffer 1 to the common possible trajectory frame of the trajectory to be judged. (In this case, there is a 1 in the buffer for 33 on the first line. Therefore, 33 is added to the common possible trajectory frame for trajectory 11, which is the target of the evaluation.) Check whether there is a 1 in 23 on the first line of the buffer and in 12 on the second line, and if there is a 1, add the number of the buffer with 1 to the common possible trajectory frame of the trajectory to be judged. (In this case, there is no 1 in each buffer) Check whether there is a 1 in 32 on the first line of the buffer, and if there is a 1, add the number of the buffer with 1 to the common possible trajectory frame of the trajectory to be judged. (In this case, there is no 1 in each buffer) The same process is performed for the trajectories 33 and 23. The same process is then performed for each trajectory. The trajectory indicated by the number added to the shared trajectory frame will be the next target for processing.

[0046] 12 is a diagram for explaining in more detail the process of vectorization by the third method. Referring to FIG. 12, in the third method, after performing the determination process of the first method for a plurality of trajectories, vectorization is performed by generating an instruction indicating that a process of simultaneously adding the next processing target is performed based on the results of the determination process for the plurality of trajectories.

[0047] For example, as described above, the vectorization execution unit 123 performs vectorization by generating instructions corresponding to each of the above-described methods in accordance with the determination of the vectorization method determination unit 122. Then, the vectorization execution unit 123 causes the vector processing unit 130 to execute vector processing using the generated instructions.

[0048] The vector processing unit 130 has a vector processor or the like, and executes vector processing in response to instructions from the vectorization execution unit 123. The vector processing unit 130 may be a known vector engine or the like.

[0049] The above is an example of the configuration of the processing device 100. Next, an example of the operation of the processing device 100 will be described with reference to FIG.

[0050] Fig. 13 is a flowchart showing an example of the operation of the processing device 100. Referring to Fig. 13, the trajectory determination unit 121 identifies, for example, multiple trajectories, such as routes traveled by the moving object, based on position information of the moving object in multiple frames indicated by the sensing information 111. Then, the trajectory determination unit 121 performs first-stage processing on the identified multiple trajectories. That is, the trajectory determination unit 121 extracts common possible trajectories for the first stage (step S101).

[0051] The vectorization method determination unit 122 determines which of predetermined methods to use to vectorize the process of searching for a combination of trajectories, based on the processing status of the process of searching for a combination of trajectories (step S102). For example, the vectorization method determination unit 122 determines which of the first method, the second method, and the third method to use to vectorize the process of searching for a combination of trajectories, based on the processing status of the process of searching for a combination of trajectories.

[0052] The vectorization execution unit 123 vectorizes the process of searching for combinations in accordance with the determination of the vectorization method determination unit 122. Then, the vectorization execution unit 123 causes the vector processing unit 130 to execute vector processing (step S103).

[0053] After the vector processing in step S103, if the processing target has been completed (step S104, Yes), the processing device 100 ends the processing. On the other hand, if the processing target exists (step S104, No), the process returns to the determination in step S102 by the vectorization method determination unit 122.

[0054] The above is an example of the operation of the processing device 100.

[0055] As described above, the processing device 100 includes the vectorization execution unit 123. With this configuration, the vectorization execution unit 123 can vectorize the process of searching for trajectory combinations and have the vector processing unit 130 perform the vectorization. Generally, the process of searching for trajectory combinations as described above is a memory-bound process. Therefore, by having the vector processing unit 130, which has high-speed memory access, perform the process, the processing speed can be increased. In other words, for example, according to the method described in this embodiment, the process of generating global hypotheses as described in Non-Patent Document 3 can be parallelized. As a result, the processing speed can be increased.

[0056] The processing device 100 also includes a vectorization method determination unit 122. With this configuration, the vectorization execution unit 123 can execute vectorization using a method determined by the vectorization method determination unit 122 depending on the processing status of the process of searching for trajectory combinations. In the process of searching for trajectory combinations, the search process is performed so as not to extract the same combinations, so the number of common possible trajectories decreases in later stages, or even in the same stage, the later the focus is. Therefore, by performing vectorization using a method determined depending on the processing status of the process of searching for trajectory combinations, the efficiency of vector processing can be improved.

[0057] As described above, the processing device 100 described in this embodiment searches for a combination of trajectories that can be selected simultaneously. The search results performed by the processing device 100 can be used, for example, when tracking a moving object. The search results performed by the processing device 100 may also be used in situations other than tracking a moving object.

[0058] [Second embodiment] Next, a second embodiment of the present disclosure will be described with reference to Fig. 14 and Fig. 15. Fig. 14 is a diagram showing an example of the hardware configuration of a processing device 200. Fig. 15 is a block diagram showing an example of the configuration of the processing device 200.

[0059] In the second embodiment of the present disclosure, a processing device 200 that is an information processing device that searches for a combination of trajectories and the like will be described. Fig. 14 shows an example of the hardware configuration of the processing device 200. Referring to Fig. 14, the processing device 200 has, as an example, the following hardware configuration. A processor (CPU: Central Processing Unit) 201 that functions as a processing management unit that vectorizes processing and causes the vector processing unit to process the processing. A vector processor 202 that functions as a vector processing unit for vector processing A storage device 203 for storing a group of programs 204 In addition, the processing device 200 may have a ROM (Read Only Memory), a RAM (Random Access Memory), a drive device for reading and writing from and to recording media external to the information processing device, a communication interface for connecting to a communication network external to the information processing device, an input / output interface for inputting and outputting data, a bus for connecting each component, etc.

[0060] 15 by the processor 201 acquiring the program group 204 and executing it. The program group 204 is stored in advance in the storage device 203 or a ROM of the processing device 200, for example, and is loaded into a RAM or the like by the processor 201 for execution as needed. The program group 204 may be supplied to the processor 201 via a communication network, or may be stored in advance on a recording medium, and a drive device may read out the program and supply it to the processor 201.

[0061] 14 shows an example of the hardware configuration of the processing device 200. The hardware configuration of the processing device 200 is not limited to the above-described case.

[0062] The acquisition unit 221 acquires information indicating a trajectory, which is a route along which the moving object has moved, identified based on the sensing result of the moving object. For example, the acquisition unit 221 may acquire information indicating the trajectory based on position information of the moving object indicated by the sensing result of the moving object.

[0063] The vectorization unit 222 vectorizes the process of searching for a combination of trajectories acquired by the acquisition unit 221 and causes the vector processing unit to execute the vectorized process. For example, the vectorization unit 222 may vectorize the process of searching for a combination of trajectories by using a buffer to generate an instruction to extract a possible common trajectory that is a trajectory that can be common to the trajectory.

[0064] As described above, the processing device 200 includes the vectorization unit 222. With this configuration, the vectorization unit 222 can vectorize the process of searching for a combination of trajectories and have the vector processing unit perform the vectorization. Generally, the process of searching for a combination of trajectories as described above is a memory-intensive process. Therefore, by having the vector processing unit, which has high-speed memory access, perform the process, the processing speed can be increased.

[0065] The processing device 200 described above can be realized by incorporating a predetermined program into an information processing device such as the processing device 200. Specifically, the program according to another aspect of the present invention is a program for acquiring information indicating a trajectory, which is a path along which a moving body has moved, identified based on a sensing result of the moving body, and for causing a vector processing unit to execute a process of vectorizing a process of searching for combinations of the acquired trajectories.

[0066] In addition, the processing method executed by an information processing device such as the processing device 200 described above is a method of acquiring information indicating a trajectory, which is the path traveled by a moving body, identified based on the sensing results of the moving body, vectorizing the process of searching for combinations of the acquired trajectories, and having the vector processing unit execute the process.

[0067] Even if the invention is a program having the above-described configuration, or a computer-readable recording medium having the program recorded thereon, or a processing method, it has the same functions and effects as the processing device 200 described above, and therefore can achieve the above-described object of the present invention.

[0068] <Additional Notes> A part or all of the above-described embodiments can be described as follows: The processing apparatus and the like according to the present invention will be outlined below. However, the present invention is not limited to the following configuration.

[0069] (Appendix 1) an acquisition unit that acquires information indicating a trajectory, which is a path along which the moving object has moved, identified based on a sensing result of the moving object; a vectorization unit that vectorizes the process of searching for a combination of trajectories acquired by the acquisition unit and causes a vector processing unit to execute the process; A processing device having: (Appendix 2) 10. The processing device of claim 1, The vectorization unit generates an instruction to extract a possible common trajectory that is a trajectory that can be common to the trajectory using a buffer, thereby vectorizing the process of searching for a combination of trajectories. Processing equipment. (Appendix 3) 10. The processing device according to claim 1 or 2, a determination unit that determines which of predetermined methods should be used to vectorize the process of searching for a combination of trajectories, based on a processing status of the process of searching for a combination of trajectories; The vectorization unit vectorizes a process of searching for a combination of trajectories according to a result of the determination by the determination unit. Processing equipment. (Appendix 4) 4. The processing device of claim 3, The determination unit determines, based on the processing status of the process of searching for a combination of trajectories, which of a first method of vectorizing the process of searching for a combination of trajectories indicated by a common possible trajectory corresponding to one processing object, and a second method of vectorizing the process of searching for a combination of trajectories indicated by a common possible trajectory corresponding to a plurality of processing objects, to use for vectorization. Processing equipment. (Appendix 5) 5. The processing device of claim 4, The determination unit determines whether to use the first method or the second method for vectorization in accordance with the amount of processing determined based on the processing status of processing for searching for a combination of trajectories. Processing equipment. (Appendix 6) 10. The processing device according to claim 3, wherein: The determination unit determines, based on the processing status of the process of searching for a combination of the trajectories, which of a first method for vectorizing a process of searching for a combination of each trajectory indicated by a common possible trajectory corresponding to one processing object, and a third method for vectorizing a process of searching for a combination of each trajectory indicated by a common possible trajectory corresponding to one processing object multiple times and then adding processing objects collectively according to the search results. Processing equipment. (Appendix 7) 7. The processing device of claim 6, The determination unit determines whether to use the first method or the third method for vectorization depending on the amount of processing determined based on the processing status of processing for searching for a combination of trajectories. Processing equipment. (Appendix 8) 10. The processing device according to claim 1, wherein: a determination unit that extracts a possible common trajectory that can be common to the trajectory for each trajectory acquired by the acquisition unit, The vectorization unit vectorizes a process of searching for a further common feasible trajectory for the trajectory indicated by the common feasible trajectory. Processing equipment. (Appendix 9) The information processing device acquiring information indicating a trajectory, which is a route traveled by the moving object, identified based on a sensing result of the moving object; The process of searching for the combination of acquired trajectories is vectorized and executed by the vector processing unit. Processing method. (Appendix 10) In the information processing device, acquiring information indicating a trajectory, which is a route traveled by the moving object, identified based on a sensing result of the moving object; The process of searching for the combination of acquired trajectories is vectorized and executed by the vector processing unit. A computer-readable recording medium that records a program for implementing processing.

[0070] Although the present invention has been described above with reference to the above-mentioned embodiments, the present invention is not limited to the above-mentioned embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. [Explanation of symbols]

[0071] 100 Processing equipment 110 Storage section 111 Sensing Information 112 Programs 120 Processing unit 121 Trajectory judgment part 122 Vectorization method determination unit 123 Vectorization Execution Unit 130 Vector Processing Unit 200 Processing Equipment 201 processor 202 Vector Processor 203 Storage device 204 Programs 221 Acquisition Department 222 Vectorization Department

Claims

1. an acquisition unit that acquires information indicating a trajectory, which is a path along which the moving object has moved, identified based on a sensing result of the moving object; a vectorization unit that vectorizes the process of searching for a combination of trajectories acquired by the acquisition unit and causes a vector processing unit to execute the process; and a determination unit that determines which of predetermined methods should be used to vectorize the process of searching for a combination of trajectories, based on a processing status of the process of searching for a combination of trajectories; the vectorization unit vectorizes a process of searching for a combination of trajectories in accordance with a result of the determination by the determination unit; The determination unit determines, based on the processing status of the process of searching for a combination of trajectories, which of a first method of vectorizing the process of searching for a combination of trajectories indicated by a common possible trajectory corresponding to one processing object, and a second method of vectorizing the process of searching for a combination of trajectories indicated by a common possible trajectory corresponding to a plurality of processing objects, to use for vectorization. Processing equipment.

2. 2. The processing device according to claim 1, The vectorization unit generates an instruction to extract a possible common trajectory that is a trajectory that can be common to the trajectory using a buffer, thereby vectorizing the process of searching for a combination of trajectories. Processing equipment.

3. 2. The processing device according to claim 1, The determination unit determines whether to use the first method or the second method for vectorization in accordance with the amount of processing determined based on the processing status of processing for searching for a combination of trajectories. Processing equipment.

4. 2. The processing device according to claim 1, a determination unit that extracts a possible common trajectory that can be common to the trajectory for each trajectory acquired by the acquisition unit, The vectorization unit vectorizes a process of searching for a further common feasible trajectory for the trajectory indicated by the common feasible trajectory. Processing equipment.

5. The information processing device acquiring information indicating a trajectory, which is a route traveled by the moving object, identified based on a sensing result of the moving object; determining which of predetermined methods to use to vectorize the process of searching for a combination of trajectories based on the processing status of the process of searching for a combination of trajectories; The process of searching for the combination of the acquired trajectories is vectorized and executed by a vector processing unit; When vectorizing, the process of searching for combinations of trajectories according to the judgment results is vectorized, When making the determination, it is determined which method to use for vectorization, based on the processing status of the process of searching for combinations of trajectories: a first method for vectorizing the process of searching for combinations of trajectories indicated by a common possible trajectory corresponding to one processing object, or a second method for vectorizing the process of searching for combinations of trajectories indicated by a common possible trajectory corresponding to a plurality of processing objects. Processing method.

6. In the information processing device, acquiring information indicating a trajectory, which is a route traveled by the moving object, identified based on a sensing result of the moving object; determining which of predetermined methods to use to vectorize the process of searching for a combination of trajectories based on the processing status of the process of searching for a combination of trajectories; The process of searching for the combination of the acquired trajectories is vectorized and executed by a vector processing unit. When vectorizing, the process of searching for combinations of trajectories according to the judgment results is vectorized, When making the determination, it is determined which method to use for vectorization, based on the processing status of the process of searching for combinations of trajectories: a first method for vectorizing the process of searching for combinations of trajectories indicated by a common possible trajectory corresponding to one processing object, or a second method for vectorizing the process of searching for combinations of trajectories indicated by a common possible trajectory corresponding to a plurality of processing objects. program.

7. An acquisition unit that acquires information indicating a trajectory, which is a path along which the moving object has moved, identified based on a sensing result of the moving object; a vectorization unit that vectorizes the process of searching for a combination of trajectories acquired by the acquisition unit and causes a vector processing unit to execute the process; and a determination unit that determines which of predetermined methods should be used to vectorize the process of searching for a combination of trajectories, based on a processing status of the process of searching for a combination of trajectories; the vectorization unit vectorizes a process of searching for a combination of trajectories in accordance with a result of the determination by the determination unit; The determination unit determines, based on the processing status of the process of searching for a combination of the trajectories, which of a first method for vectorizing a process of searching for a combination of each trajectory indicated by a common possible trajectory corresponding to one processing object, and a third method for vectorizing a process of searching for a combination of each trajectory indicated by a common possible trajectory corresponding to one processing object multiple times and then adding processing objects collectively according to the search results. Processing equipment.

8. An acquisition unit that acquires information indicating a trajectory, which is a path along which the moving object has moved, identified based on a sensing result of the moving object; a vectorization unit that vectorizes the process of searching for a combination of trajectories acquired by the acquisition unit and causes a vector processing unit to execute the process; and a determination unit that extracts a possible common trajectory that can be common to the trajectory for each trajectory acquired by the acquisition unit, The vectorization unit vectorizes a process of searching for a further common feasible trajectory for the trajectory indicated by the common feasible trajectory. Processing equipment.

Citation Information

Patent Citations

  • Vectorization device and storage medium

    JP1999120166A

  • Object-Level Fusion for Autonomous Vehicles

    JP2019530608A

  • MULTI-VIEW DEEP NEURAL NETWORK FOR LiDAR PERCEPTION

    JP2021089723A

  • Multiple hypothesis tracking using maximum weight independent set

    US20130234882A1