Blind zone early warning optimization acceleration method, computer readable storage medium and vehicle

By adjusting the calculation method of vehicle blind spot early warning algorithm, using single-instruction multi-data and multi-thread parallel calculation, and using NEON instruction set optimization algorithm, the problem of high computational complexity of blind spot object detection and collision early warning algorithm in the existing technology is solved, and the calculation of blind spot object detection and collision early warning algorithm is realized. Low-cost accelerated optimization improves processing efficiency.

CN119296374APending Publication Date: 2025-01-10BEIJING KANKAN INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411403812.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-09
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

The calculation complexity of existing vehicle blind spot object detection and collision warning algorithms is high, resulting in large CPU computing power consumption, affecting system performance, and it is difficult to meet low-cost needs by increasing hardware costs.

Method used

By adjusting the calculation method, single instruction single data is changed to single instruction multi-data, and single thread calculation is changed to multi-thread parallel calculation, and the NEON instruction set is used for optimization, which accelerates the calculation of blind spot early warning algorithms and reduces memory overhead and CPU usage.

Benefits of technology

On the basis of not changing the algorithm principle, the accelerated optimization of the blind spot early warning algorithm is achieved, which reduces the calculation time, improves processing efficiency, and does not need to increase hardware costs, meeting the low-cost needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119296374A_ABST
    Figure CN119296374A_ABST
Patent Text Reader

Abstract

The invention provides a blind area early warning optimization acceleration method, which comprises the following steps: acquiring an image around a vehicle in real time, and identifying a target object according to the image; when a plurality of target objects are identified, dividing the plurality of target objects into a plurality of tracking target groups according to the target category of each target object; parallel computing is carried out on tracking matching of the multiple tracking target groups to obtain object data of each target object; dividing the plurality of target objects into a plurality of target object groups based on a first preset number of target objects; according to the object data of each target object, motion directions of the multiple target object groups are calculated in parallel; according to the object data of each target object, the motion speed of the target object with the motion direction being the vehicle approaching direction is calculated in parallel; calculating the predicted collision time of the target object in parallel according to the movement speed; and calculating an alarm accumulation value of the target object in parallel according to the predicted collision time. In addition, the invention further provides a computer readable storage medium and a vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of vehicle blind spot detection and collision warning, and in particular to a blind spot warning optimization acceleration method, a computer-readable storage medium and a vehicle. Background Art

[0002] The vehicle's blind spot target detection and collision warning algorithms have great application value in reducing the rate of road traffic accidents. However, the algorithms for multi-target tracking such as blind spot target detection and collision warning have high computational complexity and large computational workload, and require a large amount of CPU computing power, which not only makes the blind spot target detection and collision warning target tracking algorithms very slow, but also affects other performance of the current system.

[0003] At present, the existing technology achieves the optimization and acceleration of the vehicle's blind spot target detection and collision warning algorithm by increasing the hardware cost. However, this method increases the cost and is not conducive to the implementation of the product. Therefore, it is difficult to meet the current market demand for low-cost blind spot target detection and collision warning of vehicles. Summary of the invention

[0004] In view of this, the present application provides a blind spot warning optimization acceleration method, a computer-readable storage medium and a vehicle, which can achieve accelerated optimization of the vehicle blind spot warning algorithm at a relatively low cost.

[0005] In a first aspect, the present application provides a blind spot warning optimization acceleration method, the optimization acceleration method comprising:

[0006] Acquire images of the surroundings of the vehicle in real time to identify target objects based on the images;

[0007] When multiple target objects are identified, the multiple target objects are divided into multiple tracking target groups according to the target category of each target object;

[0008] Calculating the tracking matches of the plurality of tracking target groups in parallel to obtain object data of each target object; wherein each tracking target group includes a plurality of target objects, and the object data is object data corresponding to a plurality of frames of images in a continuous time;

[0009] Dividing the plurality of target objects into a plurality of target object groups based on a first preset number of target objects; wherein each target object group includes the first preset number of target objects;

[0010] According to the object data of each target object, the movement direction of the plurality of target object groups is calculated in parallel; wherein the movement direction includes a near vehicle direction and a far vehicle direction;

[0011] According to the object data of each target object, a moving speed of the target object whose moving direction is the vehicle approaching direction is calculated in parallel;

[0012] According to the moving speed, the estimated collision time of the target object whose moving direction is the vehicle approaching direction is calculated in parallel;

[0013] According to the estimated collision time, a warning cumulative value of the target object moving in the direction of the vehicle approaching is calculated in parallel;

[0014] The alarm state of the target object whose moving direction is the vehicle approaching direction is output according to the alarm accumulation value.

