0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于特征点的SfM在弱纹理场景下的表现

3D视觉工坊 来源:3D视觉工坊 2023-08-21 09:22 次阅读

SfM是指给定一组无序图像,恢复出相机位姿以及场景点云。通用场景下的SfM效果已经很好,而且COLMAP这类框架也很好用。但是弱纹理和无纹理场景下的SfM却很麻烦,主要目前主流的SfM框架都是先提取图像中的特征点,然后进行特征匹配。但是在无纹理条件下,很难提取稳定且重复的特征点,这就导致SfM恢复出的位姿和三维点云非常杂乱。

很直接的一个想法就是,如果不提取特征点,直接进行匹配呢?

最近,浙江大学就基于这种思想提出了一种弱纹理场景下的SfM框架,主要流程是首先基于LoFTR这类Detector-Free图像匹配算法获得粗糙位姿和点云,然后使用Transformer多视图匹配算法优化特征点坐标,利用BA和TA进一步优化位姿和点云。这个算法获得了2023 IMC的冠军,整体性能很好。今天笔者就将带领大家一起阅读一下这项工作,当然笔者水平有限,如果有理解不当的地方欢迎大家一起讨论。

1. 效果展示

先来看一下传统基于特征点的SfM在弱纹理场景下的表现:

e04850c2-3fad-11ee-ac96-dac502259ad0.png

可以发现由于特征点提取的重复性差,匹配性能不好,进一步导致位姿和点云估计的结果很差。那么再来看看Detector-Free SfM这项工作,其主要目的是实现弱纹理场景下的SfM,可以发现在典型场景下运行良好,甚至海底、月球表面这种场景都可以进行定位和重建!推荐学习3D视觉工坊近期开设的课程:国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

e0a83ad2-3fad-11ee-ac96-dac502259ad0.pnge1069bea-3fad-11ee-ac96-dac502259ad0.png

有了精确的位姿和点云,就可以进行很多SfM的下游任务,例如新视点合成和稠密重建:

e1511080-3fad-11ee-ac96-dac502259ad0.png

不幸的是,这个算法暂时还没有开源,感兴趣的小伙伴可以追踪一下Github。下面来看一下论文的具体信息

我们提出了一个新的SfM框架来从无序的图像中恢复精确的相机姿态和点云。传统的SfM系统通常依赖于跨多个视图的可重复特征点的成功检测,这对于弱纹理的场景来说是困难的,并且较差的特征点检测可能会破坏整个SfM系统。受益于最近无检测器匹配器的成功,我们提出了一种新的无检测器SfM框架,避免了早期特征点的确定,同时解决了无检测器匹配器的多视图不一致问题。具体来说,我们的框架首先从量化的无检测器匹配中重建一个粗略的SfM模型。然后,它通过一个新颖的迭代优化管道对模型进行细化,该管道在基于注意力的多视图匹配模块和几何优化模块之间进行迭代,以提高重建精度。实验表明,所提框架在通用基准数据集上优于现有的基于检测器的SfM系统。我们还收集了一个弱纹理的SfM数据集,以展示我们的框架重建弱纹理场景的能力。

2. 算法解析

算法的Pipeline非常直观,输入是一组无序图像,输出是相机位姿、内参和点云。具体的流程是一个两阶段由粗到精的策略,首先使用一个Detector-Free的特征匹配器(LoFTR)来直接进行图像对的稠密匹配,以此来消除特征点的低重复性带来的影响。然后量化特征位置到粗网格来提高一致性,并重建粗SfM模型,为后续优化提供初始的相机位姿和场景结构。之后,使用轨迹优化和几何优化交替进行的联合迭代优化pipeline,以提高位姿和点云精度。

e1a6212e-3fad-11ee-ac96-dac502259ad0.png

Detector-Free匹配器一般也都采用由粗到精的策略,首先在下采样特征图的粗网格上进行稠密匹配,然后在一幅图像上固定粗匹配的特征位置,而在另一幅图像上用精细的特征图搜索它们的亚像素对应关系。理论上这种思想是可以直接应用到SfM上的,但这里有个问题,也就是在一幅图像中产生的特征位置依赖于另一幅图像,这样在多个视图进行匹配时,特征轨迹就很容易中断!

e1e71bfc-3fad-11ee-ac96-dac502259ad0.png

作者的具体做法是,将匹配的2D位置量化为一个网格⌊x / r⌉(r是网格大小),直接令多个相近的子像素合并为同一网格节点。实际上是以牺牲精度为代价,换取了一致性。

