软件版指的是安装在通用计算机(包括普通微机和工控机)上的视频分析产品,可以采用视频采集卡读取模拟视频,也可以通过网络端口读取数字视频进行分析,一般可以自带显示界面。目前国外的视频分析产品中由于使用习惯的原因,欧美地区的产品采用这种产品形态的较多。
硬件版则指固化在硬件板卡上产品形式,当然,这种硬件板卡可以有多种形式,比较常见的如基于ti的dsp系列芯片的硬件平台,或者出来不久的达芬奇架构形式,其共同点在于摆脱通用的计算机操作系统,使产品运算平台专用化,达到工作稳定,性能可靠,功耗低,工作环境适应性高(有时可适用于室外环境)等特点。硬件版的产品大部分通过模拟视频输入口接入模拟视频,通过网络输出端口输出报警信息或压缩视频,同时大多具有io电平输出(有些还具有电平输入端)。目前采用这种产品形态的国外视频分析技术产品并不多,其中以色列的大多采用硬件版形式。
首先说说硬件版视频分析技术产品的优缺点。上文所提到的工作稳定,性能可靠,功耗低,工作环境适应性高都是硬件版的优势,同时,由于摆脱了通用操作系统,其受病毒入侵和操作系统死机的可能性大大降低,万一核心运算程序死机时可立刻自动中断线程重启,这些也都是硬件版产品较为突出的优点。但从另一方面来说,硬件版产品也有其固有的缺陷。
1、由于其硬件板卡是预先设计好的,产品接口端不灵活,一旦出现端口不够用或者不符合要求(例如如果要求使用并口进行数据传输,或者是只有九针式232串口,但却要求使用rj45形式的485串口)时很难迅速改变以符合工程要求。
2、大多数硬件版视频分析产品都不接收数字视频,而只能接入模拟视频,这在某些工程中使用起来是不方便的,必须重新将数字视频模拟化才能送入硬件版视频分析产品中进行分析和报警。这是由于视频压缩算法日新月异,而且存在很多不同的规范,很难一次性预先固化在硬件平台上以便读取数字视频造成的。
3、与前一条的原因一样,硬件版产品的算法核心是固化在硬件平台中,因此很难做到方便地升级和修改优化。也许有人提出目前很多硬件产品都提供了网络在线升级,解决了算法升级的问题,然而,就算是可以进行网络在线升级,对于硬件运算平台来说,要保持较高的运算速度和效率,升级前也需要对算法进行较高要求的优化,比在微机上升级优化都会慢很多,这些都会影响到升级和优化的反应速度。
4、从综合运算能力来说,硬件版的运算芯片(例如dsp)一般很难比得上计算机cpu的处理速度,而且更新换代的时间也长,这样也导致了硬件版产品的更新速度也会慢很多。
其次再说软件版
软件版和硬件版是相对的,撇开核心算法性能,就以上提到的硬件版优缺点而言,硬件版的优点也就是软件版的缺点,而硬件版的缺点就成了软件版的优点了。
首先,软件版使用通用计算机(包括工控机),接口丰富,编程灵活,因此使用起来也比较灵活。其次,由于装载视频解压缩软件模块很方便,因此能够很容易地读取数字视频以进行分析,并迅速适应最新出现的数字视频压缩方式。再次,核心分析算法模块的修改升级和优化也十分方便,可谓即改即用,十分有利于根据具体工程需求进行针对性的算法优化。
通过上文对于软件版和硬件版两种产品形态的优缺点总结,可以得出一定结论,二者各有特点,必须针对具体工程需求来选择产品。例如当产品的使用环境比较恶劣时,基本是无法使用软件版产品的,而如果在使用中需要不断进行算法的优化升级,那么硬件版产品基本无法胜任,只能采用软件版产品。
世上没有完美的产品,只有使用恰当的产品。
前端和后端
第二个问题也是较为常见的,即在监控系统中,视频分析技术产品到底应该放在前端还是后端。
首先要对前端和后端两个概念表述清楚。所谓前端,是指将视频分析产品放置在靠近摄像头的位置,远离监控中心,而放在后端,指的是将产品放置在监控中心(至少是靠近监控中心)以便于集中管理。然而,所谓的放在前端后端,其实也有不同的产品形式,例如放在前端可以是一台单独的视频分析设备,也可以是和前端的某些产品集成在一起,如摄像头或者dvs等。同样,放在后端可能是一台单独独立的设备(无论是软件版还是微机版),也可能只是一个软件分析模块融合在后端的监控管理软件平台中。
首先说将视频分析模块融合到其他产品中的形式。前面提到了,如果是放在前端,即是和摄像头或者dvs等前端设备融合,而放在后端,则是和中心管理软件融合(作为其中的一个功能模块)。对于与摄像头或者dvs设备融合的基本不用多说,九成九是嵌入式产品形态,自然具有嵌入式视频分析产品形态的优缺点(前节所述),从系统架构上来说,属于一种分布式计算,即对于视频的分析在视频采集的前端即处理完成,对于系统架构有灵活性,运算量的平均化分布是较好的解决方案。而如果是在后端与中心管理软件融合,则必然会涉及到运算量拥堵的问题,特别是在需要分析的视频路数较多的情况下尤其如此,因为目前的视频分析算法的运算量还是比较大的,一旦需要处理的视频路数增多,会大大增加中心管理软件的运算负担,造成系统的不稳定。然而反过来,有某些情况下,这种方式又具有一定的优势,可以采取这种融合形式,对一些运算量不大,而且实时性要求不高的视频分析功能,例如视频质量诊断功能,完全可以做到采用轮询分析的方式依次检测各路视频的信号质量,每一路视频取连续几帧或者几十帧即可获得分析结果,耗时也就一秒左右,而任何一路间隔几十秒甚至一两分钟分析一次都足够满足报警的需要,此时采用这种融合方式可以减少成本,提高效率,同时有利于报警的统一管理。当然,这只是针对较为特殊的视频分析功能需求来说的。
再说一说单独独立的智能视频分析技术产品,即视频分析产品无论是软件版还是硬件版,无论是放在前端还是后端,都是一件单独的设备,要么是一块板卡或一个嵌入式的盒子,要么就是一台专用的单独的微机或工控机。此时,放在前端和后端又有什么异同呢?
需要说明的是,只要是采用单独独立的智能视频分析产品,其运算量都是属于分布式架构的,因为所有的分析运算都由这些独立产品承担了,整个系统的管理平台无需再负担繁重的视频分析运算。
先说说前端。通常来说,前端比后端的工作环境更为恶劣(后端往往是空调机房),因此对于产品的环境适应能力要求更高些,自然硬件版产品更为适用。
值得一提的是,这些硬件版产品一般来说都是模拟视频信号输入的,一方面前面提到,硬件版产品很少做成数字视频输入的,另一方面,如果真是通过网口读取数字视频,那放在前端和放在后端没有任何不同(网络是平坦的),何必还要去凑前端那恶劣工作环境的热闹?从这个角度来说,如果是软件版产品,尽可能地不要选择放在前端。对于硬件版产品来说,能放在后端也尽可能放在后端,实在不行,它待在前端的适应能力相对强些。
再说后端。后端自然通常指的中央空调机房,工作环境“舒适”得多,自然对产品的环境适应能力要求相对低些,因此硬件版和软件版产品都比较适合。然而有一点却不要忘了,硬件版产品大多是模拟视频信号接入的,放在后端意味着需要把模拟视频接入到中央机房,这对于目前大多数数字视频监控系统来说已失去意义,此时只有将数字视频重新又专门转换回模拟视频接入到视频分析系统中,比较麻烦不说,还容易因为视频压缩和还原而造成的信号丢失导致视频分析效果的下降。此时,能够接收数字视频信号进行分析的软件版反而从某些方面具有了一定的优势。当然,采用视频采集卡接入模拟视频的软件版产品则和硬件版一样不具有优势了。
国内和国外
第三个问题:国内和国外。这个问题其实不好回答。说国内好,显得固步自封夜郎自大,说国外好,也许“崇洋媚外”的帽子就扣上来了。在这里,笔者只是谈一点自己的感受。
众所周知,智能视频分析技术的发展也就是这些年开始的,特别是在“9·11”事件之后,“反恐”成为国际社会的重要话题,公共安全问题日益受到重视,使得这一能实现自动报警的智能技术获得迅速发展,而国内的研究和发展则慢了一拍,大概从2006年才慢慢成为热点话题。很自然地,国外产品已先发展和使用了几年,从技术的先进性,产品的成熟性来说肯定会强一些,这一点不容否认,但国内的技术也并非一无是处,还是有一些优势的。
笔者曾经写过一篇文章叫《国内视频分析技术的出路》就曾提到这个问题。确实,国外产品比国内产品成熟,但它毕竟是国外的东西,从产品系统架构上,操作界面风格和使用习惯上,产品功能上来说都并不一定完全适合于国内用户的使用。前两点是显而易见的,自然使用者也是可以克服或适应的,而从功能上来说,国内的市场需求与国外产品的功能实现并不一定非常吻合,使得国外产品在国内市场上不一定能够完全满足用户的需要。
例如中国人口较多,人群较为密集,某些功能需求国外产品并不一定具有,如人群聚集,人群密度估计等功能。同样,某些在国外效果比较好的功能(如遗留物检测)在国内这种人群较多的情况下效果也会大大降低甚至于根本显示不出效果来。所有这些问题国外产品普遍存在。
当然,就一些常用的,通用性较强的功能,国外产品的成熟度还是更好一些,例如入侵检测,方向检测等。
因此对于国内国外产品二选一的问题,笔者个人观点看来,对一些常用的功能需求,可以考虑选择国外产品,对于某些特殊的应用需求,需要对产品功能有一定特殊要求,国内产品会更具有优势,因为可以有针对性地进行优化和开发,这也是国内视频分析技术产品厂家所应该利用和发挥的长处。
此外再多加一句,如果一套系统中既需要通用功能,又需要某些特殊功能,那么最好从一开始就选择国内产品,以便于最终将各个功能全部无缝集成到同一系统中。