首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >KITTI数据集裁剪标记的点云

KITTI数据集裁剪标记的点云
EN

Stack Overflow用户
提问于 2018-09-09 01:51:10
回答 1查看 963关注 0票数 0

我正在尝试训练我的模型来识别汽车,行人和骑自行车的人,它需要自行车人,汽车和行人点云作为训练数据。我从KITTI (http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d)下载了数据集,包括标签和velodyne点(http://www.cvlibs.net/download.php?file=data_object_label_2.zip)(http://www.cvlibs.net/download.php?file=data_object_velodyne.zip)。然而,对象标签似乎不是来自这组数据。我尝试裁剪点云以提取对象点云,但只能获得空白的三维空间。这是我在MATLAB中的裁剪函数。我的代码中有什么错误吗?其他地方是否有针对行人、骑自行车者和汽车点云的训练和测试数据集?

代码语言:javascript
运行
复制
function pc = crop_pc3d (pt_cloud, x, y, z, height, width, length)
%keep points only between (x,y,z) and (x+length, y+width,z+height)

%Initialization
y_min = y; y_max = y + width; 
x_min = x; x_max = x + length; 
z_min = z; z_max = z + height;

%Get ROI
x_ind = find( pt_cloud.Location(:,1) < x_max & pt_cloud.Location(:,1) > x_min );
y_ind = find( pt_cloud.Location(:,2) < y_max & pt_cloud.Location(:,2) > y_min );  
z_ind = find( pt_cloud.Location(:,3) < z_max & pt_cloud.Location(:,3) > z_min );

crop_ind_xy = intersect(x_ind, y_ind); 
crop_ind = intersect(crop_ind_xy, z_ind); 

%Update point cloud 
pt_cloud = pt_cloud.Location(crop_ind, :); 
pc = pointCloud(pt_cloud); 

end
EN

回答 1

Stack Overflow用户

发布于 2018-10-28 13:03:24

标签位于图像坐标平面中。因此,为了将它们用于点云,需要将它们转换到velodyne坐标平面。对于此转换,请使用摄像机校准矩阵提供的校准数据。

校准数据在KITTI上提供。http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52237891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档