针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

360摄像机街拍视频根据FOV切割5视角图片进行重建。

狭窄复杂街道,人群多,光影复杂,匹配度较差,图像匹配实验:https://blog.****.net/huqinweI987/article/details/108850821

 

使用colmap进行点云生成。

因为colmap的增量过程采用了分块模式,并且此模式在倾斜摄影中应用效果可接受,所以此功能被保留用于AR街景的场景重建。

 

分块本身对AR增量过程产生影响的典型情况示意图:

因为匹配度不佳,结构脆弱,分块导致图片间匹配割裂。

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

 

 

分块后增量实验:

以742张图的第一块为例。

增量产生多块子模型的间接原因:

首次Reconstruct失败,产生0个manager,for循环,放宽参数继续重建(如成功,则size大于0,break):

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

产生多块的直接原因:

启用了“多子模型”模式,一次性无法注册所有图片,且单个子模型满足下限,导致产出多个子模型。

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

上图,不注册所有图片无法break,下图,不break需循环指定次数才会结束

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

多模型模式下,最小模型size直接影响产出子模型数量和单个模型的规模,且参数数值固定

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

实验:不同“最小模型注册图数”对产出模型的影响。

下图是一次重建结果,分别产出13、108、11图片数的子模型,目前不确定建出size=13的块与建出size=108的块的顺序颠倒是否可能影响互相的融合关系(先108,是否会直接产生108+13=121或更大的块,而不是割裂的)。根据局部增图和BA得流程猜测有影响(又或者,有更好的大块可以做增量基础,但是超过重试次数导致没有被发现)

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

调整参数(默认10):options_->min_model_size = 100

结果可以一个模型注册所有块

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

所有图片被注册,也不需要放宽参数

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

 

只产生一个文件夹(对比,之前产生过三四个文件夹)

下图:对比,一次重建产生了0、1、2三个目录,本次产生0一个目录

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

 

作为对照,直接使用job5,不重新分块,

调整参数(默认10):options_->min_model_size = 10

不能完成所有图片的注册,产生4个子模型,丢图数=742-19-14-20-11=678

极其烂的结果

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

结束是因为超过10次重试(也可修改此参数,对于此场景,是很应该改的)

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

合并过程会使用其中最大的(20张图)子模型,导致丢图722张。

 

 

针对上次实验,做一个修补尝试,修改阈值为30:

实测可以改善,证明阈值更改有效

产出单个模型742张图,不丢图!

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

 

文件大小对比:

一次成型

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

三个子模型

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进

 

结论与方案:

针对360街拍视频切割数据的单目三维重建中增量过程分析与改进