主页 > I半生活 >苹果自爆祕笈:从想法到实现FaceID是怎样炼成的

苹果自爆祕笈:从想法到实现FaceID是怎样炼成的

2020-08-02 857浏览量
https://technews.tw/2017/11/27/face-id-apple-description/
苹果自爆祕笈:从想法到实现FaceID是怎样炼成的
苹果在自家机器学习日报自爆功法,发表论文《基于深度神经网路的装置端人脸辨识》,披露脸部辨识技术演变。2017 年 9 月 13 日,苹果在贾伯斯剧院发表智慧手机 iPhone X。这款搭载 64 位元架构 A11 神经处理引擎、採用脸部辨识解锁方式的全萤幕手机,号称 iPhone 10 週年纪念之作,售价新台币 35,900 元起。事实上,苹果 iOS 10 就开始使用深度学习技术用于脸部辨识,目前已向开发者开放视觉框架,支援相关应用程式开发。下文将着重讨论电脑视觉技术在隐私保护遇到的挑战,及基于深度学习的终端机人脸辨识技术实现方案。一、终端机深度学习模型的挑战苹果最早发表的脸部辨识 API 是透过 CIDetector 达成,一种针对静态影响的特徵资讯辨识的影像处理单元。最早版本的 CIDetector 基于维奥拉─琼斯目标侦测框架,苹果将其以传统方式最佳化。后来,随着深度学习出现、电脑视觉领域的应用,人脸辨识的準确性得到大飞跃,启发了苹果。相比传统的电脑视觉方案,深度学习演演算法能有更好的模型,也要求更多记忆、储存/磁碟和可计算资源。矛盾点来了:以目前终端机的硬体条件来看,基于深度学习的视觉模型似乎并不是可行方案,而大多数企业的解决方案是提供云介面,先将图片传给能执行大型深度学习框架的伺服器,然后用深度学习侦测脸部。而云服务往往需要强大的桌机系统级 GPU,需要大量记忆体。苹果自爆祕笈:从想法到实现FaceID是怎样炼成的介面方案虽然可行,但违背了苹果的隐私保护理念,因此,苹果只提供照片和影片云服务,所有照片、影片上传之前需得到帐户许可;针对电脑视觉指令,上传云端被认为是不太合适的方法。最终,苹果还是找到了在终端机,也就是 iPhone 上的深度学习方案,并完成高度脸部辨识準确性。这中间需要解决的挑战包括:将深度学习模型整合到作业系统,使用宝贵的 NAND 储存空间;还要将其加载到 RAM,利用 GPU 和/或 CPU 达到合适的计算时间;此外,和云端深度学习模型不同的是,终端机深度学习还需要解决执行电脑视觉指令的同时,还有其他的背景程式。总言之,终端机深度学习模型要求的是:针对大型的照片资料库,用极短的时间执行指令,并使用不多的功耗或说不发烫。二、从维奥拉─琼斯到深度学习苹果自爆祕笈:从想法到实现FaceID是怎样炼成的2001 年,Paul Viola 和 Michael Jones 基于哈尔特徵和方向可变滤波器,提出了基于简单特徵的对象辨识技术,此即维奥拉─琼斯目标侦测框架,这个方法在 OpenCV 中实现为 cvHaarDetectObjects。基于维奥拉─琼斯框架,iOS 7 引入 CIDetecor,做到了人脸侦测、辨识功能,但此时的人脸辨识,準确性和可靠性都不成熟。2014 年,苹果最开始着手基于深度学习的脸部辨识,深度卷积神经网路才刚能完成物体辨识工作,当时的主流方案是 OverFeat,能有效快速扫描物体影像。OverFeat 实现了神经网路的连线层与卷积层之间的等价性,也就是做到多尺度汇入预测。此外,OverFeat 还提供基于更少网路步幅的更密集汇出对映。基于 OverFeat,苹果搭建了初始架构,以实现:
    二进位分类:辨识汇入资料中是否有脸部资讯;回归演演算法:边线预测汇入的人脸资讯,达成人脸定位。
    苹果尝试一些训练方式:建立一个固定大小的影像块大资料集,对应网路的最小有效汇入,使每个块产生来自网路的单个汇出;定义参数的正负类,训练网路来最佳化多工作目标,如辨识是否有人脸,找出人脸的座标和缩放比例。高效的完全卷积可处理任意大小的影像并生成二维汇出图。整体思路是这样的:在人脸侦测流程中,包含多尺度的影像金字塔、人脸侦测器以及后处理模组等三大部分。多尺度的金字塔处理各种大小的面孔;人脸侦测器贯穿金字塔的各个等级,并从每层收集候选侦测;后处理模组然后组合这些候选侦测结果跨度,以产生对应网路对影像的脸部最终预测的边线框清单。上述策略基本构成终端机电脑视觉方案,但网路複杂性和规模仍然是效能的关键瓶颈,不仅要将网路限制在一个简单的拓朴架构中,且还要限制网路层数,每层信道数量和卷积滤波器的核心大小。为此,苹果提出了「师生」培训方式,即利用已培训的大型複杂网路汇出,来培训第二个薄而深的网路。以上方案是适合终端机用于脸部侦测的深度神经网路演算法,并透过几轮训练更新,实现了够精确的网路模型。三、最佳化影像管道深度学习提供一个很厉害的电脑视觉框架,但它还需要高度最佳化的成像管道。不管汇入影像是什幺角度、有无缩放、什幺色彩转换或影像源/格式,人脸侦测都应该执行良好。此外,功耗和记忆体使用情况也是最佳化的关键,特别是串流媒体和影像撷取。对此,苹果採用部分二次取样解码技术和自动平铺技术,即使在非典型的纵横比下,也能在大影像执行电脑视觉工作。此外,苹果还提供了广泛的色彩空间 API,电脑视觉框架可直接处理色彩匹配,降低开发人员的相关应用开发门槛。电脑视觉框架还透过有效处理和重複使用中间体来最佳化。透过将演算法的介面抽象出来,找到要处理的影像或缓冲区的所有权位置,演算法框架可建立和缓冲区中间影像,提供尽可能多的解析度和色彩空间,以提高多台电脑视觉工作的效能。四、最佳化终端机效能如前所述,终端机人脸侦测 API 必须克服即时应用程式和背景系统程式的问题。用户要的是处理照片资料库的同时辨识人脸,或在拍摄后立即分析照片,流畅执行人脸侦测,还不影响功耗,系统不卡顿。对此,苹果的方案是最大限度地减少使用记忆体和 GPU,即透过分析计算图来配置神经网路的中间层:将多个图层代号到同一缓冲区,既可以减少记忆体使用,又不会影响效能或规格碎片,且可在 CPU 或 GPU 使用。苹果电脑视觉的框架的侦测器执行 5 个网路,共用相同的权重和参数,但其汇入、汇出和中间层具有不同形状。为了进一步减少使用空间,不妨在 5 个网路组成的联合图上执行基于活性的记忆体最佳化演算法。此外,多个网路重複使用相同的权重和参数缓冲区,也可减少记忆体需求。利用网路的完全卷积性,将所有影像都动态调整到汇入影像的解析度,也能大大减少总作业数量。由于作业拓朴架构并没有因分配其余部分的重构和高效能而改变,所以动态整形不会引入与规格有关的性能开销。为了确保深层神经网路在背景执行时的 UI 回应性和流畅性,苹果为网路每层分割 GPU 工作项,直到每个单独时间少于 1 毫秒。所有这些策略综合起来,确保用户可享受本地、低延迟、隐私保护的深度学习演算法,而不会意识到手机每秒执行数百万浮点的神经网路。延伸阅读:iPhone X 到底怎幺辨识人脸?用夜视镜来看看吧苹果分享 Face ID 白皮书,详解 Face ID 的先进技术iPhone X 最热话题,「刷脸时代」解惑六问iPhone X 的 Face ID 脸部辨识技术解析:从感光元件到 3D 立体影像感测原理详解苹果 Face ID,将让深度镜头成主流

上一篇: 下一篇:
菲律宾申博太阳城_三牛娱乐代理注册|生活信息便民|人气最旺的门户网|网站地图 申博官网备用网址_宝马国际线上 申博官网备用网址_澳门网投代理