[0015] In a second aspect, the present application provides a computer-readable storage medium, which is used to store a computer program, and the computer program is executed to implement the blind spot warning optimization acceleration method.

[0016] In a third aspect, the present application provides a vehicle comprising a memory and a processor, wherein the memory is used to store program instructions; the processor is communicatively connected to the memory and is used to execute the program instructions to implement the blind spot warning optimization acceleration method.

[0017] The above-mentioned blind spot warning optimization acceleration method, computer-readable storage medium and vehicle, without changing the implementation principle of the blind spot warning algorithm, achieves accelerated optimization of the vehicle blind spot warning algorithm at a relatively low cost by adjusting the calculation method of the blind spot warning algorithm. On the one hand, the calculation method of single instruction and single data is changed to the calculation method of single instruction and multiple data, which reduces memory overhead and CPU occupancy and improves calculation efficiency. On the other hand, the calculation method of single thread is changed to the calculation method of multi-thread parallel, which makes full use of hardware resources without increasing hardware costs, thereby improving the execution efficiency of the algorithm. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] 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, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the structures shown in these drawings without paying any creative work.

[0019] Figure 1 It is a flow chart of a blind spot warning optimization acceleration method provided in one embodiment of the present application.

[0020] Figure 2 It is a flowchart of tracking and matching calculation provided in one embodiment of the present application.

[0021] Figure 3It is a schematic diagram of a sub-process of tracking and matching calculation provided in an embodiment of the present application.

[0022] Figure 4 It is a schematic diagram of a flow chart of motion direction calculation provided in an embodiment of the present application.

[0023] Figure 5 It is a flowchart of motion speed calculation provided by an embodiment of the present application.

[0024] Figure 6 It is a reference schematic diagram of a blind spot warning optimization acceleration method provided in an embodiment of the present application.

[0025] Figure 7 It is a reference schematic diagram of tracking and matching calculation provided in an embodiment of the present application.

[0026] Figure 8 It is a reference schematic diagram of motion direction calculation provided by an embodiment of the present application.

[0027] Fig. 9 It is a reference schematic diagram of a detection frame provided in an embodiment of the present application.

[0028] Fig.10 It is a schematic diagram of the structure of a vehicle provided in one embodiment of the present application.

[0029] Fig.11 It is a structural diagram of a main control device provided in one embodiment of the present application.

[0030] Description of the symbols of the accompanying drawings:

[0031] Vehicle 1000 tracking matching calculation sub-process S3051-S3055 Calculation process of motion direction of main control device 100 S501-S505 Memory 1 Movement speed calculation process S601-S603 Processor 2 tracks target group M1

[0032] Camera device 200 First thread C1

[0033] Calculation process of blind spot warning S10-S90 Target object group M2

[0034] Tracking matching calculation process S301-S305 Second thread C2

[0035] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0036] In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.

[0037] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar planning objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate. In other words, the described embodiments are implemented according to a sequence other than that illustrated or described herein. In addition, the terms "including" and "having" and any of their variations may also include other content. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to only those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0038] It should be noted that the descriptions of "first", "second", etc. in this application are only for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in this field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.

[0039] The blind spot detection and collision warning algorithm of the vehicle (i.e., the blind spot warning algorithm) is used to detect the area that is difficult to directly observe (i.e., the blind spot) due to the vehicle structure, the limited driver's line of sight, or the obstruction of surrounding obstacles, and combines image processing and other technologies to identify and analyze the collision risk of the target objects (pedestrians, vehicles, and other potential obstacles) in the blind spot, and immediately send out a warning signal when the potential collision risk is detected, thereby reducing the risk of the vehicle colliding during driving due to the driver's blind spot and improving road driving safety. However, when there are multiple target objects in the blind spot, if the original blind spot warning algorithm is directly used to perform the related calculations of the blind spot collision warning for multiple target objects, the calculation complexity will be high and the amount of calculation will be large, which will not only consume a lot of CPU computing power, but also cause the calculation speed of the blind spot warning algorithm to slow down, thereby affecting other performances of the current vehicle. In order to solve the above problems, the present application provides a blind spot warning optimization acceleration method to achieve accelerated optimization of the vehicle blind spot warning algorithm at a lower cost while ensuring that the effect of the implementation of the blind spot warning algorithm remains unchanged.

