1、结构光三维视觉概述

大家好,我是你们这门课的主讲。在嵌入式视觉这行摸爬滚打了十几年,结构光算是我最钟爱的技术之一。今天咱们先不急着写代码、调模组,先把地基打牢。

结构光三维视觉,说白了就是给机器装上一双能看深度的眼睛。你想想看,普通相机拍出来的照片是二维的,没有距离信息。但结构光不一样,它能精确测量出每个点的三维坐标。我当年第一次看到结构光重建出来的人脸模型时,确实被震撼到了——原来机器真的可以「看见」立体世界。

1.1 结构光技术发展史

结构光这个概念,其实比大多数人想象的要老得多。

1970年代:萌芽期
最早的结构光系统用的是单点激光。一个点一个点地扫描,速度慢得让人抓狂。我记得读研时看过一篇1978年的论文,扫描一个巴掌大的物体要花几个小时。嗯,那时候的工程师是真有耐心。

1990年代:线结构光崛起
后来大家发现,与其用点扫,不如用一条线。线结构光配合一维移动平台,效率一下子提升了不少。工业检测领域开始大量采用。我在一家自动化设备公司实习时,就亲手调过一套线激光焊缝跟踪系统。那时候的同步方案还很原始,用硬件触发线阵相机,一帧一帧地拼。

2000年代:面结构光爆发
真正让结构光走进大众视野的,是面结构光技术。尤其是微软Kinect v1在2010年发布后,整个行业都沸腾了。它用一颗红外投影仪投射散斑图案,配合红外相机,实现了实时的人体骨骼追踪。我身边不少同行就是从那时候开始转型做结构光的。

2010年代至今:消费级与工业级并行
现在,结构光已经分化成两条路线。一条是消费级,比如手机人脸识别、AR/VR设备,追求小型化、低成本。另一条是工业级,比如高精度3D测量、逆向工程,追求亚毫米甚至微米级的精度。我在项目中遇到过最夸张的一个案例,是用结构光检测精密轴承的微小划痕,精度要求达到了0.01mm。

核心观点:结构光技术的发展史,本质上就是「更快、更准、更小」的追求史。从点到线再到面,从实验室到流水线再到你的手机里。

1.2 三角测量原理

结构光的核心原理,其实初中几何就能讲清楚——三角测量。

你想想看,如果我们知道一个三角形的两个角和一个边长,那第三条边是不是就能算出来?结构光系统就是利用这个道理。

具体来说,系统包含三个关键角色:

  • 投影仪:向物体表面投射已知图案(点、线或面)
  • 相机:从另一个角度拍摄被物体调制后的图案
  • 处理器:根据图案的变形量,计算出每个点的深度

我习惯用一个简单的比喻来解释:想象你用手电筒从左边照一个球,你的朋友从右边拍照。球表面的光斑位置会因为球的形状而偏移。偏移量越大,说明那个点离你朋友越近。结构光系统做的就是这件事,只不过把光斑换成了编码图案,把肉眼换成了高精度相机。

数学上,深度 Z 的计算公式大致是:

Z = (f * B) / d

其中:

  • f:相机焦距
  • B:投影仪与相机之间的基线距离
  • d:图案在图像上的视差(偏移量)

避坑指南:我曾经犯过一个低级错误——基线距离 B 设得太小。当时为了把模组做小,把投影仪和相机贴得很近。结果呢?视差 d 太小,深度分辨率严重不足。后来我学乖了,基线距离至少要保证视差能覆盖 5 个像素以上。

1.3 结构光系统分类

根据投影图案的不同,结构光系统可以分为三类。我按自己的理解给你捋一捋。

类型 投影图案 优点 缺点 典型应用
点结构光 单个激光点 精度极高,抗环境光强 速度慢,需要机械扫描 激光测距仪、工业对位
线结构光 一条激光线 速度适中,精度较高 需要一维运动平台 焊缝跟踪、轮廓测量
面结构光 编码图案(条纹/散斑) 速度快,一次获取全场 对环境光敏感,算法复杂 人脸识别、AR/VR、3D建模

点结构光:最原始的形式。一个点一个点地扫,精度确实高,但效率低得可怜。我早期做的一个项目,用点激光扫描一个汽车保险杠,整整扫了40分钟。客户在旁边等得直打哈欠。

线结构光:折中方案。一条线覆盖一个截面,配合传送带或机械臂运动,可以快速获取物体的完整轮廓。工业线上用得最多。我建议初学者先从线结构光入手,因为它的同步逻辑最直观——相机逐行曝光,激光线逐行扫描,一一对应。

面结构光:目前的主流。一次投射就能获取整个视场的深度信息。但代价是算法复杂,而且对环境光非常敏感。我在做手机人脸识别模组时,最头疼的就是强光下的表现。大太阳底下,红外图案被环境光淹没,深度图全是噪点。

注意:面结构光虽然快,但并不是万能的。如果被测物体表面有高反光或透明区域(比如玻璃瓶、金属镜面),效果会大打折扣。我曾经在检测手机玻璃盖板时吃过这个亏,后来不得不加了一层偏振片才搞定。

1.4 典型应用场景

结构光技术已经渗透到我们生活的方方面面。我挑三个最典型的场景说说。

人脸识别
这是大家最熟悉的。iPhone 的 Face ID 用的就是点阵投影器,投射出约 30000 个红外点,构建人脸的三维模型。为什么比二维识别安全?因为二维照片骗不了它。我测试过,用打印的高清照片去解锁,根本过不了。但要注意,如果用户戴了口罩或墨镜,识别率会下降。嗯,这也是目前行业还在优化的方向。

工业检测
这是结构光最赚钱的领域。从 PCB 焊点检测到汽车钣金间隙测量,从食品包装缺陷检查到木材纹理分析,几乎无所不包。我参与过一个项目,用线结构光检测锂电池极片的涂布厚度,精度要求达到微米级。那套系统的同步方案我调了整整两周,最后用 FPGA 实现了亚微秒级的触发同步。

AR/VR
增强现实和虚拟现实设备需要实时感知周围环境,才能把虚拟物体「锚定」在真实空间中。结构光在这里扮演了空间扫描的角色。比如微软的 HoloLens,就用了多颗结构光传感器来实现 SLAM(即时定位与地图构建)。我个人觉得,AR/VR 是结构光未来最大的增长点,因为只有结构光才能在低功耗下提供高精度的深度信息。

一句话总结:结构光技术,从实验室的冷板凳坐到了消费电子的 C 位。它的核心是三角测量,分类看投影图案,应用则遍地开花。接下来的章节,我会带你一步步搭建一套完整的结构光模组与相机同步系统。

结构光三维视觉知识体系 结构光三维视觉 技术发展史 1970s 点结构光 1990s 线结构光 2000s 面结构光 2010s 消费级爆发 三角测量原理 投影仪 + 相机 + 处理器 Z = (f × B) / d 基线距离决定精度 系统分类 点结构光:高精度、慢速 线结构光:折中方案 面结构光:快速、全场 典型应用场景 人脸识别(Face ID) 工业检测(精密测量) AR/VR(空间感知) 核心逻辑:从原理到分类再到应用,层层递进

专注资料整理