简介

        本文作者提出新的框架(MTTM),使用模板匹配来完成多个任务,从深度图的模板上找到目标物体,通过比较模板特征图与场景特征图来预测分割mask和模板与检测物体之间的位姿变换。作者提出的特征网络通过模板与剪裁特征的对比来计算分割mask,预测位姿。通过实验表明尽管只使用深度图,但是效果很好。
论文针对生活中见到的物体,但是数据集或者CAD模型并不能覆盖所有物体,这样就需要额外的训练时间和新物体的样本图像来重新训练。而基于CNN的局部或全局描述符使用合成渲染图像和少量的真实图像训练之后,对于新物体则不需要重新训练,也不需要GPU。

创新点

         最新的研究表明物体的几何信息比纹理信息更重要,因为生活中很多物体都可以使用相同形状的模板来表示。因此可以仅使用深度信息来检索具有相同几何形状和方向的最近邻模板。有点像NOCS里面提到的使用一个标准化的模型,通过对模型的缩放来表示相同的物体。而且深度图像对不同的光照条件和环境具有更强的鲁棒性。所以可以使用综合渲染图像进行训练。
1.提出一个新的基于深度的框架——MTTM,通过与模板进行近邻匹配,使用共享的特征图来预测分割mask和物体的位姿。
2.不需要将物体与场景对齐来生成mask。
3.这种方法优于使用RGB的baseline方法。
上图为遮挡数据集上的效果,上面为给定ROI中心的分割结果,下面为使用近邻模板和五次ICP细化得到的物体位姿。

方法

1.渲染噪声深度图与之前的工作相比,作者只使用合成图像进行训练,所以可以应用于任何没有足够训练数据的领域。通过模拟摄像机来呈现有噪声的深度图像,从而不需要真实的图像或任何额外的噪声增强。
2.网络结构在预测目标物体分割mask、最近邻模板到场景中物体位姿变换的同时,网络提取测试场景中感兴趣区域的特征描述符来检索最近邻模板。
如上图所示,使用Resnet-50作为骨干网络,用Imagenet数据集上训练的权重进行初始化。原始网络需要三通道的彩色图像作为输入,而深度图为单通道,需要将深度图像转换成三通道的图像。所以作者使用曲面法线的x、y、z分量作为像素的每个通道。将Resnet-50的第三个残差块的输出作为给定输入图像的特征图,通过增加带有256个滤波器的3×3卷积层来减少特征图的维数。与MaskRCNN一样使用双线性插值来剪裁特征图。
每个特征图用于多个任务:提取用于流行学习的描述符,预测mask以及使用成对的特征图进行位姿回归。描述符用全连接层进行计算,滤波器大小为256、256、128,最后一层为线性激活,其余层均为elu激活。
由一个场景和一个模板组成的一对ROI特征图,分别使用256个滤波器进行3×3卷积,然后按通道级联特征图。因此连接后的特征图的输出维度为14×14×512。在特征比较网络中,将合并后的特征图分别用于mask预测和位姿回归。在mask预测中,使用一个具有256个滤波器的3×3卷积层和一个具有sigmoid激活函数的单通道输出的1×1卷积层来表示逐像素的mask预测。对于位姿回归,全连接层的最后一层使用双曲线正切作为激活函数,得到四元数对的位姿差。
3.多任务学习网络相似位姿间特征向量的距离应小于不同物体或不同位姿之间的距离。与之前使用剪裁图像块的论文相比,作者计算整个场景的特征图来剪裁每个ROI的特征图。对于包含多个物体的训练场景,为每个物体分配正负模板,正模板从同一类中最接近的五个模板中选择,负模板从不同类别或者同一物体的不同位姿中随机选择,一半来自相同类别,一半来自不同类别。
对称物体位姿的相似性测量:
s(q)p表示渲染图像内位姿q中像素p的深度图。
两个视图之间的位姿距离:
q是物体位姿的旋转四元数。当位姿距离大于正模板时,作为负模板。
4.目标检测和位姿假设生成在输入场景中,对中心像素进行均匀采样,生成具有固定空间大小的ROI区域。采样点p的ROI区域宽度和高度用w来表示。
d为每个采样点的深度值,f为焦距,Ssize为覆盖三维空间中目标物体的最大尺寸。将物体的长宽比和空间比例保存在特征图中。计算每个ROI区域的特征向量,并使用Kd-Tree搜索在欧式空间中找到近邻模板,并计算特征距离。
从匹配步骤开始,选择距离近邻模板较近的ROI来预测分割mask,然后使用预先计算的模板特征图对所选的ROI预测mask。每个来自特征比较网络的分割mask都被调整为原来大小。为了消除冗余的预测mask,采用非极大抑制算法合并重叠mask。然后使用预测的分割mask过滤特征图中的背景,与改进的模板再次匹配。然后估计最终的mask和位姿。
5.后处理过程:如果给定目标物体的CAD模型,可以得到每个假设的精确渲染,后处理过程很容易。在没有CAD模型的情况下,使用深度图像和一组模板来获得最佳的位姿结果很有挑战性。所以作者使用CAD模型来评估生成的位姿,细化预测的位姿。
如果在使用下采样点进行三次ICP迭代后,预测的分割mask与第一个位姿假设的渲染区域之间的重叠小于30%,则移除该区域。将剩余区域内的假设迭代细化,并对其进行评估。
渲染深度图与场景之间的不同由内点数量  ,遮挡点数量  ,离群点 数量 ,渲染模型点数量  计算得到。异常值的惩罚项为:  ,因此深度适合度为:  ,重叠边界点的比率为  ,匹配表面法线的比率为 ,最后的分数为:  ,用来过滤错误的检测,选择最佳的预测。

