为什么手机能认出戴口罩的你?主要是它的功劳

产品

11-16 18:13

疫情的到来,让人脸解锁功能低下了高贵的头颅。

当口罩成为我们出街必备的单品,在解锁手机时,我们总要经历「人脸识别失败」—「输入密码」的繁琐过程。这不由得让人怀念起指纹识别的好。

为了优化人脸解锁的体验,今年早些时候国外创业者 Danielle Baskin 推出了一款带有面部信息的口罩。该产品通过提取用户的面部信息,然后印在口罩外侧,用户戴上口罩后就可以拼凑成完整的脸部。

▲ 实际上有点惊悚. 图片来自:djbaskin

不过这个产品的解锁成功率尚不明确,并且没有大量的样本验证。那么如何让人脸识别系统,不再被口罩困扰呢?

一些网友渐渐发现,随着戴口罩的时间越来越久,手机似乎在一次次人脸解锁失败中找到了「经验」,逐渐能够识别成功戴着口罩的自己。

靠着这个思路,一些科技博主也分享了更高效的教程,比如戴着口罩反复解锁,人脸识别不成功就立即输入密码,循环这个动作 30 分钟左右,手机便能识别出戴着口罩的自己了。

▲ 戴口罩成功人脸解锁. 图片来自:Farhad Usmanoff

不过在实践的过程中,网友们表示不同机型的「学习」速度不一。有人将上述动作重复了 20 分钟便已成功,但有的人重复了上千次,手机仍然无法识别戴着口罩的自己。

为什么会出现这种情况呢?其实答案关乎手机的 AI 学习能力。

▲  图片来自:thenextweb

深度学习利器——NPU

如果你有关注近两年的手机发布会,你一定发现了手机厂商们在介绍 SoC 芯片时,都会重点提到 NPU 的升级

所谓 NPU,就是指神经网络处理器。在一个手机芯片中,一般会分为几个功能区,发布会常提的有三个:一是擅长处理繁复任务和发号指令的 CPU,二是擅长图形处理的 GPU,再者就是擅长处理人工智能任务的 NPU。

虽然 NPU「占地」没有 CPU 和 GPU 大,但其能力却不容忽视,一台手机的智慧程度,主要依赖它。

▲ 拥有 NPU 的芯片往往被称作「AI 芯片」、「仿生芯片」图片来自:泪雪网

上文提到的训练手机识别戴口罩的自己,便主要归功于 NPU 的能力。摄像头捕捉到人脸画面后,CPU 和 GPU 会在极短的时间内对图片进行预处理,然后 NPU、GPU 来检测、提取特征,最后 CPU、GPU 和 NPU 共同完成人脸的识别和分类。

得益于日益强大的算力,整个过程已经能够做到「无感」的程度。在我们拿起手机的一瞬间,上述流程便已处理完毕。

而 NPU 的加入,让手机可以认识不同状态的你。早上刚醒时,即便面部浮肿,手机也知道这就是你。甚至被马蜂蛰了,嘴巴肿成「香肠」,手机依然能够识别出来。

▲ 图片来自:韩船长漂流记

所以经过一定量的训练后,手机便可以「无惧口罩」并认出你了。

实际上,如果只依靠算法,CPU 和 GPU 也可以配合完成学习。但缺点是效率低,且功耗大。据《汽车电子与软件》介绍,CPU 和 GPU 需要用到数千条指令完成的神经元处理,NPU 只需要一条或几条就能完成。

▲ NPU 的学习效率颇高. 图片来自:androidauthority

另外在同等功耗下,NPU 的性能是 GPU 的 18 倍。可以看出 NPU 在深度学习的处理效率方面优势明显。

说到这不得不提一下 NPU 的工作原理。之所以 NPU 的学习效率高,不是因为它喝了「六个核桃」,而是它在电路层模拟人类神经元和突触。并且用深度学习指令集,直接处理大规模的神经元和突触。通过突出权重实现储存和计算一体化,NPU 的一条指令,便能胜任以往 CPU 和 GPU 的上千条指令。

