[SLAM] 02 Some algorithms of 3D reconstruction

链接:http://www.zhihu.com/question/29885222/answer/100043031

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

  x,X分别代表图片和空间中的二维三维齐次坐标,

  k为相机内参矩阵

  P = [R | t] 为空间坐标系到相机坐标系的 orientation- R 和 transformation- t


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

<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHBzL3BpYzQuemhpbWcuY29tLzI1MzNkYmYyMGRmY2YzOGUzY2M4MjgzMGVlZjEzZDFiX2IucG5n.jpg" data-rawwidth="773" data-rawheight="485" class="origin_image zh-lightbox-thumb" width="773" data-original="https://pic4.zhimg.com/2533dbf20dfcf38e3cc82830eef13d1b_r.png">


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

<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHBzL3BpYzIuemhpbWcuY29tLzVmNDRiMGFiZGY5MDY1Yjc0N2FhNzQyNDg5NWMzYzYxX2IucG5n.jpg" data-rawwidth="789" data-rawheight="472" class="origin_image zh-lightbox-thumb" width="789" data-original="https://pic2.zhimg.com/5f44b0abdf9065b747aa7424895c3c61_r.png">


3.F-matrix 计算 Essential-matrix


<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHBzL3BpYzMuemhpbWcuY29tL2NlMGMxNTgzNWFiZTVjZDUyMGQ4YzcwOTQ1Y2UwMjMyX2IucG5n.jpg" data-rawwidth="809" data-rawheight="468" class="origin_image zh-lightbox-thumb" width="809" data-original="https://pic3.zhimg.com/ce0c15835abe5cd520d8c70945ce0232_r.png">4, 用E-matrix计算相机的R和T,需要用SVD分解,因为orientation R是一个正交阵。

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


<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHBzL3BpYzEuemhpbWcuY29tLzZiZjBiNTM5Yjk2MzU1MDA1NGQ4NzRmOTY5NzUyNGY4X2IucG5n.jpg" data-rawwidth="742" data-rawheight="504" class="origin_image zh-lightbox-thumb" width="742" data-original="https://pic1.zhimg.com/6bf0b539b963550054d874f9697524f8_r.png">5, 得到两个相机之间的P矩阵之后,通过对应点,用Triangulation计算对应点的空间坐标。

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


<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHBzL3BpYzQuemhpbWcuY29tL2UwYjY3NTc5MDNlMzc1OTlhYmY3NGZhMGYzMGY3ZDBmX2IucG5n.jpg" data-rawwidth="762" data-rawheight="489" class="origin_image zh-lightbox-thumb" width="762" data-original="https://pic4.zhimg.com/e0b6757903e37599abf74fa0f30f7d0f_r.png">6. 第三个位置的照片,直接根据已有的上步计算的点,与第三个位置图片上点的对应关系,计算P矩阵。

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

<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHBzL3BpYzMuemhpbWcuY29tL2M5ZDViNDg2ZjI0Yjk4MmQyNmZlNTY5Mjg5OWZmOTVhX2IucG5n.jpg" data-rawwidth="707" data-rawheight="499" class="origin_image zh-lightbox-thumb" width="707" data-original="https://pic3.zhimg.com/c9d5b486f24b982d26fe5692899ff95a_r.png">

7. 最后全局优化,Bundle Adjustment

<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHBzL3BpYzIuemhpbWcuY29tLzBhZTNmOWE5YThiNzdiMjg5YmQ3YWY2Yzc0OTQ0MmM1X2IucG5n.jpg" data-rawwidth="763" data-rawheight="523" class="origin_image zh-lightbox-thumb" width="763" data-original="https://pic2.zhimg.com/0ae3f9a9a8b77b289bd7af6c749442c5_r.png">


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


<img src="//pic.ikafan.com/imgp/L3Byb3h5L2h0dHBzL3BpYzMuemhpbWcuY29tLzA4YTk3MmQzNGY3ZmE0ZjY5YmM2NzMwMzI0MzYyYjNlX2IucG5n.jpg" data-rawwidth="631" data-rawheight="503" class="origin_image zh-lightbox-thumb" width="631" data-original="https://pic3.zhimg.com/08a972d34f7fa4f69bc6730324362b3e_r.png">

------------------------------------------------------------------------------------------------------------
推荐宾大Shi Jianbo教授在Coursera上的公开课 Robotics:Perception
上面所有的截图都来自他最后一次课的视频讲义截图
https://www.coursera.org/learn/robotics-perception/home/welcome
配合视觉圣经 Multiple View Geometry来看简直完美。Ransac, Bundle-adjustment, 2-View, Homography全部都有。一共四周,有线性代数基础(主要是SVD用来解线性方程),作业用Matlab.

