a&s专业的自动化&安全生态服务平台
公众号
安全自动化

安全自动化

安防知识网

安防知识网

手机站
手机站

手机站

大安防供需平台
大安防供需平台

大安防供需平台

资讯频道横幅A1
首页 > 资讯 > 正文

基于DSP的智能视频监控系统的设计

智能视频监控系统借助计算机对视频数据进行高速分析、处理与识别,将监控者不需要关注的信息过滤掉,仅提供人与物异常等的关键信息。由于实际场合往往要求系统具有低价、稳定的特点,因而基于嵌入式平台的智能视频监控算法研究越来越受到重视。本文介绍基于DSP智能视频监控系统设计的功能与指标要求、所设计的系统组成与原理、系统的硬件与软件设计等。
资讯频道文章B

  【安防知识网】视频监控系统是安全防范技术系统中的核心。随着光电等现代高科技的发展,以及信息社会发展的需要,视频监控系统已由第一代的模拟视频监控系统,经第二代数字视频监控系统发展到第三代的网络化视频监控系统。所谓网络视频监控,即指通过数字化网络化的视频前端,如网络摄像机或者视频编码器等设备,对所监控视频图像进行数字化编码,再通过计算机网络传输至终端的工作站、服务器上进行浏览,并通过数字存储介质进行录像存储。

     引言

  视频监控系统是安全防范技术系统中的核心。随着光电等现代高科技的发展,以及信息社会发展的需要,视频监控系统已由第一代的模拟视频监控系统,经第二代数字视频监控系统发展到第三代的网络化视频监控系统。所谓网络视频监控,即指通过数字化网络化的视频前端,如网络摄像机或者视频编码器等设备,对所监控视频图像进行数字化编码,再通过计算机网络传输至终端的工作站、服务器上进行浏览,并通过数字存储介质进行录像存储。

  这种网络视频监控系统具有安装部署便捷、节省线缆、轻松实现远程监控访问、可升级性、可扩展性强等传统模拟视频监控系统所不具备的优势,正在成为越来越多的新建、改造、扩展尤其是平安城市的安防监控系统项目的第一选择。但是,根据现有的技术建立的庞大的网络化安防监控系统,已不可能是“实时监控系统”,实际上是一种事后取证的系统,因为它仅提供事发后的录像数据查询。而且,这种大型网络安防监控系统,摄像机的数量大,如果还是用人来观察,则很难提取有价值的信息,因而效果很差,这就失去了一个安防监控系统的预防与积极干预的功能。

  随着网络化视频监控系统的飞速发展,随着平安城市建设的需要,尤其美国9·11及英国2005年7月伦敦爆炸案事件等引起了全世界的震动,其侦破过程对于安防监控系统,特别是智能视频监控系统的发展也起到了巨大的推动作用。所以,网络视频监控系统亟需智能化,即借助计算机强大的数据处理功能,对视频画面海量数据进行高速分析、处理与识别,将监控者不需要关注的信息过滤掉,仅提供人与物异常等的关键信息,一旦识别为异常,即触发启动录像,并进行预/报警,从而使可能发生的事故被制止,以保障国家与人民生命及财产的安全。

  智能视频监控系统主要实现运动检测与识别、目标分类、目标跟踪及事件检测(包括人的行为理解和描述、人为场景物体之间的交互行为等,实际上主要是人与物的异常行为的检测与识别)等智能功能。其中,运动检测与识别、目标分类、目标跟踪等属于低级和中级处理,而事件检测,如人与物的异常行为的检测与识别等则属于高级处理,但它们之间也可能有交叉。传统的数字图像处理通常是将模拟的视频图像信号转换成数字视频信号后,送PC机进行软处理,这不仅不够灵活,其处理能力还受到PC机和软件的限制。而实际场合往往要求系统具有低价、稳定的特点,因而基于嵌入式平台的智能视频监控算法研究越来越受到重视。随着CCD与CMOS摄像机芯片工艺的改进和数字信号处理器DSP功能的提升,使得数据量与计算量较大的图像硬处理成为可能。本文介绍基于DSP智能视频监控系统设计的功能与指标要求、所设计的系统组成与原理、系统的硬件与软件设计等。[nextpage]

  DSP智能视频监控系统设计的功能与指标要求

  系统主要功能

  所需设计的基于DSP(选双核处理)智能视频监控系统主要完成以下的功能。

  1、A核主要功能——实现智能视频监控

  · 运动检测与识别:检测监控场景中的人与物(主要是车辆)等运动目标,并识别其异常而实时报警;

  · 目标分类:能够区分识别监控场景中的人、人群、车辆等目标;

  · 数量统计:在分类的基础上,分别统计场景中目标的数量;

  · 入侵检测:检测非法进入监控场景中的运动目标,并实时报警;

  · 遗留物体检测:检测监控场景中的遗留物体,如箱包、非法爆炸物等,并实时报警;

  · 目标跟踪:实时跟踪监控场景中的运动目标;

  · 摄像机模糊遮挡及其非法移动检测:实时检测监控场景摄像机的工作状态,发现异常则实时报警处理。[nextpage]

  2、B核主要功能——实现视频编码压缩

  B核主要实现视频流的编码压缩处理,保存智能视频监控的结果。

  系统主要指标

  基于DSP智能视频监控系统主要的基本指标要求如下:

  · 智能视频监控软件算法能够灵活切换;

  · DSP的双核能同时工作;

  · 视频处理速度至少在每秒15帧以上;

  · 智能视频监控的结果要能够保存。[nextpage]

  基于DSP智能视频监控系统的结构组成及原理

  根据上述系统功能与指标要求,选用美国模拟器件(ADI)公司的Blackfin 561 DSP数字信号处理器。它具有两个Blackfin处理器内核构成的对称多处理结构,且集成了两个工作频率均高达756MHz的Blackfin处理器内核(ADI公司还提供了低成本的500MHz和600MHz版本)和2.6Mbytes的片上SRAM存储器。该DSP片上存储器被分配于每个内核的专用、高速L1存储器和一个128KBytes大容量共享L2存储器之间。32位外部端口和双16通道DMA控制器提供了极高的数据带宽。它片上外设包括两个并行外设接口(均支持ITU-R 656视频格式化)和支持I2S格式的高速串行端口。该DSP的主要特点是:

  · 双Blackfin内核(每个内核性能高达756 MHz/1512 MMAC,总和达到3024 MMAC)适用于要求苛刻的数字成像和消费类多媒体应用;

  · 328 KByte的大片上存储器 – 被用来作为每个内核单独的L1存储器系统以及共享的L2存储器空间;

  · 为成像和消费类多媒体应用量身打造的高数据吞吐量;

  · 面向应用的外设提供了到多种音频/视频转换器和通用ADC / DAC的无缝连接。

  基于Blackfin 561 DSP的智能视频监控系统采用监控摄像机模式,即对单一摄像机获取原始视频流,并且要求摄像机固定不动和焦距不变,通过使用Blackfin 561 DSP对视频流进行处理以实现智能视频监控功能。系统主要分为以下几个模块:视频输入模块、通信模块、智能视频监控处理模块和视频压缩模块。基于Blackfin 561 DSP的智能视频监控系统组成框架如图1所示。

  系统的工作原理或主要的处理流程如下:

  · 利用视频输入模块,通过摄像机采集一帧图像数据;

  · 将采集进来的视频数据(YUV4∶2∶2格式)进行重采样得到YUV4∶2∶0格式的数据;

  · 在Blackfin 561 DSP上进行视频内容分析(CoreA);

  · 在Blackfin 561 DSP上进行视频编码和压缩(CoreB);

  · 将处理结果和压缩码流传输到PC机上。

  基于DSP智能视频监控系统的硬件设计

  由于本系统使用Blackfin 561 DSP进行开发,因而整个系统可采用一块BF561 EZ-KIT Lite评估板、一台CCD摄像机、一台PC机和一个Blackfin USB-LAN EZ-Extender卡。

  BF561 EZ-KIT Lite评估板主要用来实现智能处理算法以及对视频流的压缩编码功能。因为在BF561 EZ-KIT Lite评估板上包括有:视频处理芯片ADSP BF561;外部总线接口单元(EBIU)、SPORT接口、SPI接口、PPI接口、UART接口、JTAG仿真接口等。视频A/D模块采用ADV7183视频解码芯片。BF561 EZ-KIT Lite评估板结构如图2所示。[nextpage]

  Blackfin USB-LAN EZ-Extender卡

  Blackfin USB-LAN EZ-Extender卡可连接USB设备,并通过网络传输已压缩的视频数据到PC客户端。因为在Blackfin USB-LAN EZ-Extender卡上包含有一个USB 2.0接口;一个10/100自适应网口等。

  CCD摄像机

  这一台CCD摄像机,主要用来采集视频。

  PC客户端

  该PC客户端主要用来接收压缩视频,配置和控制终端控制系统工作方式,并且能够存储系统的输出。

  基于DSP智能视频监控系统的软件设计

  基于Blackfin 561 DSP的智能视频监控系统软件部分,由上层PC监控服务软件和底层DSP监控功能软件两部分组成。上层PC部分主要进行监控功能选择和监控结果的显示,底层DSP部分主要进行智能监控和压缩编码的算法实现。视频监控系统通过使用UART和USB接口作为联系PC和DSP的通道,以实现数据的交换。其中,使用异步串口(UART)作为监控系统与PC端监控软件的通信接口,完成底层监控程序和PC端监控服务软件之间的通信;使用USB控制器作为压缩码流的数据传输接口,完成压缩码流向PC端的输送任务。