[0040] The blind spot warning optimization acceleration method provided by the present application only adjusts the calculation method of the blind spot warning algorithm without changing the principle of the blind spot warning algorithm, so as to ensure the consistency of the data after the blind spot warning algorithm is optimized and the data derived from the algorithm principle to the greatest extent. On the one hand, the single-instruction single-data calculation method in the original blind spot warning algorithm is changed to a single-instruction multiple-data calculation method, which reduces memory overhead and CPU occupancy. On the other hand, by utilizing the independent characteristics of the related calculations of the blind spot collision warning of different target objects, the single-threaded calculation method in the original blind spot warning algorithm is changed to a multi-threaded parallel calculation method, which makes full use of hardware resources, reduces calculation time, and improves processing efficiency. In this embodiment, the single instruction multiple data computing method of the NEON instruction set is used to optimize and accelerate the blind spot warning algorithm. The NEON instruction set is a SIMD (Single Instruction Multiple Data) instruction set under the ARM platform. The NEON instruction set accelerates calculations by processing multiple data elements in parallel, that is, one operation instruction executes multiple data elements, thereby significantly improving the calculation speed of the program. These data elements can be integers or floating point numbers (that is, corresponding to integer instruction sets and floating point instruction sets), and support multiple bit widths (such as 8 bits, 16 bits, 32 bits and 64 bits).

[0041] Please see Figure 1 and Figure 6 , Figure 1 A flowchart of a blind spot warning optimization acceleration method provided in an embodiment of the present application. Figure 6It is a reference schematic diagram of a blind spot warning optimization acceleration method provided by an embodiment of the present application. The blind spot warning optimization acceleration method will be further introduced below. The blind spot warning optimization acceleration method includes the following steps S10-S90.

[0042] Step S10: Acquire images of the vehicle's surroundings in real time to identify target objects based on the images.

[0043] In step S10, the camera device 200 acquires images of the surroundings of the vehicle 1000 in real time and transmits them to the main control device 100. The main control device 100 identifies the target object based on the images of the surroundings of the vehicle 1000 to identify whether there is a target object around the vehicle 1000, and analyzes the target category of the target object when the target object is identified. Specifically, a plurality of camera devices 200 are installed on the outside of the vehicle 1000, and the plurality of camera devices 200 are arranged at different positions of the vehicle body to cover a 360° viewing angle around the vehicle 1000, and then the images of the surroundings of the vehicle 1000 are acquired in real time through the plurality of camera devices 200. The main control device 100 is provided inside the vehicle 1000, and the main control device 100 is connected to the plurality of camera devices 200 for communication to acquire images of the surroundings of the vehicle 1000 from the plurality of camera devices 200.

[0044] Step S20: when it is identified that there are multiple target objects, the multiple target objects are divided into multiple tracking target groups according to the target category of each target object.

[0045] Please refer to Figure 7 , Figure 7 It is a reference schematic diagram of the tracking and matching calculation provided by an embodiment of the present application. In step S20, when the main control device 100 recognizes the existence of multiple target objects based on the image around the current vehicle 1000, the multiple target objects are divided into multiple tracking target groups M1 according to the target category of each target object. In this embodiment, the target types include four target types: two-wheeled vehicles, cars, trucks, and pedestrians, that is, the main control device 100 divides the multiple target objects into four tracking target groups M1 according to the target category of each target object. It can be understood that the number of target objects in different tracking target groups M1 may be different (in terms of Figure 7 For example, the number of trucks is n1, the number of two-wheeled vehicles is n2, the number of pedestrians is n3, and the number of cars is n4). In addition, in some other feasible embodiments, the types of target types may also be increased or decreased according to actual conditions. It can be understood that the number of tracking target groups M1 also increases or decreases accordingly.

[0046] Step S30: Calculate the tracking matches of multiple tracking target groups in parallel to obtain the object data of each target object. Each tracking target group includes multiple target objects, and the object data is the object data corresponding to multiple frames of images in a continuous time. Specifically, the main control device 100 calculates the tracking matches of multiple tracking target groups M1 in parallel to obtain the object data of each target object. It can be understood that each tracking target group M1 includes multiple target objects, and multiple target objects in the same tracking target group M1 are all of the same target category. Further, the object data is the motion state information (such as detection frame data, position data, etc.) of the target object relative to the current vehicle 1000 (self-vehicle). Since the motion state of the target object relative to the current vehicle 1000 changes in real time, the object data of the target object in a continuous time also changes in real time. Therefore, the object data of the present application includes object data corresponding to multiple frames of images in a continuous time, such as the object data of the current frame graphic and the object data corresponding to the previous frame image. In addition, please refer to Figure 2 , Figure 2 It is a flowchart of step S30 provided in an embodiment of the present application, and step S30 specifically includes the following steps S301-S305.

