双目立体视觉的3D重建全流程
以下是基于双目相机的3D重建标准流程,明确标注极线矫正(Epipolar Rectification)和图间点匹配(Feature Matching)的具体步骤及其作用:
1. 相机标定(Camera Calibration)
目的:获取相机内参(焦距 f、主点 (cx ,cy)、畸变系数)和外参(旋转矩阵 R、平移向量 T)。
方法:使用标定板(如棋盘格)拍摄多组图像,通过张正友标定法计算参数。
公式:
K 为内参矩阵,B 为基线长度。
2. 图像采集(Image Acquisition)
同步捕获左右相机的图像,确保场景一致性。
关键点:避免光照变化、运动模糊和遮挡。
3. 极线矫正(Epipolar Rectification)
位置:流程中预处理阶段,在特征匹配之前。
目的:消除垂直视差,使极线水平对齐,简化后续匹配。
步骤:
利用标定得到的 R 和 T,计算左右图像的矫正映射矩阵。
对原始图像进行重投影,生成共面且极线水平的矫正图像。
公式:
为旋转矩阵,确保光轴平行。
4. 图间点匹配(Feature Matching)
位置:极线矫正后,立体匹配(Stereo Matching)阶段的核心步骤。
目的:在左右矫正图像中找到对应像素点,计算水平视差。
方法:
局部匹配:滑动窗口法(如SAD、SSD、NCC)。
全局匹配:动态规划、图割(Graph Cut)。
深度学习:PSMNet、GC-Net等端到端视差预测网络。
输出:生成视差图(Disparity Map),每个像素值为左右图像的水平位移。
## 5. 深度图计算(Depth Map Generation)
公式:
d 为视差,Z 为深度,B 为基线长度,f 为焦距。
优化:通过滤波(中值滤波、双边滤波)去除噪声,填补空洞。
6. 三维重建(3D Reconstruction)
坐标转换:将深度图转换为三维点云。
输出:生成点云(Point Cloud)或网格模型(Mesh),可用于可视化或进一步分析。