1. 为什么“3D相机”不是一块加了深度图的普通摄像头?
很多人第一次接触“3D相机”,下意识会想:不就是普通RGB摄像头+一个能测距离的模块吗?就像手机前置镜头加个点阵投影器,扫个脸就完事了。但实际在工业检测、机器人导航、医疗建模这些真正吃精度、讲鲁棒性的场景里,这种理解轻则导致项目返工,重则让整套视觉系统在产线跑三天就集体飘移。我参与过某汽车焊装车间的在线形变检测项目,初期用的是一台标称“高精度ToF”的消费级模组,结果在夏季车间温度升到38℃后,深度图整体偏移达2.7mm——而焊接公差要求是±0.3mm。后来拆开才发现,那颗ToF传感器没做温漂补偿电路,驱动时序也未针对金属反光表面优化。这根本不是“加个模块”的问题,而是六种光学传感路径背后,对应着六套完全不同的物理模型、误差来源和工程约束。
所谓“3D相机”,本质是把空间坐标(X,Y,Z)作为原始输出信号的成像设备,它不依赖后期算法拟合,而是靠光与物的相互作用直接编码三维信息。这就决定了它的设计逻辑和2D图像传感器截然不同:2D相机追求的是光子捕获效率与信噪比,而3D相机首先要解决的是相位/时间/角度/干涉条纹的可解性与稳定性。比如结构光投射的图案,在高反光曲面或低纹理区域极易失效;而双目立体匹配在无纹理墙面或重复纹理(如瓷砖缝)上会直接崩解;激光三角测量对被测物表面反射率极度敏感,黑橡胶和镜面铝材在同一套参数下可能一个测不到、一个饱和溢出。这些不是软件调参能绕过去的硬伤,而是光路设计阶段就必须锁定的边界条件。
所以本篇不谈“哪款3D相机好用”,而是回到光学传感的底层物理层,把六种主流技术——双目立体视觉、结构光、飞行时间(ToF)、激光三角测量、光场成像、干涉测量——掰开揉碎讲清楚:每一种的光路怎么走、关键器件为什么必须这么选、典型误差源长什么样、什么场景下它天然占优、又在什么条件下会突然“失明”。这不是理论综述,而是我在过去八年里,亲手调试过27台不同原理3D相机、踩过至少14类典型坑之后,总结出的“光路决策树”。当你面对一个新需求时,第一反应不该是查型号参数表,而应先问:光,打算怎么从相机走到物体再回来?这个问题的答案,直接决定你后续三个月是顺利交付,还是在实验室里反复烧保险丝。
2. 双目立体视觉:最像人眼,却最考验“大脑”的方案
2.1 光路本质:用视差解算深度,而非直接测量
双目立体视觉(Stereo Vision)的物理基础极其朴素:两个水平排布的摄像头,像人的左右眼一样,从略微不同的视角观察同一场景。物体在左右图像中的像素位置差异,即“视差”(disparity),与物体到相机的距离成反比。这个关系由三角测量公式严格定义:
$$ Z = \frac{f \cdot B}{d} $$
其中 $Z$ 是物距,$f$ 是镜头焦距(单位:像素),$B$ 是两相机光心间距(基线长度,单位:毫米),$d$ 是视差(单位:像素)。看起来简单?问题全藏在公式之外。首先,$f$ 和 $B$ 必须精确标定——但工业镜头存在径向畸变,基线在热胀冷缩下会微米级漂移;其次,$d$ 的求解依赖于左右图像的像素级匹配,而匹配的前提是:同一物理点在左右图中必须有足够强且唯一的灰度特征。这就引出了双目方案最致命的软肋:特征缺失区。
我曾为某物流分拣线部署双目系统识别纸箱堆叠高度。测试时一切正常,但上线首周故障率飙升。回溯日志发现,所有失败帧都集中在“纯白纸箱紧贴纯白墙壁”的场景。左右图在此区域均为均匀灰度,SIFT、ORB等特征点提取器找不到任何可靠锚点,视差图直接出现大面积空洞。后来我们不得不在箱体侧面加贴高对比度二维码标记,才勉强维持可用性。这不是算法不够先进,而是物理限制:没有纹理,就没有视差,就没有深度。
2.2 器件选型:基线、分辨率与同步性的三重博弈
双目系统的性能天花板,由三个硬件参数共同决定:基线长度 $B$、图像分辨率、以及左右相机的硬件级同步精度。
基线长度 $B$:直接影响深度测量范围与精度。$B$ 越大,相同视差 $d$ 对应的 $Z$ 越大,远距离测量能力越强;但 $B$ 过大,会导致左右视图重叠区(即“公共视野”)急剧缩小,近处物体可能只出现在左图或右图中,无法匹配。典型工业双目,基线在60–120mm之间平衡;而VR头显为适配人眼间距(约65mm),基线固定在此值,牺牲了远距精度。
图像分辨率:视差 $d$ 的测量精度直接受限于像素尺寸。假设传感器分辨率为1920×1080,水平视场角为60°,则单像素对应的实际角度约为0.031°。当 $B=100mm$ 时,1像素视差对应的深度误差在1m处约为17mm,在5m处飙升至430mm。因此,高精度双目必须采用高分辨率传感器(如5MP以上)或微透镜超采样技术。
硬件同步:左右相机必须在微秒级时间差内曝光。若存在1ms曝光时序偏差,在高速运动场景(如AGV小车避障)中,物体在左右图中的位置已因运动产生位移,视差计算将引入运动伪影。我们曾用软件触发的双USB相机,结果在传送带速度>0.5m/s时深度图严重扭曲;改用支持GenICam硬件触发的GigE双目套件后,问题彻底消失。
提示:双目系统标定不是一次性工作。环境温度变化5℃,镜头焦距 $f$ 可能漂移0.3%,基线 $B$ 因金属支架热胀冷缩改变1–2μm。建议在产线部署时,将标定板固定在恒温腔内,每日自动运行标定流程并更新内参。
2.3 实战避坑:从“匹配失败”到“亚像素精度”的实操链路
双目调试中最耗时的环节,从来不是安装硬件,而是构建一条稳定可靠的视差计算流水线。以下是我在多个项目中验证有效的七步法:
预处理强制对齐:先用棋盘格标定获取左右相机的畸变系数,对原始图像做实时去畸变。这一步不可跳过——未校正的桶形畸变会使直线变弯,直接破坏匹配假设。
极线校正(Rectification):将左右图像变换为“极线水平对齐”状态,即同一物点在左右图中的y坐标严格相等。这样匹配就从2D搜索降维为1D水平搜索,计算量降低两个数量级。OpenCV的
stereoRectify函数可自动生成校正映射表。匹配算法选型:
- 小基线、高纹理场景(如PCB检测):用BM(Block Matching),速度快,FPGA易实现;
- 大基线、弱纹理(如仓储货架):必须用SGBM(Semi-Global Block Matching),通过全局能量最小化抑制噪声,但计算资源消耗大3–5倍;
- 实时性要求极高(如无人机避障):考虑基于CNN的端到端匹配网络(如PSMNet),需GPU加速。
视差后处理:原始视差图充满椒盐噪声和误匹配点。必须叠加:
- 左右一致性检查(Left-Right Consistency Check):用右图匹配左图,反向验证;
- 中值滤波(3×3核)平滑局部噪声;
- 空洞填充(Inpainting):对连续空洞区域,用周围有效视差的加权平均插值。
亚像素插值:视差值本质是整数像素偏移,但真实视差常为小数。采用抛物线拟合法:取匹配代价曲线峰值及其左右邻点,拟合抛物线求顶点,可将视差精度提升至0.1像素级,深度精度翻倍。
动态阈值过滤:固定阈值会误杀边缘。改用自适应方法:计算每个像素邻域(5×5)的视差标准差σ,仅保留|d - d_mean| < 2σ的点。
深度图融合:单帧深度图噪声大。对连续N帧(N=5–10)做中值融合,可显著抑制运动抖动噪声,但需保证相机与物体相对静止。
这套流程在某精密齿轮齿形检测项目中,将单次测量重复性从±0.15mm提升至±0.03mm,达到接触式三坐标测量仪的80%精度,而成本仅为后者的1/5。
3. 结构光:用“光的尺子”丈量世界,但怕光也怕暗
3.1 编码逻辑:从“一张图”到“一串码”的信息跃迁
结构光(Structured Light)的核心思想,是主动向被测物投射已知的光图案(如条纹、网格、散斑),再用相机捕捉图案因物体表面起伏而产生的形变,通过解码形变反推三维形状。它不像双目依赖自然纹理,而是自己“创造纹理”,因此在无纹理物体(如陶瓷、塑料壳体)上优势明显。但其本质是空间编码-解码过程,精度上限由编码方式决定。
最基础的是单线激光+相机(属结构光子类),投射一条细激光线,相机看到的是一条弯曲的亮线,通过线中心像素坐标即可解算该线上各点的深度。但这是单点扫描,效率低。工业级结构光普遍采用面阵编码,主流有三类:
| 编码方式 | 原理简述 | 深度精度 | 抗干扰性 | 典型应用 |
|---|---|---|---|---|
| 格雷码(Gray Code) | 投射多幅黑白条纹图(如8幅),每幅代表二进制一位,通过明暗组合唯一标识每一列像素 | 高(可达0.01mm) | 强(抗环境光) | 静态高精检测(模具、铸件) |
| 相移法(Phase Shift) | 投射三幅正弦条纹(相位差120°),通过像素级相位差解算亚像素位置 | 极高(0.005mm) | 弱(怕强环境光) | 微纳尺度形貌(晶圆、生物组织) |
| 随机散斑(Random Dot) | 投射高密度随机光点,用立体匹配原理找对应点 | 中(0.05mm) | 中(需足够散斑密度) | 动态人体扫描(动作捕捉) |
我调试过一款相移结构光设备用于牙科模型扫描。环境光稍强(如窗外阳光斜射),相位解算就出现周期性条纹噪声,导致牙齿咬合面出现虚假凹坑。最终解决方案是在扫描舱加装红外截止滤光片,并将投影光源波长锁定在850nm——人眼不可见,但CMOS传感器响应良好,环境可见光干扰被滤除90%以上。
3.2 硬件耦合:投影器与相机的“共生关系”
结构光系统不是投影器+相机的简单拼接,而是二者光学参数必须深度协同:
投影器分辨率与FOV匹配:若投影器分辨率为1280×800,但相机视场角过大,导致投影图案在图像中被严重压缩(如1像素宽),则解码失效。理想状态是投影图案在图像中占据3–5像素宽度,既保证可分辨,又留出亚像素插值空间。
镜头畸变双向校准:投影器镜头和相机镜头均有畸变,且畸变类型可能不同(投影器常为枕形,相机常为桶形)。必须分别标定二者畸变模型,再联合优化,否则即使图案完美投射,相机捕获的形变也是畸变叠加的结果。
同步时序控制:投影与曝光必须严格锁相。以相移法为例,需在三幅不同相位图案投射的瞬间,分别触发相机曝光。若时序偏差>10μs,相位差计算误差将超过π/10,深度误差放大数倍。我们曾用普通USB转TTL模块控制,结果在高速扫描时相位漂移,改用FPGA实现纳秒级硬同步后问题消失。
注意:结构光对被测物表面反射率极度敏感。白色哑光表面反射率>80%,黑色橡胶<5%。同一套参数下,前者信噪比高,后者信号几乎被噪声淹没。必须配备自动曝光增益联动机制:根据实时捕获图像的平均亮度,动态调整投影功率与相机增益。但增益过高会引入热噪声,需在FPGA中嵌入实时噪声评估模块。
3.3 场景适配:从“静态扫描”到“动态鲁棒”的工程突围
结构光最大的应用场景是静态高精度三维重建,但工业现场往往需要动态测量。某电池极片涂布厚度检测项目就面临挑战:极片以2m/s速度连续通过扫描区,传统结构光因曝光时间长(>10ms)导致运动模糊,条纹拉长变形。
我们的破局思路是“用速度换精度”:
- 将投影图案从连续正弦波改为脉冲式短时闪光(单次曝光时间压缩至20μs);
- 相机采用全局快门,曝光与闪光严格同步;
- 在极片运动方向上,将投影条纹设计为倾斜30°,使运动模糊沿条纹方向延伸,不影响垂直方向的相位解算;
- 后端算法增加运动补偿模型:根据已知输送带速度,对模糊条纹做逆向卷积复原。
这套方案使动态扫描精度稳定在±0.015mm,满足锂电行业对涂布厚度均匀性的严苛要求(±0.02mm)。关键启示在于:结构光不是只能“慢慢扫”,而是要根据运动特性,重构整个光-机-算协同链路。
4. 飞行时间(ToF):用光速当标尺,但光速太快反而成难题
4.1 测距原理:直方图里的“光子马拉松”
飞行时间(Time-of-Flight, ToF)技术直接利用光速 $c$(3×10⁸ m/s)作为天然标尺:测量光脉冲从发射到返回的时间 $t$,深度 $Z = c \cdot t / 2$。听起来完美?问题在于,光速太快——光走过1mm仅需3.3皮秒(ps)。现有电子计时器的精度极限在10ps量级,对应深度分辨率仅3mm,远不能满足工业需求。
因此,主流ToF相机(如索尼IMX556)采用间接飞行时间(iToF),不直接测时间,而是测相位差。其核心是:发射一束高频调制光(通常为10–100MHz正弦波),光经物体反射后,因传播延迟产生相位偏移 $\phi$,相机像素通过四相采样(0°, 90°, 180°, 270°)捕获四个强度值 $I_0, I_{90}, I_{180}, I_{270}$,再计算:
$$ \phi = \arctan\left(\frac{I_{90} - I_{270}}{I_0 - I_{180}}\right), \quad Z = \frac{c \cdot \phi}{4\pi f} $$
其中 $f$ 是调制频率。当 $f = 20MHz$ 时,相位周期对应最大无模糊距离(即“测量范围”)为 $Z_{max} = c/(2f) = 7.5m$。若物体更远,相位会“绕圈”,产生距离混叠(Ambiguity)。
我曾遇到一个经典混叠案例:在仓库高位货架检测中,ToF相机标称量程5m,但货架高度达8m。结果靠近顶部的货箱深度值被错误折叠为 $8 - 7.5 = 0.5m$,系统误判为货箱掉落。解决方案不是换相机,而是多频融合:用10MHz(量程15m)粗测,再用30MHz(量程5m)精测,通过中国剩余定理解算唯一深度值。这需要相机支持多频切换及同步采样,非所有ToF芯片具备此能力。
4.2 像素架构:从“单点计时”到“像素级相位解算”的演进
ToF传感器的像素结构,直接决定了其性能天花板。早期方案(如第一代PMD传感器)采用“单点SPAD+TDC”架构:一个雪崩光电二极管(SPAD)配合时间数字转换器(TDC),逐点测量光子到达时间。但SPAD死时间长(>10ns),在强光下易饱和,且无法同时处理多光子事件。
现代主流是调制解调像素(Modulated Pixel),如索尼DepthSense系列。其像素内部集成:
- 两个存储节点(A、B),对应0°和180°采样;
- 一个高速开关,按调制频率在A/B间切换;
- 片上相关器,直接输出相位差模拟电压。
这种架构的优势是:每个像素独立完成相位解算,无串扰;功耗低;抗环境光能力强(因只响应与调制同频的光)。但缺陷也很明显:多路径干扰(Multi-Path Interference, MPI)。当光经镜面反射后再到达传感器(如测桌面物体,光先打到天花板再反射),传感器会将直达光与反射光的相位混合,导致深度值介于两者之间,出现“鬼影”。
我们在某AGV避障项目中就遭遇MPI:AGV在光滑地砖上行驶,ToF相机对前方1.2m处的障碍物测得深度为0.8m(因部分光经地砖反射)。最终方案是:在相机镜头前加装偏振片,并让投影光为特定偏振态(如45°),而地砖反射光偏振态变为135°,被偏振片大幅衰减,MPI噪声降低70%。
4.3 温度与环境光:ToF的两大隐形杀手
ToF系统对环境异常敏感,两大主因是温度漂移与环境光干扰:
温度漂移:调制频率 $f$ 由片上振荡器(RC振荡器)生成,其频率随温度变化。实测显示,温度每升高1℃,$f$ 下降约100ppm,导致深度值系统性偏移。在某户外巡检机器人项目中,晨间20℃与午间35℃环境下,同一物体深度读数相差12mm。解决方案是:在传感器旁集成高精度温度传感器(±0.1℃),建立 $f-T$ 查找表,实时补偿。
环境光干扰:太阳光中含大量与调制频率同频的噪声(尤其在晴天红外波段)。传统做法是加窄带滤光片(如中心波长850nm,带宽±10nm),但会损失20%有效光通量。更优方案是环境光抑制算法:在无投影光时,额外采集一帧“环境光背景图”,从四相采样图中实时减去。这要求相机支持快速帧切换(<100μs),且背景图采集需在投影关闭瞬间完成,避免LED余晖干扰。
提示:ToF相机的“有效分辨率”常被厂商虚标。标称640×480,但因相位解算需要四帧采样,实际每帧有效数据率仅为标称值的1/4。且边缘像素因光学渐晕,信噪比骤降。实测中,中心320×240区域的深度精度可达标称值的90%,而边缘区域误差可能翻倍。选型时务必索要实测MPE(最大允许误差)报告,而非只看分辨率参数。
5. 激光三角测量:最古老也最可靠的“光杠杆”
5.1 几何模型:一条光、一面镜、一个传感器的确定性解
激光三角测量(Laser Triangulation)是历史最悠久、原理最直观的3D传感技术:一束激光(通常为线激光)以固定角度 $α$ 投射到被测物表面,形成一个光斑;相机以另一角度 $β$ 观察该光斑。当物体表面高度 $Z$ 变化时,光斑在相机图像中的位置 $x$ 会线性移动。其核心公式为:
$$ Z = \frac{L \cdot \sin\beta}{\sin(\alpha + \beta)} \cdot \frac{1}{x} $$
其中 $L$ 是激光器与相机光心的基线距离。注意:$Z$ 与 $x$ 成反比关系,而非双目的线性关系。这意味着在近距离,微小的 $x$ 变化会引起巨大的 $Z$ 变化,灵敏度高;但在远距离,$x$ 变化趋缓,灵敏度下降。因此,激光三角测量天然适合中近距离、高精度、小量程场景,如PCB焊点共面性检测(量程0.5–5mm,精度1μm)。
其最大优势是确定性:只要光路几何参数($α, β, L$)标定准确,且光斑能被清晰识别,深度值就是唯一解,不存在双目的匹配歧义或ToF的相位混叠。我参与过某半导体封装厂的引线键合质量检测,要求识别50μm直径金线的弧高。激光三角方案在产线连续运行三年,零误判,而同期试用的结构光方案因环境振动导致标定漂移,每周需人工校准。
5.2 光斑识别:从“找亮点”到“亚像素定位”的精度攻坚
激光三角测量的精度瓶颈,不在光学设计,而在光斑中心坐标的亚像素定位精度。理想光斑是高斯分布,但实际受激光模式、透镜像差、表面散射影响,常呈非对称、拖尾状。
常用定位算法对比:
| 算法 | 原理 | 精度 | 计算量 | 抗噪性 |
|---|---|---|---|---|
| 质心法(Centroid) | 计算光斑区域内像素坐标的加权平均 | 中(0.2–0.5像素) | 低 | 弱(受背景噪声影响大) |
| 高斯拟合法(Gaussian Fit) | 对光斑剖面拟合高斯曲线,取峰值位置 | 高(0.05–0.1像素) | 中 | 中(需初始值接近真值) |
| 重心-高斯混合 | 先用质心法粗定位,再在邻域内高斯拟合 | 极高(0.02像素) | 中高 | 强(鲁棒性最佳) |
在某精密轴承滚道检测项目中,我们采用混合算法:对每条激光线,沿垂直方向提取光强剖面,用质心法获得初始中心,再以该点为中心取11像素窗口,用Levenberg-Marquardt算法拟合高斯函数。最终在2048×1088分辨率下,单点高度重复性达±0.3μm,满足ISO 1302表面粗糙度检测标准。
关键细节:激光线发生器(Line Generator)的质量直接决定光斑均匀性。廉价柱面镜产生的线激光,两端强度衰减严重,导致边缘测量失效。必须选用衍射光学元件(DOE)或光纤耦合线激光器,确保线宽均匀性>90%。我们曾因使用劣质线激光器,导致检测系统在视野边缘出现系统性-15μm偏差,更换DOE后问题根除。
5.3 多线与多角度:突破单点局限的工程实践
单线激光三角只能获取一条轮廓,要重建完整3D面形,需运动扫描(如CNC平台移动工件)或采用多线阵列。但多线方案带来新挑战:线间串扰。
当多条激光线间距过小(<0.5mm),或被测物为高反光表面时,一条线的散射光会污染相邻线的图像区域,导致光斑识别错误。某汽车内饰件检测项目就因此失败:6条线激光间距0.3mm,镜面镀铬饰条导致第3线光斑被第2、4线散射光淹没。
我们的解决方案是时分复用+偏振隔离:
- 将6条激光线分为两组(1/3/5与2/4/6),交替开启,每组曝光时间错开10μs;
- 每组激光使用不同偏振态(如第一组为水平偏振,第二组为垂直偏振);
- 相机镜头前加装对应偏振片,仅接收本组偏振光。
这套方案使线间串扰抑制比达45dB,6线同时工作时各线光斑信噪比均>30dB,扫描效率提升3倍。这再次印证:激光三角测量的“古老”不等于“简单”,其工程深度在于如何用机电光协同,把确定性原理发挥到极致。
6. 光场与干涉:面向未来的两种高阶路径
6.1 光场成像:给每个像素加上“方向感”
光场相机(Light Field Camera)不记录传统2D图像,而是记录光线的四维信息($x,y,u,v$):$(x,y)$ 表示光线穿过微透镜阵列的位置,$(u,v)$ 表示该光线的方向。这相当于在传感器前放置一个微透镜阵列(MLA),每个微透镜将来自不同方向的光线聚焦到其下方的子传感器上。通过分析子图像的位移,可反解场景深度。
其革命性在于:一次曝光,全焦域信息。传统相机需多焦点堆栈(Focus Stacking)才能获取全深度图,而光场相机在单帧内即可重聚焦到任意深度平面。这使其在显微成像、晶圆缺陷检测等需精细调焦的场景极具潜力。
但现实骨感:目前商用光场相机(如Lytro Illum)分辨率仅4MP,且深度图精度受限于微透镜数量与子图像分辨率。更关键的是,深度计算是病态逆问题,需强先验约束。我们曾用光场相机检测硅片表面纳米级颗粒,结果发现:对孤立颗粒,深度估计误差达±50nm;但对规则排列的颗粒阵列,利用周期性先验,误差可压至±5nm。这说明光场技术并非万能,其价值在于与特定先验知识结合,而非通用深度传感。
6.2 干涉测量:用光波“拍手”听出距离
干涉测量(Interferometry)是精度最高的3D传感技术,原理是让一束参考光与一束测量光发生干涉,形成明暗相间的干涉条纹。物体表面高度变化 $Δh$ 会导致光程差变化 $2Δh$(因光往返),进而引起干涉条纹移动。通过计数条纹移动数 $N$,可得:
$$ Δh = N \cdot \frac{λ}{2} $$
其中 $λ$ 是激光波长(如He-Ne激光632.8nm)。理论上,单次条纹计数精度为 $λ/2 ≈ 316nm$;若用相位细分技术(如PZT压电陶瓷微调参考镜),可将精度提升至 $λ/1000 ≈ 0.3nm$!这已进入原子尺度。
但干涉测量对环境极端苛刻:空气湍流、温度波动、机械振动都会导致参考光与测量光相位随机漂移,产生“条纹抖动”。某高校实验室的纳米压痕仪就因此困扰:在无隔振平台上,干涉信号信噪比<5dB,无法稳定计数。最终方案是:将整个光路置于真空腔内,并用主动隔振平台(气浮+电磁反馈),才将信噪比提升至40dB以上。
因此,干涉测量目前主要应用于超精密计量实验室,而非工业现场。但它指明了一个方向:当其他技术逼近物理极限时,干涉原理仍是突破精度天花板的终极路径。
7. 如何为你的项目选择最合适的3D光学传感技术?
选型不是查参数表,而是做一道多约束优化题。我总结了一张实战决策表,覆盖工业、科研、消费三大场景的核心维度:
| 决策维度 | 双目立体视觉 | 结构光 | ToF | 激光三角 | 光场 | 干涉 |
|---|---|---|---|---|---|---|
| 典型精度 | ±0.1–1mm | ±0.01–0.1mm | ±1–10mm | ±0.001–0.01mm | ±0.01–0.1mm | ±0.000001–0.001mm |
| 量程范围 | 0.1–10m | 0.05–2m | 0.1–10m | 0.001–0.1m | 0.1–1m | 0.0001–0.1m |
| 抗环境光 | 强 | 中(需滤光) | 弱(需强滤光/算法) | 强 | 中 | 极弱(需暗室) |
| 抗振动 | 强 | 中 | 中 | 强 | 中 | 极弱(需隔振) |
| 动态性能 | 高(>100fps) | 中(10–30fps) | 高(30–120fps) | 极高(>10kHz线扫) | 中(30fps) | 极低(<1fps) |
| 表面适应性 | 依赖纹理 | 无纹理友好 | 镜面/透明差 | 镜面/透明差 | 无纹理友好 | 镜面友好,透明差 |
| 成本(入门级) | 低(<500美元) | 中(1000–5000美元) | 中(800–3000美元) | 中高(2000–10000美元) | 高(>10000美元) | 极高(>100000美元) |
| 部署难度 | 高(标定复杂) | 中高(需光学协同) | 低(即插即用) | 中(需机械对准) | 高(算法复杂) | 极高(环境苛刻) |
这张表背后,是我踩过的所有坑凝结成的经验。例如,“抗环境光”一栏,双目之所以“强”,是因为它用自然光,无需主动光源,环境光只是信噪比的一部分;而ToF的“弱”,是因为其探测器必须在纳秒级窗口内捕获微弱反射光,环境光是持续噪声源,信噪比被直接压制。
最后分享一个血泪教训:某客户坚持用ToF相机做高反光汽车轮毂检测,理由是“参数表写着支持金属表面”。结果上线后,轮毂曲面将大部分光反射到非视场区,有效信号不足,深度图大片空洞。我们紧急改用蓝光结构光+偏振滤光方案,才解决问题。这提醒我们:永远相信物理定律,而不是参数表。光如何与物质相互作用,才是决定技术成败的根本。
我在实际使用中发现,最高效的选型路径是“三问法”:
- 第一问:被测物最差表面是什么?(镜面?黑色橡胶?透明玻璃?)——排除掉物理上无法工作的技术;
- 第二问:现场最恶劣环境是什么?(温度波动?强振动?阳光直射?)——筛掉环境适应性不足的技术;
- 第三问:精度与速度哪个不可妥协?(是必须0.01mm,还是必须100fps?)——在剩余选项中做最终抉择。
当这三个问题的答案清晰时,技术路线自然浮现。剩下的,就是沉下心来,把光路、标定、算法、环境控制这一整套工程细节,做到极致。