为什么手机能认出戴口罩的你?
2020-11-16 19:57

为什么手机能认出戴口罩的你?

本文来自微信公众号:爱范儿(ID:fanr),作者:换新言,题图来自:视觉中国


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


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



为了优化人脸解锁的体验,今年早些时候国外创业者 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 的上千条指令。


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


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 技术发展地更为成熟,“智能”手机是时候改名为“智慧”手机了。


本文来自微信公众号:爱范儿(ID:fanr),作者:换新言

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定