文献:三维视觉前沿进展 大场景下的视觉定位阅读笔记

文献:龙霄潇,程新景,朱昊,张朋举,刘浩敏,李俊,郑林涛,胡庆拥,刘浩,曹汛,杨睿刚,吴毅红,章国锋,刘烨斌,徐凯,郭裕兰,陈宝权.三维视觉前沿进展[J].中国图象图形学报,2021,26(06):1389-1428. 大场景下的视觉定位阅读笔记

国际研究现状:大场景下的视觉定位

大场景下的视觉定位大致可以分为端到端的视觉定位和非端到端的视觉定位。 非端到端的视觉定位方法也就是传统的视觉定位方法,包括检测和描述关键点、建立 2D-3D 匹配和利用 RANSAC( random sample consensus) + PNP( perspective N points)估计位姿等步骤。 端到端的视觉定位方法则利用神经网络来实现视觉定位框架中的所有模块。

端到端的视觉定位方法

基于3D坐标回归的方法

  • DSAC
    • 先利用神经网络预测图像中的2D 点所对应的 3D 坐标,这样就得到了 2D-3D 匹配,并且,受强化学习理论的启发,他们提出了可导形式的 RANSAC,称之为 DSAC,这样,传统的视觉定位框架中所有的模块都可以用神经网络端到端地实现。
  • DSAC++
    • 提出了一种基于熵控制的内点计数方法来对假设模型进行打分,大大提高了 DSAC 的泛化性能。之后,受启发于集成学习的理论, Brachmann 和 Rother(2019)将 DSAC 集成到多专家模型中,在合成和真实的定位数据集都取得了不错的结果。

基于位姿回归的方法

在给定一组训练图像及其对应的位姿后,其通过训练卷积神经网络直接从输入图像回归相机的位姿。

  • PoseNet
    • 基于GoogleNet搭建了第1个端到端的6DoF(six degrees of freedom)相机定位方法,之后有很多的其他方法是基于PoseNet的改进。
  • MapNet
    • 其利用两幅图像间的相对位姿和每幅训练图像的绝对位姿来进行端到端的定位。
  • 将注意力机制应用到全局位姿回归网络中,在室内外数据集上都取得了更加优越的性能。
  • 深入研究了基于位姿回归的方法,发现基于位姿回归的图像定位更类似于图像检索,而不是基于2D-3D匹配的精准定位。

非端到端的视觉定位

基于深度学习的特征描述

视觉定位任务中,用深度学习描述子取代传统的描述子,往往能取得较好的鲁棒性

  • MatchNet
    • 利用孪生网络提取特征和计算特征相似度(Han 等,2015)
  • DeepDesc
    • 采用区分图像块的渐进采样策略来提升描述子性能(Simo-Serra 等,2015)
  • DeepCompare
    • 研究多种网络结构来提高描述子性能( Zagoruyko 和 Komodakis,2015)
  • HardNet
    • 其loss采用三元损失函数,并在batch 内进行困难样本挖掘,最终取得了不错的效果(Mishchuk等,2017)。
  • DOAP(descriptors optimized for average precision)
    • 直接将描述子的性能度量标准AP(average precision)作为损失函数(He 等,2018)

同时提取关键点和描述子的网络

  • SuperPoint
    • 首先在一些人造数据集上进行训练,然后利用Homographic Adaptation技术过渡到真实场景中训练网络(DeTone等,2018)。
  • D2-Net
    • 模拟传统的提取关键点的方法,在损失函数中加入相关约束,在提取特征的同时筛选图像的关键点(Dusmanu等,2019)
  • R2D2
    • 络同时输出3个heads,一个表示关键点的重复性指标,一个表示关键点的可靠性指标,另外一个表示关键点的特征,然后用这3个heads完成关键点的检测和描述(Revaud 等,2019)

在训练描述子网络时,上述描述子大多优化的是描述子之间的匹配分数

  • Bhowmik 等人(2020)通过优化更高层任务 — 两幅图像间的相对位姿来训练描述子,获得了性能更好的描述子
  • 在训练描述子时,带有真实标签的数据集往往较难获得,为了解决这个问题,Wang 等人(2020g)仅仅使用两幅图像间的极线约束来训练描述子,也取得了不错的效果
  • Sarlin 等人(2020) 利用图神经网络来学习特征匹配,与 Superpoint 相结合,在视觉定位、图像匹配等任务上取得了第 1 名的成绩

