文/姚寒星 北京亮亮视野科技有限公司
一、端AI芯片发展概况
当前主流的AI技术是Hiton、Lecun、Bengio等学者带来的深度学习,深度学习自诞生以来正在改变着很多行业,如安防、金融和物联网等。深度学习的兴起有海量数据和大算力两个支撑点。早期算力支撑主要由GPU提供,GPU具有支持高并行计算、访存速度快和浮点运算能力强等优点,比较符合深度学习的计算要求。但GPU设计的初衷是加速3D图形处理的通用芯片,并不是针对深度学习设计的,其计算功耗比(每瓦功耗的算力)这一指标并不突出。
如果把目光聚焦到端AI,GPU计算功耗比低的弱点就更明显了。端AI应用的特点就是只做神经网络前向计算,不做反向传播,对运行时存储的要求不高,GPU显存大的优势体现不出来。穿戴式设备因为体积小等原因,对功耗非常敏感,同时由于要与人互动,穿戴式设备一般要求能实时运行神经网络模型。尽管网络模型可以裁剪,但为了保证模型的性能下降在可接受的范围,裁剪后的模型计算量仍然会比较大,这就要求端AI芯片有较强的算力。为了提高运行神经网络模型的计算功耗比,专用的端AI芯片就应运而生了。由于专用的AI芯片在一开始设计时就针对神经网络计算加速做优化,其性能提升往往能够突破摩尔定律,每隔18~24个月性能可提升5倍甚至更多。
当前主流端AI芯片有DSP形态和NPU形态两种。Intel movidius myraid2、高通Hexagon DSP都属于DSP形态的AI芯片。DSP的优势是工艺成熟,成本较低,每瓦功耗的算力可达100Gflops。华为麒麟970/980芯片、苹果A12芯片等则集成了NPU支持端AI计算,每瓦功耗算力可达500G-1T flops。NPU的计算功耗比相对DSP有较大的优势,是端AI芯片发展的趋势。Intel Movidius myraidX已经集成了NPU,相比myraid2每瓦功耗的算力提升了5倍以上。高通预计也将在2019年推出集成NPU的AI芯片。
当前,AI芯片算力提升的一个瓶颈是存储墙问题。在传统的冯诺伊曼架构下,计算单元和存储单元是分离的,深度学习模型运行时需要把数据从DDR内存搬移到计算单元内部存储里。数据搬移需要的功耗在整个计算中占非常大的比重,而且数据搬移的效率不会因为摩尔定律的发展而提高,这被称之为"存储墙"。当前解决"存储墙"问题的一个主要方案是3D堆叠技术,即在处理器周围堆叠更多的存储器件。
对用户来说,拥有一款端AI芯片还只是第一步,怎样在AI芯片上做应用开发才是关键。AI芯片公司通过提供专门的工具使得芯片对端AI应用开发透明。Intel提供OpenVINO工具包,高通提供NPE引擎,华为提供HiAI移动计算平台,都是为了支持用户无感地部署、运行神经网络模型,将AI芯片算力转化为生产力。业界领先的AR眼镜公司亮亮视野也推出了自己的Laffe框架,帮助用户用Movidius VPU的AI算力实现自己的价值。
二、穿戴式安防产品形态及应用场景
当前穿戴式安防产品主要有AR眼镜、执法记录仪等。执法记录仪可对执法过程进行动态或静态的数字化记录,同时维护执法人员和执法对象合法权益,目前已经比较成熟,形成了GA/T947-2015单警执法视音频记录仪行业标准。AR眼镜是近年出现的新型穿戴式安防产品,与普通的执法记录仪不同,AR眼镜带有端AI芯片和显示设备,可依托AI与执法者进行交互。
除了执法记录,穿戴式安防产品的应用场景主要是人脸抓拍,在这方面AR眼镜具备独特优势。执法记录仪配备端AI芯片后也具有人脸抓拍能力,但执法记录仪难以支持人机交互,对抓拍效果执法人员几乎无法干涉,抓拍效果较差。AR眼镜抓拍人脸时天然处于第一视角,符合人的使用习惯,抓拍人脸效果最佳。虽然固定摄像头抓拍人脸技术比较成熟,但显然不具备AR眼镜的移动性优势。
AR眼镜在安防方面的应用场景还有人脸识别、车牌识别等。执法人员佩戴AR眼镜进行人脸识别一个优势是可以要求执法对象配合,这点固定摄像头无法做到。人脸识别算法经过数十年的演化已经取得超越人类识别能力的成果,但非配合式人脸识别仍是有待解决的难题。AR眼镜人脸识别主要对接公安常口库和在逃库,在治安卡口、巡街、大型活动安保方面应用前景广泛。AR眼镜识别车牌具有灵活性,执法人员随时可以检查车牌所属车辆状况,反馈信息显示在屏幕上,这也是不具备交互能力的固定摄像头和执法记录仪难以企及的。
2018年春运期间,郑州铁路警方在全国铁路率先使用人像比对警务眼镜,通过人像识别,高效地筛查出旅客中的网上在逃和冒用他人身份证件的违法行为人。
图1 亮亮视野推出的AR眼镜 三、人脸抓拍、人脸识别技术在端AI芯片上的应用
人脸抓拍涉及的是人脸检测、人脸选优技术。在深度学习流行之前,人脸检测的巅峰是Viola-Jones算法,实时性非常好,准确性尚可,目前已经被收录到OpenCV。这一算法的三要素是:Haar-like特征、Adaboost分类器和Cascade级联分类器。深度学习时代人脸检测算法层出不穷,代表性的有MTCNN、SSH、S3FD、PyramidBox和DSFD等。MTCNN将人脸检测任务和人脸关键点检测任务联合,具有速度快、准确性较高的特点,同时附带输出5个人脸关键点,已经是端AI芯片上人脸检测算法的标配。除了MTCNN,主流的人脸检测算法都是从目标检测算法演化过来的,其中基于SSD(Single Shot Multibox Detector)的最多。尽管SSD在计算量和性能之间trade-off做得不错,直接在端AI芯片上应用基于SSD的人脸检测算法仍是困难的任务,还要辅以神经网络压缩或者直接使用轻量级骨干网络。知名的轻量级骨干网络有shufflenet、mobilenet等,都是人工设计的。随着AutoML技术的发展,通过自动化的方法设计轻量网络也逐渐走上舞台。神经网络压缩技术主要有剪枝和知识蒸馏。目前的剪枝压缩技术已经可以做到计算量减半准确率不受影响。知识蒸馏是教师网络将部分知识迁移到轻量的学生网络,从而达到压缩神经网络计算量的目的。此外,进行模型权重量化也是将人脸检测算法在端AI芯片上落地应用的捷径,当前端AI芯片一般都支持16-bit、8-bit量化。
人脸选优的目的是选择符合人脸识别要求的人脸图像。当前的人脸识别技术条件下识别侧脸和模糊人脸仍是很困难的,因此要求把侧脸和模糊人脸能够过滤掉。侧脸过滤有两种策略,一种是训练人脸检测模型时将侧脸作为副样本,另一种是估计人脸的姿态。为了在端AI芯片上落地,估计人脸的姿态的算法模型计算量也不能太大。穿戴式设备产生的模糊一般有两种:对焦模糊和运动模糊。在端AI芯片上判断人脸图像是否模糊是一个挑战,从实时性上考虑可以采用传统的非深度学习算法。
人脸识别算法一般运行在云端,但随着端AI芯片算力的提升以及1:10万级以下的人脸识别场景的挖掘,人脸算法开始下移到AI芯片。这种方案的好处有以下两点:
1.人脸识别的速度大幅提升。云端进行人脸识别的方案一般要耗时1-2秒,但在终端进行人脸识别只需几百毫秒。
2.人脸识别的方案成本降低。云端进行人脸识别需要配置较高的服务器,占用更大的网络带宽,成本较高,而在终端进行人脸识别效率高。
适合人脸安防应用的独立AI芯片主要有以下几种:
1.Intel movidius myraid系列芯片,在算力和功耗之间平衡得最好,最新的MyraidX芯片算力已达1Tflops。老款Myraid2芯片采用VPU进行加速,最新的MyraidX芯片则同时集成了VPU和NPU,其中NPU支持通过专门的硬件单元对卷积、pooling等算子进行加速。借助OpenVINO的支持,movidius芯片可敏捷地部署caffe、tensorflow、pytorch等主流深度学习框架训,支持SSD、YOLO等目标检测算法。亮亮视野AR眼镜采用movidius芯片提供AI算力。
2.华为海思Hi3559A,支持caffe模型部署运行。借助海思在安防行业的沉淀,Hi3559A芯片在视频编码方面极具竞争力,支持int8量化,算力高达0.6Tflops,在功耗方面与movidius芯片相当。
3.Inuitive NU4000,功耗较低,SLAM支持得较好,支持独特的12-bit量化,在深度学习方面能力也与movidius相近,支持SSD、YOLO等检测算法。
4.深鉴科技AI芯片,特色是自主研发的深度压缩技术与深度学习处理器DPU(Deep Learning Processing Unit),拥有从算法到软硬件的完整解决方案,但功耗较高。
四、端AI在穿戴式安防产品中应用展望
未来随着端AI芯片和安防相关算法的不断进步,会有更多的安防场景用到端AI芯片。随着技术发展,在端AI芯片方面,打破存储墙方向可能会有大的进展,一个候选的技术方案是存算一体化,即通过相变、阻变等新型存储器件的模拟计算功能来实现神经网络的计算,整个计算过程都是在存储里面实现,比起现在的冯诺伊曼架构功耗更低、算力更强。存算一体化是受人脑工作方式启发的,人脑的计算和存储是不分的,不需要数据搬移。此外,用光学辅助做卷积计算也是提升端AI芯片计算功耗比的候选技术方案。
穿戴式安防产品会有更多的安防应用场景落地:
1.人脸识别技术不断提升,非配合式、无感的人脸识别日益成熟,依托端AI芯片的算力,最终穿戴式安防产品可以像科幻电影里描述的一样实时、不受限地识别人。
2.穿戴式安防产品的移动摄像头与固定的监控摄像头联动,结合城市安防大数据,更精细地规划出城市中人出现的轨迹。
3.依靠端AI的算力,穿戴式安防产品可根据所感知到的对象自动切换到不同的安防应用场景,如身份证、驾驶证、人脸、车辆信息、步态识别等,成为移动安防的入口。