龙空技术网

三维重建的定位定姿算法

3D视觉工坊 287

前言:

目前同学们对“opencv3算法很慢”大致比较讲究,咱们都想要分析一些“opencv3算法很慢”的相关内容。那么小编也在网络上搜集了一些有关“opencv3算法很慢””的相关资讯,希望你们能喜欢,你们快快来了解一下吧!

作者:李城

来源:公众号|计算机视觉工坊(系投稿)

3D视觉的核心问题是恢复场景结构、相机位姿、和相机参数,而解决方式有两种,一种是off-line的sfm(structure from motion),一种on-line的slam(simultaneous localization and mapping)。Slam 与sfm的区别在于,大多数slam系统是需要提前标定相机,而sfm 则不需要提前标定(通常所说的三维重建和slam的区别,严格意义上应该是sfm 和slam的区别)。

Sfm 可以分为以下几类:Global SfM、Incremental SfM、Hybrid SfM、Distributed SfM,这里主要讲解Global SfM和ncremental SfM(主要集中在global sfm)。

一、Global SfM workflow:

Global sfm 的内容包括rotation averaging 和anslation averaging。

Rotation averaging

观测值:一组相机pose的相对rotation

目标:计算相机的绝对旋转

优化:L2范数,采用L2范数的原因有两个:1)估计一个好的旋转初始值 2)收敛快

理论基础:

translation averaging

观测值:同rotation averaging 一样,观测值是两一组pose之间的相对translation

目标:计算相机的绝对旋转

优化:L1范数,原因是L1 范数对噪声鲁邦

理论基础:

Translation averaging 在global sfm 中计算困难,原因如下:

1、 两视图之间的运动不能恢复尺度(tvec 是从本质矩阵中恢复出来的,但是本质矩阵的秩是5,不包含尺度,所以global sfm 是属于三焦张量问题,即是至少tack 3帧才能进行运算。同时,global sfm 容易出现退化现象,当相机都处于同一条线上时候,对于无人机图像来说,这个时候轨迹就会出现bending map。

解决bending map 的手段有三点:

(1)提前对相机标定

(2)以无人机为例,飞行航线不要在恒定高度上飞行

(3)融合其他传感器,如gps 位置约束等

退化的case 如下:

以上分别为侧面图和俯视图

以上结果是fusion low-cost gps的效果,但是依旧可以看出有弯曲的现象(不融合的效果特别差)

飞行方式改变,fusion low-cost gps,退化现象消失,如下:

从侧面图和俯视图可以看出,当飞行方式发生改变,global sfm 退化现象消失。

2、 global sfm translation averaging第二个的痛点是对噪声敏感,其不像Incremental sfm,不断的ransac 和local ba 来减少bad EGs的影响。

如何去改善global sfm 的鲁棒性:

1)如果rotation 是已知的(不够精确),提供global rotation初始值给global sfm pipeline ,利用这些初始值在BA中增加relative rotation constraint

2)如果位置已知,sfm 增加位置约束,即最小化先验位置和估计的位置之间的gap,位置约束可以替代slam回环(如果是low cost gps ,位置约束不能保证精度,但可以起到一个control strcture 的作用(AR 常用)—参考vins-fusion思想 ,这个openmvg 中已经实现位置约束。

二、Incremental SfM workflow:

增量sfm这里不准备太多的叙述,需要注意的是初始化选择像对的基准:

enough matchingbig baseline

三、global sfm和incremental sfm 优缺点和应用场景

应用场景:

1.当考虑速度不考虑精度的时候,并且当图像overlap 比较大的时候,用global sfm 可以达到理想效果,因为有更多的数据去average(Feature track based translation averaging)

2.如果考虑精度,选择Incremental sfm ,但是在大场景下,incremental sfm会随着图像的增多,速度越来越慢,同时由于误差的累计,会出现drfit ,这种情况下可以采用Distributed SfM。

参考文献 :

1.Rotation Averaging and Strong Duality[J].Anders Eriksson

2.Global Structure-from-Motion and Its Application[R]

3.Linear Global Translation Estimation with Feature Tracks[J].Zhaopeng Cui

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

标签: #opencv3算法很慢 #三维重建八点算法