1.1 深度相机概述
深度相机是近几年兴起的新技术,相比较传统的相机,深度相机在功能上添加了一个深度测量,从而更方便准确的感知周围的环境及变化。深度相机有很多的应用场景,在我们日常生活中有很多深度相机的影子。那它可以用来做什么?三维建模、无人驾驶、机器人导航、手机人脸解锁、体感游戏等都用到了深度相机来实现其功能。iPhone X中最大的创新就是使用了前置深度相机。现在,深度相机的应用已经由智能终端解锁,逐渐延伸至移动支付、活体检测等场景,其背后的技术手段:3D结构光,也渐渐走入了公众视野。
iPhone X 采用的是结构光的方案,这里以 FaceID 的工作流程来解释下它是如何获取深度值的:
1,当脸部靠近相机时,首先启动接近感应器,若接近发出信号通知泛光照明器
2,泛光照明器会发出非结构化的红外线光投射到物体表面上,然后红外相机接收这些光后检测是否为人脸
3,若为人脸,则会让点阵投影器将3万多个肉眼看不见的结构光图案投影到物体上
4,红外镜头接收反射回来的点阵图案,通关计算图案的变形情况来获得脸部不同位置的距离
1.2 深度相机常见技术
基于双目立体视觉的深度相机对环境光照强度比较敏感,且比较依赖图像本身的特征,因此在光照不足、缺乏纹理等情况下很难提取到有效鲁棒的特征,从而导致匹配误差增大甚至匹配失败。而基于结构光法的深度相机就是为了解决上述双目匹配算法的复杂度和鲁棒性问题而提出的。结构光法不依赖于物体本身的颜色和纹理,采用了主动投影已知图案的方法来实现快速鲁棒的匹配特征点,能够达到较高的精度,也大大扩展了适用范围。
结构光利用相位信息进行三维重建,主要包括解相位和展开相位,利用展开的相位计算深度信息。相位测量,是一种基于三角测量原理的光学三维测量技术,本质上讲其是一种条纹投射测量技术。由其测量原理可知,应用该方法测量时,需要获取因镜面轮廓变化而产生的变形条纹图像,求取变形条纹的相位分布,找出相位分布与镜面面形之间的关系,进而恢复出镜面三维形貌。基于相位测量的测量系统将周期性余弦条纹投射于被测物体表面后, CCD 摄像机采集到的变形条纹图像(可看作相位和振幅均被物面轮廓调制的二维空间载波信号)可表示为:
其中,I(x, y)为CCD摄像机采集到的图像光强;a(x, y)为物面背景光强;b(x, y)为调制度;φ(x, y)为条纹相位。可知,我们需要求解条纹图像的相位分布,以求解物面法矢,进而求解物面面形。因此,以获取可靠相位信息为目的的条纹图像相位分析也是基于相位测量偏折术的镜面三维测量技术的关键环节。至今研究人员已经提出了多种针对条纹图像相位的求解方法,按处理域的不同可分为空域相位分析技术和时域相位分析技术两大类。
1.3 深度相机的相位求解
3D结构光的整个系统包含结构光投影设备、摄像机、图像采集和处理系统。其过程就是投影设备发射光线到被测物体上,摄像机拍摄在被测物体上形成的三维光图形,拍摄图像经采集处理系统处理后获得被测物体表面数据。在这个系统中,当相机和投影设备相对位置一定时,投射在被测物体上的光线畸变程度取决于物体表面的深度,所以在拍摄图像中可以得到一张拥有深度的光线图像。
3D结构光模式包含点、线、面的模式,是指投射的光线类型。例如,这里A点和C点的相位差就是计算高度所需要的,那这两点在相机拍到的畸变条纹图像中是怎么体现的呢?
这是所拍到的被调制前后的条纹图像,图中的红色点即相当于上图中的A点和C点,两点的像素坐标相同,相位不同,求的相同坐标下的相位差即可间接求的D点的高度。也就是说空间中任意两处的散斑或条纹结构光图案都是不同的。只要在空间中打上这样的结构光,整个空间就都被做了标记,把一个物体放进这个空间,只要看看物体上面的散斑图案,就可以知道这个物体在什么位置了。当然,在这之前要把整个空间的散斑图案都记录下来,所以要先做一次光源标定,通过对比标定平面的光斑分布,就能精确计算出当前物体距离相机的距离。
1.4 总结
现阶段的主要用于高端智能机型上进行解锁、身份核对,解锁/识别准确度与速度均优于指纹识别。在虚拟交互方面,也已被用于体感游戏、手势控制等用途。3D结构光在应用场景落地的技术条件已经具备,更多衍生的应用场景正在开发和尝试当中。一般来说,由多条垂直双向的线组成的网络结构最常用,这种模式不需要扫描就可以实现三维的轮廓测量,而且速度快。