双目立体视觉与深度估计实战

📚 共计 30 章节
01
立体视觉概述
从人眼立体视觉到计算机双目视觉,应用场景(自动驾驶、机器人、AR/VR),课程路线图
入门全景
02
相机成像原理
小孔成像模型,针孔相机参数(内参、外参),像素坐标系与图像坐标系
基础几何
03
相机标定基础
为什么要标定?标定板的选择与制作,张正友标定法原理简介
标定原理
04
相机标定实战
使用OpenCV进行相机标定,获取内参和畸变系数,去畸变操作
实战OpenCV
05
双目相机模型
双目系统的几何结构,基线、视差与深度的三角测量关系
核心几何
06
极线几何与对极约束
极线、极点、基础矩阵F和本质矩阵E,极线校正的目的
几何矩阵
07
立体校正(Rectification)
Bouguet算法原理,OpenCV立体校正实战,左右视图对齐
校正对齐
08
立体匹配概述
匹配的难点(光照、遮挡、弱纹理),匹配算法分类(局部/全局/半全局)
匹配分类
09
相似度度量
SAD、SSD、NCC等代价计算方法的原理与对比
代价度量
10
局部立体匹配
固定窗口与自适应窗口,Winner-Take-All策略,视差图生成
局部窗口
11
全局立体匹配
图割(Graph Cut)与置信度传播(BP)的基本思想
全局优化
12
半全局匹配(SGM)
SGM核心思想(多路径代价聚合),SGM的优缺点
SGM半全局
13
SGM实战(上)
代价计算与代价聚合的代码实现(C++/Python)
代码聚合
14
SGM实战(下)
视差计算、视差优化(唯一性检查、左右一致性检查),后处理
优化后处理
15
OpenCV中的立体匹配
StereoSGBM与StereoBM的参数详解与调参经验
OpenCV调参
16
视差后处理
中值滤波、双边滤波、孔洞填充、连通域分析
滤波填充
17
深度图计算
从视差图到深度图的转换公式,深度图的可视化
深度可视化
18
深度估计的精度分析
影响精度的因素(基线、焦距、像素分辨率),误差传播
精度误差
19
主动立体视觉
结构光(Kinect)与ToF(iPhone LiDAR)原理,与被动双目的对比
主动ToF
20
基于深度学习的立体匹配(上)
端到端学习范式,DispNet、PSMNet等经典网络简介
深度学习网络
21
基于深度学习的立体匹配(下)
代价体(Cost Volume)的构建,3D卷积的作用
代价体3D卷积
22
单目深度估计简介
从运动恢复结构(SfM)到深度学习单目深度估计,与双目的区别
单目SfM
23
实战项目1:双目相机选型与硬件搭建
USB双目相机、基线选择、同步触发
硬件选型
24
实战项目2:实时双目深度估计系统
基于OpenCV的实时双目深度估计(从采集到显示)
实时系统
25
实战项目3:预训练深度学习视差估计
使用预训练深度学习模型进行高精度视差估计
预训练高精度
26
实战项目4:深度估计在避障中的应用
简单障碍物检测与距离预警
避障预警
27
性能优化
多线程加速、GPU加速(CUDA)、OpenCV的UMat使用
加速CUDA
28
评估指标
EPE、D1-all、RMSE,常用数据集(KITTI、Middlebury、SceneFlow)
指标数据集
29
常见问题与调试
弱纹理区域失效、遮挡边界模糊、光照变化鲁棒性
调试鲁棒性
30
总结与展望
当前技术瓶颈,未来趋势(事件相机、神经辐射场NeRF与深度估计的结合)
前沿NeRF