基于CNN的点线联合优化估计相机姿态

人工智能

623人已加入

描述

主要内容: 提出了一种点线联合优化方法来解决相机姿态估计问题,即设计了一个线提取CNN用于后续的线匹配和姿态优化过程,采用了一种基于极几何约束和线重投影误差过滤的由粗到细的匹配方法,还构建了一个点线联合优化代价函数来优化相机姿态。在公开数据集上进行了充分的实验,即Wireframe和YorkUrban上的线提取、Aachen Day Night v1.1和InLoc上的定位性能,确认了其点线联合姿态优化方法的有效性。

论文出发点: 基于点特征的相机定位技术蓬勃发展,已经有许多论文方法提取图像特征点、匹配以及基于点的建图等,但是点特征对弱纹理区域和照明变化敏感,在某些情况下有结构特征的线条更具鲁棒性;对于图像中线的检测,传统方法如LSD、FLD和EDline通常依赖于低水平图像梯度和边缘特征,随着深度学习的快速发展,基于卷积神经网络(CNN)的线段检测模型已经取得了优于传统方法的性能,本文就是利用深度学习以及具有手动标注的线框注释的大规模数据集的支持,训练网络模型捕获结构化线段(例如,建筑轮廓、楼梯),同时忽略与纹理相关的线段(例如地毯图案)等。

Contribution:

提出了一种线检测CNN(VLSE),其利用了新颖的线段表示和基于Stacked Hourglass network的定制混合卷积块。

设计了一种基于初始姿态的由粗到细的线匹配方法,利用极几何约束和重投影过滤来选择高质量的线匹配对。

采用一种包含更精确的线重投影误差测量方法的点-线联合优化代价函数来获得最终的高精度姿态。

Pipeline:

卷积神经网络

输入数据:用于建图的数据库图像集、具有初始姿态的查询图像以及来自初始纯点定位的2D-3D点对应。

整个算法有4个模块: 模块1是线提取,检测用于建图的数据库图像和用于2D-3D线匹配的查询图像上提取的线特征。 模块2是线地图重建,根据数据集的不同特征使用不同的策略重建3D线图,对于可以用点稀疏重建的数据集使用一种基于SFM的名为Line3Dpp的现有方法,而对于具有深度图像的数据集来说提出了一种轻量级的重建方法,该方法通过PnP和RANSAC的异常值过滤器将2D线直接映射到3D空间。 模块3是线段匹配和过滤,基于给定的初始姿态,利用对极约束计算数据库图像和查询图像之间的粗略的2D线匹配,然后将数据库图像上的2D线映射到3D线图上,并拒绝有较大重投影误差的线匹配。 模块4是点线联合优化,给定初始姿态和来自点定位的对应点匹配,最小化点对应和线对应的重投影误差以优化得到最终姿态

模块1 线提取: 网络直接预测代表单个线段的两个端点的位置。 线表示:

卷积神经网络

传统上,线表示为线段长度l和角度θ,如图2(a)所示,其中Pr和Pl表示线段的左右端点,Vr是一个向量,表示Pr和中点Pm之间关系,传统上预测角度θ将导致较大的线误差,特别是对于长线段的预测,因为θ的微小偏差会对端点的位置产生很大影响。因此本文预测水平距离

卷积神经网络

,因为在训练阶段,作者发现位置偏移距离误差比角度误差更具鉴别性,此外采用dx和dy来生成Vr,而不是长度l和θ,如图2(b)所示。Pl和Pr表示为: 线提取CNN:

卷积神经网络

Stacked Hourglass network (HG)为生成共享特征的backbone,通过一系列的下采样和上采样,融合不同尺度下的特征信息,HG的基本卷积块如图(a)所示,

卷积神经网络

包括两个1×1卷积层和一个3×3卷积层,与目标检测任务中的许多其他情况不同,沿直线方向向量的支持区域的长度远大于沿直线法向量的区域的宽度,因此额外设计了两个细长卷积核(7×1和1×7),将其计算结果与原始3×3连接起来作为融合从不同感受野提取的视觉特征的方法。 之后,生成F表示的共享特征图。向线段检测头提供共享特征图,通过预测中点和相应端点的位置来进一步计算线段。卷积神经网络表示似然图的二维图像,其意味着每个子像素是否包含中点,然后计算中点置信度图,然后计算Softmax层;为了恢复原始图像中的像素级中点预测引入了额外的2D图

卷积神经网络

以形成中点的局部偏移,采用Sigmoid以[0,1)×[0,1]对边界进行归一化;第三个二维图

卷积神经网络

可推断水平和垂直方向上相对于中点的端点位移。   模块2线匹配与滤波: 先通过图像检索方法找到与查询图像相似的一些数据库图像,然后利用提出的线提取CNN去提取线特征,利用极几何约束去获得一些候选的匹配线,

卷积神经网络

计算候选匹配线段之间的重叠率并将达到某个阈值的候选线保留为粗匹配线,在获得粗略的2D-2D线匹配后利用3D线图来建立2D-3D匹配,对于具有SFM模型的数据集采用了一种名为Line3Dpp的方法,对于具有深度图像的数据集采用了一种轻量级重建方法,将二维直线直接映射到三维空间,然而由于前景和背景之间的深度不连续会生成错误的三维线从而影响线的精度,因此在数据库图像上应用带RANSAC的PnP方法来过滤端点为异常值的直线,即如果线的两个端点都是内联线则保留数据库图像的相应2D-3D线匹配,最后利用重投影约束得到高质量的2D-3D直线匹配,计算具有初始姿态的查询图像上的2D线和相应3D线之间的重投影误差,该误差包含中点距离误差和角度误差,选择距离和角度误差最小的高质量线匹配作为细线匹配

卷积神经网络

其提出的线匹配方法在一些场景下的表现:

卷积神经网络

模块4点线联合优化相机姿态: 将传统的点重投影约束与线约束相结合使相机优化更具鲁棒性,在获得查询图像的相机初始姿势时,姿势解算器中的2D-3D内点对应关系

卷积神经网络

实验: 线段检测网络性能实验,在Wireframe 和 YorkUrban数据集上进行实验,

卷积神经网络

 

卷积神经网络

定位性能测试: 在Aachen Day Night v1.1和InLoc数据集上进行实验。 亚琛的3D线地图是通过COLMAP和Line3Dpp使用LSD线提取方法构建的,因为VLSE提取的线是完整的且不重复的,因此对线跟踪不够友好。通过将VLSE提取的2D线投影到深度图像中来重建InLoc 3D线图

卷积神经网络

为了验证线优化和点线联合优化导致的定位精度的提高,在具有相同初始姿态的不同成本函数下对上述两个数据集进行了实验。结果见表二

卷积神经网络

 

卷积神经网络

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分