基于2D图像检索的视觉定位方法

首先在数据库图像里检索与查询图像最相似的图像,然后将检索到的数据库图像的位姿直接作为查询图像的位姿

传统的图像检索

  • VLAD ( vector of locally aggregated descriptors)
  • Bag-of-words vector
  • FV( fisher vectors)
  • DenseVLAD
    • 利用深度图产生虚拟视角并提取稠密描述子,增加了数据的多样性,在查询的时候更容易找到查询图像的近似最近邻(Torii 等, 2015)
  • NetVLAD
    • 利用深度学习技术,提取局部特征,然后将深度学习学到的局部特征输入可学习的VLAD 层来将局部特征聚合成向量,然后用合成向量来进行最近邻匹配(Arandjelovic 等,2016)
  • 优化KL(Kullback Leibler)的NetVLAD
    • 通过优化 KL(Kullback Leibler)散度来学习判别性更强的图像特征(Liu 等人 2019a)
  • 可训练的广义平均池化层( generalized-mean pooling layer)
    • Radenovic’ 等人(2019) 提出可训练的广义平均池化层( generalized-mean pooling layer) 来提高检索性能,这种广义平均池化层同时具有平均池化和最大池化层的优势
  • SOLAR ( second-order loss and attention for image retrieval)
    • (Ng 等,2020)将二阶注意力机制和二阶相似性用于图像检索任务中,并带来显著的检索性能改进。

基于2D-3D匹配的视觉定位方法

2D-3D匹配的视觉定位方法需要借助场景的三维重建信息。 首先建立查询图像中的二维点和数据库中的三维点之间的匹配关系,然后将这些 2D-3D 匹配输入到 PNP RANSAC 算法中来计算查询图像的 6DoF 位姿
早期的 2D-3D 匹配的视觉定位主要是研究如何有效地求解较少点个数下的非线性方程(Wu和Hu,2006)

  • Wang 等人(2015)提出了基于场景平面图的室内大场景定位方法
  • Zeisl 等人(2015)提出了 O( n) 复杂度的基于投票的匹配方法,可以得到更多的匹配
  • Lu 等人(2015) 使用短视频构造了 3D 模型作为查询信息,并采用多任务点检索方式进行 3D 到 3D 查询定位
  • Liu 等人(2017b) 利用共视信息来确定哪一部分的 3D 点更有可能在查询图像上观察到,然后只在这些有较大概率能够在查询图像上看到的3D点中进行2D-3D匹配
  • Svärm 等人(2017)放松建立 2D-3D 匹配的标准,这样可以建立更多潜在的正确匹配,但同时也引入了大量的外点,然后利用具有更强判别性的滤波器处理大量的外点。 这种方法在重力方向已知的情况下非常有效
  • Sattler 等人(2017)采用优先搜索的策略去查找一定数量的 2D-3D 匹配,然后就停止查找以此来提高定位效率

基于2D的图像检索和2D-3D匹配融合的视觉定位方法

  • HFNet 先用 NetVLAD 进行粗匹配,然后在图像检索的结果中用直接法进行更精细的 2D-3D局部匹配,以此得到更准确的定位结果( Sarlin 等,2019)。
  • Sarlin 等人(2018) 还利用分层定位的方法来提高在机器人平台上定位的效率,同时还能保持较高的定位精度

很多研究者基于 HFNet 改进其中的局部描述子来提高定位精度

  • HFNet 中使用的SuperPoint(DeTone 等,2018)替换为 D2-Net(Dusmanu 等,2019)
  • HFNet 中使用的SuperPoint(DeTone 等,2018)替换为 R2D2 (Revaud 等,2019)
  • HFNet 中使用的SuperPoint(DeTone 等,2018)替换为 ASLFeat(Luo 等,2020)等

国内研究现状: 大场景下的视觉定位

