Patent Publication Number: US-11651052-B2

Title: Methods for extracting point cloud feature

Description:
TECHNICAL FIELD 
     The present disclosure relates to methods for extracting point cloud feature, computer devices, and storage media. 
     BACKGROUND 
     Three-dimensional target detection is to identify and locate targets in a three-dimensional scene. A voxel-based PointNet feature extractor conducts two-dimensional voxelization of the point clouds, which can provide efficient detection. Since the size of the feature map determines the computation and memory cost, the size of the voxel becomes a parameter that is hard to be balanced. A smaller voxel size gives a better performance, especially for smaller objects, but it will lead to longer inference time. A larger voxel size can cover the same point cloud area with a smaller feature map, yet fails to capture intricate features and accurate location of smaller objects. 
     SUMMARY 
     According to various embodiments disclosed by the present application, methods for extracting point cloud feature, computer devices, and storage media are provided. 
     The method for extracting point cloud feature includes: obtaining an original point cloud, conducting hybrid scale voxelization on the original point cloud; generating point-wise hybrid scale voxel features by feature encoding the point cloud subjected to the hybrid scale voxelization; and generating pseudo image feature maps using aggregated features and projection scale information. 
     A computer device including a memory and one or more processors, computer-readable instructions are stored in the memory, when executed by the one or more processors, causing the one or more processors to perform steps of: obtaining an original point cloud, conducting hybrid scale voxelization on the original point cloud; generating point-wise hybrid scale voxel features by encoding the point cloud subjected to the hybrid scale voxelization; and generating pseudo image feature maps using aggregated features and projection scale information. 
     One or more non-transitory computer-readable storage medium storing computer-readable instructions, when executed by the one or more processors, causing the one or more processors to perform steps of: obtaining an original point cloud, conducting hybrid scale voxelization on the original point cloud; generating point-wise hybrid scale voxel features by feature encoding the point cloud subjected to the hybrid scale voxelization; and generating pseudo image feature maps using aggregated features and projection scale information. 
     Details of one or more embodiments of the present application are set forth in the following drawings and description. Other features and advantages of the present application will become apparent from the description, drawings and claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In order to more clearly describe technical solutions according to the embodiments of the present application, drawings that are required in the embodiments will be briefly introduced below. Apparently, the drawings in the following description are only some embodiments of the present application. For a person of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work. 
         FIG.  1    is a view showing an application environment of a method for extracting point cloud feature according to one or more embodiments. 
         FIG.  2    is a schematic flowchart of a method for extracting point cloud feature according to one or more embodiments. 
         FIG.  3    is a schematic view showing voxel feature extraction in different networks according to one or more embodiments. 
         FIG.  4    is a schematic view showing an attention mechanism voxel feature encoding (AVFE) layer and an attention mechanism voxel feature encoding output (AVEFO) layer according to one or more embodiments. 
         FIG.  5    is a schematic view showing a target detection network according to one or more embodiments. 
         FIG.  6    is a schematic view showing network structure of a backbone network according to one or more embodiments. 
         FIG.  7    is a schematic view showing bird eye view performance vs speed on KITTI data set according to one or more embodiments. 
         FIG.  8    is a block diagram of a computer device according to one or more embodiments. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     In order to illustrate technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present application, and not to limit the present application. 
     A method for extracting point cloud feature according to this application can be applied to an application environment as shown in  FIG.  1   . An autonomous vehicle  100  in  FIG.  1    includes a lidar  110  and an in-vehicle computer  120 . The lidar  110  scans a three-dimensional (3D) scene to obtain an original point cloud, and transmits the original point cloud to the in-vehicle computer  120 . The in-vehicle computer  120  conducts hybrid scale voxelization on the original point cloud, conducts feature encoding on the point cloud subjected to hybrid scale voxelization to generate point-wise hybrid scale voxel features, and generates pseudo image feature maps using aggregated features and projection scale information. The in-vehicle computer  120  conducts hybrid voxel scale feature fusion on pseudo image feature maps to generate multi-class features. The in-vehicle computer  120  predicts different classes of 3D object boxes based on the multiple-class features. Through fusing the features of voxel feature encoders of different scales at a point level and projecting the hybrid scale voxel features into multiple pseudo-image feature maps, problems that at a single voxel scale, the inference time is longer when the voxel scale is smaller, and that the larger voxel fails to capture intricate features and accurate location of smaller objects can be effectively overcome. In this way, different classes of 3D objects can be quickly and accurately detected in the 3D scene. 
     The method for extracting point cloud feature according to this application can also be applied to a robot. The robot includes a lidar and a computer. Where, the lidar of the robot can also be replaced with a 3D scanner, a depth camera or the like. The computer of the robot extracts hybrid scale voxel features by means of the in-vehicle computer in  FIG.  1   , and uses the hybrid scale voxel features to predict different classes of 3D object boxes. In this way, different classes of 3D objects can be quickly and accurately detected in the 3D scene. 
     In some embodiments, the method for extracting point cloud feature may be executed by processing logic, which includes hardware (for example, circuits, dedicated logic, programmable logic, microcode, etc.), software (for example, instructions running on processing device) or a combination thereof. As shown in  FIG.  2   , the method for extracting point cloud feature includes the following steps: 
     Step  202 : obtain an original point cloud, conduct hybrid scale voxelization on the original point cloud. 
     Step  204 : generate point-wise hybrid scale voxel features by feature encoding the point cloud subjected to the hybrid scale voxelization. 
     Step  206 : generate pseudo image feature maps using aggregated features and projection scale information. 
     In a conventional method for extracting features, for example, in a voxel feature encoding (VFE) method, as shown in the VFE in  FIG.  3   , the original point cloud is voxelized via a specified two-dimensional voxel grid, and the voxel scale is fixed. The calculation of each point in the original point cloud depends on point-wise features of the grid, and the point-wise features are inputted into a feature encoder with a PointNet style. The point-wise features are aggregated into voxel-level features and projected back to their original grid to form pseudo image feature maps. There is only one voxel scale in the VFE method, and only one projection scale of the pseudo image feature maps. The features of each of the points in the VFE method only includes voxel features with a specified voxel scale. The size of the voxel is a key parameter in the VFE method. A smaller voxel can capture finer geometric feature and better locate an object that is detected, but require longer inference time. A coarser voxel leads to a smaller pseudo image feature map and faster inference speed, but has inferior performance, especially for smaller detected objects. 
     In this embodiment, a hybrid voxel feature extractor (HVFE) can have multiple voxel scales during voxelization, and the projection scale of the pseudo image when projecting may also be multiple or one. Where, multiple refers to two or more. The projection scale can be less than the voxel scale. As shown in the HVFE in  FIG.  3   , the HVFE aggregates the scale voxel features at the hybrid voxel scales into a global context, and then projects them to the pseudo image feature maps at dynamic projection scales. By decoupling voxel feature extraction and pseudo image feature map projection, the features extracted by the HVFE are effectively fused. The features of voxels are extracted, and the scales are compactly gathered in a point-wise manner to obtain higher computational efficiency and storage efficiency. 
     For example, a voxel scale set can be {0.1 m, 0.2 m, 0.4 m}, and the projection scale set is {0.4 m}. For a spatial area of 80 m×80 m, a pseudo image feature map of 200×200 can be finally obtained. For a general VFE, a feature map of 800×800 size is required to capture fine features at a voxel scale of 0.1 m. 
     It should be understood that although the various steps in the flowchart of  FIG.  2    are displayed in sequence as indicated by arrows, these steps are not necessarily performed in sequence in the order indicated by the arrows. Unless explicitly stated herein, the performing of these steps is not strictly limited in order, and these steps can be performed in other orders. Moreover, at least a portion of the steps in  FIG.  2    may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily performed at the same time, but can be performed at different times. The performing sequence of these sub-steps or stages is not necessarily performed sequentially, but may be performed in turn or alternately with other steps or at least a portion of sub-steps or stages of other steps. 
     In some of the embodiments, in the method for extracting point cloud feature, the hybrid voxel feature extractor (HVFE) uses multi-voxel scale to voxelize the space of the original point cloud, and allocates the corresponding multi-voxel scale voxels to each of the points in the original point cloud. One original point cloud can be represented as an undirected graph set {p 1 , p 2 , . . . , p N }, where p i ∈   d . Each of the points in the original point cloud consists of two parts, which are a 3D coordinates (x, y, z) of a point and point cloud features f i ∈   d+3  associated with that point. Assuming that a physical dimension that is detected is L×W×H, from (x min , y min , z min ) to (x max , y max , z max ). Voxelization refers to dividing the space with small grids, and matching points in the original point cloud with the ids of the divided grids. In some of prior methods, such as VoxelNet and PointPillar, a process corresponding to the id needs to allocate a space with corresponding capacity in memory in advance. If point number allocated in one grid exceeds preset capacity of the space, extra points will be dropped, which will cause information loss of some points, and the inference result cannot be reproduced. In this embodiment, in the hybrid scale voxelization stage, only the id of the voxel is recorded, and there is no need to pre-allocate a space with corresponding capacity in the memory in advance. Assuming that the point cloud space of the original point cloud is voxelized into a voxel set V={V j |j=1, . . . , N V }, where the size of each voxel is V L ×V W ×V H . Where, V H  is set to H. For target voxel at a voxel scale s, the point-wise index c i  serves as a cursor, indicating the voxel id to which the point lies in, and which is represented as: 
     
       
         
           
             
               
                 
                   
                     c 
                     i 
                     
                       ( 
                       s 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         ⌊ 
                         
                           
                             ( 
                             
                               
                                 x 
                                 i 
                               
                               - 
                               
                                 x 
                                 min 
                               
                             
                             ) 
                           
                           
                             
                               V 
                               H 
                             
                             ⁢ 
                             s 
                           
                         
                         ⌋ 
                       
                       ⁢ 
                       
                         ⌊ 
                         
                           L 
                           
                             
                               V 
                               
                                 L 
                                    
                               
                             
                             ⁢ 
                             s 
                           
                         
                         ⌋ 
                       
                     
                     + 
                     
                       ⌊ 
                       
                         
                           ( 
                           
                             
                               y 
                               i 
                             
                             - 
                             
                               y 
                               min 
                             
                           
                           ) 
                         
                         
                           
                             V 
                             W 
                           
                           ⁢ 
                           s 
                         
                       
                       ⌋ 
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     The point cloud space can be voxelized to different voxel scales with reference to the above method. Unlike MVF which need bidirectional relationships, in this application, only mapping relationship between points and voxels needs to be recorded to know the voxels to which each of the points lies in at different voxel scales. In the hybrid scale voxelization stage, only the index is spatially allocated. In the hybrid scale voxelization stage, the index set consisting of point-wise indexes at each voxel scale can be called a first index set. Compared with prior methods that limit the point number in each of the voxels, points in each voxel are retained in this application, which helps to improve the accuracy of target detection. 
     After the hybrid scale voxelization, scale voxel features of each of the points in the original point cloud at each voxel scale can be calculated. Where, point cloud features are low-dimensional features, and thus high-dimensional scale voxel features can be obtained by feature mapping. For example, a 3D point cloud feature f i  can be mapped to an eight-dimensional scale voxel feature F via a matrix of 3*8. At different voxel scales, the scale voxel features F of the same point are different. 
     In a conventional method, take PointPillar as an example, a voxel-based method is limited to a fixed voxel scale s, thus the point cloud feature extracted each time only contains information on the voxel scale s. In addition, the size of the final projection feature is the same as the corresponding voxel size, which means that the computational complexity will rise rapidly with the addition of fine-grained voxel scale. Assuming that the features in the pseudo image feature map obtained by projection are represented as I s ∈   N     W     ×N     L     ×N     H   , (I sr  is referred to as pseudo image feature for short), where N L =└L/(V L  s)┘, N W =└W/(V W  s)┘ and N H  is the projection output dimension. When s is reduced by n times, N W ×N L  will increase by n 2  times. 
     The HVFE encodes the point-wise scale voxel features at one of the voxel scales and scale voxel features of the same point at other voxel scales to generate point-wise hybrid scale voxel features. A point-wise scale voxel feature set at a voxel scale can be represented as S T ={s t |1&lt;t&lt;N T }. 
     In some of the embodiments, in the method for extracting point cloud feature, an AVFE layer encodes a voxel scale feature set, a first index set, and a first attention feature set at each voxel scale to generate a voxel scale feature collection, and aggregates the voxel scale feature collections at each voxel scale to generate point-wise hybrid scale voxel features. For example, a hybrid voxelization is conducted on the original point cloud to obtain the first index set c S     T   ={c i   (S     t     ) |s t ∈S T , i∈[1, N]} consisting of first indexes. The scale voxel features of a voxel-wise point are aggregated to generate the first attention feature set. The features in the first attention feature set are represented by G S     T   , and the attention features of the same point have the same dimension as the scale voxel features. Where, the index of the voxel scale s t+1  is represented as c s     t+1   ; the voxel scale feature is represented as F s     t+1   ; the attention feature is represented as G s     t+1   ; the index of the voxel scale s t  includes c s     t   ; the voxel scale feature is represented as F s     t   ; the attention feature is represented by G s     t   , and so on. The AVFE layer encodes F, G S     T    and c S     T    into voxel scale feature collection H S     T   , where each voxel scale s has a feature H S     T   ∈   N×q . Then, H S     T    is aggregated into a hybrid scale voxel feature H∈   N×q  via tensor concatenation, where e=2qN T . It is validated by experiments that only limited N T  of inputted hybrid scale voxel features are required, and enough scale information can be extracted via a dynamic feature projection to restore the information on the unknown voxel scale set S T . 
     In some of the embodiments, in the method for extracting point cloud feature, an AVFEO layer restores projection scale information of point-wise hybrid scale voxel features, a second index set at each of projection scales, and a second attention feature set, and projects the restored projection scale information to the pseudo image feature map. The hybrid scale voxel feature H is a high-dimensional global scale feature, which has rich voxel scale information. Therefore, the projection scales in projection scale set S R ={s r |1&lt;r&lt;N R } of the pseudo image features may be out of voxel scale set S T , and these unlearned scales will be projected and mapped by the feature H. In order to restore information at each projection scale s, from H during dynamic projection, some additional scale-related information needs to be used as guidance. The second index set c S   R ={c (S     r     ) |s r ∈S R }, and the second attention feature set G S     R    are pre-calculated before projection. Where, the second attention feature set is pre-calculated using the prior distribution of points in the original point cloud before projection. The index of the projection scale s r+1  is represented as c s     r+1   ; the attention feature is represented as G s     r+1   ; the index of the projection scale s, includes c s     r   ; the attention feature is represented as G s     r   , and so on. 
     The AVFEO layer takes the point-wise hybrid scale voxel features, the index and the attention features at each of projection scales as input, and restores the corresponding projection scale information, and projects the projection scale information to the corresponding pseudo image features. For example, the AVFEO layer takes H, c s     r    and G S     r    as input to restore information at projection scale s r , and then projects the information at projection scale s r  to the pseudo image features I s     r   . Like the AVFE layer, all layers in the AVFEO layer share parameters. In the dynamic feature projection, G s     r    is the key for scale feature retrieval, and guides the AVFEO layer to be more attentive to project H into projection scale s r . In addition, c s     r    is used as an efficient implementation of the AVFEO layer. 
     In the conventional voxel feature encoding layer, the data is voxelized by setting the maximum point number in each voxel and pre-allocating memory. Then, linear transformation and max pooling are conducted in each voxel to aggregate features. Then, the pseudo image features are extracted according to the physical locations of the voxels. Although the VFE method provides a simple method for extracting the features of sparse point clouds, there are points dropped stochastically during voxelization, leading to tremendous information losses and instability prediction behaviors. Moreover, zero padding is conducted when point number is lower than limitation, which can greatly enlarge amounts of computation and memory consumption, and introduce additional information that is wrong. 
     In some embodiments, the hybrid voxel feature extractor includes: an attention mechanism voxel feature encoding (AVFE) layer and an attention mechanism voxel feature encoding output (AVFEO) layer. The AVFE layer is configured to encode voxel-wise attention features at each voxel scale. The encoded attention features are used to generate hybrid scale voxel features. AVFEO layer is configured to restore projection scale information. The projection scale information is projected into the pseudo image feature map. 
     As an expansion of the original point-wise features p i , the attention features g j ∈   q  of the voxel V j  is obtained by aggregating voxel-wise point features. Such attention features guide the feature encoding network to be more attentive to interrelationships between the points in the same voxel. Take calculating attention features of the voxel V j  at voxel scale s as an example. Average spatial features are calculated via the spatial features of points in the voxel V j , and average features are calculated via the voxel features of points in the voxel V j . Moreover, 3D spatial features, average spatial features, point cloud features, and average features are aggregated to generate point-wise attention features in the voxel V j . The attention features G of the voxel V j  are generated via the point-wise attention features in the voxel V j . 
     Assuming that voxel cursor c is set for the point p i  in the voxel V j , the attention features g j  of the point p i  can be represented as: 
     
       
         
           
             
               
                 
                   
                     g 
                     i 
                   
                   = 
                   
                     
                       ( 
                       
                         
                           ( 
                           
                             
                               x 
                               i 
                             
                             - 
                             
                               
                                 ∑ 
                                 
                                   
                                     U 
                                     j 
                                   
                                   ⁢ 
                                   
                                     x 
                                     k 
                                   
                                 
                               
                               
                                 N 
                                 
                                   U 
                                   j 
                                 
                               
                             
                           
                           ) 
                         
                         ⊕ 
                         
                           f 
                           i 
                         
                       
                       ) 
                     
                     ⊕ 
                     
                       
                         ∑ 
                         
                           
                             U 
                             j 
                           
                           ⁢ 
                           
                             p 
                             k 
                           
                         
                       
                       
                         N 
                         
                           U 
                           j 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     Where, ⊕ represents tensor concatenation. The set U j  is an index set of a series of points that lies in the same voxel as the point p i , which is represented as U j ={k|0&lt;k&lt;N&amp;c k =c i }. 
     During dynamic feature projection, as shown in  FIG.  4   , first, hybrid scale voxel features and attention features are conducted via a shared fully connected layer, followed by an element-wise matrix multiply to obtain mapping features. The mapping features are aggregated via a max pooling layer to obtain projection scale information. The projection scale information includes voxel-wise projection features G′∈   N×q . For the AVFEO layer, each feature in the G′ is mapped to be a point (x I   s     r   , y I   s     r   ) on the pseudo image feature I sr , and which is represented as: 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             x 
                             I 
                             
                               s 
                               r 
                             
                           
                           = 
                           
                             
                               c 
                               j 
                               
                                 s 
                                 r 
                               
                             
                             | 
                             
                               ⌊ 
                               
                                 W 
                                 
                                   
                                     v 
                                     W 
                                   
                                   ⁢ 
                                   
                                     s 
                                     r 
                                   
                                 
                               
                               ⌋ 
                             
                           
                         
                         , 
                       
                     
                     
                       
                         
                           y 
                           I 
                           
                             s 
                             r 
                           
                         
                         = 
                         
                           
                             c 
                             j 
                             
                               s 
                               r 
                             
                           
                           ⁢ 
                           mod 
                           ⁢ 
                           
                             ⌊ 
                             
                               W 
                               
                                 
                                   v 
                                   W 
                                 
                                 ⁢ 
                                 
                                   s 
                                   r 
                                 
                               
                             
                             ⌋ 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     Where, s r  represents the projection scale, I represents exact division, mod represents modulo operation. 
     In some embodiments, the original point cloud is sparse data. This application proposes to convert the sparse matrix in the point clouds into a dense matrix of the corresponding index. The process of obtaining U j  requires a large number of loops. It is validated by experiments that, whether hybrid voxel net (HVNet) is efficient is related to the calculation strategy performance of the index and the parallel scheduling efficiency of the entire network model. The key index-based propagation operators, Scatter and Gather, are implemented on graphics processing units (GPUs). 
     The Gather conducts feature aggregation of sparse point data within voxel and behave as tensor slice according to a cursor vector. The Scatter manipulates all values from source tensor according to the index specified in the given cursor, and finally, outputs via each of the different indexes, separately. In one of the embodiments, the Scatter Mean is used in the voxel-wise attention features, and the Scatter Max is used in the AVFE layer and AVFEO layer. Take the Scatter Max as an example, the corresponding equation is represented as: 
     out i =max(out i , max({src j |c j =i, j∈c}), where, out and src are output and source, respectively, c is an index that references each location of src. In the implementation of Scatter, atomic lock of the GPU Global Memory is used to ensure the reproducibility and consistency of argmax results. 
     In some of the embodiments, as shown in  FIG.  5   , the HVFE, a backbone network and a detection head form a single-stage 3D target detection network HVNet. The backbone network is used to conduct hybrid voxel scale feature fusion on the pseudo image feature map to generate multi-class features. The detection head is used to predict different classes of 3D object boxes via the multi-class features. In this way, it is possible to take into account inference time and capturing complex features, and quickly and accurately detect different classes of 3D objects in the 3D scene. 
     In some embodiments, the backbone network may be a 2D convolutional backbone network. The 2D convolutional backbone network includes a main network and a feature fusion pyramid network (FFPN). The main network aggregates pseudo image feature maps at multiple projection scales. The FFPN conducts class feature extraction on the aggregated features of the main network to obtain class-specific pyramid features. 
     In some embodiments, the main network includes a plurality of network blocks. The pseudo image feature maps at different projection scales are inputted into different network blocks. The next projection scale is a preset multiple of the previous projection scale. For example, the projection scale is represented as s r+1 =2s r . Convolutional layers in different network blocks can be partially the same or completely different. Starting from the second network block, the first layer in the network block reduces the space capacity of pseudo image features by convolution of specified strides. For example, the specified stride can be 2×2. 
     Take the main network including 3 network blocks as an example. The network structure of the 2D convolutional backbone network is shown in  FIG.  6   . The network block  1  takes pseudo image feature maps I s     1    as input, conducts a convolution, and takes the results of the convolution as aggregated features of the network block  1 . The network block  2  aggregates the pseudo image feature maps I s     2    and the aggregated features outputted by the network block  1 . When there are more network blocks, the latter network block aggregates the aggregated features of the previous network block and the pseudo image feature map at the next projection scale, and outputs aggregated features of the latter network block, and so on. For the last network block, such as the network block  3  in  FIG.  6   , the convolution can only be conducted on the aggregated features of the previous network block, and the results of the convolution are taken as the aggregated features of the network block  3 . The aggregated features B 1 ∈   N     W     ×N     L     ×C     1   , 
                 B   2     ∈           N   w     2     ×       N   L     2     ×     C   2           ,       B   3     ∈           N   w     4     ×       N   L     4     ×     C   3                 
of the three network blocks are taken as the input of FFPN.
 
     This application provides a scale fusion pyramid network with enhanced performance than the FPN network. Different from a conventional method of feature fusion from top to bottom layer by layer, in this application, the scale fusion pyramid network concatenates the aggregated features of the network blocks at the smallest projection scale to obtain intermediate features, and uses the convolutional layers with different strides and the intermediate features to obtain the class-specific pyramid features. The intermediate features B f  are represented as:
 
 B   f =Σ i=1   N     B   Ψ i ( B   i +1 i&lt;N     B   Γ i+1 ( B   i+1 ))  (4)
 
     Where, + represents tensor concatenation, 1 represents an indicator function; N B  represents the number of B i ; Γ i  represents a deconvolution function for the aggregated features B i  of each inputted network block for dimension alignment before matrix concatenation. The class-wise pyramid features can be represented as:
 
 B   o   (i) =γ i ( B   f )  (5)
 
     Where, γ i  represents convolutional layers with different strides. Compared with a feature fusion single shot multibox detector (F-SSD), in this application, features are fused in two stages: 1) the intermediate features are layer by layer fused, as shown in equation (4); 2) multiple down-sample convolutional layers are adopted in the fusion process. The class-specific pyramid features can be obtained in one forward propagation. For example, B o   (1)  represents pyramid features of pedestrian category, B o   (2)  represents pyramid features of cyclist category, and B o   (3)  represents pyramid features of car category. 
     In some embodiments, the detection head may be a detection head in an SSD network. A positive anchor box is selected and matched by calculating Rotated Intersection over Union (RIoU) in bird eye view (BEV) via an anchor box and a labeled real box. Each pyramid feature is subjected to 3 parallel convolutional layers of 3×3, ϕ c   (i) , ϕ l   (i)  and ϕ h   (i)  to obtain a classification probability, a vertex position offset, and a height regression corresponding to each anchor box, respectively, whose output in the BEV are N anc ×N cls , N anc ×8, and N anc ×2 which is a center on the z-axis and a height. 
     Most voxel-based methods predict the center (x, y), length, width, and height, and deflection angles (w, h, l, θ) of a box. However, the HVNet uses the vertex position offset of the real box and the anchor as an objective function of the location, which is represented as Δ{right arrow over (cor)}={Δ{right arrow over (x l )}, Δ{right arrow over (y l )}|i=1, 2, 3, 4}. Δcor represents a vector of    8 . Assuming that a location branch ϕ l  predicts the offset Δcor, localization regression loss function can be given by    loc =ΣSmooth L1(Δ{right arrow over (cor)}−Δcor). For a classification branch ϕ c , given class probability p a  of an anchor, focal loss function is used to address the imbalance of the number of samples between positive samples and negative samples, which is represented as  cls=−α(1−p a ) γ log(p a ). In addition, given prediction z,h from branch ϕ h , the loss in a vertical direction is represented as    h =Σ b∈(z,h)  SmoothL1(Δb). 
     Therefore, the final loss function is the weight of the three: 
     
       
         
           
             
               
                 
                   ℒ 
                   = 
                   
                     
                       1 
                       
                         N 
                         pos 
                       
                     
                     ⁢ 
                     
                       ( 
                       
                         
                           
                             λ 
                             loc 
                           
                           ⁢ 
                           
                             ℒ 
                             loc 
                           
                         
                         + 
                         
                           
                             λ 
                             cls 
                           
                           ⁢ 
                           
                             ℒ 
                             cls 
                           
                         
                         + 
                         
                           
                             λ 
                             h 
                           
                           ⁢ 
                           
                             ℒ 
                             h 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
     Evaluation experiments of the HVNet on KITTI data set are as follows. 
     The KITTI data set consists of 7,481 training data and 7,518 testing data, as well as corresponding point clouds of categories of cars, pedestrians and cyclists. The KITTI′ metric is defined as the average precision (AP) over 40 recall positions on the P-R curve. According to object size, occlusion and truncation levels, labels are divided into three subsets (easy, moderate, and hard). The physical detection range is from (0, −32, −3) to (64, 32, 2). The size of the basic voxel is V L =0.2, V W =0.2, thus the resolution of the pseudo image is 320×320. In the encoding and decoding process, the scale sets are S T ={0.5, 1, 2} and S R =1, 2, 41, respectively. Besides, the feature dimension is q=64 for H S     T   , and N H =128 for I S     t   . The size of the anchor box is designed as: [0.8, 0.8, 1.7] for pedestrian, [0.8, 1.8, 1.5] for cyclist, [1.7, 3.5, 1.56] and [2.0, 6.0, 1.56] for car. Each class has the same anchor box orientation in [0, π/4, π/2, 3π/4]. In the training process, anchor boxes that have RIoU with the labeled boxes respectively larger than [0.35, 0.35, 0.5] for pedestrian, cyclist and car are selected as positive samples, and those lower than [0.25; 0.25; 0.35] are selected as negative samples. In the testing stage, the threshold of prediction score is greater than 0.2, and the threshold of rotation non-maximum suppression (NMS) is set to [0.75, 0.75, 0.25]. In the loss function design stage, α and γ for focal loss function are set to [0.75, 0.75, 0.25] and [2,2,2], respectively. The weights of the loss function are λ loc =1, λ cls =1, λ h =1.5, respectively. The HVNet is iterated for 70 epochs with an Adam optimizer, the initial learning rate is 1 r =2e −4  with the weight decay of 1e −4 . A warmup strategy is adopted, a total of 300 warmup iterations is conducted, and the change in the warmup learning ratio is 1/3. In addition, the learning rate decays to 0.1 in the 40th and 60th epoch, respectively. 
     Before training, a 3D data enhancement will be conducted on the point cloud data. A global random flipping, rotation, scaling, and translation are applied to the whole point cloud data. Where, the flipping probability is set to 0.5; the rotation angle ranges are normal distribution from [−π/2, π/2]; the scaling ratio is between [0.95, 1.05]; the random translation (x,y,z) obeys a normal distribution with a mean value of 0 and standard deviation of [0.2, 0.2, 0.2]. According to the setting in SECOND, except boxes which have physical collision with boxes in the current frame, several new boxes, where 8 for cyclist, 8 for pedestrian, and 15 for car, will be fixed into current training frame according to the labeled box and the corresponding points in the corresponding frame thereof. 
     
       
         
           
               
               
               
               
               
               
             
               
                 TABLE 1 
               
             
            
               
                   
               
               
                   
                 Speed 
                 Input 
                 Car BEV AP(%) 
                 Pedestrian BEV AP(%) 
                 Cyclist BEV AP(%) 
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
               
               
            
               
                 Method 
                 (Hz) 
                 L 
                 I 
                 Easy 
                 Moder. 
                 Hard 
                 Easy 
                 Moder. 
                 Hard 
                 Easy 
                 Moder. 
                 Hard 
               
               
                   
               
            
           
           
               
               
               
               
               
               
               
               
               
               
               
               
               
            
               
                 F-PointNet 
                 5.9 
                 √ 
                 √ 
                 91.17 
                 84.67 
                 74.77 
                 57.13 
                 49.57 
                 45.48 
                 77.26 
                 61.37 
                 53.78 
               
               
                 AVOD-FPN 
                 10 
                 √ 
                 √ 
                 90.99 
                 84.82 
                 79.62 
                 58.49 
                 
                   50.32 
                 
                 
                   46.98 
                 
                 69.39 
                 57.12 
                 51.09 
               
               
                 MMF 
                 12.5 
                 √ 
                 √ 
                 93.67 
                 88.21 
                 81.99 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
               
               
                 IPOD 
                 5 
                 √ 
                   
                 89.64 
                 84.62 
                 79.96 
                 
                   60.88 
                 
                 49.79 
                 45.43 
                 78.19 
                 59.40 
                 51.38 
               
               
                 F-ConvNet 
                 2.1 
                 √ 
                   
                 91.51 
                 85.84 
                 76.11 
                 57.04 
                 48.96 
                 44.33 
                 
                   84.16 
                 
                 68.88 
                 60.05 
               
               
                 STD 
                 12.5 
                 √ 
                   
                 
                   94.74 
                 
                 
                   89.19 
                 
                 86.42 
                 60.02 
                 48.72 
                 44.55 
                 81.36 
                 67.23 
                 59.35 
               
               
                 PointRCNN 
                 10 
                 √ 
                   
                 92.13 
                 87.39 
                 82.72 
                 54.77 
                 46.13 
                 42.84 
                 82.56 
                 67.24 
                 60.28 
               
               
                 Fast Point R-CNN 
                 16.7 
                 √ 
                   
                 90.87 
                 87.84 
                 80.52 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
               
               
                 SECOND 
                 20 
                 √ 
                   
                 89.39 
                 83.77 
                 78.59 
                 55.99 
                 45.02 
                 10.93 
                 76.50 
                 56.05 
                 49.45 
               
               
                 HRI-VoxelFPN 
                 50 
                 √ 
                   
                 92.75 
                 87.21 
                 79.82 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
               
               
                 PointPillars 
                 42.4 
                 √ 
                   
                 90.07 
                 86.56 
                 82.81 
                 
                   57.60 
                 
                 48.64 
                 45.78 
                 79.90 
                 62.73 
                 55.58 
               
               
                 PIXOR++ 
                 35 
                 √ 
                   
                 
                   93.28 
                 
                 86.01 
                 80.11 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
                 N/A 
               
               
                 HVNet 
                 31 
                 √ 
                   
                 92.83 
                 
                   88.82 
                 
                 
                   83.38 
                 
                 54.84 
                 
                   48.86 
                 
                 
                   46.33 
                 
                 
                   83.97 
                 
                 
                   71.17 
                 
                 
                   63.65 
                 
               
               
                   
               
            
           
         
       
     
     The experimental results are as shown in Table 1, the performance of each network in the bird eye view on KITTI data set are tested. ‘L’ represents the input of the LiDAR, ‘I’ represents RGB images. By way of evaluating 40 recall locations, results thereof are compared with the detectors on the KITTI leaderboard. These methods are categorized into three types: methods based on LiDAR and images, two-stage methods based only on liDAR, and one-stage methods based only on liDAR. The results in bold are the best of all methods, and the results in italics are the best of the one-stage methods. As can be seen from the table, the HVNet has better performance than all other methods in terms of overall mAP and cyclist. Even compared with the two-stage methods, the HVNet can provide good performance for the detection of cars and pedestrians while ensuring real-time operation. In the one-stage methods, the HVNet has reached advanced levels in both cars and cyclists. 
     The performance vs speed of bird eye view of each of the methods on the KITTI data in Table 1 set is shown in  FIG.  7   . Where, the multi-sensor method is drawn as a circle, the two-stage method based on liDAR is drawn as a green diamond, and the one-stage method is drawn as a red square. The method to the right of the first vertical dotted line is real-time. The methods should be at least 20 Hz, because in-vehicle applications should cover 360 degrees rather than 90 degrees as limited by the KITTI data set. The HVNet can reach real-time speed (31 Hz) during inference. 
     In one embodiment, a computer device is provided. The computer device may be an in-vehicle computer of an autonomous vehicle, a computer of a robot, or the like, and internal structure thereof may be as shown in  FIG.  8   . The computer device includes a processor, a memory, a network interface, and a database connected by a system bus. Where, the processor of the computer device is configured to provide calculation and control capabilities. The memory of the computer device includes a non-transitory storage medium and a Random Access Memory (RAM). The non-transitory storage medium stores an operating system, computer-readable instructions, and a database. The RAM provides an environment for the operation of the operating system and computer-readable instructions in the non-transitory storage medium. The database of the computer device is configured to store original point cloud data and pseudo image feature maps. The network interface of the computer device is configured to communicate with an external terminal via a network connection. The computer-readable instructions are executed by the processor to realize a target detection method. 
     Those skilled in the art can understand that the structure shown in  FIG.  7    is only a block diagram of portion of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or less components than shown in the figure, or combining some components, or having a different components arrangement. 
     A person of ordinary skill in the art can understand that all or part of the processes in methods according to the aforementioned embodiments can be implemented by instructing relevant hardware via computer-readable instructions, which can be stored in a readable storage medium of a non-transitory computer. When the computer-readable instructions are executed, the processes of the methods according to the aforementioned embodiments may be included. Where, any reference to memory, storage, database or other medium used in the embodiments according to this application may include a non-transitory memory and/or a transitory memory. The non-transitory memories may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. The transitory memory may include random access memory (RAM) or external cache memory. As an illustration and not a limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), memory bus dynamic RAM (RDRAM), and the like. 
     The technical features of the aforementioned embodiments can be combined arbitrarily. In order to simply the description, all possible combinations of the technical features in the aforementioned embodiments are not described. However, as long as there is no contradiction in the combinations of these technical features, they should be considered to be fallen into the range described in the present specification. 
     Only several implementations of the present application are illustrated in the aforementioned embodiments, and the description thereof is relatively specific and detailed, but it should not be understood as a limitation on the scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can be made, which all fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.