一种无线网络智能视频监控系统的实现方法

文档序号:7788000阅读:436来源:国知局
专利名称:一种无线网络智能视频监控系统的实现方法
技术领域
本发明属于安防技术领域,具体涉及的是一种无线网络智能视频监控系统的实现方法。
背景技术
过去的十年间,互联网技术和嵌入式技术取得了飞速发展,基于上述两种技术的物联网深入到日常生活和生产的各个领域,提高了生产和生活的质量。集计算机技术,网络技术和数字视频技术与一体的视频监控技术应运而生,随着自动控制、多媒体技术和3G技术与视频监控系统的融合,监控技术也得到了迅速发展。监控系统利用网络将分散、独立的图像采集点进行联网,实现跨区域的统一监控、统一管理、资源共享,为用户提供了一种全新的、直观的,扩大视觉范围的管理工具。当前,网络视频监控已经渗透到教育、政府、娱乐场所、医院、酒店、运动场馆、城市治安的多种领域。现有的视频监控系统多数以模拟图像信息为主,不能满足视频实时监控的应用需求,智能化程度较低,而且存在一定的技术缺陷。第一,每路视频需要有各自独立的传输线路,网路利用率低,存在大量的宽带浪费。第二,视频监控系统往往只实现了对图像的实时播放,需要专门的人员一直盯着监控画面,工作量大,系统智能化程度不高。第三,监控系统的搭建需要布置专门的网络线路,搭建过程复杂且成本较高。