[0047] Step S301: Create a corresponding first thread for each tracking target group. Specifically, the main control device 100 creates a corresponding first thread C1 for each tracking target group M1. In this embodiment, there are four tracking target groups M1. Accordingly, four first threads C1 need to be created to correspond to the four tracking target groups M1.

[0048] Step S303: Calculate the tracking matches of multiple tracking target groups in parallel using multiple first threads. In this embodiment, the main control device 100 uses four first threads C1 to respectively calculate the tracking matches of corresponding target categories (two-wheeled vehicles, cars, trucks, pedestrians), thereby realizing the tracking match calculations of all target objects. It can be understood that since the relevant calculations of tracking matches of target objects of different target types are independent of each other, target objects of different target types can simultaneously perform relevant calculations of tracking matches in their respective first threads C1 without affecting each other. In addition, the parallel calculation method makes full use of the hardware computing units, reduces the time of relevant calculations of tracking matches, and improves the calculation efficiency.

[0049] Step S305: In each first thread, the NEON instruction set is used to parallelly calculate the tracking matches of all target objects in the corresponding tracking target group to obtain the object data of each target object. Specifically, in each first thread C1, the main control device 100 uses the NEON instruction set to parallelly calculate the tracking matches of all target objects in the corresponding tracking target group M1 to obtain the object data of each target object. In this embodiment, the object data includes but is not limited to the detection frame data and position data of the target object, wherein the detection frame data refers to the rectangular frame data used to identify and frame the target object in the image, and the detection frame data generally includes the coordinates of the upper left corner and the lower right corner of the rectangular frame, or the center point coordinates, width and height and other parameters to accurately locate the target object. The position data refers to the coordinates, direction, angle and other information relative to the entire image, so as to more accurately understand and analyze the spatial position relationship of the target object. In addition, please refer to Figure 3 and Fig. 9 , Figure 3 is a flowchart of step S305 provided in an embodiment of the present application, Fig. 9 It is a reference schematic diagram of a detection frame provided in an embodiment of the present application, and step S305 specifically includes the following steps S3051-S3055.

[0050] Step S3051: Obtain the intersection area and union area of ​​the detection frames of the previous frame image and the current frame image of all target objects in the tracking target group corresponding to each first thread. Specifically, in each first thread C1, the main control device 100 obtains the detection frame data of the previous frame image and the current frame image of each target object, and calculates the intersection area and union area of ​​the detection frames of the previous frame image and the current frame image of each target object according to the detection frame data of the previous frame image and the current frame image of each target object.

[0051] Step S3053: Based on the intersection area of ​​the detection frames and the union area of ​​the detection frames, the NEON instruction set is used to calculate in parallel the intersection area ratio of the detection frames of the second preset number of target objects. Specifically, in each first thread C1, the main control device 100 uses the NEON instruction set to calculate in parallel the intersection area ratio of the detection frames of the second preset number N2 target objects based on the intersection area of ​​the detection frames of each target object and the union area of ​​the detection frames, thereby optimizing and accelerating the calculation of tracking and matching of multiple target objects. Among them, the second preset number N2 is a natural number greater than or equal to two. In this embodiment, the second preset number N2 is four, that is, the NEON instruction set is used to calculate the intersection area ratio of the detection frames of four target objects at one time, and the calculation formula is: in, represents the intersection area ratio of the detection frames of the previous frame image and the current frame image of the four target objects starting from the i-th target object, represents the intersection area of ​​the detection boxes of the previous frame image and the current frame image of the four target objects starting from the i-th target object, Represents the union area of ​​the detection frames of the previous frame image and the current frame image of the four target objects starting from the i-th target object. It can be understood that the original calculation method for tracking and matching calculations of multiple target objects is a single-instruction single-data calculation method, that is, by obtaining the detection frame data of the current frame image of a target object each time and performing tracking and matching calculations with the detection frame data of the previous frame image, it is necessary to follow each target object in turn to complete the tracking and matching calculations of all target objects. However, the present application changes the calculation method of tracking and matching calculations of multiple target objects to the single-instruction multiple-data calculation method of the NEON instruction set, and only needs to loop one-fourth of the number of original target objects to complete the tracking and matching calculations of all target objects, which greatly reduces the number of loops and improves the operating efficiency.

