百科问答小站 logo
百科问答小站 font logo



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

  

user avatar   guidaogui 网友的相关建议: 
      

在这个问题下,竟然没有人说大名鼎鼎的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

项目官网:qianyi.info/scene.html

GitHub代码:qianyizh/ElasticReconstruction

重建效果:

四、InfiniTAM

InfiniTAM提供Linux,iOS,Android平台版本,CPU可以实时重建

官网InfiniTAM v3

GitHub代码:victorprad/InfiniTAM

重建效果:

五、DynamicFusion

官网: DynamicFusion Project Page

代码: github.com/mihaibujanca

重建效果:

六、BundleFusion

据说是现在重建效果最好的工作!

官网: BundleFusion

论文:arxiv.org/pdf/1604.0109

代码:niessner/BundleFusion

算法解读:计算机视觉方向简介 | 深度相机室内实时稠密三维重建

重建效果:

BundleFusion:最好的三维重建 https://www.zhihu.com/video/1184509281717673984


最近国防科大张博士也发表了一篇稠密三维重建的文章 (ROSEFusion)。仅依靠深度图作为输入,利用随机优化实现了快速相机下的稠密重建。代码已经开源github.com/jzhzhang/ROS

ROSEFusion 能够在仅考虑深度图作为输入的条件下,利用随机优化求解相机位姿,实现了在快速相机移动下的室内场景稠密重建。同时该工作仅依赖深度信息,因此也可以在无光照,和变化光照的条件下使用。 该工作的主要特点是:(a) 利用深度图和TSDF相容性作为代价函数,不需要提取特征点,仅依赖于深度图;(b) 提出了Particle Swarm Template(PST),利用PST可以高效的对相机位姿空间进行采样,并利用随机优化求解出相机的位姿。


倾情整理,建议收藏。

如果能点赞就更好。


user avatar   onlytailei 网友的相关建议: 
      

首先一切建立在相机模型 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

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

coursera.org/learn/robo

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

第一周作业: Dolly Zoom

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

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

第四周作业: 3D重建




  

相关话题

  20年后,你所在行业的科技会发展到什么程度? 
  程序员应该如何学习算法? 
  如何评价深度学习相关顶级期刊论文难复现的问题? 
  AI的发展会成为下一次推动人类实现飞跃发展的工业革命吗? 
  如果围棋已经被人工智能完全破解,得出某色必胜,那围棋还有什么意义? 
  如何看待swin transformer成为ICCV2021的 best paper? 
  视觉Transformer如何优雅地避开位置编码? 
  如何评价傅盛的猎豹机器人之夜? 
  机器全面代替人工劳动力的那一天,你能如何生存下去? 
  如何评价扎克伯格自己写的 Jarvis AI? 

前一个讨论
知乎上的程序员大V是怎么度过中学生活的?
下一个讨论
什么是朋克文化?





© 2024-05-16 - tinynew.org. All Rights Reserved.
© 2024-05-16 - tinynew.org. 保留所有权利