第二章:结构光系统硬件组成
做结构光这么多年,我经常被问到:「老师,投影仪和相机到底怎么选?」
说实话,这个问题没有标准答案。但有一点我可以肯定——硬件选错了,算法再牛也白搭。今天我就把投影仪、相机、同步触发和标定板这四块硬骨头,掰开了讲给你听。
2.1 投影仪:DLP vs LCoS
投影仪是结构光系统的「光源」。它负责把编码好的图案投射到物体表面。目前主流方案就两种:DLP 和 LCoS。
2.1.1 DLP(数字光处理)
DLP 的核心是 DMD 芯片——一个布满微镜的半导体器件。每个微镜代表一个像素,每秒可以翻转数千次。
我个人习惯用 DLP,原因很简单:速度快。DLP 的刷新率可以做到 1000Hz 以上,非常适合高速三维扫描。
DLP 关键参数:
- 分辨率:常见 1024×768、1920×1080
- 刷新率:最高可达 20kHz(二进制模式)
- 对比度:1000:1 ~ 3000:1
- 波长:LED 或激光光源,常用 450nm 蓝光
我在项目中遇到过一个问题:DLP 投影仪在高温环境下,DMD 微镜容易卡死。后来我们加了主动散热,才把故障率降下来。
2.1.2 LCoS(硅基液晶)
LCoS 是另一种技术路线。它用液晶层代替微镜,通过电压控制液晶分子的偏转来调制光强。
LCoS 的优势是分辨率高、像素间距小。你想想看,同样尺寸的芯片,LCoS 可以做到 4K 甚至 8K 分辨率。但它的刷新率不如 DLP,一般只有 60~240Hz。
| 对比项 | DLP | LCoS |
|---|---|---|
| 刷新率 | 高(1000Hz+) | 低(60~240Hz) |
| 分辨率 | 中等(1080p 常见) | 高(4K 起步) |
| 对比度 | 中等 | 高(5000:1+) |
| 成本 | 中等 | 较高 |
| 适用场景 | 高速扫描、动态测量 | 高精度、静态测量 |
我的建议:如果你做的是工业在线检测,选 DLP。如果是文物数字化、医疗建模这类对精度要求极高的场景,LCoS 更合适。
2.2 相机:工业相机 vs CMOS
相机负责采集被物体调制后的条纹图案。说白了,它就是系统的「眼睛」。
2.2.1 工业相机
工业相机用的是 CCD 或全局快门 CMOS 传感器。它的特点是:
- 全局快门:所有像素同时曝光,不会产生运动模糊
- 高帧率:常见 60~500fps
- 触发接口:支持硬件触发,精准同步
- 数据传输:GigE、USB3.0、Camera Link
我记得有一次做产线项目,用的就是工业相机。当时被测物体在传送带上以 2m/s 的速度移动,普通相机根本拍不清楚。换了全局快门工业相机后,条纹图像清晰得像静止一样。
2.2.2 消费级 CMOS
消费级 CMOS 就是手机、单反里用的那种传感器。它采用卷帘快门,像素逐行曝光。
为什么我不推荐用消费级 CMOS 做结构光?原因很简单:卷帘快门会导致条纹变形。你想想看,如果投影仪在闪,相机在逐行扫描,那拍出来的条纹就是歪的。
避坑指南:我曾经用索尼 A7 系列相机做过实验,结果发现条纹相位误差高达 0.3 个周期。这个误差在三维重建中会直接导致毫米级的测量偏差。所以,老老实实用工业相机吧。
2.3 同步触发机制
同步触发是结构光系统的「节拍器」。投影仪和相机必须严格同步,否则拍出来的图案是乱的。
常见的同步方式有三种:
- 硬件触发(推荐):投影仪输出一个触发信号,相机收到信号后开始曝光。延迟可以控制在微秒级。
- 软件触发:通过上位机发送指令,同时控制投影和相机。延迟较大,适合低速场景。
- 自由运行:投影仪和相机各自按自己的节奏工作,后期通过时间戳对齐。不推荐用于高精度测量。
我个人习惯用硬件触发。具体做法是:把投影仪的 VSYNC 信号接到相机的触发输入引脚。这样每投影一帧,相机就拍一帧,完美同步。
同步时序示例:
投影仪 VSYNC ──┬──┬──┬──┬──┬──┬──
│ │ │ │ │ │
相机触发信号 ──┘ └──┘ └──┘ └──┘
│ │ │ │ │ │
相机曝光时间 ─────┘ └────┘ └────┘
这里要注意:曝光时间不能超过投影周期。否则下一帧图案已经投出来了,上一帧还没拍完,就会串扰。
2.4 标定板选择
标定板是系统校准的「尺子」。没有它,你测出来的三维坐标就是错的。
常见的标定板类型:
| 类型 | 特点 | 适用场景 |
|---|---|---|
| 棋盘格 | 角点检测简单,鲁棒性好 | 通用标定 |
| 圆点阵列 | 圆心定位精度高 | 高精度标定 |
| 编码标定板 | 自带 ID,可自动识别 | 多视角标定 |
| 陶瓷标定板 | 热膨胀系数低,尺寸稳定 | 高温环境 |
我建议初学者先用棋盘格。为什么?因为 OpenCV 的 findChessboardCorners 函数非常成熟,上手快。等你有经验了,再换圆点阵列提升精度。
标定板使用技巧:
- 标定板要平整,不能有弯曲
- 拍摄时,标定板要占画面 1/3 以上
- 至少拍 15~20 张不同角度的图像
- 避免反光,可以用哑光材质
我曾经遇到过一个坑:用亚克力材质的标定板,结果在 LED 灯光下反光严重,角点检测总是失败。后来换了陶瓷标定板,问题才解决。
2.5 系统硬件架构图
下面这张图是我自己画的系统架构。它展示了投影仪、相机、同步触发和标定板之间的关系。
从这张图你可以看到:计算机控制投影仪和相机,同步触发信号确保两者步调一致。投影仪把编码图案打到物体上,相机拍下变形后的图案。标定板则用于建立像素坐标和世界坐标之间的映射关系。
2.6 硬件选型总结
说了这么多,我帮你总结一下:
- 投影仪:高速选 DLP,高精度选 LCoS
- 相机:必须用全局快门工业相机
- 同步触发:硬件触发是首选,别偷懒
- 标定板:新手用棋盘格,老手用圆点阵列
硬件选型没有绝对的对错,关键看你的应用场景。我见过有人用 200 块的投影仪加 5000 块的相机,也做过 10 万一套的进口系统。适合自己的,才是最好的。