介绍
条纹结构光是一种非接触光学3D测量技术,在文献里通常被称为条纹投影轮廓术。它的特点是在近距能够实现高空间分辨率3D、高精度(微米级)的测量。凭借着这些特点,条纹结构光被用于零部件缺陷检测、机械臂视觉引导、3D扫描等对测量精度要求较高的场景。本文开启一个新的博客系列,介绍条纹结构光技术。笔者将分享条纹结构光系统搭建以及实现系统标定、三维重建的完整过程。本文主要介绍系统搭建过程。
系统构成
条纹结构光系统主要由投影仪、相机构成。根据所使用相机数量的不同,条纹结构光主要可分为单目、双目两种系统。两种系统的标定和重建算法存在不少的差异,在后续的博客中将会详细介绍。笔者用两台相机和一台投影仪搭建了结构光系统。实现单目系统时,仅使用投影仪和两台中的一台相机,实现双目系统时,则同时使用投影仪和两台相机。
以下是所用投影仪和相机的作用说明和核心参数。
投影仪
投影仪用于投射出条纹,由于条纹结构光通常采用时序编码,因此投射的条纹图案在不同帧是不同的。所以投影仪需要有投射可变图案的能力。笔者购买了工业级3D扫描专用的DLP投影仪来投射条纹图案,其主要参数如下表。
| 参数 | 规格 |
|---|---|
| 显示芯片 | DLP4710LC 0.47 1080p DMD |
| 分辨率 | 1920x1080 |
| 投射比 | 0.8 |
| 偏轴 | 0% |
| 畸变 | 1% |
| 价格 | ~1.3W |
投射比的定义为投影距离 D D D与画面宽度 W W W的比值,可以换算得到水平FOV约 64.0°,竖直FOV约38.7°,逆相机模型的焦距(镜头焦距比像素大小)约为 f x = 1920 × 0.8 = 1536 f_x = 1920 \times 0.8 = 1536 fx=1920×0.8=1536。
相机
相机用于采集投射到物体上产生变形的条纹。笔者用以前购买的两台海康工业相机来搭建系统,相机主要参数如下表。
| 参数 | 规格 |
|---|---|
| 传感器型号 | Sony IMX264 |
| 分辨率 | 2448x2048 |
| 靶面尺寸 | 2/3'' |
| 帧率 | 60FPS@Mono8 |
| 像素尺寸 | 3.45um |
| 镜头接口 | C-Mount |
| 价格 | ~1.5K |
镜头使用的是已有12mm镜头,最大光圈2.8。计算得到相机水平FOV和竖直FOV大约分别是38.8°和32.8°,与投影仪FOV有明显差距。这里确实是搭建系统时没有做好的地方,因为用的是已有相机和镜头,FOV没有做到太匹配,有些浪费投影仪的性能。不过这也保证了相机固定时有很大的结构自由度,不用担心出现相机视场超出投影仪投射区域的情况。
系统搭建
下图是搭建的系统结构,投影仪位于两台相机中间,左相机到投影仪镜头的基线长度大约17.5cm,两台相机的基线长度大概35cm。

上图中两个相机和投影仪光轴是平行放置,但后面调试发现在感兴趣测量范围内,两个相机FOV没有很好重叠,所以后来做了调整,让左右两个相机朝投影仪光轴偏转了一定角度。
投影仪控制
使用TI官方的DLP EVM软件控制投影仪投射条纹。这个软件可以控制投影仪投射一些软件和固件中自带的图案,或者自己添加的1bit、8bit一维横条纹或者竖条纹图像。下图是控制投影仪投射自带的棋盘格图像。

下图是使用Light Control功能投射自己生成的一维8bit横条纹和竖条纹图案。

添加完成后,选择要投影的Pattern Set,并设置前曝光、曝光、后曝光时间。前曝光、后曝光时间并不投射图案,是为了DMD 数据加载、系统时序稳定、与外部相机同步,并提供曝光与帧率分离的灵活性。只有曝光时间才是投射图案的。三个时间的和要大于相机最短采图间隔,否则同步时相机采图会出现丢帧。观察Triger Out2图案可以看到,当投影仪投射图案时,会持续输出高电平,这个信号可以用来控制相机同步采图。下图中,三个时间分别设置成了20000us、2000us、20000us,大于相机帧周期(1/60fps=16667us)。

相机控制
相机控制使用海康的MVS软件。需要和投影仪同步拍摄时,将相机设为外触发模式。

相机对焦和光圈调节
组装完成后,需要调整相机与投影仪的对焦以及相机的光圈。相机对焦根据根据感兴趣的深度测量范围确定。笔者关注500mm到1000mm的测量区间,所以将相机对焦于中间位置。将标定板放置于约750mm处,调节相机光圈至最大(这样景深最浅,最能凸显对焦是否清晰),然后调节对焦环直至标定板成像最为清晰。对焦完成后,调小相机光圈,让标定板在500mm和1000mm处也有合适的清晰度。最后,拍摄白墙,微调其中一个相机的光圈,使两个相机图像灰度均值基本一致。
投影仪对焦调节
完成相机对焦和光圈调节后,缩紧螺丝,开始调节投影仪对焦。将投影仪放置于距离白墙500mm处,控制投影仪投射棋盘格图案,调节投影仪对焦至图案最清晰。此时查看相机图像,通常可以观察到清晰的投影仪像素颗粒。这种像素颗粒会对测量质量产生不利,需要消除。进一步调节投影仪对焦至更近的距离,直至500mm处的相机图像恰无法观察到像素颗粒。这样基本上可以最大程度利用投影仪分辨率,并能够保证500mm至更远的距离都无法观察到像素颗粒。
投影仪和相机同步
笔者所购投影仪同步信号高电平电压为3.3V,恰与所购工业相机可用的最低同步信号电压一致,所以可以直接把投影仪同步线接到相机的同步线输入上。投影仪在投射图案时,输出持续的高电平信号。将相机设为外触发模式,选择外触发端口,并设置为检测到上升沿信号时采集图像,这样就每当投影仪投射图案时,相机就会采集图像,从而实现了投射条纹和采集图像的同步。下面的视频展示了投影仪和双相机通过效果。
投影仪和相机同步
相机曝光时间设置
相机的曝光时间不能小于投影仪曝光时间,否则将出现图案失真的情况。这是因为DLP投影仪本质只能投射黑白二值图案,投射8bit图案时,会根据bit位的高低编码为多个二值图案,并用不同的曝光时间依次投射,这些二值图案在曝光时间进行能量累加后,才能形成连续的8bit图案。相机曝光时间小于投影仪曝光时间时,可以看到不同bit明显的阶梯图案。下图是投影仪曝光时间设为2000us,相机曝光设置为500us、1000us、1500us、2000us时拍摄的8bit条纹图案。
