本文从智能视频分析的网络拓扑和主要网元出发,论述了在目前视频监控数据以指数级爆炸性增长的情况下,智能视频分析服务器的行业现状以及面临的主要挑战,进而介绍了凌华云媒体服务器,它为视频和大数据处理而生,可以助力客户开发最先进的智能视频分析服务器(Intelligent Video Analytics Server),弄潮于行业发展前沿。
引言
目前,公共安全问题已经成为全世界的一大热点。互联网和电子设备的迅猛发展,为网络化的智能视频监控系统提供了强有力的支持。智能视频监控的技术原理是对来自监控摄像头的视频数据,进行解码预处理,然后通过智能化图像识别处理技术,将摄像头场景中的背景和目标进行分离,进而分析并追踪目标,对各种安全事件主动预警,最后将警报信息传导至监控平台及客户端。
如今,智能视频监控正越来越多的应用到社会的各个方面,如公安、金融、智能楼宇、能源、交通和文教等领域。在我国,智能视频监控市场正在快速发展中,各种监控需求逐年增多,监控设备也越来越丰富。同时,人们对智能视频分析设备的期待也越来越高,如更丰富的行为识别(Behavior recognition)、更精确的告警、更好的实时性(Real time)、更灵活的部署方式等。
本文从智能视频分析的网络拓扑和主要网元出发,论述了在目前视频监控数据以指数级爆炸性增长的情况下,智能视频分析服务器的行业现状以及面临的主要挑战,进而介绍了凌华云媒体服务器,它为视频和大数据处理而生,可以助力客户开发最先进的智能视频分析服务器(Intelligent Video Analytics Server),弄潮于行业发展前沿。
应用介绍
目前的智能视频分析有两种产品形态,一类将具有智能分析功能的软硬件前置在视频采集端,另一类是在后端服务器上运行视频分析功能,前段的摄像头只负责视频采集,所有视频数据送往后端服务器进行智能分析。这两种产品形态各有其优缺点。
前端分析模式免去了大量的视频传输和存储,只在出现预警时根据客户请求进行视频传输,因为主要算法在前段完成,后端服务器的压力非常小。但其缺点也显而易见,集成了分析功能的智能摄像头往往价格更高,位于前段的分析算法难以知晓临近摄像头的状态,无法基于多个摄像头进行目标追踪,而且由于其计算能力限制,无法运行复杂的视频分析算法。
后端分析模式对网络传输和后端服务器处理能力要求更高。但在网络带宽成本越来越便宜的当下,后端部署的优势也越来越明显。一方面,前端摄像头因为功能简单在大规模部署时更具成本优势。另一方面,后端服务器由于可以获取全局视频数据,可以运行更为复杂的视频分析算法,识别目标行为能力更强,告警误差也更少。后端部署模式在监控需求提升时也更容易进行升级,只需更新后端的智能视频分析服务器即可。
本文重点关注后端部署模式下的智能视频分析,它的核心业务通常可以划分为以下三个部分:
从摄像头获取视频数据,经视频编码压缩(Video Compression via Encoding)后,通过局域网传输至后台处理系统,传输模式可以采用HTTP、RTP/RTSP等多种模式。
- 智能视频分析(Intelligent Video Analytics):
接收来自摄像头的数据,将视频数据流解码成YUV格式,然后根据视频分析要求,对解码后的数据进行预处理,常用的操作包括图像改善(Image Improving),缩放(Image scaling),颜色空间转换(Color space converting)等。图像改善主要针对一些不可视,模糊不清或者震动的图像进行优化处理,以增加视频图像的可分析性,具体包括:红外夜视图像增强处理(Infrared night vision enhancement),光变与阴影抑制处理(Light and shadow suppression),潮汐与物体尺寸过滤处理(Tide and object size filtering),视频图像稳定(Video image stabilization)等。然后针对渲染(render)过的图像序列执行视频分析算法。
常用的视频分析算法可以分为两大类。 第一类以背景建模为基础,进行目标行为识别,简单来讲就是在相对静止的背景图像中找到活动的目标物体,然后根据目标的轮廓、大小等信息对其进行分类,除去无需关心的目标,最终结合剩下的目标轨迹与设置的规则产生报警信号。这类应用包括周界防范、遗弃物检测、徘徊检测等异常行为识别。
第二类以特征识别为基础,常见应用包括
人脸识别和
车牌识别等。与活动目标识别技术不同,特征识别无需背景模型而需要目标物体的特征。因此分析机器需要一个可以用于描述这些特征的数据库,实时分析时在特征库(Feature database)中寻找与监控图像有一定相似度的物体。特征库中储存的特征越多,识别的结果越准确,但需要的计算量也越大。
后台系统接收前面的视频流和相关的视频分析结果,它一方面将被识别的目标轨迹,统计信息,特征匹配等结果在监控画面中进行加亮显示(Highlight),同时根据预设的告警规则,通过预设的方式进行警告。另一方面,后台系统也会对分析结果和存储的视频流进行关联索引,以便在以后需要时,可以对历史事件进行快速检索和显示。
行业的发展趋势和面临的挑战
视频监控行业发展到今天,其监控画面的海量信息已经超出了人力有效的处理范围。由于监控室7x24小时不间断,安防人员在观看监控屏幕时极易造成视觉疲劳,脑力迟钝,发现可疑线索的几率就大大降低。如何在海量的视频监控数据中过滤冗余,提炼出有价值的信息成为一个亟待解决的问题。智能视频分析作为一种有效的预警机制,可以在高风险行为发生之时及时做出提醒,大大提高了视频监控的价值和效率。
智能视频分析融合了计算机视觉 (Computer Vision),图形分析和人工智能等多项技术,其目标是在监控场景跟预设事件之间建立一种映射关系,实现“从看得到,到看得明白”。而这一映射过程会涉及到视频解码,图像处理和分析等复杂算法,如何有效地提供和利用计算机资源,成为实施智能视频分析的关键技术之一。智能视频分析过程需要对大量数据进行计算处理,主要体现在以下几个方面:
- 对获取的视频数据进行解码处理,在运行视频分析算法前需要将视频数据进行解码,解码过程消耗的计算资源与监控通道的路数(Channel)和输入视频的分辨率(Resolution)、码流格(Streaming format)相关。
- 解码后的图像在运行分析算法前,还要进行图像改善(Image improving)、缩放(Image scaling)、颜色空间转换(Color space converting)等操作,然后再在渲染的图像之上再运行图形分析算法。该过程消耗的计算资源与原始图像质量、需要识别的目标和行为种类、分析算法的设计效率等相关。
- 改善后的视频图像除了送往视频分析模块外,还要进行再编码存储,便于将来进行检索回放。
仅仅对视频流进行解码(Decode)和再编码(Encode)操作都需消耗大量的资源,更不用说在解码和编码之间还要进行图像改善和运行复杂的视频分析算法。比如采用第四代至强(Xeon)E5处理器做MPEG2到H.264的高清转码 (HD transcode),只能支持2路实时视频。另一方面,解码后的数据占用大量的内存空间,仅仅10秒左右的H.264高清视频解码后的YUV数据占用存储空间都需将近1G的容量,在做实时视频分析时如何将解码数据高效地共享给视频分析和再编码模块也是重要的考虑因素之一。
目前行业内常用的智能视频分析解决方案可以概括为三大类别,它们各种的特征总结在如下表格中。
视频分析解码方案 |
处理能力 |
功耗 |
灵活性 |
研发成本 |
数字信号处理(DSP) |
中 |
低 |
低 |
高 |
通用计算图形处理单元(GPGPU) |
高 |
高 |
低 |
中 |
至强或酷睿处理器软件方案 (CPU) |
低 |
高 |
高 |
低 |
- 目前DSP(Digital Sgnal Processing)方案主要用于视频监控的前端部署模式下。DSP通常有一些特有的优化指令来提高对图像的处理能力,如图像处理中常见的卷积操作(Convolution operation)等。但和通用处理器相比,在内核个数和时钟频率等方面,DSP始终不具优势。另一方面由于不同厂商的DSP解决方案没有通用性,相互之间可替代性差,系统维护不够灵活,导致研发成本居高不下。
- 以NVIDIA的GPGPU为代表的视频分析方案,它们采用了并行化的计算方式。GPGPU拥有数以千计的核心,擅长处理大量数据。但其CPU和GPU之间的内存共享通过PCIE总线完成,一定程度上也会影响到其内存共享效率。此外和通用处理器相比,其功耗和价格也更高。
- 采用英特尔至强(Xeon)或者酷睿(Core)处理器的纯CPU视频分析方案,在开发便利和灵活性方面具有绝对优势。但CPU并没有对视频处理做更多的优化,所有数据处理都需基于CPU的软件逻辑来搭建,即使在较高的CPU利用率下也很难获得较高的视频吞吐量。
凌华云媒体服务器解决方案
如果能做到兼顾处理能力、功耗和灵活性,同时还可以拥有较低的研发成本,无疑能为客户应对云媒体时代的视频分析挑战树立更多信心。针对这些需求,凌华基于Intel® Media SDK技术推出了MCS-2040视频处理平台,它为云媒体处理而设计,支持大数据处理。在2U的高度内,MCS-2040容纳进了8个独立的E3/i7处理系统,通过使用CPU內建的GPU加速处理单元,相對於純軟件的解決方案而言,仅使用整机1/8能力即可获得6倍于同代至强E5处理器的视频转码性能。同时,它还继承了在Intel处理器上开发的所有优势,如开发调试方便、可平滑升级等。凌华还为MCS-2040提供了MediaManager软件,使其成为视频处理就绪平台,下文将对它们做更详细的介绍。
MCS-2040是凌华针对高性能视频处理需求设计的专用媒体处理平台,它使得用户可以最优的方式使用GPU提供的专用编解码单元及可编程执行单元阵列(Programmable Execution Unit Array),前者保证了固定的编解码任务可以得到快速处理,而后者则提供了更多的灵活性,用户可以通过OpenCL接口把相关的视频分析运算搬移可编程执行单元阵列中执行,进而可以大大加快视频分析的速度。
MCS-2040采用2U设计,最多支持4个媒体处理节点。它支持Intel的主动管理技术(AMT),可以通过网络远程安装系统,或者对系统进行远程开机、关机、和复位等操作。每个处理节点提供如下配置:
- 支持第4代Intel 酷睿i7/i5/i3和至强E3 V3处理器
- 四个DIMM插槽,每个节点最大支持32GB DDR3内存,每个系统16GB
- 四个GbE RJ45 接口,每个系统各两个
- 四个可热插拔的2.5寸SATA硬盘托盘,每个系统各两个
- 1600W冗余电源供电
- PCIe×16插槽可用于扩展10G端口或者光纤通道
图1: MCS-2040采用2U设计,最多支持4个媒体处理节点
此外,MCS-2040也是Intel® Media SDK生态系统中第一款可以支持Xeon E3处理器的媒体处理平台,同时它也支持GPU虚拟化,允许多个虚拟机客户端共享主机的GPU硬件加速单元。MCS-2040除了可以用做前文提到的智能视频分析服务器外,还适用于以下视频处理领域:
- 高密度实时或离线的视频转码服务器。
- 视频会议的多点控制单元(MCU), 包括传统的RTP/RTCP的会议,和新兴的WebRTC (Web Real-Time Communicatione)多点会议
- 基于云的OTT(Over The Top) 视频服务和应用,如虚拟桌面(Remote Virtual Desktop)、云游戏(Cloud gaming)、虚拟机顶盒(Virtualized Set-Top Box)。
下面概括了基于Intel® Media SDK方案的MCS-2040和采用DSP、GPGPU和CPU等传统处理方案的对比优势。
- 和DSP方案对比,基于MCS-2040的研发成本将更低,用户可以基于Native环境开发和调试软件,可以显著的缩短产品的开发周期。而且通过运行Intel® Media SDK也保证了软件的前向兼容性,在其之上开发的软件可以运行在将来升级后的处理器平台之上。
- 和GPGPU方案对比,MCS-2040更具性价比,由于GPU集成在CPU内部,无需额外扩展GPU显卡,这一方面节省了成本,另一方面在长期运维过程中,也可以显著减少对能源的消耗,实现绿色IT。此外,目前视频分析在业界的普遍做法是部分算法在GPU上实现,部分在CPU上完成,所以需要在GPU和CPU之间提供有效的内存共享和同步机制,在这一方面,MCS-2040的CPU/GPU单芯片集成设计无疑更具优势。
- 和至强E5/E7处理方案对比,MCS-2040提供了基于GPU的硬件加速处理,特别是针对视频分析,所有的解码和预处理过程,甚至大部分视频分析算法都可以基于GPU来完成。它以更低的成本,更低的能耗,却可以支持更多的分析路数。以凌华的客户为例,他们利用MCS-2040分析全高清实时视频,获得了高达32x8路的吞吐量。
- 和一般的通用酷睿/至强E3处理平台对比,MCS-2040的设计针对视频处理应用进行了优化,增加了处理密度。其处理密度和1U的酷睿/至强E3通用处理平台相比提升了4倍,更有利于数据中心云基础架构平台的部署。此外MCS-2040提供了带外管理(Side-band management)功能,可以远程安装系统,执行远程开关机和复位等操作,为其在云端的运维提供了支撑。
优势和客户受益
凌华MCS-2040云媒体服务器可以协助客户取得最佳的计算机资源利用效率,提供更具扩展性的系统架构,使用户在运行基于视频分析技术的云计算平台时,可以更高效和经济地实现绿色IT。本章从性能、就绪性、内存共享和大数据等角度总结了凌华MCS-2040云媒体服务器给客户带来的优势和好处。
凌华的MCS-2040云媒体服务器在2U高度内为视频处理带来了8个独立系统的处理能力,部署密度是传统服务器密度的至少4倍。如果仅评估解码能力,MCS-2040单系统可以支持多达40路1080P实时解码;如果评估转码能力,MCS-2040单系统可以支持12路MEPG2到H264的高清实时转码。当评估整个系统的容量时,以上结果还要倍乘以8,而且这一切都是在低于20%的CPU利用率下来实现的,考虑到目前的视频分析算法大部分还要借助于CPU来完成,编解码节省下来的CPU资源无疑可以更加高效地运行视频分析算法。
凌华在MCS-2040 之上提供了MediaManager软件。 MediaManager除了包含Intel® Media SDK的基本功能外,还提供了RTP/RTSP流接收和发送,视频拼接等功能,可以协助客户快速构建端到端的视频监控解决方案。为了方便客户快速搭建基于MCS-2040的智能视频分析服务,
凌华MediaManager还提供了视频分析的参考代码实现 (PoC-Proof of Concept),其基本架构如图3所示。客户既可以基于它们对MCS-2040进行性能评估,也可以基于MediaManager进行二次开发,进而降低技术风险,更快地把最终产品推向市场。
图2:
凌华 MediaManager提供的视频分析案例
在运行智能视频分析算法时,为了发挥CPU和GPU各自的专长(前者擅长逻辑计算,而后者擅长并行化编程),目前的普遍做法是,先在CPU上搭建出分析算法原型,然后将其中GPU比较擅长的处理挪移到GPU上去执行。因此在分析算法运行过程中,不可避免的要在CPU和GPU之间共享数据,如何减少内存复制,进而缩短因内存共享导致的同步等待时间, 成为制约视频分析算法效率高低的关键因素之一。凌华的MediaManager充分利用Intel单芯片异构系统内部数据交互的能力,协助用户优化CPU与GPU之间的内存共享效率,减少因在GPU和CPU之间复制大量数据而导致的性能瓶颈。
随着大数据(Big Data)时代的到来,带来了海量的视频数据存储,如果更好地分析挖掘这些数据是视频监控行业未来重点发展方向之一。凌华MCS-2040采用集群化的计算方式,可以提供几十上百倍于传统服务器的快速分析能力。为了更好的支持大数据处理,MCS-2040针对常用的大数据处理解决方案,如Hadoop和Storm进行了完整的集成测试,保证了客户将来可以更便捷地集成这类解决方案。
为了提高设备的利用率,大数据分析时普遍采用云端部署模式和虚拟化技术。而MCS-2040支持远程管理,包括远程安装OS、远程开关机、远程复位,远程KVM,而这些功能都不依赖于OS目前的运行状态,为设备在云端运维提供了支撑。通过支持GPU虚拟化技术,MCS-2040允许在多个虚拟机间共享GPU的加速处理单元,这允许客户开发基于订阅模式(Subscribe model)的视频分析服务时,可以在同一台主机上同时为多个客户提供独立的分析服务。在非忙(off-peak)时段,可以通过虚拟机迁移把设备的GPU资源利用到极致,进而关闭更多闲置设备,实现绿色节能。
结论
在大数据时代,人们对智能视频分析技术越来越重视,传统人工监视显示器的方式效率低下,监控的及时性、准确性、有效性都不高。智能视频分析依赖视频算法对视频内容进行过滤,从中提取关键信息进行标注或做相关处理。凭借处理器强大的计算能力,智能视频分析可以对海量视频数据进行高效分析,将监控人员从低效的重复性劳动中解放出来,其全新的监控方式去除了人工监视显示器方式下的低效率,市场需求将成井喷式增长。伴着智能视频分析随之而来的是巨大的计算量,客户期望拥有更强的处理能力、更低功耗和更大灵活性,同时拥有较低的研发成本和更快的产品上市时间。凌华MCS-2040云媒体服务器平台,契合市场需求,针对大数据和云视频处理而设计,高效节能,将为用户构建新一代智能监控平台奠定坚实的基础。