[0052] Step S3055: Obtain the object data corresponding to each target object in the continuous frame images according to the detection frame intersection area ratio. Specifically, in each first thread C1, the main control device 100 obtains the object data corresponding to each target object in the continuous frame images according to the detection frame intersection area ratio of each target object. Among them, the detection frame intersection area ratio is used to evaluate whether the target objects detected in the continuous frame images correspond to the same target object. In this embodiment, the size range of the detection frame intersection area ratio is 0-1. The closer the detection frame intersection area ratio is to 1, the higher the overlap degree of the two detection frames is, which means that the possibility that the target objects corresponding to the two detection frames are the same target object is greater. Specifically, by comparing the detection frame intersection area ratio with a preset threshold a (usually 0.5 or higher), if the detection frame intersection area ratio is lower than the preset threshold a, it is considered that the two detection frames do not correspond to the same target object. Correspondingly, if the intersection area ratio of the detection frames exceeds the preset threshold a, it is considered that the two detection frames correspond to the same target object, the target object in the current frame image is associated with the corresponding target object in the previous frame image, and the object data of the target object in the continuous frame images is updated.

[0053] Step S40: Divide the plurality of target objects into a plurality of target object groups based on a first preset number of target objects, wherein each target object group includes the first preset number of target objects.

[0054] Please refer to Figure 8 , Figure 84 is a reference schematic diagram of the motion direction calculation provided by an embodiment of the present application. In step S40, the multiple target objects in the same target object group M2 can be any target type. The number of target object groups M2 depends on the number of all target objects and the first preset number N1, wherein the first preset number N1 is a natural number greater than or equal to two. In the present embodiment, the first preset number N1 is four, that is, multiple target object groups M2 are created with four target objects as a group. In one embodiment, the number of all target objects is 16, then 4 target object groups M2 (16 / 4) are obtained by division, that is, each target object group M2 includes 4 target objects. In another embodiment, the number of all target objects is 15, then 4 target object groups M2 (15 / 4) are obtained by division, but there is a target object group M2 that only includes 3 target objects.

[0055] Step S50: According to the object data of each target object, the movement directions of multiple target object groups are calculated in parallel. The movement direction includes the near-vehicle direction and the far-vehicle direction. Specifically, the main control device 100 calculates the movement directions of multiple target object groups M2 in parallel according to the object data of each target object. The movement direction is the relative movement direction between the target object and the current vehicle 1000. The near-vehicle direction indicates that the target object moves close to the current vehicle 1000, and the far-vehicle direction indicates that the target object moves away from the current vehicle 1000. It can be understood that when the movement direction of the target object is the far-vehicle direction, the target object has no collision risk, and there is no need to perform relevant calculations of collision warning on the target object; and when the movement direction of the target object is the near-vehicle direction, the target object may have a collision risk, and it is necessary to perform relevant calculations of collision warning on the target object. The relevant calculations of collision warning (i.e., movement speed, expected collision time, and alarm cumulative value calculations) will be described in detail below. In addition, please refer to Figure 4 , Figure 4 It is a flowchart of step S50 provided in an embodiment of the present application, and step S50 specifically includes the following steps S501-S505.

[0056] Step S501: Create a corresponding second thread for each target object group. Specifically, the main control device 100 creates a corresponding second thread C2 for each target object group M2, and the number of second threads C2 depends on the number of target object groups M2. Taking the number of target object groups M2 as an example, four second threads C2 need to be created to correspond to the four target object groups M2.

[0057] Step S503: Calculate the motion directions of multiple target object groups in parallel using multiple second threads. In this embodiment, the main control device 100 calculates the motion directions of four target object groups M2 in parallel using four second threads C2, thereby realizing the motion direction calculation of all target objects. It can be understood that since the motion direction calculations of different target objects are independent of each other, different target objects can calculate the motion directions in their respective second threads C2 at the same time without affecting each other, and the use of multi-threaded parallel calculation method fully utilizes the hardware computing unit, reduces the calculation time of the motion directions of multiple target objects, and improves the calculation efficiency.

[0058] Step S505: Based on the object data of each target object, the motion directions of the first preset number N1 of target objects are calculated in parallel using the NEON instruction set in each second thread. Specifically, the main control device 100 uses the NEON instruction set in parallel in each second thread C2 to calculate the motion directions of the first preset number N1 of target objects based on the object data corresponding to the previous frame image and the object data corresponding to the current frame image of each target object, so as to optimize and accelerate the calculation of the motion directions of multiple target objects. In this embodiment, the first preset number N1 is four, and the floating point instruction set is used to calculate the motion directions of four target objects at one time, and the calculation formula is: in, represents the movement direction data of the four target objects starting from the i-th target object, The object data of the j-th frame image of the four target objects starting from the i-th target object, Represents the object data of the j-1th frame image of the four target objects starting from the ith target object. It can be understood that the original calculation method is a single-instruction single-data calculation method, that is, only the object data of one target object is obtained each time to calculate the motion direction, and each target object needs to be followed in turn to complete the calculation of the motion directions of all target objects. However, the present application changes the calculation of the motion directions of multiple target objects to a single-instruction multiple-data calculation method, and only one-quarter of the original number of target objects needs to be looped to complete the calculation of the motion directions of all targets, which greatly reduces the number of loops and improves the operating efficiency.

