双摄像头+MiDaS深度图3D重建点云异常问题求助
双摄像头立体视觉3D重建异常排查方案(MiDaS+Q矩阵场景)
MiDaS深度图相关排查
- 归一化深度转真实深度:MiDaS输出的0-1值是相对归一化深度,并非真实物理深度(米为单位),直接代入Q矩阵会导致尺度完全错误。需根据双目相机的基线长度、焦距,将归一化值映射为真实深度,或调整Q矩阵适配相对深度的尺度关系。
- 深度方向验证:确认MiDaS的深度值映射逻辑——是0对应最远物体、1对应最近物体,还是相反?若方向反转,重建点云会出现全局倒置,看起来完全不符合预期。
- 局部深度有效性检查:选取场景中已知距离的物体(比如1米外的标定板角点),对比MiDaS输出的深度值是否符合远近规律,排除局部深度值异常的情况。
Q矩阵相关排查
- 参数一致性验证:核对Q矩阵生成时使用的参数是否与联合标定结果完全匹配:
- 基线长度
Tx(单位需为米)、焦距f(注意是像素单位还是物理单位,需与图像像素坐标匹配) - 左右相机的主点坐标
cx/cy、cx'/cy'
若存在参数单位不统一或取值错误,会直接导致3D坐标计算偏差。
- 基线长度
- Q矩阵应用逻辑检查:若使用OpenCV的
reprojectImageTo3D函数,需注意:- 函数默认输入是视差图,而非深度图。若输入深度图,需通过公式
d = f*Tx/Z转换为视差,或正确设置disparity_to_depth参数。
- 函数默认输入是视差图,而非深度图。若输入深度图,需通过公式
- Q矩阵反向验证:用标定板的已知3D点,通过相机内参投影得到像素坐标,再用Q矩阵反推3D点,对比反推结果与真实值的误差,确认Q矩阵本身是否正确。
其他潜在问题排查
- 图像极线校正:确认用于生成MiDaS深度图的左右图像,是否已经过联合标定后的极线校正。若图像未对齐,即使深度和Q矩阵正常,重建点云也会出现混乱。
- 点云可视化误差:有时点云本身正确,但可视化时视角、缩放比例不当导致“异常”。可尝试旋转视角、调整缩放,或提取几个关键物体的3D坐标手动计算,验证是否符合实际场景。
内容的提问来源于stack exchange,提问作者CupidONO
相关产品推荐
相关产品推荐