后续的迭代优化过程很有意思,优化的对象就是匹配点的2D坐标,主要思想还是对所有视图中的特征点位置进行局部调整,使其特征之间的相关性最大化

怎么做呢?直接计算所有的关联视图吗?那样计算量就太大了。

作者这里用了一个trick,就是选择一个参考视图,提取参考视图中特征点处的特征,并将其与其他视图(查询视图)中特征点周围大小为p × p的局部特征图进行关联,得到一组p × p的热图,相当于特征点位置的分布。另一方面,还要计算每个热图上的期望和方差,方差之和也就是优化的目标函数。

e1fe2fa4-3fad-11ee-ac96-dac502259ad0.png

还有个问题,就是这个参考视图怎么选择呢?这里的准则其实是最小化参考视图和查询视图之间的特征点尺度差异。具体来说,就是根据当前恢复的位姿和点云计算特征点的深度值,然后选择中位数做为参考视图。

还有个细节,就是如何提取以2D特征点为中心的局部特征块?这里是将以每个关键点为中心的p × p个图像块输入到CNN中,得到一组特征块,然后再利用Transformer的自注意力和交叉注意力得到最终的特征图。

e233a634-3fad-11ee-ac96-dac502259ad0.png

最后还有一个级联的BA和TA(Topology Adjustment)优化的过程,来细化位姿和点云。由于经过了Transformer优化和BA,这时候整体的场景已经比较准确了,因此TA优化过程中还加入了之前未能配准的2D点。整个优化过程,也就是不停的交替进行BA和TA,再把优化后的点云投影到图像上来更新2D位置,再进行下一次迭代优化。

3. 实验

整个模型需要训练的地方就是Detector-Free匹配器还有多视图特征提取Transformer,训练是再MegaDepth数据集进行,训练思路就是最小化优化轨迹和真实轨迹之间特征点位置上的平均l2损失。对比方案还是挺全的,有SIFT这种手工特征点,也有R2D2、SuperPoint这类深度学习特征点,数据方面使用了Image Matching Challenge (IMC)、ETH3D还有他们自己采集的Texture-Poor SfM数据集。

结果显示,这个算法搭配LoFTR可以实现比较好的性能(读者也可尝试和其他的匹配算法结合)。值得注意的是,SuperPoint + SuperGlue + PixSfM这个组合的性能也非常棒,也说明SP+SG在很多情况下都是通用的。

e28126d4-3fad-11ee-ac96-dac502259ad0.png

定性的对比就更直观了,红框代表Ground Truth,显然在低纹理场景下这篇文章提出的算法性能更优,甚至好几个场合SP+SG的组合直接挂掉了。

e2a484bc-3fad-11ee-ac96-dac502259ad0.png

再来看看三角化的结果,可以进一步证明位姿和内参估计的准确性。同样是基于LoFTR的组合取得了更高的精度,这里AspanTrans的配置牺牲了一点精度,但是完整性更好。

e2ef5dde-3fad-11ee-ac96-dac502259ad0.png

下面是一个验证优化模块影响的实验,做的是热力图的比较,O和X分别表示粗糙和精细的特征点位置。结果显示引入优化后,热力图的对比更明显。而且优化后的点云也更精确。

e3233910-3fad-11ee-ac96-dac502259ad0.png

然后是一个消融实验,分别测试的量化比值、迭代次数、视图数量以及各部分模块的消融实验。主要还是通过这组实验确定模型和迭代的最优参数。推荐学习3D视觉工坊近期开设的课程:国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

e37859a4-3fad-11ee-ac96-dac502259ad0.png

想必大家一定很关心运行的效率和耗时,作者最后做了一个在处理大规模场景时,模型的3D点数、优化时间、内存开销的一个对比。内存占用没有多大,这是因为算法是先进行多视图匹配,再进行几何优化,因此BA不需要像PixSfM那样存储每个2D点的特征块或代价图。

e3c4cc62-3fad-11ee-ac96-dac502259ad0.png

4. 总结

这项工作是针对弱纹理这一特定场景设计的,整体的设计思路很通顺,效果也非常棒。如果要说问题,那就是计算效率了,毕竟LoFTR匹配本身就非常耗时。但本身SfM就不像SLAM那样追求实时性,所以计算效率倒也不是什么大问题,可以尝试通过一些并行BA的方法来优化。另一方面,作者提到可以和深度图、IMU等多模态数据进行融合,也是很不错的研究方向。

审核编辑:彭菁

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

    关注

    4

    文章

    1253

    浏览量

    52452
  • 图像匹配
    +关注

    关注

    0

    文章

    21

    浏览量

    8774
  • 3D视觉
    +关注

    关注

    4

    文章

    393

    浏览量

    27299

