人脸识别的过去和未来
2019-05-20王利彬
□文/王利彬
智能缘起
人工智能(AI)并不是新事物,从1956年达特茅斯会议第一次提出人工智能的概念。已超过60年。简单回顾人工智能的发展史,可大致划分为三个阶段,第一个阶段起止时间为1956-1980年,是AI基础探索期,主要研究成果集中在学院领域,出现感知机、机器学习等各种初级模型,但人工智能解决的实际问题有限,第一次热潮归于沉寂;1980-2010年为第二阶段,模拟人类大脑的神经网络理论取得突破,但准确度提升缓慢,计算资源消耗非常高,人工智能再次停滞不前;2010年之后进入第三阶段,深度学习理论异军突起,Google、Facebook、微软等AI领先企业先后开源自己的深度学习算法模型。以英伟达为代表的智能芯片厂商,采用多核技术突破芯片的计算瓶颈,计算性能的升级迭代速度超越摩尔定律。作为一个标志性事件,2016年AlphaGo战胜了世界围棋冠军李世石。围棋是棋类游戏“皇冠上的明珠”,原本是专业小圈子的赛事,因为人工智能参赛,大比分战胜人类得到广泛报道,一夜之间人工智能家喻户晓。
人工智能的美好前景刺激风险投资大量涌入,迎来了人工智能的创业高潮,人工智能尤其是图像识别技术发展迅速。这一时期,国内诞生视觉智能方面的“四小龙”,作为图像处理的核心技术,视频监控领域的领军企业海康、大华、宇视无一例外把人工智能把作为重点发展方向,不愿意放弃任何一个风口的BAT也重兵投入,国内企业在KITTI、MOT、FRVT、LFW、MegaFace各项国际人工智能赛事中频繁打破世界纪录。
技术发展的背后,是人工智能在公共安全、交通治理、商业消费、园区管理领域的实践落地,典型的应用包括人脸识别、车辆和车牌识别、人体识别、异常行为识别、异常物体识别。其中有些技术比如车牌识别,早已应用广泛,但深度学习仍然带来了显著的准确率提升。而人脸识别一直是一个难题,深度学习把识别率提升到人眼的水平,在近几年得到的关注度最高。人脸识别在刷脸考勤、刷脸支付、刷脸安检、刷脸登记等领域开始应用,迎来了人工智能的“刷脸时代”。
基础为先
那么图像智能分析的本质是什么呢?通俗来讲,可以认为智能分析的过程就是把视频、图片这类非结构化信息通过深度学习等算法转换为结构化信息。非结构化信息虽然含有有价值的信息,但价值密度非常低,占用的存储空间也非常大,无法进行批量数据的搜索和比对,长期存储的成本非常高,就像尚未提炼过的金矿石。而转换为结构化信息之后,金矿石就变成了金子,信息高度浓缩,可以进行数据之间精确的1:1、1:N、N:N比对。
拿支付宝的人脸支付举例。在实现人脸支付之前,用户需要进行人脸注册,注册的过程就是把用户的人脸图片通过人工智能算法转换成结构化信息。全国有7亿人在使用支付宝,假设每个用户都进行人脸注册,这样就形成有7亿条人脸信息与账号信息关联的数据库。在一个人进行消费人脸支付时,支付宝会再次对人脸进行抓拍并通过人工智能识别生成一条新的结构化信息,把这条新的结构化信息与后台数据库中的人脸结构化信息进行逐个比较,当与人脸库中的某条信息吻合时,就可以获得对应的账号信息完成支付。为了解决有些情况下,不同个体高度相似的问题,在注册和支付时,一般会进行多个角度的比较。另外为了防止拿着照片或者视频作弊,一般还要进行活体识别,这也是为什么支付宝有时候会要求我们眨眨眼睛、扭扭头的原因。
算法、算力、数据(样本)是人工智能的三要素,如上所述的视觉智能“四小龙”和安防企业主要优势在在算法领域,目前已取得长足的发展,在标准环境下人工智能的识别能力甚至超过了人眼。算力方面,国内外虽然也有众多的互联网巨头和创业企业参与其中,但英伟达在数据中心芯片方面、海思在前端芯片方面分别有绝对的领先优势,其他企业都属于新进入者,竞争远不像算法那样激烈。那么相较于算法的迭代速度,算力的提升就显得比较缓慢。拿安防行业举例,一台200万像素的摄像机已经非常便宜,但如果同时要叠加人脸、车辆、行为分析功能,则智能芯片的成本可能已经超过了摄像机本身,如果考虑算法的开发成本,则端到端的建设成本每路超过万元。这极大限制了人工智能的在安防领域的普及。
人工智能面临的另外一个困难就是样本数据。样本数据对算法的作用就像儿童学习知识,在没有充分的学习和训练之前,虽然人脑有很大的潜能,但是无法发挥作用,连一些简单的数学题也不会做。人工智能超过人类的地方在于学习的速度非常迅速,只要样本数据足够多,短时间就可以掌握人类一生都无法企及的知识。而不如和类的地方在于,当前的人工智能还是分门别类,人工智能系统只能做相对单一的事情,视觉智能模型只能做图像识别,声音智能模型只能进行声音的识别,虽然也有迁移学习等理论存在,但本质上还是限于特定领域。训练的过程和人类接受教育的过程一样,主要以监督学习为主,需要人工介入进行各种标定,完全独立自主的自学习还做不到。按照安防行业人脸标定的经验,一个熟练的标定工程师每天人脸样本标定量(用于识别的样本)大概在40张人脸图片,这就意味着AI企业在训练过程中需要投入大量的成本。目前互联网龙头、四小龙在金融等领域,安防龙头在视频监控领域都已有多年的数据积累。
近两年,样本数据训练也涌现出一些新的解决方法。一种方法可称之为人工智能开发平台,做法是把训练中心搭建在公网上,让合作伙伴和终端用户介入到样本训练之中。这种方法的问题是模型训练需要较大的训练量,客户很难有机制保障持续的投入。另外,数据的训练标注也需要专业指导,用户的标注质量得不到保证。那么,训练出来的模型并不如厂商直接提供的好多少。另一种方法是让模型自己具备一定的自学习能力,并不显性的要求用户进行模型训练,而是在使用过程中增加一些确认环节,通过用户确认结果的好坏巧妙的实现自动标注。这种方法的问题在于模型完全离线,处在客户的环境,只对特定的用户本身有价值,而无法提升厂商的原始算法。用户环境下的算法模型和厂商环境的模型各自独立提升,逐步成为两个不同的分支。当用户希望使用厂商的新模型时,客户的模型会被覆盖,前期的训练努力很可能就付之东流。可以预见,算法的进入门槛已经显著提升,在人工智能没有新的颠覆性技术出现之前,很难有新企业进入。
实战为本
算力和样本数据是目前人工智能的最大束缚,如何在有限的资源下做最有用的事情,是当前人工智能进一步普及的关键。一个现实的途径就是像盖楼一样,使用工程化的思维对场景进行分类,形成一套相对标准的方法。宇视在实践探索中,归纳了一套工程方法中,并与中科院自动化所联合进行了优化,公开发布以供业界参考和完善。在宇视的AI工程化顶层设计模型中,把人工智能应用的整个链条分成三类能力,分别是基础技术能力、产品架构能力、实战业务保障能力。
上面所说的AI三要素划分为基础技术能力。为什么要引入其他两个能力呢? AI算力的成本是人工智能普及的一个约束,如果能把算力在整个系统中进行合理分解,在算力不增加的情况提高识别的摄像机总数量,就实质性的降低了成本。一种常用的手段是把识别目标的检测和抓拍分布到监控终端(摄像机)上去。检测和抓图对监控终端的算力占用有限,通常使用监控终端现有算力即可。智能芯片对视频和图片的处理能力比例至少在1:3甚至更多,也就是说,相同的智能分析设备,通过把检测和抓图前置,就可以把智能分析的路数提升3倍!等于每路智能分析的实施成本降低到之前的约1/3。
在很多客户场景中,天然有层次化的组织架构,比如说公共安全领域的一个地市,有地市公安局、区县公安分局、基层派出所三个层次,如果把地市公安局的数据中心定义为中心计算-云,把区县公安的数据中心定义为边缘计算-边,把派出所的摄像机或者NVR定义为前端计算-端,那么可以进一步把算力在云边端分解,降低人工智能的部署成本、传输成本和存储成本。
云计算是目前安防领域的一个热点,但云计算的核心是规模效应,在建设量未达到一定规模的情况下引入云计算应用成本反而更高。因此在上面所讲的云边端三个层次中,中心计算达到一定规模时宜采用云计算,而边缘计算、端计算显然不适合采用云计算。特别是在进行智能分析系统建设的时候初期建设量比较小,使用效果显著用户才会进行批量建设,而且也是逐步扩容进行,而不是一次到位。所以在安防行业应用中AI系统应该具备轻量化起步的特点。这时候就有必要采用具备管理、智能分析、存储的超融合一体化设备。同时这种一体化设备应支持高扩展性和高性能的能力,以便支持后期智能分析业务的快速扩容。
解决算力有效利用的另外一种方法是支持智能计算资源的弹性调用,也就是说算法不能计算资源绑定,而是允许不同的算法在芯片级自由切换调度,从而实现计算资源的最优利用。比如说在白天场景,人流密度大,计算资源集中在人脸识别高级别应用中。晚上人流密度下降后,空闲出的计算资源可以用来对白天的录像进行结构化分析。通过采用分布式计算框架,实现芯片间、板卡间、设备间的故障切换,保证智能业务的连续性。AI产生的结构化数据相比原始视频和图片有更高的价值,有必要进行长时间的存储。因此在备份和归档方面可以采用备份到磁带库或者公有云等低成本但高可靠的存储介质中。
实战业务保障能力是把人工智能系统用好的关键。实战能力中的三个要素分别是科学布点、实战业务、组织保障。首先说一下科学布点。无论是人类还是人工智能,准确识别物体都有一定的限制条件,对于AI系统尤其明显。我们人类的眼睛是3亿像素,而现在普遍采用的摄像机大多是200万像素,800万像素的摄像机占比非常少。那么要识别的物体超过一定距离后,有效像素就会非常少,无法进行有意义的识别。拿人脸为例,主流的算法普遍要求64*64个像素,同时对左右和上下倾斜的角度也有一定要求。因此,相比只用来查看图像的监控摄像机,要进行AI识别的摄像机在场景中的安装角度和高度有更严格的要求。
上面提到,人工智能的实施成本相比普通监控要高不少,因此不可能每个摄像机都进行智能识别,这也要求在城市、园区、建筑中的摄像机布局要有一个科学选点的步骤,否则就可能造成算力的无谓浪费。比如在公共安全领域,要及时发现逃犯并完成抓捕,部署思路就应从实现人员的轨迹追踪和方便抓捕着手,采取关城门和织网格的部署方法,人脸抓拍相机主要选取火车站、汽车站安检口、地铁口等城市出入口和封闭空间。
在安防建设中采用AI技术的目的是实现实战的效率提升,因此在解决了基础技术能力和架构能力之后,实战能力是接下来的重点。用户直接使用的客户端是实战的第一入口,需要贴合用户的实际需求,在最小切换界面、最少点击鼠标的前提下,实现一个业务流程的闭环。智能分析产生的人脸、人体、车辆等结构化数据只是所有业务数据的一部分,将身份信息、房屋信息、地图信息、事件信息、物联网信息组合使用,对多维数据采用清洗去重、聚合分类、关系碰撞、跨镜追踪等数据处理和数据智能技术,方能达到更有效的实战效果。
另外,人工智能技术的应用也对用户的组织能力带来挑战。人工智能的核心目标是预防和预警,而传统安防手段更适合事后追查,这势必要求一线使用人员、管理人员改变被动响应的习惯,采用激励、考核、制度等方式保障人工智能系统高效发挥作用。
面向未来
当前,人工智能面临的最大挑战是多厂商系统的兼容。特别是在数据中心,往往可能采用了多厂商、多样化的智能分析系统,系统产生的结构化数据——特别是用来做比对的长特征值,往往无法进行互相比对。因此,在智能系统的建设中,要考虑采用多算法服务框架。多算法服务框架至少要具备两个特点:1)统一:资源统一分配、算法统一管理、任务统一调度、数据统一检索;2)开放:兼容异构硬件包括嵌入式、一体机、服务器;兼容异构软件包括智能系统、智能软件、智能算法包、算法插件等形态;兼容主流厂商GPU包括Intel、Nvidia、HiSilicon等;提供开放的接口。
人工智能的应用逐渐从服务于公共安全、智能交通等领域向服务于企业和民生发展。有专家断言,人工智能不再是人工智能厂商自身竞争力的体现,而且逐步成为政府机关、高校、商业连锁、金融、能源、制造等各行各业竞争力和效率提升的关键技术,甚至是企业未来生存的必备技能。40年前,布鲁克斯在《人月神话》中探索了大量软件开发实践中的工程管理和复杂性,当时虽然诞生了Unix这样的超级成功的操作系统,但作者认为我们仍然没有找到保证大型软件开发成功的“银弹”。那么,人工智能会是解决工业文明时代一切问题的银弹吗?人工智能现在仅仅能告诉我们身在何地。或许有一天人工智能会超越人类,告诉我们去往何处,那时候,我们才能说真正进入了人工智能时代。