前端人脸识别芯片选型指南

前端人脸识别芯片选型指南
文章图片

来源:内容来自半导体行业观察(ID:icbank)的原创文章 , 作者:BillG , 谢谢 。
之前跟?家交流端侧AI芯?的过去与现状 , 后续想跟各位?伙伴陆续聊?些我所做过的AI应?在芯?选型过程的总结考量 。 当今的AI领域 , 如果说商业变现之最 , 我觉得当之?愧是?脸识别应? 。 从早期基于服务器的公安/?融应? , 到现在随处可?的前端?脸识别摄像头、?禁考勤机、?蛙/蜻蜓的刷脸?付 , 这种从云到端的变化很?程度上归功于前端芯?AI计算能?的?幅提升 , 17年时我们提到AI算?还以”G“为量级 , 今天拥有"TOPS"算?的前端SOC已经??皆是 。 那么对于?脸识别的前端应? , 我们该如何选择合适的芯?开发产品呢?
从“准快稳”到“稳准快”
既然今天讨论的是?脸识别在前端的应? , 那么我们先简要介绍?下?脸识别及应?是什么?我?脸识别的本质是基于?脸信息 , 通过深度学习技术?段 , 对?员身份进??种“鉴权” 。 这种鉴权的结果 , 当我们加上“时间”和“空间”维度的数据标签后 , 就可以让?脸识别形成上层应? 。 ?如当对?脸识别结果增加“时间”标签后 , 这就是访客系统的雏形;当我们增加“时间”+“空间”标签后 , 这就是考勤系统的雏形;当鉴权+时间+空间都满? , 同时增加了?机账户信息后 , 这就是?付系统的雏形 。 ?切的基础来?于适应不同标准的鉴权结果 。
由于?脸识别是典型的技术驱动催?的产品应? , 从15年到17年产品的主要关注点依次还是准确率>速度>系统稳定性 , 在早期最容易证明技术准确性的就是在Imagenet“刷榜” , 我们?乎可以看到今天的独?兽在那个时间段都上过榜 。 到了17年后 , ?家开始推出前端硬件产品 , 开始在速度上?拼 , 这?的原因有? , 第?是学术界精度研究的触顶 , 第?是专?的AI芯?开始普及 。 从18年到?今 , 由于市场开始爆发 , 出现规模效应 , 系统稳定性的价值开始被?家?泛关注 , 所以我们衡量好的?脸识别产品也从“准快稳”到了“稳准快” 。
前端?脸识别产品由推理算法及算法应?、嵌?式(影像系统、连接系统、显示系统等等)、端云结合应?三?核?组件构成 , 当然每个硬件产品都需要具备的PCBA、模具、线缆基础部分也需要具备 。 下?的?章会逐步给?家介绍这三?核?组件以及它们与SOC芯?的关系 。
理解AI计算
?脸识别应?离不开深度学习算法的突破 , 深度学习算法?离不开卷积神经?络的发展 , 我们将?脸识别产品落地的过程 , 其实就是将卷积运算运?在各类前端处理器的过程 。 那么在这个过程中有哪些值得我们注意的地?呢?
【前端人脸识别芯片选型指南】?精度轻量化模型——上?的?章我们讲过 , ?脸识别算法已经度过了通过?型?络提?精度的时代 , 像mobilenet这种轻量化的分类模型 , 已经在精度上达到了VGG-16?平(71%) , 新的v3版本甚?还做到了超越 。 在精度接近的情况 , 这种轻量化模型?疑能速度上占据优势 , 同时这类?精度轻量化模型的发展 , 也??降低了AI处理器的算?准??槛 。
卷积运算硬件化——深度学习算法?络?般有池化、卷积、BN、激活函数、全连接等操作 , 但是其中90%以上的运算都集中在卷积过程 , 卷积操作本质是卷积核矩阵与输?数据矩阵的乘加 。 我们在早期没有专?硬件时 , 使?ARMCPU来完成这种乘加操作 , 接着?尝试了多核DSP , 后来选择了以硬件乘加器MACs组成的CNN加速器 。 ?专?CNN加速器在前端胜利的原因当然是最优卷积运算效率和最优的能效 , 本质上赢在?个“专”字上 。
深度卷积的提出——mobilenet这种轻量化模型的发明 , 本质的创新在于对深度卷积(depthwise)的引? , 深度卷积相?于普通卷积?幅降低了乘加计算量 , 同时也减少了模型的参数量 。 这对于芯?CNN部分影响就?常?了 , 试想当乘加器的运算耗时?幅减少 , CNN部分的计算瓶颈就来到了数据交换速率 , 也就是数据带宽 。 由于这?创新是17年才提出 , 在近两年才被逐步认可其精度的等效性 , ??前?代的CNN加速器芯?也都是这两年的才陆续上市 , 他们的规划时间?多也是在1718年 , 因此如果单就CNN加速器的发展?? , 应该在下?代AI芯?会对深度卷积有较好的?持 。
卷积之外的计算——虽然深度学习算法中90%都是卷积运算 , 但如果我们想对整个算法过程的时间优化 , 就必须关注图像的前处理以及后处理进?关注 , 因为10%短板可能耽误90%的时间 。 现阶段的前端AI芯?普遍都关注的到了图像的前处理 , 基本都有硬件resize模块 , 但是对于后处理还没有过多关注 。 从我们今天说的?脸识别来看 , ?脸算法的核?过程检测、跟踪、特征提取 , 通过CNN加速器我们可以快速完成 , 最耗时的特征提取部分也都能在30ms以内完成 , 当我们30ms提取?个特征时 , CNN部分已经不是整个应?的最耗时部分 , ?在于万?乃?10万?特征?对过程 , 假如?对过程?270ms , 那么整个CNN部分也只是整体的1/10?已 。 其实特征?对过程的计算过程并不复杂 , 只是计算多维向量的距离 , 并且特征向量的数组?多为浮点型 , 相信未来会有芯?提供这类?巧?效的浮点运算单元 , ?于提升卷积之外的算法运算 。
产品是?套完整系统
这?年在?脸识别产品应?中 , ?家开始改?谈“落地”谈“解决?案” , 巨?的变现压?开始逼迫AI公司从技术思维向产品思维转型 , 那么什么样的芯?才是适合做产品的芯?呢?
AI之外的产品需求——前端?脸识别硬件 , 除了所有?都盯着的算法算?之外 , 还有许多容易被忽视的系统需求 。 以具体的?脸识别平板举例 , 算法满?要求时 , 影像系统需要满?摄像头接?(?般为双摄) , 显示系统需要满?单块LCD触摸屏接?(?付平板可能会是双屏) , 连接系统需要满?WIFI/BT和选配4G , 外围的接?预留485/232/继电器IO/USB/以太? , 外设喇叭/读卡器/扫码器也要考虑 。 技术和产品的最?的差别就是产品是?套完整的系统 , 系统的组件也许很? , 但是少?个也都?法做出产品 。 当选择?颗SOC开发?脸识别产品时 , 其系统完整性的价值是不可忽视的 , 例如当我们需要双屏应?时也许?个SOC只有显示接? , 或者需要?转接芯?转接 , ??如我们需要多个USB外设接?时 , 需要使?HUB芯?扩展 , 虽然我们满?了需求 , 但是产品的复杂度也随着提升 。
问题场景是关键——我的上?篇?章有提到 , 其实?前?多数算法?员主要的时间精?并不是的开发算法 , ?是处理?量的问题场景(cornercase) , 这也是从做技术到做产品的?种表现 , 图像识别产品的落地需要?量的问题场景积累 , 这?举两个例?来说明问题场景与SOC关系 。 第?个是?脸识别摄像机的图像效果问题 , 要“识别准”就要“拍的清” , 但是“拍的清”这件事在算法领域?是很模糊的概念(?眼觉得好的HDR效果算法未必认可) , ?前的主要?案是采集问题场景数据对模型进?更新 , 这种?案效率不? , 于是真正的产品公司开始建???的影像团队 , 提升问题场景的图像效果 , 这就需要SOC有出?的ISP性能和好?的ISP调试?具 。 第?个例?是?脸识别?锁的功耗问题 , 就算法可?性来说?脸?锁场景早已满?(库容?算?需求低) , 但是功耗问题?直在寻找突破 , 如何在6~8节电池的供电下让?脸锁?作半年呢?720P级的图像传感器?般功耗在150mw?平 , 再加上红外补光灯 , 功耗?平远远?于指纹 , 于是sensor?商开始推出超低待机功耗的sensor , SOC?商也开始的内置riscv或ARM的MCU , 既然使?功耗不容易解决 , 那么就从解决待机功耗 。 这两个产品例?都是?脸识别产品 , 但他们的核?问题都不是算法 , 当选择对应SOC时 , 如果能有效解决关键问题场景 , 那么我们的产品研发进程将事半功倍 。
尊重行业应用
这两年的AI?业 , 做技术平台的已经逐步聚合 , 做垂直?业解决?案的开始崛起 , ?谈到?业解决?案 , 可以发现?个有趣的现象“只卖AI硬件的基本没赚到钱 , 做细分?业的反?多点开花” , 那么为什么会这样 , 同时这?跟底层芯?有什么关联呢?我们从端云结合产品和快速响应?业需求来谈 。
?脸识别硬件是?个典型的端云结合产品 , 设备端是?个前端应?的载体 , 云端是设备管理/数据互通的载体 , 云+端组合在?起才是能落地到具体?业的产品 。 这也就是为什么“只卖硬件赚不到钱”的原因 , 产品是需要完整性的 , 只提供了?半如何让客户买单呢 。 今天我们选择SOC时?般只看到了某些单芯??案的硬件成本优势 , 却忽略?脸识别硬件的云服务属性 , 各?各业的云服务需要具体对接到前端的AI硬件 , 如果硬件?商来做这件事 , ?量的垂直?业需求会让技术?持?员崩溃 , 于是Android可移植的的价值就被突显了出来 。 ?前市?的AndroidAI芯?价格还?于只?持Linux的芯? , 虽然前端使?Linux降低了硬件成本 , 但是?量的下游客户对Linux没有开发能?(他们更习惯把?家的服务封装成?个APP集成在前端硬件中) , 于是?量的对接?作也到了硬件?商这? , 让硬件?商焦头烂额 。 当?脸识别产品是很具体明确的场景时 , 我们使?有Linux成本最优的AI芯?没有问题 , 当产品需要?量云端对接时 , ?持Android的AI芯?因为其便于?次开发的特性 , 应该被?家重视 。
上?说明了?脸识别产品的云和端对SOC的影响 , 下?就来谈谈具体?业需求对SOC选型的影响 。 在现在追求产品落地的市场环境下 , 快速响应具体?业客户的需求是?个关键 , 选好?颗SOC就快速响应客户需求的基础 。 这?也举两个例?说明 , 第?个?脸识别?告机 , 曾经听到?个做技术的朋友吐槽 , 客户需求希望在?脸平板上播放?段?告 , 幸好他们选择的芯?有视频解码能? , 他花了???做了简易播放器满?了这个需求 , 过了段时间客户?希望播放界?增加?些动画效果 , 因为他们的SOC没有GPU , 做动画渲染让他抓狂 。 第?个例?楼宇?禁机 , 我们知道楼宇?禁机除了通?之外 , 还有?个重要的功能就是楼宇视频对讲 , ?相应楼宇对讲需求的关键就在于SOC要?持硬件视频编码 。 记得?上有个经典的段? , “某安产品经理因程序员不能完成随?机壳颜?变化的?机桌?主题需求??打出?” , 其实技术与产品的界限并?那么明显 , 同样在?脸识别应?中 , 快速响应客户需求是常态 , ?在底层芯?选型时多考虑技术关键点有助于更好地满?客户需求 。
看不到的成本
做任何硬件产品都?法忽视成本问题 , ?脸识别硬件也不例外 , 经过了不计成本的技术驱动时期 , ?家已经对?脸识别硬件成本有了很深的认识 。 原先技术在过渡时期 , 芯??商推出的协处理器+主控?案已经基本被淘汰 , ?近两年推出最多的就是集成NPU的SOC芯? , ?持Linux系统 , 单芯?具备编码显示等功能模块 。 对于成熟的硬件产品公司 , ?款硬件产品的“显性”成本是很好计算的 , 各类电?器件BOM、PCB洗板费?、PCBA贴?费?、模具ID设计/开模费?、?产组装费? , 基本在我们选择?款芯?后 , 知道了主芯?价格 , 就可以?致估算单个硬件的成本 。 那么我们就跳开这些“显性”成本 , 单独看看选择?款芯??案后“看不到的成本” 。
少就是多——记得刚接触AI这个?业时 , 算法公司开始??研发硬件产品 , 当时的很多公司还是“年少轻狂” , 2年时间换了3~4个芯?平台 , 有的还并?进? , 结果2年过后产品没卖出多少 , 研发?员倒是换了?波 , 甚?第?款芯?的代码可能早已?法维护了 。 芯?本身是?个?命周期较?的产品 , 近两年新?公司?在AI芯??业持续发? , 让?众硬件?商都挑花了眼 , 有更好的就跟进?个 。 我们从开始的需求分析讲过 , ?脸识别硬件是有其复杂度的 , 算法/嵌?式/云服务紧密结合 , ?嵌?式部分?是??时间积累性技术的 , 会与芯?本身强绑定 , 好?盖楼地基打好如果再换就要拆掉重建 。 因此某些芯?的局部优势并不适合频繁更换平台 , 相反随着时间的积累 , 既有平台的局部劣势会进步 , 记得曾经在芯?公司时遇到过?个印象深刻的客户 , 他们公司?数不少但是5年只??颗芯?做产品 , 对这颗芯?的技术专业度甚?超过了我们的FAE 。 最核?的所有的产品型号从?个平台发展?来 , 研发?员效率?幅提? , 这就是典型的“看不到的成本” 。
?当户对——在AI芯?市场早期 , 我们经历过?段“外来的和尚好念经”的时代 , ?较典型的Movidius这类芯? , 不可否认这类芯?在前期教育市场的价值 , 但是今时今?还有不少算法公司芯?选型只盯着xilinx、TI、安霸、?通、NXP这类芯?公司 , 开发的应?也只是?脸识别 , 选择这类芯?的“利”在于这类芯?品牌影响?和芯??平都经过了市场的认可 , 属于典型的“?户?家” 。 这时就需要反观??的市场位置 , 如果能够获得这些公司较好的技术?持 , 产品定位?能消化对应的芯?成本 , 那么没有问题 , 反之可以多看看国内芯?(这两年中国产前端AI芯?规格上正在超过国外) 。 我们在开发?款的芯?时 , 最容易忽视的成本就是原?技术?持情况 , ?如?个芯?问题是今天解还是明天解 , 是能解决还是没?处理 , 这都直接关乎项?的成败 , ??旦技术?持不? , 造成的机会成本损失是巨?的 。
选合作伙伴而非某个芯片
从芯?选型?度聊完了?脸识别应?技术和产品??的信息 , 最后想从商业?度的聊聊芯??商和产品公司的关系 。 我想先从?个?故事说起:
“记得当时我们推出?款很有竞争?的芯? , ?竞争对?A这?年都没有新产品上市 , 于是我们就想突破竞争对?A的?客户 , 刚好也顺利?到了?客户的?板B , 当时聊的很开心 , 对方也承认了我们的产品优势 , 会议结束B私下跟我说 , 你们的这颗芯片很好 , 但是我们可能还?不了 , 因为你们已经有了??的?客户 , ?且A公司我了解 , ?个公司总会有?潮和低估 , 他们这?代不? , 但下?代?定会赶上 。 ”
?段话说明了?个道理:从?脸识别这个产品类?来看 , 也许很多公司的芯?都会满? , 并且能够最终做出产品 , 不过就公司?度来讲 , 谁?能说在漫?的经营周期中?脸识别就是最后?个产品呢?当我们经过深思熟虑选择?个芯?时 , 其实也是选择了?个合作伙伴 , 从产品?标的实现讲 , 我们需要?款满?需求的芯? , 从公司的经营?度来讲 , 我们需要?个能够持续输出有竞争?芯?的伙伴 。


    推荐阅读