双目立体匹配

双目立体匹配重建(Stereo Matching Reconstruction)是一种经典的三维重建方法,其核心思想是:

通过两台相机从不同视角同时拍摄同一场景,通过对校正后的左右图像进行立体匹配获取两幅图像的 视差,再根据三角测量原理计算出场景的深度。

极几何:描述同一场景或者物体两个视点图像间的几何关系。

三维点与两个相机光心形成一个极平面,已知相机1图像上一点p,其三维点在o1到p点的空间射线上,其候选三维点P与o2的连线在这个极平面上。其中在相机2图像上的投影候选点组成了一条线,称之为极线。 也就是说,相机1p点对应的三维点一定 在另一个相机极线上。

那问题是在怎么找到另一个相机的极线?

在已知两个相机系统参数时,根据上述描述,极线约束公式可以写为:


非线性三角化重建。

视差是指三维场景中某一点在左右图像中对应点位置的像素级差距。

对极线校正(Epipolar Rectification / Stereo Rectification)**是双目视觉系统中的一个关键步骤,其目的就是:

把左右相机图像重新变换,使得对应点只需要在同一水平线上搜索。

① 得到两个摄像机之间的 Rotation和Translation之后,要用下面的API对两幅图像进行立体对极线校正,这就需要算出两个相机做对极线校正需要的R和T,用R1,T1, R2, T2表示,以及透视投影矩阵P1,P2:

cv::stereoRectify(camK, D, camK, D, imgL.size(), R, -R*t, R1, R2, P1, P2, Q);

② 得到上述参数后,就可以使用下面的API进行对极线校正操作了,并将校正结果保存到本地:

cv::initUndistortRectifyMap(P1(cv::Rect(0, 0, 3, 3)), D, R1, P1(cv::Rect(0, 0, 3, 3)), imgL.size(), CV_32FC1, mapx, mapy);

cv::remap(imgL, recImgL, mapx, mapy, CV_INTER_LINEAR);

cv::imwrite("data/recConyL.png", recImgL);

复制代码
cv::initUndistortRectifyMap(P2(cv::Rect(0, 0, 3, 3)), D, R2, P2(cv::Rect(0, 0, 3, 3)), imgL.size(), CV_32FC1, mapx, mapy);
cv::remap(imgR, recImgR, mapx, mapy, CV_INTER_LINEAR);
cv::imwrite("data/recConyR.png", recImgR);

对极线校正结果如下所示,查看对极线校正结果是否准确,可以通过观察若干对应点是否在同一行上粗略估计得出:


假设我们已经知道了两个相机的外参,即R和T,也就是说,我们已经知道了两个相机的相对旋转和平移关系。

①首先我们要想把两个相机平面调整平行就从这个相对旋转R下手。如果两者之间的相对旋转较大,那固定一个只旋转另一个,很可能造成共同观测的世界点投影到变换之后的那个图像外边去,所以简单的办法就是折中一下,两个相机各旋转这个相对旋转的一半。这一步可以将两个相机的光轴平行。

双目结构光系统



Bouguet 算法是常用的标定立体校正方法

参考文献:

3D视觉之立体匹配(Stereo Matching)
双目相机原理揭秘--双目立体视觉原理搞懂很简单
12. 双目视觉之极线矫正

杨其望, 张慧, 刘江涛, 等. 双目结构光目标三维重建方法研究[J]. 广东工业大学学报, 2025, 42(5): 121--128. doi: 10.12052/gdutxb.240106.
Bouguet算法--源码解析
Bouguet极线校正进一步理解

相关推荐
开开心心就好11 小时前
系统重装前必备的智能驱动备份工具
windows·计算机视觉·计算机外设·excel·模块测试·csdn开发云·威胁分析
探物 AI12 小时前
零样本、免训练!SAM-Body4D 来了:实现视频级 4D 人体网格重建,复杂遮挡也能稳如泰山
人工智能·计算机视觉
qq_12084093711 天前
Three.js 大场景分块加载实战:从全量渲染到可视集调度
开发语言·javascript·数码相机
Ai173163915791 天前
GB200 NVL72超节点深度解析:架构、生态与产业格局
大数据·服务器·人工智能·神经网络·机器学习·计算机视觉·架构
gorgeous(๑>؂<๑)1 天前
【CVPR26-陶大程-南洋理工】启发式推理先验助力数据高效型指代目标检测
人工智能·目标检测·计算机视觉
youcans_1 天前
【HALCON 实战入门】4. 图像读取、显示与保存
图像处理·人工智能·计算机视觉·halcon
ComputerInBook1 天前
OpenCV图像处理——图像缩放函数 resize
图像处理·opencv·计算机视觉
王莎莎-MinerU1 天前
MinerU 生态全景:Skills、RAG、MCP、Cursor Rules
人工智能·深度学习·计算机视觉·chatgpt·pdf·软件工程
3DVisionary1 天前
升维洞察:DIC全场视觉检测如何重塑力学测试的“时空秩序”
人工智能·计算机视觉·视觉检测·动态测量·dic技术·xtdic·结构疲劳演化
m0_743106461 天前
【浙大&南洋理工最新综述】Feed-Forward 3D Scene Modeling(一)
论文阅读·人工智能·计算机视觉·3d·几何学