三维重建 3D reconstruction 有哪些实用算法?

已邀请:

首先一切建立在相机模型 x=kPX 上


(x,X分别代表图片和空间中的二维三维齐次坐标,k为相机内参矩阵,P=[R | t] 为空间坐标系到相机坐标系的 orientation- R 和 translation- t)



1, 首先对某一场景多角度多位置得到很多初始数据,选择其中的某两个来初始化,选定其中一个为空间原点。



https://pic3.zhimg.com/50/2533dbf20dfcf38e3cc82830eef13d1b_hd.jpg


 



2. 通过SIFT SURF等特征点查找匹配之后,用 8点法 和 RANSAC,多次计算两张图之间的Fundamental Matrix,选择其中最好的一个



https://pic2.zhimg.com/50/5f44b0abdf9065b747aa7424895c3c61_hd.jpg



3.用F-matrix计算Essential-matrix

https://pic4.zhimg.com/50/ce0c15835abe5cd520d8c70945ce0232_hd.jpg

4, 用E-matrix计算相机的R和T,需要用SVD分解,因为orientation R是一个正交阵。

https://pic2.zhimg.com/50/6bf0b539b963550054d874f9697524f8_hd.jpg

5, 得到两个相机之间的P矩阵之后,通过对应点,用Triangulation计算对应点的空间坐标。

 



 



https://pic2.zhimg.com/50/e0b6757903e37599abf74fa0f30f7d0f_hd.jpg

6. 第三个位置的照片,直接根据已有的上步计算的点,与第三个位置图片上点的对应关系,计算P矩阵。

https://pic2.zhimg.com/50/c9d5b486f24b982d26fe5692899ff95a_hd.jpg



7. 最后全局优化,Bundle Adjustment

https://pic2.zhimg.com/50/0ae3f9a9a8b77b289bd7af6c749442c5_hd.jpg



8, Bundle Adjustment所有的艺术就是优化 hessian matrix的逆矩阵

https://pic1.zhimg.com/50/08a972d34f7fa4f69bc6730324362b3e_hd.jpg


 



------------------------------------------------------------------------------------------------------------

推荐宾大Shi Jianbo教授在Coursera上的公开课 Robotics:Perception

上面所有的截图都来自他最后一次课的视频讲义截图

coursera.org/learn/robo

配合视觉圣经 Multiple View Geometry来看简直完美。Ransac, Bundle-adjustment, 2-View, Homography全部都有。一共四周,有线性代数基础(主要是SVD用来解线性方程),作业用Matlab.



第一周作业: Dolly Zoom

第二周作业: 平面摄影几何,广告牌在视频中的投影,类似2D增强现实

第三周作业: 在平面Barcode上通过sift检测特征点,通过H矩阵计算相机位置,做3D增强现实

第四周作业: 3D重建



https://pic4.zhimg.com/50/5aebf6928d5fe8a2bb3931612304538a_hd.jpg




 



该问题目前已经被锁定, 无法添加新回复