You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确定双目深度相机工作范围?定制0.5m~10m参数咨询

双目深度相机0.5m~10m工作范围的基线与视差参数确定方案

核心公式与参数关系

双目深度计算的核心公式为:

Z = (Baseline * Focal length) / Disparity

其中:

  • Z:目标到相机的距离(单位:m)
  • Baseline(B):左右相机光心的间距(单位:m)
  • Focal length(f):相机焦距(单位:像素,已知为935)
  • Disparity(d):左右视图中同一像素的水平偏移量(单位:像素)

要覆盖0.5m~10m的工作范围,需分别计算最近距对应的最大视差和最远距对应的最小视差,再结合算法参数约束确定基线。

视差范围推导

对公式变形可得:

  • 最近距Z_min=0.5m时,最大视差:d_max = (B * f) / Z_min = (B * 935) / 0.5 = 1870*B
  • 最远距Z_max=10m时,最小视差:d_min = (B * f) / Z_max = (B * 935) / 10 = 93.5*B

结合OpenCV StereoSGBM参数约束

StereoSGBM的两个关键视差参数:

  • numDisparities:视差搜索的最大范围,必须是16的整数倍
  • minDisparity:视差搜索的最小值(通常设为0)

算法输出的有效视差值必须落在 [minDisparity, minDisparity + numDisparities) 区间内,同时还要满足:

  1. 远距最小视差d_min需≥3像素(否则深度误差会极大,因为视差最小变化为1像素)
  2. 近距最大视差d_max不能超过相机水平分辨率的70%(约1814像素,保证左右视图有足够重叠区域)

基线B的确定步骤

  1. 确定基线下限:
    要求d_min≥3,代入得:93.5*B≥3 → B≥3/93.5≈0.032m(32mm),实际可根据精度需求提高下限。

  2. 确定基线上限:
    结合numDisparities参数,例如选numDisparities=384(16×24),则d_max≤384,代入得:1870*B≤384 → B≤384/1870≈0.205m(205mm)。若选更小的numDisparities(如192),基线上限会对应降低(约102mm)。

  3. 选择可行基线:
    在上下限范围内选择符合硬件安装条件的基线长度,例如选B=200mm:

    • d_max=(200*935)/0.5=374像素(≤384,符合StereoSGBM范围)
    • d_min=(200*935)/10=18.7像素(≥3,远距视差足够,精度可控)

StereoSGBM参数与视差的关系

公式中的Disparity是算法输出的实际视差值,而numDisparities决定了算法能搜索的最大视差范围。必须保证场景中所有可能的视差值都落在该范围内,否则超出区域无法生成深度。同时,numDisparities越大,计算耗时越长,需平衡精度与速度。

内容的提问来源于stack exchange,提问作者윤도현

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 19:10:01