首页> 中国专利> 一种基于视频分析的场景变更检测方法及装置

一种基于视频分析的场景变更检测方法及装置

摘要

本发明公开了一种基于视频分析的场景变更检测方法,包括以下步骤:(1)视频图像数据采集;(2)视频图像预处理;(3)开始检测报警阶段;(4)报警预警检测阶段;(5)报警检测阶段。本发明采用图像分块结合特征点跟踪匹配的方法,把子图像块发生变化的程度及被判定为发生变化的子图像块所占的比例作为判定条件可有效检测出不同程度的场景变更,报警准确率高,可有效检测出场景突变和缓慢变化。

著录项

  • 公开/公告号CN106851049A

    专利类型发明专利

  • 公开/公告日2017-06-13

    原文格式PDF

  • 申请/专利权人 济南中维世纪科技有限公司;

    申请/专利号CN201710128546.9

  • 发明设计人 李铭;刘琛;尹萍;路凯;

    申请日2017-03-06

  • 分类号H04N5/14(20060101);

  • 代理机构37218 济南泉城专利商标事务所;

  • 代理人张贵宾

  • 地址 250101 山东省济南市高新区新泺大街1166号奥盛大厦3号楼12层

  • 入库时间 2023-06-19 02:35:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-02

    授权

    授权

  • 2017-07-07

    实质审查的生效 IPC(主分类):H04N5/14 申请日:20170306

    实质审查的生效

  • 2017-06-13

    公开

    公开

说明书

技术领域

本发明属于智能监控领域,具体涉及一种基于视频分析的场景变更检测方法及装置。

背景技术

场景变更检测在智能监控领域有很重要的应用,当监控镜头由于外力作用,导致其拍摄角度发生变化,或者监控场景本身由于遮挡等偶然因素发生较大的改变,影响了正常的监控功能,为了及时发现这种情况并进行预警,基于视频的场景变更检测方法被提出。

目前的场景变更检测方法主要分为以下几种:

像素差分法,直接通过计算场景图像像素点的灰度差值或者颜色分量差值的总和来判断场景是否发生了变化。该类方法运算复杂度低,但对场景中存在运动物体或者摄像头轻微抖动的情况容易产生误判,且对光照变化十分敏感。

直方图匹配法,使用像素灰度或颜色的统计值来计算帧间差。中国专利申请号为201410024730.5的专利公开了一种根据连续M个场景图像中第1个场景图像的梯度直方图、梯度直方图波动参数以及连续N个场景图像的梯度直方图,确定场景是否发生变化的方法。中国专利申请号为201410466385.0的专利公开了一种基于自适应阈值的视频场景变化检测方法,通过计算相邻帧的颜色直方图的相似度系数构成相似度曲线,然后设置滑动窗,确定在滑动窗的相似度自适应阈值,依次在每个滑动窗内判断是否发生了场景切换。该方法对摄像头或者物体的运动不是很敏感,可以有效降低由运动引起的误判,但对于直方图相似结构却不同的场景会发生漏检。另外,直方图匹配方法对光照变化很敏感,即使两视频帧之间仅仅发生了光线变化,视频帧的灰度直方图也会发生较大变化,容易发生误判。

基于块的方法,把图像分成若干个子图像块,然后统计两帧图像中匹配块的个数。中国专利申请号为201410507997.X的专利公开了一种通过计算分块顺序测度特征向量,根据视频帧间的特征向量的欧式距离是否在设定的阈值范围内判断场景是否发生了变更的方法,所述顺序测度特征向量为整幅图像中每个块中所有像素的均值按照一定规则排序构成的向量。该方法可以在一定程度上抑制直方图匹配产生的漏检,但两个阈值(块与块之间的匹配度、匹配块的个数)的选取是个难点,选不好会产生很坏的效果。

基于运动的方法,根据场景变更前后视频对象运动的不连续性,采用块匹配的运动估计思想,以运动估计剩余残差的均值作为是否有场景切换的依据,但基于运动的方法在性能上并不比基于灰度值的方法优越很多,原因是可靠的运动估计算法比场景切换要复杂的多。

