6DoF Object Pose Estimation via Differentiable Proxy Voting Loss论文理解

  • 解决什么问题
  • 本文创新点\贡献
  • 本文IDEA来源
  • 方法
    • 方向向量的投票
    • Differentiable proxy voting loss
    • DPVL as a regularizer
  • 训练
  • 实验结果
  • 总结

论文链接:arxiv

解决什么问题

6Dof估计,优化了投票


本文创新点\贡献

提出了一个新的loss,可以将距离因素也考虑进去,根据投票方向、像素和被投票关键点的距离一起来优化结果,收敛还很快


本文IDEA来源

投票方法在遮挡和视角改变上都有鲁棒性,所以也是基于投票来做的


方法


不需要微调,先投票2D关键点,关键点用了两种loss:一是方向,二是距离;然后pnp解出pose


方向向量的投票

作者的预测使用了很大的感受野,覆盖了物体的大部分,这样即使有些关键点看不见了,也能从可视部分推导出来

那不知点云是否有效

mask和投票向量的表达和PVN3D是一样的,方向向量用smooth L-1 loss来回归:
L v f = ∑ k ∈ K ∑ p ∈ M l 1 ( ∣ ∣ u k ( p ) − v k ( p ) ∣ ∣ 1 ) L_{vf} = \sum_{k\in K}\sum_{p\in M} l_1 (||u_k( p) - v_k(p)||_1) Lvf​=k∈K∑​p∈M∑​l1​(∣∣uk​(p)−vk​(p)∣∣1​)

其中 v k ( p ) v_k(p) vk​(p)是估计的方向向量, M M M是物体mask


Differentiable proxy voting loss


来源
这块是这个论文的总重要的创新点,作者提出这个是因为作者发现发现,如果只是用方向来投票的话,如果投票点和关键点的距离很远的话,即使投票方向误差很小,通过距离来放大之后偏差就很大了,如上图所示, p 1 , p 2 p_1,p_2 p1​,p2​的偏差角度都是 α \alpha α,然而被距离影响后,分别产生 d 1 , d 2 d_1,d_2 d1​,d2​的偏差,明显这俩的差别是很大的。

选择
作者在改进的时候还考虑了分布,假定包含 M M M个像素,这将会有 M ( M − 1 ) M(M-1) M(M−1)个假设,这样效率很低;只计算垂线的话,只需要M个假设

没看懂作者说的分布是什么,不过不是很重要

Loss
垂线是闭合的解而且是可微的,所以最小化垂直距离
L p v = ∑ k ∈ K ∑ p ∈ M l 1 ( ∣ ∣ k − f k ( p ) ∣ ∣ 1 ) L_{pv} = \sum_{k\in K} \sum_{p\in M}l_1(||k-f_k(p)||_1) Lpv​=k∈K∑​p∈M∑​l1​(∣∣k−fk​(p)∣∣1​)
∣ ∣ k − f k ( p ) ∣ ∣ 1 = ∣ v k y k x − v k y k y + v k x p x − v k y p x ∣ ( v k x ) 2 + ( v k y ) 2 ||k-f_k(p)||_1 = \frac{|v^y_kk^x-v^y_kk^y+v^x_kp^x-v^y_kp^x|}{\sqrt{(v^x_k)^2 + (v^y_k)^2}} ∣∣k−fk​(p)∣∣1​=(vkx​)2+(vky​)2 ​∣vky​kx−vky​ky+vkx​px−vky​px∣​

感觉这个2的展开式有点难懂

因为 v k ( p ) v_k(p) vk​(p)是用网络估计的,所以可能不是单位向量,所以做了正则化,两个loss结合后的投票对方向向量和像素的位置都挺敏感的,这个loss不仅使结果更精准,收敛还更快


DPVL as a regularizer

动机
作者做了个实验,想看看能不能单独使用新提出的loss,做法是移除 L v f L_{vf} Lvf​,只使用剩下的两个,然而发现模型不能收敛。

分析
方向向量的正反的loss是一样的,所以没有方向向量的估计的话,模型就会受到二义性的干扰,所以DPVL只能作为一个规范化的元素

因为 L p v L_{pv} Lpv​是计算到直线的距离,而直线朝向是无所谓的


训练

数据准备
取8个关键点,渲染、生成图片,做数据增强,防止过拟合

网络结构
和PVNet相同

Loss
L = α L s e g + L v f + β L p v L = \alpha L_{seg}+L_{vf} + \beta L_{pv} L=αLseg​+Lvf​+βLpv​

参数设置

参数
batch 16
优化器 Adam
学习率 0.001
权重衰减 0.85/(5epoch),直到1e-5
epoch 100

