Method for determining target location point set and related equipment
By using NEON instruction set and Hungarian algorithm to adjust the target similarity matrix in parallel in vehicle monitoring, the problem of low timeliness caused by large data volume in traditional methods is solved, and a method of quickly determining the set of vehicle position points is realized.
Patent Information
- Application Number
- CN202411298193.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2044-09-18
AI Technical Summary
In vehicle monitoring, when the amount of monitoring data is too large, the time required to adjust the similarity value one by one to find the optimal matching relationship is too long, resulting in low time.
The Hungarian algorithm based on the NEON instruction set is used to synchronously and parallelly adjust the elements in multiple sets of target similarity matrices to quickly determine the optimal matching relationship between vehicles, and then determine the set of position points of the vehicle.
By adjusting the similarity matrix in parallel, the time to find the optimal matching relationship is significantly shortened, the timeliness of determining the vehicle position point set is improved, and the efficiency of matching vehicle monitoring data is improved.
Smart Images

Figure CN118861708B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of intelligent transportation technology, and in particular to a method for determining a target location point set and related equipment. Background Art
[0002] With the rapid development of science and technology and the acceleration of urbanization, vehicle monitoring technology is becoming increasingly important in ensuring traffic safety, maintaining traffic order, improving traffic efficiency, protecting the environment, and supporting urban planning (specifically, vehicle monitoring includes continuous monitoring of a monitored vehicle through sensors).
[0003] In the related art, in order to continuously monitor a certain vehicle, it is necessary to pair multiple groups of vehicle monitoring data received at different times and / or in different scenes to obtain the similarity values between the vehicles in different groups of data, and then adjust the similarity values one by one to change the matching relationship between the vehicles in different groups of data until the optimal matching relationship is obtained and the vehicle location point set is determined (such as a group of similarity values A1-A8, where the minimum value is A1. If it is necessary to subtract the minimum similarity value from all similarity values, then calculate A1-A1, and after the calculation is completed, execute A2-A1, etc., until A1-A8 are all calculated). However, when there are too many vehicle monitoring data that need to be matched, it takes a lot of time to adjust the similarity values one by one to obtain the matching results, resulting in low timeliness in determining the target location point set.
[0004] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention
[0005] The main purpose of the present application is to provide a method for determining a target location point set, which aims to solve the problem that in the traditional method for determining a target location point set, when the amount of relevant data of the monitored vehicles is too large, a lot of time is required to adjust the similarity values one by one, change the matching relationship of the vehicles in different groups of data, and find the optimal matching relationship, resulting in low timeliness in determining the target location point set.
[0006] To achieve the above objectives, the present application proposes a method for determining a target location point set, the method comprising:
[0007] Receiving multiple sets of target-related attribute information sent by a sensor device, wherein the sensor device includes a radar and a visual sensor, and each set of target-related attribute information includes relevant attribute information of one or more targets;
[0008] Based on any two groups of the plurality of groups of target-related attribute information, construct a target similarity matrix between different groups of targets;
[0009] Based on the preset NEON instruction set, the Hungarian algorithm is used to synchronously adjust the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, so as to obtain the optimal matching relationship between one group and the corresponding target of another group as a whole;
[0010] Based on the optimal matching relationship, a set of position points of the same target is determined.
[0011] In one embodiment, before the step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, the step includes:
[0012] The numerical type of each element in the target similarity matrix is converted into a fixed-point value type, and the elements in the target similarity matrix of the converted fixed-point value type are adjusted in parallel instead of being adjusted sequentially.
[0013] In one embodiment, the step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole includes:
[0014] Step S31, based on the preset NEON instruction set, using the Hungarian algorithm, synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, establishing a matching relationship between one group and another group of corresponding targets as a whole, and determining whether there is a better matching relationship. If there is a better matching relationship, executing step S32, if there is no better matching relationship, executing step S33, wherein, if the elements in the target similarity matrix are adjusted to preset values, then the matching relationship between the two targets corresponding to the preset value elements is established;
[0015] Step S32, based on the better matching relationship, adjusting the elements in the target similarity matrix, and returning to step S31;
[0016] Step S33: if there is no greater matching relationship, obtain the optimal matching relationship between one group and the corresponding target of the other group as a whole.
[0017] In one embodiment, the step of determining whether a better matching relationship exists includes:
[0018] Obtaining the number of rows and columns of the target similarity matrix;
[0019] Obtaining the number of columns whose elements in the target similarity matrix are preset values;
[0020] If the number of columns whose elements are preset values is greater than or equal to the number of rows of the target similarity matrix, or the number of columns whose elements are preset values is equal to the number of columns of the target similarity matrix, then a better matching relationship exists;
[0021] If the number of columns whose elements are preset values is less than the number of rows of the target similarity matrix, and the number of columns whose elements are preset values is less than the number of columns of the target similarity matrix, there is no better matching relationship.
[0022] In one embodiment, the step of constructing a target similarity matrix between different groups of targets based on any two groups of the multiple groups of target-related attribute information includes:
[0023] Performing a preset filtering operation on the multiple sets of target attribute information to obtain multiple sets of filtered target attribute information, wherein the filtering objects of the preset filtering include objects in the lane that are irrelevant to the target and objects outside the lane;
[0024] Based on any two groups of the multiple groups of filtered target attribute information, a target similarity matrix between different groups of targets is constructed.
[0025] In one embodiment, the step of constructing a target similarity matrix between different groups of targets based on any two groups of the multiple groups of target-related attribute information includes:
[0026] Using a feature extraction method to obtain appearance features and attribute features of each group of targets from each group of target-related attribute information;
[0027] Acquire the appearance features and attribute features of each target from each group of target-related attribute information;
[0028] constructing a target feature vector for each set of target-related attribute information based on one or more appearance features and attribute features of each target in each set of target-related attribute information;
[0029] Constructing multiple groups of target feature vectors based on multiple groups of target related information;
[0030] Based on any two of the multiple groups of target feature vectors, a target similarity matrix between different groups of targets is constructed.
[0031] In one embodiment, before the step of adjusting the elements in the target similarity matrices of multiple groups in parallel rather than adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole, the step further includes:
[0032] Determine the number of threads used by the processor based on the logarithm of the target-related attribute information and the number of cores of the processor;
[0033] Based on the number of threads, determining the synchronization number of the target similarity matrix for synchronization adjustment;
[0034] The step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole includes:
[0035] Based on the preset NEON instruction set and the synchronization quantity, the Hungarian algorithm is used to synchronously adjust the elements in multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, so as to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole.
[0036] In one embodiment, the step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel rather than sequentially adjusting them based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole, further includes:
[0037] Based on the data loading instruction in the preset NEON instruction set, the number of elements loaded from the target similarity matrix is The data vector ,in, Related to the numerical type of the elements in the target similarity matrix;
[0038] Construct a number of elements , the value is The data vector ,in, The values of include 0, 1, and 2;
[0039] Based on the operation instructions in the preset NEON instruction set, the vector and the vector Perform different operations to obtain the similarity matrix simultaneously The result of the operation on the elements;
[0040] Wherein, the operation includes the vector Add the vector , and / or the vector Subtract the vector , and / or vector With the vector Perform logical operations;
[0041] Based on the operation results, a step is performed to obtain the optimal matching relationship between one group and the corresponding target of another group.
[0042] In addition, to achieve the above-mentioned purpose, the present application also proposes a target location point set determination device, the target location point set determination device comprising:
[0043] A receiving module, the receiving module is used to receive multiple groups of target related attribute information sent by the sensor device;
[0044] A construction module, wherein the construction module is used to construct a target similarity matrix between different groups of targets;
[0045] An adjustment module, the adjustment module is used to use a preset optimal matching algorithm to adjust the data in the target similarity matrix in parallel rather than sequentially, so as to obtain an optimal matching relationship between one group and another group of corresponding targets as a whole;
[0046] A determination module, the determination module is used to determine a set of position points of the same target;
[0047] In one embodiment, the adjustment module includes:
[0048] The numerical type conversion unit is used to convert the numerical type of each element in the target similarity matrix into a fixed-point value type, and to adjust the elements in the target similarity matrix of the converted fixed-point value type in parallel instead of adjusting them sequentially.
[0049] In one embodiment, the adjustment module includes:
[0050] A first adjustment unit is used to execute step S31. Step S31: Based on a preset NEON instruction set, using the Hungarian algorithm, synchronously and in parallel adjust the elements in the multiple groups of target similarity matrices instead of adjusting them sequentially, establish a matching relationship between one group and another group of corresponding targets as a whole, and determine whether there is a better matching relationship. If there is a better matching relationship, then based on the second adjustment unit, execute step S32; if there is no better matching relationship, then based on the third adjustment unit, execute step S33, wherein, if the elements in the target similarity matrix are adjusted to preset values, then the matching relationship between the two targets corresponding to the preset value elements is established;
[0051] A second adjustment unit is used to execute step S32. Step S32: based on the better matching relationship, adjust the elements in the target similarity matrix, and return to execute step S31 based on the first adjustment unit;
[0052] The third adjustment unit is used to execute step S33. Step S33: if there is no greater matching relationship, obtain the optimal matching relationship between one group and the corresponding target of another group as a whole.
[0053] In one embodiment, the adjustment module further includes:
[0054] An information reading unit, used to obtain the number of rows and columns of the target similarity matrix and the number of columns whose elements in the target similarity matrix are preset values;
[0055] A judging unit is used to judge whether the number of columns whose elements are preset values is greater than or equal to the number of rows of the target similarity matrix, or the number of columns whose elements are preset values is equal to the number of columns of the target similarity matrix, then there is a better matching relationship; if the number of columns whose elements are preset values is less than the number of rows of the target similarity matrix, and the number of columns whose elements are preset values is less than the number of columns of the target similarity matrix, then there is no better matching relationship.
[0056] In one embodiment, the building block further includes:
[0057] A filtering unit, configured to perform a preset filtering operation on the plurality of sets of target attribute information to obtain a plurality of sets of filtered target attribute information, wherein the filtering objects of the preset filtering include objects in the lane that are irrelevant to the target and objects outside the lane;
[0058] The matrix construction unit is used to construct a target similarity matrix between different groups of targets based on any two groups of the filtered target attribute information.
[0059] In one embodiment, the building block further includes:
[0060] A feature extraction unit, configured to obtain the appearance features and attribute features of each group of targets from each group of target-related attribute information using a feature extraction method, and to obtain the appearance features and attribute features of each target from each group of target-related attribute information;
[0061] The vector construction unit constructs a target feature vector of each group of target-related attribute information based on one or more appearance features and attribute features of each target in each group of target-related attribute information.
[0062] In one embodiment, the adjustment module further includes:
[0063] a thread determination unit, for determining the number of threads used by the processor based on the logarithm of the target-related attribute information and the number of cores of the processor;
[0064] A synchronization number determination unit is used to determine the synchronization number of the target similarity matrix to be synchronously adjusted based on the number of threads. A synchronization execution unit is used to synchronously adjust the elements in multiple groups of the target similarity matrices in parallel instead of adjusting them sequentially based on a preset NEON instruction set, using the Hungarian algorithm, to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole, including:
[0065] Based on the preset NEON instruction set and the synchronization quantity, the Hungarian algorithm is used to synchronously adjust the elements in multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, so as to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole.
[0066] In one embodiment, the adjustment module further includes:
[0067] A data loading unit is used to load the number of elements from the target similarity matrix based on the data loading instruction in the preset NEON instruction set. The data vector ,in, Related to the numerical type of the elements in the target similarity matrix;
[0068] Vector building block, used to build a vector with the number of elements , the value is The data vector ,in, The values of include 0, 1, and 2;
[0069] A vector operation unit is used to operate the vector based on the operation instructions in the preset NEON instruction set. and the vector Perform different operations to obtain the similarity matrix simultaneously The result of the operation on the elements;
[0070] A matching relationship acquisition unit, configured to obtain an optimal matching relationship between one group and another group of corresponding targets as a whole based on the calculation result;
[0071] Wherein, the operation includes the vector Add the vector , and / or the vector Subtract the vector , and / or vector With the vector Perform logical operations.
[0072] In addition, to achieve the above-mentioned purpose, the present application also proposes a target location point set determination device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of any one of the methods described above.
[0073] In addition, to achieve the above objectives, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of any one of the methods described above are implemented.
[0074] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, wherein the computer program product includes a computer program, and when the computer program is executed by a processor, the steps of any one of the methods described above are implemented.
[0075] One or more technical solutions proposed in this application have at least the following technical effects:
[0076] The present application provides a method for determining a target position point set and related equipment. Compared with the related art, in a vehicle monitoring scenario, when the amount of relevant data of the vehicle to be monitored is too large, the similarity values between the vehicles in different groups of data are obtained, and then the similarity values are adjusted one by one to change the matching relationship of the vehicles in different groups of data until the optimal matching relationship is obtained, which takes a lot of time and results in low timeliness in determining the target position point set. In the present application, in a vehicle monitoring scenario, when the amount of relevant data of the vehicle to be monitored is too large, first, multiple groups of target-related attribute information (a group of target-related attribute information includes relevant attribute information of one or more targets) collected by sensor equipment such as radar and visual sensors at different times and angles are obtained, and then based on any two of the multiple groups of target-related attribute information, a target similarity matrix between different groups of targets is constructed. Based on the preset NEON instruction set, the Hungarian algorithm is used to synchronously adjust the data in multiple groups of the target similarity matrices (such as a group of similarity values B1-B8, where the minimum value is B1. If it is necessary to subtract the minimum similarity value from all similarity values, then B1-B1, B2-B1, B3-B1, B4-B1, B5-B1, B6-B1, B7-B1, and B8-B1 are synchronously calculated), and new matching relationships are continuously obtained until the optimal matching relationship between one of the groups and the other corresponding target group as a whole is obtained. It can be understood that the use of the Hungarian algorithm can obtain the optimal matching relationship between one of the groups and the other corresponding target group as a whole. In addition, it can be understood that in the process of finding the optimal match, multiple data are synchronously adjusted to shorten the time for finding the optimal matching relationship. All matching relationships in the two groups of target-related attribute information are obtained through the optimal matching relationship, which shortens the pairing time between the two groups of target-related attribute information, thereby confirming the position point sets of the same target at different time points. BRIEF DESCRIPTION OF THE DRAWINGS
[0077] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0078] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0079] Figure 1 A schematic diagram of a flow chart of a method for determining a target location point set provided in Example 1 of the present application;
[0080] Figure 2 A schematic diagram of a process for obtaining an optimal matching relationship provided in Example 1 of the present application;
[0081] Figure 3 A schematic diagram of the process of obtaining the minimum element in the similarity matrix provided in step S31 of the present application;
[0082] Figure 4 The cumulative mask matrix provided in step S31 of this application Flowchart showing the number of columns with elements marked as 1;
[0083] Figure 5 The search mask matrix provided in step S32 of this application Schematic diagram of the position of the 0 element in;
[0084] Figure 6 The elimination mask matrix provided in step S32 of this application Schematic diagram of the process of the 2 elements;
[0085] Figure 7 A flowchart of filtering target attribute information provided in the second implementation of this application;
[0086] Figure 8 A flowchart of obtaining the synchronization quantity provided in the third implementation of this application;
[0087] Fig. 9 This is a schematic diagram of the module structure of a device for determining a target location point set according to an embodiment of the present application;
[0088] Fig.10 Schematic diagram of the device structure of the hardware operating environment involved in the method for determining a set of target location points in an embodiment of the present application. DETAILED DESCRIPTION
[0089] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.
[0090] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.
[0091] The main solution of the embodiment of the present application is: based on the preset NEON instruction set, using the Hungarian algorithm, synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them one by one, to obtain the technical means of the optimal matching relationship between one group and the corresponding target of another group as a whole. By adjusting the elements in the multiple groups of target similarity matrices in parallel, the time for finding the optimal matching relationship is shortened, and all matching relationships in the relevant attribute information of the two groups of targets are obtained through the optimal matching relationship, thereby confirming the set of position points of the same target at different time points.
[0092] In this embodiment, for ease of description, the target location point set determination device is used as the execution subject for explanation below.
[0093] Due to the existing target location point set determination technology, in order to continuously monitor a certain vehicle, it is necessary to pair multiple groups of vehicle monitoring data received at different times and / or different scenes, obtain the similarity values between vehicles in different groups of data, and then adjust the similarity values one by one to change the matching relationship of vehicles in different groups of data until the optimal matching relationship is obtained to determine the vehicle's location point set. However, when there are too many vehicle monitoring data that need to be matched, it takes a lot of time to adjust the similarity values one by one to obtain the matching results, resulting in low timeliness in determining the target location point set.
[0094] It should be noted that the execution subject of this embodiment may be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, etc. The following takes the target location point set determination device as an example to illustrate this embodiment and the following embodiments.
[0095] Based on this, the present application embodiment provides a method for determining a target location point set, referring to Figure 1 , Figure 1 This is a flowchart of the first embodiment of the method for determining a target location point set of the present application.
[0096] In this embodiment, the target location point set determination method includes steps S10 to S40:
[0097] Step S10, receiving multiple groups of target-related attribute information sent by a sensor device, wherein the sensor device includes a radar and / or a visual sensor, and each group of target-related attribute information includes relevant attribute information of one or more targets;
[0098] In this embodiment, the execution subject is a target location point set determination device, which can be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, etc. The target location point set determination device receives multiple sets of target-related attribute information sent by a sensor device. Specifically, the sensor device can be a radar and / or a visual sensor, that is, specifically, in this embodiment, the sensor device can be one or more. When there are multiple sensor devices, they can be multiple radars, or multiple visual sensors, or one radar and multiple visual sensors, or one visual sensor and multiple radars. Specifically, the visual sensor can be a camera sensor, a thermal imaging sensor, etc.
[0099] In this embodiment, the target may be a vehicle or an animal.
[0100] In this embodiment, the specific application scenario may be:
[0101] At an intersection, a sensor, such as a visual sensor, is used to obtain multiple sets of target-related attribute information for a target, such as a vehicle, at different time points. Then, in an intersection scenario, a set of position points of the vehicle is determined based on the multiple sets of target-related attribute information collected by a sensor at different time points. Or, multiple sensors, such as multiple visual sensors, are used to obtain multiple sets of target-related attribute information for a target, such as a vehicle, at different time points. Then, in an intersection scenario, a set of position points of the vehicle is determined based on the multiple sets of target-related attribute information collected by different sensors at different time points (different sensors collect information at each time point). Or, multiple sensors, such as multiple visual sensors and a radar, are used to obtain multiple sets of target-related attribute information for a target, such as a vehicle, at different time points. There is no specific limitation.
[0102] In this embodiment, the specific application scenario may also be:
[0103] On a road section, there are multiple intersections. Through multiple sensors such as multiple visual sensors at each intersection, multiple groups of target-related attribute information for a target such as a vehicle are obtained at different time points to determine the location point set of the vehicle. Alternatively, through a sensor such as a visual sensor at each intersection, multiple groups of target-related attribute information for a target such as a vehicle are obtained at different time points to determine the location point set of the vehicle. For example, a road section has five intersections, each with a visual sensor. A group of target-related attribute information for a target such as a vehicle can be obtained from each intersection at different time points. A total of five groups of target-related attribute information are obtained, and the location point set of the vehicle is determined based on the five groups of target-related attribute information.
[0104] It should be noted that, a plurality of sets of target-related attribute information are obtained, such as 5 sets of target-related attribute information, and each set of target-related attribute information includes relevant attribute information of one or more targets.
[0105] The method for determining a set of location points provided in the embodiment of the present application obtains multiple sets of target-related attribute information by receiving multiple sets of target-related attribute information sent by a sensor device. The target-related attribute information includes multiple attribute features of the target, rather than only the unique attribute features of the target. The multiple sets of attribute features of the target describe more feature details of the target. The multiple sets of target-related attribute information provide a data basis for subsequent steps.
[0106] Step S20, constructing a target similarity matrix between different groups of targets based on any two groups of the multiple groups of target-related attribute information;
[0107] In this embodiment, based on any two groups of the multiple groups of target-related attribute information, a target similarity matrix between different groups of targets is constructed. For example, there are three groups of target-related attribute information. A target similarity matrix is constructed based on the first group of target-related attribute information and the second group of target-related attribute information, a target similarity matrix is constructed based on the first group of target-related attribute information and the third group of target-related attribute information, and a target similarity matrix is constructed based on the second group of target-related attribute information and the third group of target-related attribute information.
[0108] It should be noted that the similarity matrix is a mathematical matrix used to represent the quantitative results of the pairwise similarities between a group of objects. Here, it represents the quantitative results of the similarities of the two target-related attribute information used to construct the target similarity matrix. For example, the similarity matrix constructed by one group of information and another group of information represents the quantitative results of the pairwise similarities between the targets in the one group of information and the targets in the other group of information. Specifically, the step of constructing the target similarity matrix between different groups of targets based on any two groups of the multiple groups of target-related attribute information also includes the following steps S21-S24:
[0109] Step S21, acquiring the appearance features and attribute features of each target from each set of target-related attribute information;
[0110] In this embodiment, the appearance features of each target are obtained from each set of target-related attribute information. and attribute characteristics .
[0111] Among them, when the target is a vehicle, the appearance features include: the color of the vehicle, the size of the vehicle, the shape of the vehicle, etc., and the attribute features include: the brand of the vehicle, the type of vehicle (such as sedan, SUV, MPV, pickup truck, sports car, etc.), the model of the vehicle, etc.
[0112] Among them, when the target is an animal, the appearance characteristics include: the animal's body shape, the animal's fur color, etc., and the attribute characteristics include: the animal's type, etc.
[0113] Step S22, constructing multiple groups of target feature vectors based on the appearance features and attribute features of each target;
[0114] For each target, the target-related attribute information of each target is:
[0115]
[0116] in, is the target appearance feature, Target attribute characteristics, and The target appearance features are and target attribute characteristics The weight of .
[0117] After obtaining the target-related attribute information of each target, each group of target-related attribute information is obtained based on the target-related attribute information of each target. For example, if each group of target-related attribute information contains three targets, then each group of target-related attribute information is the sum of the target-related attribute information of the three targets.
[0118] After determining the target-related attribute information of each group, the target-related attribute information is represented in the form of a vector to obtain a target feature vector of each group.
[0119] Step S23, based on any two groups of target feature vectors among the multiple groups, construct a target similarity matrix between different groups of targets;
[0120] In this embodiment, a target similarity matrix is constructed based on any two groups of the multiple groups of target feature vectors.
[0121] The embodiment of the present application constructs a target similarity matrix between different groups of targets based on any two groups of the multiple groups of target-related attribute information, thereby providing a data basis for subsequent execution.
[0122] Step S30, based on a preset NEON instruction set, using the Hungarian algorithm, synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, to obtain an optimal matching relationship between one group and another group of corresponding targets as a whole;
[0123] In this embodiment, various instructions included in the NEON instruction set are used to utilize the Hungarian algorithm to synchronously adjust multiple elements in multiple groups of target similarity matrices in parallel. The adjustment process is as follows: Figure 2 As shown, the matching relationship between one group and the corresponding target of the other group is constantly changed to find the optimal matching relationship. Among them, when the element in the target similarity matrix is 0, the two targets corresponding to the 0 element are determined to establish a matching relationship (the elements in the target similarity matrix represent the similarity between the two targets. The smaller the element value, the greater the similarity between the two targets. When the element is 0, it indicates that the two targets are consistent). It should be noted that the more 0 elements in the target similarity matrix, the more 0s are needed to find, so that there will be an optimal matching relationship.
[0124] It should be noted that Figure 2 The " / " in "row" means "and", for example / List 1" indicates the row Is 1 and the column Also 1.
[0125] In addition, it should be noted that Figure 2 The line in and column Each element in corresponds to the mask mark matrix at the same position Each row and column in The first element in corresponds to the mask label matrix The first row of elements in the column The first element in corresponds to the mask label matrix The first column element in .
[0126] It is understandable that the NEON instruction set is a 128-bit SIMD (single instruction multiple data) extended instruction set, which is essentially the NEON instruction set that operates on data by calling 128-bit registers. When the NEON instruction set calls 128-bit registers to operate on data, if it operates 32-bit floating point numbers, it can operate 4 at the same time (the variable can be defined as: float32x4_t); if it operates 16-bit integers (short), it can operate 8 at the same time (the variable can be defined as: int16x8_t); and if it operates 8-bit integers, it can operate 16 at the same time (the variable can be defined as: int8x16_t).
[0127] Among them, in this embodiment, the preset NEON instruction set includes: data loading instruction vld1q, minimum value instruction vminq, subtraction instruction vsubq, vector creation instruction vdupq, comparison instruction vceqq, non-instruction vmvnq, etc.
[0128] Additionally, it is understood that the Hungarian algorithm is an algorithm for finding maximum matching in graph theory.
[0129] Specifically, the step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole may also include the following steps S31-S33:
[0130] Step S31, based on the preset NEON instruction set, using the Hungarian algorithm, adjusting the elements in the target similarity matrix in parallel, establishing a matching relationship between one group and the corresponding target of the other group as a whole, and determining whether there is a better matching relationship. If there is a better matching relationship, executing step S32, if there is no better matching relationship, executing step S33, wherein, if the elements in the target similarity matrix are adjusted to preset values, then the matching relationship between the two targets corresponding to the preset value elements is established;
[0131] In this embodiment, the instructions in the preset NEON instruction set are used to synchronously load multiple elements in the target similarity matrix, and then the same operation is performed on the multiple elements synchronously, and a matching relationship is established between the two targets corresponding to the elements with the operation result of 0, and further, the matching relationship between one group and the corresponding target of the other group is adjusted as a whole. If there is a better matching relationship between the two groups of targets as a whole, step S32 is continued; if there is no better matching relationship, step S33 is executed.
[0132] It should be noted that if the number of columns whose elements are 0 is less than the number of rows of the target similarity matrix, and the number of columns whose elements are 0 is less than the number of columns of the target similarity matrix, then there is no better matching relationship; if the number of columns whose elements are 0 is greater than or equal to the number of rows of the target similarity matrix, or the number of columns whose elements are 0 is equal to the number of columns of the target similarity matrix, then there is a better matching relationship.
[0133] Specifically, the specific implementation process of step S31 includes:
[0134] First, based on a set of target similarity matrices , construct a set of similarity matrices with the target Mask matrices of the same size , a and mask matrix A row label vector of the same size as the number of rows , a and mask matrix Column label vector of same size as the number of columns , among which, it can be understood , since the mask matrix and target similarity matrix have the same size, so the column label vector and target similarity matrix The number of columns is also the same as the row label vector and target similarity matrix The number of rows is also the same.
[0135] It should be noted that before labeling the elements in the vector and matrix, the row labeling vector needs to be initialized. , column label vector and the mask matrix (Vectors and matrices are initialized with all elements set to 0).
[0136] Initialize the mask matrix After that, use the vld1q data loading instruction to load the target similarity matrix Load multiple data in each row (target similarity matrix elements in), and then use the vminq minimum instruction to obtain the minimum value of multiple loaded data (Target similarity matrix Specifically, the vminq minimum instruction is used to obtain the minimum value of multiple data. The steps include:
[0137] like Figure 3 As shown, use the data loading instruction to load the target similarity matrix from Load and obtain two sets of data (data 1 and data 2, each set of data contains 4 elements), compare the 4 elements of data 1 with the 4 elements of data 2, obtain the four smaller elements between the elements at the same position of data 1 and data 2, and then compare these 4 elements one by one to obtain the smallest element among these 4 elements.
[0138] Get the minimum value of each row After that, use the vsubq subtraction instruction to convert the target similarity matrix All elements in each row minus the minimum value of the row in which the element is located When the target similarity matrix After executing the subtraction instruction on all elements in , update the target similarity matrix At this point, find the target similarity matrix The position of the 0 element in the matrix, and the position of the 0 element corresponds to the mask matrix The element at position is marked with 1.
[0139] In the marker mask matrix After the elements in , find the mask matrix The position where the element is marked as 1 in the mask matrix The column label vector corresponding to the position where the element is marked as 1 The element at position is marked with 1.
[0140] In the column label vector After the element at the position is marked as 1, the mask matrix is accumulated The number of columns whose elements are marked as 1 in the matrix is less than the target similarity matrix. The number of rows is smaller than the target similarity matrix If the number of rows is greater than or equal to the target similarity matrix, there is a better matching relationship, and step S32 is executed; if the number is greater than or equal to the target similarity matrix The number of rows of , or the number is equal to the target similarity matrix If the number of rows is less than , there is no better matching relationship, and step S33 is executed.
[0141] It is understandable that when establishing a pairing relationship between one or more target attribute information in two sets of target-related attribute information, the match is completed when all target attribute information in the smaller set of target-related attribute information are successfully matched. For example, there are six cars in the first picture and four cars in the second picture. The cars in the first picture are matched with the cars in the second picture to establish a one-to-one pairing relationship. When all four cars in the second picture are matched with the cars in the first picture, the match is completed.
[0142] Specifically, the accumulated mask matrix The steps to find the number of columns with elements marked as 1 are as follows Figure 4 As shown, use the vdupq create vector instruction to create a vector with a number of elements. , a vector with value 1 , use the vld1q data load instruction to load the mask marker matrix The number of elements in The data vector with the number of elements is The data vector and Compare and get the first result vector. The number of 1s in the first result vector is the loading matrix. The number of elements in The number of elements 1 in the data vector. Then use the right shift instruction to shift each value in the first result vector right by byte. Positions, and the elements in the first result vector are labeled with the corresponding position column vector Add the elements together to get the second result vector, and add the second result vector to the column label vector Accumulate, cyclically shift right steps, and continuously obtain new result vectors until the mask mark vector After the data in is loaded, the elements in the final result vector are accumulated to obtain the column label vector The number of 1s in the game.
[0143] in, The size is the number of fixed-point value type elements of the target similarity matrix minus 1.
[0144] Step S32, based on the better matching relationship, adjusting the elements in the target similarity matrix, and returning to step S31;
[0145] In this embodiment, based on a better matching relationship, multiple elements in the matrix are synchronously adjusted, and after updating the target similarity matrix, the process returns to step S31 to determine whether a better matching relationship exists in the updated target similarity matrix.
[0146] Specifically, the specific implementation process of step S32 includes:
[0147] After determining that a better match exists, find the column label vector The element in is 0, and the target similarity matrix is loaded using the data loading instruction vld1q Middle column label vector and row label vector Multiple sets of data are all 0, and then use the minimum value instruction vminq to obtain the minimum value among the multiple sets of data In the target similarity matrix Find row label vector in is 1, and the column label vector The position where the value is 1 is added to the minimum value. ; In the target similarity matrix Find row label vector in is 0, and the column label vector The position where the element is 0 is subtracted from the minimum value. If the target similarity matrix There is a row label vector is 0, and the column label vector If the 0 element is 0, the mask marking matrix corresponding to the 0 element position is The element at position 2 is marked and the mask matrix is recorded. The coordinates of the element 2, such as Figure 5 shown.
[0148] Specifically, the step "in the target similarity matrix Find row label vector in is 1, and the column label vector For the position where the value is 1, add the value of the element at that position to the minimum value. ; In the target similarity matrix Find row label vector in is 0, and the column label vector The position where the element is 0 is subtracted from the minimum value. "Includes: First, use the vdupq create vector instruction to create a vector with a number of elements , the value is the minimum value Vector , and then use the vld1q data load instruction to load the row label vector from memory , column label vector The number of elements in The data vector is obtained and , use the vldlq data loading instruction to load the elements in the target similarity matrix The data vector ; Use vaddq to add the instruction and The sum calculation is performed to obtain the first result vector, and the above result vector is subtracted by 1 using the vsubq subtraction instruction to obtain the second result vector, and the second result vector is multiplied by the vmlaq multiplication instruction. Get the third result vector, use the vaddq instruction to add the third result vector to Perform addition calculation.
[0149] In the record mask matrix After the coordinates of the element 2 in the matrix, find the mask matrix Is there a position with an element of 1 in the row where the element is 2? If the mask matrix If there is a position with an element of 1 in the row where the position with an element of 2 is located, then the row marker vector of the position with an element of 1 becomes 1, the marker vector of the position where the element is 1 becomes 0, and returns to step "accumulating the mask matrix The number of columns in which the elements are marked as 1"; if the mask matrix If there is no position with an element of 1 in the row where the element is 2, then find the mask matrix Is there a position with an element of 1 in the column where the position with an element of 2 is located? If the mask matrix If there is a position with an element of 1 in the column where the element is 2, then record the mask matrix Find the coordinates of the position of element 1 in the column where element 2 is located, and find the position of element 2 in the row where element 1 is located, record the coordinates of the position of element 2, and further return to step "Find the mask matrix Is there a position with an element of 1 in the column where the position with an element of 2 is located?" until the mask matrix There is no position with an element of 1 in the column where the position with an element of 2 is located. Then, the corresponding position element of the 2 element in the coordinates recording the position with an element of 2 is changed to 1, and the corresponding position element of the 1 element in the coordinates recording the position with an element of 1 is changed to 0, and the row mark vector is initialized. and column label vector , then clear the mask matrix Finally, return to step S31 in which "mark the column vector The element at the position is marked as 1 in the step "after".
[0150] Specifically, the step "clear the mask matrix The "2 elements" include:
[0151] like Figure 6 As shown, based on the data loading instruction in the preset NEON instruction set, the number of elements loaded from the target similarity matrix is The data vector ,in, Related to the numerical type of the elements in the target similarity matrix.
[0152] Getting the data vector After that, construct a , a data vector with a value of 2 Based on the operation instructions in the preset NEON instruction set, the vector and the vector First, use the vceqq comparison instruction to and The first result vector is obtained by comparison, and then the result vector is obtained by the vmvnq non-instruction to obtain the second result vector, and finally the second result vector is combined with the data vector Perform AND instruction calculation to obtain the third result vector, and use the value of the third result vector to overwrite the first result vector. Among them, the third result vector is the data vector The resulting vector is obtained after eliminating 2 elements.
[0153] After obtaining the third data vector, Shift right and return to step "First use the vceqq comparison instruction to and Compare and get the first result vector", cyclically shift right steps until the mask marking matrix All data in has been loaded.
[0154] Step S33: if there is no better matching relationship, obtain the best matching relationship between one group and the corresponding target of the other group as a whole.
[0155] In this embodiment, if there is no better matching relationship, the current matching relationship is the best matching relationship, and the targets between the two groups are paired based on the best matching relationship.
[0156] The method provided in the embodiment of the present application uses multiple instructions in the preset NEON instruction set and the Hungarian algorithm to synchronously adjust multiple elements in the target similarity matrix, obtain the optimal matching relationship between the two groups of targets, and match the two groups of targets.
[0157] Step S40: determining a set of position points of the same target based on the optimal matching relationship.
[0158] In this embodiment, based on the optimal matching relationship, the matching relationship between the target in one set of data and the target in another set of data is determined, and through the matching relationship between different targets, the same target is determined in different data, and the position point set of the same target is determined.
[0159] The present application provides a method for determining a target position point set and related equipment. Compared with the related art, in a vehicle monitoring scenario, when the amount of relevant data of the vehicle to be monitored is too large, the similarity values between the vehicles in different groups of data are obtained, and then the similarity values are adjusted one by one to change the matching relationship of the vehicles in different groups of data until the optimal matching relationship is obtained, which takes a lot of time and results in low timeliness in determining the target position point set. In the present application, in a vehicle monitoring scenario, when the amount of relevant data of the vehicle to be monitored is too large, first, multiple groups of target-related attribute information (a group of target-related attribute information includes relevant attribute information of one or more targets) collected by sensor equipment such as radar and visual sensors at different times and angles are obtained, and then based on any two of the multiple groups of target-related attribute information, a target similarity matrix between different groups of targets is constructed. Using the Hungarian algorithm, synchronously adjust the data in multiple groups of the target similarity matrices (such as a group of similarity values B1-B8, where the minimum value is B1, if it is necessary to subtract the minimum similarity value from all similarity values, then synchronously calculate B1-B1, B2-B1, B3-B1, B4-B1, B5-B1, B6-B1, B7-B1, B8-B1), and continuously obtain new matching relationships until the optimal matching relationship between one of the groups and the other corresponding target group as a whole is obtained. It can be understood that the use of the Hungarian algorithm can obtain the optimal matching relationship between one of the groups and the other corresponding target group as a whole. In addition, it can be understood that in the process of finding the optimal match, multiple data are synchronously adjusted to shorten the time for finding the optimal matching relationship. All matching relationships in the two groups of target-related attribute information are obtained through the optimal matching relationship, which shortens the pairing time between the two groups of target-related attribute information, thereby confirming the position point sets of the same target at different time points.
[0160] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the first embodiment can be referred to the above description, and will not be described in detail later. On this basis, before step S20, Figure 7 As shown, the step of constructing a target similarity matrix between different groups of targets based on any two groups of the multiple groups of target-related attribute information includes steps S25-26:
[0161] Step S25, performing a preset filtering operation on the multiple sets of target attribute information to obtain multiple sets of filtered target-related attribute information, wherein the filtering objects of the preset filtering operation include objects in the lane that are not related to the target and objects outside the lane;
[0162] In this embodiment, a preset filtering operation is performed on the multiple groups of target attribute information to filter the information of objects in the lane that are not related to the target and the information of objects outside the lane.
[0163] In this embodiment, the specific application scenario may also be:
[0164] At an intersection, two sensors, such as a visual sensor, are used to obtain multiple sets of target-related attribute information for a target, such as a vehicle, at different time points. Each set of target attribute information contains information about multiple different targets. For example, one set of target-related attribute information contains information about two cars driving in the lane, two people walking on the sidewalk, and one vehicle in the parking area outside the lane. If we need to monitor a target, such as a vehicle driving on the road, we can first filter out the information about the two people walking on the sidewalk that are not related to the vehicle, then filter out the information about the vehicle in the parking area outside the lane, and finally obtain the information about the two cars driving in the lane.
[0165] In addition, it should be noted that the monitoring targets include but are not limited to vehicles and animals.
[0166] In this embodiment, by performing a filtering operation on the acquired information, objects in the lane that are not related to the target and objects outside the lane are filtered out, the number of targets that need to be matched is reduced, and the amount of calculation is further reduced.
[0167] Step S26: constructing a target similarity matrix between different groups of targets based on any two groups of the filtered target attribute information.
[0168] In this embodiment, based on filtering any two of the multiple groups of filtered target attribute information, target similarity matrices between different groups of targets are constructed. For example, for three groups of filtered target attribute information, a target similarity matrix is constructed based on the first group of target attribute information and the second group of target attribute information; a target similarity matrix is constructed based on the first group of target attribute information and the third group of target attribute information; and a target similarity matrix is constructed based on the third group of target attribute information and the second group of target attribute information.
[0169] In this embodiment, a target similarity matrix between targets in different groups is constructed based on any two groups of target attribute information after filtering, so as to provide a data basis for subsequent steps.
[0170] Based on the first and second embodiments of the present application, in the third embodiment of the present application, the same or similar contents as those of the first embodiment can be referred to the above description, and will not be described in detail later. On this basis, before step S30, Figure 8 As shown, based on the preset NEON instruction set, using the Hungarian algorithm, synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, before obtaining the optimal matching relationship between one group and another group of corresponding targets as a whole, includes steps S100-S200:
[0171] Step S100, determining the number of threads used by the processor based on the logarithm of the target-related attribute information and the number of cores of the processor;
[0172] In this embodiment, the number of cores of the processor is first obtained from the processor, and the number of logarithms of the target-related attribute information is obtained based on the number of groups of the target attribute information. Then, based on the number of logarithms of the target-related attribute information and the number of cores of the processor, the number of threads used by the processor is determined. Specifically, the steps for obtaining the number of threads are as follows:
[0173] Based on obtaining the logarithm of the number of cores of the processor and the target attribute information, if the number of cores of the processor is greater than or equal to the logarithm of the target attribute information, the number of threads is equal to the logarithm of the target attribute information; if the number of cores of the processor is less than the logarithm of the target attribute information, the number of threads is equal to the number of cores of the processor.
[0174] Step S200, determining the synchronization number of the target similarity matrix to be synchronously adjusted based on the number of threads;
[0175] In this embodiment, the number of synchronizations is determined based on the number of threads.
[0176] The step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole, further includes step S34:
[0177] Step S34, based on the preset NEON instruction set and the synchronization quantity, using the Hungarian algorithm, synchronously adjust the elements in the multiple groups of the target similarity matrices in parallel instead of adjusting them sequentially, to obtain the optimal matching relationship between one group and the corresponding target of another group as a whole.
[0178] In this embodiment, based on the preset NEON instruction set and the synchronization quantity, the Hungarian algorithm is used to synchronously adjust the elements in multiple groups of the target similarity matrices in parallel instead of adjusting them sequentially, so as to obtain the optimal matching relationship between one group and the corresponding target of another group as a whole.
[0179] In this embodiment, the number of threads is obtained by the number of cores of the processor and the logarithm of the target attribute information, and then multiple matrices are synchronously adjusted based on the number of threads to improve the computing efficiency.
[0180] For example, to help understand the implementation process of the target location point set determination method obtained by combining this embodiment with the above-mentioned embodiment 1, please refer to Figure 1 , Figure 1 A brief flowchart of a method for determining a target location point set is provided.
[0181] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the method for determining the target location point set of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.
[0182] This application also provides a target location point set determination device, please refer to Fig. 9 , the target location point set determination device comprises:
[0183] A receiving module 10, the receiving module is used to receive multiple groups of target related attribute information sent by the sensor device;
[0184] A construction module 20, the construction module is used to construct a target similarity matrix between different groups of targets;
[0185] An adjustment module 30, the adjustment module is used to adjust the data in the target similarity matrix in parallel rather than sequentially using a preset optimal matching algorithm to obtain an optimal matching relationship between one group and another group of corresponding targets as a whole;
[0186] A determination module 40, the determination module is used to determine a set of position points of the same target;
[0187] In one embodiment, the adjustment module includes:
[0188] The numerical type conversion unit is used to convert the numerical type of each element in the target similarity matrix into a fixed-point value type, and to adjust the elements in the target similarity matrix of the converted fixed-point value type in parallel instead of adjusting them sequentially.
[0189] In one embodiment, the adjustment module includes:
[0190] A first adjustment unit is used to execute step S31. Step S31: Based on a preset NEON instruction set, using the Hungarian algorithm, synchronously and in parallel adjust the elements in the multiple groups of target similarity matrices instead of adjusting them sequentially, establish a matching relationship between one group and another group of corresponding targets as a whole, and determine whether there is a better matching relationship. If there is a better matching relationship, then based on the second adjustment unit, execute step S32; if there is no better matching relationship, then based on the third adjustment unit, execute step S33, wherein, if the elements in the target similarity matrix are adjusted to preset values, then the matching relationship between the two targets corresponding to the preset value elements is established;
[0191] A second adjustment unit is used to execute step S32. Step S32: based on the better matching relationship, adjust the elements in the target similarity matrix, and return to execute step S31 based on the first adjustment unit;
[0192] The third adjustment unit is used to execute step S33. Step S33: if there is no greater matching relationship, obtain the optimal matching relationship between one group and the corresponding target of another group as a whole.
[0193] In one embodiment, the adjustment module further includes:
[0194] An information reading unit, used to obtain the number of rows and columns of the target similarity matrix and the number of columns whose elements in the target similarity matrix are preset values;
[0195] A judging unit is used to judge whether the number of columns whose elements are preset values is greater than or equal to the number of rows of the target similarity matrix, or the number of columns whose elements are preset values is equal to the number of columns of the target similarity matrix, then there is a better matching relationship; if the number of columns whose elements are preset values is less than the number of rows of the target similarity matrix, and the number of columns whose elements are preset values is less than the number of columns of the target similarity matrix, then there is no better matching relationship.
[0196] In one embodiment, the building block further includes:
[0197] A filtering unit, configured to perform a preset filtering operation on the plurality of sets of target attribute information to obtain a plurality of sets of filtered target attribute information, wherein the filtering objects of the preset filtering include objects in the lane that are irrelevant to the target and objects outside the lane;
[0198] The matrix construction unit is used to construct a target similarity matrix between different groups of targets based on any two groups of the filtered target attribute information.
[0199] In one embodiment, the building block further includes:
[0200] A feature extraction unit, configured to obtain the appearance features and attribute features of each group of targets from each group of target-related attribute information using a feature extraction method, and to obtain the appearance features and attribute features of each target from each group of target-related attribute information;
[0201] The vector construction unit constructs a target feature vector of each group of target-related attribute information based on one or more appearance features and attribute features of each target in each group of target-related attribute information.
[0202] In one embodiment, the adjustment module further includes:
[0203] A thread determination unit, used for determining the synchronization number of the target similarity matrix for synchronization adjustment based on the number of threads;
[0204] The synchronous execution unit is used to synchronously adjust the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole, including:
[0205] Based on the preset NEON instruction set and the synchronization quantity, the Hungarian algorithm is used to synchronously adjust the elements in multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, so as to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole.
[0206] In one embodiment, the adjustment module further includes:
[0207] A data loading unit is used to load the number of elements from the target similarity matrix based on the data loading instruction in the preset NEON instruction set. The data vector ,in, Related to the numerical type of the elements in the target similarity matrix;
[0208] Vector building block, used to build a vector with the number of elements , the value is The data vector ,in, The values of include 0, 1, and 2;
[0209] A vector operation unit is used to operate the vector based on the operation instructions in the preset NEON instruction set. and the vector Perform different operations to obtain the similarity matrix simultaneously The result of the operation on the elements;
[0210] A matching relationship acquisition unit, configured to obtain an optimal matching relationship between one group and another group of corresponding targets as a whole based on the calculation result;
[0211] Wherein, the operation includes the vector Add the vector , and / or the vector Subtract the vector , and / or vector With the vector Perform logical operations.
[0212] The target location point set determination device provided by the present application adopts the target location point set determination method in the above embodiment, which can solve the technical problem of target location point set determination. Compared with the prior art, the beneficial effects of the target location point set determination device provided by the present application are the same as the beneficial effects of the target location point set determination method provided by the above embodiment, and other technical features in the target location point set determination device are the same as the features disclosed in the above embodiment method, which will not be repeated here.
[0213] The present application provides a target location point set determination device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the target location point set determination method in the above-mentioned embodiment one.
[0214] Reference below Fig.10 , which shows a schematic diagram of the structure of a target location point set determination device suitable for implementing an embodiment of the present application. The target location point set determination device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The target location point set determination device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0215] like Fig.10As shown, the target location point set determination device may include a processing device 1001 (such as a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the target location point set determination device are also stored. The processing device 1001, ROM1002 and RAM1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the target location point set determination device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows a target location point set determination device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or have alternatively.
[0216] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.
[0217] The target location point set determination device provided by the present application adopts the target location point set determination method in the above embodiment, which can solve the technical problem of target location point set determination. Compared with the prior art, the beneficial effects of the target location point set determination device provided by the present application are the same as the beneficial effects of the target location point set determination method provided by the above embodiment, and other technical features in the target location point set determination device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.
[0218] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.
[0219] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0220] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the method for determining a set of target location points in the above-mentioned embodiment.
[0221] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM: Random Access Memory), a read-only memory (ROM: Read Only Memory), an erasable programmable read-only memory (EPROM: Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM: CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency: Radio Frequency), etc., or any suitable combination of the above.
[0222] The computer-readable storage medium may be included in the target location point set determination device; or may exist independently without being assembled into the target location point set determination device.
[0223] The computer-readable storage medium carries one or more programs. When the one or more programs are executed by the target location point set determination device, the target location point set determination device:
[0224] Receiving multiple sets of target-related attribute information sent by a sensor device, wherein the sensor device includes a radar and a visual sensor, and each set of target-related attribute information includes relevant attribute information of one or more targets;
[0225] Based on any two groups of the plurality of groups of target-related attribute information, construct a target similarity matrix between different groups of targets;
[0226] Using the Hungarian algorithm, the elements in the target similarity matrix are adjusted in parallel rather than sequentially to obtain an optimal matching relationship between one group and the corresponding target of another group as a whole;
[0227] Based on the optimal matching relationship, a set of position points of the same target is determined.
[0228] Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0229] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0230] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.
[0231] The readable storage medium provided in the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned method for determining a target location point set, and can solve the technical problem of determining a target location point set. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in the present application are the same as the beneficial effects of the method for determining a target location point set provided in the above-mentioned embodiment, and will not be described in detail here.
[0232] The present application also provides a program product, including a computer program, which implements the steps of determining the target location point set as described above when the computer program is executed by a processor.
[0233] The computer program product provided by this application can solve the technical problem of determining a target location point set. Compared with the prior art, the beneficial effects of the computer program provided by this application are the same as the beneficial effects of the target location point set determination method provided by the above embodiment, which will not be repeated here.
[0234] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A method for determining a target location point set, characterized in that: The method includes: Receiving multiple groups of target-related attribute information sent by a sensor device, wherein the sensor device includes a radar and / or a visual sensor, and each group of target-related attribute information includes relevant attribute information of one or more targets; Based on any two groups of the plurality of groups of target-related attribute information, construct a target similarity matrix between different groups of targets; Based on the preset NEON instruction set, the Hungarian algorithm is used to synchronously adjust the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, so as to obtain the optimal matching relationship between one group and the corresponding target of another group as a whole; Based on the optimal matching relationship, determining a set of position points of the same target; The step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole, further includes: Based on the data loading instruction in the preset NEON instruction set, the number of elements loaded from the target similarity matrix is The data vector ,in, Related to the numerical type of the elements in the target similarity matrix; Construct a number of elements , the value is The data vector ,in, The values of include 0, 1, and 2; Based on the operation instructions in the preset NEON instruction set, the vector and the vector Perform different operations to obtain the similarity matrix simultaneously The result of the operation on the elements; Wherein, the operation includes the vector Add the vector , and / or the vector Subtract the vector , and / or vector With the vector Perform logical operations; Based on the operation results, a step is performed to obtain the optimal matching relationship between one group and the corresponding target of another group.
2. The method for determining a target location point set according to claim 1, wherein: The step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel rather than sequentially adjusting them further includes: The numerical type of each element in the target similarity matrix is converted into a fixed-point value type, and the elements in the target similarity matrix of the converted fixed-point value type are adjusted in parallel instead of being adjusted sequentially.
3. The method for determining a target location point set according to claim 1, wherein: The step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole, further includes: Step S31, based on the preset NEON instruction set, using the Hungarian algorithm, synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, establishing a matching relationship between one group and another group of corresponding targets as a whole, and determining whether there is a better matching relationship. If there is a better matching relationship, executing step S32, if there is no better matching relationship, executing step S33, wherein, if the elements in the target similarity matrix are adjusted to preset values, then the matching relationship between the two targets corresponding to the preset value elements is established; Step S32, based on the better matching relationship, adjusting the elements in the target similarity matrix, and returning to step S31; Step S33: if there is no better matching relationship, obtain the best matching relationship between one group and the corresponding target of the other group as a whole.
4. The method for determining a target location point set according to claim 3, wherein: The step of determining whether there is a better matching relationship further includes: Obtaining the number of rows and columns of the target similarity matrix; Obtaining the number of columns whose elements in the target similarity matrix are preset values; If the number of columns whose elements are preset values is greater than or equal to the number of rows of the target similarity matrix, or the number of columns whose elements are preset values is equal to the number of columns of the target similarity matrix, then a better matching relationship exists; If the number of columns whose elements are preset values is less than the number of rows of the target similarity matrix, and the number of columns whose elements are preset values is less than the number of columns of the target similarity matrix, there is no better matching relationship.
5. The method for determining a target location point set according to claim 1, wherein: The step of constructing a target similarity matrix between different groups of targets based on any two groups of the multiple groups of target-related attribute information further includes: Performing a preset filtering operation on the multiple sets of target attribute information to obtain multiple sets of filtered target-related attribute information, wherein the filtering objects of the preset filtering operation include objects in the lane that are not related to the target and objects outside the lane; Based on any two groups of the multiple groups of filtered target attribute information, a target similarity matrix between different groups of targets is constructed.
6. The method for determining a target location point set according to claim 1, wherein: The step of constructing a target similarity matrix between different groups of targets based on any two groups of the multiple groups of target-related attribute information further includes: Obtaining appearance features and attribute features of each target from each set of target-related attribute information; Based on the appearance features and attribute features of each target, multiple groups of target feature vectors are constructed; Based on any two groups of multiple groups of target feature vectors, a target similarity matrix between different groups of targets is constructed.
7. The method for determining a target location point set according to claim 1, wherein: Before the step of adjusting the elements in the target similarity matrices of the plurality of groups in parallel instead of adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole, the method further includes: Determine the number of threads used by the processor based on the logarithm of the target-related attribute information and the number of cores of the processor; Based on the number of threads, determining the synchronization number of the target similarity matrix for synchronization adjustment; The step of synchronously adjusting the elements in the multiple groups of target similarity matrices in parallel instead of adjusting them sequentially based on the preset NEON instruction set and using the Hungarian algorithm to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole includes: Based on the preset NEON instruction set and the synchronization quantity, the Hungarian algorithm is used to synchronously adjust the elements in multiple groups of target similarity matrices in parallel instead of adjusting them sequentially, so as to obtain the optimal matching relationship between one group and another group of corresponding targets as a whole.
8. A device for determining a target position point set, characterized in that: The device comprises: A receiving module, the receiving module is used to receive multiple groups of target-related attribute information sent by a sensor device, wherein the sensor device includes a radar and / or a visual sensor, and each group of target-related attribute information includes relevant attribute information of one or more targets; A construction module, the construction module is used to construct a target similarity matrix between different groups of targets based on any two groups of the multiple groups of target-related attribute information; An adjustment module, based on a preset NEON instruction set, uses a Hungarian algorithm to synchronously adjust the elements in multiple groups of target similarity matrices in parallel rather than sequentially, so as to obtain an optimal matching relationship between one group and another group of corresponding targets as a whole; A determination module, the determination module is used to determine a set of position points of the same target based on the optimal matching relationship; The adjustment module is also used to implement: Based on the data loading instruction in the preset NEON instruction set, the number of elements loaded from the target similarity matrix is The data vector ,in, Related to the numerical type of the elements in the target similarity matrix; Construct a number of elements , the value is The data vector ,in, The values of include 0, 1, and 2; Based on the operation instructions in the preset NEON instruction set, the vector and the vector Perform different operations to obtain the similarity matrix simultaneously The result of the operation on the elements; Wherein, the operation includes the vector Add the vector , and / or the vector Subtract the vector , and / or vector With the vector Perform logical operations; Based on the operation results, a step is performed to obtain the optimal matching relationship between one group and the corresponding target of another group.
9. A device for determining a target location point set, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the method for determining a set of target location points according to any one of claims 1 to 7.
10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the target location point set determination method according to any one of claims 1 to 7 are implemented.
11. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the method for determining a set of target location points according to any one of claims 1 to 7 are implemented.
