PVNet:Pixel-wise Voting Network for 6DoF Pose Estimation
1.背景信息
- 输入单张RGB图像
- 隔壁实验室的成果
- 最大的亮点:
(1)证明了两阶段(先求关键点再用PnP求解位姿)比end to end的方法具有优势。直接求解非线性旋转空间,会带来优化上的困难。
(2)使用unit vector filed来表示方向特征,这被证明是更利于学习和优化的。这里没有用offset,失去了特征大小信息,我觉得是个可以改进的地方。
(3)使用dense的方法,pixel-wise预测unit vector,并且用基于RANSAC的投票方法进行投票。
(4)改进的PnP,在PnP公式中引入了不确定性,协方差矩阵,使得位姿估计更准确。
2.方法
2.1基于投票的关键点定位
预测逐像素方向的好处:
增强网络关注更多目标局部特征的能力
可以表示优于遮挡和截断不可见的关键点
流程:
-
预测每个点相对于第k个关键点的vector:
这里的 x k x_{k} xk显然是最本质的预测值。 -
对第k个关键点,随机选择所在目标中的两个点p1,p2,计算 v k ( p 1 ) v_{k}(p1) vk(p1), x k ( p 2 ) x_{k}(p2) xk(p2)方向的交点,将其记为假设 h k , i h_{k,i} hk,i,这样进行N次,就可以得到一个假设集:
这个假设集中就包含了可能的关键点位置,这是RANSAC方法在这里的应用。 -
对每个假设 h k , i h_{k,i} hk,i计算投票分数 w k , i w_{k,i} wk,i
我个人的理解,并举了个例子:
-
计算第k个关键点预测假设的统计量
关键点选择:FPS,K=8
**handle多个实例:**语义分割+中心点预测=实例分割
2.2不确定性驱动的PnP
PnP+confidences:
这个公式添加了协方差矩阵,考虑了信息的不确定性。
原始PnP公式:
3.实现细节
FCN具体实现:
具体有三点不同,我没细究。
训练loss:
实验结果略。
4.读后感
1. 应该将一些公认测试有效的好的模块和思想集成起来,以期待得到更好的效果。
2. PVNet用的unit vector只取方向信息,而忽略了向量大小的信息。虽然理论上多加信息会有助于性能提升,但是作者这样选择,有可能是加了向量大小的信息在实现上性能会退化。
3. 输出
H
∗
W
∗
(
K
∗
2
∗
C
)
H*W*(K*2*C)
H∗W∗(K∗2∗C),这里将C引入的原因是这个预测vector的分支还没有接受到语义信息,个人猜想将语义分割的结果引入到vector预测中会提升性能。