一种应用在移动监控终端的运动检测方法及系统的制作方法

文档序号:7652165阅读:92来源:国知局
专利名称:一种应用在移动监控终端的运动检测方法及系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种应用在移动监控终端的运动检测方法及系统。
背景技术
在传统的监控产品中,基于有线网络的居多,而用于防盗报警的产品更多是采用红外热源检测或者磁性阻断等简单的物理方案来进行。如果需要做实时的运动检测(Motion Detect),一般会使用高速的专用算法芯片,或是采用运算能力非常强的个人电脑来做主机。传统监视终端的不易移动性和监控成本的高昂,限制了这类监控系统只能适合机关团体使用,而对于普通家庭的防盗监控是不适用的。随着无线个人通讯技术的发展,近年来基于无线通讯网络的移动监控终端技术得到了迅猛发展,也使得防盗监控设备批量进入个人家庭成为了可能。
无线监控产品以前只有基于GPRS和CDMA2000的产品,GPRS和CDMA2000的监控终端产品因为限制于数据传输速度和终端本身的处理能力,所以无法做到即时监控,更不可能通过软件来做到智能的运动检测。随着3G技术在全球的大规模应用,越来越多的人开始使用3G移动终端。同时以3G终端可视电话技术为基础的3G视频监控终端也开始得到了迅速的发展。通过终端的摄像头可以进行全天候的监控,但是从方便实用的角度考虑,传统的对被监视对象的实时监控手段,如红外监控,磁力阻断等已经不能满足日益扩大的家庭监控需要,因此以终端本身为基础的,对于监视图像动态变化的检测已经成为无线终端监控的主要采用方式。虽然3G终端的CPU运算能力同2G终端相比较有了极大的提高,但是还是远远小于一般的PC,考虑到成本和集成的难度,也不可能采用专门的运算芯片来做,因此只能结合终端自身的特点采用高效的软件算法来实现。

发明内容
为了解决上述的技术问题,提供了一种应用在移动监控终端的运动检测方法及系统,其目的在于,给移动监控终端提供一种高效并且有效的算法,来保证移动监控终端在不依赖其它设备的情况下,通过该算法对监控摄像头拍摄到的监控图像进行判断,得出监控画面是否有异常变化的结果并且通知移动监控终端,由移动监控终端完成实时监控和报警的功能。
本发明提供了一种应用在移动监控终端的运动检测方法,该方法将监视屏幕分成M×N个长方形区域,选择长度上经过划分后的M个区域的中线,或者宽度上经过划分后的N个区域的中线作为像素点;对中线上的像素点作为依据进行运动检测,在必要的情形下对长方形区域进行“米”字线型的像素差异点个数分析,从而判断当前帧P1和原始帧P0是否相同。
具体包括以下步骤步骤1,按照时间间隔T秒采样当前帧P1,如果是第一次采样则将其作为原始帧P0,并重复该步骤,在T秒之后采样得到当前帧;步骤2,将监视屏幕分成M×N个长方形区域,选择长度上经过划分后的M个区域的中线,或者宽度上经过划分后的N个区域的中线作为像素点;步骤3,比较P0帧和P1帧在一条中线的一线段上对应的像素点的差异,如果大于第一阈值ξ1,则对应的像素点不同,否则对应的像素点相同;如果该线段上不同像素点的总数大于第二阈值ξ2,则判断P0帧和P1帧不同,并通知移动监控终端;步骤4,对该中线上的其它线段上的像素点,重复执行步骤3;步骤5,如果该中线上所有线段上不同像素点的总数大于第三阈值ξ3,则判断P0帧和P1帧不同,并通知移动监控终端;否则,对该中线的各线段上不同像素点的总数大于第四阈值ξ4的该线段所在的长方形区域进行“米”字线型的像素差异点个数分析,如果不同像素点的总数大于第五阈值ξ5,则直接判断P0帧和P1帧不同,并通知移动监控终端;步骤6,对其它中线重复执行步骤3至步骤5;步骤7,将当前帧P1作为原始帧P0,重复步骤1至步骤6。
步骤1中,抛弃摄像头开始传输数据过来的若干帧。
步骤3中,阀值ξ1依据YUV格式中的Y分量确定。
阈值ξ4小于阈值ξ2。
本发明提供了一种应用在移动监控终端的运动检测系统,包括采样模块,用于按照时间间隔T秒采样当前帧P1,如果是第一次采样则将其作为原始帧P0,并重复该步骤,在T秒之后采样得到当前帧;区域划分模块,用于将监视屏幕分成M×N个长方形区域,选择长度上经过划分后的M个区域的中线,或者宽度上经过划分后的N个区域的中线作为像素点;运动检测模块,用于依据阈值ξ1判断每条中线上各线段上对应的像素点是否相同;用于依据每条中线上各线段上不同像素点的总数以及阈值ξ2判断P0帧和P1帧是否相同;用于依据每条中线上所有线段上不同像素点的总数以及阈值ξ3判断P0帧和P1帧是否相同;用于依据每条中线上各线段上不同像素点的总数以及阈值ξ4判断是否在各线段所在的长方形区域进行“米”字线型的像素差异点个数分析,并且依据像素差异点总数和阈值ξ5判断判断P0帧和P1帧是否相同;还用于判断出P0帧和P1帧不相同后,通知移动监控终端。
所述采样模块抛弃摄像头开始传输数据过来的若干帧。
所述阀值ξ1依据YUV格式中的Y分量确定。
阈值ξ4小于阈值ξ2。
本发明能够使移动监控终端在不依赖其它设备的情况下,通过对监控摄像头拍摄到的监控图像进行判断,得出监控画面是否有异常变化的结果并且通知移动监控终端,由移动监控终端完成实时监控和报警的功能。本发明在3G移动终端上实现,但同时也可以使用在其它的监控终端产品上。