图像特征点匹配方法,每一帧图像都有自己的特征点,这些特征点用于表征图像中比较重要的一些位置,比较类似函数的拐点,比较常用的有Harris角点和SHFT特征点。中国专利申请号为201310611672.1的专利将视频数据的一帧或多帧进行分块后,提取每个子图像块的特征点和相应信息并储存,根据当前提取的特征点与储存的历史特征点对比判断场景是否发生了变化。该方法将检测到的特征点进行比较,如果相似的特征点数目较多,那么可以认为这两帧图像的相似程度较高,该方法解决了光照变化造成的影响,但计算复杂度较大。

发明内容

为弥补现有技术的不足,本发明提供一种基于视频分析的场景变更检测方法和装置,可有效检测出场景突变及缓慢变化,同时可有效避免光照变化或者大面积的运动物体引起的误报,提高检测准确率,弥补了现有技术的不足。

本发明是通过如下技术方案实现的:

一种基于视频分析的场景变更检测方法,其特殊之处在于:包括以下步骤:

(1)视频图像数据采集

输入的原始视频图像数据可以是摄像机实时采集的视频,也可以是已保存好的视频文件;

(2)视频图像预处理

对输入的图像进行缩放、色彩空间转换预处理;

(3)开始检测报警阶段

(4)报警预警检测阶段

(5)报警检测阶段

所述步骤(3)、(4)、(5)均包括以下步骤:

a、特征点检测

采用分块检测特征点的方法将视频图像分块后在子图像块中检测特征点。

b、特征点跟踪匹配

选定基准帧图像,在基准帧图像中提取特征点后,在后续的视频序列中对这些特征点进行跟踪匹配,可以根据需要调整更换基准帧的时间间隔,更换基准帧的时间间隔越长就越容易检测出场景的缓慢变化。

c、场景变更判定

根据特征点是否被成功跟踪和被成功跟踪的特征点的位移矢量信息判断每个子图像块是否发生了变化,进而根据发生变化的子图像块所占的比例判断场景是否发生了变更。可根据需要设置图像块发生化的比例阈值,判定不同程度的场景变更。

本发明的一种基于视频分析的场景变更检测方法,步骤a中所述特征点检测使用的特征点包含但不限于Harris角点、SIFT特征点、SURF特征点。

进一步的,本发明的一种基于视频分析的场景变更检测方法,步骤a中所述视频图像的分块可采用无间隔的分块方式或有间隔的分块方式,分块进行特征点检测的目的是使图像的所有待检测区域都有特征点分布即在背景中尽可能多的检测到特征点,避免特征点集中在图像中细节比较丰富的局部区域引起误报或漏报。

进一步的,本发明的一种基于视频分析的场景变更检测方法,所述无间隔的分块方式具体做法为:对图像进行M*M的不重复分块,即把图像在水平方向和竖直方向上都分成M份,每个子图像块的宽为block_width=image_width/M,高为block_height=image_height/M,在每个子图像块中提取特征点,把每个子图像块中能够检测到的最大特征点数目设置为N,这样一帧图像中能够检测到的最大特征点数目为M*M*N个;假设实际检测到的特征点的数目为all_cornor_num,把每个特征点的位置坐标信息保存在points_all中,把同时包含每个特征点的位置坐标信息及其所在的子图像块的位置信息保存在features_all中用于后续处理。

进一步的,本发明的一种基于视频分析的场景变更检测方法,所述有间隔的分块方式具体做法为:根据待检测的图像的大小,确定需要划分的图像块的个数、大小及间隔长度,按照确定好的数值,将待检测图像划分为具有相同大小的子图像块,其中,子图像块之间的间隔包括水平方向上的间隔和竖直方向上的间隔,子图像块的大小可根据实际检测的图像大小确定但要保证覆盖全图。

本发明的一种基于视频分析的场景变更检测方法,步骤b中所述特征点跟踪匹配的方式包含但不限于光流跟踪、SIFT特征点匹配、SURF特征点匹配。

本发明的一种用于实现基于视频分析的场景变更检测方法的装置,包括视频数据采集设备、视频数据分析设备、智能网络接收设备,所述视频数据采集设备为摄像机;所述视频数据分析设备包括摄像机、NVR、PC中的一种或几种,视频数据分析设备内依次连接设有视频图像预处理模块,开始检测报警模块,报警预警检测模块,报警检测模块;所述智能网络接收设备包括视频画面处理器、矩阵切换主机、报警器等。

