Suction-Net-1 BIllion 理解总结

Suction-Net 其实根graspnet是同宗分出来的另外一个分支,graspnet的抓取工具是两指的,Suction-Net是吸盘,作为野生游侠,没实验室设备,只有教学的工业机器人用配了吸盘末端工具,因此重点学习了suction-Net,为记忆,大概写个总结,想着后面要弄个吸盘抓取的网络。

这篇论文的点主要包括:

1.数据集的制作,数据集非常大,跟graspnet是一样的数据集,两台深度相机 kinect 和realsense D435i,88个物品,每次从88个物品中抽出一些出来放到平台上,共190个场景,两台相机装在机械臂上,每个场景进行256个不同的视角拍摄(视角是固定的,有机械部跑出来),每个场景共2*256张,数据集非常大,按场景来存放,每一个场景分为kinect和Realsense数据包,数据包括annotation、depth、lable、meta、rgb图。

2.标签的制作是利用算法实现的,每个场景的物品利用已有3d模型进行配准找出其位姿(w.r.t相机)再利用256个不同视角已知的变换矩阵(机器人跑出来,自然就知道不同的视角相对第一个视角的坐标变换,只需求出第一个场景物体的物体位姿,就可以计算出后面255个视角下的位姿),吸取的方向就算该抓起点的法向量)

3.lossfuction包括两个重要的值,一个是点可吸取分(用来找出吸取点,吸取点密封性,其方法参考了DexNet的方法进行了简化改良,密封性分数由两个数据相乘得到:

(1)一个是S_deform,是根据吸盘在法向量方向在物体上的投影,吸盘上均匀选取一定的数量的点进行投影,计算相邻的点在物体上的投影点的长度,与在吸盘上对应的长度比较计算变形率,找出最大的变形率,该吸取点的变形分就是:1-最大的变形率

(2)利用所选取点在物体上法向量方向的投影点来拟合一个平面,计算每个点到这个平面的距离误差平方均值,该吸取点的fit分就是:1-距离误差平方,利用(1)*(2)即得密封性分数。

另外一个是能吸上的分数wrench分(也是参考DexNex3.0,进行了简化),我认为这是这篇论文主要的贡献点,即用两种方法对数据集进行了计算作标签。

4.网络,网络真的每什么特别的所以论文也每怎么介绍其网络结构,就一张简图,其实就算deeplab3+的结构,backbone+金字塔空洞卷积、借鉴CenterNet等的思路。网络是基于pixel的。

其结构就算用Resnet-101进行了特征提取(backbone,encoder),1000个深度的特征,大小为图像大小,然后提取Backbone中的第一块残差块输出(256维)作为计算wrench分的输入进入一个project模块,这个模块很简单就算一个一般的conv2D模块,输出48维的热点图,另外提取Backbone中的第四块残差块输出(2048维)的分别作了四个不同空洞率的卷积(输出都是256d的),然后进行了concat,并进行了下采样,让size与48维的wrench热点图一样,并进行了concat拼接,再丢进一个Conv2d模块(classify模块)

self.classifier = nn.Sequential(
    nn.Conv2d(304, 256, 3, padding=1, bias=False),
    nn.BatchNorm2d(256),
    nn.ReLU(inplace=True),
    nn.Conv2d(256, num_classes, 1)
)

最后网络的输出是size*2d,2d中一个是seal score ,另一个是center score(近视wrench score)。

 源代码已各种接口的模式提供,可选不同的网络类型参数进行实验比较,抓去对象是各种不同的物品,有几个点可以借鉴,数据生成的方式,第二是参考了centernet(Objects as points),这个对于3d点处理值得借鉴。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值