[0059] Step S60: Based on the object data of each target object, the moving speed of the target object whose moving direction is the vehicle direction is calculated in parallel. Specifically, the main control device 100 uses the NEON instruction set to calculate the moving speed of the target object whose moving direction is the vehicle direction in parallel based on the position data of each target object. It can be understood that the calculation of the moving direction not only involves the position data, but also involves other data in the object data, while the calculation of the moving speed only involves the position data. In addition, please refer to Figure 5 , Figure 5It is a flowchart of step S60 provided in an embodiment of the present application, and step S60 specifically includes the following steps S601-S603.

[0060] Step S601: Acquire the position data corresponding to the previous frame image of the target object whose moving direction is the vehicle approaching direction, the position data corresponding to the current frame image, and the time difference between the previous frame image and the current frame image. Specifically, the main control device 100 acquires the position data corresponding to the previous frame image of the target object whose moving direction is the vehicle approaching direction, the position data corresponding to the current frame image, and the time difference between the previous frame image and the current frame image.

[0061] Step S603: Based on the position data corresponding to the previous frame image, the position data corresponding to the current frame image, and the time difference, the NEON instruction set is used to parallelly calculate the motion speeds of the third preset number of target objects. Specifically, the main control device 100 uses the NEON instruction set to parallelly calculate the motion speeds of the third preset number N3 of target objects based on the position data corresponding to the previous frame image, the position data corresponding to the current frame image, and the time difference between the previous frame image and the current frame image. Among them, the motion speed is the relative motion speed between the target object and the current vehicle 1000, and the third preset number N3 is a natural number greater than or equal to two. In this embodiment, the three preset numbers N3 are four, that is, the NEON instruction set is used to calculate the relative speed values ​​of four target objects at one time, and the calculation formula is: Among them, Speed(i) represents the speed values ​​of the four target objects starting from the i-th target object. represents the j-th frame image data of the four target objects starting from the i-th target object, represents the j-1th frame image data of the four target objects starting from the i-th target object, Indicates the time difference between two frames of images. It can be understood that the original calculation method is a single-instruction single-data calculation method, that is, only the position data of one target object is obtained each time to calculate the motion speed, and each target object needs to be followed in turn to complete the calculation of the motion speed of all target objects. However, the present application changes the calculation of the motion speed of multiple target objects to a single-instruction multiple-data calculation method, and only one-quarter of the original number of target objects needs to be looped to complete the calculation of the motion speed of all target objects, which greatly reduces the number of loops and improves the operating efficiency.

[0062] Step S70: According to the moving speed, the estimated collision time of the target object whose moving direction is the vehicle approaching direction is calculated in parallel.

[0063] In step S70, the main control device 100 obtains the distance between the target object whose moving direction is the vehicle approaching direction and the current vehicle 1000, and at the same time, in combination with the moving speed of the target object, uses the NEON instruction set to parallelly calculate the estimated collision time of the fourth preset number N4 of target objects. Among them, the fourth preset number N4 is a natural number greater than or equal to two. In this embodiment, the fourth preset number N4 is four, that is, the NEON instruction set is used to calculate the estimated collision time of four target objects at one time, and the calculation formula is: represents the collision time of the four target objects starting from the i-th target object, Indicates the distance between the four target objects starting from the i-th target object and the current vehicle 1000. It can be understood that the original calculation method is a single-instruction single-data calculation method, that is, only the movement speed of one target object is obtained each time to calculate the estimated collision time, and each target object needs to be followed in turn to complete the calculation of the estimated collision time of all target objects. However, the present application changes the calculation of the estimated collision time of multiple target objects to a single-instruction multiple-data calculation method, and only one-fourth of the original number of target objects needs to be looped to complete the calculation of the estimated collision time of all target objects, which greatly reduces the number of loops and improves the operating efficiency.

[0064] Step S80: According to the estimated collision time, the warning accumulation value of the target object whose moving direction is the vehicle approaching direction is calculated in parallel.