发明内容
针对现有技术存在的缺陷,本发明的目的是提供一种无线网络智能视频监控系统的实现方法,能够在充分利用带宽和系统性能的前提下,扩大视频监控的范围,实现对运动物体的检测,提高系统的智能性。本发明中监控系统能够实现对一定范围内场景的实时监控,并按照工作人员的命令任意调整监控角度,实现对监控范围内运动物体的检测和框定,增强了系统的智能化水平。视频数据通过wifibireless fidelity无线保真)由采集系统传输到数据转发模块,再由数据转发模块通过公共有线网络将数据传输到监控中心, 简化了系统搭建流程,增强了系统的可扩展性。为达到上述目的,本发明的技术方案是
一个无线网络智能视频监控参考硬件系统,包括USB摄像头,视频采集板,数据转发板,监控中心PC,舵机。系统中摄像头完成视频图像的采集,视频采集板内完成视频数据的压缩和控制命令的执行,数据转发板完成视频数据和控制命令的转发,监控中心的PC机完成数据解压缩和运动物体检测,舵机控制摄像头监控角度。一种无线网络智能视频监控系统的实现方法,包括以下步骤
(1)视频实时采集,搭载嵌入式Iinux的arm (advanced rise machines 一款处理器平台)平台,通过系统自带的视频采集驱动程序,实现对USB摄像头的初始化,并将采集到的视频数据由内核空间映射到用户空间。
(2)视频图像编码与实时发送,利用开源视频编码库xvidcore提供的函数将视频数据压缩成mpeg4 (moving picture experts group-4动态图像专家组第四代标准)标准的数据,将压缩后的数据封装成rtp (real-time transport protocol,实时传输协议)包, 在各自指定端口将数据发送出去。(3)视频数据和控制命令的转发,转发节点同样为搭载嵌入式Iinux的arm平台, 为视频数据和控制命令分别开启两路线程和一路线程,将视频数据由本地无线网络发送到远程监控中心,并将来自监控中心的控制命令发送到本地无线网络的视频采集节点。(4)视频接收和解压缩,在远程监控中心的PC机,采用同样的开源库,分别将来自指定端口的数据解压缩成RGB图像格式,并显示在画面上。(5)运动物体检测,将解压缩得到的RGB图像格式转化成YUV图像格式,并将当前图像和背景图像在YUV空间进行数据相减,对相减得到数据进行阈值分割,得到运动物体在图像空间中的数据。(6)监控中心实时调整监控摄像头的监控角度,系统通过socket接口将监控中心的控制命令,通过数据转发节点发送到视频采集系统,控制装有摄像头的舵机转动。所述步骤(1)视频实时采集是利用嵌入式Iinux自带的视频采集驱动程序 v412 (video for linux 2)对USB摄像头中的数据进行采集,并映射到应用程序可操作的用户存储空间。其具体步骤为
1)裁剪Iinux内核,将本发明采用的USB摄像头驱动程序编译进内核,烧写到开发板的 flash ;
2)利用v412提供的接口函数对摄像头分别进行初始化,设置采集视频的图像格式和大小;
3)通过mmapOiiemorymap内存映射)函数将存储在内核空间的视频数据映射到应用程序可操作的用户空间;
4)所选用的芯片组内部有jpeg(joint photographic experts group联合图像专家小组)硬件压缩器,调用系统自带的jpeg解码函数对视频数据进行解码;
经过内存映射和jpeg解码,从摄像头采集来的数据以RGB格式以帧为单位存储在各自缓冲区,缓冲区存储3帧图像,对数据的采集和处理在两个线程内进行。所述步骤(2)的视频压缩和发送是指利用开源库将数据编码成mpeg4标准的数据并在设定端口利用rtp传输函数发送出去。具体步骤如下
1)对开源视频编码库xvidcore和开源实时传输库jrtplib进行交叉编译,并将生成的库文件拷贝到嵌入式Iinux的文件系统。2)在主线程建立编码例程和传输线程,并指定数据的发送端口号。3)在视频采集的线程内,调用相应的编码线程,对存储在用户空间的图像数据进行处理,编码成符合mpeg4标准的视频数据。4)由于压缩后的数据体积仍大于最小发送单元的体积,需要按照指定大小对压缩后的数据进行切割,将切割后的数据按照rtp数据包格式进行组包,调用发送线程函数将打包完成的数据在指定端口发送出去。5)通过rtp数据包的标志位,指定属于同一帧图像的数据包,便于监控中心将数据进行组包。
利用v412程序不停地采集摄像头的数据,同时进行压缩和发送。视频采集系统中移植了无线网卡的驱动程序,支持IEEE 802. llb/g协议,带宽为54M,能够满足视频实时传输的需要,能与支持此协议的网卡进行通信。在一定范围内,视频采集系统可安装在任何位置,简化了监控系统的搭建流程。所述步骤(3)的视频数据与控制命令的转发节点,转发节点的硬件软件平台也为 arm和嵌入式linux,转发节点同时支持有线和无线通信,实现了本地无线监控网络和远程监控中心的连接。具体实现步骤如下
1)为视频数据转发开启两个线程,为控制命令转发开启一个线程,线程通过共享存储区进行通信,视频转发线程的共享存储区为3个视频帧大小。 2)在主进程中,创建两个rtp线程,并指定接收发送IP地址,接收发送端口号。其中接收IP地址都为视频采集系统的IP地址,发送IP地址为控制中心PC机的IP地址。接收端口号与视频采集系统设定的发送端口号对应,发送端口号与控制中心设定的接收端口号对应。3)在主进程中创建两个socket线程,并指定接收发送IP地址和接收发送端口号, 接收IP地址为控制中心IP地址,发送IP地址为视频采集IP地址,接收端口号为控制中心设定的发送端口号对应,发送端口号与视频采集系统设定的接收端口号对应。4)在视频数据转发线程中,用信号量控制两个线程对共享存储区的访问,对共享存储区的访问采用队列的方式,接收线程收到的数据放在队列头,发送队列的线程取队列尾的数据进行发送,这个转发过程有条不紊的进行,同时保证数据的流畅传输。5)在控制命令的转发线程中,由于控制命令字节量比较小,当接收到命令数据后, 先检测数据头,当确定为控制命令后,再执行发送线程将控制命令发送到视频接收系统,控制摄像头采集角度的调整。本发明引入数据转发节点的作用是为了充分利用Wifi通信的优点,简化监控系统的搭建流程,便于系统的改建。视频采集系统同时支持有线网络,当监控系统比较简单的时候,可以去除此数据转发节点,视频采集节点直接通过公共网络直接与远程控制中心进行通信。所述步骤(4)的视频接收、解压缩与显示功能由监控中心的PC机完成,此功能的实现对PC机配置的要求不高,一般配置的PC机就可实现实时监控和对监控终端的控制。具体实现步骤如下
1)监控中心软件的开发平台为VC++6.0,建立一个MFC工程,并在工程内移植开源视频编码库xvidcore和开源实时传输库jrtplib。2)在程序中分别增加通信连接类、数据接收类、数据解压缩和图像处理类。3)在主类中实现对三个类的中相关数据的初始化,建立与数据转发节点(数据采集节点)的链接。4)在通信连接类中,建立rtp线程和socket线程,实现与数据转发节点(数据采集节点)的rtp链接和控制命令转发的socket绑定。5)在数据接收类中,在接收线程中,不停监听接收指定端口的信息,接收到数据后,将数据保存在缓冲区,并识别rtp包头中的标志位,对数据进行组包。当接收到完整的一帧数据后,以消息的形式将数据发送到数据处理类中进行处理。
8
6)在数据处理类中,完成对数据的解压缩、显示、截图和录像以及运动物体检测。 对从数据接收类发送过来的数据,首先调用编码库中的函数进行解压缩得到RGB图像。是否进行运动检测由此类中的一个bool量决定,bool量可由工作人员通过监控界面进行设定。当不进行运动物体检测时,解压后得到的RGB图像直接以图片的形式显示在监控界面上,当需要进行运动物体检测时,解压得到RGB图像首先转换成YUV图像,在YUV空间内进行图像的帧差操作,检测得到运动物体的轮廓。7)当检测到截图或录像命令时,数据操作类中的函数将现在加压缩后得到的图像保存为以当前时间命名的bmp格式的图片或者打开一个以当前时间命名的视频文件,将解压缩后得到图片以此存入打开的视频文件中,直到接收到停止录像的命令。由于控制中心需要实现对视频的监控,在图像处理类中要实现对图像数据的解压缩、显示和运动物体检测。所述步骤(5)中实现对运动物体的检测,对运动物体的检测分为光流法、帧差法, 本发明采用帧差法对YUV色彩空间的图像数据进行操作,并对图像进行宏块划分,减小了数据的计算量,增加了实时性。具体步骤如下
1)接收到运动检测的命令后,将解压缩后得到的RGB图片格式转化为YUV图片格式。2)在基于帧差法的运动检测中,占有重要地位的是背景更新策略。本发明在实验分析的基础上提出以下背景更新策略开始运动检测后,以当前帧为背景帧进行帧差法计算,如果没有发现运动物体,每个10帧背景更新一次,每次更新时以当时解压缩得到的图像为背景帧;当检测到运动物体时,停止背景更新,以原有背景帧为背景帧。3)由于YUV的存储顺序为Y1Y2......YnUlU2......UnVlV2......Vn,为了减少减小计
算量,先对数据进行宏块划分,本发明定义以8X8个像素组成一个宏块,对于本发明采用的320 X 240的视频格式,将得到40 X 30个宏块矩阵,对于Y空间每个宏块矩阵中的数组大小为相应的64个像素的Y取平均值,对于U和V空间,每个宏块中数组的大小为相应的16 各像素的U和V取平均值。计算后得到三维色彩空间的宏块矩阵分别为My、Mu、Mv,以这三个宏块矩阵表示图像数据进行帧差计算可减小计算量。4)为了方便对一幅图像中的多个运动物体的检测与框定,对宏块矩阵元素的存储采用先列后行的形式,即从上往下先存储第一列像素数据,再存储第二列像素数据。背景帧数据和前景帧数据分别作上述处理。5)当进行帧差法计算时,分别对YUV三维宏块矩阵进行相减计算,得到差值矩阵。 对得到的三个差值矩阵分别进行二值化处理,对Y空间的差值矩阵取阈值为15,对U和V空间的差值矩阵取阈值为5。二值化完成后,存储每个宏块矩阵中非零元素的坐标值,对U和V空间中的坐标值取或操作,再用取或操作后得到的坐标值和Y空间的坐标值取与操作,最终得到图像空间中运动物体范围的坐标值。6)完成运动物体的检测后,实现对运动物体的框定,可选择两种框定形式,一种为宏块框定,这样能很好的反应运动物体的轮廓,另一种框定形式为矩形框定。当进行矩形框定时,首先计算一个图像范围内每个运动物体的横纵坐标的最大值和最小值,以这四个值为端点做矩形,实现对运动物体的分别框定。7)当标志运动物体检测的bool量为false时,或者检测到控制命令,摄像机转动角度的时候,将停止对运动物体的检测。实验表明,本发明提出的帧差法能有效精确的检测到图像范围内的运动物体,并可以对多个运动物体分别进行框定,有效地提高了监控系统的智能化水平,保证了安防的安全性。两路视频数据可同时进行运动检测也可以分别进行运动检测。所述步骤(6)中,实现了远程监控中心对本地视频采集系统的控制,因为实时性要求不是很高,控制命令采用socket编程进行传输。具体步骤如下
1)在通信类中建立socket例程,并实现与数据转发节点(视频采集系统)的绑定。2)创建一个命令格式,用于控制命令的有效传输,本发明中,命令格式如下3)当检测到命令要发送后,按照命令格式组成完整命令,通过socket发送函数发送出去,实现对摄像头摄像角度的调整。