原文标题:2023图像匹配挑战冠军方案|无需提取特征点也能进行弱纹理三维重建!

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    图像纹理特征与分类

    图像纹理特征总体简述
    发表于 04-30 17:05

    纹理图像的特征是什么?

    纹理图像的特征是什么?指纹图像的特征是什么?
    发表于 06-02 07:05

    讨论纹理分析图像分类中的重要性及其深度学习中使用纹理分析

    纹理就能被更准确地捕捉和分类。  基于纹理的分类任务重,纹理分析对于深度学习的重要性  由于纹理基于局部模式,而传统的深度学习方法强调复杂
    发表于 10-26 16:57

    虚幻引擎的纹理最佳实践

    是帮助您的游戏基于移动的平台上表现得更好。 本指南的内容包括: ·纹理贴图集·纹理过滤·纹理mipmap·
    发表于 08-28 06:39

    基于Contourlet特征修正的纹理图像识别算法

    提出一种基于Contourlet特征修正的纹理识别算法,不同分辨率下采取不同的方法提取特征,根据统计规律对每个方向上的纹理特征进行修正增强,
    发表于 04-09 09:08 19次下载

    基于兴趣点颜色及纹理特征的图像检索算法

    提出一种利用兴趣点进行局部特征提取及检索的新方法。该方法利用图像中兴趣点的位置信息,提取兴趣点周围局部区域的颜色及纹理特征作为刻画图像内容的主要特征,结合兴趣
    发表于 04-23 09:17 28次下载

    纹理特征分析及特征量计算

    纹理特征分析及特征量计算 本文采取的系统结构如图1所示,所需要分类的图像经过预处理,所以不涉及图像预处理过程。
    发表于 03-01 17:48 1977次阅读
    <b class='flag-5'>纹理</b><b class='flag-5'>特征</b>分析及<b class='flag-5'>特征</b>量计算

    纹理特征提取方法

    文中主要介绍了基于分形维数提取法、小波提取法、Gabor滤波器提取法、灰度共生矩阵提取法等纹理特征提取的原理和步骤等,并对各个方法的优、缺点进行了归纳总结。
    发表于 02-22 11:11 10次下载
    <b class='flag-5'>纹理</b><b class='flag-5'>特征</b>提取方法

    基于LBP纹理特征的随机游走图像分割

    基于LBP纹理特征的随机游走图像分割_郭艳蓉
    发表于 01-07 16:00 0次下载

    一种对野值鲁棒的纹理特征提取方法

    纹理是表征图像的一个重要特征,它广泛存在于各类图像中。纹理图像的分类在图像处理、计算机视觉和模式识别中有着极其重要的作用。纹理分类的一个重要研究内容是
    发表于 11-02 17:19 2次下载
    一种对野值鲁棒的<b class='flag-5'>纹理</b><b class='flag-5'>特征</b>提取方法

    基于纹理特征匹配的快速目标分割方法

    目标分割方法是工业自动化、在线产品检验、生产过程控制等领域的关键技术之一。基于特征匹配策略,研究了如何增强纹理特征的区分能力以及如何快速分割特定的目标。在纹理
    发表于 12-07 16:48 0次下载
    基于<b class='flag-5'>纹理</b><b class='flag-5'>特征</b>匹配的快速目标分割方法

    结合颜色和纹理特征的图像检索算法

    针对仅使用单一颜色或纹理特征并不能达到较好的图像检索效果的问题,提出了一种结合颜色和纹理特征的图像检索算法。首先,颜色微观部分利用颜色直方图,刻画每种颜色的像素占整个图像的比例;然后,
    发表于 12-18 11:30 0次下载

    一种激光雷达增强的SfM流程

    摘要 尽管运动恢复结构(SfM)作为一种成熟的技术已经在许多应用中得到了广泛的应用,但现有的SfM算法在某些情况下仍然不够鲁棒。例如,比如图像通常在近距离拍摄以获得详细的纹理才能更好的重建场景
    的头像 发表于 01-07 13:59 2610次阅读

    Global SfM和ncremental SfM知识讲解

    Sfm 可以分为以下几类:Global SfM、Incremental SfM、Hybrid SfM、Distributed SfM,这里主
    的头像 发表于 12-30 09:16 1140次阅读

    分享一种基于深度图像梯度的线特征提取算法download

    在低纹理区域,传统的基于特征点的SfM/SLAM/三维重建算法很容易失败。因此很多算法会尝试去提取线特征来提高点特征的鲁棒性,典型操作就是L
    的头像 发表于 01-08 14:29 899次阅读