[0065] In step S80, the main control device 100 uses the NEON instruction set to calculate the alarm cumulative value of the fifth preset number N5 of target objects in parallel according to the expected collision time of the target object whose moving direction is the direction close to the vehicle. Specifically, for the target object whose moving direction is the direction close to the vehicle, the main control device 100 compares the expected collision time of each target object with the preset threshold b. When the expected collision time reaches the preset threshold b, the alarm cumulative value is accumulated. Among them, the fifth preset number N5 is a natural number greater than or equal to two. In this embodiment, the fifth preset number N5 is eight, and the alarm cumulative value is an integer, that is, the integer instruction set is used to calculate the alarm cumulative value of eight target objects at one time, and the calculation formula is: in, Represents the alarm cumulative value of eight target objects starting from the i-th target object. It can be understood that the original calculation method is a single-instruction single-data calculation method, that is, only the estimated collision time of one target object is obtained each time to calculate the alarm cumulative value, and each target object needs to be followed in turn to complete the calculation of the alarm cumulative value of all target objects. However, the present application changes the calculation of the alarm cumulative values ​​of multiple target objects to a single-instruction multiple-data calculation method, and only one-eighth of the number of original target objects needs to be looped to complete the calculation of all alarm cumulative values, which greatly reduces the number of loops, reduces the use of CPU, and improves operating efficiency.

[0066] Step S90: Outputting the alarm status of the target object whose moving direction is the vehicle approaching direction according to the alarm accumulation value.

[0067] In step S90, the main control device 100 outputs the alarm status of the target object whose moving direction is the vehicle-approaching direction according to the alarm accumulation value. Specifically, for the target object whose moving direction is the vehicle-approaching direction, the main control device 100 compares the alarm accumulation value of each target object with the preset threshold value c, and outputs the alarm status when the alarm accumulation value reaches the preset threshold value c to remind the driver to take timely measures to avoid collision. The alarm status can be output to the driver through sound alarms, visual prompts, vibration feedback, etc., which are not limited here.

[0068] In addition, in some feasible embodiments, when there is a step in the blind spot warning algorithm that only needs to be calculated once and does not depend on the dynamic changes during the execution of the blind spot warning algorithm, it means that the step can be determined and calculated before the execution of the blind spot warning algorithm or in the initialization stage, so the step is transferred to the initialization stage of the blind spot warning algorithm to accelerate the optimization of the blind spot warning algorithm. It can be understood that the accelerated and optimized blind spot warning algorithm only needs to calculate the step once, avoiding repeated calculation of the step in the main loop of the blind spot warning algorithm, reducing the amount of calculation when the blind spot warning algorithm is running, and improving the efficiency of the blind spot warning algorithm.

[0069] Please refer to Fig.10 , Fig.10 The present application also provides a vehicle 1000, which includes a main control device 100 and a camera device 200, wherein the main control device 100 is in communication connection with the camera device 200, and the camera device 200 acquires an image of the surrounding area of ​​the vehicle 1000 and transmits it to the main control device 100, so that the main control device 100 can identify a target object according to the image.

[0070] Please refer to Fig.11 , Fig.11It is a structural diagram of the main control device provided in one embodiment of the present application. The main control device 100 includes a memory 1 and a processor 2, the memory 1 is used to store program instructions, and the processor 2 is connected to the memory 1 in communication, and is used to execute program instructions to implement the blind spot warning optimization acceleration method provided in the above embodiment. Among them, the processor 2 can be a central processing unit (CPU), a controller, a microcontroller, a microprocessor or other data processing chip in some embodiments, which is used to run the computer executable program stored in the memory 1. Specifically, the processor 2 executes the executable program to implement the above-mentioned blind spot warning optimization acceleration method.

