本文最后更新于:2026年7月30日 上午

本文先建立结构光与双目立体视觉的一般理论(针孔模型、三角测量、视差、SGBM 匹配、整流、量程与精度的几何根源),再以图漾 FM815-IX-E1 结构光 3D 相机为实例,代入实测参数得到可验证的量程/精度预测,最后用 9 个距离的平面墙平整度实测逐项印证理论。所有数值取自设备 DumpAllFeatures 特性转储、出厂标定与实测采集。

关键参数(实测)

依据
型号 / 接口代际 FM815-IX-E1 / Gige_2_0(HW 1.3.0,FW 3.13.70) DumpAllFeatures
架构 主动双目结构光(1 投射器 + 左右 IR + RGB) §1
基线 $B$ 99.89 mm 右→左 IR 外参 tx
焦距 $f$ 1102.09 px @1280×960 左 IR 内参
视场 FOV 60.2° × 47.1° $2\arctan(W/2f)$
工作量程 0.59 – 4.4 m(两端硬边界) §4
深度精度 0.7 mm @0.6m → 12 mm @3.3m,$\propto Z^2$($\sigma_d\approx0.13$ px) §5
深度分辨率 1280×960(原生)/ 640×480(降采)/ 320×240 §6

一、结构光与双目立体视觉理论

符号约定(贯穿全文):

符号 含义 单位
$P=(X,Y,Z)$ 物点的三维坐标 mm
$Z$ 深度,物点沿光轴的距离 mm
$X$, $Y$ 物点的横向、纵向坐标 mm
$f$ 焦距(= 物理焦距 ÷ 像素尺寸) px
$B$ 基线,两光心的横向间距(双目 = 左右相机;单目 = 相机↔投射器) mm
$d$ 视差,同一物点在两图中的水平位置差 px
$\sigma_d$ 子像素视差噪声 px
$\Delta Z$ 每 1 视差像素对应的深度增量 mm

坐标系:原点在左相机光心;$+Z$ 沿光轴(深度方向),$+X$ 沿基线方向,$+Y$ 纵向;像坐标以主点为原点。量纲自洽:$Z=fB/d\to\text{px·mm/px}=\text{mm}$。

1.1 结构光概述与两种架构

结构光的共同思想是主动投射已知图案、由相机观察求深度。按相机数量分两种:

单目结构光 双目结构光 / 主动双目
构成 1 投射器 + 1 相机 1 投射器 + 2 相机(立体对)
测距 相机观察投射图案形变,以「投射器-相机」基线三角测量 投射器投 IR 散斑作人工纹理,两相机做立体匹配(视差→深度)
典型 初代 Kinect、RealSense F200 RealSense D4xx、Apple TrueDepth、本设备

1.2 针孔成像与深度的丢失

针孔模型:光心 $O$,像面在 $z=f$,物点 $P=(X,Z)$ 的光线 $OP$ 与像面交于 $p$,由相似三角形:

$$
\frac{x}{f}=\frac{X}{Z}\quad\Longrightarrow\quad x=f,\frac{X}{Z}
$$

针孔相机模型:光心 O、像面 z=f、物点 P、像点 p;小三角形 O-f-p 与大三角形 O-Z-P 相似

投影把三维 $(X,Y,Z)$ 压成二维 $(x,y)$,$Z$ 消失——同一光线上远近不同的点投到同一像点。故单张图像无法测距,需要双目(两个观察点)做三角测量。

1.3 双目三角测量与深度公式

两个相机从不同位置观察同一物点,各得一条指向它的光线,两线交点即物点的 3D 位置。

双目三角测量:两条光线交于物点 P,水平位置差即视差 d

设两相机焦距同为 $f$、光轴平行、光心横向相距基线 $B$(整流后的标准姿态,见 §1.6)。物点 $P=(X,Y,Z)$:

  • $P$ 在左相机像横坐标 $x_L=f,\dfrac{X}{Z}$
  • $P$ 在右相机像横坐标 $x_R=f,\dfrac{X-B}{Z}$

