Patent ID: 11860304
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 14:
15. A non-transitory computer-readable medium storing machine-executable instructions which, when executed by a processor of a vehicle control system of an autonomous vehicle causes the vehicle control system to:
receive a sparse 3D point cloud captured by a multi-laser spinning light detection and ranging (LIDAR) sensor mounted to a vehicle, the sparse 3D point cloud comprising a plurality of data points, each of the plurality of data points in the sparse 3D point cloud having a set of coordinates in a coordinate system of the multi-laser spinning LIDAR sensor and being associated with a beam number from a plurality of beam numbers of the multi-laser spinning LIDAR sensor, each respective beam number from the plurality of beam numbers corresponding to a respective laser head of the multi-laser spinning LIDAR sensor;
generate, from the sparse 3D point cloud, a range map comprising a plurality of elements, each element of the range map corresponding to a value representing an Azimuth angle along an x-axis of the range map and a value representing an integer number along a y-axis of the range map, the x-axis having values ranging from −180 degrees to +180 degrees, the y-axis having integer numbers ranging from 0 to N−1, wherein N represents a total number of laser heads of the multi-laser spinning LIDAR sensor of the vehicle, and each integer number along the y-axis corresponds to a respective beam number from the plurality of beam numbers, each of the plurality of data points of the sparse 3D point cloud occupying a respective element of the plurality of elements;
for each beam number from the plurality of beam numbers, determine the Azimuth angle for each data point in the plurality of data points that is associated with the beam number;
for each data point from the plurality of data points associated with the beam number, mark a respective element of the range map as occupied by the respective data point based on the Azimuth angle and the associated beam number of the respective data point;
compute and store a curvature value for each of the plurality of data points of the sparse 3D point cloud, wherein for any data point Pi occupying a respective element of the range map and having a set of coordinate values [xi,yi,zi], the curvature value of the data point Pi is represented by c and computed by:, c
   =
   
    
     
      
       
        
         
          
           (
           
            
             2
             ⁢
             k
             ⁢
             
              x
              i
             
            
            -
            
             
              ∑
              
                
               
                
                 j
                 =
                 
                  i
                  -
                  k
                 
                
                ,
                
                 j
                 ≠
                 i
                
               
              
              
                
               
                i
                +
                k
               
              
             
             
              x
              j
             
            
           
           )
          
          2
         
         +
         
          
           (
           
            
             2
             ⁢
             
              ky
              i
             
            
            -
            
             
              ∑
              
                
               
                
                 j
                 =
                 
                  i
                  -
                  k
                 
                
                ,
                
                 j
                 ≠
                 i
                
               
              
              
                
               
                i
                +
                k
               
              
             
             
              y
              j
             
            
           
           )
          
          2
         
         +
        
       
      
      
       
        
         
          (
          
           
            2
            ⁢
            
             kz
             i
            
           
           -
           
            
             ∑
             
               
              
               
                j
                =
                
                 i
                 -
                 k
                
               
               ,
               
                j
                ≠
                i
               
              
             
             
               
              
               i
               +
               k
              
             
            
            
             z
             j
            
           
          
          )
         
         2
        
       
      
     
     
      
       x
       i
       2
      
      +
      
       y
       i
       2
      
      +
      
       z
       i
       2
      
     
    
   
  
  ,
 

where values [xj,yj,zj], represents a set of Cartesian coordinate values of each adjacent data point Pj in a plurality of adjacent data points in the sparse 3D point cloud, wherein the plurality of adjacent data points are generated by one or more laser beams emitted by the same laser head of the multi-laser spinning LIDAR sensor that has emitted the laser beam that generated Pi, and k is a total number of adjacent data points Pj, j={1, 2 . . . k} on each side of data point Pi in a row of elements in the range map, and where k has a value ranging from 2 to 5;
label the data point in each respective element of the range map as one of a pole-like data point or a vertical-plane-like data point;
determine a plurality of seed data points from the plurality of data points of the sparse 3D point cloud, the plurality of the seed data points comprising the labeled pole-like data points and the labelled vertical-plane-like data points;
generate one or more region clusters based on the plurality of seed data points;
determine and storing a list of pole clusters or a list of vertical plane clusters from the one or more region clusters, the list of pole clusters comprising one or more of the labeled pole-like data points and the list of vertical plane clusters comprising one or more of the labelled vertical-plane-like data points; and
generate the segmented point cloud based on the list of pole clusters or the list of vertical plane clusters.