视频智能分析发展历程
从世纪九十年代开始,美国的VSAM项目中进行视频监控的数据化研究以来,视频监控的智能化经过了二十年的发展,到现在已经发生了巨大的变化,智能分析技术也从传统的模式识别到机器学习再到现在家喻户晓的深度学习经历了多个阶段的发展。而当前深度学习的逐渐成熟让很多曾经尚未到达实用阶段的应用逐渐具备了可用性,典型的如人脸识别,高密度的人员统计等;也让很多已经成熟的应用具有更高的准确度,如车牌、车型识别、行为识别等等。
视频智能分析发展历程
国内的视频监控从2006前后开始“监控IT化”以来,视频监控的规模呈现了快速扩展的势头,这在模拟时代是无法想象的。视频监控规模的扩大,已经让使用者意识到单靠人眼去监控所有视频或者在事后去追查录像都是基本不可能的事情了。2009~2010年国内视频监控发展比较好的地区如浙江,就开始出现了如何更好的应用视频的需求声音。
长期从事智慧城市建设、自动化监控研究的博士生导师王汝琳就提出,当时的监控业界存在“看不清、调不出、提取难、检索慢”的问题,对应的也就出现了三大趋势:高清化、网络化和智能化。
从2010年前后起,智能分析已经在慢慢地应用到监控和智能交通的行业中来,其中最早形成规模应用的是车牌识别的功能,到2013年左右,电子警察在全国就在如火如荼地展开,三大监控巨头和在那个时候大力切入到了智能交通行业,加速了行业格局的形成。
这几年来,智能的应用快速扩展到了很多的方面,如人的行为识别、车辆的异常行为检测、仪表识别、人脸识别、车脸识别,还有通用监控视频的结构化分析等,花样各出,大有遍地开花之势。
智能分析的本质
视频分析的本质目标,就是视频的语义化,使视频更好地被检索到,被精确调阅到,解决人眼长期看视频产生的熟视无睹的问题,也解决发生案件时要花上百人进行录像查阅的问题。
软件智能分析与硬件智能分析优劣势分析
引用邓小平的话“不管白猫黑猫,抓得住老鼠就是好猫”,软件智能分析和硬件智能分析只是分工不同的猫,他们都有擅长的一面,也都有自己的劣势。用一句话来概括,他们的区别就是“软件智能贵在适应性和广度、硬件智能分析贵在分析的速度”。
软件智能分析
软件智能分析,是指用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) 交通综合管控。随着上述技术的成熟,交警希望把道路上的各种资源统一调度起来,根据车流量情况和道路状况自动进行红绿灯的调配、以及其他道路疏导提示系统的调度,交通综合管控平台的成熟将对交警行业产生又一次重大的影响。其后,只要源源不断地将新成熟的智能算法、分析算法纳入到这个平台中,这个平台就能具备越来越强的管理能力。
当然在智能交通中,还有其他很多的智能技术在逐渐成熟,包括车辆的异常行为检测,车型车款识别等等,这些都将助力智能交通行业的快速发展。
(本文作者陈燕兵现任宇视系统规划师、尹鹏现任职于天津市公安局和平分局)
本文转自d1net(转载)