Skip to content

3. Plane_RANSAC

WijaeCho edited this page Dec 21, 2020 · 2 revisions

Example

import GeneratePointCloud
make_gml_data = GeneratePointCloud(distance_threshold, epsilon_value, wall_cloud, door_cloud, window_cloud)
Name Type Default Description
distance_threshold Float 0.05 The max distance from the fitted model a point can be for it to be an inlier
epsilon_value Float 0.1 Epsilon value to extend the boundary of area
wall_cloud, door_cloud, window_cloud pcl.PointCloud() pcl.PointCloud() of pcl library

Methods

  • make_room_info: To make the information of the room using Wall PointCloud

  • make_door_info: To make the door list with points and plane info

  • make_window_info: To make the window list with points and plane info

  • clustering: To find and segment clustered areas from PointCloud

    • Parameter
      Name Type Default Description
      pointcloud pcl.PointCloud() PointCloud data of wall, door or window
      tolerance Float 0.5 Cluster tolerance variable
      min_cluster_size Int 50 Minimum number of points in clustered data
    • Returns
      Name Type Default Description
      clustered_cloud List The list of clustered PointCloud data
  • get_plane_list: To get the plane list information using do_plane_ransac function

    • Parameter
      Name Type Default Description
      pointcloud pcl.PointCloud() PointCloud data of wall, door or window
    • Returns
      Name Type Default Description
      pointclou_list List The list of PointCloud data extracted to the plane
      coeff_list List The coefficient of the equation for each plane
      bbox_list List A range of each PointCloud data
  • do_plane_ransac: To find the plane from the point cloud using RANSAC function

    • Parameter

      Name Type Default Description
      pointcloud pcl.PointCloud() PointCloud data of wall, door or window
      distance_threshold Float 0.05 The max distance from the fitted model a point can be for it to be an inlier
    • Returns

      Name Type Default Description
      inlier_data pcl.PointCloud() The PointCloud data extracted to the plane
      outlier_data pcl.PointCloud() The PointCloud data don't extracted to the plane
      coefficient List The coefficient of the equation for inlier data
  • get_intersection_line: To make the intersection point between each wall plane

    • Align intersections included in one plane ( PointCloudUtils.sorted2Dpoints() )

    • Generate segment information using two consecutive points from aligned points ( PointCloudUtils.get_lengthRate() )

    • Use the segment information and point cloud information to find the segment information to be used

    • Parameter

      Name Type Default Description
      pointclou_list List The list of PointCloud data extracted to the plane
      coeff_list List The coefficient of the equation for each plane
      bbox_list List A range of each PointCloud data
    • Returns

      Name Type Default Description
      intersection_result List A list containing the segment information to be used
Clone this wiki locally