本发明的有益效果是:

(1)本发明报警准确率高,可有效检测出场景突变和缓慢变化。

(2)本发明特征点检测采用分块检测的方式,使得特征点在整个场景画面中分布较为均匀,可有效避免局部运动引起的误判,另外在保证图像块覆盖全图的前提下,对图像进行有间隔的分块后提取特征点从而降低了计算量。

(3)本发明特征点跟踪匹配可任意调整更换基准帧的时间间隔,更换基准帧的时间间隔越长就越容易检测出缓慢变化。

(4)本发明是根据参考帧特征点在当前帧跟踪成功的比例及位移矢量的大小判定的,根据特征点位移矢量大小可有效检测出摄像机镜头不同程度的偏移引起的场景变更。

(5)本发明根据发生变化的子图像块的比例作为判定条件可有效检测出不同程度的场景变更。

(6)本发明把检测流程分为三个阶段,若场景发生变化,等再次稳定后再进行场景变更的判断可有效排除偶然因素比如大面积的运动物体、摄像机抖动等引起的误判。

附图说明

附图1是本发明实施例1的流程示意图。

附图2是本发明实施例1中开始检测报警阶段的流程示意图。

附图3是本发明实施例1中报警预警检测阶段的流程示意图。

附图4是本发明实施例3中报警预警检测阶段的流程示意图。

附图5是本发明实施例1中报警检测阶段的流程示意图。

附图6是本发明实施例2中有间隔的图像分块的示意图。

附图7是本发明用于实现基于视频分析的场景变更检测方法的装置的结构示意图。

具体实施方式

为了更清楚的阐述本发明的技术的目的、实现流程和优点,下面结合附图和实施例对本发明作进一步的详细阐述,列举出的实施例仅是本申请的一部分实施方式,而不是所有实施方式穷举,并且在不冲突的情况下,本发明中的实施方式中特征可以相互结合。

实施例1

一种基于视频分析的场景变更检测方法,该方法可读取摄像机实时采集的视频或者已保存的视频文件,提取若干帧图像中的特征点,对特征点在后续的图像中进行跟踪匹配,根据匹配结果判断是否发生了场景变更。如图1所示,该实施例包括如下步骤:

S11、输入待检测的视频数据,假定传入的视频数据是YUV格式的,可以对视频中的每一帧图像都进行检测,为了减少计算量也可对原始视频进行降采样后再进行检测;

S12、视频图像预处理

具体地,把原始视频图像进行缩放处理后转化成灰度图像gray_image,用于后续处理。

S13、开始检测报警阶段

该阶段的具体实施方式如图2所示,包含以下步骤:

S131、特征点检测

具体地,开始检测时,选择基准帧图像reference_image(正常监控状态下的场景图像)检测特征点,对一帧图像进行特征点检测的方法如下:

由于图像中的物体分布不均匀,若在图像全局范围内检测特征点,特征点会集中在图像中细节比较丰富的局部区域。如果局部出现运动物体,可能会引起误判,为了避免这种情况,本实施例采用分块检测特征点的方法,确保特征点均匀的散布在整个检测区域,消除图像局部变化造成的干扰。

在本实施例中,特征点检测方法包含但不限于Harris角点、SIFT特征点、SURF特征点等,在本实施例中采用Harris角点检测。

具体地,对图像进行无间隔的分块,对gray_image进行M*M的不重复分块,即把图像在水平方向和竖直方向上都分成M份,每个子图像块的宽为block_width=image_width/M,高为block_height=image_height/M。在每个子图像块中提取Harris角点,把每个子图像块中能够检测到的最大角点数目设置为N,这样一帧图像中能够检测到的最大角点数目为M*M*N个。假设实际检测到的特征点的数目为all_cornor_num,把每个特征点的位置坐标信息保存在points_all中,把同时包含每个特征点的位置坐标信息及其所在的子图像块的位置信息保存在features_all中用于后续处理,所述子图像块的位置信息为该图像块在整个场景图像中的位置信息。

