WO2023279584A1 - 一种目标检测方法、目标检测装置及机器人 - Google Patents
一种目标检测方法、目标检测装置及机器人 Download PDFInfo
- Publication number
- WO2023279584A1 WO2023279584A1 PCT/CN2021/126716 CN2021126716W WO2023279584A1 WO 2023279584 A1 WO2023279584 A1 WO 2023279584A1 CN 2021126716 W CN2021126716 W CN 2021126716W WO 2023279584 A1 WO2023279584 A1 WO 2023279584A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point cloud
- target
- environment
- frustum
- trained
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000013528 artificial neural network Methods 0.000 claims abstract description 21
- 230000007613 environmental effect Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Definitions
- the present application belongs to the technical field of robots, and in particular relates to a target detection method, a target detection device, a robot and a computer-readable storage medium.
- lidar In the application of robot navigation, it is usually necessary for the robot to recognize the obstacles in the room first, and then judge the spatial position relationship between itself and the obstacles, and then decide the next movement trajectory, so as to avoid the obstacles.
- most robots rely on lidar to identify obstacles in the environment, and lidar has the following disadvantages: On the one hand, lidar is expensive, and in indoor scenes, the foreground is prone to block the background and cause interference. ; On the other hand, the point cloud information obtained based on lidar has no semantic information, that is, the robot can only know whether there is an object in front of it, but does not know what the object is.
- the present application provides a target detection method, a target detection device, a robot and a computer-readable storage medium, which can not only accurately identify the position of the target in the environment, but also identify the category of the target in the environment, which can help the robot to perform better obstacle avoidance decision.
- the present application provides a target detection method, including:
- a viewing frustum containing the above-mentioned target is extracted from the environment point cloud image, wherein the above-mentioned environment point cloud image is generated based on the above-mentioned environment depth image and the above-mentioned environment color image;
- the spatial position information of the above-mentioned target is extracted;
- the above category information and the above spatial position information are output.
- the present application provides a target detection device, including:
- An acquisition module configured to acquire an environment color map and an environment depth map
- the recognition module is used to perform target recognition on the above-mentioned environmental color map, and obtain category information and two-dimensional position information of the target;
- the first extraction module is configured to extract the viewing frustum containing the above-mentioned object from the environment point cloud image based on the above-mentioned two-dimensional position information, wherein the above-mentioned environment point cloud image is generated based on the above-mentioned environment depth image and the above-mentioned environment color image;
- the second extraction module is used to extract the spatial position information of the above-mentioned target based on the trained neural network and the above-mentioned frustum;
- An output module configured to output the above category information and the above spatial location information.
- the present application provides a robot.
- the robot includes a memory, a processor, and a computer program stored in the memory and operable on the processor.
- the processor executes the computer program, the above-mentioned first Aspect method steps.
- the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method in the first aspect above are implemented.
- the present application provides a computer program product, the computer program product includes a computer program, and when the computer program is executed by one or more processors, the steps of the method in the first aspect above are implemented.
- the beneficial effect of this application is that the robot can first obtain the environmental color map and the environmental depth map, and then perform target recognition on the above-mentioned environmental color map to obtain the category information and two-dimensional position information of the target, and then based on the above-mentioned Two-dimensional position information, extracting the frustum containing the above-mentioned target in the environment point cloud image, wherein the above-mentioned environment point cloud image is generated based on the above-mentioned environment depth map and the above-mentioned environment color map, and then based on the trained neural network and the above-mentioned frustum object, extract the spatial location information of the above-mentioned target, and finally output the above-mentioned category information and the above-mentioned spatial location information.
- the solution of this application only requires the robot to be equipped with a low-cost RGB camera and a depth camera: the environmental color map collected by the RGB camera can quickly identify the semantic information in the environment and know the category of the target.
- the point cloud information of the target can be obtained by combining the environment depth map with the environment color map, so as to quickly identify the position of the target in the environment space. It can be seen that under the premise of reducing the cost of the robot, the above process can not only accurately identify the position of the target in the environment, but also identify the category of the target in the environment, which can help the robot to make better obstacle avoidance decisions. It can be understood that, for the beneficial effects of the above-mentioned second aspect to the fifth aspect, reference can be made to the relevant description in the above-mentioned first aspect, and details will not be repeated here.
- FIG. 1 is a schematic diagram of the implementation process of the target detection method provided by the embodiment of the present application.
- Fig. 2 is an example diagram of the viewing frustum provided by the embodiment of the present application.
- Fig. 3 is a schematic structural diagram of the point cloud classification network provided by the embodiment of the present application.
- Fig. 4 is the structural representation of the point cloud regression network that the embodiment of the present application provides;
- Fig. 5 is an example diagram of the adjustment process of the point cloud coordinate system provided by the embodiment of the present application.
- FIG. 6 is a structural block diagram of a target detection device provided by an embodiment of the present application.
- Fig. 7 is a schematic structural diagram of a robot provided by an embodiment of the present application.
- the target detection method includes:
- Step 101 acquiring an environment color map and an environment depth map.
- an RGB camera and a depth camera may be mounted on the robot.
- the RGB camera is used to collect the color map of the environment
- the depth camera is used to collect the depth map of the environment.
- the robot can obtain the environmental color map and the environmental depth map at each moment through the RGB camera and the depth camera.
- the positions of the RGB camera and the depth camera are similar, and the shooting angles and shooting ranges of the RGB camera and the depth camera are basically the same, so the corresponding pixels of the environment color map and the environment depth map can be approximately considered (also That is, pixels at the same location) point to the same location in the environment.
- Step 102 performing object recognition on the above-mentioned environmental color map to obtain object category information and two-dimensional position information.
- target recognition may be performed on the environment color image first.
- a preset trained lightweight target detection network can be used to perform target recognition on the environment color map.
- the lightweight object detection network may be a Pnet network. Through the lightweight target detection network, the position of the detection frame (bounding box) of the object (that is, the target) in the environment color map, the confidence score (score) and the information of each category that the target may belong to can be obtained. probability.
- the position of the detection frame represents the two-dimensional position information of the target, specifically in the form of (x, y, w, h), where x is the abscissa of the upper left vertex of the detection frame, y is the ordinate of the upper left vertex of the detection frame, w is the width of the detection frame, and h is the height of the detection frame.
- the confidence score is used to reflect whether the detection frame contains the target and the accuracy of the detection frame position under the condition of containing the target.
- the category information of the target may be determined based on the category with the highest probability corresponding to the target in the detection frame.
- the lightweight object detection network needs to be trained separately in advance. For example, it is necessary to collect multiple environmental training images first, and label each obstacle in the environmental training images to form a training set. Input the training set into the lightweight target detection network to be trained for training, until the loss of the lightweight target detection network converges or the number of training iterations reaches the preset number threshold, the trained lightweight target detection network can be obtained Object detection network.
- the loss function of the lightweight target detection network includes two parts of classification and regression, and reference can be made to the loss function of the current general target detection network, which will not be repeated here.
- the training of the lightweight target detection network can be performed by a robot or by other electronic devices, which is not limited here.
- Step 103 based on the above-mentioned two-dimensional position information, extract the viewing frustum containing the above-mentioned object in the environment point cloud image.
- each pixel in the environment combination diagram has 6 values (r, g, b, x, y, d).
- r, g, and b represent the pixel values of the pixel in the three channels of red, green, and blue, respectively
- x and y represent the abscissa and ordinate of the pixel, respectively
- d represents the depth information of the pixel.
- the robot can also obtain the internal and external parameters of the depth camera in advance, such as the focal length of the depth camera, the coordinates of the center of the aperture, and the scaling factor of the depth image (that is, the environment depth map), the environment combination map can be obtained by the following formula
- cx and cy are the translation pixels between the center of the depth camera and the origin in the X-axis direction and the Y-axis direction in the camera coordinate system; fx and fy are the focal lengths of the X-axis and the Y-axis respectively; z represents the distance between the object and the camera The distance, that is, the depth; u and v are the abscissa and ordinate of the object in the camera coordinate system respectively; d represents the actual distance unit, and s represents the distance converted into a pixel unit, that is, the unit of z is a pixel.
- the environment point cloud image can be obtained; it can be understood that through the environment point cloud image, the point cloud information corresponding to each pixel in the environment color image (also each pixel in the environment combination image) can be obtained (r, g, b, x, y, z), where the x, y and z represent the coordinates of the pixel in the point cloud coordinate system.
- the robot can obtain a point cloud of the object by mapping the environment point cloud image through a preset projection matrix based on the two-dimensional position information of the object obtained in step 102 .
- the point cloud can be recorded as a mapping point cloud; then, the robot can obtain a viewing frustum that can contain a preset number of corner points of the mapping point cloud through the preset near plane and far plane.
- Figure 2 shows an example of an apparent frustum.
- the near plane and the far plane are inherent properties of the depth camera, which can be understood as planes formed by the minimum distance and the maximum distance that the depth camera can capture respectively.
- a cube with a preset number of corner points for example, four corner points
- the cube is the viewing frustum to be extracted at the end of this step.
- the viewing frustum must contain all mapped point clouds.
- Step 104 based on the trained neural network and the above-mentioned frustum, extract the spatial position information of the above-mentioned object.
- the viewing frustum contains all mapping point clouds, and the mapping point cloud is determined based on the position of the target in the two-dimensional image (that is, the environment color map), it can be considered that the The optic frustum represents this object to some extent.
- the robot can further process the visual frustum through the trained neural network to extract the spatial position information of the target.
- the neural network includes: a point cloud classification network and a point cloud regression network; then the robot can filter the point clouds in the frustum through the trained point cloud classification network to obtain the target point cloud, which belongs to The point cloud of the target, and then extract the spatial position information of the three-dimensional bounding box of the target point cloud through the trained point cloud regression network, and the spatial position information can be equivalent to the spatial position information of the target.
- FIG. 3 shows a schematic diagram of the network structure of the point cloud classification network.
- the whole point cloud classification network can be divided into two parts: the abstraction layer and the feature map extraction layer.
- the input of the point cloud classification network is the three-dimensional information of n points, that is, (r, g, b); n is the number of points contained in the point cloud in the viewing frustum; that is, the viewing frustum All the points within are input to the point cloud classification network together.
- the function of the abstraction layer is to perform a series of clustering and grouping operations on each point in the viewing frustum.
- the feature map extraction layer is actually the same as the processing process of the 2-dimensional CNN network.
- the fully connected layer is used to output the probability that each point belongs to the target. Based on this, after the robot inputs the point cloud in the frustum to the trained point cloud classification network, it can obtain the probability that each point in the point cloud in the frustum belongs to the target. The robot can thus determine all points whose probability of belonging to the object is greater than a preset probability threshold as the object point cloud.
- FIG. 4 shows a schematic diagram of the network structure of the point cloud regression network.
- the design of the point cloud regression network is more lightweight, and compared with the point cloud classification network, it reduces an abstraction layer.
- the final output regression is a seven-dimensional vector, including: x, y, z, w, h, l and angle.
- x, y and z are the three-dimensional coordinates of the center point of the three-dimensional bounding box of the target point cloud respectively;
- w, h and l are respectively the width, height and length (that is, the size) of the three-dimensional bounding box, that is, Expresses the distance from the center point of the 3D bounding box to the six faces of the 3D bounding box;
- angle is the orientation angle of the 3D bounding box in a top view.
- the point cloud classification network and the point cloud regression network can be jointly trained, and the loss functions of the point cloud classification network and the point cloud regression network during the training process are as follows:
- Lseg is the loss of the point cloud classification network
- Lc1-reg is the loss of the center point of the three-dimensional bounding box of the point cloud regression network calculation target
- Lc2-reg is the loss of the size of the three-dimensional bounding box of the point cloud regression network calculation target
- Lh is the loss of the orientation angle of the 3D bounding box of the target calculated by the point cloud regression network
- Ls is the loss of the volume of the 3D bounding box of the target calculated by the point cloud regression network
- ⁇ is a preset constant. It can be understood that the training of the point cloud classification network and the point cloud regression network can be performed by a robot or other electronic equipment, which is not limited here.
- Step 105 outputting the above category information and the above spatial location information.
- the category information indicates what kind of object the target is
- the spatial position information indicates the exact position of the target in the environment.
- the robot can output the category information and the spatial position information to other modules.
- the other module may be an obstacle avoidance decision-making module or a navigation module, etc., so as to better realize obstacle avoidance decision-making or navigation, which is not limited here.
- each object category can correspond to a trained point cloud classification network and a trained point cloud regression network; that is, the robot can be preset with multiple trained point cloud classification networks and multiple A trained point cloud regression network. Based on this, after determining the category information of the target, the robot can first determine the point cloud classification network and the point cloud regression network to be applied based on the category information, which can be respectively recorded as the target point cloud classification network and the target point cloud regression network; Then, the point cloud in the frustum can be screened through the trained target point cloud classification network to obtain the target point cloud; and then the three-dimensional bounding box space of the target point cloud can be extracted through the trained target point cloud regression network location information.
- the robot in order to increase the convergence speed of the point cloud classification network and the point cloud regression network, before step 104, the robot can also perform coordinate normalization processing on the point cloud in the viewing frustum; then step 104 can be corresponding
- the performance is as follows: based on the above-mentioned trained neural network and the point cloud in the above-mentioned viewing frustum after coordinate normalization processing, the spatial position information of the above-mentioned target is extracted. It can be understood that since the viewing frustum obtained in step 103 is not perpendicular to the camera plane, the point cloud coordinate system needs to be adjusted (rotated and translated); the point cloud in the viewing frustum is in the adjusted point cloud coordinate system.
- the point cloud coordinates are the normalized point cloud coordinates. Please refer to Figure 5.
- Figure 5 shows the schematic diagram of the adjustment process of the point cloud coordinate system: since the point cloud itself has the characteristics of rotation invariance, the connection line between the camera origin and the center point of the point cloud in the view frustum can be used as The new Z axis calculates the rotation angle with the Z axis of the original point cloud coordinate system, so that the rotation of the point cloud coordinate system can be realized based on the rotation angle; then the center point can be used as the new origin, so that the point cloud can be realized The translation of the coordinate system.
- the adjustment of the point cloud coordinate system is actually to normalize the point cloud coordinates of the point cloud, so that the distribution of the point cloud is more uniform, which is beneficial to the subsequent neural network (that is, the point cloud classification network and the point cloud regression network). network) convergence.
- the robot only needs to be equipped with a low-cost RGB camera and a depth camera to achieve accurate target detection, specifically: the environmental color map collected by the RGB camera can quickly identify the Semantic information, knowing the category of the target, the point cloud information of the target can be obtained through the environmental depth map collected by the depth camera combined with the environmental color map, so as to quickly identify the position of the target in the environmental space. It can be seen that under the premise of reducing the cost of the robot, the above process can not only accurately identify the position of the target in the environment, but also identify the category of the target in the environment, which can help the robot to make better obstacle avoidance decisions.
- the target detection device 600 includes:
- An acquisition module 601, configured to acquire an environment color map and an environment depth map
- the recognition module 602 is configured to perform target recognition on the above-mentioned environmental color map, and obtain category information and two-dimensional position information of the target;
- the first extraction module 603 is configured to extract a viewing frustum containing the above-mentioned object from the environment point cloud image based on the above-mentioned two-dimensional position information, wherein the above-mentioned environment point cloud image is generated based on the above-mentioned environment depth image and the above-mentioned environment color image;
- the second extraction module 604 is used to extract the spatial position information of the above-mentioned target based on the trained neural network and the above-mentioned frustum;
- the output module 605 is configured to output the above category information and the above spatial location information.
- the above-mentioned first extraction module 603 includes:
- a mapping point cloud determination unit configured to determine the mapping point cloud of the above-mentioned target in the above-mentioned environment point cloud map based on the above-mentioned two-dimensional position information
- the viewing frustum obtaining unit is configured to obtain a viewing frustum capable of including a preset number of corner points of the above-mentioned mapping point cloud through a preset near plane and a far plane.
- the above-mentioned second extraction module 604 includes:
- the screening unit is used to filter the point cloud in the above-mentioned view frustum through the trained point cloud classification network to obtain the target point cloud, and the above-mentioned target point cloud is a point cloud belonging to the above-mentioned target;
- the extraction unit is used to extract the spatial position information of the three-dimensional bounding box of the target point cloud through the trained point cloud regression network.
- the above screening unit includes:
- the probability acquisition subunit is used to input the point cloud in the above-mentioned view frustum into the above-mentioned trained point cloud classification network, and obtain the probability that each point in the point cloud in the above-mentioned view frustum belongs to the above-mentioned target;
- the target point cloud determination subunit is configured to determine all points whose probability of belonging to the target is greater than a preset probability threshold as the target point cloud.
- the above-mentioned extraction unit is specifically configured to input the above-mentioned target point cloud into the above-mentioned trained point cloud regression network to obtain the three-dimensional coordinates of the center point of the above-mentioned three-dimensional bounding box, the size of the above-mentioned three-dimensional bounding box and the above-mentioned three-dimensional bounding box The orientation angle of the box.
- each object category corresponds to a trained point cloud classification network
- the second extraction module 604 also includes:
- the target point cloud classification network determination unit is used to determine the trained point cloud classification network corresponding to the above category information as the trained target point cloud classification network;
- the screening unit is configured to screen the point clouds in the viewing frustum through the trained target point cloud classification network to obtain the target point cloud.
- the above target detection device 600 also includes:
- a normalization module is used to perform coordinate normalization processing on the point cloud in the above-mentioned viewing frustum
- the above-mentioned second extraction module 604 is specifically configured to extract the spatial position information of the above-mentioned object based on the above-mentioned trained neural network and the point cloud in the above-mentioned viewing frustum after coordinate normalization processing.
- the robot only needs to be equipped with a low-cost RGB camera and a depth camera to achieve accurate target detection, specifically: the environmental color map collected by the RGB camera can quickly identify the Semantic information, knowing the category of the target, the point cloud information of the target can be obtained through the environmental depth map collected by the depth camera combined with the environmental color map, so as to quickly identify the position of the target in the environmental space. It can be seen that under the premise of reducing the cost of the robot, the above process can not only accurately identify the position of the target in the environment, but also identify the category of the target in the environment, which can help the robot to make better obstacle avoidance decisions.
- an embodiment of the present application further provides a robot.
- the robot 7 in the embodiment of the present application includes: a memory 701, one or more processors 702 (only one is shown in Fig. 7 ) and a computer program stored on the memory 701 and operable on the processor .
- the memory 701 is used to store software programs and units
- the processor 702 executes various functional applications and diagnoses by running the software programs and units stored in the memory 701 to obtain resources corresponding to the above preset events.
- the processor 702 implements the following steps by running the above-mentioned computer program stored in the memory 701:
- a viewing frustum containing the above-mentioned target is extracted from the environment point cloud image, wherein the above-mentioned environment point cloud image is generated based on the above-mentioned environment depth image and the above-mentioned environment color image;
- the spatial position information of the above-mentioned target is extracted;
- the above category information and the above spatial position information are output.
- the environment point cloud image containing View frustums for the above objects including:
- a viewing frustum capable of including a preset number of corner points of the above-mentioned mapped point cloud is obtained.
- the above-mentioned spatial position information of the above-mentioned target is extracted based on the trained neural network and the above-mentioned frustum, including:
- the above-mentioned target point cloud is a point cloud belonging to the above-mentioned target;
- the spatial position information of the 3D bounding box of the target point cloud is extracted through the trained point cloud regression network.
- the above-mentioned point cloud in the above-mentioned viewing frustum is screened through the trained point cloud classification network to obtain the target point cloud, including:
- the spatial location information of the three-dimensional bounding box of the target point cloud is extracted through the trained point cloud regression network, including:
- the above-mentioned target point cloud is input into the above-mentioned trained point cloud regression network, and the three-dimensional coordinates of the center point of the above-mentioned three-dimensional bounding box, the size of the above-mentioned three-dimensional bounding box and the orientation angle of the above-mentioned three-dimensional bounding box are obtained.
- each object category corresponds to a trained point cloud classification network
- the processor 702 Before the point cloud in the viewing frustum is screened, the processor 702 also implements the following steps by running the above-mentioned computer program stored in the memory 701:
- the above-mentioned point cloud in the frustum is screened through the trained point cloud classification network to obtain the target point cloud, including:
- the above-mentioned target point cloud is obtained by screening the point cloud in the above-mentioned view frustum through the above-mentioned trained target point cloud classification network.
- the processor 702 Based on the above-mentioned first possible implementation manner, or on the basis of the above-mentioned second possible implementation manner, or on the basis of the above-mentioned third possible implementation manner, or on the basis of the above-mentioned fourth possible implementation manner, or on the basis of the above-mentioned
- the fifth possible implementation manner is used as a basis, or in the seventh possible implementation manner provided on the basis of the above sixth possible implementation manner, the above-mentioned Before the spatial location information of the target, the processor 702 also implements the following steps by running the above-mentioned computer program stored in the memory 701:
- the spatial position information of the above-mentioned target is extracted, including:
- the spatial position information of the above-mentioned target is extracted.
- the so-called processor 702 may be a central processing unit (Central Processing Unit, CPU), and the processor may also be other general-purpose processors, digital signal processors (Digital Signal Processor, DSP) , Application Specific Integrated Circuit (ASIC), off-the-shelf programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
- the memory 701 may include read-only memory and random-access memory, and provides instructions and data to the processor 702 . Part or all of the memory 701 may also include non-volatile random access memory. For example, the memory 701 may also store information of device categories.
- the robot only needs to be equipped with a low-cost RGB camera and a depth camera to achieve accurate target detection, specifically: the environmental color map collected by the RGB camera can quickly identify the Semantic information, knowing the category of the target, the point cloud information of the target can be obtained through the environmental depth map collected by the depth camera combined with the environmental color map, so as to quickly identify the position of the target in the environmental space. It can be seen that under the premise of reducing the cost of the robot, the above process can not only accurately identify the position of the target in the environment, but also identify the category of the target in the environment, which can help the robot to make better obstacle avoidance decisions.
- the disclosed devices and methods may be implemented in other ways.
- the system embodiments described above are only illustrative.
- the division of the above-mentioned modules or units is only a logical function division.
- multiple units or components can be combined Or it can be integrated into another system, or some features can be ignored, or not implemented.
- the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
- the units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- the above integrated units are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
- the present application realizes all or part of the processes in the methods of the above-mentioned embodiments, and can also be completed by instructing associated hardware through computer programs.
- the above-mentioned computer programs can be stored in a computer-readable storage medium, and the computer When the program is executed by the processor, the steps in the above-mentioned various method embodiments can be realized.
- the above-mentioned computer program includes computer program code, and the above-mentioned computer program code may be in the form of source code, object code, executable file or some intermediate form.
- the above-mentioned computer-readable storage medium may include: any entity or device capable of carrying the above-mentioned computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer-readable memory, read-only memory (ROM, Read-Only Memory ), Random Access Memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium, etc.
- ROM Read-Only Memory
- RAM Random Access Memory
- electrical carrier signal telecommunication signal
- software distribution medium etc.
- the content contained in the above-mentioned computer-readable storage media can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction.
- computer-readable storage media The medium does not include electrical carrier signals and telecommunication signals.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种目标检测方法、目标检测装置、机器人及计算机可读存储介质。其中,该方法包括:获取环境彩色图及环境深度图;对所述环境彩色图进行目标识别,得到目标的类别信息及二维位置信息;基于所述二维位置信息,在环境点云图中提取出包含所述目标的视锥体,其中,所述环境点云图基于所述环境深度图及所述环境彩色图而生成;基于已训练的神经网络及所述视锥体,提取得到所述目标的空间位置信息;输出所述类别信息及所述空间位置信息。通过本申请方案,不仅可准确识别出环境中目标的位置,还可识别出环境中目标的类别,可帮助机器人更好的进行避障决策。
Description
本申请要求于2021年07月08日在中国专利局提交的、申请号为202110775039.0的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请属于机器人技术领域,尤其涉及一种目标检测方法、目标检测装置、机器人及计算机可读存储介质。
在机器人的导航应用中,通常需要机器人先识别出室内的障碍物,然后判断自身和障碍物的空间位置关系,之后才可决策下一步的移动轨迹,从而避开障碍物。目前,大部分机器人均依赖于激光雷达来识别环境中的障碍物,而激光雷达存在如下缺点:一方面,激光雷达成本较高,且在室内场景下容易出现前景遮挡后景而导致干扰的问题;另一方面,基于激光雷达所获取的点云信息没有语义信息,也即,机器人只能知道前方是否有物体,但不知道该物体是什么物体。
本申请提供了一种目标检测方法、目标检测装置、机器人及计算机可读存储介质,不仅可准确识别出环境中目标的位置,还可识别出环境中目标的类别,可帮助机器人更好的进行避障决策。
第一方面,本申请提供了一种目标检测方法,包括:
获取环境彩色图及环境深度图;
对上述环境彩色图进行目标识别,得到目标的类别信息及二维位置信息;
基于上述二维位置信息,在环境点云图中提取出包含上述目标的视锥体,其中,上述环境点云图基于上述环境深度图及上述环境彩色图而生成;
基于已训练的神经网络及上述视锥体,提取得到上述目标的空间位置信息;
输出上述类别信息及上述空间位置信息。
第二方面,本申请提供了一种目标检测装置,包括:
获取模块,用于获取环境彩色图及环境深度图;
识别模块,用于对上述环境彩色图进行目标识别,得到目标的类别信息及二维位置信息;
第一提取模块,用于基于上述二维位置信息,在环境点云图中提取出包含上述目标的视锥体,其中,上述环境点云图基于上述环境深度图及上述环境彩色图而生成;
第二提取模块,用于基于已训练的神经网络及上述视锥体,提取得到上述目标的空间位置信息;
输出模块,用于输出上述类别信息及上述空间位置信息。
第三方面,本申请提供了一种机器人,上述机器人包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。
第五方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。
本申请与现有技术相比存在的有益效果是:机器人可先获取环境彩色图及环境深度图,然后对上述环境彩色图进行目标识别,得到目标的类别信息及二维位置信息,接着基于上述二维位置信息,在环境点云图中提取出包含上述目标的视锥体,其中,上述环境点云图基于上述环境深度图及上述环境彩色图而生成,随后基于已训练的神经网络及上述视锥体,提取得到上述目标的空间位置信息,最后输出上述类别信息及上述空间位置信息。本申请方案只需要机器人搭载成本较低的RGB相机及深度相机即可实现:通过RGB相机所采集的环境彩色图可以快速识别出环境中的语义信息,获知目标的类别,通过深度相机所采集的环境深度图结合环境彩色图可以得到目标的点云信息,以此可快速识别出目标在环境空间中的位置。可见,上述过程在降低了机器人成本的前提下,不仅可准确识别出环境中目标的位置,还可识别出环境中目标的类别,可帮助机器人更好地进行避障决策。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的目标检测方法的实现流程示意图;
图2是本申请实施例提供的视椎体的示例图;
图3是本申请实施例提供的点云分类网络的结构示意图;
图4是本申请实施例提供的点云回归网络的结构示意图;
图5是本申请实施例提供的点云坐标系的调整过程的示例图;
图6是本申请实施例提供的目标检测装置的结构框图;
图7是本申请实施例提供的机器人的结构示意图。
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所提出的技术方案,下面通过具体实施例来进行说明。
下面对本申请实施例所提出的目标检测方法作出说明。请参阅图1,该目标检测方法包括:
步骤101,获取环境彩色图及环境深度图。
在本申请实施例中,机器人身上可搭载有一RGB相机及一深度相机。其中,RGB相机用于采集环境彩色图,深度相机用于采集环境深度图。由此,机器人可通过该RGB相机及该深度相机,获取到各个时刻下的环境彩色图及环境深度图。通常情况下,该RGB相机及该深度相机的位置相近,且该RGB相机及该深度相机的拍摄角度及拍摄范围等基本相同,可以近似认为该环境彩色图及环境深度图的对应像素点(也即同一位置的像素点)指向了环境中的同一位置。
步骤102,对上述环境彩色图进行目标识别,得到目标的类别信息及二维位置信息。
在本申请实施例中,可先对环境彩色图进行目标识别。具体地,可采用预设的已训练的轻量级目标检测网络对该环境彩色图进行目标识别。仅作为示例,该轻量级目标检测网络可以是Pnet网络。通过该轻量级目标检测网络,可得到环境中的物体(也即目标)在该环境彩色图中的检测框(bounding box)的位置、置信度得分(score)及目标可能所属的各个类别的概率。可以理解,该检测框(bounding box)的位置即表示了目标的二维位置 信息,具体表现为(x,y,w,h)的形式,其中,x为检测框的左上顶点的横坐标,y为检测框的左上顶点的纵坐标,w为检测框的宽,h为检测框的高。置信度得分用于反映该检测框是否包含目标以及包含目标的情况下该检测框位置的准确性。针对每个置信度得分超过预设的置信度得分阈值的检测框,可基于该检测框中的目标所对应的概率最高的类别确定该目标的类别信息。通过上述过程,即可找到环境中各个目标的二维位置信息及类别信息。
可以理解,该轻量级目标检测网络需要预先进行单独的训练。例如,需要先采集多个环境训练图像,并对该环境训练图像中的各个障碍物进行标注,以组成一训练集。将该训练集输入到待训练的轻量级目标检测网络进行训练,直至该轻量级目标检测网络的损失收敛或训练迭代次数达到预设的次数阈值为止,即可得到已训练的轻量级目标检测网络。仅作为示例,该轻量级目标检测网络的损失函数包括分类和回归两个部分,可参考当前通用的目标检测网络的损失函数,此处不作赘述。可以理解,该轻量级目标检测网络的训练可由机器人进行,也可由其它电子设备进行,此处不作限定。
步骤103,基于上述二维位置信息,在环境点云图中提取出包含上述目标的视锥体。
在本申请实施例中,机器人可在获取到同一时刻下的环境深度图及环境彩色图之后,将二者进行对相结合,得到环境结合图。可以理解,该环境结合图中的每个像素点具备6个值(r,g,b,x,y,d)。其中r、g及b分别代表该像素点在红、绿及蓝三个通道的像素值,x及y分别代表该像素点的横坐标及纵坐标,d代表该像素点的深度信息。由于机器人还可预先获得深度相机的内参和外参,例如深度相机的焦距、光圈中心的坐标及深度图像(也即环境深度图)的缩放因子等,因而,可通过如下公式得到该环境结合图中的各个像素点的点云信息(r,g,b,x,y,z):
其中,cx及cy分别为深度相机的中心对比原点在相机坐标系下的X轴方向及Y轴方向的平移像素;fx及fy分别为该X轴及该Y轴的焦距;z代表物体离相机的距离,也即深度;u及v分别为物体在相机坐标系下的横坐标及纵坐标;d代表实际距离单位,s代表距离换算成像素单位,也即,z的单位是像素。通过上述过程,即可得到环境点云图;可以理解,通过该环境点云图,即可得到环境彩色图中的每个像素点(也是环境结合图中的每个像素点)所对应的点云信息(r,g,b,x,y,z),其中,该x、y及z代表的是像素点在点云坐标系中的坐标。
在获得环境点云图后,机器人即可基于步骤102中已获得的目标的二维位置信息,通过预设的投影矩阵在该环境点云图中映射得到该目标的点云。为便于说明,可将该点云记作映射点云;随后,机器人可通过预设的***面及远平面,获取能够包含该映射点云的预设数量个角点的视锥体。请参阅图2,图2给出了一视椎体的示例。其中,该***面及该远平面是深度相机的固有属性,可以理解为深度相机所能够拍摄的最小距离及最大距离所分别构成的平面。通过该***面及远平面,可以找到一个刚好能够外切映射点云的预设数量个角点(例如四个角点)的立方体,该立方体即为本步骤最后所要提取的视椎体。显然,该视椎体必然包含了所有的映射点云。
步骤104,基于已训练的神经网络及上述视锥体,提取得到上述目标的空间位置信息。
在本申请实施例中,由于该视椎体包含了所有的映射点云,而映射点云是基于目标在二维图像(也即环境彩色图)中的位置而确定的,因而,可认为该视椎体一定程度上代表了该目标。机器人可通过已训练的神经网络对该视椎体进行进一步处理,以提取得到该目标的空间位置信息。具体地,该神经网络包括:点云分类网络及点云回归网络;则机器人可通过已训练的点云分类网络对视锥体内的点云进行筛选,得到目标点云,该目标点云为属于该目标的点云,之后再通过已训练的点云回归网络提取出该目标点云的三维包围框的空间位置信息,该空间位置信息即可等价于该目标的空间位置信息。
请参阅图3,图3给出了该点云分类网络的网络结构示意。该点云分类网络整体可分为抽象层和特征图提取层两部分。其中,该点云分类网络的输入为n个点的三维信息,也即(r,g,b);n为视椎体内的点云所包含的点的数量;也即,将视椎体内的所有点一起输入至该点云分类网络。可以理解,抽象层的作用是对视锥体内的各个点进行一系列的聚类分组操作。特征图提取层实际与2维的CNN网络的处理过程一致。全连接层用于输出每个点属于目标的概率。基于此,机器人在将视锥体内的点云输入至已训练的点云分类网络后,即可得到视锥体内的点云中的各个点属于该目标的概率。机器人由此可将属于该目标的概率大于预设概率阈值的所有点确定为目标点云。
请参阅图4,图4给出了该点云回归网络的网络结构示意。该点云回归网络的设计更加轻量级,相对点云分类网络来说,其减少了一个抽象层。最后输出的回归为七维向量,包括:x、y、z、w、h、l及angle。其中,x、y及z分别为目标点云的三维包围框的中心点的三维坐标;w、h及l分别为该三维包围框的宽、高及长(也即尺寸),也即,侧面表达了三维包围框的中心点到三维包围框的六个面的距离;angle为该三维包围框在俯视情况下的朝向角度。可以理解,该目标点云的三维包围框实际上为目标的三维模拟;也即,可认为该目标点云的三维包围框等价于目标。
可以理解,该点云分类网络及该点云回归网络可以进行联合训练,则该点云分类网络及该点云回归网络在训练过程中的损失函数如下:
L=L
seg+α(L
c1-reg+L
c2-reg+L
h+L
s)
其中,Lseg是点云分类网络的损失;Lc1-reg是点云回归网络计算目标的三维包围框的中心点的损失;Lc2-reg是点云回归网络计算目标的三维包围框的尺寸的损失;Lh是点云回归网络计算目标的三维包围框的朝向角度的损失;Ls是点云回归网络计算目标的三维包围框的体积的损失;α为预设常量。可以理解,该点云分类网络及该点云回归网络的训练可由机器人进行,也可由其它电子设备进行,此处不作限定。
步骤105,输出上述类别信息及上述空间位置信息。
在本申请实施例中,该类别信息指示了目标是什么类别的物体,该空间位置信息指示了目标在环境中的准确位置。机器人可向其它模块输出该类别信息及该空间位置信息。仅作为示例,该其它模块可以是避障决策模块或导航模块等,以便于更好的实现避障决策或导航,此处不作限定。
在一些实施例中,每个物体类别可分别对应一个已训练的点云分类网络及一个已训练的点云回归网络;也即,机器人可预先设置有多个已训练的点云分类网络及多个已训练的点云回归网络。基于此,机器人可在确定了目标的类别信息后,先基于该类别信息确定当前所要应用的点云分类网络及点云回归网络,可分别记作目标点云分类网络及目标点云回归网络;接着再可通过已训练的目标点云分类网络对视锥体内的点云进行筛选,得到目标点云;之后再通过已训练的目标点云回归网络提取出该目标点云的三维包围框的空间位置信息。
在一些实施例中,为了增加点云分类网络及点云回归网络的收敛速度,还可在步骤104之前,由机器人先对视锥体内的点云进行坐标归一化处理;则步骤104可相应表现为:基于上述已训练的神经网络及坐标归一化处理后的上述视锥体内的点云,提取得到上述目标 的空间位置信息。可以理解,由于步骤103所得的视椎体并不垂直于相机平面,因此需要对点云坐标系进行调整(旋转及平移);视椎体内的点云在调整后的点云坐标系下的点云坐标即为归一化处理后的点云坐标。请参阅图5,图5给出了点云坐标系的调整过程的示意:由于点云自身具备旋转不变性的特点,可先将相机原点与视椎体内点云的中心点的连线作为新的Z轴,与原始的点云坐标系的Z轴计算旋转角度,由此可基于该旋转角度实现点云坐标系的旋转;然后将该中心点作为新的原点,由此可实现点云坐标系的平移。可以理解,对点云坐标系的调整实际上是为了对点云的点云坐标进行归一化操作,使得点云分布更加均匀,有利于后续神经网络(也即点云分类网络及点云回归网络)的收敛。
由上可见,通过本申请实施例,只需要机器人搭载成本较低的RGB相机及深度相机即可实现准确的目标检测,具体为:通过RGB相机所采集的环境彩色图可以快速识别出环境中的语义信息,获知目标的类别,通过深度相机所采集的环境深度图结合环境彩色图可以得到目标的点云信息,以此可快速识别出目标在环境空间中的位置。可见,上述过程在降低了机器人成本的前提下,不仅可准确识别出环境中目标的位置,还可识别出环境中目标的类别,可帮助机器人更好的进行避障决策。
对应于上文所提供的目标检测方法,本申请实施例还提供了一种目标检测装置。如图6所示,该目标检测装置600包括:
获取模块601,用于获取环境彩色图及环境深度图;
识别模块602,用于对上述环境彩色图进行目标识别,得到目标的类别信息及二维位置信息;
第一提取模块603,用于基于上述二维位置信息,在环境点云图中提取出包含上述目标的视锥体,其中,上述环境点云图基于上述环境深度图及上述环境彩色图而生成;
第二提取模块604,用于基于已训练的神经网络及上述视锥体,提取得到上述目标的空间位置信息;
输出模块605,用于输出上述类别信息及上述空间位置信息。
可选地,上述第一提取模块603,包括:
映射点云确定单元,用于基于上述二维位置信息,在上述环境点云图中确定上述目标的映射点云;
视椎体获取单元,用于通过预设的***面及远平面,获取能够包含上述映射点云的预设数量个角点的视锥体。
可选地,上述第二提取模块604,包括:
筛选单元,用于通过已训练的点云分类网络对上述视锥体内的点云进行筛选,得到目标点云,上述目标点云为属于上述目标的点云;
提取单元,用于通过已训练的点云回归网络提取出上述目标点云的三维包围框的空间位置信息。
可选地,上述筛选单元,包括:
概率获取子单元,用于将上述视锥体内的点云输入至上述已训练的点云分类网络中,得到上述视锥体内的点云中的各个点属于上述目标的概率;
目标点云确定子单元,用于将属于上述目标的概率大于预设概率阈值的所有点确定为上述目标点云。
可选地,上述提取单元,具体用于将上述目标点云输入至上述已训练的点云回归网络中,得到上述三维包围框的中心点的三维坐标、上述三维包围框的尺寸及上述三维包围框的朝向角度。
可选地,每个物体类别分别对应一个已训练的点云分类网络;上述第二提取模块604还包括:
目标点云分类网络确定单元,用于将与上述类别信息对应的已训练的点云分类网络确定为已训练的目标点云分类网络;
相应地,上述筛选单元,用于通过上述已训练的目标点云分类网络对上述视锥体内的点云进行筛选,得到上述目标点云。
可选地,上述目标检测装置600还包括:
归一化模块,用于对上述视锥体内的点云进行坐标归一化处理;
相应地,上述第二提取模块604,具体用于基于上述已训练的神经网络及坐标归一化处理后的上述视锥体内的点云,提取得到上述目标的空间位置信息。
由上可见,通过本申请实施例,只需要机器人搭载成本较低的RGB相机及深度相机即可实现准确的目标检测,具体为:通过RGB相机所采集的环境彩色图可以快速识别出环境中的语义信息,获知目标的类别,通过深度相机所采集的环境深度图结合环境彩色图可以得到目标的点云信息,以此可快速识别出目标在环境空间中的位置。可见,上述过程在降低了机器人成本的前提下,不仅可准确识别出环境中目标的位置,还可识别出环境中目标的类别,可帮助机器人更好的进行避障决策。
对应于上文所提供的目标检测方法,本申请实施例还提供了一种机器人。请参阅图7,本申请实施例中的机器人7包括:存储器701,一个或多个处理器702(图7中仅示出一个)及存储在存储器701上并可在处理器上运行的计算机程序。其中:存储器701用于存储软件程序以及单元,处理器702通过运行存储在存储器701的软件程序以及单元,从而执行各种功能应用以及诊断,以获取上述预设事件对应的资源。具体地,处理器702通过运行存储在存储器701的上述计算机程序时实现以下步骤:
获取环境彩色图及环境深度图;
对上述环境彩色图进行目标识别,得到目标的类别信息及二维位置信息;
基于上述二维位置信息,在环境点云图中提取出包含上述目标的视锥体,其中,上述环境点云图基于上述环境深度图及上述环境彩色图而生成;
基于已训练的神经网络及上述视锥体,提取得到上述目标的空间位置信息;
输出上述类别信息及上述空间位置信息。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述基于上述二维位置信息,在环境点云图中提取出包含上述目标的视锥体,包括:
基于上述二维位置信息,在上述环境点云图中确定上述目标的映射点云;
通过预设的***面及远平面,获取能够包含上述映射点云的预设数量个角点的视锥体。
在上述第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述基于已训练的神经网络及上述视锥体,提取得到上述目标的空间位置信息,包括:
通过已训练的点云分类网络对上述视锥体内的点云进行筛选,得到目标点云,上述目标点云为属于上述目标的点云;
通过已训练的点云回归网络提取出上述目标点云的三维包围框的空间位置信息。
在上述第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述通过已训练的点云分类网络对上述视锥体内的点云进行筛选,得到目标点云,包括:
将上述视锥体内的点云输入至上述已训练的点云分类网络中,得到上述视锥体内的点云中的各个点属于上述目标的概率;
将属于上述目标的概率大于预设概率阈值的所有点确定为上述目标点云。
在上述第三种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述通过已训练的点云回归网络提取出上述目标点云的三维包围框的空间位置信息,包括:
将上述目标点云输入至上述已训练的点云回归网络中,得到上述三维包围框的中心点的三维坐标、上述三维包围框的尺寸及上述三维包围框的朝向角度。
在上述第三种可能的实施方式作为基础而提供的第六种可能的实施方式中,每个物体类别分别对应一个已训练的点云分类网络;在上述通过已训练的点云分类网络对上述视锥体内的点云进行筛选之前,处理器702通过运行存储在存储器701的上述计算机程序时还 实现以下步骤:
将与上述类别信息对应的已训练的点云分类网络确定为已训练的目标点云分类网络;
相应地,上述通过已训练的点云分类网络对上述视锥体内的点云进行筛选,得到目标点云,包括:
通过上述已训练的目标点云分类网络对上述视锥体内的点云进行筛选,得到上述目标点云。
在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础,或者上述第五种可能的实施方式作为基础,或者上述第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,在上述基于已训练的神经网络及上述视锥体,提取得到上述目标的空间位置信息之前,处理器702通过运行存储在存储器701的上述计算机程序时还实现以下步骤:
对上述视锥体内的点云进行坐标归一化处理;
相应地,上述基于已训练的神经网络及上述视锥体,提取得到上述目标的空间位置信息,包括:
基于上述已训练的神经网络及坐标归一化处理后的上述视锥体内的点云,提取得到上述目标的空间位置信息。
应当理解,在本申请实施例中,所称处理器702可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器701可以包括只读存储器和随机存取存储器,并向处理器702提供指令和数据。存储器701的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器701还可以存储设备类别的信息。
由上可见,通过本申请实施例,只需要机器人搭载成本较低的RGB相机及深度相机即可实现准确的目标检测,具体为:通过RGB相机所采集的环境彩色图可以快速识别出环境中的语义信息,获知目标的类别,通过深度相机所采集的环境深度图结合环境彩色图可以得到目标的点云信息,以此可快速识别出目标在环境空间中的位置。可见,上述过程在降低了机器人成本的前提下,不仅可准确识别出环境中目标的位置,还可识别出环境中目标的类别,可帮助机器人更好的进行避障决策。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员 可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
- 一种目标检测方法,其特征在于,包括:获取环境彩色图及环境深度图;对所述环境彩色图进行目标识别,得到目标的类别信息及二维位置信息;基于所述二维位置信息,在环境点云图中提取出包含所述目标的视锥体,其中,所述环境点云图基于所述环境深度图及所述环境彩色图而生成;基于已训练的神经网络及所述视锥体,提取得到所述目标的空间位置信息;输出所述类别信息及所述空间位置信息。
- 如权利要求1所述的目标检测方法,其特征在于,所述基于所述二维位置信息,在环境点云图中提取出包含所述目标的视锥体,包括:基于所述二维位置信息,在所述环境点云图中确定所述目标的映射点云;通过预设的***面及远平面,获取能够包含所述映射点云的预设数量个角点的视锥体。
- 如权利要求1所述的目标检测方法,其特征在于,所述基于已训练的神经网络及所述视锥体,提取得到所述目标的空间位置信息,包括:通过已训练的点云分类网络对所述视锥体内的点云进行筛选,得到目标点云,所述目标点云为属于所述目标的点云;通过已训练的点云回归网络提取出所述目标点云的三维包围框的空间位置信息。
- 如权利要求3所述的目标检测方法,其特征在于,所述通过已训练的点云分类网络对所述视锥体内的点云进行筛选,得到目标点云,包括:将所述视锥体内的点云输入至所述已训练的点云分类网络中,得到所述视锥体内的点云中的各个点属于所述目标的概率;将属于所述目标的概率大于预设概率阈值的所有点确定为所述目标点云。
- 如权利要求3所述的目标检测方法,其特征在于,所述通过已训练的点云回归网络提取出所述目标点云的三维包围框的空间位置信息,包括:将所述目标点云输入至所述已训练的点云回归网络中,得到所述三维包围框的中心点的三维坐标、所述三维包围框的尺寸及所述三维包围框的朝向角度。
- 如权利要求3所述的目标检测方法,其特征在于,每个物体类别分别对应一个已训练的点云分类网络;在所述通过已训练的点云分类网络对所述视锥体内的点云进行筛选之前,所述目标检测方法还包括:将与所述类别信息对应的已训练的点云分类网络确定为已训练的目标点云分类网络;相应地,所述通过已训练的点云分类网络对所述视锥体内的点云进行筛选,得到目标点云,包括:通过所述已训练的目标点云分类网络对所述视锥体内的点云进行筛选,得到所述目标点云。
- 如权利要求1至6任一项所述的目标检测方法,其特征在于,在所述基于已训练的神经网络及所述视锥体,提取得到所述目标的空间位置信息之前,所述目标检测方法还包括:对所述视锥体内的点云进行坐标归一化处理;相应地,所述基于已训练的神经网络及所述视锥体,提取得到所述目标的空间位置信息,包括:基于所述已训练的神经网络及坐标归一化处理后的所述视锥体内的点云,提取得到所述目标的空间位置信息。
- 一种目标检测装置,其特征在于,包括:获取模块,用于获取环境彩色图及环境深度图;识别模块,用于对所述环境彩色图进行目标识别,得到目标的类别信息及二维位置信 息;第一提取模块,用于基于所述二维位置信息,在环境点云图中提取出包含所述目标的视锥体,其中,所述环境点云图基于所述环境深度图及所述环境彩色图而生成;第二提取模块,用于基于已训练的神经网络及所述视锥体,提取得到所述目标的空间位置信息;输出模块,用于输出所述类别信息及所述空间位置信息。
- 一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110775039.0 | 2021-07-08 | ||
CN202110775039.0A CN113627478A (zh) | 2021-07-08 | 2021-07-08 | 一种目标检测方法、目标检测装置及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023279584A1 true WO2023279584A1 (zh) | 2023-01-12 |
Family
ID=78379558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/126716 WO2023279584A1 (zh) | 2021-07-08 | 2021-10-27 | 一种目标检测方法、目标检测装置及机器人 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113627478A (zh) |
WO (1) | WO2023279584A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382308A (zh) * | 2023-06-05 | 2023-07-04 | 华侨大学 | 智能化移动机械自主寻径与避障方法、装置、设备及介质 |
CN117036953A (zh) * | 2023-08-21 | 2023-11-10 | 中国科学院自动化研究所 | 一种多特征融合的煤矸识别方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114638894B (zh) * | 2022-03-18 | 2024-07-23 | 纯米科技(上海)股份有限公司 | 机器人行走的定位方法、***、电子装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109523552A (zh) * | 2018-10-24 | 2019-03-26 | 青岛智能产业技术研究院 | 基于视锥点云的三维物体检测方法 |
US20190147245A1 (en) * | 2017-11-14 | 2019-05-16 | Nuro, Inc. | Three-dimensional object detection for autonomous robotic systems using image proposals |
CN109784333A (zh) * | 2019-01-22 | 2019-05-21 | 中国科学院自动化研究所 | 基于点云带权通道特征的三维目标检测方法及*** |
US20200376675A1 (en) * | 2019-05-28 | 2020-12-03 | X Development Llc | Robotic control based on 3d bounding shape, for an object, generated using edge-depth values for the object |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11462023B2 (en) * | 2019-11-14 | 2022-10-04 | Toyota Research Institute, Inc. | Systems and methods for 3D object detection |
CN111080693A (zh) * | 2019-11-22 | 2020-04-28 | 天津大学 | 一种基于YOLOv3的机器人自主分类抓取方法 |
-
2021
- 2021-07-08 CN CN202110775039.0A patent/CN113627478A/zh active Pending
- 2021-10-27 WO PCT/CN2021/126716 patent/WO2023279584A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190147245A1 (en) * | 2017-11-14 | 2019-05-16 | Nuro, Inc. | Three-dimensional object detection for autonomous robotic systems using image proposals |
CN109523552A (zh) * | 2018-10-24 | 2019-03-26 | 青岛智能产业技术研究院 | 基于视锥点云的三维物体检测方法 |
CN109784333A (zh) * | 2019-01-22 | 2019-05-21 | 中国科学院自动化研究所 | 基于点云带权通道特征的三维目标检测方法及*** |
US20200376675A1 (en) * | 2019-05-28 | 2020-12-03 | X Development Llc | Robotic control based on 3d bounding shape, for an object, generated using edge-depth values for the object |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382308A (zh) * | 2023-06-05 | 2023-07-04 | 华侨大学 | 智能化移动机械自主寻径与避障方法、装置、设备及介质 |
CN116382308B (zh) * | 2023-06-05 | 2023-09-05 | 华侨大学 | 智能化移动机械自主寻径与避障方法、装置、设备及介质 |
CN117036953A (zh) * | 2023-08-21 | 2023-11-10 | 中国科学院自动化研究所 | 一种多特征融合的煤矸识别方法 |
CN117036953B (zh) * | 2023-08-21 | 2024-02-13 | 中国科学院自动化研究所 | 一种多特征融合的煤矸识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113627478A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023279584A1 (zh) | 一种目标检测方法、目标检测装置及机器人 | |
CN109784333B (zh) | 基于点云带权通道特征的三维目标检测方法及*** | |
CN110264416B (zh) | 稀疏点云分割方法及装置 | |
WO2020119684A1 (zh) | 一种3d导航语义地图更新方法、装置及设备 | |
TWI395145B (zh) | 手勢辨識系統及其方法 | |
CN113052835B (zh) | 一种基于三维点云与图像数据融合的药盒检测方法及其检测*** | |
WO2018120027A1 (zh) | 一种障碍物检测方法及装置 | |
CN113192646B (zh) | 目标检测模型构建方法及不同目标间距离监控方法、装置 | |
CN111612841A (zh) | 目标定位方法及装置、移动机器人及可读存储介质 | |
WO2022179549A1 (zh) | 一种标定方法、装置、计算机设备和存储介质 | |
WO2022082999A1 (zh) | 一种物体识别方法、装置、终端设备及存储介质 | |
WO2022206517A1 (zh) | 一种目标检测方法及装置 | |
CN113192179A (zh) | 一种基于双目立体视觉的三维重建方法 | |
WO2022160587A1 (zh) | 深度检测方法、装置、电子设备、存储介质及程序产品 | |
CN113673584A (zh) | 一种图像检测方法及相关装置 | |
KR20220017697A (ko) | 복수의 센서간 캘리브레이션 방법 및 장치 | |
CN109214288B (zh) | 基于多旋翼无人机航拍视频的帧间场景匹配方法及装置 | |
TW202225730A (zh) | 基於深度學習之高效率光達物件偵測方法 | |
CN111127358B (zh) | 图像处理方法、装置及存储介质 | |
US11961256B2 (en) | Method for indoor localization using deep learning | |
CN109658453B (zh) | 圆心确定方法、装置、设备及存储介质 | |
WO2022247126A1 (zh) | 视觉定位方法、装置、设备、介质及程序 | |
CN113454684A (zh) | 一种关键点标定方法和装置 | |
CN117152330B (zh) | 一种基于深度学习的点云3d模型贴图方法和装置 | |
CN112529917A (zh) | 一种三维目标分割方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21949070 Country of ref document: EP Kind code of ref document: A1 |