具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
首先对本发明实施例提供的运动检测方法进行说明。
实施例一:
图4为本发明实施例提供的运动检测方法的流程图。如图4所示:
本发明实施例提供的运动检测方法包括:
步骤401:分别根据当前输入图像与当前背景图像获取背景差分图像,根据所述当前输入图像与所述当前输入图像的前一帧输入图像获取帧间差分图像。
其中,所述根据当前输入图像与当前背景图像获取背景差分图像的方法可以包括:通过将当前输入图像与当前背景图像相减获得所述当前输入图像的背景差分图像。所述根据输入图像与所述输入图像的前一帧输入图像获取帧间差分图像的方法可以包括:通过将当前输入图像与所述当前输入图像的前一帧输入图像相减获得所述当前输入图像的帧间差分图像。
在获取背景差分图像和帧间差分图像之后,本步骤还可以包括:分别对获取的背景差分图像和帧间差分图像进行进行二值化处理,再分别对二值化处理后的背景差分图像和帧间差分图像进行形态学滤波处理,将形态学滤波处理处理后的背景差分图像和帧间差分图像作为步骤402进行逻辑与操作的对象。
步骤402:通过将所述背景差分图像和所述帧间差分图像进行逻辑与处理获取运动图像。
在进行所述逻辑与处理之后,本步骤还可以进一步包括:对获取的运动图像进行形态学滤波处理,输出形态学滤波处理后的运动图像。
较佳地,步骤402之后,还可以根据当前输入图像及当前输出的运动图像更新当前背景图像。
所述根据当前输入图像及所述当前输出的运动图像更新当前背景图像的方法可以包括:在当前输出的运动图像中确定运动前景区域;在当前输入图像中确定非替换区域,所述非替换区域在所述当前输入图像中的位置与所述运动前景区域在所述当前输出的运动图像中的位置相同;用当前输入图像中非替换区域以外的区域替换当前背景图像中相对应的区域,将替换后生成的图像作为当前背景图像。
另外,本发明实施例提供的运动检测方法中,还可以在步骤402之后进一步在获取的运动图像中识别出运动目标并记录所述运动目标的运动轨迹,得到目标跟踪后的图像。
还可以在执行以上所述目标跟踪的步骤之后,对所述目标跟踪后的图像进行后续分析,在分析结果为情况异常时进行报警。
还可以在分析结果为情况异常时进一步对获取的目标跟踪后的图像通过视频编码方法进行编码,向中心控制装置输出编码后的图像,以便中心控制装置进行视频监控。
下面综合上述情况,对本发明实施例提供的运动检测方法作进一步详细说明。
实施例二:
图5为本发明实施例提供的运动检测方法的流程图。如图5所示:
本发明实施例提供的运动检测方法包括:
步骤501:通过将当前输入图像与当前背景图像相减获得所述当前输入图像的背景差分图像,通过将当前输入图像与所述当前输入图像的前一帧输入图像相减获得所述当前输入图像的帧间差分图像。
本步骤中,通过相减,当前输入图像与当前背景图像相区别的区域的像素值变大了,而相近或相同的区域的像素值变小或者为0。这样,在背景差分图像中,就凸现出当前输入图像与当前背景图像的区别区域。也就是说,背景差分图像中包括了当前输入图像的前景信息。
同理,在帧间差分图像中,当前输入图像与其前一帧输入图像相区别的区域,即当前输入图像中发生运动的区域,被凸现了出来。也就是说,帧间差分图像中包括了当前输入图像中发生运动的信息。
步骤502:分别对步骤501获取的背景差分图像和帧间差分图像进行进行二值化处理。
本步骤中,可以采用目前广泛使用的最大类间方差法进行二值化处理。
通过二值化处理,可以将背景差分图像中的前景区域置为1,其它区域置为0;将帧间差分图像中发生运动的区域置为1,其它区域置为0。
本步骤中,可以采用目前广泛使用的二值化方法,这里不再赘述。
步骤503:分别对步骤502二值化处理后的背景差分图像和帧间差分图像进行形态学滤波处理。
本步骤中,形态学滤波处理可以采用以下方式实现:
5031、对二值图像进行中值滤波,以去除孤立的噪声点。
5032、然后对中值滤波后的图像进行的形态学膨胀操作。
5033、对形态学膨胀操作后的图像进行边界跟踪(Bound Tracking)或者边缘点连接(Edge Point Linking),得到图像中每个连通区域的边界,从而获得每个连通区域的相关信息,如大小、面积等。这样,用户就可以根据需要除去除面积小于一定阈值或者形状不规则的连通区域。
5034、将步骤5033得到的连通区域边界内部的像素点设置为前景点,以填充其中可能存在的空洞。
步骤504:通过将步骤503进行形态学滤波处理后的背景差分图像和帧间差分图像进行逻辑与处理得到运动图像。
本步骤中,逻辑与处理后得到的运动图像包括了运动的前景信息。
举例来说,如图6所示,通过二值化处理,背景差分图像601中的前景区域6011为1,其它区域6012为0;帧间差分图像中602发生运动的区域6021为1,其它区域6022为0。
通过将背景差分图像601与帧间差分图像中602进行逻辑与处理,得到运动图像603。通过逻辑与处理,前景区域6011与发生运动的区域6021重合的区域,即运动的前景区域6031为1,而其它区域6032为0。这样,运动图像603中就凸现了运动的前景区域,也就是说,运动图像603包括了运动的前景信息。
步骤505:将步骤504得到的运动图像进行形态学滤波处理,将形态学滤波处理后的运动图像作为当前输出的运动图像输出。
本步骤中,形态学滤波处理的方法可以与步骤503相同。
至此,获得了运动的前景信息。之后可以根据获取的运动前景信息对当前背景图像进行更新,还可以根据获取的运动前景信息进行目标跟踪、后续分析、以及视频编码等。
在步骤505之后,执行步骤506和步骤509。
步骤506:在步骤505生成的当前输出的运动图像中确定运动前景区域。
步骤507:在当前输入图像中确定非替换区域,所述非替换区域在所述当前输入图像中的位置与所述运动前景区域在所述当前输出的运动图像中的位置相同。
步骤508:用当前输入图像中非替换区域以外的区域替换当前背景图像中相对应的区域,将替换后生成的图像作为当前背景图像,完成一次背景更新。
步骤506~步骤508是背景更新的过程,下面举例说明本发明实施例提供的目标检测方法中,用当前输入图像更新当前背景图像的过程。如图7所示:
当前输出的运动图像701中,区域7011为经过逻辑与处理及形态学滤波处理后而凸现出来的运动前景区域,区域7011以外的区域,也就是区域7012,为背景区域。
在当前输入图像702中,对应当前输出的运动图像,确定与区域7011坐标相同的区域7021,将区域7021作为非替换区域。
同样的,在当前背景图像703中,确定出对应的区域7031和区域7032。
这样,区域7011在当前输出的运动图像701中的位置、区域7021在当前输入图像702中的位置以及区域7031在当前背景图像703中的位置是相同的,当然,区域7012在当前输出的运动图像701中的位置、区域7022在当前输入图像702中的位置以及区域7031在当前背景图像703中的位置也是相同的。
用当前输入图像702的区域7022来替换当前背景图像中的区域7032,将替换后生成的图像作为当前背景图像704。这样,更新后的当前背景图像704就由区域7022和区域7031组成。实现了背景的更新。
那么在具体算法中,可以通过以下方式来实现:
在任意时刻t,当前的输入图像的像素值为It,当前输出的运动图像中各个像素点的像素值为Ft,设定更新速率α,其中α为0~1之间的常数,一般取0.01~0.05。按照公式1得到当前的背景图像中各象素点的像素值Bt:
公式1
上式的含义是,对于当前输出的运动图像中任意位置(x,y)处的像素点,如果当前输出的运动图像中(x,y)点处的像素值Ft(x,y)为1,则(x,y)点为运动的前景像素点,则当前背景图像中(x,y)处的像素值Bt(x,y)保持与时刻t-1时的像素值Bt-1(x,y)相同,否则,Bt(x,y)按照当前输入图像在(x,y)处的像素值It(x,y)和前一时刻t-1的背景图像在(x,y)处的像素值Bt-1(x,y)加权值计算。
这里,由于在对背景差分图像和帧间差分图像进行二值化之后,在背景差分图像中,前景区域的像素点的像素值为1,而其余像素点的像素值为0;在帧间差分图像中,发生运动区域的像素点的像素值为1,而其余像素点的像素值为0。因此在进行逻辑与之后,如果(x,y)点为运动的前景象素点,则Ft(x,y)值为1,否则(x,y)点的Ft(x,y)值为0。
步骤509:对步骤505获取的运动图像进行目标跟踪,获得目标跟踪后的图象。
所述目标跟踪是指,在多幅连续的运动图像中识别出运动目标,并记录所述运动目标的运动轨迹。
目标跟踪的方法有很多种,本实施例采用的目标跟踪的方法包括以下步骤:
步骤5091:预先建立一个描述运动目标信息的数据库,主要负责记录所有运动目标的大小、运动方向、瞬时速度、运动轨迹以及运动目标的图像特征等,可以根据实际需要适当地设置需要记录的信息。将第一次检测到的所有运动目标的相关信息记录到该数据库中。
步骤5092:在每一帧输入图像中,将当前检测到的运动目标与数据库的运动目标进行相似性比较,比较过程如下:
步骤50921、设当前帧运动区域为{A
i}
i=1 M,数据库中的运动目标为{B
j}
j=1 N,其中A
i与B
j的图像特征分别为
和
。这里,所述A
i与B
j的图像特征可以是图像像素点集合,也可以是区域直方图,此处以归一化的颜色直方图为例。按照公式2计算A
i与B
i的相似性定义:
分别计算{Ai}i=1 M与{Bj}j=1 N之间的相似性:d(Ai,Bj),i=1,2,...,M,j=1,2,...,N。
步骤50922、根据公式3求出所有相似度中的最大值:
公式3
这样,实现了Ax和By匹配。
在公式2和公式3中,M为运动区域的数量,N为运动目标的数量,H为直方图的区间数。x和y分别为d(Ai,Bj)最大时对应的i和j。
步骤50923、在当前帧运动区域为{Ai}i=1 M和数据库中的运动目标为{Bj}j=1 N中除去Ax和By,返回步骤步骤50921,直至没有运动区域或者运动目标剩余。
如果有当前检测到的运动目标与数据库中的某个运动目标匹配,则用所述检测到的运动目标信息替换数据库中所述与之匹配的运动目标的信息。
步骤510:对步骤509获得的目标跟踪后图象进行后续分析,在分析结果为情况异常时执行步骤511。
常用的后续分析包括:周边入侵分析、移走物体检测、人群密度分析等等。本实施例采用的后续分析的方法包括以下步骤:
步骤5101:在系统工作前,首先由用户通过系统中人机交互界面,指定若干个禁止区域,通常用任意多边形表示这些区域。
步骤5102:在系统运行过程中,对经过步骤509目标跟踪后得到的图像进行后续分析,如果发现某一运动目标位于用户指定的任意禁止区域之中,就认为发生了周边入侵行为,执行步骤511。
步骤511:进行报警的同时,将步骤509目标跟踪后得到的图像通过视频编码方法进行视频编码,输出编码后的图象。
目前广泛使用的视频编码方法有很多种,例如Mepg4,H.264等。
本发明实施例还提供了一种运动检测装置,下面对本发明实施例提供的运动检测装置作进一步详细说明。
实施例三
图8为本发明实施例提供的运动检测装置的结构图,如图8所示:
本发明实施例提供的运动检测装置包括:差分模块801和运动提取模块802。
差分模块801用于接收当前输入图像,根据当前输入图像与当前背景图像获取背景差分图像,根据所述当前输入图像与所述当前输入图像的前一帧输入图像获取帧间差分图像,将获取的背景差分图像和帧间差分图像发送至运动提取模块802。
其中,差分模块801可以包括背景差分模块8011和帧间差分模块8012。
背景差分模块8011用于接收当前输入图像,根据接收到的当前输入图像与当前背景图像获取背景差分图像,将获取的背景差分图像发送至运动提取模块802。
帧间差分模块8012用于接收当前输入图像,根据接收到的当前输入图像与所述当前输入图像的前一帧输入图像获取帧间差分图像,将获取的帧间差分图像发送至运动提取模块802。
运动提取模块802用于接收来自差分模块801的背景差分图像和帧间差分图像,将所述背景差分图像和所述帧间差分图像进行逻辑与处理,输出逻辑与处理后得到的运动图像。
本发明实施例提供的运动检测装置还可以进一步包括第三滤波模块803。第三滤波模块803用于接收运动提取模块输出的运动图像,对接收到的运动图像进行形态学滤波处理,输出形态学滤波处理后的运动图像。
另外,本发明实施例提供的运动检测装置还可以进一步包括背景更新模块804。背景更新模块804用于接收当前输入图像与第三滤波模块803当前输出的运动图像,根据当前输入图像及所述当前输出的运动图像更新当前背景图像。其中,背景更新模块可以采用本发明实施例提供的运动检测方法中更新当前背景图像的方法来实现对当前背景图像的更新。
本发明实施例还提供了一种智能监控系统,下面对本发明实施例提供的智能监控系统作进一步详细说明。
实施例四
图9为本发明实施例提供的智能监控系统的结构图,如图9所示:
本发明实施例提供的智能监控系统包括:视频采集装置901、运动检测装置902和中心控制装置903。
视频采集装置901用于连续采集视频图像,将当前采集到的视频图像作为当前输入图像发送至运动检测装置902。
运动检测装置902用于接收来自视频采集装置901的当前输入图像,获取当前输入图像的背景差分图像与帧间差分图像,通过将所述背景差分图像和所述帧间差分图像进行逻辑与处理获取运动图像,输出获取的运动图像至中心控制装置903。
其中,运动检测装置902可以采用本发明实施例三提供的运动检测装置来实现。
中心控制装置903用于接收来自运动检测装置902的运动图像,根据接收到的运动图像进行视频监控。
另外,在本发明实施例提供的智能监控系统中,运动检测装置902还可以采用以下方式实现:
方式一:
运动检测装置902包括:运动检测模块和目标跟踪模块。
所述运动检测模块用于接收来自视频采集装置的当前输入图像,获取当前输入图像的背景差分图像与帧间差分图像,通过将所述背景差分图像和所述帧间差分图像进行逻辑与处理获取运动图像,输出获取的运动图像至目标跟踪模块。
所述目标跟踪模块用于接收目标检测模块输出的运动图像,在连续接收到的运动图像中识别出运动目标,并记录所述运动目标的运动轨迹,输出目标跟踪后的图像至中心控制装置903。
方式二:
运动检测装置902包括:运动检测模块、目标跟踪模块、后续分析模块和报警模块。
所述运动检测模块与方式一中的运动检测模块相同。
所述目标跟踪模块用于接收目标检测模块输出的运动图像,在连续接收到的运动图像中识别出运动目标,并记录所述运动目标的运动轨迹,输出目标跟踪后的图像至后续分析模块。
所述后续分析模块用于接收来自目标跟踪模块的图像,对接收到的图像进行后续分析,在分析结果为情况异常时通知报警模块进行报警,输出接收到的图像至中心控制装置903。
所述报警模块用于接收来自后续分析模块的通知,接收到来自后续分析模块的通知后进行报警903。
方式三:
运动检测装置902包括:运动检测模块、目标跟踪模块、后续分析模块、报警模块和视频编码模块。
所述运动检测模块与方式二中的运动检测模块相同。
所述目标跟踪模块与方式二中的运动检测模块相同。
所述后续分析模块用于接收来自目标跟踪模块的图像,对接收到的图像进行后续分析,在分析结果为情况异常时通知报警模块进行报警,输出接收到的图像至视频编码模块。
所述报警模块与方式二中的报警模块相同。
所述视频编码模块用于接收来自后续分析模块的图像,对接收到的图像通过视频编码方法进行编码,将编码后的图像通过IP网络发送至中心控制装置903。
以上所述的智能监控系统中,运动检测装置902可以采用嵌入式芯片实现,放在中心控制装置903的前端。
下面对本发明实施例提供的智能监控系统作进一步的详细说明。
实施例五
本发明实施例提供的智能监控系统包括:视频采集装置901、运动检测装置902和中心控制装置903。
视频采集装置901用于连续采集视频图像,将当前采集到的视频图像作为当前输入图像发送至运动检测装置902。
运动检测装置902用于接收来自视频采集装置的当前输入图像,获取当前输入图像的背景差分图像与帧间差分图像,通过将所述背景差分图像和所述帧间差分图像进行逻辑与处理获取运动图像,输出获取的运动图像。
其中,运动检测装置902包括:运动检测模块01、目标跟踪模块02、后续分析模块03、报警模块04、视频编码模块05。
运动检测模块01用于接收来自视频采集装置901的当前输入图像,获取当前输入图像的背景差分图像与帧间差分图像,通过将所述背景差分图像和所述帧间差分图像进行逻辑与处理获取运动图像,输出获取的运动图像至目标跟踪模块02。
运动检测模块01包括:差分模块801、运动提取模块802、第三滤波模块803和背景更新模块804。
差分模块801用于接收当前输入图像,根据当前输入图像与当前背景图像获取背景差分图像,根据所述当前输入图像与所述当前输入图像的前一帧输入图像获取帧间差分图像,将获取的背景差分图像和帧间差分图像发送至运动提取模块802。
其中,差分模块801包括背景差分模块8011和帧间差分模块8012。
背景差分模块8011包括:背景存储模块11、第一相减模块12、第一二值化模块13和第一滤波模块14。
背景存储模块11用于存储当前背景图像,将存储的当前背景图像输出到第一相减模块。
第一相减模块12用于接收当前输入图像,将接收到的当前输入图像与背景存储模块11中的当前背景图像相减,将相减后得到的背景差分图像输出至所述第一二值化模块13。
第一二值化模块13用于接收来自所述第一相减模块12的背景差分图像,将接收到的背景差分图像进行二值化处理,输出二值化处理后的背景差分图像至第一滤波模块14。
第一滤波模块14用于接收来自第一二值化模块13二值化处理后的背景差分图像,对接收到的背景差分图像进行形态学滤波处理,输出形态学滤波处理后的背景差分图像至运动提取模块802。
帧间差分模块8012包括:延迟模块21、第二相减模块22、第二二值化模块23和第二滤波模块24。
延迟模块21用于接收输入图像,通过将接收到的输入图像进行延迟处理得到当前输入图像的前一帧输入图像,将所述当前输入图像的前一帧输入图像发送至第二相减模块22。
由此可见,延迟模块21的作用在于,使得当前输入图像和当前输入图像的前一帧输入图像可以同时发送至第二相减模块22。
举例来说,假设输入图像a为输入图像a’的前一帧输入图像,在没有延迟模块21的情况下,输入图像a和输入图像a’将分别在T-1时刻和T时刻先后发送至第二相减模块22;如果将输入图像通过延迟装置21后再发送至第二相减模块22,那么本该在T-1时刻发送至第二相减模块22的a就会在T时刻才能发送至第二相减模块22。由此可以得出,在T时刻,第二相减模块22将同时接收到视频采集装置901直接发送过来的输入图像a’以及来自延迟模块21的输入图像a。
第二相减模块22用于接收当前输入图像和来自延迟模块21的当前输入图像的前一帧输入图像,将接收到的当前输入图像与所述当前输入图像的前一帧输入图像相减,将相减后得到的差值图像输出至第二二值化模块23。
第二二值化模块23用于接收来自第二相减模块22的差值图像,将接收到的差值图像进行二值化处理,输出二值化处理后得到的帧间差分图像至第二滤波模块24。
第二滤波模块24用于接收来自第二二值化模块23二值化处理后的帧间差分图像,对接收到的帧间差分图像进行形态学滤波处理,输出形态学滤波处理后的图像至运动提取模块802。
运动提取模块802用于接收来自差分模块801的背景差分图像和帧间差分图像,将所述背景差分图像和所述帧间差分图像进行逻辑与处理,输出逻辑与处理后得到的运动图像至第三滤波模块803。
第三滤波模块803用于接收来自运动提取模块802的运动图像,对接收到的运动图像进行形态学滤波处理,输出形态学滤波处理后的运动图像至中心控制装置903和背景更新模块804。
背景更新模块804用于接收来自视频采集装置901的当前输入图像与第三滤波模块803当前输出的运动图像,根据当前输入图像及所述当前输出的运动图像更新当前背景图像,所述更新当前背景图像是指,根据本发明实施例提供的运动检测方法中更新当前背景图像的方法,根据当前输入图像以及当前输出的运动图像更新背景存储模块11中的当前背景图像。
目标跟踪模块02用于接收运动检测模块01输出的运动图像,在连续接收到的运动图像中识别出运动目标,并记录所述运动目标的运动轨迹,输出目标跟踪后的图像至后续分析模块03。
本实施例中目标跟踪模块02可以采用本发明实施例提供的运动检测方法中目标跟踪的方法来进行目标跟踪。
后续分析模块03用于接收来自目标跟踪模块02的图像,对接收到的图像进行后续分析,在分析结果为情况异常时通知报警模块04进行报警,输出接收到的图像至视频编码模块05。
报警模块04用于接收来自后续分析模块的通知,接收到来自后续分析模块的通知后进行报警。
视频编码模块05用于接收来自后续分析模块的图像,对接收到的图像通过视频编码方法进行编码,将编码后的图像通过IP网络发送至中心控制装置903。
视频编码模块05可以采用的视频编码方法有很多种,例如Mepg4,H.264等编码方式。
中心控制装置903用于接收来自视频编码模块05的图像,根据接收到的图像进行视频监控。
以上所述的智能监控系统中,运动检测装置902可以采用嵌入式芯片实现,放在中心控制装置903的前端。
由以上内容可以看出:
本发明实施例提供的运动检测方法、装置及智能监控系统,将现有的背景差分图像与帧间差分图像结合起来,由于背景差分图像中包括了当前输入图像中与背景图像相区别的前景信息,而帧间差分图像中包括了当前输入图像中发生运动的信息,因此将两部分信息结合起来,能够获得运动的前景信息。
另外,在现有技术中,如果某一次运动检测错误,将某个静止的背景区域作为前景区域而凸现了出来且经过形态学滤波处理后输出,那么在更新当前背景图像的过程中,这个被凸现出来的背景区域所在的区域就不能够得到更新,导致下一次的运动检测还可能会出现错误,周而复始,使运动检测进入了一个死循环。本发明实施例提供的运动检测方法、装置及智能监控系统,根据获取的运动的前景信息来更新当前背景图像,降低了将静止的背景区域误识为前景区域的概率。而且,如果本次检测错误,将某个静止的背景区域误识为前景区域,那么在下一次的运动检测中,通过将背景差分图像和帧间差分图像进行逻辑与处理,就能够重新获得运动的前景信息,用这个新的运动前景信息来更新当前背景图像,就能够纠正上次的误识造成的当前背景更新错误,不会进入死循环。
最后,由于现有技术中的智能监控系统将所有采集到的视频图像全部输出至中心控制装置来进行处理,因此占用带宽大,线路铺设成本高,中心控制装置需要储存并处理海量视频图像,对中心控制装置性能要求高,成本高昂。本发明实施例提供的智能监控系统,通过将现有技术中中心控制装置的运动检测、目标跟踪、后续分析以及视频编码等功能采用嵌入式芯片放在前端来实现,大大降低了对中心控制装置的性能要求,而由于减少了中心控制装置的工作量,使得系统的延时小,实时性好。也使系统集成度高,使用方便,更易于安装维护,提高了系统整体的稳定性和可靠性。另外,后续分析装置只有在检测到异常时才将视频输出至中心控制装置,占用带宽小,节省了线路铺设成本。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。