图1为本发明参考硬件系统结构框图。图2为本发明所使用的实验平台。图3为本发明程序流程图。图4为数据转发模块流程图。图5为运动物体检测模块流程图。图6为实验结果截图之一。图7为实验结果截图之二。
具体实施例方式下面结合附图对本发明的实施做详细说明
如图1所示,一个无线网络智能视频监控参考硬件系统,包括USB摄像头,视频采集板, 数据转发板,监控中心PC,舵机。系统中摄像头完成视频图像的采集,视频采集板内完成视频数据的压缩和控制命令的执行,数据转发板完成视频数据和控制命令的转发,监控中心的PC机完成数据解压缩和运动物体检测,舵机控制摄像头监控角度。如图2所示,本发明的实验平台由两块arm开发板组成,在每块开发板上移植有嵌入式Iinux操作系统(版本为2. 6. 31),左边一块开发板作为数据转发模块,使用的外围接口有USB无线网卡(采用的是华硕的wl_167g无线网卡),以太网接口。其中通过USB无线网卡与视频采集模块连接,通过以太网模块与远程控制中心连接。右边一块开发板作为视频采集模块,使用到的外围接口有USB无线网卡,USB摄像头(摄像头采用中星微公司的 zc301芯片组),内置用硬件jpeg压缩器,pwm (pulse width modulation脉宽幅度调制) 接口和串口,其中通过USB无线网卡与数据转发模块连接,利用USB摄像头采集视频图像, 用pwm接口控制舵机转动,实现摄像机角度调节,通过串口线与控制台连接,在系统调试时使用。如图3所示,一个无线网络智能视频监控系统的实现方法,包括以下步骤(1)视频实时采集,搭载嵌入式1 inux的arm平台,通过系统自带的视频采集驱动程序, 实现对USB摄像头的初始化,并将采集到视频数据由内核空间映射到用户空间。(2)视频图像编码与实时发送,利用开源视频编码库xvidcore提供的函数将视频数据压缩成mpeg4标准的数据,将压缩后的数据封装成rtp包,在各自指定端口将数据发送出去。(3)视频数据和控制命令的转发,转发节点同样为搭载嵌入式Iinux的arm平台, 为两路视频数据和一路控制命令分别开启两路线程,将视频数据由本地无线网络发送到远程监控中心,将来自监控中心的控制命令发送到本地无线网络的视频采集节点。(4)视频接收和解压缩,在远程监控中心的PC机,采用同样的开源库,分别将来自指定端口的数据解压缩成RGB图像格式,并显示在画面上。(5)运动物体检测模块,将解压缩得到的RGB图像格式转化成YUV图像格式,并用当前图像和背景图像在Y空间进行数据相减,对相减得到数据进行阈值分割,得到运动物体在图像空间中的数据。(6)监控中心可实时调整监控摄像头的监控角度,系统能够通过socket接口将监控中心的控制命令,通过数据转发节点发送到视频采集系统,控制装有摄像头的舵机转动。如图4所示,步骤(3 )为视频数据和控制命令的转发,所述步骤(3 )的视频数据与控制命令的转发节点,转发节点的硬件软件平台也为arm和嵌入式linux,转发节点同时支持有线和无线通信,实现了本地无线监控网络和远程监控中心的连接。具体实现步骤如下
1)为视频数据转发开启两个线程,为控制命令转发开启一个线程,线程通过共享存储区进行通信,视频转发线程的共享存储区为3个视频帧大小。2)在主进程中,创建两个rtp线程,并指定接收发送IP地址,接收发送端口号。其中接收IP地址都为视频采集系统的IP地址,发送IP地址为控制中心PC机的IP地址。接收端口号与视频采集系统设定的发送端口号对应,发送端口号与控制中心设定的接收端口号对应。3)在主进程中创建两个socket线程,并指定接收发送IP地址和接收发送端口号, 接收IP地址为控制中心IP地址,发送IP地址为视频采集IP地址,接收端口号为控制中心设定的发送端口号对应,发送端口号与视频采集系统设定的接收端口号对应。4)在视频数据转发线程中,用信号量控制两个线程对共享存储区的访问,对共享存储区的访问采用队列的方式,接收线程收到的数据放在队列头,发送队列的线程取队列尾的数据进行发送,这个转发过程有条不紊的进行,同时保证数据的流畅传输。5)在控制命令的转发线程中,由于控制命令字节量比较小,当接收到命令数据后, 先检测数据头,当确定为控制命令后,再执行发送线程将控制命令发送到视频接收系统,控制摄像头采集角度的调整。本发明引入数据转发节点的作用是为了充分利用Wifi通信的优点,简化监控系统的搭建流程,便于系统的改建。视频采集系统同时支持有线网络,当监控系统比较简单的时候,可以去除此数据转发节点,视频采集节点直接通过公共网络直接与远程控制中心进行通信。如图5所示,步骤(5)中实现对运动物体的检测,对运动物体的检测分为光流法、帧差法,本发明采用帧差法对YUV色彩空间的图像数据进行操作,并对图像进行宏块划分, 减小了数据的计算量,增加了实时性。具体步骤如下
1)接收到运动检测的命令后,将解压缩后得到的RGB图片格式转化为YUV图片格式。2)在基于帧差法的运动检测中,占有重要地位的是背景更新策略。本发明在实验分析的基础上提出以下背景更新策略开始运动检测后,以当前帧为背景帧进行帧差法计算,如果没有发现运动物体,每个10帧背景更新一次,每次更新时以当时解压缩得到的图像为背景帧;当检测到运动物体时,停止背景更新,以原有背景帧为背景帧。3)由于YUV的存储顺序为Y1Y2......YnUlU2......UnVlV2......Vn,为了减少减小计
算量,先对数据进行宏块划分,本发明定义以8X8个像素组成一个宏块,对于本发明采用的320 X 240的视频格式,将得到40 X 30个宏块矩阵,对于Y空间每个宏块矩阵中的数组大小为相应的64个像素的Y取平均值,对于U和V空间,每个宏块中数组的大小为相应的16 各像素的U和V取平均值。计算后得到三维色彩空间的宏块矩阵分别为My、Mu、Mv,以这三个宏块矩阵表示图像数据进行帧差计算可减小计算量。4)为了方便对一幅图像中的多个运动物体的检测与框定,对宏块矩阵元素的存储采用先列后行的形式,即从上往下先存储第一列像素数据,再存储第二列像素数据。背景帧数据和前景帧数据分别作上述处理。5)当进行帧差法计算时,分别对YUV三维宏块矩阵进行相减计算,得到差值矩阵。 对得到的三个差值矩阵分别进行二值化处理,对Y空间的差值矩阵取阈值为15,对U和V空间的差值矩阵取阈值为5。公式如下
二值化完成后,存储每个宏块矩阵中非零元素的坐标值,对U和V空间中的坐标值取或操作,再用取或操作后得到的坐标值和Y空间的坐标值取与操作,最终得到图像空间中运动物体范围的坐标值。6)完成运动物体的检测后,实现对运动物体的框定,可选择两种框定形式,一种为宏块框定,这样能很好的反应运动物体的轮廓,另一种框定形式为矩形框定。当进行矩形框定时,首先计算一个图像范围内每个运动物体的横纵坐标的最大值和最小值,以这四个值为端点做矩形,实现对运动物体的分别框定。7)当标志运动物体检测的bool量为false时,或者检测到控制命令,摄像机转动角度的时候,将停止对运动物体的检测。实验表明,本发明提出的帧差法能有效精确的检测到图像范围内的运动物体,并可以对多个运动物体分别进行框定,有效地提高了监控系统的智能化水平,保证了安防的安全性。两路视频数据可同时进行运动检测也可以分别进行运动检测。如图6,图7所示,为本发明的实验部分,即功能验证部分。如图6所示,为没有开启运动物体检测功能的监控界面截图。如图6 (a)所示,为初始化时的监控图像,如图6 (b)所示为调整摄像头角度后的监控界面截图,可以验证监控系统的基本功能已经实现,而且控制中心对摄像头摄像角度的控制功能也可实现。如图7所示,为开启运动物体检测功能的监控界面的截图。如图7 (a)所示,为当一个人经过监控场景时的界面截图,如图7 (b)所示,为当两个人经过监控场景时的界面截图。图7 (a)、7 (b)所示为用矩形框对运动物体实现框定,图7 (c)所示为用计算所得宏块对运动物体框定。 由图6、图7所示,本智能视频监控系统的功能已全部实现。
权利要求
1.一种无线网络智能视频监控系统的实现方法,其特征在于,包括以下步骤(1)视频实时采集,搭载嵌入式1inux的arm平台,通过系统自带的视频采集驱动程序, 实现对USB摄像头的初始化,并将采集到的视频数据由内核空间映射到用户空间;(2)视频图像编码与实时发送,利用开源视频编码库xvidcore提供的函数将视频数据压缩成mpeg4标准的数据,将压缩后的数据封装成rtp包,在各自指定端口将数据发送出去;(3)视频数据和控制命令的转发,转发节点同样为搭载嵌入式Iinux的arm平台,为视频数据和一路控制命令分别开启两路线程和一路线程,将视频数据由本地无线网络发送到远程监控中心,并将来自监控中心的控制命令发送到本地无线网络的视频采集节点;(4)视频接收和解压缩,在远程监控中心的PC机,采用同样的开源库,分别将来自指定端口的数据解压缩成RGB图像格式,并显示在画面上;(5)运动物体检测,将解压缩得到的RGB图像格式转化成YUV图像格式,并将当前图像和背景图像在YUV空间的数据相减,对相减得到数据进行阈值分割,得到运动物体在图像空间中的数据;(6)监控中心实时调整监控摄像头的监控角度,系统通过socket接口将监控中心的控制命令,通过数据转发节点发送到视频采集系统,控制装有摄像头的舵机转动。
2.根据权利要求1所述的一种无线网络智能视频监控系统的实现方法,其特征在于, 所述步骤(1)视频实时采集是利用嵌入式Iinux自带的视频采集驱动程序v412对USB摄像头中的数据进行采集,并映射到应用程序可操作的用户存储空间;其具体步骤为裁剪Iinux内核,将USB摄像头驱动程序编译进内核,烧写到开发板的flash ;利用v412提供的接口函数对摄像头分别进行初始化,设置采集视频的图像格式和大通过mmap函数将存储在内核空间的视频数据映射到应用程序可操作的用户空间;所选用的芯片组内部有jpeg硬件压缩器,调用系统自带的jpeg解码函数对视频数据进行解码;经过内存映射和jpeg解码,从摄像头采集来的数据以RGB格式以帧为单位存储在各自缓冲区,缓冲区存储3帧图像,对数据的采集和处理在两个线程内进行。
3.根据权利要求1所述的一种无线网络智能视频监控系统的实现方法,其特征在于, 所述步骤(2)的视频压缩和发送是指利用开源库将数据编码成mpeg4标准的数据并在设定端口利用rtp传输函数发送出去;具体步骤如下1)对开源视频编码库xvidcore和开源实时传输库jrtplib进行交叉编译,并将生成的库文件拷贝到嵌入式Iinux的文件系统;2)在主线程建立编码例程和传输线程,并指定数据的发送端口号;3)在视频采集的线程内,调用相应的编码线程,对存储在用户空间的图像数据进行处理,编码成符合mpeg4标准的视频数据;4)由于压缩后的数据体积仍大于最小发送单元的体积,需要按照指定大小对压缩后的数据进行切割,将切割后的数据按照rtp数据包格式进行组包,调用发送线程函数将打包完成的数据在指定端口发送出去;5)通过rtp数据包的标志位,指定属于同一帧图像的数据包,便于监控中心将数据进行组包;利用v412程序不停地采集摄像头的数据,同时进行压缩和发送;视频采集系统中移植了无线网卡的驱动程序,支持IEEE 802. llb/g协议,带宽为54M,能够满足视频实时传输的需要,能与支持此协议的网卡进行通信;在一定范围内,视频采集系统可安装在任何位置, 简化了监控系统的搭建流程。
4.根据权利要求1所述的一种无线网络智能视频监控系统的实现方法,其特征在于, 所述步骤(3)的视频数据与控制命令的转发节点,转发节点的硬件软件平台也为arm和嵌入式linux,转发节点同时支持有线和无线通信,实现了本地无线监控网络和远程监控中心的连接;具体步骤如下1)为视频数据转发开启两个线程,为控制命令转发开启一个线程,线程通过共享存储区进行通信,视频转发线程的共享存储区为3个视频帧大小;2)在主进程中,创建两个rtp线程,并指定接收发送IP地址,接收发送端口号;其中接收IP地址都为视频采集系统的IP地址,发送IP地址为控制中心PC机的IP地址;接收端口号与视频采集系统设定的发送端口号对应,发送端口号与控制中心设定的接收端口号对应;3)在主进程中创建两个socket线程,并指定接收发送IP地址和接收发送端口号,接收 IP地址为控制中心IP地址,发送IP地址为视频采集IP地址,接收端口号为控制中心设定的发送端口号对应,发送端口号与视频采集系统设定的接收端口号对应;4)在视频数据转发线程中,用信号量控制两个线程对共享存储区的访问,对共享存储区的访问采用队列的方式,接收线程收到的数据放在队列头,发送队列的线程取队列尾的数据进行发送,这个转发过程有条不紊的进行,同时保证数据的流畅传输;5)在控制命令的转发线程中,由于控制命令字节量比较小,当接收到命令数据后,先检测数据头,当确定为控制命令后,再执行发送例程将控制命令发送到视频接收系统,控制摄像头采集角度的调整;视频采集系统同时支持有线网络,当监控系统比较简单的时候,可以去除此数据转发节点,视频采集节点直接通过公共网络直接与远程控制中心进行通信。
5.根据权利要求1所述的一种无线网络智能视频监控系统的实现方法,其特征在于, 所述步骤(4)的视频接收、解压缩与显示功能由监控中心的PC机完成,此功能的实现对PC 机配置的要求不高,一般配置的PC机就可实现实时监控和对监控终端的控制;具体步骤如下1)监控中心软件的开发平台为VC++6.0,建立一个MFC工程,并在工程内移植开源视频编码库xvidcore和开源实时传输库jrtplib ;2)在程序中分别增加通信连接类、数据接收类、数据解压缩和图像处理类;3)在主类中实现对三个类的中相关数据的初始化,建立与数据转发节点或数据采集节点的链接;4)在通信连接类中,建立rtp例程和socket例程,实现与数据转发节点或数据采集节点的rtp链接和控制命令转发的socket绑定;5)在数据接收类中,在接收线程中,不停监听接收指定端口的信息,接收到数据后,将数据保存在缓冲区,并识别rtp包头中的标志位,对数据进行组包;当接收到完整的一帧数据后,以消息的形式将数据发送到数据处理类中进行处理;6)在数据处理类中,完成对数据的解压缩、显示、截图和录像以及运动物体检测;对从数据接收类发送过来的数据,首先调用编码库中的函数进行解压缩得到RGB图像;是否进行运动检测由此类中的一个bool量决定,bool量可由工作人员通过监控界面进行设定;当不进行运动物体检测时,解压后得到的RGB图像直接以图片的形式显示在监控界面上,当需要进行运动物体检测时,解压得到RGB图像首先转换成YUV图像,在YUV空间内进行图像的帧差操作,检测得到运动物体的轮廓;7)当检测到截图或录像命令时,数据操作类中的函数将现在加压缩后得到的图像保存为以当前时间命名的bmp格式的图片或者打开一个以当前时间命名的视频文件,将解压缩后得到图片以此存入打开的视频文件中,直到接收到停止录像的命令;由于控制中心需要实现对视频的监控,在图像处理类中要实现对图像数据的解压缩、 显示和运动物体检测。
6.根据权利要求1所述的一种无线网络智能视频监控系统的实现方法,其特征在于, 所述步骤(5)中实现对运动物体的检测,采用帧差法对YUV色彩空间的图像数据进行操作, 并对图像进行宏块划分,减小了数据的计算量,增加了实时性;具体步骤如下1)接收到运动检测的命令后,将解压缩后得到的RGB图片格式转化为YUV图片格式;2)在基于帧差法的运动检测中,占有重要地位的是背景更新策略;在实验分析的基础上提出以下背景更新策略开始运动检测后,以当前帧为背景帧进行帧差法计算,如果没有发现运动物体,每个10帧背景更新一次,每次更新时以当时解压缩得到的图像为背景帧; 当检测到运动物体时,停止背景更新,以原有背景帧为背景帧;3)由于YUV的存储顺序为Y1Y2……YnUlU2……UnVlV2……Vn,为了减小计算量,先对数据进行宏块划分,定义以8X8个像素组成一个宏块,对于320X240的视频格式,将得到 40 X 30个宏块矩阵,对于Y空间每个宏块矩阵中的数组大小为相应的64个像素的Y取平均值,对于U和V空间,每个宏块中数组的大小为相应的16各像素的U和V取平均值;计算后得到三维色彩空间的宏块矩阵分别为My、Mu、Mv,以这三个宏块矩阵表示图像数据进行帧差计算可减小计算量;4)为了方便对一幅图像中的多个运动物体的检测与框定,对宏块矩阵元素的存储采用先列后行的形式,即从上往下先存储第一列像素数据,再存储第二列像素数据;背景帧数据和前景帧数据分别作上述处理;5)当进行帧差法计算时,分别对YUV三维宏块矩阵进行相减计算,得到差值矩阵;对得到的三个差值矩阵分别进行二值化处理,对Y空间的差值矩阵取阈值为15,对U和V空间的差值矩阵取阈值为5 ;二值化完成后,存储每个宏块矩阵中非零元素的坐标值,对U和V空间中的坐标值取或操作,再用取或操作后得到的坐标值和Y空间的坐标值取与操作,最终得到图像空间中运动物体范围的坐标值;6)完成运动物体的检测后,实现对运动物体的框定,可选择两种框定形式,一种为宏块框定,这样能很好的反应运动物体的轮廓,另一种框定形式为矩形框定;当进行矩形框定时,首先计算一个图像范围内每个运动物体的横纵坐标的最大值和最小值,以这四个值为端点做矩形,实现对运动物体的分别框定;7)当标志运动物体检测的bool量为false时,或者检测到控制命令,摄像机转动角度的时候,将停止对运动物体的检测。
7.根据权利要求1所述的一种无线网络智能视频监控系统的实现方法,其特征在于,所述步骤(6)中,实现了远程监控中心对本地视频采集系统的控制,因为实时性要求不是很高,控制命令采用socket编程进行传输;具体步骤如下在通信类中建立socket例程,并实现与数据转发节点(视频采集系统)的绑定;创建一个命令格式,用于控制命令的有效传输,命令格式如下:「ooooiolo Ixxxxxxxx |命令头定义为0x0a,后面一个字节定义为命令内容;当检测到命令要发送后,按照命令格式组成完整命令,通过socket发送函数发送出去,实现对摄像头摄像角度的调整。
全文摘要
本发明提供了一种无线网络智能视频监控系统的实现方法,包括以下步骤(1)视频实时采集;(2)视频图像编码及实时发送;(3)数据转发;(4)视频接收、解压缩及显示;(5)运动物体检测;(6)摄像头角度任意调整。本发明能够实现一个视频监控系统对一定范围场景的实时监控,而且摄像头的角度可根据工作人员的需要任意调整,增大了视频监控的范围;加入了对运动物体的检测和框定,并增加了对特定图像的保存和录像功能,增强了监控系统的智能性,减少了工作人员的工作量;本发明的视频采集系统与数据转发模块采用wifi相连接,数据转发模块与监控系统采用公共网络连接,简化了系统的搭建步骤,减少了系统搭建成本,增强了系统的可扩展性。
文档编号H04N7/18GK102413320SQ20111043002
公开日2012年4月11日 申请日期2011年12月21日 优先权日2011年12月21日
发明者周勇飞, 岳天松, 徐昱琳, 晁衍凯, 杨凤云, 杨永焕 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1