图像的分块个数M*M和每个块中能够检测到的角点的最大数目N的取值范围应依据图像的大小设定,M的取值不得小于2,在本实施例中取M=5,N=10。

S132 特征点跟踪匹配

特征点跟踪匹配的方式包含但不限于光流跟踪、SIFT特征点匹配、SURF特征点匹配等,本实施例采用光流跟踪的方式。

对步骤S131中检测到并存储在points_all中的角点在后续的图像中进行跟踪匹配,跟踪方式为全局跟踪。

光流跟踪的具体实现方式:

根据检测出的角点,利用Lucas-Kanade稀疏光流法进行光流跟踪,光流跟踪得到同一角点在两帧图像中的位置坐标信息;

参考图像:步骤S131中选定的参考帧图像reference_image;

跟踪(对比)图像:当前帧灰度图像gray_image;

跟踪中的金字塔层数取值范围为0~3,在本实施例中取3;

计算局部连续运动的窗口尺寸依据实际需要和图像尺寸而定,在本实施例中取(7,7);

假定、分别为某一角点在当前帧gray_image与基准帧reference_image的坐标位置,则光流矢量长度为;

统计跟踪成功的角点数目count_status_num;

统计跟踪成功的角点中位移矢量长度dis大于阈值CornerMoveThr的角点数目count_move_num,阈值CornerMoveThr的大小可依据图像尺寸、场景的开阔度和被判定为场景变更的偏移程度而定,在本实施例中取CornerMoveThr=4;

根据公式status_ratio=count_status_num/all_cornor_num计算跟踪成功的角点数目占检测到的角点总数目的比例;

根据公式move_ratio=count_move_num/count_status_num计算跟踪成功的角点中位移矢量大于设定阈值的比例;

对每个子图像块,按照上述方法计算跟踪成功的角点数目占全部角点数目的比例status_ratio和跟踪成功的角点中位移矢量大于设定阈值的比例move_ratio。

S133 判断子图像块是否发生了变化

条件一:跟踪成功的角点比例小于设定阈值status_ratio<PStatusMaxThr,PStatusMaxThr可以取0~0.5之间的数,在本实施例中取0.2;

条件二:跟踪成功的角点中位移矢量大于设定阈值CornerMoveThr的比例大于设定阈值move_ratio>PMoveMinThr,PMoveMinThr可以取0.6~1之间的数,在本实施例中取0.8;

条件三:跟踪成功的角点比例大于设定阈值status_ratio>PStatusMinThr且跟踪成功的角点中位移矢量大于设定阈值dis>CornerMoveThr的比例大于设定阈值PMoveMinThrT(针对场景整体发生小幅度平移的情况),在本实施例中,取PStatusMinThr=0.9,PMoveMinThrT=0.7;

当满足以上条件之一的时候则判定该子图像块发生了变化。

S134 判断场景是否发生了变化

统计整个场景中发生变化的子图像块的个数count_change_block,当发生变化的图像块的个数大于设定阈值的时候count_change_block>ChangeBlockThr,判定该场景发生了变化,在本实施例中,ChangeBlockThr设置为总的图像块个数的一半。此时,把开始检测报警标志位alarm_det_flag置为1,进入报警预警检测阶段。

S14、报警预警检测阶段

为了避免场景中大面积的持续运动引起误判,在步骤S13中判定场景发生变化后,等场景再次稳定时,再采用步骤S13中保存下来的参考图像reference_image进行光流跟踪匹配,因此,该阶段就用于判断场景发生变化后是否再次稳定。

当报警预警标志位alarm_det_flag为1时,开始报警预警检测,在该阶段中,对每帧图像完成跟踪匹配后都要重新进行特征点检测,如图3所示,具体步骤:

S141、对当前帧图像进行均匀分块,在每个子图像块中进行特征点检测,特征点检测方法同步骤S131;

S142、对检测到的特征点在下一帧图像中进行光流跟踪匹配,匹配方式同步骤S132;

S143、根据跟踪匹配结果统计跟踪成功的角点数目占检测到的全部角点数目的比例status_ratio和跟踪成功的角点中位移矢量大于设定阈值CornerMoveThr的比例move_ratio;

