AI 技术的成熟,使得由人工智能来自动消化海量监控视频数据成为可能。目前,人工智能已经逐步渗透到安防行业,最终将会把以视频网络为核心的安防产业,重塑为以结构化数据为核心,以精确情报生产为目标的智慧物联网产业。
作为智能安防的先行者,格灵深瞳在近 4 年间推出多款应用于安防的 AI 产品,包括基于三维计算机视觉技术的皓目行为分析仪、基于结构化数据的威目视图大数据分析平台、威目车辆特征识别系统、威目人脸识别系统,以及全新产品深瞳人眼摄像机。
在这期雷锋网硬创公开课上,格灵深瞳 CEO 赵勇博士基于自己多年的研究和行业经验,深入分享 AI 技术将怎样以智能硬件、大数据挖掘和物联网的形式,深刻地变革整个安防行业。
赵勇,格灵深瞳 CEO,布朗大学计算机工程博士。
赵勇博士曾供职于谷歌总部研究院,任资深研究员。他是安卓操作系统中图像处理架构的设计者,也是谷歌眼镜(Google Glass)最早期的核心研发成员,与此同时,他还负责探索谷歌未来针对高性能图像分析处理的云计算架构设计。回国后,赵勇博士于 2013 年 4 月创立格灵深瞳。
本次公开课包括以下内容:
基于人工智能的最先进的人脸、人体和车辆识别技术
安防产业为什么需要智能硬件
基于仿生原理的人眼相机,是怎样实现大场景、远距离人脸识别的
当前的人脸识别技术,在解决实际安防问题过程中面临的挑战
深层大数据挖掘在人工智能物联网中的意义
公开课视频:共 95 分钟。(手机端无法显示视频的读者,可点击超链接观看)
注:本次公开课中,赵勇博士展示大量生动的案例和视频,并回答多个网友精彩问题,所以推荐优先观看视频。
大家好,我是格灵深瞳的创始人赵勇。
很高兴在雷锋网的硬创公开课上与大家交流,给大家分享人工智能在安防监控中的一些机会和经验。
安防监控行业大家可能是既熟悉又陌生,如果你不是这个行业的从业者,对你来说布满摄像头的整个街道便是安防监控最重要的一种表现形式。中国是全世界最大的安防市场,十几年前国家就开始建设平安城市体系,这个体系基本决定了中国安防行业的组成和现状。
从产品角度讲,平安城市的建设会布置大量摄像头,这些摄像头产生大量录像数据。大量录像机背后有着庞大的视频网络,而这些影像数据需要传到监控中心。在监控中心,人们几乎可以看到任何地方的视频。
在中国平安城市建设里,大多数摄像头都已实现了数字化和网络化。如果想要了解中国的安防行业,我觉得可参考一下全世界规模最大的安防企业海康威视官网。我发现一件特别有意思的事,当我打开海康威视的官网时,他们这样定位自己:
海康威视对自己的定位是:以视频为核心的物联网解决方案提供商。
以视频为核心是一句很精确的话。在今天的安防监控行业里,几乎所有组成都是以视频为核心:摄像头是视频的生产者,录像机是视频的存储者,网络是视频的传播者,监控中心是视频呈现的地方。
海康威视的产品栏有网络摄像机、模拟摄像机、数字摄像机、摄像机配件,显示与控制产品、存储产品、传输产品、编解码产品、完全是以视频为核心的。
目前国内物联网规模已非常巨大,一位硬盘公司的朋友告诉我,他们公司生产的硬盘,每两块就有一块进入了安防行业。
以北京为例,属于政府和社会公共机构的摄像头总数超过 200 万个,这些摄像头和我们手机摄像头不一样的地方在于它每分每秒都在保持录像,它每天就会产生长达 200 多万天的录像,折合成年就是 5000 多年。
所以我们整个安防体系,从摄像头到存储都是一个拥有极大数据量的网络。这个网络的数据是由谁生产?当然是摄像头生产的。但这些数据是由谁消费呢?大家想想这个问题。
在我们当前的安防监控视频网络上,唯一的消费者就是监控中心里的工作人员。简单来说就是警方,他们在破案时会去查看很多录像,个数据生产的速度远超过数据消化的速度,这就导致今天安防监控行业的一个主要矛盾:我们产生了太多的视频,可这些视频却没办法消化。
《速度与激情 7》里面有一个场景,这个场景就是里有个非常强大且神秘的技术系统。
这个系统可从全世界所有的监控摄像头里面自动搜索和跟踪任何目标。好莱坞显然对视频安防行业了解甚少,观众也以为今天的 FBI、CIA 以及国内的公安局都已经开始用这样的体系,但现实并不是这样。
当今全世界的安防监控体系自动化程度离电影描述的场面相差非常遥远。
我们现在来看一下今天的视频安防网络,如海康威视所描述:它是一个以视频数据为核心的网络,这个网络产生了大量的视频数据。
那么这些数据需要谁去消化呢?当然需要人去消化,通过人工分析得到有意义的情报。
客户需要的永远是有意义的情报。无论它是出于对安全因素破案,还是因为管理因素希望了解这个城市里发生的一些事情,这些均是有意义的情报。在《速 7》中呈现了几个技术细节,如人的检测、人脸识别、车辆识别、车辆跟踪等等。这些情节在两、三年以前,每项功能和精确度并不是很高。但随着人工智能技术,尤其是深度学习的成熟,现在车辆识别、人脸识别这些基础模块的性能、精度已大大提升。
目前以视频数据为核心的安防监控体系,其实给客户带来了大量的麻烦。因为你产生了非常多的数据,把这些数据放在客户跟前,然后寻找线索,这好比大海捞针。所以整个行业都把希望寄托在智能化上,所谓智能化就是能够把人工智能引进来,把所有的视频数据除了人以外,引进人工智能 Consumer,能自动把这些视频数据里面的内容和目标变成结构化数据。
何为结构化数据?
结构化数据就是数据能够直接表达目标的性状、属性以及身份。
这种数据可以大规模去检索,大规模地分析、统计。智能化是希望 AI 能够变成以视频数据为核心的物联网里面,这些数据的 Consumer,这时候 Consumer 的 Output 就是结构化数据。
结构化数据也不能直接拿来使用,因为这些数据一旦实现了大规模结构化后,数据量仍旧非常庞大。
我们来想这么一件事,我个人对物联网的理解就是当互联网发展到一定程度,它的网民就不仅仅是人了,有很多设备也与人一样属于互联网。这些设备会自动产生数据,有一些设备会自动消化数据。
在安防监控网络上,数据的产生者是摄像头、录像机。数据的消化者是人工智能和人。
但是当人工智能把这么多的录像转变成结构化数据后,就会产生一个新的数据海洋:结构化数据海洋。如果数据没有经过很好的挖掘,那它也不是有意义的情报。
结构化数据目前已经可以使用非常成熟的手段去挖掘,这个过程中会有一些非常浅度地挖掘、简单的筛选:比如黑名单。检测到一辆车时,车牌号码是一个嫌疑犯车牌号,当我检测到车牌号码时,这辆车就被后台预警。
再比如说我要检测一个人:假设我有一张逃犯的照片,当我在某个地铁站的摄像头里看到一个人长得像这个逃犯时,它可能就变成了一个有意义的情报。
在医院里也可以有一个非常浅度的挖掘,如在医院会发现有些人来闹事,它可以把这些人提前放在“医闹库”里。当这些人来到医院时,医院的保安就能第一时间得到警告。
事实上还有很多挖掘是比上述的挖掘复杂得多,比如医院挂号的地方有很多号贩子,这些人扰乱了医院的服务的秩序,如何把这些号贩子找出来?怎样能够挖掘出号贩子和普通正常病人的差别?这里就要对号贩子的行为做一些分析,从大量的人脸数据和行为数据中自动把这些特定的人员挑选出来。
除此之外,还有一件有趣的事,当人工智能产生大量的结构化数据后,会有大量空间需要去做针对应用的数据挖掘。因为以前在没有结构化数据时期,不同客户使用的摄像头和录像机都是标准设备,他只要看到画面就行。它从画面里观察得到的信息如何体现到它的业务内容,这些事情需要人去做的。
当今天这些数据变成了结构化数据以后,在不同行业、不同场景要有大量的数据挖掘应用才能够有效地把结构化数据变成有意义的情报。
所以我认为未来人工智能在安防监控行业会有大量应用软件的市场空间,为各个垂直行业去做针对性的数据挖掘。
我们给大家简单地展示一下图像识别技术在一些不同垂直领域的应用成果。
现在下面视频是利用深度学习算法开发的车辆大数据结构化引擎。
从画面可以看到每个交通单元中,无论是机动车还是非机动车都可被检测与跟踪,对应每一个目标的属性也会被识别出来:可以检测出车牌号码、生产商、型号、年检标的状态,甚至具体是哪个年份的型号也可以被识别出来。
车辆识别问题在今天看来已经被解决了,车辆是一种非常特殊的目标,因为它有着一个独一无二的 ID:车牌号码。合法车牌号码具有唯一性,一旦把车牌号码识别出来整个问题就比较好解决。
从去年开始,车辆大数据产品已被很多厂商推出,未来也会越来越普及。
这里面有一个重要的机遇,道路上客户的摄像头分 3 种:电警、卡口、监控摄像头。
所谓电警和卡口,通常是在十字路口或者高速公路的进出口上搭了一个龙门架,或者有一个装了摄像头的架子。
这些摄像头使用了很高的分辨率,角度也非常合适,它可以在正面增加识别的成功率。但是像电井和卡口这样的摄像头,它只占整个道路周边摄像头数量的很小一部分。以北京为例,电警和卡口摄像头的数量占道路全部摄像头数量的千分之一左右。
还有更多摄像头是普通的视频监控摄像头,这些摄像头数量很多,分辨率也不是特别高,因为它们要录制视频。一般在安装的时候都是为了监控整个大场景,所以视场角较大,视场角变大的坏处就是针对每一个目标它所能够分配的像素数量会降低。
这个时候,监控视频里看到很多目标并不是很清晰:没有补光、照明不够、图像模糊现象很严重。如何在这种低质量的数据、不理想的环境下仍然把视频识别做好?这在某些方面决了定我们能否把道路监控大视频、大数据这个事情做好,这一领域的产品其实还有很多的改进空间。
当基础数据被识别出来后,基于这些数据就可做各种各样的大数据分析。以格灵深瞳为例,我们开发了一个车辆大数据的平台叫威目大数据平台。
给大家做一个非常简单地演示,我们在客户的现场选择了一些摄像头,之后选择一个区域。然后就可以搜索一些不同品牌的车,比如奥迪、宝马等等。在搜索“奥迪”之后,你可以选择其中任何一辆车然后看看它出现在了什么地方、什么时间,随后可在地图里做进一步搜索。
大家可以想象,当我在一个空间里能够得到很多搜索结果时,这些不同结果的时空关系会为我们提供一个轨迹信息。这些轨迹信息会给我们更强有力的分析手段去分析一些人的行为,这里面有各种各样的战法,所谓战法就是警方客户在破案或在分析一些数据时采用的一些不同的手段和流程。
刚才是车,我们现在来看一下关于人的识别。
这套视觉系统能够对画面里的行人和他的属性结构化,也就是对人物的基本属性做一些判断:如性别、大致年龄、行李属性、衣服颜色、衣服类型。如果可以看到正面的话,就可以看清他的有没有戴口罩和戴眼镜,有没有留胡子等信息。
这些信息其实跟人脸识别不太一样,它是一种短效、对分辨率要求不高时得到信息的一种途径。
当我们很多人对安防监控不熟悉的话,就会觉得街头上的安防监控摄像头一定会把人脸识别出来。但事实上,今天绝大多数普通的安防监控摄像头根本不可以满足人脸识别分辨率的条件。
首先它们的视场角往往设置的比较广,第二是他们离人的距离比较远。
在这种情况下,虽然可以看清这个人的外形,但要想看清他的面部,尤其想在面部区域得到一个比较高的分辨率,至少是 80×80,或是 100×100,分辨率高是提升人脸识别效果非常重要的因素。
当今街道上这些普通监控摄像视频里面,虽然看不清脸,无法做人脸识别,但是我们如果能够从他身上得到他的其他属性,也是很重要的元素。
举一个例子,比如有一个小孩走失了,目击证人提供的线索是看到一个穿着红颜色衣服的中年妇女抱着这个孩子。那么我们就可以根据上述提到的属性去搜索:中年、女性、红色衣服、抱着孩子,把这 4 个特征输到搜索系统当中,即可迅速地找到目标。
我们再来看下人脸识别,要想得到一个比较靠谱的识别结果,画面的距离如下图展示的这样。
在这里,我们联通了一个普通的高清摄像头。在这个摄像头中我们特地选择了一个焦距比较长,为 15 毫米以上的镜头放在一个办公室的走廊顶端。我们发现,环境里差不多有效识别人脸的宽度最多为三米。当然也可以使用一些更长焦的镜头把识别宽度推到更远的地方,或用短镜头把识别宽度放在离相机比较近的地方。但是无论你怎么试,它真正有效的识别宽度也就三米左右。
通常我们得到一张低分辨率的人脸,比如说 30×30 以下,那么它在一个很大的数据库里去做搜索的效果,肯定非常不理想。通常要求一个人脸最好是达到 100×100 个像素以上时,它的搜索结果就会非常精确,甚至可以在一个很大,如几百万、几千万人的数据库里做有意义的搜索。
人脸识别技术在过去几年进展非常大。和 3 年前相比,我们去看一个标准测试集时,错误率可能已经小了上千倍。我们训练人脸模型时,尤其要注意光照、角度、表情问题,能不能够去抗干扰。
视频中大家也可以看到,人员自己去做一个挑战,每一位员工在工作期间无论在办公室里还是在外面的院子,都能被我们的人脸识别系统拍到很多照片。
我故意让他们走到摄像头跟前来做鬼脸,看看谁可以把脸做如此夸张以至于人脸识别系统会产生错误的识别。大家可以看到有一些人在做鬼脸,有些人在弄乱自己的发型。
未来智能化一定会在安防监控行业非常普遍且深入的发生,但它在实现时可放在不同的设备里,有时候可以把智能放在前端,如摄像头里,甚至录像机里。也可以把一些智能放在后台的数据中心、服务器上去运算,到底什么样的分配是一种比较合理的分配。关于这个问题,我想给大家分析一下。
我觉得智能放在前端最大的好处是针对一个视频流时,它所有的运算资源都专注于前端。放在前端有一个好处就是大量数据,用不着通过非常拥挤的网络传到数据中心去。
我们要意识到安防监控网络上的数据都是视频文件,它的码流、数据量比其他任何形式的文件大很多。
你想象一下,如果你有一个千兆的以太网,那么这个千兆的以太网能够同时传多少视频?
一般来说,一个高清的视频码流都会到 2 到 4 MB,也就是说在一个千兆以太网上,可能最多放个一两百个视频就会把这个网络全部占满,所以把智能放在前端的好处可以节省一些带宽。
把智能放在后台的好处有点像云计算,云计算的一大优点是分享,我在后台可以用非常强大的硬件、非常复杂的软件把识别性能做得非常好,因为人们对识别的精度要求永远是无止境的。但这样会导致对识别算法、硬件要求比较高,如果放在服务器里可以达到这个条件,同时分享给不同的前端。
其次,如果把这些设备放到后台,那么它的算法升级、运维都会比较可靠,不像前端摄像头如果发生了软、硬件故障。尤其是硬件的故障,维护会非常麻烦。
我个人是这么看这个问题的,视频里面的检测、跟踪、去重:检测就是对目标的检测,跟踪就是跟踪这个目标在摄像头里画面中的移动,去重就是我把它送去识别时,从多次的检测中选一个比较好的视角去检测,把很多重复的检测去掉。
这 3 项内容特别适合也应该放在摄像头里面去做,为什么呢?因为这些内容跟摄像头画面里到底有没有目标是无关的。你如果不检测也不知道有没有目标。
这部分运算是随着视频流的启动,一直需要开动,它不存在分享这件事。这样识别应该放在这个摄像头的前端来做。通过检测、跟踪、去重后,把识别的对象作为照片流通过网络传到后台,这时候它已经是一个截屏图像或者是截图的一小部分,数据量很小。而且这个数据量和目标的多少,以及场景里面活动的激烈程度相关:当人比较多时数据就多一些。当夜深人静人比较少的时候,它就没有数据。
这样一来,把识别放在后台服务器来做,就可保障识别精度做得更高。比对就不用说了,因为你每识别出一个物体,就要跟一些客户的敏感目标库做比对,看他是不是一个值得关注的对象。
近期,我在市场上发现了这么一个迹象,早期很多客户安装了智能化产品,它的路数不是很多。所以很多时候就是把传统的 IP Camera 和后台的服务器直接连接起来,这样早期的方式是可行的,但是他会给客户的带宽带来很大的负担。
当智能化产品进行推广时,我相信这种方式很难快速进行。所以当下急需解决的事就是前端智能化。我发现有一些厂商试图把识别和比对放在摄像头里去做,我认为这是有问题的,为什么呢?你在摄像头里做识别,识别产生人脸特征。由于每个公司各自的算法不同,就要求客户后台的比对系统只能对接这种特征。这样一来的话就给客户带来很大麻烦,假如我今年采购这个厂商的设备,那我的后台也需要依据这些设备来建设。
到了明年,我想采购不同厂商设备时,就会发现不兼容性。我认为图片是最兼容的、供通行的数据,所以得从客户的角度看待问题,识别算法和比对不要放在摄像头前端,回头会给客户带来很多不灵活的负担。
比对我觉得就更不应该放在前端,因为比对需要把客户的核心资源对比库放在摄像头上,在很多公安应用里面这些都是核心机密。你可以想象,如果有黑客攻击了摄像头就会从里面获取跟黑名单相关的核心信息。我认为核心信息应该永远待在数据中心,待在客户最核心的保密网络里,而非前端。这就是我对智能前端和后端分工的看法。
接下来我想给大家讲讲人脸识别的现状和进展。
这里面有一种分裂,怎样一种分裂呢?
一些人工智能公司宣传,他们一般都会把人脸识别的性能吹得非常悬,说错误率已经达到亿分之一的程度等等。虽然这是事实,的确有时候我们发现有一些识别错误率已经低于亿分之一,但这是有前提的,譬如说静态人脸识别:如摆拍等。
还有一种场景是门禁的应用,人们为了过一个通道,然后就盯着摄像头,这时候成像条件都很好。但是对安防而言,更多时候被观测的对象没有意识到自己被观测,它的角度也不是很理想,离相机也比较远,光照也比较复杂。而且整个目标在运动中碰到照片时,它的人脸识别结果也完全不一样了。
很多公司认为人脸识别已经做得很好,但另一方面,如果大家去调查一下如果使用了人脸识别,尤其是使用动态人脸识别的客户,大多数客户都认为误报率太高,而且高到基本上这个系统就没有办法使用。
今天趁这个机会,我也想非常坦诚地跟大家分享一下这里面的原因。到底是人脸识别技术还不够好,还是大家在撒谎。
做人脸识别它的优点是速度快,一张显卡每秒钟可产生几百张脸的特征,完成数千万张脸的比对,这个目前已经可以做到了。它的成本也低,使得这项技能可以快速复制、大规模地部署,性能很稳定且可持续提升。人工智能的缺点是应对复杂问题应对能力差,除此之外是对环境变化的适应能力弱。
人类的智能跟人工智能相比,几乎是完全相反的。
人类智能的优点正好是人工智能的缺点,人类对复杂问题的应对能力和对环境变化的适应能力很强,但缺点就是速度慢、成本高,比较难快速复制、不大可能大规模地部署、性能也不稳定(容易受到精神状态的影响)。
我们来看一下人工智能的不同应用,先介绍下 1:1 的人脸验证。
在金融支付领域里面,有些公司开发的软件帮助客户去验证用户的身份。这类应用本质上是在回答一个问题。客户的摄像头拍一张照片,然后将照片传到后台,后台知道验证的对象是谁,并且有验证对象的身份证照片。那么它要回答的问题是“这两个人是同一个人吗?”,答案是“是”或者“否”。所以总共回答这么一个问题。
我们再来看一下 1:N 的人脸的识别,也叫静态人脸对比。
假如客户选择一张照片,然后他拥有 N 个人的对比库。举个例子,比如在某个省的公安厅,这个省有 5000 万个有身份证的公民。这时候警方看到一个嫌疑人想调查这个人的身份,这个人是谁?
在做这件事情的过程中,事实上人脸识别就要回答很多问题。这个人是张三吗?这个人是李四吗?是王五吗?然后它要回答 N 个问题,可能还有一个最困难的问题也就是第 N+1 个问题:这个人可能谁都不是。这就叫静态人脸比对。很显然,与人脸验证相比,静态人脸比对就是更为复杂的问题。因为它总共要回答的问题总数是 N+1 个,当这个 N 比较大的时候,问题回答的难度和出错误几率就大大提升。
但静态人脸比对使用的频率比较低,只有当客户要做一次搜索时它才会使用。它使用的场景允许用户参与交互和确认。简单说就像一个搜索引擎,我在搜索结果里挑一个我认为对的,或者是我把搜索结果呈现的前几名看上去都很像,分别调查后能够快速帮客户缩小调查范围。
这种产品在过去一、两年内的推广也比较快,而且可用性相对较高。
我们再往下看来看一下 M 比 N 的人脸识别,通常这个叫动态认识。
何为动态人脸识别?就是客户安装的摄像头每看到一个人后,就在一个库里去比对这个人是谁,“M”代表的就是摄像头,或者网络里所有摄像头抓到的人脸数目。“N” 就是对比库中的目标数目,抓到的每一张脸都得“问”一遍:这是张三吗?是李四吗,那真的是王五吗?然后对于这个人你要问 N+1 个问题。对于看到所有 M 个人,问题的总数也就是 M×N+1 个。而且动态人脸使用频率非常高,因为它是一个全自动体系。
以北京地铁站为例,我听说北京 1000 多个地铁站里面平均每站都有上百个摄像头,如果这里面 100 个摄像头每个地铁站流通 8 到 10 万人是很常见的,可能在一些比较繁忙的地铁站有上百万人。
对于看到的每一个人都要回答 N+1 个问题,如果这个 N 是一个很大的库,比如是一个拥有十几万人的全国逃犯数据库,这就是一个天文数字。而且在这个使用场景中,它不存在用户交互,客户期待你最后产生报警,而且这个警报是值得信赖的。
我们先来看一下这个问题:
一台动态人脸抓拍机每天产生以下问题:首先假设每个相机每天看见 1 万张脸,在很多公共场所这并不是一个很夸张的假设。
我们假设对比库里有 1 万个目标,这可能对公安来说也不是一个大的目标库。如果基于该假设的话,这个相机每天要回答的问题就是一亿零一万个。如果人工智能每回答 100 万个人脸比对问题就犯一个错误,那么每一天在每一台相机上就会犯 100 个错误,也就是产生 100 个误报或者漏报。
我刚才假设每回答 100 万个问题才会犯一个错误,其实也是非常夸张的假设,因为在动态人脸识别里,很多时候人的面孔角度是不理想的,分辨率也不一定很理想,光线可能也不是很好,还可能有运动模糊。
这种情况下,如果哪个公司真的可以达到百万分之一的错误率,我相信已经非常优秀。我们想象一下,如果一个大客户装了 1000 台人脸识别相机,坦率来讲 1000 台量也不是很大,跟今天城市里已经存在的摄像头数量相比并不多。
这时候系统每天要回答 1000 亿个问题,如果人工智能回答 100 万个问题就会犯一个错误,那么客户每天就会收到 100 万个错误,也就是 100 万个误报或者漏报。我们想象一下当一个客户每天会收到 100 万个报警时,他会怎么办?那它肯定会崩溃的,因为这个系统根本不能用。而 1000 台 1 万个库的目标,每个摄像头每天看 1 万个面孔,这些假设也根本不是一个很苛刻的假设。
我们能够意识到人脸识别尽管在过去几年有着巨大进展,可以在金融领域做身份验证,但它对解决公共安全问题来说是仍然微不足道的。
这个事实说明人脸识别技术不够好吗?我觉得也不尽然。人脸识别技术今天已确定超越人类。科学实验数据称,正常人最多能够记住 500 张脸,有一些销售等职业以及特异功能拥有者记住 5000 张脸也已经是极限了。
动态人脸识别的问题假如想象有一天在北京有 100 万个动态人脸识别的摄像机,而北京有 3000 万人口,在这种背景下,它每天产生的问题高达数以万万计。在这种情况下,发生错误的机率即使再低,但乘以这么大的基数也会产生海量的误报。所以这个问题的规模非常残酷。
在这种情况下我们该怎么做呢?
在此我推荐一种方法,就是海量的原始问题进来以后,先由人工智能引擎回答,然后产生人工智能的答案,但这些答案里的多数答案是错的,这种情况下可以把这些答案交给专业人员去验证。人类验证的好处是当一个答案可以通过人类的验证,结果对于客户来说这个情报至少是值得关注的。
另外,那些没有通过真人验证的错误答案,也都是很有意义的答案数据。通常它们都是比较接近正确答案的错误答案,这类数据对提高机器学习模型的改善和迭代也是非常有意义的。
如果我们在产品里设计出这么一个流程,使得人工智能识别引擎在精度不断提高同时,客户也能够得到比较有意义的情报。
把大量的人工智能和少量人类智能结合起来,会产生一个较好的互补效应。
另外一种手段就是人工智能+大数据。
为什么需要大数据?刚才我也提到,当我们有了底层结构化数据再到完成客户整个业务体系,本来就需要很多大数据挖掘应用,但更重要的一件事情是随着结构化数据规模上涨,大规模智能系统产生的误报会显著上涨,以至于正确的情报会淹没在海量误报中。这件事情必然会发生,尤其对于人脸识别而言。
我现在觉得全国各地的城市已经开始拥有一定规模的人脸识别,但我相信很快所有的客户都会踢到铁板,误报会大规模地上升。现在已经看到很多客户发现了这件事,这种情况下有没有解?当然有,我认为解企业要通过大规模的、多模态数据整合来提升人工智能的精度。
这是什么意思呢?如果我们单看一个单点人工智能的识别结果,它的错误率并没有足够好,就算可以做到千万只分之一的错误率,但只要问题数量过多,误导还是很多。
但是当你使用了更多规模的数据,比如一个人在运动时。他在轨迹路线上是否能够被反复识别,或者说轨迹所体现的行为,同时能够印证这个人的可疑性,或者说关于一个目标的多模态数据:他的车辆、消费记录、手机信号、wifi探针、社交关系,把这些不同模式的数据能够整合起来。
我再给大家举个例子,比如说小明和小王是同班同学、好朋友。我在北京某个地方看到一个人长得像小明,那么结果可能不一定是小明,可能只是一个跟小明长得很像的人。但是我如果在同一个地方又看到了这个小王(小明的朋友),那么确认这个人是小明的概率就加大许多。
这只是一个例子,其实有大量的规律、模态、组合可以把这个任务做得更好。所以我觉得是未来人工智能产品必须注意的一个方向,也是我个人觉得成功的人工智能公司必须具备的条件:要有很强的大数据分析能力。
接下来我给大家分享一些在安防领域里面落地的前沿且有趣的技术。
大自然是一个非常丰富的知识库,我们可以从里面学到很多知识。计算机视觉是关于“视觉”的,所以我们来关注一下人的眼睛以及动物的眼睛。
从眼睛模型中我们可以看到它有个“快门”,也就是所谓的瞳孔,“镜头”是我们眼睛的晶状体,“传感器”则是眼球里面的视网膜。
其实人的眼球跟数码相机本质上没有特别大的差别,但相机实际上已发明 100 多年,今天我们的相机无论是很贵的数码单反还是 iPhone 上的相机,它其实和 1839 年发明的第一台相机在成像原理上没有本质的不同。不过是通过小孔成像原理,把真实的物体通过倒影呈现在背景的传感器上。这么多年唯一发生变化的就是镜头变得越来越好了,传感器变得越来越好了。但是在这个过程中呢,成像的基本原理还只是一个投影问题。
我们的世界是一个三维世界,每一个物体都是三维的,它投影的结果是在一个平面上,无论它是相机底片平面,还是眼球的球面。最终还是变成了一个两维的数据,在这个过程中三维压缩到两维,丢失了什么吗?丢失的是深度信息,也就是纵深方向距离的信息。
我再给大家举个例子,在这张照片里几辆汽车放在一起。与此同时有一辆玩具车被一个人拿在手里,如果不是因为照片里的手指,很多人都误以为这就是停车场上的一辆真车。你可以看到图像里物体真实的大小不代表它的实际大小。最近这辆红色的跑车其实是很小的,可是远处一辆在树背后的车看上去很小,但实际上真实车的尺寸比较大。一个物体在图像中的尺寸跟他的真实尺度不一定有什么关系,当你失去了尺度,就没办法衡量尺寸、距离、速度、加速度。这种情况下,我们去分析物体的行为就有了很大的问题。
我们再来看一个自然界的现象,这里显示了一些动物照片,这些动物都有共同特点:都有两个眼睛。而且两个眼睛都有比较大的视场角重叠,大家有没有意识到所有捕食动物的眼睛都朝前长的,所以他们两个眼睛的视野重叠比较大,重叠最大的好处是可通过两个眼睛对图像的视差的分析,能够计算出这个目标的深度,有了深度以后就可以去追捕他。
而所有被捕食的动物,比如羊、骆驼、马的眼睛都长到了侧面,然后形成了一个 360 度的全景。它最大的优势就是可以更有效地去防范周围的捕食者,它可一边吃草,一边看脑袋后面有没有捕食者在靠近。
其实在计算机视觉领域,就有很多技术可以利用多视场能够计算出来物体的深度。
格灵深瞳根据这种原理推出一款名为皓目行为分析仪的产品,皓目行为分析仪用一种结构光的方式生成 Depth Video,然后基于数据去分析人的行为。
我给大家看一个简单的展示,在这个展示里面有很多人在相机跟前走动,他们之间产生了很多遮挡。
但是即使在遮挡发生的情况下,我们仍然可以很好地把每一个人跟踪下来,给每个人腰上套了一个圈,这个圈有不同的颜色,画面的左下角是一个俯视的雷达图,雷达图上方代表相机,下方代表它视野,然后每一个点它的颜色和视频里这个人腰圈的颜色是对应的,所以你可以看到每一个人的轨迹。通过这种方式就可在一个比较复杂的场所分析人们轨迹的行为。
比如说有没有人在追逐、停留很久、徘徊,我们也可以分析人是不是摔倒了,有没有剧烈动作等等。
如果要分析剧烈动作,需要对他身体的姿态动作做一个更深入地分析。在这里面我们开发了一套算法,能够从图像里把他的关节、胳膊、腿的位置计算出来。大家可能会意识到类似的功能在微软或者 Primesense 等公司的人机交互产品里面实现过。
格灵深瞳则是开发了一套专门针对于安防监控的识别算法,不同的地方是它可以在监控视角,快速实现初始化比较好的工作。
此时有人会有质疑,不是所有的动物都有两只眼睛,昆虫就不是,昆虫的眼睛叫复眼,有几千个镜头。
这是怎么回事呢?这组照片上显示了很多昆虫的眼睛,你一眼看上去的确是看到了复眼,但即使是复眼,它们也有个共同点,第一是它们有一对复眼,第二个是他们的眼睛针对他们的头部来说很大。
为什么要长这么大的眼睛呢?作为相机来说,它的感光量是很重要的指标。如果感光量不够多、不够大,很难形成清晰的照片,因为形成照片需要光子跟传感器发生能量的交换。能量的交换要能够被测量下来才能形成对颜色、亮度的识别,这就是为什么好的相机比如说单反相机它有很大的光圈。
但是昆虫身子的尺寸非常小,在这种情况下为了保障进光量,就要尽量大地增加光圈的尺寸,所以这就是昆虫的眼睛为什么这么大。
第二件事情就是为什么昆虫的每个眼睛变成了复眼?如果你要给昆虫用传统的光学模式设计眼睛,你会面临什么挑战?假设你是蜜蜂,在你的生活中要不断去寻找鲜花采蜜,有的时候你要看到几十里外的目标,然后飞过去。可是当你在采蜜的时候站在花瓣上要能够看到花粉在哪个花蕊上,然后去收集它。
也就是说,你要既可以看到很远的物体,又能够看到很近的物体。在这种情况下,它对变焦镜头的变焦动态范围要求非常高。普通镜头很难做到在这样一个范围内去变焦,尤其镜头体积还有大量的限制,这就是为何昆虫在自然界中自然进化出了这种形态的眼睛。
今天我们把这种成像模式称作 Plenoptics,简单来说就是一个镜头或者传感器阵列。这种阵列的特点是能够在一个平面上去接受更大的光场,然后把光分布,包括它的方向等信息捕捉下来。广场是四维的、光学的 Representation,获得光场之后可通过算法把不同的成像方式的结果全部计算出来。今天这种技术已经可用来做一些有趣的产品。
比如美国加州有一个公司,他们有一个基于光场原理的相机,你在拍照的时候可以直接拍。但是你回到家以后,可对这个照片做重新聚焦的修改,也就是先拍照片,然后再去定它的焦距。
我们今天会发现,如果想要实现一个非常大的、动态的变焦范围,最有效的方式就是来做光场相机。而昆虫的复眼就是非常精确的光场相机,这是一个非常奇妙的现象。
接下来,我们来看一个例子,在这个例子是讨论人脸识别的。
在这个画面的左上方是 2013 年 4 月 15 号在波士顿发生的马拉松暴恐案,事件爆发以后警方得到了这张照片,很显然这张照片是从一个监控的摄像头上拍摄的。在这张照片里,两个嫌疑人离镜头都不算太远,前面这个人可能离镜头有两、三米,后面那个人大概五、六米。但我们发现在这么近距离的情况下两人的面部是看不清楚的。
后来美国警方使用众包的方法来寻找线索,把这张照片在电视台上滚动播出,大概在 36 个小时以内有很多马拉松观众用自己的相机拍了很多照片,这些照片里面正巧有几张拍到了嫌疑犯。在画面右上方和左下方就是游客后来提供给警方的照片。其中左下方这张照片帮了很大的忙,因为这两张照片是两个嫌疑人,肩并肩站在一起并且正面对着镜头。
根据这张照片两人成功被举报,右下方 3 张照片是这两个人的生活照,根据这个线索,这两个人最终被抓住了。
在这个过程中,我们发现这么一个现象。今天大多数人脸识别还是卡口式的人脸识别,比如我把这个东西装在地铁的出口,商场入口等等,因为人们必须从这些地方经过,你就不得不被相机看到。但事实上,假设你是一个犯罪分子,如果你看到了一个相机离你这么近,那就可能不从这儿过了,或者你头会故意低下来,让相机看不到脸。
其实人脸识别的应用必须发生在人完全不配合的场景中,他完全注意不到附近有一个摄像头。当他不知道附近有摄像头时,那他被抓拍的几率就很高。所以格灵深瞳开发的人眼相机产品主要是为了实现这个目标,我们现在识别的距离可以达到 50 。我们自己做过一个实验,当你站在一个地方,然后你要想确保你周围 50 米内都没有一个摄像头的话,这是比较难的一件事,因为空间比较大。
这是办公室停车场的一个案例,当格灵深瞳的人眼相机对接到了我们的动态人脸识别引擎上来,面部就会被抓取到。
最远的可能 50 米,一部分为二三十米,然后他们的面部就和员工照片库进行实时的比对。
人眼相机的原理其实和哺乳动物的眼球工作原理非常相似,人用裸眼看这个世界时是可以看得比较远,我自己在开车时发现一个非常特殊的现象,我大概可以发现我至少可以看到前方大概 30 米到 50 米的车牌号码。可是当我安装了一个行车记录仪时,我发现我把视频调出来看,当前面的车离我的距离超过八米到十米时,我就看不清这个画面里的车牌号码。
那这意味着什么?人眼的分辨率真比高清摄像头高很多吗?其实并不是的,只是我们的人眼的视网膜里有一个特殊的区域,叫黄斑。
黄斑非常小,尺寸有多大呢?如果你把眼球的中心跟黄斑连接起来,那么这个椎体的角度只有 2.5 度左右,但在这么小的一个地方,集中了人眼 75% 的有效像素,剩下 25% 的像素分散在整个 160 度的视场角上。一个人的单眼视场角是 160 度,通过一个视场角很广但分辨率不高的一个注意力检测系统和一个视场角很小但分辨率很高的黄斑系统共同工作,实现对世界的观察。
我们读书不断地扫描每一行文字,我们开车时眼球的注意力也在不同的目标上切换,这就是眼睛工作的原理。人眼还有一个重要特点,它的光学系统和它的识别系统紧密地结合在一起,并且相互反馈。在一个瞬间我们的余光注意到一个物体,如果我们认为它重要的话,大脑就会指挥眼球转动,把我们的黄斑会迅速聚焦在物体上面。
这种反馈使得眼睛非常的灵敏,人眼相机就是实现了光学系统和人的检测,以及人脸识别系统接对接和反馈。从大自然的角度来讲,我们发明了一个工作方式与人类眼睛一致的设备。
这就我今天的分享,谢谢大家。
雷锋网注:文字部分为赵勇讲述的核心内容,除此之外,还有多个问答内容(问答环节有 30 分钟)也非常精彩,可在视频内观看。