实验和结果

1.分割的评价:
MTTM的优点是可以预测分割mask,而不需要将目标与场景对齐,因此可以评估分割性能。为了注释数据集上的分割mask,使用ground truth位姿来放置物体并计算测试图与渲染图之间的差异,以确定哪个像素属于属于哪个物体。如果一个像素的深度差小于2厘米,则该像素被标记为物体的一部分。
其他分割方法为:
1)利用物体的注意点从场景中分割物体:使用测试场景中的物体中心作为注意点。
2)基于边缘的分割方法。
如上表所示,MTTM的分割结果优于其他使用RGB和深度值的方法,这说明MTTM利用近邻模板的特征来预测目标物体的分割mask,而不是利用物体的一般边界。
上图为同一图像中两个相似ROI的匹配结果,从不同类别中检索近邻模板,mask预测会发生显著变化。
2.目标检测和位姿估计的评价:
假设目标物体在场景中是可见的,在后处理过程中,移除重叠小于30%的区域后,选择内点比较大的50个区域的最大值来计算最终得分S,得分最高的15个假设通过最多30次ICP迭代来细化,然后重新计算最终得分,来确定最佳预测。
由于之前没有仅使用深度图像与模板进行匹配来检测物体和位姿估计,所以作者与基于模板的方法来进行比较。如下表所示,尽管baseline方法使用了颜色和深度信息,但MTTM在八个物体上六个性能更好。第二列为不进行位姿预测的结果,效果不如使用位姿预测的结果。
3.真实模板与新物体的预测结果:
下图是使用linemod数据集中物体的真实模板得到的结果。
下图为使用T-less数据集得到的结果,数据库只是简单的替换为真实的图像,不需要进一步训练。绿色框为真实位姿,红色框为预测位姿。由于这些物体是训练集中没有的,所以在去除背景点之后检索性能变差。
 

