从20世纪90年代开始,美国VSAM 项目中进行视频监控的数据化研究以来,视频监控的智能化经过了20多年的发展,智能分析技术也从传统的模式识别,到机器学习,再到现在家喻户晓的深度学习,经历多个阶段的发展。而当前深度学习逐渐成熟,让很多曾经未达实用阶段的应用逐渐具备了可用性,典型如智能识别、高密度人员统计;也让很多已经成熟的应用具有更高的准确度,如车牌、车型识别、行为识别等等。
行业应用现状
国内的视频监控从2006前后开始“安防IT 化”以来,视频监控的规模呈现了快速扩展的势头,这在模拟时代是无法想象的。视频监控规模的扩大,已经让使用者意识到单靠人眼去监控所有视频或者在事后去追查录像都是基本不可能的事情了。2009 ~ 2010年国内视频监控发展较好的地区如浙江,就开始出现了如何更好地应用视频的需求声音。
长期从事智慧城市建设、自动化监控研究的王汝琳教授就提出,当时的视频监控业界存在“看不清、调不出、提取难、检索慢”的问题,对应的也就出现了三大趋势——网络化、高清化、智能化。
从2010年前后起,智能分析已经在慢慢应用到监控和智能交通的行业中来,其中最早形成规模应用的是车牌识别的功能,到2013年非现场执法设备在全国就在如火如荼地展开,三大监控巨头在那个时候大力切入到智能交通行业,导致了这个行业的洗牌。
近年来,智能的应用快速扩展到很多方面,如人的行为识别、车辆的异常行为检测、仪表识别、智能识别、车脸识别,还有通用监控视频的结构化分析等,大有遍地花开之势。其中,智能识别和视频的结构化分析是2017年以来特别火的业务,发展也最快。
视频分析的本质目标
视频分析的本质目标,就是视频的语义化,使视频更好被检索到,被精确调阅到,解决人眼长期看视频产生“熟视无睹”的问题,也解决发生案件时要花上百人进行录像查阅的问题。
软件智能分析与硬件智能分析优劣势分析
引用邓小平语录“不管白猫黑猫,抓得住老鼠就是好猫”,软件智能分析和硬件智能分析只是分工不同的猫,他们都有擅长的一面,也都有自己的劣势。用一句话来概括,他们的区别就是“软件智能贵在适应性和广度、硬件智能分析贵在分析的速度”。
软件智能分析
用CPU 进行运算的智能分析方案,其优势在于适应性强,具体体现在:
1)对各种数据源的适配性高,在安防行业中数据源基本为视频和图片,但是这些数据的来源可谓五花八门,尤其早期的设备厂家非常多,对接方式和编码格式都不标准,只有通过软件对接来完成前期工作,才能给智能分析提供原始材料;
2)新的算法出来时,基本都是在软件上实现的,因为在软件上编码实现最容易,很少有算法一开始出来就能运行于智能分析硬件;
3)软件智能分析可以运行在很多通用服务器和PC 机上,不需要配备特殊的硬件就能运行,而硬件智能分析就不一样了。
当然软件智能分析的主要缺点就在于分析性能差。
硬件智能分析
一般指运行在DSP、FPGA 以及GPU 资源上的智能分析应用。其优点就是一个字“快”,一旦一种智能算法有了能支撑它的硬件资源后,一般就能把软件分析的处理能力甩开几条街。但是相对的,它的局限也就是软件智能的优势所在。
但是现在,软件智能分析和硬件智能分析没有那么严格的区分,很多新的算法经过软件方案一定段时间验证后,如果存在较大的可用性,慢慢就会走上硬件化的道路。近几年炙手可热的深度学习的计算量基本上只有在GPU 上才能跑起来。因此流行的是通过CPU做适配和前期处理,GPU 来做智能运算,也就是Intel CPU + NVIDIA GPU 的组合,而且这个组合的处理性能也确实非常强劲。
◆ 前端智能分析与后端智能分析的对比前端智能分析与后端智能分析的关系,也类似于上面的软硬件智能分析一样,都是相辅相成,互为补充。
◆ 前端智能分析
图:前端智能分析
在摄像机等内置传感器,或者在传感器附近放置一个专门分析的前置设备。前端智能分析的优势是离采集端近,分析比较及时,通过前置的智能分析可以有效降低需要传输的数据的量。同时前端智能也受限于较弱的计算资源和有限的空间,再好的智能分析技术到前端也都是“龙居浅潭”。前端智能中最成熟的就是车牌识别功能了,现在前端设备上车牌识别的准度已经达到99%。
◆ 后端智能分析
用后端服务器的方案进行智能分析,也是当前比较主流的智能分析方案,业界的代表有宇视IA系列、海康的猎鹰等。
由于智能的需求越来越大,智能需求的种类也越来越多,各种智能服务器会慢慢占领客户的机房;因此如何综合利用这些服务器资源,如何提升单位空间的计算能力是众多厂家关注和研究的方向,从当前来看主要的方向是:硬件化、框架化、集群化。
硬件化,智能分析的硬件化是一些智能分析技术逐渐成熟的必然方向,现在的深度学习经过几年的发展已经表现出了强劲的发展前景,而且智能硬件只要能很好地承载深度学习的计算需求,就能应对绝大部分基于深度学习发展起来的具体智能分析技术,比如现在一个很典型的应用就是智能识别的应用,用了GPU 之后,性能可以翻很多倍。
框架化,因为智能算法越来越多,如果为每一款智能算法单独开发一次软件,那软件工作就存在很多浪费。如何能够开发一次软件,然后尽量多地去适配各种算法对厂家和客户来说都是比较有意义的事情。
集群化,既然智能分析的需求越来越大,那么这些服务器如何统一管理,如何统一进行资源分配又是一个比较棘手的事情,总不能让客户自己一台一台服务器去做配置,一台一台去做管理吧?!集群化的需求就应运而生,它需要解决的问题有:统一管理各个服务器,进行统一的配置;动态解决各个服务器的资源和任务分配问题,避免客户自行去选择服务器;解决设备的灾备问题,在有多台设备时,不会因一台设备的失效而导致它所负责的业务不可运行。
除了专门的智能服务器,现在有很多的后端产品也开始内置简单的智能功能了,比如很多新的NVR 已经具备了不少的智能分析能力,在小规模的方案里这种产品形态将越来越有市场。
前后端融合计算
同软硬件智能分析的方案,前后端的智能分析也不是完全割裂和互斥的,两者都是“抓得住老鼠”的好猫,但是如何把他们合在一起适当分工,是不是能够成为更强大、更高效的猫呢?答案是肯定的。
前端是存在计算性能上的不足,存在空间上的拘束,但是还是能承担一些分析工作的,而且最重要的是它保有量大,每台做一点基础的分析工作,后台再在这些分析的成果基础上做进一步的分析,将能大大降低后端服务器的工作压力。典型如现在的人物智能分析方案中,如果采用后端引前端实况流分析的方案,一台E5 的服务器能做到4 ~ 5 路已经很高了;但是同样的服务器如果用前后端融合的方案,前端负责人物的跟踪和抓拍,后端负责分析,一台服务器就能做到24 路甚至更高,这就能大大降低用户的部署成本。
当前,阻挡前后端方案融合的最大障碍是标准的问题,各个厂家都是按照自己的理解定义接口,定义边界,厂家之间互通的唯一方式就是对接开发。因此,现在如果涉及到跨厂家的智能分析,都更多采用纯后端或者纯前端的方案,这是智能发展需要解决的重要问题。
智能分析在智能中的应用
前文多次提到过,智能分析功能在智能交通行业的应用是最成熟的,其中最重要的启动点是车牌识别的识别率达到了应用的要求,以及在此基础之上形成的非现场执法设备和其他各种解决方案,在这里简单介绍一下:
1. 非现场执法设备
车牌识别、红绿灯口车辆跟踪和抓拍等技术形成的非现场执法设备,极大提升了交警的交通管理能力,让交通违法抓获由一个概率事件变成了必然事件,一举解决了2012 年前需要雇一堆小姑娘进行闯红灯抓拍识别而且还抓不全的问题。近两年随着技术的成熟,虚拟线圈替代了地感线圈,又降低了电警的施工难度和安装成本,使得非现场执法设备的覆盖面越来越广;
2. 电子卡口
在非现场执法设备中尝到智能分析甜头的用户,在开始进一步考虑城市车辆的监控和管理,因此电子卡口的业务就产生了,记录车辆的行进轨迹,根据行进轨迹进行车辆异常行为的分析,对接车管库进行车辆的核查等各种业务都开始落地。随着技术的成熟,和开车犯案的案例增多,相关部门也开始介入到卡口业务的建设,希望通过对车辆的排查进行案件侦破的技战术开始提出来,并产生了诸多成果;
3. 交通综合管控
随着上述技术的成熟,交警希望把道路上的各种资源统一调度起来,根据车流量情况和道路状况自动进行红绿灯的调配,以及其他道路疏导提示系统的调度,交通综合管控平台的成熟将对交警行业产生又一次重大的影响。其后,只要源源不断地将新成熟的智能算法、大数据分析算法纳入到这个平台中,这个平台就能具备越来越强的管理能力。
在智能交通中,还有其他很多的智能技术在逐渐成熟,包括车辆的异常行为检测、车型车款识别等等,这些都将助推智能交通行业的快速发展。