第二章:硬件选型实战——相机、投影仪与镜头焦距计算
大家好,我是老张。做结构光这些年,我踩过最多的坑,就是硬件选型。很多人觉得算法是核心,硬件差不多就行。说实话,我以前也这么想,直到有一次项目交付,相机帧率不够,投影仪亮度不足,整个系统在产线上根本跑不起来……那叫一个惨。
今天咱们就聊聊硬件选型。我尽量把实战中那些「书上不写、但你必须知道」的东西讲透。
2.1 相机选型:分辨率、帧率与全局快门
相机是结构光系统的「眼睛」。选错了,后面算法再牛也白搭。
2.1.1 分辨率:不是越高越好
很多人一上来就问:「我要不要买5000万像素的?」我的回答是:看你的测量精度和视场。
分辨率决定了你能分辨的最小细节。但分辨率越高,数据量越大,处理速度越慢。我见过一个团队用1200万像素的相机做在线检测,结果帧率只有5fps,产线根本跟不上。
这里有个经验公式:
单像素精度 = 视场宽度 / 相机水平分辨率
例如:视场宽100mm,相机分辨率1920像素
单像素精度 ≈ 100 / 1920 ≈ 0.052mm
实际测量精度 ≈ 单像素精度 × 子像素插值系数(通常0.1~0.3)
我个人习惯:先确定需要的测量精度,再反推分辨率。比如你要测0.1mm的台阶,单像素精度至少0.05mm,那分辨率至少2000像素以上。
2.1.2 帧率:决定你的测量速度
帧率就是相机每秒能拍多少张。对于静态测量,10fps都够用。但如果是动态场景——比如流水线上的工件——帧率就非常关键。
我记得有一次做手机中框检测,产线速度是每秒2个工件。我算了一下:每个工件需要拍3张条纹图,加上1张纹理图,总共4张。如果帧率30fps,那每秒最多处理7.5个工件,勉强够用。但实际还要考虑传输延迟、触发抖动……最后我选了60fps的相机,留了余量。
选帧率时,记住这个公式:
所需帧率 ≥ 被测物体移动速度 / 视场宽度 × 每件所需图像数 × 安全系数(1.5~2)
2.1.3 全局快门:结构光的「命根子」
这一点我必须强调:做结构光,一定要用全局快门相机。
为什么?因为投影仪投射的条纹是高速变化的。如果用卷帘快门,每一行像素的曝光时间不同,拍出来的条纹会扭曲变形。你想想看,条纹都歪了,相位解出来能准吗?
全局快门还有一个好处:适合闪光灯同步。你可以用极短的曝光时间(比如100μs)冻结运动,配合高亮投影,效果非常好。
2.2 投影仪选型:亮度、对比度与DLP技术
投影仪是结构光的「画笔」。画得清不清楚,直接影响重建质量。
2.2.1 亮度:不是越亮越好,但要够亮
亮度决定了你的系统能适应多强的环境光。在暗室中,几十流明都够用。但在产线上,环境光可能几百甚至上千勒克斯。
我做过一个汽车钣金检测项目,现场有强光照明。一开始用500流明的投影仪,条纹几乎被环境光淹没了。后来换了3000流明的DLP投影仪,才勉强能用。
选亮度时,我一般这样估算:
所需投影亮度 ≈ 环境光照度 × 被测物体反射率 × 安全系数(3~5)
例如:环境光500 lux,反射率0.3,安全系数4
所需亮度 ≈ 500 × 0.3 × 4 = 600 lux(约等于600流明/平方米)
2.2.2 对比度:决定条纹的「黑白分明」
对比度越高,条纹的明暗差异越大,相位解算越稳定。DLP投影仪的对比度通常在1000:1到10000:1之间。
我个人建议:对比度至少2000:1。低于这个值,在测量高反光物体(如金属、陶瓷)时,条纹会被反射光淹没,导致解相失败。
我记得有一次测不锈钢工件,表面反光特别强。用1000:1的投影仪,条纹几乎看不见。后来换了5000:1的DLP,配合偏振片,才把条纹拍清楚。
2.2.3 DLP技术:为什么是结构光的最佳选择
DLP(数字光处理)技术,说白了就是用微镜阵列来反射光。它的优势在于:
- 高速切换:微镜可以每秒切换几千次,适合高速条纹投影
- 高灰度级:8位、10位甚至12位灰度,条纹更平滑
- 高可靠性:没有LCD的液晶老化问题,寿命长
目前市面上主流的结构光投影仪,几乎都是DLP方案。如果你预算有限,也可以用LCD投影仪,但要注意:LCD的响应速度慢,灰度非线性严重,需要做额外的校准。
2.3 镜头焦距计算:让视场和景深匹配
镜头选型,说白了就是算焦距。焦距决定了视场角和景深。
2.3.1 焦距与视场的关系
公式很简单:
焦距 f = 传感器宽度 / (2 × tan(视场角/2))
或者更实用的:
f = 传感器宽度 × 工作距离 / 视场宽度
举个例子:
传感器宽度:6.4mm(1/2英寸传感器)
工作距离:500mm
期望视场宽度:200mm
f = 6.4 × 500 / 200 = 16mm
所以,选16mm焦距的镜头就对了。
2.3.2 景深:别让被测物体「跑出焦」
景深就是清晰成像的深度范围。结构光测量中,如果被测物体有高度差,景深不够的话,边缘就会模糊。
景深公式:
景深 ≈ 2 × 光圈F值 × 容许弥散圆直径 × (工作距离² / 焦距²)
嗯,这个公式有点复杂。我一般直接用经验:
- 短焦距(< 8mm):景深大,适合大视场、大高度差
- 中焦距(8~25mm):景深适中,最常用
- 长焦距(> 25mm):景深小,适合小视场、高精度
2.4 知识体系总览
下面这张图,是我自己总结的硬件选型逻辑。你可以把它当作一个检查清单:
2.5 实战总结
说了这么多,我最后给你一个「傻瓜式」的选型流程:
- 定精度:先确定你要测多准,反推相机分辨率
- 定速度:看产线或被测物体移动速度,算帧率
- 定环境:现场环境光多强?选够亮的投影仪
- 定视场:工作距离和视场大小,算镜头焦距
- 定景深:被测物体高度差多大?确认景深够用
嗯,这套流程我用了好几年,基本没出过大错。你照着做,至少能避开80%的坑。
剩下的20%,就得靠实战积累了。比如高反光物体怎么处理?多投影仪怎么同步?这些我们后面章节再聊。
公众号:蓝海资料掘金营,微信deep3321