在这个问题下,竟然没有人说大名鼎鼎的KinectFusion以及他后面的一系列工作?KinectFusion单篇论文引用都已经超过3000次了,不应该啊!
如果只想看现阶段效果最好的三维重建算法,请拉到文章最后(如有更好的算法,还请告知)。
一、KinectFusion
帝国理工的Newcombe等人在2011年提出的KinectFusion,可在不需要RGB图而只用深度图的情况下就能实时地建立三维模型。KinectFusion算法首次实现了基于廉价消费类相机的实时刚体重建,在当时是非常有影响力的工作,它极大的推动了实时稠密三维重建的商业化进程。
在他们的论文中没有开源代码,最初的代码是由PCL团队实现的:kinectfusion-open-source
KinectFusion的重建效果可以看这个视频:
KinectFusion重建效果 https://www.zhihu.com/video/1184501699569471488
KinectFusion之后,陆续出现了Kintinuous,ElasticFusion,ElasticReconstruction,DynamicFusion,InfiniTAM,BundleFusion等非常优秀的工作。其中2017年斯坦福大学提出的BundleFusion算法,据说是目前基于RGB-D相机进行稠密三维重建效果最好的方法。
二、Kintinuous和ElasticFusion
这两个工作都是同一个人做出来的,这个人就是Thomas Whelan。这两个工作应该算KinectFusion之后影响力比较大的。
Kintinuous GitHub代码:mp3guy/Kintinuous
ElasticFusion GitHub代码:mp3guy/ElasticFusion
Kintinuous2.0重建效果:
ElasticFusion 重建效果:
三、ElasticReconstruction
项目官网:http://qianyi.info/scene.html
GitHub代码:qianyizh/ElasticReconstruction
重建效果:
四、InfiniTAM
InfiniTAM提供Linux,iOS,Android平台版本,CPU可以实时重建。
官网:InfiniTAM v3
GitHub代码:victorprad/InfiniTAM
重建效果:
五、DynamicFusion
官网: DynamicFusion Project Page
代码: https:// github.com/mihaibujanca /dynamicfusion
重建效果:
六、BundleFusion
据说是现在重建效果最好的工作!
官网: BundleFusion
论文:https://arxiv.org/pdf/1604.01093.pdf
算法解读:计算机视觉方向简介 | 深度相机室内实时稠密三维重建
重建效果:
BundleFusion:最好的三维重建 https://www.zhihu.com/video/1184509281717673984
最近国防科大张博士也发表了一篇稠密三维重建的文章 (ROSEFusion)。仅依靠深度图作为输入,利用随机优化实现了快速相机下的稠密重建。代码已经开源https://github.com/jzhzhang/ROSEFusion
ROSEFusion 能够在仅考虑深度图作为输入的条件下,利用随机优化求解相机位姿,实现了在快速相机移动下的室内场景稠密重建。同时该工作仅依赖深度信息,因此也可以在无光照,和变化光照的条件下使用。 该工作的主要特点是:(a) 利用深度图和TSDF相容性作为代价函数,不需要提取特征点,仅依赖于深度图;(b) 提出了Particle Swarm Template(PST),利用PST可以高效的对相机位姿空间进行采样,并利用随机优化求解出相机的位姿。
倾情整理,建议收藏。
如果能点赞就更好。
首先一切建立在相机模型 x=kPX 上
(x,X分别代表图片和空间中的二维三维齐次坐标,k为相机内参矩阵,P=[R | t] 为空间坐标系到相机坐标系的 orientation- R 和 translation- t)
1, 首先对某一场景多角度多位置得到很多初始数据,选择其中的某两个来初始化,选定其中一个为空间原点。
2. 通过SIFT SURF等特征点查找匹配之后,用 8点法 和 RANSAC,多次计算两张图之间的Fundamental Matrix,选择其中最好的一个
3.用F-matrix计算Essential-matrix
4, 用E-matrix计算相机的R和T,需要用SVD分解,因为orientation R是一个正交阵。
5, 得到两个相机之间的P矩阵之后,通过对应点,用Triangulation计算对应点的空间坐标。
6. 第三个位置的照片,直接根据已有的上步计算的点,与第三个位置图片上点的对应关系,计算P矩阵。
7. 最后全局优化,Bundle Adjustment
8, Bundle Adjustment所有的艺术就是优化 hessian matrix的逆矩阵
------------------------------------------------------------------------------------------------------------
推荐宾大Shi Jianbo教授在Coursera上的公开课 Robotics:Perception
上面所有的截图都来自他最后一次课的视频讲义截图
https://www. coursera.org/learn/robo tics-perception/home/welcome配合视觉圣经 Multiple View Geometry来看简直完美。Ransac, Bundle-adjustment, 2-View, Homography全部都有。一共四周,有线性代数基础(主要是SVD用来解线性方程),作业用Matlab.
第一周作业: Dolly Zoom
第二周作业: 平面摄影几何,广告牌在视频中的投影,类似2D增强现实
第三周作业: 在平面Barcode上通过sift检测特征点,通过H矩阵计算相机位置,做3D增强现实
第四周作业: 3D重建