Structure From Motion 笔记

本文记录了使用OpenMVG库进行三维重建的过程,包括特征点提取、匹配、摄像机矩阵优化、MVS网格构建以及纹理映射。讨论了可能的改进方法,如特征点算法优化和RANSAC后的再提取。提到了相关工具如assimp库和3D模型查看器open3mod,以及MVE库的全面功能。

期末的大作业使用OpenMVG库进行三维重建,笔记如下:

整体过程:
1. 对多张图片提取特征点(SIFT SURF)
2. 匹配特征点,使用RANSAC算法消除干扰
3. 对于可匹配特征点使用矩阵优化求解库(ceres-solver Osi-Clp SoPlex GLPK)求解摄像机矩阵和位置矩阵(Fundamental Matrix & Essential Matrix),推算出每个摄像机位置和特征点位置

4.应用MVS(Multiple View Stereo-vision)库建立三维的网格Mesh,
PMVS稠密点云

5.将二维图片纹理映射至三维场景,如MVS推荐的FSSR(Floating Scale Surface Reconstruction)库或MVS-texturing
CMPMVS库(非开源)支持依次建立网格和纹理



针对PMVS,openMVG提供了导出方法

openMVG_main_openMVG2PMVS -i Dataset/outReconstruction/SfM_Output/ -o Dataset/outReconstruction/SfM_Output/
pmvs Dataset/outReconstruction/SfM_Output/PMVS/ pmvs_options.txt


针对CMPMVS,openMVG提供了导出方法

openMVG_main_openMVG2CMPMVS -i Dataset/outReconstruction/SfM_Output/ -o Dataset/outReconstruction/SfM_Output/


5.选用某种格式保存模型及纹理。使用查看器或游戏引擎进行显示。


OpenMVG按照以下步骤进行SFM重建:

Image listing
openMVG_main_SfMInit_ImageListing
Image description computation
openMVG_main_ComputeFeatures
Corresponding images and correspondences computation
openMVG_main_ComputeMatches
SfM solving (2 methods)
openMVG_main_IncrementalSfM
openMVG_main_GlobalSfM
Optional further processing
openMVG_main_ComputeSfM_DataColor
openMVG_main_ComputeStructureFromKnownPoses
openMVG_main_ExportUndistortedImages
Optional further processing (3rd party)

Multiple View Stereovision

上述步骤被整合在SfM_GlobalPipeline.py脚本中


Polycode 游戏引擎调用了assimp库以进行3D模型的导入和导出,该库提供了可在windows下使用的3D模型查看器open3mod
Polycode的模型格式为.mesh,与OGRE一致。MVE库和FSSR库的导出格式为.ply,Polycode提供了转换工具polyimport


可能改进的地方
1. 提取特征点的算法可以与高层相关。即先用通用特征点算法提取后估算大致对应关系,然后使特征点的有效范围更大,进行线段或纹理捕捉,提高精度
2. RANSAC后针对特征点稀疏的地方,降低阈值再次提取
3. 非线性优化方法,噪声鲁棒性


OpenMVG库依赖于:

OPENEXIF        读取JPEG EXIF信息头
Eigen           矩阵和向量运算库
flann           处理在高维空间的最邻近搜索
lemon           图和网络数据结构及优化算法
progress        显示进度条
CppUnitLite     单元测试 
htmlDoc         文档生成

此外,MVE是一个较为全面的库,包办了SFM MVS FSSR功能。
文档在这里
这里 有很多3D原始素材

地形数据测量是许多地貌研究应用程序的基本方面,尤其是那些包括地形监测和地形变化研究的应用程序。然而,大多数测量技术需要相对昂贵的技术或专门的用户监督。 MotionSfM)摄影测量技术的结构通过允许使用消费级数码相机和高度自动化的数据处理(可以免费使用)减少了这两个限制。因此,SfM摄影测量法提供了快速,自动化和低成本获取3D数据的可能性,这不可避免地引起了地貌界的极大兴趣。在此贡献中,介绍了SfM摄影测量的基本概念,同时也承认了其传统。举几个例子来说明SfM在地貌研究中的应用潜力。特别是,SfM摄影测量为地貌学家提供了一种工具,用于在一定范围内对3-D形式进行高分辨率表征,并用于变化检测。 SfM数据处理的高度自动化既创造了机遇,也带来了威胁,特别是因为用户控制倾向于将重点放在最终产品的可视化上,而不是固有的数据质量上。因此,这项贡献旨在指导潜在的新用户成功地将SfM应用于一系列地貌研究。 关键词:运动结构,近距离摄影测量,智能手机技术,测量系统,表面形态echnology reduces both these constraints by allowing the use of consumer grade digital cameras and highly automated data processing, which can be free to use. SfM photogrammetry therefore offers the possibility of fast, automated and low-cost acquisition of 3-D data, which has inevitably created great interest amongst the geomorphological community. In this contribution, the basic concepts of SfM photogrammetry are presented, whilst recognising its heritage. A few examples are employed to illustrate the potential of SfM applications for geomorphological research. In particular, SfM photogrammetry offers to geomorphologists a tool for high-resolution characterisation of 3-D forms at a range of scales and for change detection purposes. The high level of automation of SfM data processing creates both opportunities and threats, particularly because user control tends to focus upon visualisation of the final product rather than upon inherent data quality. Accordingly, this contribution seeks to guide potential new users in successfully applying SfM for a range of geomorphic studies.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值