1. 结构光技术概述:原理、分类与典型应用场景

大家好,我是老张。做光学硬件这行十几年了,结构光是我最熟悉的“老朋友”。今天咱们聊聊结构光的基础——原理、分类和应用。别小看这些基础,我见过不少工程师上来就选模组,结果项目做到一半才发现原理没吃透,返工成本高得吓人。

1.1 结构光的基本原理

结构光,说白了就是“主动投射+三角测量”。

你想想看,我们人眼看物体有立体感,是因为两只眼睛从不同角度观察。结构光模组也一样——它用一个投影仪把特定图案(比如散斑、条纹)打到物体表面,再用一个相机从另一个角度拍下图案的变形。通过分析图案的变形量,就能算出物体的三维深度。

核心公式其实就一个:

深度 Z = (基线距离 B × 焦距 f) / (视差 d)

嗯,这里要注意:基线距离B是投影仪和相机之间的物理间距。我在项目中遇到过,有人为了把模组做小,把基线缩得太短,结果深度分辨率直接崩了。基线不是越小越好,得根据你的应用场景来权衡。

关键参数速查表:

参数 影响 我的建议
基线距离 越大,深度精度越高 人脸识别建议20-30mm
投影功率 影响抗环境光能力 室内5-10mW,室外需更高
相机帧率 影响动态场景捕捉 工业检测至少30fps

1.2 结构光的三种主流分类

结构光不是只有一种玩法。根据投射图案的不同,我把它分成三类:散斑、条纹、编码。每种都有它的脾气。

1.2.1 散斑结构光

散斑结构光,就是投影仪打出一片随机分布的斑点。每个斑点相当于一个“特征点”,相机通过匹配这些斑点来算深度。

我个人习惯把散斑结构光叫做“暴力美学”——它不需要复杂的编码,算法相对简单,适合实时性要求高的场景。苹果的Face ID用的就是散斑结构光,投射约3万个红外散斑点。

避坑指南: 我曾经在户外项目里用散斑结构光,结果阳光一强,散斑直接被淹没。后来我加了窄带滤光片,配合高功率VCSEL,才勉强能用。散斑结构光怕强光,这是它的硬伤。

1.2.2 条纹结构光

条纹结构光,投射的是黑白相间的条纹。通过分析条纹的相位变化来算深度。精度比散斑高,但需要多帧图像,速度慢一些。

为什么条纹精度高?因为相位信息是连续的,不像散斑是离散的。工业检测里,条纹结构光很常见,比如检测手机屏幕的平整度。

我记得有一次帮客户做PCB焊点检测,用散斑死活测不出0.1mm的翘起,换成四步相移条纹,一下就搞定了。嗯,选型就是这么回事——没有最好的,只有最合适的。

1.2.3 编码结构光

编码结构光,投射的是带有编码信息的图案,比如格雷码、De Bruijn序列。每个像素点都有唯一的编码,单帧就能解出深度。

你想想看,编码结构光的优势是什么?单帧!适合动态场景。但代价是分辨率受限,因为编码图案需要足够的像素来承载信息。

类型 精度 速度 抗环境光 典型应用
散斑 中等 人脸识别
条纹 工业检测
编码 中高 AR/VR

1.3 典型应用场景

聊完原理和分类,咱们看看实际中结构光都用在哪。我挑三个最常见的场景说说。

1.3.1 人脸识别

人脸识别是结构光最广为人知的应用。苹果从iPhone X开始用,到现在安卓阵营也在跟。

为什么人脸识别适合用散斑结构光?因为人脸是动态的,需要快速捕捉。散斑结构光单帧就能出深度图,帧率可以做到60fps以上。而且人脸尺寸小,模组可以做得很紧凑。

我做过一个门锁项目,客户要求模组厚度小于8mm。当时选的是散斑方案,基线距离22mm,VCSEL功率5mW,配合940nm红外光。嗯,这里要注意:940nm比850nm对人眼更安全,但传感器灵敏度会低一些,需要选高灵敏度的CMOS。

警告: 人脸识别模组必须通过IEC 60825-1激光安全认证。我见过有人为了省成本用超标激光器,结果被客户退货。安全认证不是儿戏。

1.3.2 工业检测

工业检测是结构光的“老本行”。从汽车零部件到电子元器件,只要需要高精度三维测量,结构光都能上。

工业场景下,条纹结构光是主流。为什么?因为精度高,可以达到微米级。我做过一个轴承滚珠检测项目,要求测量滚珠的圆度误差在5微米以内。用的就是四步相移条纹,配合高分辨率工业相机。

但工业检测有个坑——反光表面。金属件反光严重,条纹会被反射光干扰。我曾经试过喷显影剂,但产线不接受。后来改用蓝色激光条纹,配合偏振片,才把反光压下去。说白了,工业场景没有标准答案,得根据实际物料调。

1.3.3 AR/VR

AR/VR是结构光的新战场。AR眼镜需要实时感知环境深度,才能把虚拟物体“锚定”在真实空间里。

AR/VR对结构光的要求很苛刻:体积要小、功耗要低、帧率要高。编码结构光在这里有优势,因为单帧就能出深度,适合SLAM(即时定位与地图构建)算法。

我参与过一个AR眼镜项目,模组重量要求小于5克。当时选了编码结构光方案,用MEMS微镜扫描,配合单光子雪崩二极管(SPAD)传感器。功耗控制在200mW以内,帧率做到30fps。说实话,这个项目让我对结构光的极限有了新认识。

1.4 知识体系框架图

下面这张图是我自己画的,把结构光的知识体系串起来了。你一看就明白。

结构光技术知识体系 基本原理 主动投射 + 三角测量 三种分类 散斑 / 条纹 / 编码 典型应用 人脸 / 工业 / ARVR 散斑结构光 • 随机斑点图案 • 单帧解算,速度快 • 精度中等,怕强光 • 代表:Face ID 条纹结构光 • 黑白条纹图案 • 多帧相移,精度高 • 适合静态场景 • 代表:工业检测 编码结构光 • 格雷码/De Bruijn • 单帧,分辨率受限 • 抗环境光能力强 • 代表:AR/VR SLAM 选型核心:精度 vs 速度 vs 环境适应性 没有万能方案,只有最适合你场景的搭配

1.5 选型前的思考

讲完这些,我想说一句:结构光选型不是看参数表就能决定的。你得先问自己三个问题:

  1. 精度要求多高? 毫米级还是微米级?这决定了你用散斑还是条纹。
  2. 环境光怎么样? 室内还是室外?强光下散斑基本废了。
  3. 动态还是静态? 人脸会动,工业零件不会。动态场景优先考虑单帧方案。

我个人习惯是先画一张需求矩阵,把精度、速度、环境光、成本四个维度列出来,再去找对应的模组。这样不容易漏项。

小技巧: 如果你不确定选哪种,可以先买一个开发板做原型验证。我常用的有TI的DLP LightCrafter系列,或者奥比中光的模组。几百块钱就能跑通原理,比直接开模省钱多了。

好了,这一章就到这里。结构光的世界很大,咱们后面慢慢聊。


公众号:蓝海资料掘金营,微信deep3321