通讯作者:Carsten Rother
第一作者:Eric Brachmann
研究机构:德累斯顿工业大学,微软
代码地址:DSAC
自己的想法:
随机森林的思想在很多需要解决歧义性和多解的问题中出现,如果一个预测器没法分辨出相似的两种情况,那就训练多个预测器。
论文解决的问题
解决了RANSAC方法不可微因而无法应用到深度学习中的问题。
首先介绍下RANSAC:
该算法用于将模型拟合到一组存在噪声的数据上的任务,已经有多种RANSAC的变种被提出,这里只介绍基础版本。
- 通过对数据的最小子集进行采样来生成一组模型假设
- 基于某种相似性的量度对模型假设进行打分
- 选择分数最高的模型假设
- 使用其他数据点来优化完善所选择的模型假设
算法不可微,因此RANSAC不能参与到深度学习模型的训练过程中去。
现有方法的不足 & 本文贡献
现有的基于RANSAC的相机位姿预测方法都没有能够端到端训练的。
本文提出了两种克服RANSAC不可微的方法,其中效果较好的一种叫做DSAC。为了证明DSAC的有效性,作者将其应用到相机定位问题中,显著提升了视觉定位的精度(高出SOTA 7.3%)。
论文方法介绍
具体的,作者基于场景坐标回归森林(SCoRF)的方法 ,使用深度神经网络和DSAC对其改造,论证了DSAC的效果。
标注说明:
I、 i 分别表示输入图像和像素的index,
y(I,i)、 yi均表示像素
i的三维坐标的预测值,
Y(I)、 Y均表示对图像$I $的所有像素的三维坐标的预测值。
h~ 表示模型参数
模型概述:
如上图,
- 首先使用W网络对输入图像进行预测,得到每一个像素点的三维坐标预测值(correspondences)。
- 每个最小坐标子集
YJ包含4个correspondences(通过随机采样获得),通过PNP算法每个最小坐标子集可以得到一个模型假设。通过这种方法得到一个假设集
{hi}
- 使用基于重投影误差的标量函数S对每个假设模型打分。
- 选择得分最高的一个假设模型
hAM,使用剩余的correspondences对该最佳假说模型进行优化。
重投影误差:ei=‖pi−ChJyi‖pi为像素i的坐标,C是相机的投影矩阵当重投影误差小于设定的阈值时该点即被视为inlier,否则视为outlier标量函数s(hJ,Y)统计了假说hJ的inlier数目作为打分数值
本文方法基于前人的几篇论文:
- 论文《Scene coordinate regression forests for cam-era relocalization in rgb-d images》提出了回归森林方法,用于获得三维坐标预测
y(I,i)
- 论文《Learning analysis by synthesis for 6d pose estimation in rgb-d images》提出了标量函数
s(hJ,Y)
但是都是分开训练的,本文的工作就是将两部分结合在一起成为一个可端到端训练的模型。
下图说明了基础的RANSAC(不可微)、基于softmax的RANSAC(可微)、DSAC三种方法的异同:
Soft argmax Selection (SoftAM):
实际上,该方法使用所有假说模型的加权和作为最终的最佳模型,避开了原始版本RANSAC需要求argmax的不可微操作:
hSoftAMw,v=J∑P(J∣v,w)hJww,v分别表示三维坐标预测网络和打分模块,是网络需要训练的参数其中:P(J∣v,w)=∑J′exp(s(hJ′wYw;v))exp(s(hJw,Yw;v))
最后通过优化损失函数L得到最优参数
w~,v~:
w~,v~=argminw,vI∈L∑L(R(hAMw,v,Yw),h∗)其中h∗为模型参数的真值,函数R(H,y)负责根据y优化假说H
Probabilistic Selection (DSAC):
使用概率选择的思想:
hDSACw,v=hJw, with J∼P(J∣v,w)其中的P(J∣v,w)与之前提到的相同
此时需要优化损失函数的期望值:
w~,v~=argminw,vI∈L∑EJ∼P(J∣v,w)[L(R(hJw,Yw))]
计算梯度:
∂w∂EJ∼P(J∣v,w)[L(⋅)]=EJ∼P(J∣v,w)[L(⋅)∂w∂logP(J∣v,w)+∂w∂L(⋅)]
Differentiable Camera Localization:
作者整体框架借鉴了论文《 Uncertainty-driven 6d pose estimation of ob-jects and scenes from a single rgb image》,不同之处在于:
- 将其中的随机森林换成了CNN用来预测三维坐标。
- 同样使用CNN来对假设模型打分
模型结构如图: