前言:
目前同学们对“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算法很慢 #三维重建八点算法