3、光学系统设计:发射端与接收端的光学博弈
光学系统设计,说白了就是给ToF相机配一副好「眼镜」。发射端要看得准,接收端要听得清。我做了这么多年产品,发现很多团队在算法上花了大功夫,结果光学设计没做好,整机性能直接拉胯。今天咱们就聊聊这块硬骨头。
3.1 发射端光学设计
发射端的核心任务就一个:把激光器的光均匀地投射到目标场景上。这里有两个关键元件——Diffuser和DOE。
3.1.1 Diffuser(扩散片)
Diffuser的作用是把激光器的点光源变成均匀的面光源。我个人习惯用全息扩散片,它的衍射效率高,能到85%以上。普通磨砂扩散片虽然便宜,但光效损失大,而且容易出现中心亮斑。
3.1.2 DOE(衍射光学元件)
DOE是发射端的灵魂。它把单束激光复制成多束,形成点阵或线阵。这里有个关键参数——衍射效率。我建议至少做到80%以上,否则能量浪费严重。
DOE设计时要注意几个坑:
- 零级衍射抑制: 零级光太强会直接干扰接收端。我习惯用二元光学设计,把零级效率压到1%以下。
- 均匀性: 点阵中每个点的光强差异要控制在±10%以内。我曾经用遗传算法优化过相位分布,效果不错。
- 温度稳定性: 激光器发热会导致波长漂移,DOE的衍射角会跟着变。建议用低热膨胀系数的材料,比如熔融石英。
// 一个简单的DOE相位分布计算示例(伪代码)
function calculateDOEPhase(targetPattern) {
// 使用GS算法迭代优化
let phase = randomPhase();
for (let i = 0; i < 100; i++) {
let field = FFT(amplitude * exp(i * phase));
phase = angle(IFFT(targetPattern * exp(i * angle(field))));
}
return phase;
}
3.2 接收端光学设计
接收端要解决的核心问题是:在强环境光下准确捕捉反射回来的激光信号。这里有两个关键元件——窄带滤光片和微透镜阵列。
3.2.1 窄带滤光片
窄带滤光片的作用是只让激光波长通过,滤掉其他环境光。我建议带宽控制在10nm以内,中心波长要和激光器匹配。比如940nm的激光器,滤光片中心波长就选940nm±2nm。
滤光片的关键指标:
| 参数 | 典型值 | 注意事项 |
|---|---|---|
| 中心波长 | 940nm | 与激光器匹配 |
| 带宽(FWHM) | 10nm | 太宽会引入环境光噪声 |
| 峰值透过率 | >90% | 越高越好 |
| 截止深度 | OD4以上 | 抑制带外光 |
3.2.2 微透镜阵列
微透镜阵列(MLA)的作用是把每个像素上的光汇聚到感光区域。说白了就是提高填充因子。我见过很多方案用单一大透镜,结果边缘视场光效差。MLA能很好地解决这个问题。
设计MLA时要注意:
- 透镜间距: 要和像素间距匹配,通常1:1对应。
- 曲率半径: 决定了聚焦效果。我习惯用Zemax优化,目标是把光斑控制在像素感光区内的90%以上。
- 材料选择: 硅基或玻璃基。硅基成本低,但红外透过率差;玻璃基性能好,但贵。
3.3 光学串扰抑制
光学串扰是ToF相机的老大难问题。简单说就是发射端的光直接或间接地进入接收端,造成深度测量误差。
串扰的来源主要有三个:
- 内部反射: 光在镜头内部多次反射后进入传感器。
- 盖板玻璃反射: 发射端和接收端共用盖板时,光在玻璃表面反射。
- 散射: 空气中的颗粒或镜头表面的灰尘造成光散射。
我常用的抑制方法:
- 物理隔离: 在发射端和接收端之间加遮光泡棉。厚度至少2mm,材质选黑色硅胶。
- 镀增透膜: 所有光学表面镀宽带增透膜,反射率降到0.5%以下。
- 结构设计: 发射端和接收端的光轴夹角控制在5°-10°,减少直接反射路径。
3.4 杂散光分析
杂散光分析是光学设计的最后一道防线。说白了就是找出所有不该进入传感器的光,然后想办法干掉它们。
分析流程我一般这么走:
- 建立光学模型: 在LightTools或TracePro里建好完整的光路模型。
- 追迹光线: 设置100万条光线,追踪所有可能的路径。
- 识别杂散光路径: 找出非设计路径的光线,比如经过两次反射才进入传感器的。
- 优化设计: 加挡光结构、调整表面粗糙度、优化镀膜。
杂散光的典型表现:
- 鬼影: 图像上出现虚假的亮斑或条纹。
- 对比度下降: 深度图整体模糊,边缘不清晰。
- 测量偏差: 特定距离下深度值跳变。
嗯,光学设计这块内容确实不少。但说白了,核心就是让发射端的光精准投射,接收端的光干净接收。中间那些串扰和杂散光,都是要一个个拔掉的钉子。我做了这么多项目,最大的体会就是:光学设计不能靠理论推演,一定要搭实验平台验证。有时候仿真结果完美,实际一测就露馅。
最后说一句,光学设计没有银弹。每个项目都要根据实际场景做取舍。比如室内场景可以放宽对滤光片的要求,但户外强光下就必须用窄带宽的。我建议新手从简单的方案开始,先跑通一个demo,再逐步优化。别一上来就想搞个完美的设计,那往往是最慢的路。