十年磨一剑:iPhone8引3D建模
扫描二维码
随时随地手机看文章
今年是iPhone诞生的第十年。按照苹果的传统,大家都相信今年发布的新iPhone会有很大的技术革新。而根据供应链的消息,苹果早在今年年初就开始布局3D深度感知元件,可见深度感知非常可能是iPhone 8技术突破之一。
手机为什么需要深度感知?因为使用深度感知配合摄像头,可以做人脸的精确3D建模。大家知道,随着人工智能的崛起,面部识别技术越来越成熟,SenseTime、海康威视等不少公司都提供了基于深度学习人工智能的面部识别解决方案,目前这些方案已经在门禁系统、保安监视系统甚至ATM机中使用。然而,基于传统二维摄像头的人脸识别存在很大问题,即无法区分真实三维人脸与二维照片,因此这样的身份认证系统容易被一张照片破解,如之前爆出的支付宝刷脸支付被照片骗过认证就是这样的问题。
而一旦拥有人脸的3D建模,这个安全漏洞就被补上了。而且,使用高精度人脸3D建模,人脸识别的准确度也可以大大提高。iPhone 8如果使用刷脸解锁,其用户体验比起指纹认证更方便,更快速,同时也会引起一大波手机厂商跟风。
深度感知除了用在前置摄像头的位置用于刷脸认证之外,还可以用在后置摄像头,用于AR/VR应用。AR/VR应用中往往需要对周围环境和手势做3D建模,因此也需要深度感知。结合前不久苹果刚在WWDC发布的ARKit,在未来的iPhone使用后置深度感知也不无可能。
深度传感主流技术
目前,有三种主流深度传感技术:结构光,ToF以及摄像头阵列。结构光技术精度高,但是对于使用环境有较多限制,最有可能用在前置摄像头做高精度3D人脸建模,即用于刷脸;ToF精度一般,对于环境光容忍度较好,适用于中等大小空间的建模以及动态姿势/手势建模;摄像头阵列精度较差,但可以用于大尺度宽阔空间3D建模。
结构光技术
结构光技术常使用激光作为光源,并用光源把设计好的图样投影到目标上。根据目标深度变化,反射光的图样会发生变化,通过比较入射参考图样和反射图样就能估计深度。图样分为时变图样和形变图样,时变图样在不同时间投射不同的图样并扫描整个空间,形变图样则一次投射图样到整个空间,而每个地方投射的图样略有不同并计算深度分布。时变图样计算较简单,但扫描时间长,而形变图样计算较复杂,但是可以一次计算整个空间的深度分布。
ToF
ToF系统中,光源发射一束光,传感器检测到反射光并记录光从ToF传感器入射至物体到从物体反射回ToF传感器的时间间隔,即光的飞行时间。通过将非常时间乘以光速就可以知道目标物体在空间中的深度信息。ToF传感器的光学系统与传统RGB摄像头很接近,只是ToF传感器输出的是深度信息而非RGB摄像头输出的光强。
基于脉冲的ToF传感器系统
移动设备中常用的计算飞行时间的方法是通过调制光源(如周期性地改变光源的强度),并且检测反射光相当于入射光的调制相位变化。相位变化测量目前已经有成熟的混频技术可以实现。
基于调制光的ToF传感器。
激光光源以方波形式调制,通过将反射光与入射参考光做混频可以估计飞行时间。
基于调制的ToF有一个主要问题,即距离混叠。当入射光和反射光调制相位差为φ时,我们可以估计飞行距离d=(c/4πf)φ, 其中c是光速,f是光源调制频率。然而,相位是一个周期函数。一个典型的φ-d图如下图所示。我们可以看到φ-d仅仅在一小段范围内单调。因此如果探测到的相位是60度,实际的相位除了可能等于60度以外还可能等于420度(60+360),780度(60+360*2),等等。故此,d也不能完全确定,除非d的距离范围事先给定并且落在φ-d的一段单调区间内,因此基于调制光的ToF测量范围有限。此外,基于调制光的ToF的精度和测量范围还是一对矛盾。想要深度测量范围大,则需要较低的调制频率;如果想要深度测量精度高,则需要较高的调制频率。这就进一步限制了基于调制光ToF的性能。一种流行的提高测量范围的技术是先后使用两个不同的调制频率并将两次结果结合起来来估计深度,不过这会增加ToF测量的延迟。另外,LED光源所支持的调制频率上限较低,因此深度测量精度也较激光要差。
相位-距离图,相位-距离关系仅仅在一小段距离里是单调的,因此会造成混叠。
摄像头阵列
摄像头阵列通常使用在不同位置的多个摄像头来拍摄多帧图像,并且根据多帧图像间的细微差别来估计深度。在CV领域,专业术语叫做“立体视觉”。目前,最简单但也是用得最多的摄像头阵列就是双摄像头,其中两个摄像头的位置稍有距离以模仿人眼。空间中每一个点在双摄像头拍摄到的两帧图像上都略有区别,根据几何学我们可以计算该点的深度。
摄像头阵列部署方便,成本也很低,但是主要难点在于如何找到同一个点在多帧图像上的位置(专业术语叫做“匹配点”)。目前基于深度学习的算法可以帮助找匹配点,但是需要的计算量非常大,在移动设备上会消耗许多电池电量。
技术比较
总体性能而言,深度感知最关键的性能是精确性。在这方面,结构光最强,而摄像头阵列通常最弱。
另一个重要指标是深度测量范围。结构光的测量范围最小,而ToF的测量范围则取决于发射光的强度以及光源类型。摄像头阵列的测量范围取决于摄像头间的距离。对于通常的摄像头阵列,其测量范围通常在10m以上,也就是说没法测量距离很近物体的深度。
此外,还有深度图的分辨率指标。结构光分辨率比ToF更好,因为结构光的发射图样可以被光学元件精确控制。理论上说,摄像头阵列也有很高的分辨率,但是这基于每一个点都能被完美匹配的基础上。在通常无法完美匹配的情况下,摄像头阵列的分辨率会下降。
最后,我们还要考虑环境亮度。结构光需要工作在较暗的环境中。ToF传感器对于环境亮度容忍度较好,而且随着背景消除技术的发展ToF能工作的环境亮度范围正在越来越广。摄像头阵列只能工作在较亮的环境下。在黑暗的环境下,摄像头阵列拍摄的图像质量变差,因此匹配点搜索变得更加困难,深度感知算法性能也会变得更差。
中国半导体厂商的机会
深度感知解决方案包括多个部件,如激光光源、光学元件以及传感器芯片等,另外模组也有机会。中国大陆半导体厂商总体在深度传感产业链中参与度还不高,在光学元件方面有驭光等初创公司在开发衍射元件,另外在模组方面,奥比中光则是深度感知方面较为领先。随着深度传感器市场逐渐打开以及半导体行业往中国大陆移动,可望在大陆在整体产业链方面能继续发力