【6Dof位姿估计】DPVL:6DoF Object Pose Estimation via Differentiable Proxy Voting Loss论文理解
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 ∣vkykx−vkyky+vkxpx−vkypx∣
感觉这个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论文理解相关推荐
- PNP问题-位姿估计方法梳理(pose estimation)
tags: - 单目视觉 - 位姿测量 目标3D精确模型已知(建立2D-3D对应关系): 点特征 P3P问题 基于针孔成像模型 Gao的方法(opencv emgucv) Kneip 的 P3P 算法 ...
- 论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion
论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion 链接 摘要 1,引言 2,模型 2.1 ...
- CVPR2020 | 旷视研究院提出PVN3D:基于3D关键点投票网络的单目6DoF位姿估计算法
IEEE国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14- ...
- Single-Stage 6D Object Pose Estimation——6D姿态估计
Single-Stage 6D Object Pose Estimation 作者:Yinlin Hu,Pascal Fua, Wei Wang, Mathieu Salzmann 实验室:CVLab ...
- 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 在杂乱无 ...
- 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 挖个坑,希望研究 ...
- 论文笔记(三):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. ...
- 笔记: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: ...
- 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 ...
最新文章
- handlebars.js {{#if}}中的逻辑运算符是有条件的
- ORA-07445 [kkoipt()+3881] [SIGSEGV] [Address not mapped to object] 问题
- php ttf 字体 url,window_TTF字体文件如何安装 TTF文件打不开解决方法,TTF文件是Windows系统下的字体文 - phpStudy...
- thymeleaf 模板语言简介
- MySQL 基础模块的面试题总结
- 豪宅周边5家盒马却不配送?盒马回应...
- 爸爸和儿子的故事带你理解java线程
- CCF201412-2 Z字形扫描(100分)
- 线段树(SegmentTree)学习笔记
- mysql definer super_技术分享 | 改写 mysqldump 解决 DEFINER 问题
- 云服务器的安全设置常识
- jira图片_JIRA issue 中的标记语言(Textile)
- 电子印章助推《上海市公共数据和一网通办管理办法》施行
- 用Python做一个猜数游戏(入门)
- Mysql期初数和期末数_账户中记录四种核算指标,即期初余额、 本期增加发生额、本期减少发生额和期末余额。其关系式包括( )。_学小易找答案...
- pip升级报错:def read(rel_path: str) -> str SyntaxError: invalid syntax
- 笔记本WIN7建立共享wifi的简单方法
- 【水】HDU2075 A|B?
- GIS自主创新十年路(一):缘起ActiveMap
- 读写shp等空间数据,进行geometry、SimpleFeature等转换的工具类
热门文章
- java通讯源码_GuQiu-JAVA做的局域网通讯源码
- 配置vsftpd 服务器
- RabbitMQ mandatory参数 路由器匹配不到队列返回响应
- 解决龙格现象matlab,matlab实现Lagrange多项式插值观察龙格现象
- STM32F767 资料汇总
- 20191225-How to read a paper 如何读英文文献
- 软编码Flv 到Mp4 容器(十三) fmp4 生成ftyp和moov所必要的 flv数据
- Android 系统 wifi基础知识
- Linux读取设备信息代码编写
- 浏览器的缓存机制 优点 缺点 协商缓存和强缓存 浏览器缓存过程 如何判断强缓存是否过期