▲  图片来自:forbes

打个不那么恰当的比喻,这就像京东物流实现的仓储、物流一体化一样,极大地提高了送货效率,当天买甚至当天就能送到。

NPU 并不鸡肋

国内最早研究 NPU 的企业当属寒武纪。2017 年发布的麒麟 970 芯片,就曾采用寒武纪的 NPU 架构。麒麟 970 也成为世界首款移动端 AI 芯片。

据华为介绍,集成 NPU 单元的麒麟 970,相较于四个 Cortex-A73 核心,在处理同样的 AI 应用任务时,拥有大约 50 倍能效和 25 倍性能优势。例如在图像识别速度上,可达到约 2000 张/分钟,远高于业界同期水平。

▲麒麟 970. 图片来自:电子工程专辑

11 天后,iPhone 8/8 Plus、iPhone X 携带着 A11 仿生芯片面世,苹果在发布会上表示这是其有史以来最强大、最智能的芯片。

A11 Bionic 是苹果首款以「仿生」命名的处理器,也是苹果第一款支持 AI 加速的处理器。比如在人脸识别的功能上,其神经网络引擎,让 A11 支持速度高达每秒 6000 亿次运算识别。

▲ 图片来自:stealthsettings

也是从这一年开始,越来越多的厂商开始重视手机 AI 能力的宣传。比如华为主打的 AI 摄影、超级夜景、隔空手势等功能;iPhone 引以为傲的 Face ID、人像虚化、Deep Fusion(深度融合)等功能,都紧紧依赖着 NPU 的能力。

▲ 华为 AI 手势操控

自 2019 年 6 月开始,随着麒麟 810 的发布,华为开始使用自研达芬奇架构的手机 AI 芯片。达芬奇架构的巧妙之处在于各单元分工清晰,可以实现更高效的 AI 计算。

据《电子产品世界》介绍,达芬奇架构核心的 3D Cube、Vector 向量计算单元、Scalar 标量计算单元等,都各自负责不同的运算任务实现并行化计算模型,共同保障 AI 计算的高效处理。实现高算力、高能效、灵活可裁剪的特性。

在刚结束不久的 Mate 40 系列发布会上,华为强调麒麟 9000 芯片的 NPU 升级到达芬奇架构 2.0 版本,算力翻番。AI 计算能力更强的同时,能效提升了 15%,网络运行性能也提升了 20%。

苏黎世联邦理工学院推出的 AI Benchmark 榜单中,麒麟 9000 摘得安卓阵营的桂冠,分数是高通骁龙 865+的两倍多。

▲AI Benchmark 榜单

还记得上文提到的麒麟 970 每分钟可识别 2000 张图像的能力吗?麒麟 9000 已经进化到 2000 张/秒的速度。另外,发布会重点展示的 AI 隔空手势、AI 灵动熄屏、AI 字幕等,也都是其 NPU 能力的显现。

让我印象尤为深刻的是「智感支付」功能,当手机感知到靠近扫码盒时,便会自动弹出付款码页面,一气呵成完成支付。这代表着理想的智能终端的方向:向「知你」、「懂你」、「帮你」的方向迈进。

▲华为智感支付. 图片来自:VDGER

而第四代 iPad Air 在发布之时,苹果也着重强调了其 NPU 能力的精进。相比 A12 仿生处理器,A14 仿生新一代神经网络引擎让机器学习性能快达两倍。

超高的机器学习速度,让 A14 仿生芯片可以实现超级像素功能,搭配 pixelmator 使用,放大裁切后的照片,像素会自动增补,让照片更清晰。

反映到 iPhone 12 系列上,计算摄影能力也得到了空前改进。举个小例子,在延时摄影时,手机会自动计算被摄物体,如果是在拍车流,那么手机便会自动降低快门速度,让车灯呈现拖影的感觉,画面流动感更强。