[0071] The memory 1 includes at least one type of readable storage medium, which includes a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., an SD or DX memory, etc.), a magnetic memory, a disk, an optical disk, etc. The memory 1 may be an internal storage unit of the vehicle 1000 in some embodiments, such as a hard disk of the vehicle 1000. The memory 1 may also be a storage device of the vehicle 1000 in other embodiments, such as a plug-in hard disk, a smart memory card (SmartMedia Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the vehicle 1000. Further, the memory 1 may also include both an internal storage unit of the vehicle 1000 and an external storage device. The memory 1 may not only be used to store application software and various types of data installed in the vehicle 1000, such as the code for realizing the blind spot warning optimization acceleration method, but may also be used to temporarily store data that has been output or is to be output.

[0072] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

[0073] The above examples are only preferred embodiments of the present application, and certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application still fall within the scope covered by the present application.

Claims

1. A blind spot warning optimization acceleration method, characterized in that: The optimization acceleration method comprises: Acquire images of the vehicle's surroundings in real time to identify target objects based on the images; When multiple target objects are identified, the multiple target objects are divided into multiple tracking target groups according to the target category of each target object; Calculating the tracking matches of the plurality of tracking target groups in parallel to obtain object data of each target object; wherein each tracking target group includes a plurality of target objects, and the object data is object data corresponding to a plurality of frames of images in a continuous time; Dividing the plurality of target objects into a plurality of target object groups based on a first preset number of target objects; wherein each target object group includes the first preset number of target objects; According to the object data of each target object, the movement direction of the plurality of target object groups is calculated in parallel; wherein the movement direction includes a near vehicle direction and a far vehicle direction; According to the object data of each target object, a moving speed of the target object whose moving direction is the vehicle approaching direction is calculated in parallel; According to the moving speed, the estimated collision time of the target object whose moving direction is the near-vehicle direction is calculated in parallel; According to the estimated collision time, a warning cumulative value of the target object moving in the direction of the vehicle approaching is calculated in parallel; The alarm state of the target object whose moving direction is the vehicle approaching direction is output according to the alarm accumulation value.

2. The blind spot warning optimization acceleration method according to claim 1, characterized in that: Calculating the tracking matches of the plurality of tracking target groups in parallel to obtain object data of each target object specifically includes: Creating a corresponding first thread for each tracking target group; Utilizing a plurality of first threads to calculate tracking matches of the plurality of tracking target groups in parallel; and In each first thread, the NEON instruction set is used to parallelly calculate the tracking matches of all target objects in the corresponding tracking target group to obtain the object data of each target object.

3. The blind spot warning optimization acceleration method according to claim 2, characterized in that: The object data includes detection frame data, and the tracking matching of all target objects in the corresponding tracking target group is calculated in parallel using the NEON instruction set in each first thread to obtain the object data of each target object, specifically including: Obtaining the intersection area and union area of ​​the detection frames of the previous frame image and the current frame image of all target objects in the tracking target group corresponding to each first thread; According to the detection frame intersection area and the detection frame union area, using the NEON instruction set to calculate in parallel the detection frame intersection area ratio of the second preset number of target objects; wherein the detection frame intersection area ratio is used to evaluate whether the target objects detected in consecutive frame images correspond to the same target object; The object data corresponding to each target object in the continuous frame images is obtained according to the intersection area ratio of the detection frames.

4. The blind spot warning optimization acceleration method according to claim 1, characterized in that: Calculating the movement directions of the plurality of target object groups in parallel according to the object data of each target object specifically includes: Creating a corresponding second thread for each target object group; Calculating the movement directions of the plurality of target object groups in parallel using a plurality of second threads; and According to the object data of each target object, the movement directions of the first preset number of target objects are calculated in parallel in each second thread using a NEON instruction set.

5. The blind spot warning optimization acceleration method according to claim 4, characterized in that: According to the object data of each target object, using the NEON instruction set in parallel in each second thread to calculate the movement direction of the first preset number of target objects specifically includes: According to the object data corresponding to the previous frame image and the object data corresponding to the current frame image of each target object, the movement directions of the first preset number of target objects are calculated in parallel in each second thread using the NEON instruction set.

6. The blind spot warning optimization acceleration method according to claim 1, characterized in that: The object data includes position data. According to the object data of each target object, the moving speed of the target object whose moving direction is the vehicle approaching direction is calculated in parallel, specifically including: Acquire position data corresponding to a previous frame image, position data corresponding to a current frame image, and a time difference between the previous frame image and the current frame image of the target object whose moving direction is the vehicle approaching direction; According to the position data corresponding to the previous frame image, the position data corresponding to the current frame image, and the time difference, the movement speeds of the third preset number of target objects are calculated in parallel using the NEON instruction set.

7. The blind spot warning optimization acceleration method according to claim 6, characterized in that: According to the moving speed, the collision time of the target object whose moving direction is the vehicle approaching direction is calculated in parallel, specifically including: Acquire the distance between the target object whose moving direction is the vehicle approaching direction and the vehicle; According to the moving speed of the target object whose moving direction is the vehicle approaching direction and the distance between the target object and the vehicle, the estimated collision time of a fourth preset number of target objects is calculated in parallel by using the NEON instruction set.

8. The blind spot warning optimization acceleration method according to claim 1, characterized in that: According to the estimated collision time, the warning cumulative value of the target object whose moving direction is the vehicle approaching direction is calculated in parallel, specifically including: According to the estimated collision time of the target object whose moving direction is the vehicle approaching direction, the warning cumulative values ​​of a fifth preset number of target objects are calculated in parallel by using the NEON instruction set.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store a computer program, and the computer program is executed to implement the blind spot warning optimization acceleration method as described in any one of claims 1-8.

10. A vehicle, characterized in that: The vehicle comprises: a memory for storing program instructions; and A processor is communicatively connected to the memory, and is used to execute the program instructions to implement the blind spot warning optimization acceleration method as described in any one of claims 1-8.