一种网络摄像机巡航中的运动检测方法及装置的制造方法
【技术领域】
[0001]本发明属于视频监控运动检测技术领域,尤其涉及一种网络摄像机巡航中的运动检测方法及装置。
【背景技术】
[0002]随着IP监控技术、智能技术的推广普及,以商铺、楼宇、园区等为典型的视频监控系统应用环境越来越多,运动检测作为IPC中基本功能,被越来越多的个人和企业所使用。
[0003]然而传统的网络摄像机IPC只有在静止状态,才能对周围环境进行准确的运动检测。一旦IPC进行巡航,无论周围环境是否发生运动,都会发出报警信号,用户经常会被错误的报警所干扰,十分的不便。
【发明内容】
[0004]本发明的目的是提供一种网络摄像机巡航中的运动检测方法及装置,在网络摄像机IPC进行巡航时,也能进行运动检测,避免错误的告警。
[0005]为了实现上述目的,本发明技术方案如下:
[0006]一种网络摄像机巡航中的运动检测方法,所述方法包括如下步骤:
[0007]初始化网络摄像机的预置位及其对应的停留时间,开始巡航;
[0008]当网络摄像机走到预置位并在其停留时间内时,将当前帧的图像与上一帧的图像进行对比,若图像的变化超过设定的第一阈值,则判断检测到运动,上报运动检测告警;
[0009]当网络摄像机在预置位之间运动时,在缓存中缓存当前运动时间的图像,每缓存一帧图像,就会将该帧图像和上个巡航周期所缓存的对应帧图像进行对比,若图像的变化超过设定的第二阈值,则判断检测到运动,上报运动检测告警。
[0010]进一步地,所述在缓存中缓存当前运动时间的图像时,如果是在第一个巡航周期的运动时间内,则只对图像进行缓存,不进行运动检测。
[0011]进一步地,所述在缓存中缓存当前运动时间的图像时,还包括:缓存开始时,网络摄像机强制刷新I帧间隔,开始新一轮的I帧和P帧缓存,保证缓存的第一帧为I帧。
[0012]进一步地,所述缓存至少能够循环存储两个巡航周期内运动时间视频图像。
[0013]进一步地,所述开始巡航是从首个预置位开始,从启动网络摄像机到转到首个预置位的这段时间内,不进行运动检测,不进行图像缓存。
[0014]本发明还提出了一种网络摄像机巡航中的运动检测装置,所述装置包括:
[0015]初始化模块,用于初始化网络摄像机的预置位及其对应的停留时间,并启动网络摄像机开始巡航;
[0016]停留时间检测模块,用于当网络摄像机走到预置位并在其停留时间内时,将当前帧的图像与上一帧的图像进行对比,若图像的变化超过设定的第一阈值,则判断检测到运动,上报运动检测告警;
[0017]运动时间检测模块,用于当网络摄像机在预置位之间运动时,在缓存中缓存当前运动时间的图像,每缓存一帧图像,就会将该帧图像和上个巡航周期所缓存的对应帧图像进行对比,若图像的变化超过设定的第二阈值,则判断检测到运动,上报运动检测告警。
[0018]进一步地,所述运动时间检测模块在缓存中缓存当前运动时间的图像时,如果是在第一个巡航周期的运动时间内,则只对图像进行缓存,不进行运动检测。
[0019]进一步地,所述运动时间检测模块在缓存中缓存当前运动时间的图像时,还用于在缓存开始时,强制刷新I帧间隔,开始新一轮的I帧和P帧缓存,保证缓存的第一帧为I帧。
[0020]本发明提出了一种网络摄像机巡航中的运动检测方法及装置,通过区分巡航周期的停留时间和运动时间,分别进行运动检测,能够解决IPC巡航时,实际场景未发生运动,却上报运动告警的问题。实现了 IPC巡航时的运动检测,提高运动告警的精确性,减少运动告警的误报,使用户不被错误的信息干扰,同时IPC巡航时也能进行运动检测,增大了 IPC运动检测的场景范围,必要时可减少IPC的安装,节约成本。
【附图说明】
[0021]图1为网络摄像机巡航示意图;
[0022]图2为本发明网络摄像机巡航中的运动检测方法流程图;
[0023]图3为本发明运动时间缓存帧结构示意图。
【具体实施方式】
[0024]下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
[0025]本方案针对支持巡航的网络摄像机(以下用IPC代替),如外接云台的IPC或球机IPCo预置位为IPC预先设置的位置,当IPC调用该预置位时,IPC将转至该预置位。
[0026]IPC的巡航示意图,如图1所示:
[0027]巡航配置为:
[0028](l)IPC第一个预置位为预置位1,停留3S(相当于tl);
[0029](2) IPC第二个预置位为预置位2,停留5S(相当于t2);
[0030](3) IPC第三个预置位为预置位3,停留4S(相当于t3);
[0031]配置巡航后,开始调用巡航:
[0032]IPC从巡航前的任意位置先转至预置位1,停留3S(tl);
[0033]IPC从预置位1转至预置位2,停留5S (t2);
[0034]IPC从预置位2转至预置位3,停留4S (t3);
[0035]IPC从预置位3回到预置位1,停留3S(tl),如此循环,直到巡航停止。
[0036]IPC云台转到任意位置都有一个位置参数,如X = 12.6,Y = 13.5,Z = 7.6。通过这些参数就可以确定IPC是否到达设定好的预置位。配置好巡航,IPC就会记录设置的预置位的位置参数,如上述的预置位1、2、3的位置参数。
[0037]本实施例将图1中从预置位1回到预置位1的时间当做一个巡航周期。一个巡航周期分为停留时间和运动时间。停留时间是指IPC在预置位的停留时间,即如图1所示,在预置位1停留的时间3S(相当于tl)、在预置位2的停留时间5S(相当于t2)、在预置位3的停留时间4S(相当于t3)。运动时间是指IPC在预置位之间运动的时间,即IPC从预置位1转至预置位2的时间t4、从预置位2转至预置位3的时间t5、从预置位3转至预置位1的时间t6o
[0038]本实施例一种网络摄像机巡航中的运动检测方法,如图2所示,包括如下步骤:
[0039]步骤S1、初始化网络摄像机的预置位及其对应的停留时间,开始巡航。
[0040]在启动网络摄像机后,IPC根据位置参数(X,Y, Z)判断当巡航前的IPC有没有处于预置位1,若处于预置位1,则当做第一个巡航周期开始;若没有,则从当前位置先转至预置位1,开始第一个巡航周期的巡航。如图1,网络摄像机按照预设的预置位从预置位1到预置位2,再到预置位3,然后回到预置位1,完成一个巡航周期,然后开始第二个巡航周期,一直巡航,直到结束巡航。
[0041]需要说明的是,在本实施例中,从启动网络摄像机到转到预置位1开始巡航的这段时间内,不进行运动检测,不进行图像缓存。
[0042]步骤S2、当网络摄像机走到预置位并在其停留时间内时,将当前帧的图像与上一帧的图像进行对比,若图像的变化超过设定的第一阈值,则判断检测到运动,上报运动检测生敬口目。
[0043]在一个巡航周期的停留时间内,IPC将当前帧的图像与上一帧的图像进行对比,若图像的变化超过设定的第一阈值,则判断发生运动,上报运动检测告警。
[0044]例如,当网络摄像机走到预置位1并在其停留时间tl内时,网络摄像机进行运动检测,比较当前帧的图像与上一帧的图像,若图像的变化超过设定的第一阈值,则判断发生运动,上报运动检测告警。
[0045]以此类推,在走到预置位2并在其停留时间t2内时,在走到预置位3并在其停留时间t3内时,同样进行停留时间内的运动检测。
[0046]步骤S3、当网络摄像机在预置位之间运动时,在缓存中缓存当前运动时间的图像,每缓存一帧图像,就会将该帧图像和上个巡航周期所缓存的对应帧图像进行对比,若图像的变化超过设定的第二阈值,则判断检测到运动,上报运动检测告警。
[0047]为了判断网络摄像机在预置位之间运动时,监控场景中是否有运动,本实施例1PC设置有缓存空间,用于循环存储至少两个巡航周期内运动时间的视频图像。
[0048]第一个巡航周期的运动时间内,IPC只对图像进行缓存,不进行运动检测,第二个巡航周期及往后的巡航周期的运动时间内,IPC将对图像进行缓存,每缓存一帧图像,就会将该帧图像和上个周期所对应的图像进行对比。若图像的变化超过设定的第二阈值,则判断检测到运动,上报运动检测告警。
[0049]容易理解的是,从第二个巡航周期开始,无论是否告警,图像都会继续缓存。
[0050]需要说明的是,IPC对图像进行缓存时,一般图像缓存为I帧和P帧。I帧表示关键帧,可以理解为这一帧画面的完整保留,P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别。当缓存时帧率为50时,I帧间隔为25,即1S内可以缓存50帧图像,顺序为一个I帧,后跟24个P帧,再缓存一个I帧,后跟2