新一代的 iPhone 在 Deep Fusion、HDR 视频等方面,与 iPhone 11 相比都有着肉眼可见的变化。这都得益于 A14 强大的 AI 计算能力。

我们可以对 NPU 期待什么?

虽然移动端 NPU 在近两、三年才开始被厂商宣传,实际上和它相关的概念在 2013 年就已出现。

当时,高通希望通过一种模仿人脑的计算结构,缩小普通机器运算与人脑之间的差距,这种通过模拟神经元的运算处理器,被高通称之为「Zeroth」。

▲ 高通对 Zeroth 的介绍

高通的 Zeroth 芯片,运算结构模仿了人类生物神经细胞的运作模式,是从大脑结构层面模仿的。而 NPU 则是在大脑功能层面模仿的,两者的方向并不一致。而高通也一直坚持了自己的方向,没有加入独立 NPU 的大军,而是坚持着人工智能引擎 AI Engine 的方向。

据「芯智讯」报道,在高通骁龙 845 发布之时,一些外界声音批评高通没有顺应 NPU 的趋势,以至于在 AI 能力上落后。而高通高级副总裁兼移动业务总经理 Alex Katouzian 回应称,高通虽然没有独立的神经网络引擎单元,但是采用了更为弹性的机器学习架构(AI Engine),在通用平台内做内核优化,分布在 CPU、GPU、DSP 等每个单元上,从而可以针对不同移动终端提供弹性调用各个处理单元。

你可以这样理解:NPU 的方向是分工明确,每个单元的集约化程度较高;而高通 AI Engine 的方向是「有活大家一起干」。

直到采用第五代多核人工智能引擎 AI Engine 的骁龙 865 系芯片发布时,高通依旧没有踏入 NPU 的道路。

▲ 高通在图片的左下方强调了 AI 能力

不过实际使用中,高通骁龙 865 的学习能力依然值得肯定。比如我在近半个月使用搭载高通骁龙 865+的 vivo X50 Pro+时,每天解锁十次左右,它现在已经能成功识别出戴口罩的我了。

但从数据上看,其 AI 学习能力,已落后麒麟 9000 和 A14 仿生不少。NPU 一次次用数据证明了自己的 AI 实力,高通下一代 AI Engine 能否力挽狂澜,我们还需等待 875 系列芯片的面世才能知道。

人工智能时代,我希望看到的场景是,手机不再是被动响应用户需求的终端,而是能够主动分析、感知用户当下的需求,并可以预先提供相关服务的智慧终端。

▲ Mate40 系列 AI 能力展示

在这方面,各家厂商还都处在起步阶段。比如在应用建议上,目前做的最好的个人认为是小米。通过时间和场景等因素的分析,每次它都能「猜到」我想打开的软件,并智能排序在最显眼的位置。而 Mate40 系列支持的「智感支付」更无疑在 AI 道路上走在了前列,也给了我们更多的想象空间。

值得注意的是,除了手机,NPU 也逐渐应用到平板电脑、笔记本电脑等移动端上。苹果近日发布的 M1 芯片,就拥有 16 核的 NPU,每秒可以执行 11 万亿次运算,将机器学习的速度提升至 11 倍,这是传统 PC 难以企及和比拟的。

而搭载 M1 芯片的 MacBook 系列、Mac mini 将带来哪些使用体验上的变化,相信令人期待。

在当前的软件生态下,移动端 CPU 和 GPU 的提升,对于用户日常使用来说已经感知不强了。比如一台 iPhone XS 和一台 iPhone 12 相比,在应用的流畅性上几近一致。更加影响用户体验的,是机器学习能力的变化。这也是为什么我们要关注 NPU 的发展。

或许再过十年,当 AI 技术发展地更为成熟,「智能」手机是时候改名为「智慧」手机了。

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中