一、双目三维重建(binocular stereo):输入左右两张图片
二、SFM(Structure from Motion)运动推断结构:一系列不同视角图片
三、MVS(Multi View Stereo)多视图立体:一系列不同视角图片
一、双目相机重建步骤:
1、双目相机矫正(获得相机内参和外参)
2、图像立体矫正(左右两个图片对齐到同一平面)
3、立体匹配(对齐后的图片利用极线约束匹配特征点)
4、生成视差图(左右相机对应特征点坐标的差值)
5、深度图生成点云图(点云质量的好坏与视差图的质量密切相关,有必要做深度图填充平滑)
二、SFM重建步骤:
1、提取图像的特征点(提取关键点,计算描述子)
2、两两图片对特征匹配(无法用极线约束,匹配比较盲目,误匹配点较多,所以这种方法点云较为稀疏)
3、获得两两之间相机空间姿态变换(为后面MVS图像矫正提供相机参数)
4、根据匹配的特征点进行稀疏重建
三、MVS重建步骤:
1、上述SFM获得相机参数的基础上进行稠密重建
2、根据相机参数对任意两两图片对进行立体矫正(参见双目重建步骤2)
3、提取图像的特征点(提取关键点,计算描述子)
4、立体匹配(对齐后的图片利用极线约束匹配特征点)同双目步骤3
5、极线约束使得任一像素很容易找到对应点,获得稠密对应点
6、生成稠密点云
根据以上三种方法的简要说明,他们的区别在于:
1.双目需要提前对相机进行标定,SFM和MVS不需要
2.双目重建的稠密程度取决于图片像素的大小,假如图像尺寸612*512,那么生成的点云个数一定是612x512=313344。
2.SFM得到了稀疏点云,但是同时也得到了相机空间参数,传递给MVS,可以根据极线约束进行稠密重建
3.双目必须两个镜头输入两张照片双目重建方法,SFM和MVS属于单目重建,输入的是一系列同一物体和场景的多视图
4、SFM和MVS的默认设置是假定相机围绕着静态场景运动,假如相机固定拍摄运动物体会造成参考系紊乱无法生成正确的点云,因此需要分割去除干扰的背景,提取目标区域。
5.如果涉及到重建真实尺寸测量,那么单目重建还有个大坑等着你:尺度因子不确定性。就是说单目重建的方法重建出来的是归一化模型,它和真实模型的尺寸差一个缩放尺度因子,解决这个问题也是一个专门的研究领域,可参考文献:基于点结构光测距的单目视觉重建中尺度因子确定方法
一种基于单目视觉的直接法点云三维重建及尺度确定方法与流程
总的来说就是已知实际尺寸求出尺度因子,如果是做SLAM的话可以结合IMU获取,或者用其他传感器获取真实尺寸传入进来,对于这种问题最好的解决办法就是能用硬件解决的就不要去用算法!