一种基于DirectShow技术的智能视频监控系统的制作方法

文档序号:10691495阅读:264来源:国知局
一种基于DirectShow技术的智能视频监控系统的制作方法
【专利摘要】本发明公开了一种基于DirectShow技术的智能视频监控系统,包括DirectShow组件模块,用于搭建原始视频流链路,捕获原始视频流,将原始视频流进行分流;视频显示设置模块,用于设置图像显示画面格式,返回给DirectShow组件模块进行实时显示;运动目标检测模块,用于检测监控区域内的运动目标,将有运动目标的图像数据传输到DirectShow组件模块存储为视频文件并报警,否则,自动丢弃没有运动目标的图像数据;数据编码压缩模块,用于将DirectShow组件模块已保存的视频文件进行后续编码压缩再存储,并删除原视频文件。本发明解决了工程实践中缺少开发简单但准确度较高的视频监控系统的技术问题,其还具有成本低、计算速度快、实时性更好的优点。
【专利说明】
-种基于D i rectShow技术的智能视频监控系统
技术领域
[0001] 本发明属于智能监控技术领域,尤其设及一种视频监控系统。
【背景技术】
[0002] Direct化0W是Windows平台下的流媒体处理的开发包,它可W接受来自于不同的 数据源的数据流、处理不同媒体格式,兼备与底层硬件设备和高层应用软件的交互的能力, 从Windows?W后它与Windows SDK封装在一起发布。DirectShow提供开放式开发环境,开发 人员根据自己所需,来定制过滤器组件,扩展功能。
[0003] ffmpeg是十分强大的多媒体音视频编解码开源框架,可W实现音视频流采集、记 录、编码、解码、转换等,它提供了很多开源库,能在多种平台下编译运行。
[0004] 随着互联网和多媒体技术飞速发展,视频监控系统被广泛用于各种监控站点,然 而传统视频数据主要用于实时查看和事后分析。随着计算机视觉识别技术的发展和提供, 智能监控系统正有取代传统视频监控装置的趋势,智能监控系统将事后分析变成了实时分 析和预警,减轻了人员的负担,也减少事故发展的概率。其中移动目标检测是智能监控的一 个重要组成部分,有许多运动目标检测方法被提出和采用。然而运其中大多数算法的复杂 度较高、计算速度慢,导致实时性比较差,通常是用于仿真分析中,在工程实践中很少用到。

【发明内容】

