本文最后更新于: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}
$$

投影把三维 $(X,Y,Z)$ 压成二维 $(x,y)$,$Z$ 消失——同一光线上远近不同的点投到同一像点。故单张图像无法测距,需要双目(两个观察点)做三角测量。
1.3 双目三角测量与深度公式
两个相机从不同位置观察同一物点,各得一条指向它的光线,两线交点即物点的 3D 位置。

设两相机焦距同为 $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 表面调制后的形态,将投射器视为第二只「虚拟眼」做三角测量。

推导同形 $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 另拍一张贴色得上色点云。

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](https://uipv4.zywvvd.com:33030/HexoFiles/files/structured_light/disparity_range.png)
三、理论与实测的对应
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 |


理论印证:以实测 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 泛光灯。
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/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付