训练策略

  • 初期训练的时候, L p v L_{pv} Lpv​的loss很大,先设置 β = 1 e − 3 \beta = 1e^{-3} β=1e−3,然后每个epoch逐渐增加 β \beta β到 1 e − 2 1e^{-2} 1e−2,每次提升1.5倍。

  • 逐步增加 α \alpha α ,每个epoch放大1.1倍,上限是10

实验结果



总结

作者的创意很直观也很好理解,创新性很强,所以科研还是要看发现问题的能力,得先发现问题才能解决问题,这块是我欠缺的,总是感觉新提出的东西都挺厉害的,不知如何下手,找不到改进点,要想想怎么培养“挑刺”的能力,或许有没有大佬指点我一下?

【6Dof位姿估计】DPVL:6DoF Object Pose Estimation via Differentiable Proxy Voting Loss论文理解相关推荐

  1. PNP问题-位姿估计方法梳理(pose estimation)

    tags: - 单目视觉 - 位姿测量 目标3D精确模型已知(建立2D-3D对应关系): 点特征 P3P问题 基于针孔成像模型 Gao的方法(opencv emgucv) Kneip 的 P3P 算法 ...

  2. 论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion

    论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion 链接 摘要 1,引言 2,模型 2.1 ...

  3. CVPR2020 | 旷视研究院提出PVN3D:基于3D关键点投票网络的单目6DoF位姿估计算法

    IEEE国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14- ...

  4. Single-Stage 6D Object Pose Estimation——6D姿态估计

    Single-Stage 6D Object Pose Estimation 作者:Yinlin Hu,Pascal Fua, Wei Wang, Mathieu Salzmann 实验室:CVLab ...

  5. Learning latent geometric consistency for 6D object pose estimation in heavily cluttered scenes

    Learning latent geometric consistency for 6D object pose estimation in heavily cluttered scenes 在杂乱无 ...

  6. PoseCNN(A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes)复现记录

    PoseCNN: A Cbjonvolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes 挖个坑,希望研究 ...

  7. 论文笔记(三):PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes

    PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes 文章概括 摘要 1. ...

  8. 笔记:PoseCNN:A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes

    PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes (Robotics: ...

  9. 2020.10.03读 Robust 6D Object Pose Estimation by Learning RGB_D Features

    Robust 6D Object Pose Estimation by Learning RGB_D Features 1. 背景信息 2.方法 2.1旋转 2.2平移 3. 实验 3.1评估指标 3 ...

最新文章

  1. handlebars.js {{#if}}中的逻辑运算符是有条件的
  2. ORA-07445 [kkoipt()+3881] [SIGSEGV] [Address not mapped to object] 问题
  3. php ttf 字体 url,window_TTF字体文件如何安装 TTF文件打不开解决方法,TTF文件是Windows系统下的字体文 - phpStudy...
  4. thymeleaf 模板语言简介
  5. MySQL 基础模块的面试题总结
  6. 豪宅周边5家盒马却不配送?盒马回应...
  7. 爸爸和儿子的故事带你理解java线程
  8. CCF201412-2 Z字形扫描(100分)
  9. 线段树(SegmentTree)学习笔记
  10. mysql definer super_技术分享 | 改写 mysqldump 解决 DEFINER 问题
  11. 云服务器的安全设置常识
  12. jira图片_JIRA issue 中的标记语言(Textile)
  13. 电子印章助推《上海市公共数据和一网通办管理办法》施行
  14. 用Python做一个猜数游戏(入门)
  15. Mysql期初数和期末数_账户中记录四种核算指标,即期初余额、 本期增加发生额、本期减少发生额和期末余额。其关系式包括( )。_学小易找答案...
  16. pip升级报错:def read(rel_path: str) -> str SyntaxError: invalid syntax
  17. 笔记本WIN7建立共享wifi的简单方法
  18. 【水】HDU2075 A|B?
  19. GIS自主创新十年路(一):缘起ActiveMap
  20. 读写shp等空间数据,进行geometry、SimpleFeature等转换的工具类

热门文章

  1. java通讯源码_GuQiu-JAVA做的局域网通讯源码
  2. 配置vsftpd 服务器
  3. RabbitMQ mandatory参数 路由器匹配不到队列返回响应
  4. 解决龙格现象matlab,matlab实现Lagrange多项式插值观察龙格现象
  5. STM32F767 资料汇总
  6. 20191225-How to read a paper 如何读英文文献
  7. 软编码Flv 到Mp4 容器(十三) fmp4 生成ftyp和moov所必要的 flv数据
  8. Android 系统 wifi基础知识
  9. Linux读取设备信息代码编写
  10. 浏览器的缓存机制 优点 缺点 协商缓存和强缓存 浏览器缓存过程 如何判断强缓存是否过期