一、结构光三维视觉概述
大家好,我是老张。搞了十几年光学测量,今天跟大伙聊聊结构光。
先问个问题:你手机的人脸解锁,是怎么知道你长啥样的?
答案就是结构光。说白了,就是往你脸上打一束特殊的光,然后看光怎么变形,就能算出你的脸是凸是凹。
1.1 什么是结构光
结构光,不是普通的光。普通手电筒照过去,一片亮,啥信息也拿不到。
结构光不一样。它是有「结构」的光——比如一条条纹、一堆散斑点、或者网格线。
我习惯这么理解:结构光就是给物体表面打上一把「光尺子」。光打上去,尺子就变形了。变形多少,深度就多少。
核心定义:结构光三维视觉,就是通过投射已知图案的光,分析图案变形,来获取物体三维信息的技术。
1.2 应用场景——这东西能干啥?
你想想看,生活中哪些地方用到了?
- 人脸识别——iPhone 的 Face ID,就是典型的散斑结构光。我在2017年拆过一台iPhone X,里面那个点阵投影器,做工是真讲究。
- 工业检测——比如检测手机屏幕有没有划痕、汽车钣金件有没有凹陷。我去年帮一个工厂做过产线检测方案,用结构光扫一个零件只要0.3秒,精度0.02mm。
- 文物扫描——博物馆里那些青铜器、佛像,不能上手摸,用结构光一扫,三维模型就出来了。我曾经帮朋友扫过一个汉代陶罐,连上面的指纹都扫出来了。
- 医疗整形——面部建模、假肢定制,现在也用结构光。
| 应用领域 | 典型场景 | 精度要求 | 常用光型 |
|---|---|---|---|
| 人脸识别 | 手机解锁、支付验证 | 0.1~0.5mm | 散斑结构光 |
| 工业检测 | 缺陷检测、尺寸测量 | 0.01~0.1mm | 条纹结构光 |
| 文物扫描 | 三维建模、数字存档 | 0.05~0.2mm | 多频条纹 |
| 医疗整形 | 面部建模、假体设计 | 0.1~0.3mm | 散斑/条纹 |
1.3 基本原理——三角测量法
结构光的核心原理,其实就四个字:三角测量。
什么意思?
你拿一支激光笔,斜着照到墙上。激光笔的位置固定,墙上的光点位置会随着墙的远近而移动。你只要知道激光笔和相机的夹角,再测出光点在图像上的偏移量,就能算出墙的距离。
这就是三角测量。
我的经验:刚开始做结构光的时候,我总纠结于公式推导。后来发现,你只要记住一个核心关系就行——偏移量越大,深度越大。剩下的,交给标定去解决。
具体来说,结构光系统有三个关键角色:
- 投影器——负责把结构光图案打到物体上
- 相机——负责拍下变形的图案
- 处理器——负责分析变形,算出三维坐标
这三者构成一个三角形。投影器和相机之间的距离,叫「基线」。基线越长,精度越高,但遮挡也越严重。这是个取舍问题。
注意:我曾经在项目里吃过亏——基线拉得太长,结果物体侧面全被挡住了,扫出来全是洞。后来老老实实按物体尺寸重新算了一遍基线。
下面这张图,是我画的结构光系统核心逻辑。你看一眼就明白了:
嗯,这张图其实已经把整个流程说清楚了。投影器打光,相机拍照,处理器算深度。就这么简单。
1.4 为什么选结构光?
你可能要问:测三维的方法那么多,为什么选结构光?
我列几个理由:
- 精度高——实验室条件下,做到0.01mm没问题
- 速度快——一帧图像就能出深度,适合动态场景
- 成本低——一个投影仪加一个工业相机,几千块就能搭起来
- 不受纹理影响——纯白物体、反光物体都能扫
一句话总结:结构光就是「便宜、好用、精度够」。这也是为什么我选择它作为这套课程的核心技术。
好了,这一章就到这里。下一章我们开始动手——我会教你如何用几百块钱的成本,自己搭一套结构光投影装置。