[ICRA 2019]Multi-Task Template Matching for Object Detection, Segmentation and Pose Estimation Using Depth Images的更多相关文章

  1. OpenCV Template Matching Subpixel Accuracy

    OpenCV has function matchTemplate to easily do the template matching. But its accuracy can only reac ...

  2. [ICCV 2019] Weakly Supervised Object Detection With Segmentation Collaboration

    新在ICCV上发的弱监督物体检测文章,偷偷高兴一下,贴出我的poster,最近有点忙,话不多说,欢迎交流- https://arxiv.org/pdf/1904.00551.pdf http://op ...

  3. ICRA 2019最佳论文公布 李飞飞组的研究《Making Sense of Vision and Touch: Self-Supervised Learning of Multimodal Representations for Contact-Rich Tasks》获得了最佳论文

    机器人领域顶级会议 ICRA 2019 正在加拿大蒙特利尔举行(当地时间 5 月 20 日-24 日),刚刚大会公布了最佳论文奖项,来自斯坦福大学李飞飞组的研究<Making Sense of ...

  4. 读论文系列:Object Detection NIPS2015 Faster RCNN

    转载请注明作者:梦里茶 Faster RCNN在Fast RCNN上更进一步,将Region Proposal也用神经网络来做,如果说Fast RCNN的最大贡献是ROI pooling layer和 ...

  5. 论文阅读笔记五十三:Libra R-CNN: Towards Balanced Learning for Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1904.02701.pdf github:https://github.com/OceanPang/Libra_R-CNN 摘要 相比模型的结构 ...

  6. 读论文系列:Object Detection ICCV2015 Fast RCNN

    Fast RCNN是对RCNN的性能优化版本,在VGG16上,Fast R-CNN训练速度是RCNN的9倍, 测试速度是RCNN213倍:训练速度是SPP-net的3倍,测试速度是SPP-net的3倍 ...

  7. Viola–Jones object detection framework--Rapid Object Detection using a Boosted Cascade of Simple Features中文翻译 及 matlab实现(见文末链接)

    ACCEPTED CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION 2001 Rapid Object Detection using a B ...

  8. object detection 总结

    1.基础 自己对于YOLOV1,2,3都比较熟悉. RCNN也比较熟悉.这个是自己目前掌握的基础2.第一步 看一下2019年的井喷的anchor free的网络3.第二步 看一下以往,引用多的网路4. ...

  9. 论文阅读之 DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation

    DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation Xia ...

随机推荐

  1. webpack在用dev-server的时候怎么配置多入口文件

    类似下面这样就可以了,entry设置为对象 每个入口设置为属性,属性的值是一个数组,就可以像单入口一样往这个数组添加entry: { Profile: [ 'webpack-dev-server/cl ...

  2. wxpython(2)--按钮,位图按钮,滑动块,微调控制器

    本文介绍按钮,位图按钮,滑动块,微调控制器**.. 按钮 基本按钮 创建一个按钮,绑定点击事件,点击后修改Label 123456789101112131415161718 import wx cla ...

  3. Sed 实记 · laoless's Blog

    sed编辑命令 p 打印匹配行 = 打印文件行号 a 在定位行之后追加文本 i 在定位行之前插入文本 d 删除定位行 c 用新文本替换定位文本 s 使用替换模式替换相应模式 r 从另一个文件读取文本 ...

  4. C2C的道德边界:沦为从假运单到假病条的供假渠道

    你可能刚开始学会不去看网购平台上商品回评中的虚假好评,却又要开始应对同事在朋友圈等平台买来的虚开病假条带来的困扰.最近各大媒体包括党报热传的网购病假条事件,再度将人们的目光集中在这个C2C模式之上.从 ...

  5. Unity中使用C#的null条件运算符?.的注意事项

    Introduction: 在C#6及以上版本中,加入了一项特别好用的运算符:Null条件运算符?.和?[]可以用来方便的执行判空操作,当运算符左侧操作数不为null时才会进行访问操作,否则直接返回n ...

  6. Java版飞机订票系统

    关注微信公众号:Worldhello 回复 飞机订票系统 可获得系统源代码并可加群讨论交流 数据结构课程设计题目:          [飞机订票系统]            通过此系统可以实现如下功能 ...

  7. Samtec与Neoconix达成合作并和II-VI推出新产品

    序言:Samtec近日动作不断, 近日Samtec与Neoconix达成合作并和II-VI推出新产品,以下是详细内容. Samtec与Neoconix签订Neoconix PCBeam 技术授权协议, ...

  8. 7-8 jmu-python-从列表中删除元素 (15 分)

    删除列表中所有符合条件的值. 输入格式: 输入n,代表要测试n次.每次测试:首先,输入1行字符串(字符串内的元素使用空格分隔)然后,输入要删除的元素x. 输出格式: 输出删除元素x后的每行字符串.如果 ...

  9. Eureka 注册中心看这一篇就够了

    服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串.路由信息等.服务注册中心是微服务架构中最基础的设施之一. 在微服务架构流行之前,注册中心 ...

  10. vue项目按需加载的3种方式

    本文重要是路由打包优化: 原理:利用webpack对代码进行分割是懒加载的前提,懒加载就是异步调用组件,需要时候才下载. 1.vue异步组件技术 vue-router配置路由,使用vue的异步组件技术 ...