sfm初始化点云
此部分不是3dgs主要的算法改进部分,只是通过sfm算法处理图片并初始化点云,进行后续操作。
推荐学习文章:如何从零开始实现一个SFM
sfm算法简要流程
-
特征提取:首先从输入的多个图像中提取出特征点,通常使用SIFT、SURF等算法来检测关键点并计算它们的描述子。
-
特征匹配:对于不同图像之间的特征点,通过匹配它们的描述子来找到对应的点对,建立两两图像之间的对应关系。
-
三角化:对于至少两幅图像中共享的特征点,利用它们的像素坐标和相机参数,通过三角化算法计算出对应的三维点坐标。
-
运动估计:通过对匹配的特征点进行运动估计,推断出相机的运动轨迹,即相机的位姿随时间的变化。
-
结构恢复:同时根据三角化得到的三维点和相机的运动轨迹,恢复出整个场景的三维结构,得到场景中的物体位置和形状信息。
主要工具
可以直接用开源软件COLMAP直接使用sfm算法生成3d结果。