Object 基于Intel Real sense的目标检测
是否可以使用Intel realsense D435i深度相机测量对象大小。我一直在使用此设备进行机器人用例,并希望测量对象的大小变化。基本上,我的桌面上有一个卡座,希望发现是否有卡。当然。一种方法是使用某种对象识别算法来创建对象的遮罩。根据用例的复杂性,您可能需要使用深度学习解决方案,如Mask RCNN或DeepLab,或者您可能需要使用一些简单的方法,如颜色阈值。一旦有了遮罩,就可以从深度图像中获取这些像素的深度并测量其大小 如果平板桌面上只有这一个对象,那么可以使用的另一种方法是背景/地板移除。使用类似的方法,检测并删除桌面表面。理想情况下,你只剩下你感兴趣的对象。要清除点云中剩余的任何无关点,请使用异常值过滤器。在这一点上,您可以使用一些启发式方法来测量对象的大小,比如maxxminx,maxyminy 下面是一个使用PCL的Python包装器的示例: 原始点云:Object 基于Intel Real sense的目标检测,object,size,intel,detection,realsense,Object,Size,Intel,Detection,Realsense,是否可以使用Intel realsense D435i深度相机测量对象大小。我一直在使用此设备进行机器人用例,并希望测量对象的大小变化。基本上,我的桌面上有一个卡座,希望发现是否有卡。当然。一种方法是使用某种对象识别算法来创建对象的遮罩。根据用例的复杂性,您可能需要使用深度学习解决方案,如Mask RCNN或DeepLab,或者您可能需要使用一些简单的方法,如颜色阈值。一旦有了遮罩,就可以从深度图像中获取这些像素的深度并测量其大小 如果平板桌面上只有这一个对象,那么可以使用的另一种方法是背景/地
# Create a statistical filter object:
outlier_filter = cloud_filtered.make_statistical_outlier_filter()
# Set the number of neighboring points to analyze for any given point
outlier_filter.set_mean_k(3)
# Set threshold scale factor
x = 0.00001
# Any point with a mean distance larger than global (mean distance+x*std_dev)
# will be considered outlier
outlier_filter.set_std_dev_mul_thresh(x)
# Call the filter function
cloud_filtered = outlier_filter.filter()
# Create a PassThrough filter object.
passthrough = cloud_filtered.make_passthrough_filter()
# Assign axis and range to the passthrough filter object.
filter_axis = 'z'
passthrough.set_filter_field_name(filter_axis)
axis_min = 0.6095
axis_max = 1.1
passthrough.set_filter_limits(axis_min, axis_max)
# Use the filter function to obtain the resultant point cloud.
cloud_filtered = passthrough.filter()
# Create the segmentation object
seg = cloud_filtered.make_segmenter()
# Set the model you wish to fit
seg.set_model_type(pcl.SACMODEL_PLANE)
seg.set_method_type(pcl.SAC_RANSAC)
# Max distance for a point to be considered fitting the model
# Experiment with different values for max_distance
# for segmenting the table
max_distance = 0.006
seg.set_distance_threshold(max_distance)
# Call the segment function to obtain set of inlier indices and model coefficients
inliers, coefficients = seg.segment()
# Extract inliers (Table)
extracted_table = cloud_filtered.extract(inliers, negative=False)
# Extract outliers (Tabletop Objects)
extracted_objects = cloud_filtered.extract(inliers, negative=True)