S144、判定场景再次稳定下来的条件:跟踪成功的角点比例大于设定阈值,位移矢量较大的角点比例小于设定阈值,即status_ratio>PStatusMinThr,move_ratio<PMoveMaxThr,在本实施例中,PStatusMinThr取0.6,PMoveMaxThr取0.4,如果满足以上两个条件,则判定两帧图像匹配成功;

S145、统计特定时间区间内匹配成功的图像帧数占该段时间内的总的图像帧数的比例,若大于设定阈值StaticFrameThr,则判定场景发生变化后再次稳定了下来,此时把报警预警标志位early_warning_flag置1,进入报警检测阶段,否则从步骤S141重新开始该阶段的检测,在本实施例中取StaticFrameThr=0.7。

S15、报警检测阶段

当报警预警标志位early_warning_flag为1时,把当前帧灰度图像gray_image与步骤S13开始检测报警阶段保存下来的参考帧图像reference_image进行匹配,若在设定的时间区间内每一帧都不匹配,则判定该场景发生了变更,发出场景变更报警信息。如图5所示,具体实施方式:

S151、当early_warning_flag为1时,把开始报警检测阶段中保存下来的图像reference_image作为参考图像,利用在reference_image中检测到的角点在当前帧图像gray_image中进行跟踪匹配,匹配方式同步骤S132,在此不再赘述;

S152、统计每个子图像块中跟踪成功的角点占全部角点的比例status_ratio和跟踪成功的角点中位移矢量dis大于设定阈值CornerMoveThr的比例move_ratio;

S153、判断子图像块是否发生了变化,条件一:跟踪成功的角点比例小于设定阈值status_ratio<PStatusMaxThr,PStatusMaxThr可以取0~0.5之间的数,在本实施例中取0.2; 条件二:跟踪成功的角点中位移失量大于设定阈值的比例大于设定阈值move_ratio> PMoveMinThr,PMoveMinThr可以取0.6~1之间的数,在本实施例中取0.8;条件三:跟踪成功的角点比例大于设定阈值status_ratio>PStatusMinThr且跟踪成功的角点中位移矢量大于设定阈值dis>CornerMoveThr的比例大于设定阈值move_ratio> PMoveMinThr(针对场景整体发生小幅度平移的情况),在本实施例中,取PStatusMinThr=0.9,PMoveMinThr=0.7;当满足以上任何条件之一的时候则判定该子图像块发生了变化。

S154、判断场景是否发生了变化,统计整个场景中发生变化的图像块的个数count_change_block,当发生变化的图像块的个数大于设定阈值ChangeBlockThr的时候,则判定该帧场景相对于参考帧场景发生了变化,在本实施例中,ChangeBlockThr的取值可根据实际需要设定。

S155、若early_warning_flag为1后的设定时间区间内的每帧图像相对于参考图像reference_image都发生了变化,则把报警标志位alarm_flag置1,触发报警,输出场景变更信号,同时把参考帧图像reference_image更换为当前的场景图像。使用设定时间段内连续多帧图像与参考帧图像进行匹配的目的是避免场景未发生变更但突然有大面积的运动物体闯入时发生误判。

若在设定的时间区间内场景图像都未发生变更,则更换基准帧图像reference_image,从开始检测报警阶段重新进行检测,设定的更换基准帧的时间间隔可以为几分钟,也可以为几个小时,时间越长就越容易检测出场景的缓慢变化。

实施例2

本实施例的一种基于视频分析的场景变更检测方法,在实施例1的基础上对特征点检测部分做了以下改进:

在提取图像特征点的部分,在实施例1中采用的是无间隔的分块,计算复杂度较大,为了减少计算量,提高系统性能,在本实施例中采用有间隔的分块方式,即划分的相同大小的图像块中有一定的间隔。

具体的,根据待检测的图像的大小,确定需要划分的图像块的个数、大小及间隔长度。按照确定好的数值,将待检测图像划分为具有相同大小的子图像块,其中,图像块之间的间隔包括水平方向上的间隔和竖直方向上的间隔,图像块的大小可根据实际检测的图像大小确定但要保证图像块覆盖全图,在本实施例中,所选的图像块的宽度和高度与相邻图像块之间在水平方向和竖直方向上的间隔相等,即把图像的宽度和高度等分成5份,共分成25个图像块,然后从图像边缘开始隔一个选定一个进行特征点检测,如图6所示,共选出9个图像块,这9个图像块刚好可以覆盖全图。