两式相减得视差:

$$
d=x_L-x_R=\frac{fB}{Z}
$$

解出:

$$
\boxed{,Z=\dfrac{f,B}{d},}
$$

物点越近视差越大、越远越小。对应问题:$Z=fB/d$ 的前提是知道左右图中哪个像素对应同一物点——此为双目视觉的计算核心,依赖图像纹理,由 SGBM 算法求解。

SGBM(Semi-Global Matching,半全局匹配) 是求解对应问题的主流算法(Hirschmüller, 2005):① 对每像素在视差窗内逐候选算块相似度(代价);② 沿多个方向一维累加代价并施加平滑惩罚 $P_1$/$P_2$(半全局,比纯局部鲁棒、比真全局快);③ 取聚合代价最小的视差;④ 后处理:亚像素插值、左右一致性 LRC、唯一性、散斑/中值滤波。

为什么随机散斑能匹配:SGBM 匹配小窗口(如 7×7)而非单像素。随机散斑使每个窗口内的亮点排布独一无二(高熵→可区分),左图窗口能在右图找到唯一对应。规则图案则歧义。

散斑之间的暗点:暗点自身无亮度,但以其为中心的窗口仍含周围亮点,故可匹配;SGBM 的平滑惩罚把周围亮点的视差传播到相邻暗点,中值滤波补全。因此深度逐像素稠密给出,非仅在亮点处。暗点与亮点同在一片表面(同一面墙),视差相同,匹配器还原的是这个一致视差。

逐像素稠密来自匹配不是插值:每像素视差由块匹配沿极线搜索取 argmin 得到;SGBM 的半全局聚合让代价受邻居影响(故弱纹理可匹配),但最终仍是逐像素独立决策;插值只用于亚像素精化(已匹配像素的代价曲线抛物线插值)、中值滤波、可选无效区填补。

1.4 三维坐标三角化(点云)

$Z$ 已知后,$X=x_L,Z/f$,$Y=y_L,Z/f$。每像素配其 $Z$ 得 3D 点,全图遍历得点云。$Z$ 为轴向深度(非斜距),平墙的轴向深度近似常数。

1.5 深度精度 $\Delta Z=Z^2/(fB)$ 与子像素

对 $Z=fB/d$ 求视差 $d$ 的微分:

$$
|dZ|=\frac{Z^2}{fB}|dd|
$$

视差每差 1 像素($|dd|=1$),深度差 $\Delta Z=Z^2/(fB)$。$\Delta Z\propto Z^2$——深度精度随距离平方退化,此为三角测距的几何属性。子像素匹配使视差精度达 0.1 px 量级,设子像素噪声 $\sigma_d$,则深度噪声 $\text{RMS}\approx\sigma_d,Z^2/(fB)$。

1.6 整流与视差搜索窗(量程)

整流(rectification):两相机物理上不严格平行同向(有微小旋转 $R$ 和基线位移 $t$)。出厂标定测出 $R/t$,据此对左右图各算一个单应变换(homography),把两图重采样到「光轴平行、像面共面、基线水平、对应点同行」的规范化姿态。

R/T 与单应的关系:$R/t$ 是几何起因;虚拟 3D 旋转绕光心,投影到图像上就是 2D 单应 $H=K,R_{\text{rect}},K^{-1}$。链条:$R/t$(3D)→ 虚拟旋转 → 诱导单应(2D)→ warp 重采样。实现:去畸变(非线性)+ 单应 warp(线性)复合,预计算为像素重映射表。

整流:把两幅图变换到对应点同行,匹配由二维搜索降为一维

视差搜索窗 $[d_{\min},d_{\max}]$:SGBM 的配置参数,非物理常量。由 DISPARITY_OFFSET($d_{\min}$)和 DISPARITY_NUM($N$)决定,$d_{\max}=d_{\min}+N$。该窗经 $Z=fB/d$ 换算即工作量程:

$$
Z_{\min}=\frac{fB}{d_{\max}},\qquad Z_{\max}=\frac{fB}{d_{\min}}
$$

1.7 单目结构光(对照)

单目结构光理论可行且为成熟技术(初代 Kinect、RealSense F200)。1 投射器 + 1 相机;投射器投已知图案,相机观察其被 3D 表面调制后的形态,将投射器视为第二只「虚拟眼」做三角测量。

单目结构光:投射器投已知图案($u_p$ 已知)+ 相机观察($u_c$),三角测量解出深度

推导同形 $Z=fB/d$,差异在于 $d=u_c-u_p$:单目中 $u_p$ 由已知图案给定(不搜索两图),双目中 $d=u_c-u_{\text{另一相机}}$(需搜索两图对应)。精度仍为 $\Delta Z=Z^2/(fB)$。本设备选用双目是工程取舍(廉价投射器 + 鲁棒匹配),非单目不可行。


二、本设备实例:FM815-IX-E1

2.1 设备架构与参数

DumpAllFeatures 实测型号 FM815-IX-E1,接口 Gige_2_0,5 个组件:

SDK 组件 角色 实测参数
TY_COMPONENT_LASER IR 散斑投射器 power=100, auto_ctrl=1
TY_COMPONENT_IR_CAM_LEFT 左 IR 相机 1280×960 mono8, fx=1102.09
TY_COMPONENT_IR_CAM_RIGHT 右 IR 相机 1280×960 mono8, 右→左外参 tx=−99.89 mm
TY_COMPONENT_DEPTH_CAM SGBM 深度输出 320×240 / 640×480 / 1280×960
TY_COMPONENT_RGB_CAM RGB 相机(仅上色) 2560×1920

2.2 散斑投射与成像流水线

投射器内置 DOE,把红外激光打散为静态随机散斑(对人眼/RGB 不可见),左右 IR 相机成像。深度 = SGBM 左右 IR 匹配出视差 → $Z=fB/d$。RGB 另拍一张贴色得上色点云。

散斑结构光成像流水线:左右 IR 散斑→SGBM 深度→RGB 上色→点云

2.3 设备参数套入理论

  • $f=1102.09$ px,$B=99.89$ mm,$fB\approx 110,080$ px·mm
  • FOV $=2\arctan(640/1102.09)=60.2°$,$2\arctan(480/1102.23)=47.1°$
  • 视差窗 DISPARITY_OFFSET=25, DISPARITY_NUM=162 → $d\in[25,187]$
  • 量程预测:$Z_{\min}=110080/187\approx589$ mm $\approx0.59$ m,$Z_{\max}=110080/25\approx4403$ mm $\approx4.41$ m

视差-距离曲线与搜索窗:窗 [25,187] px 对应量程 0.59–4.4 m


三、理论与实测的对应

3.1 工作量程:预测 0.59–4.4 m vs 越界实测

距离 有效率 现象
0.5 m 6.7% 墙体 < 近端 0.59 m,整面墙无效,残存为墙后背景
0.6–3.7 m 75–91% 量程内,墙体完整可测
4.5 m 36.2% 墙体 > 远端 4.4 m,墙体无效,残存为近处地板/天花板

两端越界时墙体在深度图中消失,与预测吻合。

3.2 距离-精度:$\Delta Z=Z^2/(fB)$ vs 9 点实测曲线

正对平墙,不同距离各采 3 帧(1280×960)。平整度 = 点云到拟合平面的残差。方法关键在只统计墙体上的点(远距视场溢出墙会污染),用深度直方图定墙尖峰 + MAD 鲁棒迭代拟合主平面。

距离 RMS (mm) P95 有效率 $\sigma_d$ (px)
0.63 m 0.655 1.30 85.1% 0.181
1.02 m 1.300 2.62 90.2% 0.138
1.46 m 2.463 5.09 89.5% 0.127
1.94 m 4.631 9.40 91.0% 0.136
2.38 m 6.450 13.19 90.0% 0.126
2.82 m 8.234 16.88 86.3% 0.114
3.29 m 12.336 24.91 78.6% 0.125
3.72 m 12.498 25.76 74.7% 0.099