第一周作业: Dolly Zoom
第二周作业: 平面摄影几何,广告牌在视频中的投影,类似2D增强现实
第三周作业: 在平面Barcode上通过sift检测特征点,通过H矩阵计算相机位置,做3D增强现实
第四周作业: 3D重建

时间: 2024-11-01 01:16:27

[SLAM] 02 Some algorithms of 3D reconstruction的相关文章

CT 3D reconstruction, Remove Ring Artifact

dental CT image reconstruction Left Image     : the original reconstruction data Right Image  : the processed reconstruction data

A real sense 3D face reconstruction system based on multi-view stereo vision

Abstract This paper proposed a system for a real sense 3D facial reconstruction method based on multi-view stereo vision generated using an orthographic 3D model. Multi-view stereopsis is an effective technology for expanding perspective and reducing

3D建模的初步了解

相关学习资料如下: cousera课程: https://www.coursera.org/learn/robotics-perception youtube课程: https://www.youtube.com/watch?v=RDkwklFGMfo Tutorial:  https://www.cse.wustl.edu/~furukawa/papers/fnt_mvs.pdf @知乎问题:三维重建 3D reconstruction有哪些使用算法 以下为知乎中的相关回答 用一组图片来做3D

3D重建算法原理

三维重建(3D Reconstruction)技术一直是计算机图形学和计算机视觉领域的一个热点课题.早期的三维重建技术通常以二维图像作为输入,重建出场景中的三维模型.但是,受限于输入的数据,重建出的三维模型通常不够完整,而且真实感较低.随着各种面向普通消费者的深度相机(depth camera)的出现,基于深度相机的三维扫描和重建技术得到了飞速发展.以微软的Kinect,华硕的XTion以及因特尔的RealSense等为代表的深度相机造价低廉,体积适当,操作方便,并且易于研究者和工程师进行开发.

视觉SLAM中的数学基础 第三篇 李群与李代数

视觉SLAM中的数学基础 第三篇 李群与李代数 前言 在SLAM中,除了表达3D旋转与位移之外,我们还要对它们进行估计,因为SLAM整个过程就是在不断地估计机器人的位姿与地图.为了做这件事,需要对变换矩阵进行插值.求导.迭代等操作.例如,在经典ICP问题中,给定了两组3D点,我们要计算它们之间的变换矩阵.假设第一组的3D点为$\mathbf{P}=\{ \mathbf{p}_i | i = [1,2, \ldots, N] \}$,第二组3D点为$\mathbf{Q}=\{ \mathbf{q}

DAZ.3D.HEXAGON.V2.2 3D设计

ECS CAD Standalone v4.00 1CDEDIT CNC.V3.0EIBA.ETS3.v3.0dEMA.TimingDesigner.v9.0EVIEWS 5.0ELCAD v7.1.0 Electronic.Design.Studio.3.v3.1.5EliteCAD.Architektur.v10.1.incl.SP1Embarcadero.ERStudio.v7.0.1EMRC.NISA.CIVIL.V14EngiLab.Beam2D.ML.v1.2 平面框架计算软件Eng

Google's Open Source SLAM Library ---- Cartographer

What is Cartographer? Google announce the open source release of Cartographer, a real-time simultaneous localization and mapping (SLAM) library in 2D and 3D with ROS support, in October 2016. As Robotics Trends said, "Google wants to democratize the

详解SLAM的典型应用及分类

SLAM是Simultaneous localization and mapping缩写,意为"同步定位与建图",主要用于解决机器人在未知环境运动时的定位与地图构建问题,为了让大家更多的了解SLAM,以下将从SLAM的应用领域.SLAM框架.SLAM分类(基于传感器的SLAM分类)来进行全面阐述,本文仅对没有接触过SLAM的新人进行的科普. 一.SLAM的典型应用领域 机器人定位导航领域:地图建模.SLAM可以辅助机器人执行路径规划.自主探索.导航等任务.国内的科沃斯.塔米以及最新面世

总结一些机器视觉库

通用库/General Library OpenCV   无需多言. RAVL  Recognition And Vision Library. 线程安全.强大的IO机制.包含AAM. CImg  很酷的一个图像处理包.整个库只有一个头文件.包含一个基于PDE的光流算法. 图像,视频IO/Image, Video IO FreeImage DevIL ImageMagick FFMPEG VideoInput portVideo AR相关/Augmented Reality ARToolKit