[SLAM] 02. Some basic algorithms of 3D reconstruction
2024-10-16 11:36:20
链接:http://www.zhihu.com/question/29885222/answer/100043031
三维重建 3D reconstruction的一个算法思路介绍,帮助理解
首先一切建立在相机模型 x = kPX 上
x,X分别代表图片和空间中的二维三维齐次坐标,
k为相机内参矩阵,
P = [R | t] 为空间坐标系到相机坐标系的 orientation- R 和 transformation- t
1, 首先对某一场景多角度多位置得到很多初始数据,选择其中的某两个来初始化,选定其中一个为空间原点。
<img src="https://pic4.zhimg.com/2533dbf20dfcf38e3cc82830eef13d1b_b.png" 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="https://pic2.zhimg.com/5f44b0abdf9065b747aa7424895c3c61_b.png" 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="https://pic3.zhimg.com/ce0c15835abe5cd520d8c70945ce0232_b.png" 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="https://pic1.zhimg.com/6bf0b539b963550054d874f9697524f8_b.png" 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="https://pic4.zhimg.com/e0b6757903e37599abf74fa0f30f7d0f_b.png" 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="https://pic3.zhimg.com/c9d5b486f24b982d26fe5692899ff95a_b.png" 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="https://pic2.zhimg.com/0ae3f9a9a8b77b289bd7af6c749442c5_b.png" 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="https://pic3.zhimg.com/08a972d34f7fa4f69bc6730324362b3e_b.png" 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重建
作为补充,形成知识体系,cmu的机器人课程体系是真强!
QUICK GUIDE TO GRADUATE PROGRAMS
Program | Structure | Duration | Focus | Placement |
---|---|---|---|---|
PhD | Coursework, Qualifiers, Research, Dissertation | 5-6 years | Basic & Applied Research | Academia, Research Lab |
MSR | Coursework, Research, Thesis | 24 months | Applied Research | Research Lab |
MRSD | Coursework, Group Project | 21 months | Systems Development and Automation | Industry, Applied Lab |
MSCV | Coursework, Group Project | 16 months | Vision: Recognition, Geometry | Industry, Applied Lab |
Course Navigation
16-311 Introduction to Robotics
16-384 Robot Kinematics and Dynamics
16-450 Robotics Systems Engineering
16-474 Robotics Capstone
16-264 Humanoids
16-350 Planning Techniques for Robots
16-362 Mobile Robot Programming Laboratory
16-385 Computer Vision
16-423 Designing Computer Vision Apps
16-720 Computer Vision or 16-722 Sensing and Sensors
16-741 Mechanics of Manipulation
16-711 Kinematics, Dynamic Systems and Control
16-811 Math Fundamentals for Robotics
16-831 Statistical Techniques in Robotics
16-822 Geometry Based Methods in Computer Vision
16-868 Biomechanics and Motor Control
16-865 Advanced Mobile Robot Development
16-833 Robot Localization & Mapping
16-650 Systems Engineering & Management for Robotic
16-782 Planning and Decision-making in Robotics
16-833 Robot Localization & Mapping *
16-811 Mathematical Fundamentals in Robotics *
16-822 Geometry Based Methods in Computer Vision *
16-623 Advanced Computer Vision Apps
16-823 Physics Based Methods in Vision
16-831 Statistical Techniques in Robotics *
16-720 Computer Vision or 16-722 Sensing and Sensors *
16-722 Sensing & Sensors
16-741 Mechanics of Manipulation *
16-711 Kinematics, Dynamic Systems and Control *
16-811 Mathematical Fundamentals in Robotics *
16-745 Dynamic Optimization
16-761 Intro to Mobile Robots
16-822 Geometry Based Methods in Computer Vision *
16-824 Learning-based Methods in Vision
16-831 Statistical Techniques in Robotics *
16-843 Manipulation Algorithms
16-868 Biomechanics and Motor Control *
最新文章
- 普通用户ssh无密码登录设置
- web安全之sqlload_file()和into outfile()
- Math DayTwo
- Storm之spout,bolt编写
- Form(表单)
- UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
- 【转】C/C++中可变参数函数的实现
- Js完美验证15/18身份证,Js验证身份证,支持15/18位
- VS调试技巧与快捷键&;&;VS快捷键
- 转 windows 下 Oracle 导出表结构
- 更少的直接百度,更多的取看API
- PostgreSql 分页limit
- MarkDown思考
- Ocelot中文文档-不支持
- WPF样式中TargetType 属性 (Property) 和 x:Key 属性 (Attribute)
- 与大家分享学习微信小程序开发的一些心得
- Dev、GridControl的模糊查询
- 重启 IIS7 应用或者应用程序池的批处理bat
- canvas-简单快速实现知乎登录页背景效果
- 【mybatis源码学习】mybatis和spring框架整合,我们依赖的mapper的接口真相
热门文章
- Android—— Animation动画(很详细)
- mysql show global variables字符超1024会被截断
- css table第一列 宽度
- mysql reset password重置密码
- DevExpressXtraReport—制作雷达图
- [kafka] 002_kafka_相关术语详细解析
- Visual Studio的Debugger Visualizers
- (转)关于linux挂载window下共享文件
- svn -- svn图标解析
- (资源)OpenStack IRC资源