本实施例其余实施步骤与实施例1相同。

实施例3

本实施例的一种基于视频分析的场景变更检测方法,在实施例1基础上做了以下改进:

在实施例1中,用于判定场景发生变更后是否再次稳定下来的步骤S14报警预警检测阶段,采用的是光流跟踪匹配的方式,在该阶段中,每一次跟踪匹配完成后都需要进行角点检测,计算量相对较大。为了降低计算量,以适用于不同的硬件设备,本实施例采用灰度图分块像素差分法计算相似度,据此判断场景是否再次稳定,如图4所示,具体做法如下:

S341、当报警预警标志位alarm_det_flag为1时,进入报警预警检测阶段。根据公式 对连续两帧灰度图像求帧差,其中,diff_image为帧差图像,gray_image为当前帧灰度图,pre_gray_image为前一帧灰度图,P(x,y)为坐标在(x,y)位置的像素值。

S342、把帧差图像进行二值化处理得到帧差二值化图像diff_bw_image,二值化阈值设置为15,小于阈值的像素置为0,大于阈值的像素值置为255。

S343、把二值化后的帧差图像均匀分成相同大小的子图像块,根据待检测的图像的大小,把图像在水平方向和竖直方向上都均分成M份,整幅图像一共可分成M*M个图像块,M不得小于2,在本实施例中,M取8。

S344、统计每个子图像块中非零像素的个数diff_fg_num,计算非零像素的个数占图像块像素总数的比例diff_fg_ratio;

S345、统计diff_fg_ratio小于设定阈值StateBlockThr的图像块的个数state_block_num,计算出变化较小的图像块的占图像块总数的比值state_block_ratio,在本实施例中,StateBlockThr取值为0.05,若state_block_ratio大于设定阈值StateBlockNumThr,则认为当前图像相对于前一帧图像是稳定的,匹配成功,在本实施例中,StateBlockNumThr取值为0.6;

S346、统计在设定的时间段内,匹配成功的图像帧数比例state_frame_ratio,若state_frame_ratio > StateFrameThr,则判定场景发生变化后再次稳定了下来,此时把报警预警标志位early_warning_flag置1,进入报警检测阶段,否则从步骤S341开始该阶段的检测,在本实施例中,StateFrameThr取值为0.8。

本实施例其余实施步骤与实施例1相同。

实施例4

本实施例提供一种场景变更检测装置,如图7所示,该装置包括:

视频数据采集设备,为所有可以采集视频图像的设备,本实施例采用的是网络视频摄像机;

视频数据处理设备,可以为摄像机、NVR、PC等设备,本实施例采用的是网络视频摄像机;

信号接收处理设备,可以为视频画面处理器、矩阵切换主机、NVR、PC等一种或多种的组合,同时也可外接报警器。

具体地,所述视频数据处理设备中的处理过程还包括以下几个模块:

1、视频图像预处理模块,用于对原始视频缩放和色彩空间转换。

2、开始检测报警模块,该模块包含:1)特征点检测单元,用于获得图像中用于跟踪的特征点坐标信息;2)特征点跟踪匹配单元,用于对图像中的特征点进行跟踪匹配,获取图像的变化信息;3)场景变化判定单元,根据图像的变化信息判定场景是否发生了变化。

3、报警预警检测模块,该模块包含:1)特征点检测单元;2)特征点跟踪匹配单元;3)场景稳定判定单元。用于判断场景发生变化后是否再次稳定;

4、报警检测模块,该模块包含:1)特征点跟踪匹配单元,用于对图像中的特征点进行跟踪匹配,获取图像的变化信息;2)场景变更决策单元,用于对检测过程中的图像变化特征进行统计,最终判定场景是否发生了变更。

具体地,所述信号接收处理设备用于接收视频数据处理设备所发出的报警信息,并联动报警,例如报警灯闪烁、蜂鸣器、发送报警邮件等。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号