距离 vs 精度曲线

单距离平整度热力图(1 m:左为平面内残差,右为残差直方图)

理论印证:以实测 RMS 反推 $\sigma_d$(末列),1–3.3 m 段 $\sigma_d=0.114$–$0.138$ px,中位 0.126,近似恒定——单次匹配的视差抖动稳定在 ~0.13 px,深度噪声完全继承 $\Delta Z\propto Z^2$。理论曲线 $0.126,Z^2/(fB)$ 与实测吻合。

完整精度模型(近端地板 + 视差量化):

$$
\mathrm{RMS}(Z)\approx\sqrt{\left(\sigma_d,\frac{Z2}{fB}\right){!2}+z_{\mathrm{floor}}^{,2}},\quad \sigma_d\approx0.126,\text{px},;z_{\mathrm{floor}}\approx0.47,\text{mm}
$$

多帧时间稳定性:逐像素深度时间抖动 ~0.5 mm,帧间残差相关 ≈1.0——单帧 RMS 的主体为固定系统性图案,多帧平均对精度改善有限。

3.3 散斑必要性:对应问题 vs 投射器开关

LASER 配置 深度有效率
power=100, auto=1 33.4%
power=100, auto=0 33.2%
power=0(关闭) 2.4%

关掉投射器深度由 33% 降至 2%——散斑是匹配纹理的主要来源。

3.4 点云密度来源

  • 场景与量程:前景 <0.59 m 整块无效。摆位使目标落入 0.6–4 m 可数倍提升有效率。
  • 分辨率:640→1280 点数 ×4(640 模式 fx=522.43 = 1280 的 fx 之半),精度不降。
  • SGBM 严苛度:放宽(uniq↓、关 LRC)密度↑但精度↓。
  • IR 增益:默认 gain=32 最优,调高反而更差。
  • 表面材质:玻璃/屏幕/黑色/强反光面恒无效。

四、采集、标定与设备特性

4.1 标定与 RGB 镜头畸变

出厂标定 access=1(只读),不可写回设备。双目外参(基线/整流)出厂锁死,自标等同重写深度引擎。

RGB 镜头畸变:带色点云中墙上直线(凹槽)弯曲——几何无畸变(整流已消 IR 畸变,depth=轴向 z),弯曲来自 RGB 独立镜头的桶形畸变($k_1=-0.2334$)。去畸变用 SDK 的 TYUndistortImage(Percipio 12 系数模型,非 OpenCV)。

去畸变后的带色点云(墙上直线已直)

4.2 投射器与 IR 成像特性

depth+IR 同开时 IR 帧全黑:投射器光照路由至主流量(depth),旁路 IR 组件取到灭灯相位。

模式 投射器 IR 帧 mean/max/std
depth+IR 同开 开/关 7/14/5(黑)
IR-only(-nodepth 199/255/78(亮)
IR-only 19/50/2(黑)

IR-only 模式采集的散斑

本设备无独立 IR 泛光灯。

4.3 距离选型

距离 精度 (RMS) 适用
0.6–1 m 0.7–1.3 mm 亚毫米至毫米级精密
1–2 m 1.3–4.6 mm 兼顾精度与覆盖(>90% 有效率)
2–3 m 4.6–12 mm 厘米级
>3 m ~12 mm,有效率下降 不建议

精度 $\propto Z^2$,按所需精度倒推安装距离。远距离大范围感知宜用 LiDAR(ToF,远而稀);结构光近而密,二者互补。



文章链接:
https://www.zywvvd.com/notes/3d/structured-light/structured-light-fm815/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

结构光相机成像原理与距离-精度实测——图漾 FM815-IX-E1
https://www.zywvvd.com/notes/3d/structured-light/structured-light-fm815/
作者
Yiwei Zhang
发布于
2026年7月30日
许可协议