前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一文详解三维重建之定位定姿算法

一文详解三维重建之定位定姿算法

作者头像
3D视觉工坊
发布2020-11-11 16:55:31
1.6K0
发布2020-11-11 16:55:31
举报

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这里不准备太多的叙述,需要注意的是初始化选择像对的基准:

  1. enough matching
  2. big 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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D视觉工坊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档