抓取检测数据集Cornell数据解析

从Cornell数据集网站:http://pr.cs.cornell.edu/grasping/rect_data/data.php 中,我们可以得到比较详细的数据集格式信息,但是其中关于pcd文件的说明不太详细,经过一段时间的查询,记录一下。

以pcd0100.txt为例,打开文件,第一行就是“# .PCD v.7 - Point Cloud Data file format”,说明文件采用的pcd v.7格式,关于这个格式的说明可以看pcl网站:http://pointclouds.org/documentation/tutorials/pcd_file_format.php#pcd-file-format

其中,我想强调一个地方,当FIELDS行为“x y z rgb”时,下面的数据行都是每行4个数,如-0.18716 -0.20571 0 4.808e+06,他们分别表示这个点在三维空间中的坐标为(-0.18716, -0.20571, 0),所在坐标系是写pcd文件时的参考坐标系,这一点的灰度值是4.808e+06,几乎就是白色。

但Cornell中的pcd又与官网介绍不同,不同之处是FIELDS行为“x y z rgb index”,比官网中多了index,Cornell网站上说index是对行数和列数的编码,每一个index对应png图片中的一个点,解码公式如下:

row = int(index / 640) + 1
col = (index % 640) + 1

注意,这里的row和col都是从1开始的。Cornell说他们的图片的大小是480*640,但是当我们看pcd文件时,发现数据行并没有那么多,pcd0100.txt就只有253674个,我们在python中新建一个480*640的全黑cv图像,index按上述公式解码,把每个index对应的坐标都设为白色,最终结果和数据集中的RGB图对应如下:

 

比较后发现,某些边缘处的深度值没有测到,在写入时就把没测到的点忽略了,所以txt文件中的数据会比480*640少。我们在处理时,用opencv或imageio把缺失的点全部置0就OK了。

补充一点:

数据集中深度图的世界坐标系如下所示:xyz-红绿蓝

  

 

2021/4/14 更新

Cornell数据集官网登不上了,我在百度网盘上传了数据集。链接:https://pan.baidu.com/s/1WeMlIwDsIkVW1gNBcZTNiw 提取码:ny1t

包括三个压缩文件:origin, data-1, data-2

其中origin中的backgrounds是拍摄数据集的背景图,processData是作者提供的一些处理程序(处理啥的不知道,没用过),RectangleLable是矩形框标签可视化图。

data-1和data-2的内容是一类(放一个文件夹里太大,所以分成两个文件夹)。其中,pcd*.txt是点云文件,pcd*cneg.txt是负样本抓取标签,pcd*cpos.txt是正样本抓取标签,pcd*d.tiff是深度图,png是原始RGB图像。

数据集中的抓取框标签示例:

(pcd0101, 0144, 0326)

  • 21
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 58
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 58
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值