Target detection method, device, storage medium and chip
By projecting point cloud data into the initial image and performing label initialization processing, the problem of insufficient accuracy in the detection of target object contour in the traditional method is solved, and higher detection accuracy is achieved.
Patent Information
- Application Number
- CN202010020368.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-01-09
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2040-01-09
AI Technical Summary
When traditional object detection methods have deviations between point cloud data and images, the accuracy of target object contour detection is limited.
By obtaining the initial image and point cloud data of the target object, the point cloud data is projected into the initial image, the reflection point label initialization process is performed, and the unknown is determined based on the similarity between the reflection point of the unknown label and the reflection point of the known label. The label of the reflective point of the label is ultimately determined based on the reflective point with the target label.
The accuracy of target object profile detection is improved and the deviation caused by unreasonable division of target areas and background areas is reduced.
Smart Images

Figure CN113095118B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the field of computer vision, and more specifically, to a target detection method, device, storage medium and chip. Background Art
[0002] Computer vision is an integral part of various intelligent / autonomous systems in various application fields, such as manufacturing, inspection, document analysis, medical diagnosis, and military. It is a discipline about how to use cameras / camcorders and computers to obtain the data and information we need about the objects being photographed. Figuratively speaking, it is to equip computers with eyes (cameras / camcorders) and brains (algorithms) to replace human eyes in identifying, tracking, and measuring targets, so that computers can perceive the environment. Because perception can be seen as extracting information from sensory signals, computer vision can also be seen as a science that studies how to make artificial systems "perceive" from images or multidimensional data. In general, computer vision uses various imaging systems to replace visual organs to obtain input information, and then computers replace the brain to complete the processing and interpretation of these input information. The ultimate research goal of computer vision is to enable computers to observe and understand the world through vision like humans, and have the ability to adapt to the environment autonomously.
[0003] In the field of computer vision, target detection is often required. For example, in the field of autonomous driving, it is often necessary to detect target objects and determine their outlines.
[0004] The traditional solution generally uses two sensors, laser radar and camera, to realize the detection of target contour. Specifically, in the traditional solution, the image data of the target object is generally collected by the camera, the point cloud data of the obstacle target is collected by the laser radar, and then the target object in the image is identified according to the image recognition algorithm (the target object is generally represented in the form of a target detection frame in the image coordinate system). Next, the point cloud data is projected into the image, and the point cloud located in the target detection frame is the point cloud data corresponding to the target object, and then the point cloud data corresponding to the target object is clustered, and the largest point cloud cluster is taken and its contour is calculated as the final contour detection result of the target object. However, the accuracy of the above traditional solution in determining the contour of the target object is limited. For example, when there is a certain deviation between the point cloud data and the image, the point cloud data projected into the target detection frame is not necessarily all the point cloud data corresponding to the target object. At this time, if the contour of the target object is still determined based on the point cloud data projected into the target detection frame, then it will cause a large deviation between the contour of the target object finally determined and the actual contour of the object. Summary of the invention
[0005] The present application provides a target detection method, device, storage medium and chip to improve the contour detection accuracy of a target object.
[0006] In a first aspect, a target detection method is provided, the method comprising: acquiring an initial image and point cloud data of a target object; projecting the point cloud data into the initial image, wherein each reflection point of the point cloud data projected into the initial image corresponds to a pixel point in the initial image; performing label initialization processing on a first type of reflection point to obtain a label of the first type of reflection point; determining a label of the reflection point with an unknown label based on a similarity between the reflection point with an unknown label and the reflection point with a known label; and determining a contour of the target object based on the reflection point with the target label.
[0007] Wherein, both the above-mentioned initial image and the point cloud data can cover the target object, and the above-mentioned initial image includes a target area and a background area, and the target area is the area in the initial image that includes the target object.
[0008] It should be understood that the above initial image may include only the target area and the background area, or may include other areas in addition to the target area and the background area.
[0009] The first type of reflection points mentioned above are partial reflection points of the point cloud data projected onto the initial image, that is, during the label initialization process, label initialization is only performed on partial reflection points of the point cloud data projected onto the initial image.
[0010] When performing label initialization processing on the first type of reflection points, an initial label can be determined for the first type of reflection points according to the projection area of the first type of reflection points. Specifically, the label of the reflection point projected to the background area among the first type of reflection points can be determined as the background label, and the label of the reflection point projected to the target area among the first type of reflection points can be determined as the target label.
[0011] In addition, the reflection point of the unknown tag is the reflection point of the undetermined tag, and the reflection point of the known tag is the reflection point of the determined tag. The label of the reflection point of the unknown tag can be obtained through the similarity between the reflection point of the unknown tag and the reflection point of the known tag.
[0012] In the present application, projecting the point cloud data into the initial image may also be referred to as mapping the point cloud data into the initial image.
[0013] The above point cloud data can be obtained through laser radar.
[0014] Optionally, after the initial image is obtained, the target object in the initial image may be determined by performing recognition processing on the initial image, thereby obtaining the target area and background area of the initial image.
[0015] The target objects may include obstacle targets such as pedestrians, non-motor vehicles, and motor vehicles. The number of target objects in the initial image may be one or more.
[0016] Specifically, the target object in the initial image can be identified through image recognition processing. Next, a rectangular frame (or a frame of other shapes) can be used to frame the target object. The area inside the rectangular frame can be the target area, and the area outside the rectangular frame can be the background area.
[0017] After determining the labels of each reflection point of the point cloud data projected onto the initial image, the contour of the target object can be determined based on the reflection points with the target labels.
[0018] Specifically, when determining the outline of the target object based on the reflection points with the target tags, the reflection points with the target tags can be projected onto a two-dimensional plane, and then the minimum circumscribed rectangle or minimum circumscribed polygon (which can be a convex polygon) of the reflection points projected onto the two-dimensional plane is calculated. The minimum circumscribed rectangle or minimum circumscribed polygon is the outline of the target object.
[0019] It should be understood that when the number of target objects is only one, the reflection point with the target label can be directly projected onto a two-dimensional plane, and then the minimum circumscribed rectangle or minimum circumscribed polygon of the reflection point projected onto the two-dimensional plane is determined as the outline of the target object.
[0020] When there are multiple target objects, the reflection points of the target tags with the corresponding target objects can be projected onto a two-dimensional plane respectively, and then the minimum circumscribed rectangle or minimum circumscribed polygon of the reflection points projected onto the two-dimensional plane is determined as the outline of the target object.
[0021] For example, if the number of target objects is 2 (assuming that the target objects can be divided into target object 1 and target object 2), then the reflection point with target tag 1 can be projected onto a two-dimensional plane, and then the minimum circumscribed rectangle or minimum circumscribed polygon of the reflection point projected onto the two-dimensional plane is determined as the outline of target object 1. The outline of target object 2 can be obtained by a similar method.
[0022] In the present application, by performing label initialization processing on some reflection points in the point cloud data, and then obtaining the labels of the reflection points of the unknown labels based on the similarity between the reflection points of the unknown labels and the reflection points of the known labels, the deviation caused by the unreasonable division of the target area and the background area can be avoided to a certain extent, and the labels of the reflection points of the point cloud data projected to the initial image can be determined more accurately.
[0023] In combination with the first aspect, in certain implementations of the first aspect, the determining the label of the reflection point of the unknown tag based on the similarity between the reflection point of the unknown tag and the reflection point of the known tag includes: determining that the number of reflection points having a target label and a similarity between the reflection points of the known tag and any one of the reflection points of the unknown tag exceeds a preset similarity is M; determining that the number of reflection points having a background label and a similarity between the reflection points of the known tag and any one of the reflection points of the unknown tag exceeds a preset similarity; when M is greater than N and M is greater than a first preset value, determining the label of any one of the reflection points to be the target label; when M is less than N and N is greater than a second preset value, determining the label of any one of the reflection points to be the background label.
[0024] The above M and N are both positive integers. The label of any reflection point among the reflection points with unknown labels can be determined by the above method. By repeating the above process, the labels of all reflection points with unknown labels can be obtained, and then the labels of all reflection points in the point cloud data projected into the initial image can be obtained.
[0025] In combination with the first aspect, in some implementations of the first aspect, the known reflection point of the tag further includes determining the reflection point of the tag according to the similarity between the reflection points.
[0026] That is to say, the reflection points of the known labels mentioned above may include not only the first type of reflection points, but also reflection points whose labels are subsequently determined based on the similarity between the reflection points. In this way, the number of reflection points of the known labels can be increased, making it easier to better determine the labels of the reflection points of the unknown labels based on the similarity between the reflection points of the unknown labels and the reflection points of the known labels.
[0027] In addition, the reflection points whose labels are determined according to the similarity between the reflection points may include reflection points whose labels are background labels or reflection points whose labels are target labels.
[0028] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: determining the similarity between the reflection point of the unknown tag and the reflection point of the known tag based on at least one of the projection distance, reflection intensity difference and reflection angle difference between the reflection points.
[0029] The above-mentioned determining the similarity between the reflection point of the unknown tag and the reflection point of the known tag based on at least one of the projection distance, reflection intensity difference and reflection angle difference between the shooting points specifically refers to determining the similarity between the reflection point of the unknown tag and the reflection point of the known tag based on at least one of the projection distance, reflection intensity difference and reflection angle difference between the reflection point of the unknown tag and the reflection point of the known tag.
[0030] The numerical value of the similarity between the two reflection points can indicate the degree of similarity between the two reflection points. A higher numerical value of the similarity indicates a higher degree of similarity between the two reflection points.
[0031] The value of the similarity between two reflection points may be inversely correlated with the projection distance between the two reflection points, the value of the similarity between two reflection points may be inversely correlated with the reflection intensity difference between the two reflection points, and the value of the similarity between two reflection points may be inversely correlated with the reflection angle difference between the two reflection points.
[0032] In combination with the first aspect, in certain implementations of the first aspect, the above-mentioned initial image also includes an image located in a transition area, the transition area is located between the target area and the background area, the first type of reflection points include reflection points in the point cloud data projected to the background area and reflection points in the point cloud data projected to the target area, and the above-mentioned reflection points of unknown labels include reflection points in the point cloud data projected to the transition area.
[0033] It should be understood that before the labels of the reflection points of the unknown tags are determined, the reflection points of the unknown tags include reflection points that have not been initialized by the labels. These reflection points belong to the undetermined tags and need to be determined later. After the labels of some of the reflection points of the unknown tags are determined, the reflection points of the unknown tags may only include the reflection points of the remaining undetermined tags, that is, the reflection points of the unknown tags may change dynamically.
[0034] When the above initial image includes the target area, the background area and the transition area, label initialization processing can be performed only on the reflection points projected to the target area and the background area by the point cloud data, wherein the label of the reflection point projected to the target area is the target label, and the label of the reflection point projected to the background area is the background label. Label initialization processing is not performed on the reflection points projected to the transition area by the point cloud data, but the labels of the reflection points projected to the transition area by the point cloud data are determined based on the similarity between the reflection points projected to the transition area and the reflection points that have undergone label initialization processing.
[0035] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: determining an initial target area; and performing corrosion processing on the initial target area to obtain a target area.
[0036] The target area is smaller than the initial target area, and the transition area includes an area where the initial target area is corroded.
[0037] When determining the initial target area, a certain size area surrounding the target object in the initial image can be determined as the initial target area. The size of the initial target area can be flexibly set as needed. For example, in order to reduce the workload of subsequent corrosion processing, the initial target area can be set slightly smaller.
[0038] By performing corrosion processing on the initial target area, a target area smaller than the original initial target area can be obtained, so that the label of the reflection point projected to the target area can be more accurately determined during subsequent label initialization.
[0039] In combination with the first aspect, in certain implementations of the first aspect, the above-mentioned corrosion processing of the initial target area includes: determining the attribution probability of each pixel point in the initial target area; corroding the initial target area according to the attribution probability of each pixel point in the initial target area to obtain the target area.
[0040] The belonging probability of each pixel point in the initial target area is used to indicate the probability that each pixel point in the initial target area belongs to the object in the initial target area.
[0041] In combination with the first aspect, in certain implementations of the first aspect, the above-mentioned corrosion processing is performed on the initial target area according to the attribution probability of each pixel point in the initial target area to obtain the target area, including: corrosion processing is performed on the area in the initial target area where the attribution probability of the pixel points is less than a preset probability threshold to obtain the target area.
[0042] According to the attribution probability of the pixels in the initial target area, the area with a lower attribution probability of the pixels in the initial target area can be eroded, and the area with a higher attribution probability of the pixels is retained as the target area, so as to facilitate more accurate determination of the label of the reflection point according to the area projected by the reflection point in the subsequent label initialization process.
[0043] In combination with the first aspect, in certain implementations of the first aspect, the above-mentioned etching process on the initial target area includes: reducing the initial target area by a first preset multiple, and etching the reduced portion to obtain the target area.
[0044] It should be understood that after the initial target area is reduced by the first preset multiple, the reduced portion may refer to the excess area between the initial target area and the target area, and the target area may be obtained by corroding this portion.
[0045] In combination with the first aspect, in certain implementations of the first aspect, the above method also includes: determining an initial target area and an initial background area; expanding the initial target area by a second preset multiple to obtain an enlarged initial target area; and corroding a portion of the initial background area located in the enlarged initial target area to obtain a background area.
[0046] When determining the initial target area, a certain size area surrounding the target object in the initial image can be determined as the initial target area. After the initial target area is determined, the area outside the initial target area in the initial image can be determined as the initial background area.
[0047] In combination with the first aspect, in certain implementations of the first aspect, the above-mentioned projecting of the point cloud data into the initial image includes: clustering the reflection points projected into the initial image by the point cloud data to obtain multiple point cloud clusters; and projecting the multiple point cloud clusters into the initial image.
[0048] In combination with the first aspect, in some implementations of the first aspect, the first type of reflection points include reflection points in a target point cloud cluster, and the reflection points with unknown labels include reflection points in a non-target point cloud cluster.
[0049] The target point cloud cluster is a point cloud cluster having more than a preset number of reflection points or having the largest number of reflection points among the multiple point cloud clusters, and the non-target point cloud cluster is other point cloud clusters among the multiple point cloud clusters except the target point cloud cluster.
[0050] By initializing the point cloud cluster with more than a preset number of reflection points or the largest number of reflection points (initializing the labels of the first type of reflection points), the labels of the reflection points obtained after the initialization processing can be made more accurate, and the interference of some noise points on the label initialization processing results can be avoided to a certain extent.
[0051] In combination with the first aspect, in certain implementations of the first aspect, the first type of reflection points include reflection points in a first type of point cloud cluster, the reflection points of the unknown labels include reflection points in a second type of point cloud cluster, the first type of point cloud cluster includes reflection points in multiple point cloud clusters that are completely projected to the background area or the target area, and the second type of point cloud cluster includes reflection points in multiple point cloud clusters that are projected to the background area and the target area.
[0052] Optionally, the first type of point cloud clusters mentioned above also includes point cloud clusters in which reflection points in multiple point cloud clusters are completely projected to the background area + transition area.
[0053] The above-mentioned point cloud cluster completely projected to the background area + transition area refers to a point cloud cluster in which some reflection points are projected to the background area and some reflection points are projected to the transition area.
[0054] Optionally, the first type of point cloud clusters further includes point cloud clusters in which reflection points in multiple point cloud clusters are completely projected to the target area+transition area.
[0055] The point cloud cluster completely projected to the target area + transition area refers to a point cloud cluster in which some reflection points are projected to the target area and some reflection points are projected to the transition area.
[0056] In a second aspect, a target detection device is provided, which includes modules for executing the method in the first aspect.
[0057] In a third aspect, a target detection device is provided, which includes: a memory for storing programs; a processor for executing the programs stored in the memory, and when the program stored in the memory is executed, the processor is used to execute the method in the first aspect above.
[0058] In a fourth aspect, an electronic device is provided, which includes the target detection device in the third aspect or the fourth aspect.
[0059] In the fourth aspect above, the electronic device may specifically be a mobile terminal (eg, a smart phone), a tablet computer, a laptop computer, an augmented reality / virtual reality device, a vehicle-mounted terminal device, and the like.
[0060] According to a fifth aspect, a computer-readable storage medium is provided, wherein the computer-readable medium stores a program code for execution by a device, wherein the program code includes instructions for executing the method in the first aspect.
[0061] According to a sixth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method of the first aspect.
[0062] In a seventh aspect, a chip is provided, characterized in that the chip includes a processor and a data interface, and the processor reads instructions stored in the memory through the data interface to execute the method in the above-mentioned first aspect.
[0063] The above chip can specifically be a field programmable gate array FPGA or an application specific integrated circuit ASIC.
[0064] It should be understood that in the present application, the method of the first aspect may specifically refer to the method in the first aspect and any one of the various implementations of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] Figure 1 is a framework diagram of the autonomous driving system of an embodiment of the present application;
[0066] Figure 2 is a framework diagram of a target detection system according to an embodiment of the present application;
[0067] Figure 3 is a schematic flow chart of a target detection method according to an embodiment of the present application;
[0068] Figure 4 is a schematic diagram of the background area and the target area in the initial image;
[0069] Figure 5 is a schematic diagram of the background area, target area and transition area in the initial image;
[0070] Figure 6 is a schematic diagram of the initial background area and the initial target area in the initial image;
[0071] Figure 7 It is a schematic diagram of the background area, target area and eroded area in the initial image;
[0072] Figure 8 is a schematic diagram of the initial background area and the initial target area in the initial image;
[0073] Fig. 9 is a schematic diagram of the target area and the background area in the initial image;
[0074] Fig.10 is a flow chart of a target detection method according to an embodiment of the present application;
[0075] Fig.11 is a flow chart of a target detection method according to an embodiment of the present application;
[0076] Fig.12 is a schematic diagram of the initial background area and the initial target area in the initial image;
[0077] Fig.13 is a schematic diagram of the target area and the background area in the initial image;
[0078] Fig.14 is a flow chart of a target detection method according to an embodiment of the present application;
[0079] Fig.15 is a flow chart of a target detection method according to an embodiment of the present application;
[0080] Fig.16 is a flow chart of a target detection method according to an embodiment of the present application;
[0081] Fig.17 is a schematic block diagram of a target detection device according to an embodiment of the present application;
[0082] Fig.18 It is a schematic block diagram of a target detection device according to an embodiment of the present application. DETAILED DESCRIPTION
[0083] The technical solution in this application will be described below in conjunction with the accompanying drawings.
[0084] The target detection method of the embodiment of the present application can be applied in an autonomous driving system. When an autonomous driving vehicle is driving, it needs to fully perceive the environment around the vehicle. After perceiving the surrounding obstacles, it determines the vehicle control strategy based on the position, outline, and speed of the obstacles. For example, when an autonomous driving vehicle is driving, it needs to perceive the obstacles around the vehicle, such as pedestrians, motor vehicles, and non-motor vehicles. The above-mentioned obstacle perception process can be regarded as a target detection process. Figure 1 A brief introduction is given to the autonomous driving system to which the target detection method of the embodiment of the present application is applied.
[0085] Figure 1 It is a framework diagram of the autonomous driving system of an embodiment of the present application.
[0086] Figure 1 The autonomous driving system shown includes sensors, a positioning module, a perception module, a planning control module, and an acceleration / deceleration / steering device. Figure 1 In the autonomous driving system shown, the positioning of the autonomous driving vehicle can be achieved through sensors and positioning modules, and the position, outline and other information of obstacles can be perceived through sensors and perception modules. After the position and outline of the obstacle are acquired, the planning control module can plan a driving route for the vehicle. After the vehicle's driving route is determined, the acceleration / deceleration / steering device can control the vehicle according to the driving route, thereby achieving automatic control of the vehicle.
[0087] The target detection method of the embodiment of the present application can be Figure 1 This is performed using the sensors and perception modules in the autonomous driving system shown.
[0088] Figure 2 It is a framework diagram of the target detection system of an embodiment of the present application.
[0089] Figure 2 The target detection system shown in the figure can be composed of a hardware system and a software system. The hardware system includes a target detection sensor and a processor. The target detection sensor can include an image sensor (such as a camera, an infrared camera, etc.) and a lidar sensor. The target detection sensor is mainly used to detect the environment around the vehicle to obtain sensor data. Figure 2 As shown, the target detection sensor includes a visual sensor and a lidar sensor, wherein the visual sensor is used to acquire image data and the lidar sensor is used to acquire point cloud data.
[0090] The processor is used to receive the sensor data from the target detection sensor and process the sensor data to obtain the location and outline of the obstacle. The processor can be a general-purpose processor, a graphics processor, etc. The processor can be divided into different modules according to different processing functions, such as Figure 2 As shown, the processor may include an image target recognition module, a point cloud data preprocessing module, a vision-laser fusion module and an obstacle target tracking module. Among them, the image target recognition module is used to identify obstacle targets in the image according to the image data acquired by the visual sensor, the point cloud data preprocessing module is used to preprocess the point cloud data, the vision-laser fusion module is used to fuse the image data and the point cloud data to determine the position and contour of the obstacle target, and the obstacle target tracking module is used to track the determined obstacle target.
[0091] The software system of the target detection system may include an operating system, a sensor driver, a sensor data processing program, etc.
[0092] The present invention is located in the perception module of the autonomous driving software system, and the target detection result output by the present invention is generally sent to other submodules in the perception module, such as the target tracking submodule.
[0093] Traditional solutions generally use two sensors, LiDAR and camera, to detect the target contour. Since there may be a certain deviation between the data obtained by the camera and the point cloud data obtained by the LiDAR, directly projecting the point cloud data to the image obtained by the camera to obtain the obstacle contour may easily lead to inaccurate obstacle contours.
[0094] To this end, the present application provides a new target detection method, which divides the acquired initial image into an initial target area (an image area containing obstacles) and an initial background area (an image area excluding obstacles), and then corrodes the initial target area and the initial background area, so that the image area after corrosion is smaller than the initial target area, and the background area after corrosion is smaller than the initial background area, and then projects the point cloud data into the initial image, wherein the labels of the reflection points located in the background area after corrosion are all labels of the background, the labels of the reflection points located in the image area after corrosion are labels of the image, and the labels of the reflection points located between the image area and the background area can be determined based on the similarity with the surrounding reflection points located in the image area or the background area (the similarity between the reflection points can be measured by distance, the closer the distance, the higher the similarity, and the similarity here can also be called correlation). In this way, the contour of the target object can be determined more accurately.
[0095] Let's combine Figure 3 The target detection method of the embodiment of the present application is briefly introduced.
[0096] Figure 3 It is a schematic flow chart of the target detection method of an embodiment of the present application. Figure 3 The method shown includes steps 110 to 150, each of which is described in detail below.
[0097] 110. Obtain the initial image and point cloud data of the target object.
[0098] Wherein, both the above-mentioned initial image and the point cloud data can cover the target object, and the above-mentioned initial image includes a target area and a background area, and the target area is the area in the initial image that includes the target object.
[0099] In addition, the initial image and point cloud data of the target object may be the initial image and point cloud data corresponding to the target object at the same time or within a preset time range.
[0100] The above point cloud data may be acquired through a laser radar. In this case, the above point cloud data may also be referred to as laser point cloud data.
[0101] After the initial image is acquired in the above step 110, an image recognition method may be used to identify the object to be detected in the initial image, and then determine the target area and the background area in the initial image.
[0102] Specifically, the initial image may be processed for recognition to identify target objects such as pedestrians, non-motor vehicles, and motor vehicles in the initial image, wherein the target area is an area containing the target object, and the background area is an area not containing the target object.
[0103] When the initial image is recognized, a support vector machine (SVM) method may be used. Alternatively, a common neural network may be used to recognize the initial image, for example, a region with convolutional neural network (RCNN) or a fast RCNN network (referred to as Fast-RCNN) may be used to recognize the initial image.
[0104] After the initial image is processed for recognition, the target object in the initial image can be recognized (the number of target objects in the initial image may be one or more). For these target objects in the initial image, a rectangle in the image space may be used to represent them, and the area within the rectangular frame may be the target area or the initial target area (the initial target area is processed to a certain extent, for example, the target area can be obtained after corrosion processing), and the area outside the rectangular frame may be the background area or the initial background area (the initial background area is processed to a certain extent, for example, the background area can be obtained after corrosion processing).
[0105] In addition, the target object in the initial image can also be represented by pixels, that is, the target object and the background area outside the target object have different numbers respectively, and the area composed of pixels with specific numbers is the target area or the initial target area.
[0106] Since the number of the above-mentioned target objects may be one or more, the above-mentioned target areas may also be one or more, and each target area contains different target objects, the number of target areas may be the same as the number of target objects.
[0107] It should be understood that the initial image may include only the target area and the background area, or may include other areas in addition to the target area and the background area. That is, in the initial image, the target area and the background area may be directly adjacent to each other, or may be separated by other areas.
[0108] For example, Figure 4 As shown, the target area in the initial image includes target area 1 and target area 2 ( Figure 4 The number of target regions in the initial image shown is 2), target region 1 includes target object 1 (for example, target object 1 may be a pedestrian), and target region 2 includes target object 2 (for example, target object 2 may be a vehicle). Figure 4 In the image, the area outside the target area 1 and the target area 2 is the background area.
[0109] It should be understood that Figure 4 It only shows one situation of dividing the background area and the target area of the initial image. In the initial image, the background area and the target area can be directly adjacent to each other or separated by other areas.
[0110] 120. Project the point cloud data into the initial image.
[0111] Each reflection point projected from the point cloud data into the initial image corresponds to a pixel point in the initial image. The projecting of the point cloud data into the initial image may also be referred to as mapping the point cloud data into the initial image.
[0112] In step 120, the point cloud data is projected into the initial image, that is, the point cloud data is projected into the initial image according to the image coordinate system of the initial image. After the projection is completed, each reflection point of the point cloud data projected into the initial image will correspond to a pixel point in the initial image.
[0113] 130. Perform label initialization processing on the first type of reflection points to obtain labels of the first type of reflection points.
[0114] The first type of reflection points are some reflection points in the point cloud data, that is, in the label initialization process in step 130, only some reflection points of the point cloud data projected onto the initial image are label initialized.
[0115] In the above step 130, the labels of the reflection points projected onto the background area in the first type of reflection points may be determined as background labels, and the labels of the reflection points projected onto the target area in the first type of reflection points may be determined as target labels.
[0116] 140. Determine the label of the reflection point of the unknown label according to the similarity between the reflection point of the unknown label and the reflection point of the known label.
[0117] The reflection point of the unknown tag is the reflection point of the undetermined tag, and the reflection point of the known tag is the reflection point of the determined tag.
[0118] It should be understood that before executing step 140 , the reflection points of the unknown tags may include reflection points where the point cloud data is projected onto the initial image but the tag initialization process is not performed.
[0119] The above step 140 determines the label of the reflection point of the unknown label, and specifically includes steps 140a to 140c. These three steps are described in detail below.
[0120] 140a, determining that the similarity between the reflection points of the known tags and any one of the reflection points of the unknown tags exceeds a preset similarity and the number of reflection points having the target tag is M;
[0121] 140b, determining that the similarity between the reflection points of the known labels and any one of the reflection points of the unknown labels exceeds a preset similarity and the number of reflection points with background labels is N;
[0122] 140c. When M is greater than N and M is greater than a first preset value, determine the label of any reflection point as a target label; when M is less than N and N is greater than a second preset value, determine the label of any reflection point as a background label.
[0123] Wherein, both M and N are positive integers, and the above steps 140a to 140c can be used to determine the label of each reflection point of the unknown tag one by one until the labels of all reflection points of the unknown tag are determined.
[0124] Assume that there is a reflection point A among the reflection points of the above-mentioned unknown labels, the number of reflection points with target labels whose similarity with the reflection point A exceeds the preset similarity is M, and the number of reflection points with background labels whose similarity with the reflection point A exceeds the preset similarity is N. When M=N, the first reflection point is relatively similar to both the reflection point with the target label and the reflection point with the background label, and the target label or the background label can be randomly selected as the label of the first reflection point.
[0125] 150. Determine the contour of the target object based on the reflection points with the target label.
[0126] In the above step 150, after the labels of the reflection points of the point cloud data projected onto the initial image are determined, the contour of the target object can be determined according to the reflection points with the target labels.
[0127] Specifically, when determining the outline of the target object based on the reflection points with the target tags, the reflection points with the target tags can be projected onto a two-dimensional plane, and then the minimum circumscribed rectangle or minimum circumscribed polygon (which can be a convex polygon) of the reflection points projected onto the two-dimensional plane is calculated. The minimum circumscribed rectangle or minimum circumscribed polygon is the outline of the target object.
[0128] It should be understood that when the number of target objects is only one, the reflection point with the target label can be directly projected onto a two-dimensional plane, and then the minimum circumscribed rectangle or minimum circumscribed polygon of the reflection point projected onto the two-dimensional plane is determined as the outline of the target object.
[0129] When there are multiple target objects, the reflection points of the target tags with the corresponding target objects can be projected onto a two-dimensional plane respectively, and then the minimum circumscribed rectangle or minimum circumscribed polygon of the reflection points projected onto the two-dimensional plane is determined as the outline of the target object.
[0130] For example, the number of target objects is 2 (assuming that the target objects can be divided into target object 1 and target object 2), then the reflection point with target tag 1 can be projected onto a two-dimensional plane, and then the minimum circumscribed rectangle or minimum circumscribed polygon of the reflection point projected onto the two-dimensional plane is determined as the outline of target object 1.
[0131] As for the outline of the target object 2 , the reflection points with the target tag 2 may be projected onto a two-dimensional plane, and then the minimum circumscribed rectangle or minimum circumscribed polygon of the reflection points projected onto the two-dimensional plane may be determined as the outline of the target object 2 .
[0132] In the present application, by performing label initialization processing on some reflection points in the point cloud data, and then obtaining the labels of the reflection points of the unknown labels based on the similarity between the reflection points of the unknown labels and the reflection points of the known labels, the deviation caused by the unreasonable division of the target area and the background area can be avoided to a certain extent, and the labels of the reflection points of the point cloud data projected to the initial image can be determined more accurately.
[0133] In the above step 140, when the similarity between the reflection point of the unknown tag and the reflection point of the known tag is determined, the similarity between the reflection point of the unknown tag and the reflection point of the known tag can be determined based on at least one of the projection distance, reflection intensity difference and reflection angle difference between the reflection points.
[0134] The numerical value of the similarity between the two reflection points can indicate the degree of similarity between the two reflection points. A higher numerical value of the similarity indicates a higher degree of similarity between the two reflection points.
[0135] When determining the similarity between the reflection points, the similarity between the reflection points can be calculated based on the projection distance between the reflection points. When the projection distance between the two reflection points is short, the similarity between the two reflection points is high, and when the projection distance between the two reflection points is far, the similarity between the two reflection points is low. At this time, the similarity between the two reflection points can be calculated based on the projection distance between the two reflection points. The larger the similarity value, the higher the similarity between the two reflection points. The similarity value is inversely correlated with the projection distance between the two reflection points.
[0136] Similarly, the similarity between the reflection points can also be calculated based on the reflection intensity difference between the reflection points. When the reflection intensity difference between the two reflection points is small, the similarity between the two reflection points is high, and when the reflection intensity difference between the two reflection points is large, the similarity between the two reflection points is low. In this case, the similarity between the two reflection points can be calculated based on the reflection intensity difference between the two reflection points. The larger the similarity value, the higher the similarity between the two reflection points. The similarity value is inversely correlated with the reflection intensity difference between the two reflection points.
[0137] In addition, the similarity between the reflection points can also be calculated based on the reflection angle difference between the reflection points. When the reflection angle difference between the two reflection points is small, the similarity between the two reflection points is high, and when the reflection angle difference between the two reflection points is large, the similarity between the two reflection points is low. In this case, the similarity between the two reflection points can be calculated based on the reflection angle difference between the two reflection points. The larger the similarity value, the higher the similarity between the two reflection points. The similarity value is inversely correlated with the reflection angle difference between the two reflection points.
[0138] When calculating the similarity between reflection points, it can also be determined based on the projection distance, reflection intensity difference and reflection angle difference between the reflection points. At this time, the projection distance between the reflection points, the reflection intensity difference between the reflection points and the reflection angle difference between the reflection points can each account for z1, z2 and z3 when calculating the similarity between two reflection points. z1, z2 and z3 can be values greater than or equal to 0 and less than or equal to 1. z1, z2 and z3 can be flexibly set according to actual needs. z1, z2 and z3 can be completely the same, partially the same, or completely different.
[0139] Optionally, the known reflection points of the tag further include determining the reflection points of the tag according to similarities between the reflection points.
[0140] That is to say, the reflection points of the known labels mentioned above may include not only the first type of reflection points, but also reflection points whose labels are subsequently determined based on the similarity between the reflection points. In this way, the number of reflection points of the known labels can be increased, making it easier to better determine the labels of the reflection points of the unknown labels based on the similarity between the reflection points of the unknown labels and the reflection points of the known labels.
[0141] In addition, the reflection points whose labels are determined according to the similarity between the reflection points may include reflection points whose labels are background labels or reflection points whose labels are target labels.
[0142] The reflection points of the unknown tags and the reflection points of the known tags may be updated dynamically, and the reflection points of the unknown tags and the reflection points of the known tags may be updated every time a period of time passes.
[0143] For example, there are 100 reflection points of the unknown tag and 100 reflection points of the known tag. After executing step 140 for a period of time, the tags of 10 reflection points are determined. At this time, the reflection points of the unknown tag and the reflection points of the known tag can be updated, so that the number of reflection points of the unknown tag becomes 90, and the number of reflection points of the known tag becomes 110.
[0144] By updating the reflection points of unknown tags and the reflection points of known tags, the number of reflection points of determined tags among the reflection points of known tags can be increased, so that the tags of the reflection points of undetermined tags among the reflection points of unknown tags can be better determined according to the reflection points of known tags.
[0145] Of course, the reflection points of the unknown tags and the reflection points of the known tags can also be updated in real time, that is, as long as the label of a reflection point is determined, the number of reflection points of the unknown tags and the reflection points of the known tags will be reduced by 1, and the number of reflection points of the known tags will be increased by 1.
[0146] In the present application, the initial image may include only the background area and the target area. Alternatively, in addition to the background area and the target area, the initial image may also include other areas. Specifically, there may be other areas between the target area and the background area. This situation is described below.
[0147] Optionally, the initial image also includes an image located in a transition area, where the transition area is located between the target area and the background area. In this case, the first type of reflection points may include reflection points projected to the background area in the point cloud data and reflection points projected to the target area in the point cloud data, and the reflection points of the unknown labels include (all or part of) reflection points projected to the transition area in the point cloud data.
[0148] For example, Figure 5 As shown, the initial image includes not only the image of the background area and the image of the target area, but also the image of the transition area. The transition area is located between the background area and the target area, and there is no target object in both the transition area and the background area. Figure 5 For example, the first type of reflection points may include (all) reflection points projected from the point cloud data to the background area and (all) reflection points projected from the point cloud data to the target area. Before determining the labels of the reflection points of the unknown tags in step 140, the reflection points of the unknown tags may include (all or part of) reflection points projected from the point cloud data to the transition area.
[0149] It should be understood that Figure 5 The example in which the initial image includes one target area is used for description. Actually, the initial image may include multiple target areas.
[0150] The transition area may be an area in the initial image that is outside the target area and occupies a certain range. The size of the transition area may be set in advance according to certain rules.
[0151] For example, after obtaining the initial image, the target object in the initial image can be determined by target recognition, and then a rectangular frame of appropriate size (or a frame of other shapes) is used to frame the target object, and the area enclosed by the rectangular frame is the target area. Next, the rectangular frame can be expanded to the surrounding area at a certain distance (the size of the distance can be flexibly set according to actual needs), and the annular area obtained by the expansion is the transition area, and the area remaining after removing the target area and the transition area from the initial image is the background area.
[0152] In addition to directly dividing the initial image to obtain the background region, the target region and the transition region, the target region, the background region and the transition region can also be obtained by performing corrosion processing on the initial target region and the initial background region. The corrosion processing process is described in detail below with reference to the accompanying drawings.
[0153] Optionally, Figure 3 The method shown also includes steps 160 and 170, which are described in detail below in conjunction with the accompanying drawings.
[0154] 160. Determine the initial target area and the initial background area.
[0155] In step 160, when determining the initial target area, a certain size area surrounding the target object in the initial image can be determined as the initial target area. After the initial target area is determined, the area outside the initial target area in the initial image can be determined as the initial background area.
[0156] 170. Perform corrosion processing on the initial target area and the initial background area to obtain the target area and the background area.
[0157] The target area is smaller than the initial target area, the initial background area is smaller than the background area, and the transition area includes an area where the initial target area is eroded and an area where the initial background area is eroded.
[0158] In addition, the above-mentioned initial target area can be an area in the initial image containing the target object, the initial target area can be an area that uses a rectangular frame of a certain size (or a frame of other shapes) to frame the target object, and other areas outside the initial target area can be initial background areas.
[0159] A variety of corrosion processing methods can be used when corroding the initial target area and the initial background area. Several possible corrosion processing methods are introduced in detail below.
[0160] The first corrosion processing method: corrosion processing is performed according to the pixel belonging probability.
[0161] When the first corrosion processing method is adopted, the attribution probability of each pixel point in the initial target area can be determined first, and then the initial target area is corroded according to the attribution probability of each pixel point in the initial target area, so as to obtain the target area.
[0162] The belonging probability of each pixel point in the initial target area is used to indicate the probability that each pixel point in the initial target area belongs to the object in the initial target area.
[0163] Specifically, in the first corrosion processing mode, the region in the initial target region where the probability of belonging to the pixel point is less than the preset probability threshold can be corroded to obtain the target region. After the corrosion processing, the remaining region after removing the corroded region in the initial target region is the target region.
[0164] It should be understood that in the first etching treatment mode, the initial background region can also be etched in a similar manner to obtain the background region. Alternatively, only the initial target region can be etched to obtain the target region, and the initial background region is not etched, but the initial background region is directly used as the background region.
[0165] The second corrosion processing method: scaling the image area and then performing corrosion processing.
[0166] In the second corrosion processing method, the initial target area can be reduced, and the area obtained after the reduction is the target area. The initial background area can also be reduced, and the area obtained after the reduction is the background area.
[0167] Specifically, in the second etching treatment mode, the initial target area may be reduced by a first preset multiple, and the reduced portion may be subjected to etching treatment to obtain the target area.
[0168] It should be understood that the above-mentioned reduced portion may refer to an area that is larger than the target area compared to the initial target area, and the target area may be obtained by etching this part.
[0169] The first preset multiple may be a value less than 1, and the size of the reduced initial target area may be the product of the original size of the initial target area and the first preset multiple.
[0170] For example, the first preset multiple may be 0.8. It should be understood that 0.8 is only an example, and in fact the first preset multiple may also be 0.9, 0.7, or any other suitable value between 0 and 1.
[0171] For the initial target area, the target area can generally be obtained by reducing it by a certain multiple. For the initial background area, since the initial background area is generally surrounded by the periphery of the initial target area, it is generally not easy to scale it by a certain multiple. Therefore, for the initial background area, the boundary of the initial background area close to the initial target area can be reduced outward by a certain distance to achieve the reduction of the initial background area (for example, the boundary of the initial background area close to the initial target area can be reduced outward by a distance D), and the reduced area is the background area.
[0172] In addition, when obtaining the background area based on the initial background area, the initial target area can also be expanded by a second preset multiple to obtain an enlarged initial target area (also referred to as an extended area of the initial target area); and then the portion of the initial background area located in the enlarged initial target area is corroded to obtain the background area.
[0173] The second preset multiple may be a value greater than 1, and the size of the enlarged initial target area (also referred to as an extended area of the initial target area) may be the product of the size of the original initial target area and the second preset multiple.
[0174] For example, the second preset multiple may be 1.2. It should be understood that 1.2 is only an example, and in fact the second preset multiple may also be 1.3, 1.4 or other suitable values greater than 1.
[0175] Combine the following Figure 6 and Figure 7 The acquisition of the target area and the background area by the etching process will be described.
[0176] like Figure 6 As shown, the initial image includes an initial target area and an initial background area. The initial target area includes the target object ( Figure 6 The specific target object is not shown in the figure). The first etching treatment method or the second etching treatment method is used to treat Figure 6 After the initial background area and the initial target area are corroded, we can get Figure 7 The background area and the target area are shown, where Figure 7 The target area in is the area obtained by removing the corroded area in the initial target area. Figure 7 The background area in is the area obtained by removing the eroded area in the initial background area.
[0177] It should be understood that Figure 6 and Figure 7 The corrosion process is described by taking the initial image containing only one target region as an example. In fact, there may be multiple target regions in the initial image.
[0178] Combine the following Figure 8 and Fig. 9 The second corrosion treatment method is described.
[0179] like Figure 8 As shown, the initial image includes an initial target region and an initial background region, wherein there are two initial target regions, specifically initial target region 1 and initial target region 2. Initial target region 1 includes target object 1, and initial target region 2 includes target object 2.
[0180] like Fig. 9 As shown, by shrinking the initial target area 1 and the initial target area 2, and then corroding the shrunken area of the initial target area 1 and the shrunken area of the initial target area 2, the target area 1 located inside the initial target area 1 and the target area 2 located inside the initial target area 2 can be obtained.
[0181] For the corrosion treatment of the background area, Fig. 9 As shown, the initial target area 1 and the initial target area 2 can be enlarged to obtain the extended area of the initial target area 1 and the extended area of the initial target area 2. Next, the part of the initial background area located in the extended area of the initial target area 1 and the extended area of the initial target area 2 can be eroded to obtain the background area.
[0182] exist Figure 3 In the method shown, before performing label initialization processing on the first type of reflection points, the reflection points of the point cloud data projected to the initial image may be processed to a certain extent, and then the label initialization processing is performed on the first type of reflection points.
[0183] Optionally, in the above step 120, projecting the point cloud data into the initial image specifically includes:
[0184] 120a, performing clustering processing on the reflection points projected onto the initial image from the point cloud data to obtain a plurality of point cloud clusters;
[0185] 120b. Project the point cloud cluster into the initial image.
[0186] When projecting point cloud data into the initial image, by clustering the point cloud data and then projecting the point cloud clusters obtained by the clustering process into the initial image, irrelevant reflection points projected into the initial image can be reduced, thereby further improving the accuracy of target detection.
[0187] Optionally, the multiple point cloud clusters are composed of a target point cloud cluster and a non-target point cloud cluster, wherein the target point cloud cluster is a point cloud cluster having a number of reflection points exceeding a preset number or having the largest number of reflection points among the multiple point cloud clusters, and the non-target point cloud cluster is other point cloud clusters among the multiple point cloud clusters except the target point cloud cluster. The first type of reflection points includes the reflection points in the target point cloud cluster, and the reflection points with unknown labels include the reflection points in the non-target point cloud cluster.
[0188] In the present application, by initializing the point cloud cluster whose number of reflection points exceeds the preset number or has the largest number of reflection points (initializing the labels of the first type of reflection points), the labels of the reflection points obtained after the initialization processing can be made more accurate, and the interference of some noise points on the label initialization processing results can be avoided to a certain extent.
[0189] Optionally, the above-mentioned multiple point cloud clusters may also be composed of a first type of point cloud cluster and a second type of cloud cluster. The first type of point cloud cluster includes reflection points in multiple point cloud clusters that are completely projected to the background area or the target area, and the second type of point cloud cluster includes reflection points in multiple point cloud clusters that are projected to the background area and the target area. The first type of reflection points includes reflection points in the first type of point cloud cluster, and the reflection points with unknown labels include reflection points in the second type of point cloud cluster.
[0190] When the first type of reflection points include reflection points in the first type of point cloud cluster, and the reflection points with unknown labels include reflection points in the second type of point cloud cluster, it is equivalent to only needing to perform label initialization processing on the reflection points (first type of reflection points) in the point cloud data that are completely projected to the background area or the target area, and only obtaining labels through label propagation for reflection points that are projected to both the background area and the target area. The advantage of this method is that the first type of reflection points can be initialized using the existing label initialization method, and only the reflection points with unknown labels need to obtain labels through label propagation. This method can be well integrated with the existing solution and has good practicality.
[0191] The target detection method of the embodiment of the present application is described in detail below with reference to specific examples.
[0192] Fig.10 It is a flow chart of the target detection method of an embodiment of the present application.
[0193] Fig.10 The method shown includes steps 1001 to 1008, which are described in detail below.
[0194] 1001. Obtain image data.
[0195] In step 1001, image data may be acquired through a visual sensor, such as a camera, where the camera may be a common optical camera or an infrared camera.
[0196] 1002. Perform image target recognition on the image data to obtain an initial image.
[0197] In step 1002, a traditional SVM method or a deep neural network (e.g., RCNN, Fast-RCNN) can be used to process the image data to output a rectangular box or pixel area containing the target object as the initial target area of the initial image, and an initial background area that does not contain the target object.
[0198] 1003. Obtain point cloud data.
[0199] In step 1003, point cloud data may be acquired by using a laser radar.
[0200] 1004. Preprocess the point cloud data.
[0201] In step 1004, the point cloud data may be pre-processed by filtering out noise points, ground points, and high-altitude points. Alternatively, the point cloud data may be pre-processed by filtering out noise points, ground points, and high-altitude points according to the characteristics of the laser radar reflection points, such as reflection intensity and reflection point height.
[0202] It should be understood that the above step 1004 is not a step that must be performed. After the point cloud data is obtained in step 1003, step 1005 can be performed without preprocessing.
[0203] 1005. Project the point cloud data into the initial image.
[0204] In step 1005, the point cloud data is projected into the initial image, specifically, the point cloud data is projected into the coordinate system where the initial image is located.
[0205] Specifically, the point cloud data can be transformed according to the installation position and calibration parameters of the laser radar, as well as the installation position and calibration parameters of the camera, so that each reflection point of the point cloud data after the coordinate transformation corresponds to a pixel point position in the image coordinate system.
[0206] 1006. Perform corrosion processing on the initial image.
[0207] The initial image may include an initial target area and an initial background area. In step 1006, the outer edges of the initial target area and the initial background area may be corroded. Specifically, for the initial target area, the outer edge pixels of the initial target area may be removed, and only the pixels inside the initial target area may be retained (equivalent to shrinking the initial target area). When the outer edge of the initial target area is corroded, an erosion method based on a structural element may be used for corrosion. The size of the corroded area may determine the corrosion threshold according to the pixel scale of the pre-set structural element and the number of corrosion times. Different corrosion thresholds may be used for vehicles or pedestrians. If the target area is represented by a rectangle, the corrosion may also be achieved by scaling the scale of the rectangle with the center of the rectangle as the center.
[0208] For the initial background area, since the initial background area is often irregular in shape, considering the complementary relationship between the initial target area and the initial background area, the initial target area can be expanded first, and the initial background area minus the expanded area of the initial target area is the eroded background area.
[0209] 1007. Perform label initialization processing on the point cloud data.
[0210] In step 1007, the point cloud data may be subjected to label initialization processing according to the area where the point cloud data is projected onto the initial image. Specifically, the labels of the reflection points where the point cloud data is projected onto the background area of the initial image may be set as background labels, the labels of the reflection points where the point cloud data is projected onto the target area may be set as target labels, and no labels may be set for other reflection points in the point cloud data that are projected onto areas other than the target area and the background area.
[0211] Assume that N target objects are detected in the initial image, and the labels of these N target objects can be [1, 2, …, k …, N] respectively. If the point cloud data is projected to the target area after the corrosion of the target object k in the initial image, the reflection point is marked with label k; if the point cloud data is projected to the background area after the corrosion of the initial image, the reflection point is marked with background label 0. In this way, the reflection points projected to the target area and the background area have a total of N+1 labels.
[0212] 1008. Perform label propagation on the point cloud data to determine the label of each reflection point projected from the point cloud data into the initial image.
[0213] After the above step 1007, the reflection points projected to the target area or the background area in the point cloud data have corresponding labels. However, the reflection points outside the target area and the background area do not have corresponding labels. Step 1008 is to determine the labels of these reflection points that have not been initialized (these reflection points can be called reflection points with uninitialized labels).
[0214] When determining the label of the reflection point of the uninitialized tag, the label of the reflection point of the uninitialized tag may be determined according to the correlation between the reflection point of the uninitialized tag and the reflection points of other initialized tags.
[0215] Specifically, the correlation between the reflection point of the uninitialized tag and the reflection points of other initialized tags can be calculated first. If the correlation between the reflection point of the uninitialized tag and the reflection points of other initialized tags is greater than a preset threshold, the reflection points of other initialized tags can be used as neighbor reflection points of the reflection point of the uninitialized tag. Next, if it is known through calculation that a certain uninitialized reflection point has t or more neighbor reflection points with the same tag, the reflection point of the uninitialized tag also has the tag. Iterate in this way until the tags of all reflection points of the uninitialized tags are obtained.
[0216] 1009. Determine the outline of the target object.
[0217] In step 1009, the contour of the target object can be determined based on the point cloud data with the target object label. If it is necessary to obtain the image of the background area to identify the target object not covered, the point cloud projected to the background area can be clustered again to supplement the detection result.
[0218] The method of determining the contour of the target object in step 1009 is the same as the method of determining the contour of the target object in step 150 above. For details, please refer to the relevant description of step 150.
[0219] Combine the following Fig.11 and Fig.12 The image corrosion processing and label initialization processes in step 1006 are described in detail based on the case where the initial image includes two targets.
[0220] like Fig.11 As shown, the processing process in the above step 1006 specifically includes steps 1006a to 1006c, and these steps are introduced in detail below.
[0221] 1006a. Perform corrosion processing on the initial target area to obtain the target area.
[0222] For example, Fig.12 As shown, the initial image includes two target objects, target object 1 and target object 2, the initial target area in the initial image includes initial target area 1 (target object 1 is located in initial target area 1) and initial target area 2 (target object 2 is located in initial target area 2), and the area outside the initial target area 1 and the initial target area 2 is the initial background area.
[0223] When the initial target region 1 is corroded, the region after the corrosion of the target object 1 can be obtained by scaling the center of the initial target region 1. For example, the initial target region 1 can be reduced with the rectangular center point of the initial target region 1 as the center, and the reduced shadow area is the target region 1.
[0224] Similarly, the initial target area 2 can also be reduced in the same manner to obtain the target area 2. Fig.12 The target regions 1 and 2 obtained by etching the initial target regions 1 and 2 shown in FIG. Fig.13 shown.
[0225] 1006b. Perform corrosion processing on the initial background area to obtain a background area.
[0226] In step 1006b, a certain range of area may be eroded along the inner boundary of the initial background area toward the outer boundary, and the eroded area is the background area.
[0227] Since the initial background region is generally an irregular region, the eroded background region can generally be obtained by enlarging the initial image region and removing the enlarged region from the initial background region.
[0228] For example, you can Fig.12 The initial target area 1 and the initial target area 2 shown in FIG. 1 are enlarged to obtain the following Fig.13 The initial target area 1 extension area and the initial target area 2 extension area are shown, and then the initial target area 1 extension area and the initial target area 2 extension area are removed from the initial background area to obtain the eroded background area.
[0229] 1006c. Perform label initialization processing on the reflection points in the point cloud data.
[0230] Since there are two targets in the initial image, plus the background area in the initial image, the initial image contains a total of 3 labels. Assume that these 3 labels are [T0, T1, T2], where T0 represents the background label, T1 represents the label of target object 1, and T2 represents the label of target object 2.
[0231] For the reflection points projected onto the target area, such as Fig.13 The reflection point projected onto the target area 1 (such as Fig.13 The solid circular area projected to the target area 1 in the image is initialized as the label T1 of the target object 1; Fig.13 The reflection point projected onto target area 2 ( Fig.13The solid circular area projected to the target area 1 in the figure) is initialized as the label T2 of the target object 2; for the point cloud projected to the background area, such as the reflection point projected into the background area in the figure ( Fig.13 The circular area with a filled pattern projected onto the background area in the figure is initialized to the label T0 of the background. Fig.13 The reflection points projected outside the target area 1, target area 2 and background area ( Fig.13 The hollow circular area in ) is an uninitialized reflection point, which needs to be given a label through the subsequent label propagation step.
[0232] It can be seen from the above steps 1006a to 1006c that by providing an initialized label for the point cloud in combination with the corrosion result of the visual information, and then performing label propagation on the point cloud in the corroded area, even if there is a certain deviation in the visual detection result, the point cloud projected in the deviation area can still obtain the correct label (i.e. the corresponding obstacle target) through this method, which can greatly reduce the point cloud loss or misclustering caused by visual detection deviation, thereby ensuring the correct target contour output.
[0233] Optionally, in the above step 1006, after the laser point cloud data is projected to the initial image area, the point cloud data projected to the corroded area may be clustered, and then in the label initialization process, only the point clouds containing more than a certain number of point clouds in each corroded area are given initialized labels, and the labels of other point cloud clusters with a smaller number are not initialized, but the labels of the reflection points in the point cloud data are obtained by the label propagation method during the laser point cloud label propagation process.
[0234] Specifically, Fig.14 As shown, the processing process in the above step 1006 specifically includes steps 1006u to 1006y, and these steps are introduced in detail below.
[0235] 1006u, performing corrosion processing on the initial target area of the initial image.
[0236] 1006v, performing corrosion processing on the background area of the initial image.
[0237] The specific processing procedures of steps 1006u and 1006v may refer to the related descriptions of the above steps 1006a and 1006b.
[0238] 1006w. Clustering is performed on the point cloud data of the eroded area.
[0239] 1006y. Perform label initialization processing on the point cloud clusters whose point cloud quantity meets the requirement in the corrosion area.
[0240] Assuming that the initial image includes two regions, target object 1 and target object 2, the point cloud data in the region after the corrosion of target object 1, the region after the corrosion of target object 2, and the background region after the corrosion can be clustered separately. Then, the point cloud cluster with the largest number in each region is initialized for label processing, and for other uninitialized point cloud data, the label of the point cloud data can be determined by label propagation.
[0241] In the embodiment of the present application, before the initial image is corroded, the pixel attribution probability of the target area of the initial image can be calculated, and a certain threshold is used as the boundary of the corrosion process, and the initial image is corroded according to the pixel attribution probability of the target area of the initial image. Fig.15 This method is introduced in detail.
[0242] Fig.15 It is a flow chart of the target detection method of an embodiment of the present application. Fig.15 The method shown includes steps 2001 to 2009, which are described in detail below.
[0243] 2001. Obtain image data.
[0244] 2002. Perform image target recognition on the image data to obtain an initial image.
[0245] The specific execution process of the above steps 2001 and 2002 is the same as that of the above steps 1001 and 1002. For details, please refer to the description of the above steps 1001 and 1002.
[0246] 2003. Determine the pixel belonging probability of the target area of the initial image.
[0247] Assuming that target object 1 and target object 2 exist in the initial image, then the probability that each pixel point belongs to target object 1 can be calculated in the image area of target object 1. One optional calculation method is to calculate the distance between each pixel point in the image area of target object 1 and the center point of the image area of target object 1. The greater the distance from the center point, the smaller the probability that the pixel point belongs to target object 1. Another optional calculation method is to calculate the minimum distance between each pixel point in the image area of target object 1 and the boundary of the image area of target object 1. The greater the minimum distance from the boundary of the image area of target object 1, the greater the probability that the pixel point belongs to target object 1. For target object 2, a similar method can also be used to calculate the probability that each pixel point in the image area of target object 2 belongs to target object 2.
[0248] 2004. Obtaining point cloud data.
[0249] In step 2004, point cloud data may be acquired through a laser radar, and the point cloud data acquired at this time may be referred to as laser point cloud data.
[0250] 2005. Preprocessing of point cloud data.
[0251] In step 2005, the point cloud data may be pre-processed by filtering out noise points, ground points, and high-altitude points. Alternatively, the point cloud data may be pre-processed by filtering out noise points, ground points, and high-altitude points according to the characteristics of the laser radar reflection points, such as reflection intensity and reflection point height.
[0252] 2006. Projecting point cloud data into the initial image.
[0253] The specific processing process of the above step 2006 is the same as that of the above step 1005. For details, please refer to the description of the above step 1005.
[0254] 2007. The initial image is corroded and the point cloud data is labeled and initialized.
[0255] When the initial image is corroded in step 2007, the boundary of the corroded process may be determined according to the probability that each pixel point in the target area belongs to the target.
[0256] Specifically, assuming that the initial image includes target object 1 and target object 2, when the image area of target object 1 is corroded, the probability of the pixel points in the image area of target object 1 belonging to a certain threshold can be used as the corrosion boundary of the image area of target object 1.
[0257] For example, a boundary with a probability of 60% for pixels in the image region of target object 1 can be used as an erosion boundary of the image region of target object 1, and an image region within the erosion boundary in the image region of target object 1 is used as target region 1. For target object 2, target region 2 can also be obtained in a similar manner.
[0258] In the above step 2007, only the initial target area may be etched, and the area remaining after the etch is the target area, while the initial background area may not be etched and may be directly used as the background area.
[0259] After the corrosion process is completed, the point cloud data can be subjected to label initialization processing. Specifically, the labels of the reflection points projected from the point cloud data to the target area can be set as the target labels, and the labels of the reflection points projected from the point cloud data to the background area can be set as the background labels.
[0260] For example, the initial image includes target area 1, target area 2 and background area. Then, after label initialization processing is performed on the point cloud data, the label of the reflection point projected to target area 1 in the point cloud data is target label 1, the label of the reflection point projected to target area 2 in the point cloud data is target object 2 label, and the label of the reflection point projected to the background area in the point cloud data is the background label.
[0261] 2008. Label propagation is performed on point cloud data to determine the label of each reflection point projected from the point cloud data into the initial image.
[0262] In step 2008, it is necessary to determine the label of the reflection point of the unknown tag. Specifically, the label of the reflection point of the unknown tag can be determined according to the similarity between the reflection point of the unknown tag and the reflection point of the known tag.
[0263] The specific process of determining the label of the reflection point of the unknown tag according to the similarity between the reflection point of the unknown tag and the reflection point of the known tag can refer to the relevant content in step 140 above.
[0264] When determining the label of the reflection point of the unknown label in the above step 2008, it can also be comprehensively determined in combination with the target pixel attribution probability determined in step 2003.
[0265] Specifically, in the above step 2008, the label propagation can also be adjusted according to the attribution probability of the pixel point corresponding to the reflection point of the unknown label. If the attribution probability is large, the probability of propagating to the corresponding target is increased; if the attribution probability is small, the probability of propagating to the corresponding target is reduced.
[0266] For example, if the reflection points of known labels include reflection point B whose label has been determined, the label propagation weight can be adjusted according to the attribution probability of the pixel corresponding to reflection point B. If the pixel attribution probability is greater than 0.2, the weight is set to 2, and if the pixel attribution probability is 0.1, the weight is set to 1.
[0267] Assuming that the reflection points of the unknown label include 100 reflection points, after distance calculation (here, assuming that the similarity between the reflection points is calculated based on the distance between the reflection points), it is found that the number of reflection points whose distance from the reflection point A in the reflection points of the unknown label is greater than the preset distance is 10. The attribution probability of the pixel points corresponding to 5 of the 10 reflection points is 0.3, and the attribution probability of the other 5 is 0.1. After weighted calculation, the total number of valid points is 5*2+5*1=15. If it is greater than the preset valid point threshold, the label of the reflection point A can be determined as the target label. Iterate in this way until the labels of all the reflection points in the reflection points of the unknown label are determined.
[0268] 2009. Determine the contour of the target object.
[0269] The above steps 2008 and 2009 may be implemented in the same manner as the specific execution process of steps 1007 and 1008 described above. For details, please refer to the description of steps 1007 and 1008 described above.
[0270] In an embodiment of the present application, after preprocessing the point cloud data, the point cloud data may be clustered to obtain a plurality of point cloud clusters, and then the point cloud data in the plurality of point cloud clusters may be projected into the initial image.
[0271] Fig.16 It is a flow chart of the target detection method of an embodiment of the present application.
[0272] Fig.16 The method shown includes steps 3001 to 3009, which are described in detail below.
[0273] 3001. Obtain image data.
[0274] 3002. Perform image target recognition on the image data to obtain an initial image.
[0275] The specific execution process of the above steps 3001 and 3002 is the same as that of the above steps 1001 and 1002. For details, please refer to the description of the above steps 1001 and 1002.
[0276] 3003. Obtain point cloud data.
[0277] In step 3003, point cloud data may be acquired through a laser radar.
[0278] 3004. Preprocess the point cloud data.
[0279] The specific execution process of the above step 3004 is the same as that of the above step 1004. For details, please refer to the description of the above step 1004.
[0280] 3005. Perform clustering processing on the point cloud data to obtain multiple point cloud clusters.
[0281] In step 3005, a common clustering method may be used to cluster the point cloud data. For example, density subtraction clustering, adaptive density clustering, and other methods may be used to cluster the point cloud data.
[0282] 3006. Project multiple point cloud clusters into the initial image.
[0283] 3007. Perform corrosion processing on the initial image to obtain a target area and a background area.
[0284] In the above step 3007, after the initial image is corroded, a target area and a background area can be obtained, and the area other than the target area and the background area in the initial image can be called a transition area.
[0285] In the above step 3006, the multiple point cloud clusters can be divided into the first type of point cloud clusters and the second type of point cloud clusters according to the different projection areas of the reflection points in the point cloud clusters. Among the multiple point cloud clusters, the point cloud clusters other than the first type are the second type.
[0286] Among them, the first type of point cloud clusters may include point cloud clusters in which all reflection points are projected to the target area or the background area. Further, the above first type of point cloud clusters may also include point cloud clusters in which all reflection points are projected to the background area + transition area.
[0287] 3008. Perform label initialization processing on the first type of point cloud clusters among the multiple point cloud clusters.
[0288] When the first type of point cloud cluster is a point cloud cluster in which all reflection points are projected to the target area, the reflection point labels in the first type of point cloud cluster can be determined as target labels; when the first type of point cloud cluster is a point cloud cluster in which all reflection points are projected to the background area, the reflection point labels in the first type of point cloud cluster can be determined as background labels.
[0289] or,
[0290] When the first type of point cloud cluster is a point cloud cluster in which all reflection points are projected to the target area + transition area, the reflection point labels in the first type of point cloud cluster can be determined as target labels (in this case, the reflection points in the first type of point cloud cluster have a higher probability of belonging to the target area, so the reflection points in the first type of point cloud cluster can be directly set as target labels).
[0291] When the first type of point cloud cluster is a point cloud cluster in which all reflection points are projected to the background area + transition area, the reflection point labels in the first type of point cloud cluster can be determined as background labels (in this case, the probability that the reflection points in the first type of point cloud cluster belong to the background area is greater, so the reflection points in the first type of point cloud cluster can be directly set as background labels).
[0292] 3009. Perform label propagation on the point cloud data to determine the label of each reflection point projected from the point cloud data to the initial image.
[0293] In step 3009, when performing label propagation, it is necessary to determine the label of each reflection point in the second type of point cloud cluster. Specifically, the label of each reflection point in the second type of point cloud cluster can be determined according to the similarity between the reflection points in the second type of point cloud cluster and the reflection points in the first type of point cloud cluster.
[0294] In the above step 3009 , the labels of the reflection points in the second type of point cloud cluster may be determined in the same manner as step 140 .
[0295] 3010. Determine the contour of the target object.
[0296] The process of determining the contour of the target object in the above step 3010 is the same as the process of determining the contour of the target object in the above step 150 , and the details may refer to the relevant description of step 150 .
[0297] Combination of the above Figures 1 to 16 The target detection method of the embodiment of the present application is described in detail. Fig.17 and Fig.18 The target detection device of the embodiment of the present application is described. It should be understood that Fig.17 and Fig.18 The target detection device shown in the figure can perform each step of the target detection method of the embodiment of the present application. In order to avoid unnecessary repetition, the following is combined with Fig.17 and Fig.18 When introducing the target detection device of the embodiment of the present application, repeated descriptions are appropriately omitted.
[0298] Fig.17 It is a schematic block diagram of a target detection device according to an embodiment of the present application. Fig.17 The target detection device 5000 shown in FIG. 1 includes an acquisition module 5001 and a processing module 5002. The target detection device 5000 can execute the target detection method of the embodiment of the present application. Specifically, the target detection device 5000 can execute Figure 3 , 10 , the individual steps in the method shown in 11, 14, 15 and 16.
[0299] For example, when the target detection device 5000 executes Figure 3 When the method is shown, the acquisition module 5001 in the target detection device 5000 can execute step 110, and the processing module 5002 in the target detection device 5000 can execute steps 120 to 150.
[0300] Fig.18 It is a schematic diagram of the hardware structure of the target detection device 6000 according to an embodiment of the present application. Fig.18 The target detection device 6000 shown (the device 6000 may be a computer device) includes a memory 6001, a processor 6002, a communication interface 6003 and a bus 6004. The memory 6001, the processor 6002 and the communication interface 6003 are connected to each other through the bus 6004.
[0301] Fig.18The target detection device 6000 shown in FIG. 1 can also perform the target detection method of the embodiment of the present application. Specifically, the target detection device 6000 can perform Figure 3 , 10 , the individual steps in the method shown in 11, 14, 15 and 16.
[0302] For example, when the target detection device 6000 executes Figure 3 When the method is shown, the communication interface 6003 in the target detection device 6000 can execute step 110, and the processor 6002 in the target detection device 6000 can execute steps 120 to 150.
[0303] It should be understood that the modules in the above-mentioned target detection device 5000 have a certain correspondence with the modules in the target detection device 6000. Specifically, the acquisition module 5001 of the target detection device 5000 is equivalent to the communication interface 6003 in the target detection device 6000, and the processing module 5002 of the target detection device 5000 is equivalent to the processor 6002 in the target detection device 6000.
[0304] The following is a detailed introduction to each module or unit in the target detection device 6000.
[0305] The memory 6001 may be a read-only memory (ROM), a static storage device, a dynamic storage device or a random access memory (RAM). The memory 6001 may store a program, and when the program stored in the memory 6001 is executed by the processor 6002, the processor 6002 is used to execute each step of the target detection method of the embodiment of the present application.
[0306] Processor 6002 can adopt a general central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), a graphics processing unit (GPU) or one or more integrated circuits to execute relevant programs to implement the target detection method of the method embodiment of the present application.
[0307] The processor 6002 may also be an integrated circuit chip with signal processing capability. In the implementation process, each step of the target detection method of the present application may be completed by an integrated logic circuit of hardware in the processor 6002 or by instructions in the form of software.
[0308] The processor 6002 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, or discrete hardware components. The methods, steps, and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed. The general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed by a hardware decoding processor, or may be executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 6001, and the processor 6002 reads the information in the memory 6001, and completes the functions required to be performed by the units included in the target detection device 6000 in combination with its hardware, or executes the target detection method of the method embodiment of the present application.
[0309] The communication interface 6003 uses a transceiver device such as, but not limited to, a transceiver to implement communication between the device 6000 and other devices or a communication network. For example, the image to be restored can be obtained through the communication interface 6003.
[0310] The bus 6004 may include a path for transmitting information between various components of the device 6000 (eg, the memory 6001 , the processor 6002 , and the communication interface 6003 ).
[0311] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0312] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0313] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0314] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0315] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0316] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.
[0317] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A target detection method, characterized in that: include: Acquire an initial image and point cloud data of a target object, wherein the initial image includes a target area and a background area, and the target area is an area including the target object; Projecting the point cloud data into the initial image, wherein each reflection point projected onto the initial image by the point cloud data corresponds to a pixel point in the initial image; Performing label initialization processing on the first type of reflection points to obtain labels of the first type of reflection points, wherein the first type of reflection points are partial reflection points of the point cloud data projected onto the initial image, labels of the reflection points projected onto the background area among the first type of reflection points are background labels, and labels of the reflection points projected onto the target area among the first type of reflection points are target labels; Determining the label of the reflection point of the unknown label according to the similarity between the reflection point of the unknown label and the reflection point of the known label, wherein the reflection point of the known label includes the first type of reflection point; The contour of the target object is determined according to the reflection points having the target tag.
2. The target detection method according to claim 1, characterized in that: The step of determining the label of the reflection point of the unknown label according to the similarity between the reflection point of the unknown label and the reflection point of the known label comprises: Determine that the number of reflection points having the target label, the similarity between which of the reflection points of the known label and any one of the reflection points of the unknown label exceeds a preset similarity, is M, where M is a positive integer; Determine that the number of reflection points having background labels whose similarity between the reflection points of the known label and any one of the reflection points of the unknown label exceeds a preset similarity and is N, where N is a positive integer; When M is greater than N and M is greater than a first preset value, determining the tag of any one reflection point as a target tag; When M is smaller than N and N is larger than a second preset value, it is determined that the label of any one reflection point is a background label.
3. The target detection method according to claim 1 or 2, characterized in that: The known reflection points of the tag also include determining the reflection points of the tag according to the similarity between the reflection points.
4. The target detection method according to claim 1 or 2, characterized in that: The step of determining the label of the reflection point of the unknown label according to the similarity between the reflection point of the unknown label and the reflection point of the known label comprises: The similarity between the reflection point of the unknown tag and the reflection point of the known tag is determined according to at least one of the projection distance, the reflection intensity difference and the reflection angle difference between the reflection points.
5. The target detection method according to claim 1 or 2, characterized in that: The initial image also includes a transition area, which is located between the target area and the background area. The first type of reflection points includes reflection points in the point cloud data projected to the background area and reflection points in the point cloud data projected to the target area. The reflection points of the known tags include reflection points in the point cloud data projected to the transition area.
6. The target detection method according to claim 1 or 2, characterized in that: The method further comprises: Determine the initial target area; The initial target area is corroded to obtain the target area, wherein the target area is smaller than the initial target area, the initial image also includes a transition area, the transition area is located between the target area and the background area, and the transition area includes the area of the initial target area that is corroded.
7. A target detection device, characterized in that: include: An acquisition module, used to acquire an initial image and point cloud data of a target object, wherein the initial image includes a target area and a background area, and the target area is an area including the target object; A processing module, wherein the processing module is used to: Projecting the point cloud data into the initial image, wherein each reflection point projected onto the initial image by the point cloud data corresponds to a pixel point in the initial image; Performing label initialization processing on the first type of reflection points to obtain labels of the first type of reflection points, wherein the first type of reflection points are partial reflection points of the point cloud data projected onto the initial image, labels of the reflection points projected onto the background area among the first type of reflection points are background labels, and labels of the reflection points projected onto the target area among the first type of reflection points are target labels; Determining the label of the reflection point of the unknown label according to the similarity between the reflection point of the unknown label and the reflection point of the known label, wherein the reflection point of the known label includes the first type of reflection point; The contour of the target object is determined according to the reflection points having the target tag.
8. The target detection device according to claim 7, characterized in that: The processing module is used for: Determine that the number of reflection points having the target label, the similarity between which of the reflection points of the known label and any one of the reflection points of the unknown label exceeds a preset similarity, is M, where M is a positive integer; Determine that the number of reflection points having background labels whose similarity between the reflection points of the known label and any one of the reflection points of the unknown label exceeds a preset similarity and is N, where N is a positive integer; When M is greater than N and M is greater than a first preset value, determining the tag of any one reflection point as a target tag; When M is smaller than N and N is larger than a second preset value, it is determined that the label of any one reflection point is a background label.
9. The target detection device according to claim 7 or 8, characterized in that: The known reflection points of the tag also include determining the reflection points of the tag according to the similarity between the reflection points.
10. The target detection device according to claim 7 or 8, characterized in that: The processing module is used for: The similarity between the reflection point of the unknown tag and the reflection point of the known tag is determined according to at least one of the projection distance, the reflection intensity difference and the reflection angle difference between the reflection points.
11. The target detection device according to claim 7 or 8, characterized in that: The initial image also includes a transition area, which is located between the target area and the background area. The first type of reflection points includes reflection points in the point cloud data projected to the background area and reflection points in the point cloud data projected to the target area. The reflection points of the known tags include reflection points in the point cloud data projected to the transition area.
12. The target detection device according to claim 7 or 8, characterized in that: The processing module is also used for: Determine the initial target area; The initial target area is corroded to obtain the target area, wherein the target area is smaller than the initial target area, the initial image also includes a transition area, the transition area is located between the target area and the background area, and the transition area includes the area of the initial target area that is corroded.
13. A computer-readable storage medium, characterized in that: The computer-readable medium stores a program code for execution by a device, wherein the program code includes a program for executing the method according to any one of claims 1 to 6.
14. A chip, characterized in that: The chip includes a processor and a data interface, and the processor reads instructions stored in a memory through the data interface to execute the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Cargo pallet detection method and system based on point cloud plane contour matching
CN107507167A
Method and device for marking point cloud data
CN107945198A