[nextpage]

  智能视频监控系统同时使用Blackfin 561 DSP的两个核进行处理,通过PC服务软件和DSP端监控功能软件协同工作,其主要工作流程如图3所示。

  DSP端接收到一帧图像后,利用Blackfin 561 DSP的两个核完成智能视频监控处理和视频编码压缩处理。智能视频监控处理部分,利用Blackfin 561 DSP的核A进行,它首先通过UART通信模块获得PC端监控功能选择模块的当前功能,以及这一功能的相应参数,然后根据相应的功能调用监控功能模块中对应的监控函数进行处理;最后再利用UART通信模块将处理的结果传送到PC端显示。视频编码压缩处理部分,使用Blackfin 561 DSP的核B进行,利用由ADI公司提供的H.264编码函数和USB驱动函数实现,这里就不赘述了。

  PC端进行不同监控功能的切换或调整功能参数,在下一帧输入图像中将进行监控功能的切换和参数的调整。

  客户端软件

  客户端软件是用户实现DSP监控操作的平台,主要由监控软件界面、监控功能选择模块、驱动函数模块组成。

  监控软件界面是监控系统和用户进行信息交互的平台,它整合了各个监控功能模块,用户通过它完成各个监控功能模块的调用、参数的选择、结果的显示等。

  PC监控功能选择模块完成对底层DSP监控功能的调用,从而实现用户需要的相应的监控功能。

  驱动函数模块包括UART驱动和USB驱动。UART驱动的作用是实现上层PC的监控服务软件和底层DSP的监控功能程序之间的UART接口通信;USB驱动的作用是通过USB接口接收底层DSP发送的压缩码流。[nextpage]

  DSP端监控功能软件

  DSP监控功能软件是整个监控功能实现的核心,由监控功能模块、H.264视频压缩模块和UART通信模块组成。

  DSP监控功能模块经PC端监控功能选择模块进行调用,直接负责完成相应的监控功能,并将结果传输到PC端。

  H.264视频压缩模块负责将输入视频图像进行H.264压缩,并使用USB接口将压缩后的视频图像传输到PC端。

  UART通信模块负责利用协议实现和PC端的通信。

  1、DSP监控功能模块

  本文所设计的智能视频监控系统需要实现8个不同的智能视频监控功能。根据监控功能的不同性质和处理手段,主要分为:物体检测与数量统计、自动跟踪、入侵和遗留物体检测、摄像机模糊、遮挡及非法移动等4类不同功能。本模块通过从PC端功能选择模块获取监控信息,选择单一视频监控功能进行处理。监控功能模块流程如图4所示。

  监控功能模块中大部分功能首先都需要进行相同的前期处理过程-运动对象的提取。本系统运动对象的提取主要包括背景建模和连通域标记两个部分,其主要流程如图5所示。

  · 物体检测:物体检测需要根据运动检测的结果判断当前运动物体所属的类别,如人体、四足动物、四轮机动车、非机动车等。其使用高斯背景模型进行运动检测,提取目标的形状特征,并对它们进行分类,最后输出运动物体的位置、类别;

  · 数量统计:数量统计需要在物体检测的基础上,统计各类物体或一类物体的数目,在统计过程中,还需要区分个体和群体。其在分类的基础上,使用计数器统计当前帧中各种目标的数量。最后输出各类物体数目,如个体数目、群体数目;

  · 入侵检测:入侵检测需要判断场景中运动物体是否进入某一固定区域。其在运动检测的基础上,判断目标的位置与标定的”禁入”位置的相对关系,以实现入侵检测,最后输出入侵物体位置和类别;

  · 遗留物体检测:遗留物体检测主要是检测固定区域内箱包类物体的非法滞留问题。具体说,主要是检测行人将箱包等遗留到场景中的情况(重点是为了排除爆炸物和危禁品)。当然,也包括将场景中原有物体拿走的情况。通过判断物体在监控场景中出现的时间的长短,来判断是否为遗留物体,输出遗留物体的位置及大小;

  · 自动跟踪:自动跟踪实现对于运动对象的连续检测,通过对运动物体的跟踪,获得其位置、速度、运动轨迹等运动信息。使用卡尔曼滤波的方法进行目标跟踪,输出运动物体的位置及中心坐标等;

  · 摄像机模糊、遮挡及非法移动检测:摄像机模糊、遮挡及非法移动检测是需要发现影响监控摄像机正常工作或者威胁监控摄像机自身安全的活动。使用DCT变换,统计全局的图像变化信息,判断摄像机是否模糊;利用图像灰度直方图变化信息,判断摄像机是否被遮挡;使用模板匹配的方法,判断摄像机是否非法移动,输出模糊、遮挡及非法移动情况信息和程度。[nextpage]

  系统优化

  1、三缓冲结构

  设置三缓冲组成缓冲区队列。在实际处理过程中,使用其中两个缓冲区进行数据接收,另外一个缓冲区进行图像处理等(具体的三缓冲区结构如图6所示)。

  利用回调函数对缓冲区进行管理,每接收完一整幅图像后产生一次回调。使用三个变量维护当前缓冲区状态,Frame Buffer1和Frame Buffer2用于维护在循环中接收的两个缓冲区,Frame Counter为当前最新接收到的缓冲区。每次接收数据的存储位置根据Frame Buffer1和Frame Buffer2的值决定。

  在主循环过程中,使用一个变量Active Index维护当前处理中的缓冲区。每当开始处理新的一帧时,交换Frame Counter和Active Index的值,并同时更新Frame Buffer1和Frame Buffer2。实现将上一帧处理结束的缓冲区加到输入缓冲中,而将最新一帧缓冲并进行处理的目的。

  2、算法优化

  系统对大部分的功能实现算法进行了优化。在物体检测、数量统计、自动跟踪、入侵检测、遗留物体检测等算法中都需要使用背景模型。因此,系统重点对背景建模算法进行了优化。

  背景建模主要包括两个部分:一是用当前图像和背景模型的均值和方差矩阵进行比较,得到前景图像和更新后的背景模型;二是对前景图像进行膨胀、腐蚀的形态学运算。

  · 背景模型更新:模型更新过程涉及的数据有:当前图像帧缓冲(8位)、当前前景帧图像(8位)、背景均值模型(32位)、背景方差模型(32位)、前景驻留时间矩阵(16位)。为了提高运算速度,需要首先将内存搬运到L1中再进行处理。其步骤如下:

  第一步:在L1内存中分配行缓存区用于计算,采用PINGPONG结构设计双缓冲区。

  第二步:使用两个DMA通道用于输入和输出。首先使用异步DMA方式输入一行输入图像、均值和方差矩阵及驻留时间矩阵,交替使用current和bck指针分别指向输入和处理缓冲区,并不断更新实现双缓冲结构。这里要求从第二行输入起使用同步DMA方式进行传输,因此使用了回调函数Line In Caqll Back和input_index变量,实现依次输入4个缓冲区。

  由于这里要求将输入并计算后的新均值、方差和驻留时间行矩阵传回SDRAM中,因此输出DMA采用异步方式,等待完成后才会开始下一次的DMA输入。这样,在一定程度上,可避免同时向一个SDRAM区读/写内存。[nextpage]

  · 膨胀、腐蚀算法:这里同样也使用行处理方式进行膨胀、腐蚀两步运算。根据膨胀、腐蚀算法的特点,需要输入3行缓冲,然后进行一行的处理。因此,需设计使用6行输入的前景缓冲和两行膨胀、腐蚀处理结果作为3行输入和1行输出双缓冲。由于输入和输出的缓冲区没有冲突问题,因而输入和输出均采用同步模式,并注意输入缓冲增量设为一行。

  结语

  智能视频监控系统借助计算机对视频数据进行高速分析、处理与识别,将监控者不需要关注的信息过滤掉,仅提供人与物异常等的关键信息。一旦识别为异常,即触发启动录像,并进行预/报警,从而使可能发生的事故被制止,以保障国家与人民生命及财产的安全。因此,智能化是数字化网络化视频监控系统发展的方向和必然的产物,应当引起我国各安防监控媒体及企业的重视。

  由于实际应用场合往往要求系统具有低价、稳定的特点,因而必须研究基于嵌入式平台的智能视频监控系统,即将智能视频监控算法固化到DSP中。上面介绍的基于DSP智能视频监控系统的设计,可完全嵌入系统前端的摄像机、DVS与DVR中,以减轻大型系统网络传输带宽的压力。

参与评论
回复:
0/300
文明上网理性发言,评论区仅供其表达个人看法,并不表明a&s观点。
0
关于我们

a&s是国际知名展览公司——德国法兰克福展览集团旗下专业的自动化&安全生态服务平台,为智慧安防、智慧生活、智能交通、智能建筑、IT通讯&网络等从业者提供市场分析、技术资讯、方案评估、行业预测等,为读者搭建专业的行业交流平台。

免责声明:本站所使用的字体和图片文字等素材部分来源于互联网共享平台。如使用任何字体和图片文字有冒犯其版权所有方的,皆为无意。如您是字体厂商、图片文字厂商等版权方,且不允许本站使用您的字体和图片文字等素材,请联系我们,本站核实后将立即删除!任何版权方从未通知联系本站管理者停止使用,并索要赔偿或上诉法院的,均视为新型网络碰瓷及敲诈勒索,将不予任何的法律和经济赔偿!敬请谅解!
© 2020 Messe Frankfurt (Shenzhen) Co., Ltd, All rights reserved.
法兰克福展览(深圳)有限公司版权所有 粤ICP备12072668号 粤公网安备 44030402000264号
用户
反馈