图1是区域分割及纵向采样像素点示意图;图2是区域“米”字型采样像素点示意图;图3是本发明提供的算法流程图。
具体实施例方式
本发明根据移动监控终端实际的需求和移动监控终端的运算能力提出了一种基于帧比较的方法来进行运动检测的高效算法。该算法考虑到了移动监控终端的运算能力相对较弱的特点,提出一个应用于移动监控终端的有效快速的运动检测算法。
本发明的技术方案如下本发明涉及一种应用在移动监控终端的运动检测方法,将监视屏幕分成M×N个长方形区域,选择长度上经过划分后的M个区域的中线,或者宽度上经过划分后的N个区域的中线作为像素点;对中线上的像素点作为依据进行运动检测,在必要的情形下对长方形区域进行“米”字线型的像素差异点个数分析,从而判断当前帧P1和原始帧P0是否相同。
本发明所述基于帧比较来进行运动检测的具体方法如下该算法的本质就是针对定时取样的两帧图像的像素点进行比较,从而判断监控对象是否存在变化,完成实时监控的功能。
目前摄像头输出的信号,基本上是YUV格式的。在判断像素点的值时,对于其中的Y、U、V三个分量,可以只选择其中的一个分量作为判断标准,也可以选择其中的两个或者全部作为像素点值的判断标准。而亮度分量Y通常是一个重要的选择。
我们使用F(x,y)来表示每个像素点(x,y)在每帧中的值。
按照标准定义F(x,y)=YUV]]>Y=0.299R+0.587G+0.114BU=-0.147R-0.289G+0.436BV=0.615R-0.515G-0.100B对于摄像头输出为RGB格式的处理,可以按照上面的公式转换成YUV格式进行处理。
步骤1帧采集假设摄像头通常的采样速率为10-15帧每秒,对于运动物体的检测来讲,太快的采样速度意义不大,所以我们对于比较帧的采样间隔以秒为单位即可,例如每秒采样一帧。
另外还要抛弃摄像头开始传输数据过来的若干帧,因为摄像头刚开始传输的图像受到摄像头参数影响差异较大,大约10-15帧,即摄像头刚开始工作的1秒左右,这并不影响实际的检测功能。
根据帧速率,按照预定的时间间隔T秒采样一个当前帧P1。如果是第一次采样,则将其作为原始帧P0,并重复这一步骤,在T秒之后采样得到当前帧P1。
步骤2P0,P1帧比较像素点的选择从最可靠的角度来讲,是将两帧中所有的像素点进行比较,但是因为移动监控终端的CPU处理能力到底不比PC机,而且从运算效率等方面考虑,我们需要选择一系列有代表性的像素点进行比较,而不是所有的像素点。
如图1所示,首先将监视屏幕分成若干长方形区域,即将监视区域长度M等分,宽度N等分,当然根据需要也可以不等分,例如在划分长方形区域时,中间的长方形的长或/和宽大于两边的长方形,M和N的取值,可以根据监视区域的大小来决定。第一步选择的像素点,如图1中的虚线所示,可以选择长度上经过划分后的M个区域的中线,或者宽度上经过划分后的N个区域的中线。通过下面的算法计算后,如果判断像素差异区域处于监视屏幕的某个或者某些区域,如图2所示,则对此区域按照“米”字形状的像素点进行第二步的比较,详细算法如步骤3所述。
步骤3P0,P1帧比较算法设定像素差异阀值ξ1,这个阀值表明两个像素间颜色差异在某个范围内就认为是相同的像素点。这里我们以仅采用YUV格式中的Y分量为例,当然也可以采用其他的分量。
我们以图1的情况为例,将监视区域的宽度N等分,则用于比较的像素点为N条直线,如图中的虚线。对于每条直线又被M等分成M段线段。
则每段线段我们用L(m,n)表示。0≤m<M,0≤n<N。
首先m=0,n=0,从L(0,0)线段开始,我们依次对P0和P1帧上的抽样线段进行逐点比较。如果Y分量的差异小于阀值ξ1则认为两个像素点是没有变化的,否则认为是有差异的象素点,开始累加差异像素点计数器C。公式描述如下Fcurrent(m,n)表示在P1帧中的L(m,n)线段上的像素点(m,n)的亮度Y值,而Fprevious(m,n)表示在P0帧中对应像素点的亮度Y值。
设定二维数组C[m,n],用来代表P0帧和P1帧中对应的两个L(m,n)线段中存在的不同的像素点的个数,初始值为0。
a(m,n)=1|fcurrent(m,n)-fprevious(m,n)|>ξ10|fcurrent(m,n)-fprevious(m,n)|≤ξ1]]>If a(x,y)==1,则C[m,n]=C[m,n]+1。
设定像素差异阀值ξ2,这个阀值表明如果P0帧和P1帧中的某段L(m,n)的像素差异点个数大于此门限,则可以直接判定P0帧和P1帧不同。所以此门限值应该较高,建议大于L(m,n)像素点的数目的80%。
如果C[m,n]≥ξ2,则可以直接判定P0帧和P1帧不同,通知终端,终端将进行报警等后续处理。如果C[m,n]<ξ2,则继续判断下一段L(m,n),如果0≤m<M-1,则m=m+1;如果m=M-1,并且0≤n<N-1,则m=0,并且n=n+1,如果n=N-1,则所有线段都已经判断结束。
如果将图1中的某条虚线的差异像素点都比较完之后,没有任何一条线段符合C[m,n]≥ξ2,则设定像素差异阀值ξ3,将该条直线的所有M段线段的像素差异点个数进行累加,例如,对于第一条虚线,使用L(m,0)表示,0≤m<M,则该条线段总的像素差异点个数为C=ΣmC[m,0],]]>如果C≥ξ3,则可以直接判定P0帧和P1帧不同,通知终端,终端将进行报警等后续处理。否则设定像素差异阀值ξ4,如果该虚线中的M段中的任何一段L(m,n)的像素差异点C[m,n]≥ξ4,则对该线段所在区域进行如图2所示“米”字线型的像素差异点个数进行分析。ξ4同ξ2的区别在于ξ4是一个比较低的门限值,例如大于L(m,n)像素点的数目的10%,代表该区域存在图像上的波动,需要对该区域进行“米”字形状检测。
设定像素差异阀值ξ5,Cf为P0帧和P1帧对应区域的“米”字形状检测得出的像素差异点个数,如果Cf≥ξ5,则可以直接判定P0帧和P1帧不同,通知终端,终端将进行报警等后续处理。否则,将重复上面的操作,对剩余的区域和虚线进行差异像素点对比。
步骤4按照上面的算法,将所有虚线和区域的像素差异比较完成后,如果判定P0帧和P1帧无明显差异,则继续采样,并清零相关计数器,将当前帧P1做为原始帧P0,重新开始步骤1进行帧采集。
下面结合附图,对本发明做进一步的详细描述。
本发明根据移动监控终端实际的需求和运算能力提出了一种基于帧比较的方法来进行运动检测的高效算法。
该算法的详细流程请参见图3。
步骤1按照上面描述的方法,以固定的时间间隔T对监视图像帧进行取样,获得P0帧和P1帧。
步骤2各个参数值初始化。m,n,C[m,n],C,temp等参数清零,M,N,ξ1,ξ2,ξ3,ξ4,ξ5赋初值。
步骤3通过算法计算P0帧和P1帧中对应的L(m,n)线段的差异像素点的个数,具体算法参见上面的描述,获得C[m,n]。
步骤4判断C[m,n]是否大于设定的门限值ξ2,如果大于等于门限值ξ2,则可以判定P0帧和P1帧不同,向终端发送事件通知。重新跳转到步骤1。如果小于门限值ξ2则进入步骤5。
步骤5m=m+1,然后判断是否0≤m<M。如果是,则跳转到步骤3,继续比较后续的线段像素差异点。如果否,说明图1中的一条虚线已经比较完毕,需要对整条虚线的像素差异点个数进行判断。进入步骤6。
步骤6对于已经获得的第n条虚线的M段线段差异像素点个数进行累加,即C=C
+…+C[m,n],0≤m<M。从而获得第n条虚线的差异像素点个数。判断第n条虚线的差异像素点个数是否大于门限值ξ3。如果“是”,则可以判定P0帧和P1帧不同,向终端发送事件通知。重新跳转到步骤1。否则进入步骤7。
步骤7步骤7-步骤10的目的是,虽然第n条虚线中的M段线段和整条的第n条虚线中的差异像素点个数都没有达到可以判定P0帧和P1帧不同的门限,但是并不能排除在局部两帧有着明显的差异。因此需要对第n条虚线的M段线段的每个区域进行判断。零Temp=0,进入步骤8。
步骤8判断P0帧和P1帧中第n条虚线中L(temp,n)线段的差异像素点个数C[temp,n]是否大于门限值ξ4。如果C[temp,n]大于等于ξ4,则进入步骤10。否则进入步骤9。
步骤9temp=temp+1,如果0≤temp<M,则跳转到步骤8。否则跳转到步骤11
步骤10计算P0帧和P1帧中L(temp,n)线段所在区域“米”字线型的像素差异点个数Cf,即计算图2中所示的“米”字型中4条线段的差异像素点的个数,之所以选择“米”字型,是因为“米”字型基本覆盖了该长方形区域,当然也可以选择该区域的一定数量的等分横向和竖向水平线作为判断依据。如果Cf大于等于门限值ξ5,则可以判定P0帧和P1帧不同,向终端发送事件通知。重新跳转到步骤1。否则跳转到步骤9。
步骤11当对第n条虚线所在区域判断完后,并且通过该条虚线的判断没有达到可以判定P0帧和P1帧不同的门限,则判断下一条虚线所在的区域。n=n+1,如果0≤n<N,则跳转到步骤3。否则说明对于P0帧和P1帧中所有的虚线区域都已经判定完毕,没有判定两帧有明显差异,重新跳转回步骤1。
本发明提供了一种应用在移动监控终端的运动检测系统,包括采样模块,用于按照时间间隔T秒采样当前帧P1,如果是第一次采样则将其作为原始帧P0,并重复该步骤,在T秒之后采样得到当前帧;区域划分模块,用于将监视屏幕分成M×N个长方形区域,选择长度上M个区域的中线,或者宽度上N个区域的中线作为像素点;运动检测模块,用于依据阈值ξ1判断每条中线上各线段上对应的像素点是否相同;用于依据每条中线上各线段上不同像素点的总数以及阈值ξ2判断P0帧和P1帧是否相同;用于依据每条中线上所有线段上不同像素点的总数以及阈值ξ3判断P0帧和P1帧是否相同;用于依据每条中线上各线段上不同像素点的总数以及阈值ξ4判断是否在各线段所在的长方形区域进行“米”字线型的像素差异点个数分析,并且依据像素差异点总数和阈值ξ5判断判断P0帧和P1帧是否相同;还用于判断出P0帧和P1帧不相同后,通知移动监控终端。
所述采样模块抛弃摄像头开始传输数据过来的若干帧。
所述阀值ξ1依据YUV格式中的Y分量确定。
阈值ξ4小于阈值ξ2。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
权利要求
1.一种应用在移动监控终端的运动检测方法,其特征在于,包括以下步骤步骤1,按照时间间隔T秒采样当前帧P1,如果是第一次采样则将其作为原始帧P0,并重复该步骤,在T秒之后采样得到当前帧;步骤2,将监视屏幕分成M×N个长方形区域,选择长度上经过划分后的M个区域的中线,或者宽度上经过划分后的N个区域的中线作为像素点;步骤3,比较P0帧和P1帧在一条中线的一线段上对应的像素点的差异,如果大于第一阈值ξ1,则对应的像素点不同,否则对应的像素点相同;如果该线段上不同像素点的总数大于第二阈值ξ2,则判断P0帧和P1帧不同,并通知移动监控终端;步骤4,对该中线上的其它线段上的像素点,重复执行步骤3;步骤5,如果该中线上所有线段上不同像素点的总数大于第三阈值ξ3,则判断P0帧和P1帧不同,并通知移动监控终端;否则,对该中线的各线段上不同像素点的总数大于第四阈值ξ4的该线段所在的长方形区域进行“米”字线型的像素差异点个数分析,如果不同像素点的总数大于第五阈值ξ5,则直接判断P0帧和P1帧不同,并通知移动监控终端;步骤6,对其它中线重复执行步骤3至步骤5;步骤7,将当前帧P1作为原始帧P0,重复步骤1至步骤6。
2.如权利要求1所述的应用在移动监控终端的运动检测方法,其特征在于,步骤1中,抛弃摄像头开始传输数据过来的若干帧。
3.如权利要求1或2所述的应用在移动监控终端的运动检测方法,其特征在于,步骤3中,阀值ξ1依据YUV格式中的Y分量确定。
4.如权利要求1或2所述的应用在移动监控终端的运动检测方法,其特征在于,阈值ξ4小于阈值ξ2。
5.一种应用在移动监控终端的运动检测系统,其特征在于,包括采样模块,用于按照时间间隔T秒采样当前帧P1,如果是第一次采样则将其作为原始帧P0,并重复该步骤,在T秒之后采样得到当前帧;区域划分模块,用于将监视屏幕分成M×N个长方形区域,选择长度上经过划分后的M个区域的中线,或者宽度上经过划分后的N个区域的中线作为像素点;运动检测模块,用于依据阈值ξ1判断每条中线上各线段上对应的像素点是否相同;用于依据每条中线上各线段上不同像素点的总数以及阈值ξ2判断P0帧和P1帧是否相同;用于依据每条中线上所有线段上不同像素点的总数以及阈值ξ3判断P0帧和P1帧是否相同;用于依据每条中线上各线段上不同像素点的总数以及阈值ξ4判断是否在各线段所在的长方形区域进行“米”字线型的像素差异点个数分析,并且依据像素差异点总数和阈值ξ5判断判断P0帧和P1帧是否相同;还用于判断出P0帧和P1帧不相同后,通知移动监控终端。
6.如权利要求5所述的应用在移动监控终端的运动检测系统,其特征在于,所述采样模块抛弃摄像头开始传输数据过来的若干帧。
7.如权利要求5或6所述的应用在移动监控终端的运动检测系统,其特征在于,所述阀值ξ1依据YUV格式中的Y分量确定。
8.如权利要求5或6所述的应用在移动监控终端的运动检测系统,其特征在于,阈值ξ4小于阈值ξ2。
全文摘要
本发明涉及一种应用在移动监控终端的运动检测方法,将监视屏幕分成M×N个长方形区域,选择长度上经过划分后的M个区域的中线,或者宽度上经过划分后的N个区域的中线作为像素点;对中线上的像素点作为依据进行运动检测,在必要的情形下对长方形区域进行“米”字线型的像素差异点个数分析,从而判断当前帧P1和原始帧P0是否相同。本发明能够使移动监控终端在不依赖其它设备的情况下,通过对监控摄像头拍摄到的监控图像进行判断,得出监控画面是否有异常变化的结果并且通知移动监控终端,由移动监控终端完成实时监控和报警的功能。
文档编号H04N5/14GK101035344SQ20071009867
公开日2007年9月12日 申请日期2007年4月24日 优先权日2007年4月24日
发明者刘轶 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1