具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明第一实施方式涉及一种视频中剧烈运动的检测方法。图1是该视频运动的检测方法的流程示意图,包括以下步骤:
在步骤101中,视频中剧烈运动的检测装置在视频帧中检测运动角点。其中可以通过视频中剧烈运动的检测装置中的角点检测单元在视频帧中进行运动角点检测。
视频中剧烈运动的检测装置获取视频图像并处理,可利用背景差法或帧差法检测运动区域生成前景图,对前景图做运动连通区域分割,其中,可使用背景差法以便较容易地求出运动连通区域,可使用帧差法在帧差图上提取运动角点,即确定物体在视频图像上所显示的边缘拐点的位置点。
视频剧烈运动检测方法采用运动角点可以有效且准确地捕捉运动,不会被背景上的角点(或特征点)干扰,也可以减少外部大噪声的干扰,避免误检;另外,不必为视频中所有运动的和一些非运动像素进行全局性运算量大的光流计算,只需要计算视频中运动角点的光流,这样大大节省了计算量,提高了视频现场的响应实时性,且在应用领域里面容易推广。
此后进入步骤102,对在步骤101中所检测到的运动角点,视频中剧烈运动的检测装置中的光流计算单元利用相应算法计算光流。
角点光流(或角点矢量)即是空间运动物体在观测成像面上的像素运动的量化的瞬时速度。
此后进入步骤103,视频中剧烈运动的检测装置中的熵计算单元根据在步骤102中所得到的运动角点的光流统计并计算运动熵。
此后进入步骤104,视频中剧烈运动的检测装置中的运动判断单元根据在步骤103中所得到的运动熵判断视频现场是否存在剧烈运动。
此外,可以理解,该装置还可增加方向统计单元和排除单元,其中,方向统计单元对每一帧的运动熵进行统计,排除单元利用方向信息剔除规律运动。若持续有无规律的强运动熵输出,则很有可能发生剧烈运动,如打架、斗殴,输出报警信息。
若是,则进入步骤105;否则,返回步骤101。
在步骤105中,视频中剧烈运动的检测装置进行剧烈运动提示,此后结束本流程。
优选地,在步骤101检测运动角点时,将相邻视频帧相减得到前景图(可称为“帧差法”),再从该前景图上提取运动角点。
在检测运动连通区域的步骤中,将视频帧与背景相减得到前景图(可称为“背景差法”或“减背景法”),再对该前景图做运动连通区域分割得到运动连通区域。
帧差法的基本原理是在图像序列相邻的两帧或者三帧采用基于像素的时间差分通过阈值化来提取图像中的运动区域。首先,将相邻帧图像对应像素值相减,然后对差分图像二值化。在环境亮度变化不大的情况下,如果对应像素值变化小于事先确定的阈值时,可以认为(主观经验)此处为背景像素;如果对应像素值变化很大,可以认为这是有运动物体引起的,将这些区域标记为前景像素,利用标记的像素区域可以确定运动目标在图像中的位置。优点:相邻两帧的时间间隔很短,用前一帧图像作为后一帧图像的背景模型具备较好的实时性,其背景不积累,更新速度快,算法计算量小。缺点:阈值选择相当关键,阈值过低,则不足以抑制背景噪声,容易将其误检测为运动目标;阈值过高,则容易漏检,将有用的运动信息忽略掉了。另外,当运动目标面积较大,颜色一致时,容易在目标内部产生空洞,无法完整地提取运动目标。
减背景法是一种有效的运动目标检测算法,其基本思想是背景的参数模型来近似背景图像的像素值,将当前帧与背景模型进行差分比较实现对运动目标区域的检测,其中区别较大的像素区域被认为是运动区域,而区别较小的像素区域则被认为是背景区域。背景减除法必须要有背景图像,并且背景图像要随着光照和外部环境的变化而实时更新,因此背景减除法关键是背景建模及其更新。针对如何建立对于不同场景的动态变化均具有自适应性的背景模型,研究人员已经提出许多背景建模算法,总的来讲可以概括为非回归递推和回归背景算法两类。非回归递推背景建模算法是动态的利用从某一时刻开始到当前时刻的一段时间内存储的新近观测数据作为样本来进行背景建模。非回归背景建模方法有最简单的帧间差分、中值滤波方法、Toyama等利用缓存的样本像素来估计背景模型的线性滤波器、Elgammal等提出的利用一段时间的历史数据来计算背景像素密度的非参数模型等。回归算法无需维持保存背景估计帧的缓冲区,它们是通过回归的方式基于输入的每一帧图像来更新某个时刻的背景模型。这类方法包括广泛应用的线性卡尔曼滤波法、Stauffer与Grimson提出的混合高斯模型。
本具体实施方式中所涉及的视频中剧烈运动的检测方法,是通过检测和计算视频帧中的运动角点光流,根据运动角点光流计算运动熵,来判断是否存在剧烈运动,当存在剧烈运动,必要时,可通过其装置进行剧烈运动的提示。
本发明第二实施方式涉及一种视频中剧烈运动的检测方法。
第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:根据运动角点光流计算运动熵的步骤之前还包括以下步骤:
在视频帧中检测运动连通区域。
其中,在视频帧中检测运动连通区域和运动角点提取可通过视频中剧烈运动的检测装置获取视频图像并处理来实现,具体步骤如下:
第一步,运动检测。这一步现有技术方案较多,研究较成熟,主要有背景差、帧差以及光流法等三类方法。本文以背景差法为例来阐述本方法,但不限于仅背景差法。假设视频第一帧中无运动目标,作为背景帧,用B(t)表示t时刻的背景;当前帧视频用I(t)表示,则t时刻的运动区域可以表示为
F(t)=I(t)-B(t) (1)
在获得运动图像F(t)后,对F(t)进行二值化,得到运动二值图,然后在二值图上做连通域分析,得到运动连通区域,运动连通区域记为Blob。
第二步,运动角点提取。首先,由两帧图像获取帧差图像,然后对帧差图像做二值化处理,在帧差二值图上求取角点。帧差图像D(t)表示为
D(t)=I(t)-I(t-1) (2)
角点是指物体在图像上所显示的边缘拐点的位置点。常用的角点提取算子有Harris等提出的Harris算子,David G.Lowe提出的SIFT(ScaleInvariant Feature Transform,尺度不变特征变换)算子,Smith提出的SUSAN算子。在剧烈运动检测算法中,希望角点提取算子计算简单、计算速度快,而C.Harris和M.J.Stephens于1988年提出的一种特征点提取算子-Harris算子具有这样的特性,且提取出来的角点在图像上具有大的梯度数值和梯度方向变化率。harris算子提取得到的角点称为Harris角点。Harris角点定义从局部互相关函数E(u,v)开始,即
其中,f(x,y)表示图像上点(x,y)的像素值,G(x,y)是高斯函数,抑制一定的噪声。E(u,v)经泰勒级数展开,可以近似得到
令
M表述了邻域(u,v)内的灰度变化情况。设λ1、λ2是矩阵M的两个特征值,则λ1、λ2可表示局部互相关函数E(u,v)的曲率。当λ1、λ2都比较小时,意味着邻域(u,v)内像素灰度值接近,变化很小;当λ1、λ2中有一个特征值较大,表示邻域(u,v)内在某个方向上有较大的灰度变化;当λ1、λ2同时很大时,邻域(u,v)内任意方向灰度变化都很大,点f(x,y)的E(u,v)值很大,该点为一个Harris角点。
实际应用时,计算矩阵的两个特征值不是很方便,引入一个函数,称为角点响应函数R,定义式如下所示,
R=Det(M)-kTrace2(M) (6)
其中Det表示矩阵的行列式,Trace表示矩阵的迹,M是2×2的对称矩阵,故化简可以得到
R=λ1λ2-k(λ1+λ2)2 (7)
当λ1=λ2=0时,该点是个平坦点,当λ1>0,λ2=0或λ1=0,λ2>0时,该点是一个理想的边缘点,当λ1>λ2>0时,R值大,此时可以判定为一个角点。k的取值一般在[0.04 0.15]之间。
Harris角点的具体求取过程详见Harris C G,Stephens M J.A CombinedCorner and Edge Detector.Proceedings Fourth Alvey Vision Conference,1988,147-151(中文名称:一个组合的边角检测器,第四届Alvey视觉会议论文集),基本步骤如下:
根据式(3)计算图像中每一点在邻域的(u,v)内的M矩阵;
根据式(6)计算每个点的角点响应函数R,计算每个点的R值;
以每个像素点为中心建3×3的窗口,对R值进行局部非极大值抑制,若最大值点也就是窗口中心点,则该中心点就是特征点;
对所有特征点进行排序,根据要求选择角点响应函数值最大的若干点作为最后的结果。
假设我们通过Harris算子在提取得到的一组角点为Pi(t)。
作为本实施方式中所述视频中剧烈运动的检测发法的一个优选例,Harris运动角点的提取方法如图2所示,具体步骤如下:
步骤201中,二值化图像。
此后进入步骤202,形态学去噪。
此后进入步骤203,计算梯度图像并高斯平滑。
此后进入步骤204,局部非极大值抑制。
此后进入步骤205,角点筛选。
此后进入步骤206,角点输出,此后结束本流程。
进一步地,为减少视频运动检测中的大噪音干扰造成的误检和提高运动熵计算和对场景活动检测的准确性,本发明改进之处还在于,根据运动连通区域所有角点的方向直方图的标准差度量f(θ),对整幅图像中的所有角点统计的方向直方图标准差进行度量,场景标定结果为不同的场景分配不同的运动熵阈值,使我们的剧烈运动检测算法在不同场景都可以应用。
本实施方式中,图3是该视频中基于角点光流的剧烈运动并行检测方法流程示意图,包括以下步骤:
在步骤301中,输入视频帧。
此后进入步骤302,串行或并行工作模式选择为并行模式;
检测运动连通区域的步骤与检测运动角点计算运动角点光流的步骤没有时间顺序上强制性的先后要求。用户可以依据现场环境的不同要求,对系统进行工作模式上的选择,如果要提高实时性,可以使之并行执行,例如将检测运动连通区域放在一个CPU或内核中执行,同时在另一个CPU或内核中检测运动角点并计算运动角点光流。步骤302也可以没有,直接使用固定的串行或并行工作模式。
在步骤303中,求取运动Blob。
在检测运动连通区域Blob的步骤中,利用背景差法将视频帧与背景相减得到前景图,再对该前景图做运动连通区域分割得到运动连通区域。
在步骤304,在帧差图上求角点。
在检测运动角点中步骤中,可利用帧差法将相邻视频帧相减得到前景图,再从该前景图上提取运动角点。
检测运动角点时使用帧差法得到前景图,检测运动连通区域时使用背景差法得到前景图,既将背景变化所导致的影响降到最小,又能够防止运动连通区域被不当地分割,从而使运动熵的计算更为准确。
在本发明的其它某些实例中,提取运动角点所用的前景图既可以以帧差法得到,也可以以背景差法得到,同样,计算运动连通区域所用的前景图,既可以以帧差法得到,也可以以背景差法得到。
此后进入步骤305,根据角点进行LK光流计算。
此后进入步骤306,根据运动角点光流求全局的方向直方图标准差度量f(θ)。
此后进入步骤307,方向判定模块判定方向直方图标准差度量f(θ)是否在预先设定的上门限和下门限之间。
为提高视频中剧烈运动的检测准确性,如果方向判定模块判定方向直方图标准差度量f(θ)在预先设定的上门限和下门限之内,其中上门限大于下门限,则根据运动连通区域,使用Blob内的f(θ)来计算Blob的运动熵。同时,为了提高系统的响应实时性,如果方向判定模块判定方向直方图标准差度量f(θ)在预先设定的上门限或下门限之外,则认为被检测的视频场景没有剧烈运动,就结束对当前帧的进一步检测,这样可以防止将规律运动误认为剧烈运动。
在全局运动分析这一过程中,可首先对整幅图像中的所有角点做方向直方图统计,求出方向直方图标准差,标准差极大表示运动方向集中于一定方向内;标志差极小(接近零)说明运动具有极其均匀的分布;若以检测斗殴为报警输出目的,可以利用方向信息滤除方向一致和均匀分布两种规律运动,因为一般打架斗殴在一定程度上可以假设运动方向是杂乱无章的,不具有规律性。全局运动的运动直方图的一致性度量计算方式如下。对于每一对角点,我们可以根据角点矢量计算出每个角点的运动方向,然后对运动方向按360度每45度进行量化,对于N个角点的量化运动方向Di,按方向量化值1-8建立所有角点的方向直方图,该方向直方图共有八个直方图条,记方向直方图的每个直方图条为bj。此处规律运动主要指两类运动:第一类是运动方向一致的运动,如跑步,汽车行驶;第二类是均匀似圆周运动,运动方向分布很均匀,如风扇转动,匀速撑伞收伞等。
这两类运动的特性在方向直方图的标准差上可以得到一定的体现。方向直方图的标准差计算如下:
第一类运动的标准极大;第二类运动的标准差极小,通过设置合适的标准差阈值,可以滤除规律运动的误判。
在本发明的其它某些实例中,也可以不进行全局的运动分析。或者不是以每45度进行量化,而是以其它角度,如30度、60度等进行量化。
根据视频帧中所有运动角点光流计算f(θ)的步骤包括以下子步骤:
根据各运动角点光流计算每个运动角点的运动方向。
对运动方向根据预先设定的多个角度区间进行量化,得到方向直方图。
根据方向直方图中各个角度区间的量化值求标准差,得到方向直方图的标准差度量f(θ)。
在本发明的其它某些实例中,也可以采用其它的方法计算f(θ)。
若是,则进入步骤308;否则,进入步骤311。
在步骤308中,计算Blob的运动熵。
通过本实施方式中上述第二步和第三步可以获得一组点集Pi(t)、以及Pi在上一帧中的对应匹配点Pi(t-1)。
这样,每个点的运动矢量如下计算,运动速率:
Vi=‖pi(t)-pi(t-1)‖ (9)
运动方向每45度进行量化,采用量化方向值。
运动连通区域中的所有运动角点光流的统计,该运动连通区域的运动熵计算的步骤可通过以下方式实现:
其中S为运动熵,Blob为运动连通区域,p(i)为视频帧中的运动角点,Vi为p(i)对应的运动角点光流,f(θ)为方向直方图的标准差度量,表示Blob内所有运动角点的方向直方图的方向一致性度量。
在计算运动熵时,将一个运动连通区域中所有的运动角点光流之和除以方向直方图的标准差度量,使得对打架斗殴类运动方向杂乱无章的剧烈运动的检测更为准确。
在本发明的其它某些实例中,统计运动熵时,也可以不考方向的因素f(θ)。
此后进入步骤309,进行剧烈运动检测分析。
根据运动熵判断是否存在剧烈运动的步骤包括以下子步骤:
将每一个视频帧中最大的运动连通区域的运动熵与预先设定的运动熵阈值相比较,并对大于该运动熵阈值的视频帧进行统计。
如果在连续的X个视频帧中,大于运动熵阈值的视频帧的数目大于Y,则判定为存在剧烈运动,其中X和Y为正整数,Y是预先设定的门限,X大于或等于Y。
在排除全局性规律运动之后,如果视频帧中最大运动连通区域的运动熵持续超过预定门限,则判定为存在剧烈运动。这种判定方法有较高的准确性。
在本发明的其它某些实例中,也可以采用其它的判定方法,例如,可以计算最大的2个或更多个运动连通区域的运动熵之和,根据这个和值进行判定。
此后进入步骤310,输出剧烈运动检测分析结果。此后结束本流程。
在步骤311中,判定该视频帧为没有剧烈运动,此后结束本流程。
如果要减少总计算量,并对运动角点光流做全局运动分析,若分析下来不是规律运动,再执行检测运动连通区域的步骤。
具体地说,若上述步骤302中串行或并行工作模式选择为串行模式,可以使接下来的流程串行执行,具体步骤如下:
在步骤304,在帧差图上求角点。
此后进入步骤305,根据角点进行LK光流计算。
此后进入步骤306,根据运动角点光流求全局的方向直方图标准差度量f(θ)。
此后进入步骤307,方向判定模块判定方向直方图标准差度量f(θ)是否在预先设定的上门限和下门限之间。
若是,则进入步骤303;若否,则进入步骤311。
在步骤303中,求取运动连通区域Blob。
此后进入步骤308,使用Blob内的f(θ)来计算Blob的运动熵。
此后进入步骤309中,将运动熵与运动熵阈值比较进行剧烈运动检测分析。
此后进入步骤310中,输出结果,此后结束本流程。
在步骤311中,该视频帧为规律运动,此后结束本流程。
本发明第三实施方式涉及一种视频中剧烈运动的检测方法。
第三实施方式在第二实施方式的基础上进行了改进,主要改进之处在于:对场景标定后的每个点分配一个景深权重ωi,以调整每个角点的运动速率,使运动熵计算更准确,防止目标在近处被误报,在远处被漏报。如图4所示,该视频中剧烈运动的检测方法包括以下步骤:
在步骤401中,输入视频帧。
在步骤402中,对场景进行标定,获取摄像机参数。
在步骤403中,场景景深图获取。
在步骤404中,利用标定信息获取不同视频场景(视频画面)下的运动熵阈值。
对不同的场景环境,上述步骤402至404对场景标定和景深计算比较特殊,在图4中用虚框标出,因为场景标定我们只需要做一次,不需要每帧都处理,但标定得到的结果每帧都在应用。场景标定有两个作用,一是通过标定获得场景景深图,利用景深图对Blob运动熵进行校正,解决场景透视效应;二利用标定信息获取不同视频场景(视频画面)下的运动熵阈值;运动熵阈值用于剧烈运动事件分析模块。
在本发明的其它某些实例中,也可以不根据当前场景景深的标定值对运动熵阈值进行修正,而是直接根据统计数据或实验值设定运动熵阈值。
在步骤405中,求取运动Blob。
在步骤406,在帧差图上求角点。
此后进入步骤407,根据角点进行LK光流计算。
此后进入步骤408,计算f(θ)对光流做全局运动分析。
此后进入步骤409,判定全局运动是否是规律运动。
若是,则进入步骤410;若否,则进入步骤411.
在步骤410中,剔除规律运动,此后结束本流程。
在步骤411中,使用Blob内f(θ)计算运动熵,并使用景深权重对计算的运动熵结果进行校正。
由于摄像机安装视角的原因,摄像机所拍摄到的目标场景会存在非线性的透视现象,离摄像机近的目标投影后较大,所占的像素点数较多,而离摄像机远的目标投影后较小,所占的像素点数较少。这种现象称之为“透视效应”。解决这个问题的一个方案是为每一个像素分配不同的透视校正权重,离摄像机近的像素的权重小,离摄像机远的像素权重大。这个权重值我们称为景深权重。
对当前场景的景深进行标定,得到当前场景中指定位置景深相对于标准场景中相应位置景深的比例系数,再将该比例系数乘以标准场景的运动熵阈值,作为当前场景的运动熵阈值。
假设已获得摄像机标定信息,在已知一个人在图像中的投影高度下,可以计算出这个人的实际高度,反之通过一个人的实际高度,可以计算出这个人在图像中的投影高度。这样,对于图象中地平面上的每一个点(x,y),可以假设同一个人站在每一个点上,通过标定信息可以获取这个人在每个点(x,y)处的图像投影高度的大小,记为h(x,y)。h(x,y)在每个点的不同取值正好反应了一个人在同个场景中不同位置的大小。记图像最远处的人的投影高度为ha(x,y),同一个人在图像最近处的高度为hb(x,y),即同一个人在同一场景中不同位置处的不同大小。假设图像最远处的权重为1,则图像最近处的权重近似为ω=hb(x,y)/ha(x,y),即图像最近处的投影为图像最远处投影的ω倍。这样,我们可以计算出每个点的透视权重,构成一张景深权重图。
预先对场景进行景深的标定,根据标定结果对运动熵阈值进行修正,可以防止因为不同场景中景深的不同而导致判断的标准差异很大。标准场景下经优化的运动熵阈值可以方便地应用到各种不同的场景。
假设每个点的景深权重为ωi,则校正后的各个角点的运动速率如下:
V′i=ωiVi (11)
统计运动连通区域中的所有运动角点光流,求得该运动连通区域的运动熵的步骤通过以下方式统计:
其中S为运动熵,Blob为运动连通区域,p(i)为视频帧中的运动角点,ωi为p(i)的景深权重,Vi为p(i)对应的运动角点光流,f(θ)为方向直方图的标准差度量,表示Blob内所有运动角点的方向直方图的方向一致性度量。
在计算运动熵时将每一个运动角点光流与代表其景深的权重相乘,可以使运动熵更准确,防止目标在近处被误报,在远处被漏报。
此后进入步骤412,将校正后的运动熵与运动熵阈值比较进行剧烈运动检测分析。
一般假设,打架斗殴是杂乱无章的剧烈运动。这样,对于每一帧运动熵,首先利用方向信息滤除规律运动,排除非斗殴事件,然后将每一帧中的校正后的最大的连通域运动熵和运动熵阈值(由场景标定获取每个场景不同的运动熵阈值)做比较,对大于运动熵阈值的帧进行统计,做一个帧间累计,当累计值达到一定阈值后,可以判断有剧烈运动在持续,从而判断可能有打架斗殴事件发生,输出报警信号。
此后进入步骤413,输出剧烈运动检测分析结果,此后结束本流程。
具体地说,上述步骤405至流程结束工作模式也可选择为串行模式,具体步骤如下:
在步骤406,在帧差图上求角点。
此后进入步骤407,根据角点进行LK光流计算。
此后进入步骤408,计算f(θ)对光流做全局运动分析。
此后进入步骤409,判定全局运动是否规律运动。
若是,则进入步骤410;若否,则进入步骤405.
此后进入步骤411中,使用Blob内f(θ)计算运动熵,并使用景深权重对计算的运动熵结果进行校正。
此后进入步骤412,将校正后的运动熵与运动熵阈值比较进行剧烈运动检测分析。
此后进入步骤413,输出剧烈运动分析结果,此后结束本流程。
本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable Array Logic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically Erasable Programmable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digital Versatile Disc,简称“DVD”)等等。
本发明第四实施方式涉及一种视频中剧烈运动的检测装置。该视频中剧烈运动的检测装置包括:
角点检测单元,用于在视频帧中检测运动角点。
光流计算单元,用于计算角点检测单元所得的运动角点的光流。
熵计算单元,用于根据光流计算单元所得的运动角点光流计算运动熵。
运动判断单元,用于根据熵计算单元所得的运动熵判断是否存在剧烈运动。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明第五实施方式涉及一种视频中剧烈运动的检测装置。
第五实施方式在第四实施方式的基础上进行了改进,主要改进之处在于:增加了区域检测单元,用于在视频帧中检测运动连通区域。
本实施方式中,如图5所示,该视频中剧烈运动的检测装置包括:
区域检测单元,用于在视频帧中检测运动连通区域。
角点检测单元,用于在视频帧中检测运动角点,得到运动角点光流,为光流计算单元提供数据输入。
视频中剧烈运动的检测装置获取视频图像并处理,可利用背景差法或帧差法检测运动区域生成前景图并做运动连通区域分割,视频剧烈运动检测方法采用运动角点可以有效且准确地捕捉运动,不会被背景上的角点(或特征点)干扰,也可以减少外部大噪声的干扰,避免误检;这样,光流计算单元不必进行全局性运算,从而大大节省了计算量,提高了该检测方法装置的视频场景现场的响应实时性。
光流计算单元,用于利用相应光流算法来计算角点检测单元所得的运动角点的光流,并为熵计算单元提供运动角点光流数据输入进行熵计算,同时也为方向统计单元提供运动角点光流数据输入。
熵计算单元,用于根据光流计算单元所得的运动角点光流计算运动熵。所得运动熵作为运动判断单元的数据输入,来判断当前视频场景是否存在剧烈运动。
计算运动熵时,对于每一个运动连通区域,统计该运动连通区域中的所有运动角点光流,求得该运动连通区域的运动熵。
通过以下方式统计运动连通区域中的所有运动角点光流,
其中S为运动熵,Blob为运动连通区域,p(i)为视频帧中的运动角点,Vi为p(i)对应的运动角点光流,f(θ)为方向直方图的标准差度量,表示Blob内所有运动角点的方向直方图的方向一致性度量。
串行或并行工作模式选择模块,用于依据现场环境的实时性和减少总计算量等不同要求,对系统进行工作模式上的串行或并行选择。当然,此模块也可以没有,直接使用固定的串行或并行工作模式。
如果要提高实时性,可以使之并行执行,例如将检测运动连通区域放在一个CPU或内核中执行,同时在另一个CPU或内核中检测运动角点计算运动角点光流。如果要减少总计算量,可以使之串行执行,如先检测运动角点计算运动角点光流,并对运动角点光流做全局运动分析,若分析下来不是规律运动,再执行检测运动连通区域的步骤。
方向统计单元,用于根据视频帧中所有运动角点光流计算方向直方图的标准差度量f(θ)。
其中方向直方图的标准差度量f(θ)是根据视频帧中所有运动角点光流进行计算,其包括以下子步骤:根据各运动角点光流计算每个运动角点的运动方向。对运动方向根据预先设定的多个角度区间进行量化,得到方向直方图。根据方向直方图中各个角度区间的量化值求标准差,得到方向直方图的标准差度量f(θ)。
排除单元,用于判断方向统计单元所得的f(θ)是否在预先设定的上门限和下门限之间,如果是,则允许熵计算单元计算运动熵,否则,禁止熵计算单元计算运动熵并将该视频帧判定为没有剧烈运动。
其中上门限大于下门限。
运动判断单元,用于根据熵计算单元所得的运动熵判断是否存在剧烈运动。当存在剧烈运动,必要时,可通过其装置进行剧烈运动的提示。
可通过以下方式进行判断:
将每一个视频帧中最大的运动连通区域的运动熵与预先设定的运动熵阈值相比较,并对大于该运动熵阈值的视频帧进行统计。
如果在连续的X个视频帧中,大于运动熵阈值的视频帧的数目大于Y,则输出表示存在剧烈运动的信号,其中X和Y都是正整数,Y是预先设定的门限,X大于或等于Y。
第二实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
本发明第六实施方式涉及一种视频中剧烈运动的检测装置。
第六实施方式在第五实施方式的基础上进行了改进,主要改进之处在于:熵计算单元通过以下方式统计运动连通区域中的所有运动角点光流,
其中S为运动熵,Blob为运动连通区域,p(i)为视频帧中的运动角点,ωi为p(i)的景深权重,Vi为p(i)对应的运动角点光流,f(θ)为方向直方图的标准差度量,表示Blob内所有运动角点的方向直方图的方向一致性度量。
第三实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第三实施方式互相配合实施。第三实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第三实施方式中。
需要说明的是,本发明各装置实施方式中提到的各单元都是逻辑单元,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合是才解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各装置实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述装置实施方式并不存在其它的单元。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。