Target detection result inspection method and device, equipment and storage medium
By converting the 3D object detection results into 2D bounding box sets and performing interchange and comparison verification, the problem of low accuracy of point cloud object detection is solved, and the labeling efficiency and accuracy in autonomous driving technology are improved.
Patent Information
- Application Number
- CN202411373233.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-01-14
AI Technical Summary
In the prior art, the accuracy of point cloud object detection is poor, resulting in the manual labeling efficiency not increasing but decreasing, and it is necessary to improve the accuracy of 3D object detection results.
By converting the bounding box vertices of the 3D object detection results to the vehicle body coordinate system and image coordinate system, combining the image internal and external parameter information, a 2D bounding box set is generated, and the accuracy of the 3D object detection results is verified by interchanging and comparing data. .
It improves the accuracy of 3D object detection results, reduces manual labeling errors, and improves labeling efficiency.
Smart Images

Figure CN119314130A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of target detection, and specifically relates to a method, device, equipment and storage medium for checking target detection results. Background Art
[0002] Point cloud and image data are common data formats in current autonomous driving technology. Perception based on point cloud and image data is the most reliable source of information in current autonomous driving technology. In order to obtain information in the environment, a large deep learning network is required to infer the point cloud data collected by the autonomous driving car. The weight data of the deep learning network is obtained from manual annotation of the point cloud data. In order to obtain good deep learning network weights, a large amount of training data is required. Therefore, how to quickly and economically obtain a large amount of training data is of great significance to the iteration and optimization of autonomous driving technology.
[0003] The current annotation technology mainly uses manual frame-by-frame annotation. In order to improve the efficiency of manual annotation, the industry generally uses perception models to pre-annotate data, and manual work only needs to be performed for inspection and proofreading, which greatly improves the annotation efficiency. However, the effect of this pre-annotation is related to the detection capability of the target detection model.
[0004] However, the accuracy of point cloud object detection is currently poor. Direct pre-labeling will result in a large number of erroneous pre-labeled boxes, which need to be manually deleted by the labeler, resulting in a decrease in labeling efficiency. Therefore, it is particularly important to improve the accuracy of point cloud object detection results. Summary of the invention
[0005] The purpose of the present invention is to solve the technical problem of poor accuracy of point cloud target detection in the above-mentioned prior art, and to provide a method for verifying target detection results, which can verify 3D target detection results based on point clouds and improve the accuracy of 3D target detection results.
[0006] In order to solve the above problems, the present invention is implemented according to the following technical solutions:
[0007] In a first aspect, the present invention provides a method for verifying a target detection result, the method comprising:
[0008] Step 10: Obtain the result of 3D target detection;
[0009] Step 20: convert the vertices of the bounding box of the 3D object detection result into a vehicle body coordinate system;
[0010] Step 30: converting the vertices converted into the vehicle body coordinate system in step 20 into each of the image coordinate systems according to the external parameter calibration information of each image sensor, wherein the external parameter calibration information is information for determining the position and direction of the image sensor relative to the vehicle body coordinate system;
[0011] Step 40: Map the vertices converted into the image coordinate system in step 30 into a 2D coordinate system according to the image intrinsic parameters, convert them into points on the image, and generate a first 2D bounding box set at the same time, wherein the image intrinsic parameters are parameters describing the geometric and optical relationship between the camera lens and the image sensor, and the 2D coordinate system is used to describe the position of the midpoint of the image;
[0012] Step 50: Perform 2D object detection on the points on the image in step 40 to generate a second 2D bounding box set;
[0013] Step 60: Obtain intersection-over-union data between the first 2D bounding box set and the second 2D bounding box set;
[0014] Step 70: When there is data in the second 2D bounding box set that is larger than the intersection-over-union data, the result of the 3D object detection is correct.
[0015] Preferably, in step 10, the result of the 3D target detection is obtained by performing point cloud-based 3D target detection after image dedistortion and splicing of the laser radar data according to the laser radar calibration information.
[0016] Preferably, in step 10, the output form of the 3D object detection result is a bounding box.
[0017] Preferably, in step 20, the vehicle body coordinate system is a vehicle body coordinate system centered at the vehicle body control point.
[0018] In a second aspect, the present invention provides a device for verifying a target detection result, wherein the device for verifying a target detection result is configured to execute the method for verifying a target detection result, and the device for verifying a target detection result comprises:
[0019] A 3D target detection result acquisition module, which is used in step 10 to acquire the result of 3D target detection;
[0020] A vehicle body coordinate point acquisition module, which is used in step 20 to convert the vertices of the bounding box of the 3D target detection result into a vehicle body coordinate system;
[0021] An image coordinate point acquisition module, which is used in step 30 to convert the vertices converted into the vehicle body coordinate system in step 20 into each of the image coordinate systems according to the external parameter calibration information of each image sensor, wherein the external parameter calibration information is information for determining the position and direction of the image sensor relative to the vehicle body coordinate system;
[0022] A first 2D bounding box set acquisition module, which is used in step 40 to map the vertices converted into the image coordinate system in step 30 into a 2D coordinate system according to image intrinsic parameters, convert them into points on the image, and generate a first 2D bounding box set at the same time, wherein the image intrinsic parameters are parameters describing the geometric and optical relationship between the camera lens and the image sensor, and the 2D coordinate system is used to describe the position of the midpoint of the image;
[0023] A second 2D bounding box set acquisition module, the second 2D bounding box set acquisition module is used in step 50 to perform 2D object detection on the points on the image in step 40 to generate a second 2D bounding box set;
[0024] An IoU data acquisition module, the IoU data acquisition module is used in step 60 to acquire IoU data between the first 2D bounding box set and the second 2D bounding box set;
[0025] A test result acquisition module is used in step 70. When there is data in the second 2D bounding box set that is larger than the intersection-over-union data, the result of the 3D object detection is correct.
[0026] In a third aspect, the present invention provides an electronic device, the electronic device comprising:
[0027] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform a method for inspecting target detection results as described in any one of the first aspects above.
[0028] In a fourth aspect, the present invention provides a computer-readable storage medium storing a computer program, wherein the computer program is used to enable a processor to execute a method for verifying a target detection result as described in any one of the first aspects above.
[0029] Compared with the prior art, the present invention has the following beneficial effects:
[0030] The present invention provides a method for verifying target detection results. Based on multimodal fusion technology, the results of image perception are used to verify the results of point cloud perception. Specifically, the vertices of the bounding box of the 3D target detection result are converted into points on the image as a first 2D bounding box set. Then, 2D target detection is performed on the points on the image to generate a second 2D bounding box set. Thereafter, the intersection and union ratio data between the first 2D bounding box set and the second 2D bounding box set is calculated, and by comparing the second 2D bounding box set with the intersection and union ratio data, it is determined whether the result of the 3D target detection is correct. This method can verify the 3D target detection results based on point clouds, improve the accuracy of the 3D target detection results, and facilitate the subsequent manual annotation of point clouds.
[0031] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] The specific embodiments of the present invention are further described in detail below in conjunction with the accompanying drawings, wherein:
[0033] Figure 1 is a technical flow chart of a method for checking target detection results according to an embodiment of the present invention;
[0034] Figure 2 is a module diagram of a device for checking target detection results according to an embodiment of the present invention;
[0035] Figure 3 It is a structural schematic diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0036] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0037] The preferred embodiments of the present invention are described below in conjunction with the accompanying drawings. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present invention, and are not used to limit the present invention.
[0038] How to quickly and economically obtain a large amount of training data is of great significance to the iteration and optimization of autonomous driving technology. In order to improve the efficiency of manual point cloud annotation, the industry generally uses perception models to pre-annotate data. The effect of this pre-annotation is related to the detection capability of the target detection model.
[0039] However, the accuracy of point cloud target detection is currently poor. Direct pre-labeling will result in a large number of erroneous pre-labeling boxes. These erroneous data need to be manually deleted by the labelers, which will cause the labeling efficiency to decrease instead of increase.
[0040] In order to solve the technical problem of poor accuracy of point cloud target detection in the above-mentioned prior art, the present invention provides a method for verifying target detection results, which can verify 3D target detection results based on point clouds and improve the accuracy of 3D target detection results.
[0041] Figure 1 This is a technical flow chart of a method for checking target detection results according to the present invention. This method can be performed by a device for checking target detection results. The device can be implemented in the form of hardware and / or software, and the device can be configured in an electronic device. Figure 1 As shown, the method includes:
[0042] Step 10: Obtain the results of 3D object detection.
[0043] Specifically, the result of 3D target detection is obtained by performing point cloud-based 3D target detection on the data of the laser radar after image dedistortion and splicing according to the calibration information of the laser radar.
[0044] It is understood that in point cloud annotation, the calibration information of the laser radar refers to the calibration of the laser radar equipment and the record of calibration parameters, which ensure the accuracy and reliability of the laser radar measurement data. The content of the calibration information is as follows: geometric calibration, which is used to determine the geometric position and orientation of the laser radar sensor, including the position and orientation of the sensor relative to the coordinate system of the vehicle or device; time calibration, which is used to calibrate the time delay of transmitting and receiving laser beams to ensure the accuracy of time measurement; distance calibration, which is used to calibrate the distance measured by the laser radar to ensure the accuracy of the measurement results; reflectivity calibration, which is used to calibrate the intensity of the reflected signal received by the laser radar to correctly reflect the surface characteristics of the object. The calibration process of the calibration information is: static calibration, which is carried out in a laboratory or controlled environment, using a calibration target of known size; dynamic calibration, which refers to the actual use environment, which may involve mobile equipment or changing environmental conditions. The calibration methods are: using a calibration plate with known geometric features, such as a chessboard or a sphere, to calibrate the laser radar by measuring these features; or using a known environment for calibration, and calibrating in an environment with known geometric features, such as using buildings or road markings.
[0045] It should be noted that LiDAR collects data by emitting laser pulses and receiving reflected light beams to generate point cloud data. These point cloud data can be converted into image formats, such as depth maps or grayscale images, where the intensity value of each pixel represents the depth or reflectivity of the corresponding position in the point cloud. Therefore, after the data collected by the LiDAR is converted into an image format, the data can be dedistorted and stitched. On the one hand, due to the physical and optical properties of the LiDAR, the collected data may be distorted, such as nonlinear distortion caused by laser beam divergence or sensor hardware limitations. The process of dedistorting the image of the LiDAR data includes applying calibration parameters to correct these distortions, which can ensure the accuracy of the image data. On the other hand, if the LiDAR data is collected from multiple angles or different positions, it may be necessary to stitch the data into a complete image or point cloud. The stitching process involves aligning and fusing data from different viewpoints to form a seamless overall view.
[0046] In an embodiment, the output form of the 3D object detection result is a bounding box. The bounding box is the most common 3D object detection result, which defines the minimum circumscribed rectangle or cuboid of the target object in three-dimensional space.
[0047] It is understandable that the result of 3D object detection is not necessarily a single point, but is usually a more comprehensive description of the target object. This description can include the following information: (1) Bounding box: The most common 3D object detection result is a bounding box, which defines the minimum enclosing rectangle or cuboid of the target object in three-dimensional space. (2) Point cloud: In some cases, 3D object detection can output a point cloud representation of the target object, which contains multiple points that make up the surface of the target object. Each point usually has three-dimensional coordinates and possible other attributes, such as color, reflection intensity, etc. (3) Object surface: More advanced 3D object detection methods may generate a surface mesh or polygonal representation of the target object, which provides more detailed geometric information than point cloud. (4) Key points: Some 3D object detection algorithms may identify and output key points on the target object, such as the head, shoulders, knees, etc. of a pedestrian. (5) Posture information: For some types of objects, 3D object detection may also provide the pose information of the object, such as the orientation angle of the vehicle. (6) Other attributes: Depending on the application requirements, the 3D object detection results may also include other attributes of the object, such as dynamic information such as speed and acceleration. In general, the output of 3D object detection depends on the detection algorithm and sensor type used. For example, a LiDAR-based detection system may output point cloud data, while a stereo vision-based method may output bounding boxes or key points. These results can be used in a variety of applications such as autonomous driving, robot navigation, augmented reality, etc.
[0048] In this embodiment, the output form of the 3D target detection result is a bounding box. On the one hand, the bounding box provides an intuitive way to represent the position and size of objects in 3D space, which is easy for people and machines to understand. On the other hand, this output form has high computational efficiency. Compared with more complex 3D models, the calculation and processing of bounding boxes are simpler and faster, which is particularly important in real-time systems and resource-constrained environments. In other aspects, the bounding box can be easily integrated with other sensor data (such as 2D images, point clouds, etc.) to provide a unified output format for the multimodal perception system, so that the 3D target detection result can be verified in the target detection result verification method described in the present invention.
[0049] Step 20: Convert the vertices of the bounding box of the 3D object detection result into the vehicle body coordinate system.
[0050] It should be noted that the body coordinate system is a commonly used reference coordinate system in vehicle dynamics and control systems. It is usually used to describe the vehicle's motion state and control input. The origin position of the body coordinate system can vary depending on different applications and research purposes. Common body coordinate system origin positions include vehicle center of mass, front and rear axle centers, steering axis center, vehicle geometric center, wheel contact point, and body control point. The choice of coordinate system origin depends on the specific needs of the analysis and the characteristics of the vehicle. For example, when performing vehicle stability analysis, the center of mass may be selected as the origin of the coordinate system; when studying steering dynamics, the steering axis center may be selected. Different coordinate system origin selections will affect the complexity of the vehicle model and the accuracy of the analysis.
[0051] Specifically, in this embodiment, the vehicle body coordinate system is a vehicle body coordinate system centered on the vehicle body control point, that is, the vehicle body coordinate system uses the vehicle body control point as the origin of the coordinate system. It provides a unified reference frame for vehicle motion analysis and control.
[0052] Step 30: According to the external parameter calibration information of each image sensor, the vertices converted into the vehicle body coordinate system in step 20 are converted into each image coordinate system.
[0053] It should be noted that the external calibration information of an image sensor (such as a camera) is information that determines the position and orientation of the image sensor relative to the vehicle coordinate system, or relative to the world coordinate system. It ensures that the sensor data can accurately reflect the spatial relationship of the real world.
[0054] Step 40: Map the vertices converted into the image coordinate system in step 30 into the 2D coordinate system according to the image internal parameters, convert them into points on the image, and generate a first 2D bounding box set.
[0055] It should be noted that the image intrinsic parameters are the parameters that describe the geometric and optical relationship between the camera lens and the image sensor. These parameters (such as focal length, pixel size, etc.) are crucial for understanding image data and converting image coordinates to world coordinates. Image intrinsic calibration is a basic step in computer vision, which allows us to: correct distortion in images and improve image quality; convert from image coordinates to camera coordinates, and then to world coordinates to achieve three-dimensional reconstruction; and provide accurate camera position and orientation information for multi-camera systems or sensor fusion. Therefore, in practical applications, image intrinsic calibration is usually completed by using a calibration plate of known size (such as a chessboard) and the corresponding image processing algorithm. The calibration results can be used for subsequent image processing and analysis tasks.
[0056] It should be noted that the 2D coordinate system is used to describe the position of a point in an image.
[0057] Step 50: Perform 2D object detection on the points on the image in step 40 to generate a second 2D bounding box set.
[0058] Step 60: Obtain intersection-over-union data between the first 2D bounding box set and the second 2D bounding box set.
[0059] Step 70: When there is data in the second 2D bounding box set that is larger than the intersection-with-union data, the result of the 3D object detection is correct.
[0060] In summary, through the method described in this application, based on multimodal fusion technology, the results of image perception are used to verify the results of point cloud perception. By converting the vertices of the bounding box of the 3D target detection result into points on the image as the first 2D bounding box set. Then perform 2D target detection on the points on the image to generate a second 2D bounding box set. Thereafter, the intersection and union data between the first 2D bounding box set and the second 2D bounding box set is calculated, and by comparing the second 2D bounding box set with the intersection and union data, it is determined whether the result of the 3D target detection is correct. This method can verify the 3D target detection results based on point clouds, improve the accuracy of the 3D target detection results, and facilitate the subsequent manual annotation of point clouds.
[0061] Figure 2 is a module diagram of a device for checking target detection results according to the present invention. Figure 2 As shown, the module includes:
[0062] (1) 3D object detection result acquisition module.
[0063] Specifically, the 3D object detection result acquisition module is used in step 10 to obtain the result of 3D object detection.
[0064] (2) Vehicle coordinate point acquisition module.
[0065] Specifically, the vehicle body coordinate point acquisition module is used in step 20 to convert the vertices of the bounding box of the 3D target detection result into the vehicle body coordinate system.
[0066] (3) Image coordinate point acquisition module.
[0067] Specifically, the image coordinate point acquisition module is used in step 30 to convert the vertices converted into the vehicle body coordinate system in step 20 into each of the image coordinate systems according to the external parameter calibration information of each image sensor.
[0068] (4) First 2D bounding box set acquisition module.
[0069] Specifically, the first 2D bounding box set acquisition module is used in step 40 to map the vertices converted into the image coordinate system in step 30 into the 2D coordinate system according to the image internal parameters, convert them into points on the image, and generate the first 2D bounding box set.
[0070] (5) Second 2D bounding box set acquisition module.
[0071] Specifically, the second 2D bounding box set acquisition module is used in step 50 to perform 2D object detection on the points on the image in step 40 to generate a second 2D bounding box set.
[0072] (6) Intersection and comparison data acquisition module.
[0073] Specifically, the IoU data acquisition module is used in step 60 to acquire IoU data between the first 2D bounding box set and the second 2D bounding box set.
[0074] (7) Inspection result acquisition module.
[0075] Specifically, the verification result acquisition module is used in step 70, and when there is data larger than the intersection-and-union data in the second 2D bounding box set, the result of the 3D object detection is correct.
[0076] Figure 3 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0077] like Figure 3 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0078] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0079] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The processor 11 executes the various methods and processes described above, such as a method for solving a test method for a target detection result.
[0080] In some embodiments, a method for checking a target detection result may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the method for checking a target detection result described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform a method for checking a target detection result by any other appropriate means (e.g., by means of firmware).
[0081] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0082] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0083] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0084] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0085] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0086] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0087] An embodiment of the present invention further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements a method for checking a target detection result as provided in the embodiment of the present invention.
[0088] In the process of implementation, the computer program product can be written in one or more programming languages or a combination thereof to perform the computer program code of the present invention, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code can 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 can 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 can be connected to an external computer (for example, using an Internet service provider to connect through the Internet).
[0089] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0090] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for testing target detection results, characterized in that: The method comprises: Step 10: Obtain the result of 3D target detection; Step 20: convert the vertices of the bounding box of the 3D object detection result into a vehicle body coordinate system; Step 30: converting the vertices converted into the vehicle body coordinate system in step 20 into each of the image coordinate systems according to the external parameter calibration information of each image sensor, wherein the external parameter calibration information is information for determining the position and direction of the image sensor relative to the vehicle body coordinate system; Step 40: Map the vertices converted into the image coordinate system in step 30 into a 2D coordinate system according to the image intrinsic parameters, convert them into points on the image, and generate a first 2D bounding box set at the same time, wherein the image intrinsic parameters are parameters describing the geometric and optical relationship between the camera lens and the image sensor, and the 2D coordinate system is used to describe the position of the midpoint of the image; Step 50: Perform 2D object detection on the points on the image in step 40 to generate a second 2D bounding box set; Step 60: Obtain intersection-over-union data between the first 2D bounding box set and the second 2D bounding box set; Step 70: When there is data in the second 2D bounding box set that is larger than the intersection-over-union data, the result of the 3D object detection is correct.
2. The method for verifying target detection results according to claim 1, characterized in that: In step 10, the result of the 3D target detection is obtained by performing point cloud-based 3D target detection after image dedistortion and splicing of the laser radar data according to the laser radar calibration information.
3. The method for checking target detection results according to claim 2, characterized in that: In step 10, the output form of the 3D object detection result is a bounding box.
4. The method for verifying target detection results according to claim 1, characterized in that: In step 20, the vehicle body coordinate system is a vehicle body coordinate system centered at the vehicle body control point.
5. A device for checking target detection results, characterized in that: The target detection result verification device is configured to execute the target detection result verification method, and the target detection result verification device includes: A 3D target detection result acquisition module, which is used in step 10 to acquire the result of 3D target detection; A vehicle body coordinate point acquisition module, which is used in step 20 to convert the vertices of the bounding box of the 3D target detection result into a vehicle body coordinate system; An image coordinate point acquisition module, which is used in step 30 to convert the vertices converted into the vehicle body coordinate system in step 20 into each of the image coordinate systems according to the external parameter calibration information of each image sensor, wherein the external parameter calibration information is information for determining the position and direction of the image sensor relative to the vehicle body coordinate system; A first 2D bounding box set acquisition module, which is used in step 40 to map the vertices converted into the image coordinate system in step 30 into a 2D coordinate system according to image intrinsic parameters, convert them into points on the image, and generate a first 2D bounding box set at the same time, wherein the image intrinsic parameters are parameters describing the geometric and optical relationship between the camera lens and the image sensor, and the 2D coordinate system is used to describe the position of the midpoint of the image; A second 2D bounding box set acquisition module, the second 2D bounding box set acquisition module is used in step 50 to perform 2D object detection on the points on the image in step 40 to generate a second 2D bounding box set; An IoU data acquisition module, the IoU data acquisition module is used in step 60 to acquire IoU data between the first 2D bounding box set and the second 2D bounding box set; A test result acquisition module is used in step 70. When there is data in the second 2D bounding box set that is larger than the intersection-over-union data, the result of the 3D object detection is correct.
6. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively coupled to the at least one processor; Wherein, the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute a method for inspecting target detection results as described in any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that: The computer readable storage medium stores a computer program, The computer program is used to implement a method for checking target detection results as described in any one of claims 1 to 4 when executed by a processor.