基于深度学习的特征描述

  • L2-Net( Tian 等,2017) 将描述子的紧凑性约束加入到描述子的学习中,以此同时获取二进制和实值描述子
  • GeoDesc( Luo 等,2018b)采用了多视图重建的几何信息去约束描述子的学习,并提供了一个基于学习的描述子在 SfM(structure from motion)中应用的准则
  • SOSNet(second order similarity network)(Tian 等,2019) 在二进制的学习中加入了二阶相似性的约束,并提出了基于 von Mises-Fischer distribution 的描述子评判方法
  • GIFT(group invariant feature transform)(Liu 等,2019c)从几何变换后的图像中提取出的特征可以看做是一个定义在变换组上的函数,并使用群卷积来提取图像特征的底层结构,以此增强特征的判别性
  • ASLfeat(Luo 等,2020)利用 DCN( deformable convolutional networks)和不同层次的特征能够更好地学习图像的形状信息,在一些有代表性的描述子数据集(Balntas 等,2017)和定位数据集( Sattler 等,2018)取得了不错的效果
  • Wu 和 Wu(2019) 提出了哈希深度学习特征描述,对定位地点进行了识别,具有较高精度的同时在 CPU 端也可实时运行。 Wang等人(2020f)采用相机的位姿作为监督信息提取了图像局部描述子 CAPS(camera pose supervised)

大场景视觉定位算法

  • Feng 等人(2016)利用数据库中 3D 点描述子的标记信息去训练随机树,然后这些随机树结构又用来索引3D点,加快了2D-3D匹配的速度
  • Zhang 等人(2020a)提出并行搜索的视觉定位方法,其同时利用局部描述子和全局描述子查找局部特征的近似最近邻,然后在查找到的近似最近邻里进行线性搜索,这样能找到更多正确的 2D-3D 匹配,进而提高定位精度
  • Shi 等人(2019)首先对查询图像和数据库图像进行语义标注,然后在 RANSAC 阶段,结合语义信息剔除外点
  • Shi 等人(2020) 使用混合的手工特征子以及学习的特征子,结合稠密的语义地图,实现了跨光照的长期视觉定位
  • 香港科技大学的研究团队Ye 等人(2020a)通过直接优化光度误差来实现持续的跟踪和定位
  • 百度在 2017 年提出了一个测评视觉定位算法的数据集 ( Sun 等,2017),并在 2020 年提出了一种基于注意力机制的端到端视觉定位方法( Zhou 等, 2020b )
  • 滴滴MapVision 团队基于现有深度学习描述子,提出基于困难样本挖掘的二次合页损失函数改进方法,然后用改进的描述子进行相对位姿估计
  • 浙江大学和商汤科技在 ICCV2019 联合提出动态场景下端到端的视觉定位方法(Huang 等,2019b),之后他们还利用卷积神经网络学习二分图匹配,并将其应用在视觉定位任务中,取得了一定的性能提升( Yu等,2020)。

国内外现状对比:大场景下的视觉定位

相比于 2D 视觉而言,视觉定位方向的研究人员较少。 在深度学习快速发展和旺盛应用需求的驱动下,近几年越来越多的人加入了相关研究。 当前,具有较大创新性和重要理论贡献的工作大多出自欧美国家,国内虽然在顶级会议或重要期刊上有系列工作或竞赛冠军,但其原始创新影响力还和欧美国家有明显差距。 比如,大场景 AR 定位导航的研究思想于十多年前出自诺基亚芬兰研究中心。 早在2008 年,中国科学院自动化研究所就与诺基亚芬兰研究中心就 SLAM 及大场景 AR 定位导航进行研究攻关。 目前,国内很多大公司在此方面有大量研究投入,在工程化和应用转化上发展强劲。 比如,华为的河图系统在大场景下有较好的体验。

发展趋势与展望: 大场景下的视觉定位

1、基于深度学习的视觉定位方法的泛化性。探索结合几何知识的深度学习视觉定位方法来提升泛化性能,是一个值得研究的方向。
2、大场景长时定位中变化较多情况下的可靠定位。 长时定位会要求不同季节、天气、时间段和光照下都能够鲁棒和精准的定位,而目前还远远没有被解决。
3、精度与速度兼顾的轻量化大场景视觉定位。目前大场景下的视觉定位,在学术研究上都在追求较高的精度,采用深度学习在较高性能的 GPU 下进行实验,这样忽略了速度和功耗的问题。 而视觉定位的终端目前对于多数的计算资源还是有限,不能和极高性能的 GPU 相适配。 研究轻量化的神经网络以及大数据的快速索引方法不失为一种有效的解决方式。
4、室内弱纹理、相似纹理场景下的视觉定位。由于室内存在大量的弱纹理和相似纹理的区域,而室内又缺失卫星通讯,目前这样的场景下的定位精度还较低。 结合多种传感信息,以及线、面的矢量信息,有望能够逐渐解决该问题。

你可能感兴趣的:(三维视觉)