[0005] 本发明的目的在于:提供一种基于Direct化OW技术的智能视频监控系统,W解决 工程实践中缺少开发简单但准确度较高的视频监控系统的技术问题,其还具有成本低、计 算速度快、实时性更好的优点。
[0006] 本发明采用的技术方案如下:
[0007] 一种基于Direct化OW技术的智能视频监控系统,包括
[000引Direct化OW组件模块,用于搭建原始视频流链路,捕获原始视频流,将原始视频流 进行分流;
[0009] 视频显示设置模块,用于获取原始视频流分流后的图像数据,并设置图像显示画 面格式,返回给Direct化OW组件模块进行实时显示;
[0010] 运动目标检测模块,用于获取和处理Direct化OW组件模块中原始视频流分流后的 图像数据,检测监控区域内的运动目标,将有运动目标的图像数据传输到Direct化OW组件 模块存储为视频文件并报警,否则,自动丢弃没有运动目标的图像数据;
[0011] 数据编码压缩模块,用于将Direct化OW组件模块已保存的视频文件进行后续编码 压缩再存储,并删除原视频文件;
[0012] 原始视频流经Direct化OW组件模块捕获并分流到视频显示设置模块和运动目标 检测模块进行处理,经视频显示设置模块处理后的图像数据被发送到Direct化OW组件模块 进行显示;经运动目标检测模块处理后的图像数据被发送到Direct化OW组件模块进行存 储,最后利用数据编码压缩模块对已存储的原视频文件进行后续编码压缩再存储,并删除 原视频文件。
[0013] 进一步的,DirectShow组件模块包括
[0014] 视频采集模块,用于捕获原始视频流数据;
[0015] 视频分流模块,用于对原始视频流进行两路分流;
[0016] 视频显示模块,用于接收视频显示设置模块的图像数据并进行显示;
[0017] 视频存储模块,用于视频存储。
[0018] 进一步的,视频采集模块采用模拟摄像机或数字摄像机。
[0019] 进一步的,视频显示设置模块为基于Direct化0W封装技术的自定义过滤器组件, 其包括一个标准图像输入接口和一个标准图像输出接口。
[0020] 进一步的,运动目标检测模块,还用于标志进入监控区域内的运动目标。
[002。 进一步的,数据编码压缩模块为一个基于ffmpeg编码器的后台进程,与 Direct化0W组件模块、视频显示设置模块和运动目标检测模块不在同一进程中。
[0022] 进一步的,运动目标检测模块,根据其实现原理,包括
[0023] 图像预处理模块,用于对视频图像进行灰度化处理、去噪、W及图像增强;
[0024] 帖间差分模块,用于计算帖间差分图像,判断运动目标出现;
[0025] 背景差分模块,用于对背景图像进行更新,并计算背景差分图像,获得运动目标的 形状和位置;
[0026] 运动判断模块,用于根据帖间差分图像,判断运动目标出现;根据背景差分图像, 获得运动目标的形状和位置,W检测监测区域内的运动目标;当有目标出现时,通知报警模 块,并将有运动目标的图像数据发送至下一级(即Di rect化0W组件模块的视频存储模块);
[0027] 报警模块,用于检测到运动目标时发出报警信号,当发生报警时,向Filter Gra地 Manager发送通知事件,Filter Gra地Manager再向应用程序发送消息。
[0028] 综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0029] 1.本发明基于Direct化0W封装技术,利用Direct化0W封装技术使得开发更为简 单、方便,将多媒体开发和智能检测相结合,即将DirectShow组件模块、视频显示设置模块、 运动目标检测模块和数据编码压缩模块结合在一起,提供了一种智能视频监控方案,当运 动目标出现时,发出报警,减轻了监控人员的负担,并将有运动目标的图像传送至下一级进 行存储,否则自动丢弃,节约存储空间,运种系统不但能保证较高的准确度,还具有成本低、 计算速度快、实时性更好的优点。
[0030] 2.数据编码压缩模块为后台进程,利用开源的、稳定的ffmpeg编码器实现编码压 缩,不仅可W降低开发难度、缩短开发周期、提高压缩比率、节约存储空间,并且数据压缩编 码是属于后台的另一个进程,多进程处理系统解决了单进程系统用户显示界面卡顿问题。
【附图说明】
[0031] 图1为本发明结构示意图;
[0032] 图2为视频显示设置模块示意图;
[0033] 图3为运动目标检测模块示意图;
[0034] 图4为运动目标检测算法流程图。
【具体实施方式】
[0035] 本说明书中公开的所有特征,除了互相排斥的特征和/或步骤W外,均可任何 方式组合。
[0036] 下面结合图1~图4对本发明作详细说明。
[0037] 一种基于Direct化OW技术的智能视频监控系统,包括
[0038] Direct化OW组件模块,用于搭建原始视频流链路,捕获原始视频流,将原始视频流 进行分流;
[0039] 视频显示设置模块,用于获取原始视频流分流后的图像数据,并设置图像显示画 面格式,设置内容包括图像左右翻转、上下翻转、规定尺寸大小、帖速率等,方便用户查看图 像;
[0040] 运动目标检测模块,用于获取和处理Direct化OW组件模块中原始视频流分流后的 图像数据,检测监控区域内的运动目标,将有运动目标的图像数据传输到Direct化OW组件 模块存储为视频文件并报警,否则,自动删除没有运动目标的图像数据;
[0041] 数据编码压缩模块,用于将Direct化OW组件模块已保存的原视频文件进行后续编 码压缩再存储,并删除原视频文件。
[0042] Direct化OW组件模块包括四个子模块,即:
[0043] 视频采集模块,即Source Filter组件,并利用Source Filter组件捕获原始视频 流数据,W获取源源不断的视频图像;通过系统枚举获得计算机上安装的硬件摄像机资源, 摄像机采用模拟摄像机或数字摄像机;当选择模拟摄像机时,需要视频采集卡配合使用,也 可选择数字摄像机,直接通过计算机接口传输视频流序列,格式可W是YUV等。
[0044] 视频分流模块,即DirectShow提供的Sm;wt TeeFilter组件,对每一个摄像机穿入 的原始视频流进行两路分流,两路分流并行处理;其中一路通过Smart TeeFilter组件的 Preview输出接口进入图像预处理模块,一路通过Sm;wt TeeFilter组件的化pture输出接 口进入运动目标检测模块;
[0045] 视频显示模块,即DirectShow提供的Video Renderer组件,其输入接口接收图像 预处理模块的图像数据,并将非压缩格式的原始数据提交至显卡,最后可W将视频图像擅 染在用户界面上;
[0046] 视频存储模块,即DirectShow提供的File Writer组件,其输入端还连接有一个 AVI Mux组件,当需要保存视频图像数据时,视频存储模块将图像数据W文件的形式写入磁 盘,进行存储。
[0047] 原始视频流经Direct化OW组件模块捕获并分流到图像预处理模块和运动目标检 测模块进行处理,经图像预处理模块处理后的图像数据被发送到DirectShow组件模块进行 显示;经运动目标检测模块处理后的图像数据被发送到Direct化OW组件模块进行存储,最 后利用数据编码压缩模块对已存储的原视频文件进行后续编码压缩再存储,并删除原视频 文件。
[004引视频显示设置模块为基于Direct化OW封装技术的自定义过滤器组件,继承至 CTransfo;rmFilte;r类,其包括一个标准图像输入接口和一个标准图像输出接口;视频显示 设置模块的组件基本属性包括:左右翻转、上下翻转、尺寸、帖速。标准图像输入接口接收从 视频分流模块的Preview输出接口传来的图像数据(即视频图像数据),判断图像格式是否 为RGB格式,否则先进行转换,所W需要重写化eckInputTypeO函数;然后视频显示设置模 块根据组件基本属性中的尺寸大小,创建一个新的内存缓存区,根据组件基本属性设置,通 过内存拷贝,对原图形进行变换并保存至新的内存缓存区,运一部分在化ansformO函数中 完成,由标准图像输出接口将内存缓存区指针传送至下一级过滤器组件的输入接口,也就 是视频显示模块的输入接口。
[0049] 数据编码压缩模块为一个后台进程,与Direct化OW组件模块、图像预处理模块、运 动目标检测模块和报警模块不在同一进程中。
[0050] 数据编码压缩模块采用的是基于ffmpeg开源库的编码器;编码器为基于libx264 的视频编码器,视频编码标准是Η. 264格式,压缩后的视频文件存储格式是AVI格式。
[0051] 数据编码压缩模块,是一个架构比较简单的基于ffmpeg编码器的后台处理进程。 W命令行形式,采用libx264编码库,WH. 264编码格式进行压缩,最终存储为AVI格式文件。 同时编码压缩完后,将原来未压缩的视频文件进行删除,节约硬盘存储空间。
[0化2] 运动目标检测模块,是自定义的过滤器组件,继承至CTransformFilter类,需要重 写化eckInputType()和化ansfo;rm()函数。它包括一个标准图像输入接口和一个标准图像 输出接口,标准图像输入接口用于接收从视频分流模块Capture输出接口获得的视频图像 数据。其内部申请多个内存缓存空间,用于存放临时图像数据,对采集的视频图像进行处理 和分析,根据函数返回值,判断是否有移动目标进入监控区域。如有运动目标存在,则通知 报警模块,标准图像输出接口同时视频原媒体数据包传送至下一级组件,即视频存储模块 进行存储。
[0053]运动目标检测模块的五个子功能模块中:
[0化4] 图像预处理模块,将从上一级Sm;wt Tee Filter的Capture引脚获得的图像进行 预处理。采用加权平均值法将图像变换成灰度图像;采用加权滤波方法进行去噪,采用模板 为3x3模板,中屯、系数为2,计算简单;此后再进行直方图均衡化变化,增强图像对比度。
[0055]帖间差分模块,用于计算相邻两帖之间的差分图像并将其二值化,作为背景差分 的补偿;如公式(1)所示,其中Ft表示当前帖图像,Ft-1表示前一时刻的帖图像,将其做差与 预定义阔值Tf做比较,用1表示该像素值得灰度值在不同时刻变化很大;0表示灰度变化较 小或者没有变化。
[0化6]
[0057]背景差分模块,一开始使用第一张图像作为背景图像B,接着不断读取下一帖图像 Fk,获得背景差分图像并将其二值化得到Dk。如公式(2),其中化的预定于背景阔值,当差分 图像像素点值大于预设阔值化是,认为是前景点(即目标点),否则是背景点。
[0化引
[0059]运样就把背景图像和运动目标区分开了,对于出现运动目标的背景图像的区域不 进行图像更新,对其他区域则实时更新,采用单个高斯模型的背景构建方法来不断更新背 旦
[0060] 运动判断模块,判断是否有运动目标出现。首先根据帖间差分图像,统计帖间差分 图像中像素点变化的个数,可W得到两帖图像的变化率α,将变化率与预定义阔值Of进行比 较,由于帖间差分方法对光线的缓慢变化不敏感,如果小于阔值Of,则属于有光线干扰,不 用报警;如果超过阔值可W判断是变化过快,此时可W判定有运动目标出现。结合背景差分 图像,可W得到超过灰度阔值化的像素点的个数和像素点所在位置,即可W得到运动目标 的大致形状和位置。当有目标出现时,通知报警模块,并将当前图像媒体数据包(即图像数 据)发送至下一级,也就是Direct化0W组件模块的视频存储模块;
[0061] 报警模块,用于检测到运动目标时发出报警信号;当发生报警时,向Filter Gra地 Manager发送通知事件,Filter Gra地Manager再想应用程序发送消息。
[0062] 运动目标检测模块的运动目标检测方法,基于背景差分方法和帖间差分方法进行 运动检测,包含W下步骤:
[0063] (1)对视频图像序列进行预处理,预处理包括图像的灰度变换、灰度化处理和去 噪;
[0064] (2)提取一张视频图像(如第一张图像)作为初始的背景图像;
[0065] (3)读取接下来的每一帖视频图像;
[0066] (4)更新背景图像,把背景图像和运动目标区分开了对于出现运动目标的背景图 像的区域不进行图像更新,对其他区域则实时更新;
[0067] (5)将当前帖图像和前一帖图像进行差分,得到帖间差分图像。由于帖间差分方法 对光线的缓慢变化不敏感,当帖间差分图像变化率超过预定义阔值Of时,判断是属于运动 目标出现;当小于预定义阔值Of时,是属于光线干扰;
[0068] (6)在步骤巧)的基础上,如果有运动目标出现,将当前图像与背景图像进行差分, 得到背景差分图像,根据预定义阔值化将差分图像二值化,大于预定于阔值化的则为前景 点(目标),当小于阔值时,是背景点。
[0069] (7)根据背景差分图像得到运动目标的大小、形状和位置。
[0070] 其中,上述步骤(1)中预处理包括对图像的灰度化和去噪。采用加权平均值法将图 像变换成灰度图像;采用加权滤波方法进行去噪,采用模板为3x3模板,中屯、系数为2;此后 再进行直方图均衡化变化,增强图像对比度。
[0071] 其中,上述步骤(5)和(6)中,不同的应用场景,预定义阔值Of和化会有不同。
[0072] 本发明的一种基于Direct化0W技术的智能视频监控系统的具体的应用举例如下: 在视频监控系统中,使用USB摄像机进行监控,通过USB2.0接口连接计算机,并安装相应驱 动,在计算机内可W遍历Direct化0W组件,获得相应的摄像机模块,从而获得视频数据,然 后连接Smart Tee分流模块,一路进入图像预处理模块进行显示设置,送至视频显示模块 进;另一路送至运动目标检测模块,当有人进入视频监控区域时,运动目标检测模块返回标 志量为真(即检测到运动目标),此时通知报警模块进行语音报警,运部分是有应用程序编 写和处理的,同时,将视频图像传送至视频存储模块,它将此后的视频图像W文件的形式记 录在磁盘,此时的文件是未加工的视频源数据,所占磁盘容量很大。数据编码压缩模块是系 统的另一个后台进程,将视频文件采用H.264视频压缩标准进行压缩,存储格式是AVI格式, 并同时删除原来的未压缩编码视频文件。
[0073] 本发明基于Direct化0W技术,对结合背景差分法和帖间差分法进行改进,并结合 Direct化ow封装技术,将多媒体开发和智能检测相结合,提供了一种智能视频监控方案,当 运动目标出现时,发出报警,减轻了监控人员的负担,并将运动的图像传送至下一级进行存 储,否则自动丢弃,节约存储空间;同时,数据编码压缩模块后台利用开源的、稳定的ffmpeg 编码器实现编码压缩,不仅可W降低开发难度、缩短开发周期、提高压缩比率、节约存储空 间,并且数据压缩编码是属于后台的另一个进程,多进程处理系统解决了单进程系统用户 显示界面卡顿问题。
【主权项】
1. 一种基于DirectShow技术的智能视频监控系统,其特征在于,包括 DirectShow组件模块,用于搭建原始视频流链路,捕获原始视频流,将原始视频流进行 分流; 视频显示设置模块,用于获取原始视频流分流后的图像数据,并设置图像显示画面格 式,返回给DirectShow组件模块进行实时显示; 运动目标检测模块,用于获取和处理DirectShow组件模块中原始视频流分流后的图像 数据,检测监控区域内的运动目标,将有运动目标的图像数据传输到DirectShow组件模块 存储为视频文件并报警,否则,自动丢弃没有运动目标的图像数据; 数据编码压缩模块,用于将DirectShow组件模块已保存的视频文件进行后续编码压缩 再存储,并删除原视频文件。2. 如权利要求1所述的一种基于DirectShow技术的智能视频监控系统,其特征在于, DirectShow组件模块包括 视频采集模块,用于捕获原始视频流数据; 视频分流模块,用于对原始视频流进行两路分流; 视频显示模块,用于接收视频显示设置模块的图像数据并进行显示; 视频存储模块,用于视频存储。3. 如权利要求2所述的一种基于DirectShow技术的智能视频监控系统,其特征在于,视 频采集模块采用模拟摄像机或数字摄像机。4. 如权利要求1所述的一种基于DirectShow技术的智能视频监控系统,其特征在于,视 频显示设置模块为基于DirectShow封装技术的自定义过滤器组件,其包括一个标准图像输 入接口和一个标准图像输出接口。5. 如权利要求1所述的一种基于DirectShow技术的智能视频监控系统,其特征在于,运 动目标检测模块,还用于标志进入监控区域内的运动目标。6. 如权利要求1所述的一种基于DirectShow技术的智能视频监控系统,其特征在于,数 据编码压缩模块为一个基于ffmpeg编码器的后台进程,与DirectShow组件模块、视频显示 设置模块和运动目标检测模块不在同一进程中。7. 如权利要求1~6任一项所述的一种基于DirectShow技术的智能视频监控系统,其特 征在于,运动目标检测模块包括 图像预处理模块,用于对视频图像进行灰度化处理、去噪以及图像增强; 帧间差分模块,用于计算帧间差分图像,判断运动目标出现; 背景差分模块,用于对背景图像进行更新,并计算背景差分图像,获得运动目标的形状 和位置; 运动判断模块,用于检测监测区域内的运动目标,当有目标出现时,通知报警模块,并 将有运动目标的图像数据发送至下一级; 报警模块,用于检测到运动目标时发出报警信号。
【文档编号】H04N7/18GK106060486SQ201610617945
【公开日】2016年10月26日
【申请日】2016年7月29日
【发明人】熊静琪, 冯洁, 孙飞, 曲辛
【申请人】电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1