CN103903278A - 运动目标检测与跟踪系统 - Google Patents
运动目标检测与跟踪系统 Download PDFInfo
- Publication number
- CN103903278A CN103903278A CN201210583625.6A CN201210583625A CN103903278A CN 103903278 A CN103903278 A CN 103903278A CN 201210583625 A CN201210583625 A CN 201210583625A CN 103903278 A CN103903278 A CN 103903278A
- Authority
- CN
- China
- Prior art keywords
- background
- image
- pixel
- motor point
- moving object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及一种运动目标检测与跟踪系统,a.背景提取;b.运动点团提取和背景更新;c.兴趣区提取;d.运动点团的位置提取;e.运动跟踪。本发明的运动目标检测与跟踪系统,背景提取采用改进的基于均值的背景提取算法;背景提取同时提取兴趣区;运动点团提取采用欧氏距离背景差法;阴影处理使用改进的基于RGB空间的阴影处理算法;运动点团位置提取采用改进的线段编码算法;运动跟踪采用基于预测的运动跟踪算法。
Description
技术领域
本发明涉及一种运动目标检测与跟踪系统。
背景技术
在道路交通控制管理领域,管理部门需要掌握道路上车辆的速度、车辆的数量等等数据以控制红绿灯平衡道路车流量、对超速和闯红灯的车辆进行处罚。早期,人们一般采用感应线圈的方式获得车辆的速度、车辆的数量等数据。这种方法,需要在检测路段埋入感应线圈,这需要对道路施工,会影响交通,严重影响道路寿命,并且感应线圈设备容易被重型车辆压坏,维护起来又要对道路施工,非常麻烦。
随着计算机技术的发展,道路交通数据获取不再需要复杂的线圈设备了。只需在检测路段固定摄像头,摄像头拍摄的道路数字化视频压缩后通过传输线路(如光纤)传输到监控中心,监控中心的计算机采用数字图像处理的方法将道路交通的数据计算出来。与早期的方法相比,这种方法利用了软件算法通过计算机的强大计算能力得到我们需要的数据,而不是复杂的硬件设备(如感应线圈)对数据直接测量。这极大的增加了方便性和灵活性。如何让计算机从视频图像序列中获得道路交通数据,例如车辆的速度等,近年来很多人对此展开了研究。
从视频图像序列中获得运动物体的数据的方法除了能运用在道路交通外,也能运用于各种监控领域,例如小区防盗、银行监控等等,用以检测和跟踪进入场景的人或物体,应用范围非常广泛。
在道路视频图像序列中获得车辆的速度,可以使用简单的方法,就是在图像中的道路位置设置虚拟检测线,模拟感应线圈,根据虚拟检测线上的像素颜色的变化得到经过虚拟检测线的车辆的速度,同时也可以对经过虚拟检测线的车辆计数。这种方法有很大的局限性。首先,它需要人工标定虚拟检测线,摄像头一旦换位置,就需要重新设定一次虚拟检测线,很不方便;其次,它只能检测通过虚拟检测线的车辆,而对图像其他区域的车辆一无所知,图像的大量信息丢失掉了。
发明内容
本发明要解决的技术问题是:提供一种运动目标检测与跟踪系统。
本发明解决其技术问题所采用的技术方案是:一种运动目标检测与跟踪系统,其具体步骤是:
a.背景提取:背景就是场景中静止不动的景物。因为摄像机不动,因此图像中的每个像素点都有一个对应的背景值,在一段时间内这个值比较固定。背景提取的目标就是根据视频图像序列,找出图像中每一点的背景值。这是下一步运动点团提取的基础。在运动点团提取中,背景提取这一步提取出来的背景图像将作为参考图像,每一帧图像都要与背景图像作差,把背景去除,以得到运动点团前景。因此,这一步提取出的背景图像的好坏将直接影响到之后每一帧的运动点团提取的质量。背景会随着时间的变化而发生变化,例如光照变化导致背景亮度、色度变化;运动物体停止运动成为背景的一部分;又如背景的一部分运动起来成为运动前景等。因此背景需要不断更新,而背景的更新一般需要运动前景的信息,即在没有运动前景的任何信息的情况下提取背景图像,输入是视频图像序列,每帧图像都包括运动物体和静止景物,输出是只含静止景物的背景图像。(1)彩色图像的背景提取;原始彩色图像的背景提取,基本思想是,图像中的某个像素按时间抽样,其作为背景像素的时间比作为运动前景的时间长,即其作为背景的概率比作为前景的概率大,而且背景和前景在颜色上和亮度上都有很大不同。这是因为,对于固定场景,运动物体在运动,其转瞬即逝,大多数时间我们看到的都是静止背景,因此图像上某个像素点作为前景的时间相对作为背景的时间短得多;而且,运动物体和静止背景在色彩上有明显区别,人能轻易分辨出前景物体,即使在一张静止图像上(2)灰度图像的背景提取,运动目标检测和跟踪可以不直接使用原始彩色图像序列,而使用灰度图像序列,即将彩色视频图像序列转换成灰度图像序列,然后在灰度图像序列上提取背景,以及之后提取运动点团、运动跟踪等;(3)边缘图像的背景提取,背景提取的目的是为了去除背景,取得每一帧图像的运动前景。而前景背景分离最重要的信息是物体的边缘信息。因此,可以首先将每一帧原始图像做边缘提取,得到边缘图像序列,然后提取边缘图像背景,再提取运动前景、做运动跟踪;
b.运动点团提取和背景更新:运动点团提取也称背景去除、背景抑制,就是把每一帧的非背景部分提取出来,根据运动物体和场景中的静止背景在亮度、色度上的不同,将图像序列的每一帧图像与背景图像作差,然后二值化,就可以得到每一帧的运动点团:图像中的一个像素,如果它与背景图像对应像素的距离大于一个阈值,则认为它是前景,输出1,否则为背景,输出0。最后得到的二值图像就是运动点团图像,阴影的处理是运动点团提取这一步重要的一环。阴影不应该作为前景的一部分,然而阴影与背景有差别,背景差法会把阴影归到前景中去,这样就会导致阴影将不同的运动物体连接成一个物体,降低运动目标检测的精确度。由于背景会随时间变化而改变,需要对背景进行更新。背景更新有两种策略。第一种策略是每隔一段时间使用背景提取算法重新提取背景,将新背景取代旧背景;第二种策略是对每一帧在提取运动前景的同时更新背景,(1)彩色图像的运动点团提取,彩色图像的基于背景差的运动点团提取,根据前景与背景的颜色不同,将原始彩色图像序列的每一帧图像与彩色背景图像作差,然后将结果图像二值化,两帧彩色图像的差是指两帧中对应像素矢量的距离。常用的矢量距离是欧氏距离和马氏距离;(2)阴影处理,阴影不是运动物体的一部分,但用背景差的方法提取运动点团会把阴影也作为运动前景,这将导致不同的前景物体被阴影连成一片,严重影响运动目标检测与跟踪的精确度。为了判断阴影,可以将提取出的运动前景像素点的某些属性和对应背景比较,满足某些条件的就是阴影。有基于RGB空间的阴影处理和基于HSI间的阴影处理;(3)灰度图像的运动点团提取;(4)边缘图像的运动点团提取;(5)基于帧间差的运动点团提取和背景更新;
c. 兴趣区提取:兴趣区是图像中有可能出现运动物体的区域。在背景提取阶段,对按时间采样得到的图像样本,统计每个像素点前景和背景出现的次数,就可以得到兴趣区,(1)在背景提取阶段,对按时间采样得到的图样样本,统计每个像素点前景和背景出现的次数得出兴趣区;(2)道路繁忙度获取;
d. 运动点团的位置提取,运动点团图像是二值图像。在位置提取之前,需要对其进行数学形态学处理,去除比较小的噪音点:(1)数学形态学处理,运动点团图像是二值图像,黑色像素是背景点,白色像素是前景点。图像中存在噪声,即孤立的白像素和孤立的黑像素。可以使用数学形态学的方法将二值图像中的孤立噪声点去除。数学形态学算法主要有腐蚀、膨胀、开运算、闭运算,数学形态学处理与卷积类似,输出图像的某个像素由输入图像的对应像素及其领域像素依据结构元素决定;(2)轮廓追踪,首先,找到轮廓上的第一点,然后按顺时针或逆时针找轮廓上的下一个点,不断重复找下去,直到回到找到的第一个点为止;(3)线段编码,线段编码算法通过逐行扫描获取运动点团的位置和大小。我们举例说明这个算法;(4)改进的线段编码;(5)运动点团层运动跟踪。使用改进的线段编码算法提取运动点团的位置和大小之后,进行运动点团层运动跟踪
e.运动跟踪:(1)卡尔曼滤波;(2)基于预测的运动跟踪;(3)运动跟踪算法的计算复杂性分析;(4)基于边缘图像的运动跟踪;(5)基于预测的运动跟踪算法在不同采样率下的健壮性。
所述的彩色图像的背景提取包括基于均质的彩色图像背景提取、改进的基于均值的彩色图像背景提取和基于中值滤波的彩色背景图像提取。
本发明的有益效果是:本发明的运动目标检测与跟踪系统,背景提取采用改进的基于均值的背景提取算法;背景提取同时提取兴趣区;运动点团提取采用欧氏距离背景差法;阴影处理使用改进的基于RGB空间的阴影处理算法;运动点团位置提取采用改进的线段编码算法;运动跟踪采用基于预测的运动跟踪算法。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的结构框图;
图2是本发明的实验数据一基于均值的背景图像;
图3是本发明的实验数据二基于均值的背景图像;
图4是本发明的实验数据一改进的基于均值的背景图像;
图5是本发明的实验数据二改进的基于均值的背景图像;
图6是本发明的实验数据一基于中值滤波的背景图像;
图7是本发明的实验数据二基于中值滤波的背景图像;
图8是本发明的实验数据一基于共同区域的背景图像;
图9是本发明的实验数据二基于共同区域的背景图像;
图10是本发明的基于均值的背景提取方法的时间与采样率关系图;
图11是本发明的改进的基于均值的背景提取方法的时间与采样率关系图;
图12是本发明的基于中值滤波的背景提取方法的时间与采样率关系图;
图13是本发明是基于共同区域的背景提取方法的时间与采样率关系图;
图14是本发明的实验数据一所有376帧图像得到的标准图像;
图15是本发明的实验数据二所有576帧图像得到的标准图像;
图16是本发明的实验数据一不同提取背景的算法PSNR与处理时间关系图;
图17是本发明的实验数据一不同提取背景的算法PSNR与处理时间关系图(局部);
图18是本发明的实验数据二不同提取背景的算法PSNR与处理时间关系图;
图19是本发明的实验数据二不同提取背景的算法PSNR与处理时间关系图(局部);
图20是本发明的灰度图像序列的基于均值的背景图像;
图21是本发明的灰度图像序列的改进的基于均值的背景图像;
图22是本发明的灰度图像序列的基于中值滤波的背景图像;
图23是本发明的灰度图像序列的基于共同区域的背景图像;
图24是本发明的Color-Prewitt边缘图像序列的基于均值的背景图像;
图25是本发明的Color-Sobel边缘图像序列的基于均值的背景图像;
图26是本发明的Color-Prewitt边缘图像序列的改进的基于均值的背景图像;
图27是本发明的Color-Sobel边缘图像序列的改进的基于均值的背景图像;
图28是本发明的基于马氏距离的运动点团提取结果的示意图;
图29是本发明的基于马氏距离的运动点团提取结果的示意图;
图30是本发明的基于马氏距离的运动点团提取结果的示意图;
图31是本发明的实验数据一的基于欧氏距离的运动点团提取实验结果的示意图;
图32是本发明的实验数据二的基于欧氏距离的运动点团提取实验结果的示意图;
图33是本发明的实验数据一的基于欧氏距离的运动点团提取实验结果的示意图;
图34是本发明的实验数据二的基于欧氏距离的运动点团提取实验结果的示意图;
图35是本发明的实验数据一的基于欧氏距离的运动点团提取实验结果的示意图;
图36是本发明的实验数据二的基于欧氏距离的运动点团提取实验结果的示意图;
图37是本发明的实验数据一基于RGB空间的阴影处理结果的示意图;
图38是本发明的实验数据二基于RGB空间的阴影处理结果的示意图;
图39是本发明的实验数据一改进的基于RGB空间的阴影处理结果的示意图;
图40是本发明的实验数据二改进的基于RGB空间的阴影处理结果的示意图;
图41是本发明的实验数据一基于HSI空间的阴影处理结果的示意图;
图42是本发明的实验数据二基于HSI空间的阴影处理结果的示意图;
图43是本发明的实验数据一的灰度图像序列运动点团提取结果的示意图;
图44是本发明的实验数据二的灰度图像序列运动点团提取结果的示意图;
图45是本发明的基于灰度图像的运动点团图像与参考图像差别随阈值变化关系图;
图46是本发明的实验数据一的Color-Prewitt边缘图像序列运动点团提取结果的示意图;
图47是本发明的实验数据一的Color-Sobel边缘图像序列运动点团提取结果的示意图;
图48是本发明的实验数据一基于帧间差的运动点团提取结果的示意图;
图49是本发明的实验数据一的背景统计灰度图;
图50是本发明的兴趣区示意图;
图51是本发明的实验数据一的运动点团图开运算结果的示意图;
图52是本发明的实验数据一的Color-Sobel边缘运动点团图开运算结果的示意图;
图53是本发明的实验数据一运动点团层跟踪结果的示意图;
图54是本发明的卡尔曼滤波器的结构的示意图;
图55是本发明的物体位置预测示意图;
图56是本发明的实验数据一基于预测的运动跟踪结果的示意图;
图57是本发明的实验数据二基于预测的运动跟踪结果的示意图;
图58是本发明的实验数据一基于Color-Prewitt边缘图像的运动跟踪结果的示意图;
图59是本发明的实验数据一基于Color-Sobel边缘图像的运动跟踪结果的示意图;
图60是本发明的实验数据一在15帧/秒采样率下运动跟踪结果的示意图;
图61是本发明的实验数据一在10帧/秒采样率下运动跟踪结果的示意图;
图62是本发明的实验数据一在5帧/秒采样率下运动跟踪结果的示意图;
图63是本发明的实验数据二在15帧/秒采样率下运动跟踪结果的示意图;
图64是本发明的实验数据二在10帧/秒采样率下运动跟踪结果的示意图;
图65是本发明的实验数据二在5帧/秒采样率下运动跟踪结果的示意图;
图66是本发明的实验数据一运动跟踪的最终结果的示意图;
图67是本发明的实验数据二运动跟踪的最终结果的示意图。
图68是本发明的实验数据一的运动点团图线段编码算法结果的示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
如图1所示的运动目标检测与跟踪系统,其具体步骤是
a.背景提取:(1)彩色图像的背景提取:
1.基于均值的彩色图像背景提取:这是背景提取的最简单的方法。因为视频中的某个像素对时间采样,背景出现的次数比前景多,因此,将一定的时间段中的视频序列采样,比如2.5帧/秒,,对每一个像素,将这一段时间中的所有图像帧取平均,那么这个平均值会接近背景,背景出现的次数比前景越多,则这个平均值就越接近背景。前面已经说过,运动前景是转瞬即逝的。就以这个平均值作为这个像素的背景值。同时,求取平均值还可以在一定程度上抑制噪声。具体算法如下:
1)在某时间段采样得到N个图像帧Fi, i=1,2…N;
设图像的总像素数为M,对每一个像素都要遍历N个图像帧,因此这个算法的时间复杂度是O(MN),2.5帧/秒采样10秒得到的背景如图2,2.5帧/秒采样10秒得到的背景如图3;
2.改进的基于均值的彩色图像背景提取:根据背景出现的次数比前景多,且前景颜色和背景不同,可以知道,对于某个像素点,其对时间的采样点在彩色RGB空间中会以背景点为中心点聚集在一起,而前景点会离中心点比较远。可以认为,像素颜色矢量的一个分量离中心点的距离超过这个分量的标准差的点不大可能是背景,即使是背景,也叠加了比较大的噪声。标准差计算公式为,c=r,g,b表示矢量的红、绿、蓝三种颜色分量,X0是样本的平均值。因此,可以对基于均值的彩色图像背景提取算法做改进:在求平均值之后求标准差,然后把与均值大于标准差的采样点去除,最后再求余下的点的平均值,把此值作为背景值。改进的算法如下:
1)在某时间段采样得到N个图像帧Fi, i=1,2…N;
2)对每一个像素点(x,y):
设图像的总像素数为M,则对每一个像素都要遍历3次N个图像帧——求中心点一次,求标准差一次,最后再求均值一次,因此这个算法的时间复杂度是O(3MN)=O(MN),比原来的单纯求平均值的算法费时。实验数据一2.5帧/秒采样10秒得到的背景如图4;实验数据二2.5帧/秒采样10秒得到的背景如图5。可以看到,此方法得到的背景图像比单纯求平均值的算法好,单纯求平均值的方法得到的背景图像留有不少运动前景的痕迹,而此改进算法得到的背景图像中运动前景痕迹就少多了。
2.基于中值滤波的彩色背景图像提取:中值滤波器能有效的去除图像的噪声,因为噪声点的灰度与非噪声点差别大,而且图像有空间局部性,也就是说,对于没有被噪声污染的图像,里面的每一个像素和它相邻的像素的灰度差别不大。我们将这个像素和它相邻的像素排序,噪声点将被排到两边,排在中间的像素就是没被噪声污染的像素,把它作为滤波结果。这就是中值滤波器能有效去除图像噪声的原因。
上面说的是灰度图像的中值滤波,彩色图像一般使用RGB空间表示,每个像素点是一三维矢量,各个分量分别代表红、绿、蓝三个颜色的灰度。可以分别将这三种颜色的灰度图做中值滤波,然后合成。然而这种方法将导致滤波后一个像素的三个分量来自不同的像素点,合成后的颜色不可避免的被扭曲。可以采取另外一种方法。考虑到噪声点的颜色与非噪声点差别大,在滤波时的排序中排到两边,可以将彩色图像转换成灰度图像,在转换后的灰度图像中噪声点和非噪声点也会有较大的差别,排序后,取排在中间的像素对应的原始彩色图像的像素矢量作为滤波结果。这样滤波结果的每一个像素都是原始彩色图像中真实存在的像素,避免了同一个像素的三个颜色分量来源于不同的像素导致的颜色扭曲。将中值滤波扩展到彩色图像的算法如下:
将彩色图像转换成灰度图像,遍历灰度图像的每一个像素,将它和与它相邻的八个像素的灰度排序,取排在中间的像素对应的原始彩色图像的像素矢量作为输出图像的这个像素。
中值滤波是对单幅图像在空间采样点上的滤波,不能直接用于背景提取。对于背景提取,我们需要将此算法扩展。视频中的某个像素对时间采样,背景出现的次数比前景多,可以认为前景是“噪声”,这样我们就可以对一个像素在时间上采样得到的样本进行滤波——对它们排序,噪声将排在两边,即前景排在两边,排在中部的是背景,取排在中间的像素作为背景结果。我们处理的是彩色图像序列,因此如前所述,将彩色图像转换成灰度图像,然后在滤波的排序后,选择排在中间的像素对应的原始彩色图像的像素矢量作为滤波结果。具体算法如下:
1)在某时间段采样得到N个图像帧Fi, i=1,2…N;
2)对每一个像素点(x,y):
a)将彩色像素矢量Fi(x,y)转换成灰度Gi(x,y),i=1,2…N;
b)将集合{Gi(x,y)|i=1,2…N}中的元素排序;
c)设排在中间的是Gk(x,y),则像素矢量Fk(x,y)作为滤波结果。
对n个元素排序的时间复杂度是O(nlogn)或者O(n2),取决于算法,其不是线性的,随着n的增大迅速增大。设图像的像素数是M,对每个像素都要对采样的N个样本进行排序,因此此算法的时间复杂度是O(MNlogN)或者O(MN2),是比较耗时的算法。
实验数据一2.5帧/秒采样10秒得到的背景如图6,实验数据二2.5帧/秒采样10秒得到的背景如图7;
3.基于共同区域的彩色图像背景提取:在一个像素的所有随时间采样的样本中,在求均值之前,如果能去除不大可能是背景的样本,那么求出来的平均值会更加接近背景。像素在图像对中的差别用像素矢量(彩色图像,像素是RGB空间的矢量)的欧氏距离来量度,如果其大于一阈值,则认为差别大,否则认为差别小。这个阈值可以和第四章运动点团前景提取的二值化阈值相同,因为它们的内涵都是前景和背景差别的量度。这个阈值如何确定将在第四章详细讲述。另外,考虑阈值的极端情况,如果这个阈值很小,任何像素在图像对中的差别都大于这个阈值,则找不到任何共同区域,这时每一个像素的背景都是单纯用所有采样图像帧的平均值得到;如果这个阈值很大,任何像素在图像对中的差别都小于这个阈值,则每个图像对中的所有像素都是共同区域,这时每一个像素的背景也是由所有采样图像帧的均值得到。在这两种极端情况下,基于均值的图像背景提取算法,所以基于均值的图像背景提取算法是基于共同区域的图像背景提取算法的特殊情况。详细算法如下:
1)在某时间段采样得到N个图像帧Fi, i=1,2…N;
2)对每一个像素点(x,y):
a)集合A={};
b)对每一个图像对Fi(x,y)和Fi+N/2(x,y),i=1,2…N/2
c)计算集合A中所有元素的均值作为像素点(x,y)的背景值。
设图像的总像素数为M,则对每一个像素都要遍历2次N个图像帧——产生集合A的点一次,求平均值一次,因此这个算法的时间复杂度是O(2MN)=O(MN)。
实验数据一2.5帧/秒采样10秒得到的背景如图8;实验数据二2.5帧/秒采样10秒得到的背景如图9。从图中可以看到,提取出的背景并不平滑,这是因为每个像素计算均值的集合的大小不一样所致。此算法每个像素计算均值的集合(即上述集合A)的大小的变化范围要比改进的基于均值的方法大得多,这导致了其提取出的背景图像在这几种方法中最不平滑。
4.彩色图像背景提取的实验分析:实验采用10秒道路交通视频数据,在上面做均匀采样,例如采样率是1帧/秒(1f/s),就是每秒取1帧,总共在10秒中均匀取10帧;采样率5帧/秒(5f/s),就是每秒取5帧,总共在10秒中均匀取50帧。实验在赛扬1.0G CPU、384兆内存的计算机上进行。表一是前述四种方法在不同采样率下处理完毕实际所需的时间,只包括处理时间,不包括图像序列读取和背景图像输出的时间。不同采样率意味着处理的总图像数不同,采样率与时间(这里10秒)之积就是总图像数。采样率越高,处理的时间越长,见表一。
我们可以由表一作出不同算法处理时间与采样率的关系图。基于均值的背景提取方法的时间与采样率关系图见图10;改进的基于均值的背景提取方法的时间与采样率关系图见图11;基于中值滤波的背景提取方法的时间与采样率关系图见图12;基于共同区域的背景提取方法的时间与采样率关系图见图13。
从表一和图10至图13可以看到,背景提取所需时间随采样率的增加而增加;除了基于中值滤波的背景提取方法外,其他方法处理时间随采样率增加线性增加;而基于中值滤波的背景提取方法,处理时间随采样率增加显著增长;基于均值的背景提取方法和基于共同区域的背景提取方法所需时间差别不大;改进的基于均值的背景提取方法比基于均值和基于共同区域的方法需要时间多。这个和前面每种方法的时间复杂度分析是一致的。
为了比较不同算法求得的背景图像的效果,需要获得标准背景作为比较标准。这是因为此算法根据标准差先将不大可能是背景的像素去除了,比单纯用平均值准确,同时在一定程度上抑制了噪声,并且由于使用了尽可能多的图像,比只使用10秒的图像有更多信息。实验数据一所有376帧图像得到的标准图像见图14;实验数据二所有576帧图像得到的标准图像见图15。
确定了标准图像后,考虑比较标准。越接近标准图像的背景图像越好。如何比较两幅图像是否接近?我们使用峰值信噪比PSNR来衡量图像的接近程度。峰值信噪比的计算公式如下:
其中,对数中分子的255表示像素灰度最大的差值,在256级灰度中,这个最大差值是255(255-0=255);对数中分母的M是图像的像素总数,F1(i)、F2(i)表示两幅图像中的某个像素,整个分母表示两幅图像的所有对应像素的差的平方的平均值,如果是彩色图像,“对应像素的差的平方”用对应像素矢量的分量的差的平方和除以3计算。
可以看到,当两幅图像越接近,对数中的分母就越小,峰值信噪比就越大;当两幅图像差别越大,对数中的分母就越大,峰值信噪比就越小。极端情况,当两幅图像一样时,峰值信噪比为无穷大;两幅图像差别最大时,峰值信噪比为0。我们就以峰值信噪比衡量两幅图像的相近程度,峰值信噪比越大,图像越接近。
实验数据一不同方法在不同采样率下得到的背景的图像与标准背景图像比较的PSNR见表二。
采样率(f/s) | 1 | 2 | 2.5 | 5 | 6.25 | 12.5 | 25 |
基于均值 | 34.83 | 37.05 | 37.25 | 37.42 | 37.40 | 37.65 | 37.62 |
改进的基于均值 | 36.26 | 40.65 | 40.75 | 40.82 | 40.82 | 41.41 | 41.36 |
基于中值滤波 | 35.19 | 37.53 | 37.71 | 37.80 | 37.61 | 37.83 | 37.76 |
基于共同区域 | 34.58 | 38.10 | 38.33 | 39.05 | 39.14 | 39.95 | 40.01 |
表二 实验数据一不同方法得到的背景与标准背景图像比较的PSNR
比较同一采样率下不同方法的PSNR不能说明问题,因为同一采样率下不同方法需要的实际处理时间不相同。在处理时间一定的情况下,PSNR越大的方法越好。因此,结合表二和表一,得到不同方法的PSNR随处理时间变化关系图。实验数据一不同方法的PSNR随处理时间变化关系图如图16。将图十九中横坐标[0,10]区间部分作局部放大,得到图17。实验数据二不同方法在不同采样率下得到的背景的图像与标准背景图像比较的PSNR见表三。
采样率(f/s) | 1 | 2 | 2.5 | 5 | 6.25 | 12.5 | 25 |
基于均值 | 24.05 | 24.63 | 24.76 | 24.88 | 24.88 | 24.95 | 24.94 |
改进的基于均值 | 27.77 | 29.13 | 29.43 | 29.83 | 29.86 | 29.97 | 30.01 |
基于中值滤波 | 26.39 | 28.28 | 28.72 | 29.23 | 29.24 | 29.40 | 29.47 |
基于共同区域 | 25.10 | 26.25 | 26.49 | 27.07 | 27.14 | 28.02 | 28.16 |
表三 实验数据二不同方法得到的背景与标准背景图像比较的PSNR
实验数据二不同方法的PSNR随处理时间变化关系图,如图18。将图二十一中横坐标[0,10]区间部分作局部放大,得到图19。
从图17和图19这两组实验数据的结果中,我们可以得到以下结论:
①、并不是采样率越高(处理时间越长),PSNR就越高。不同的方法在4秒之后,尽管采样率不同,但PSNR值都基本不变了。这是因为不同的图像帧区别只在于运动前景不同,背景是相同的,因此不同图像帧之间存在着信息冗余,增加采样率,只会增加处理时间,不会增加PSNR,也即不会提高背景提取的质量。也就是说,在背景提取的时候,我们不需要很高的采样率即可得到不错的背景图像。
②、基于均值的算法是效果最差的算法,因为其只是简单的平均,没有做更多的处理。
③、共同区域法需要更高的采样率才能得到好效果。这是因为要找到更多的共同区域,就需要更高的采样率。从提取出来的背景图像的人眼视觉效果来说,基于共同区域的算法的背景图像最不平滑。
④、基于中值滤波的背景提取算法,只是取排序中位于中间的元素作输出,舍弃掉了其他元素,没有充分利用其他元素的信息,并且排序比较耗时,因此基于中值滤波的背景提取算法不是很好的算法。
⑤、效果最好的算法是改进的基于均值的背景提取算法。
综上所述,对于10秒的视频图像序列,采用每秒2帧的采样率,使用改进的基于均值的背景提取算法,不到4秒就可以得到优秀的背景图像。而背景提取对实时性本来要求就不高,不需要像物体运动跟踪那样对所有输入帧都进行处理,这种方法完全能达到应用的要求。
(2)灰度图像的背景提取;运动目标检测和跟踪可以不直接使用原始彩色图像序列,而使用灰度图像序列,即将彩色视频图像序列转换成灰度图像序列,然后在灰度图像序列上提取背景,以及之后提取运动点团、运动跟踪等。
1.彩色图像转换成灰度图像:彩色图像每个像素点在RGB空间中是一个三维矢量,每个分量分别代表红、绿、蓝三种颜色的灰度。最简单的将彩色图像转换成灰度图像的方法是将这三个分量取平均值。但是这种方法和人眼视觉感知不符。人眼感知红、绿、蓝三种颜色的权重是不一样的。JPEG图像压缩格式采用的是YUV空间,YUV空间是RGB空间的线性变换。转换公式是:
R、G、B分别表示红、绿、蓝三种颜色分量的灰度值。Y分量表示图像的亮度,这是符合人眼对颜色感知的。我们就以Y分量作为图像像素的灰度。将彩色像素转换为灰度像素的公式为
将彩色图像转换为灰度图像的算法如下:
遍历彩色图像的每一个像素矢量,设矢量的红、绿、蓝三色分量值为R、G、B,则输出的灰度图像的对应像素的值为0.299R+0.587G+0.114B。
2.灰度图像的背景提取:前面所述的所有彩色图像背景提取的算法都能用在灰度图像的背景提取上,只要在计算距离的时候将矢量的欧氏距离改为标量差的绝对值即可。
图20至图23分别是实验数据一的灰度图像序列的基于均值的背景提取、改进的基于均值的背景提取、基于中值滤波的背景提取和基于共同区域的背景提取结果。
(3)边缘图像的背景提取:背景提取的目的是为了去除背景,取得每一帧图像的运动前景。而前景背景分离最重要的信息是物体的边缘信息。因此,可以首先将每一帧原始图像做边缘提取,得到边缘图像序列,然后提取边缘图像背景,再提取运动前景、做运动跟踪;
1.彩色图像的边缘提取:对灰度图像,边缘提取就是求每个像素的梯度,以梯度大小作为边缘的量度。用x、y两个方向的离散偏微分算子——边缘检测算子对图像做卷积,就得到这两个方向上的梯度,以这两个方向的量为分量的矢量就是这个像素的梯度矢量,这个矢量长度的大小就是这个像素的边缘值。设f(x,y)是离散灰度图像,g(x,y)是卷积核,f和g的卷积是
如果卷积核是的矩阵,则此卷积运算的时间复杂度是O(9M),M是图像的像素总数。常用的边缘检测算子是Prewitt边缘算子和Sobel边缘算子。图二十七和二十八是Prewitt边缘算子,表四和表七是Sobel边缘算子。它们都是的矩阵。
对彩色图像,如果将其三个颜色分量的图像分别计算梯度,然后将得到的三个颜色的梯度叠加作为边缘提取的结果,则等价于先将彩色图像转换成灰度图像,再在灰度图像上作边缘提取。因为卷积运算和彩色转换成灰度运算都是线性运算。然而,这么做就将彩色信息给丢失了,彩色图像的边缘,并不是三个颜色分量边缘的简单叠加。下面讲述如何将边缘提取推广到彩色图像中。
用Prewitt算子举例说明。对灰度图像,将Prewitt边缘检测x方向算子带入卷积公式中,可以得到
即一个像素的梯度是它附近三对像素的灰度差的和。将这个式子扩展到矢量空间,认为一个像素的梯度是它附近三对像素的矢量欧氏距离的和,即可得到
式子中f(x,y)是图像中像素矢量,||a-b||是计算矢量a和b的欧氏距离。
这样,对每一个彩色像素,都考虑了整个彩色像素矢量,也就是同时考虑了每个像素的三个颜色分量。同理,Prewitt边缘检测y方向算子扩展到矢量空间,可得
上面的两个方向的算子就是Color-Prewitt边缘检测算子。
同样的,Color-Sobel边缘检测x方向的算子是
Color-Sobel边缘检测y方向的算子是
需要指出的是,边缘值是梯度长度的大小,因此边缘值是个标量,边缘图像是灰度图像。
2.边缘图像的背景提取:因为边缘图像是灰度图像,前面所述的所有图像背景提取的算法都能用在边缘图像的背景提取上。图24和图25分别是实验数据一的Color-Prewitt边缘图像序列和Color-Sobel边缘图像序列的基于均值的背景提取结果,图26和图27分别是Color-Prewitt边缘图像序列和Color-Sobel边缘图像序列的改进的基于均值的背景提取的结果。改进的基于均值的背景提取算法依然是这几种算法中效果最好的。Color-Prewitt和Color-Sobel边缘检测算法算法得到的边缘图像差不多。
b.运动点团提取和背景更新: 运动点团提取也称背景去除、背景抑制,就是把每一帧的非背景部分提取出来。非背景部分就是运动前景,但这里不称其为前景是因为这一步处理的是第二章所说的点团层,我们在点团层上面还有一层运动物体层,这是为了提高运动跟踪的效果。根据运动物体和场景中的静止背景在亮度、色度上的不同,将图像序列的每一帧图像与背景图像作差,然后二值化,就可以得到每一帧的运动点团:图像中的一个像素,如果它与背景图像对应像素的距离大于一个阈值,则认为它是前景,输出1,否则为背景,输出0。最后得到的二值图像就是运动点团图像。
阴影的处理是运动点团提取这一步重要的一环。阴影不应该作为前景的一部分,然而阴影与背景有差别,背景差法会把阴影归到前景中去,这样就会导致阴影将不同的运动物体连接成一个物体,降低运动目标检测的精确度。因此需要对阴影做专门的处理:
(1)彩色图像的运动点团提取:彩色图像的基于背景差的运动点团提取,根据前景与背景的颜色不同,将原始彩色图像序列的每一帧图像与彩色背景图像作差,然后将结果图像二值化,两帧彩色图像的差是指两帧中对应像素矢量的距离。常用的矢量距离是欧氏距离和马氏距离;
其中x.r、x.g、x.b分别表示像素矢量红、绿、蓝三种颜色分量的值,、、分别表示背景像素矢量的红、绿、蓝三种颜色分量,、、分别表示红、绿、蓝三种颜色分量的方差,也就是矩阵的对角元素。在背景提取的时候可以把每个像素的方差计算出来。像素点(x,y)的方差计算方法如下:
,c=r,g,b
从马氏距离的计算公式中可以看出,其本质是将矢量各个分量用方差归一化,不至于让变化较大的分量影响太大、让变化较小的分量影响消失。
接下来就是阈值的确定。若阈值为Tb,则如果图像像素与对应背景像素的马氏距离不小于Tb,其为前景;否则为背景。阈值Tb是前景与背景差别的量度。而马氏距离是归一化的距离,因此可以认为,前景与背景的距离(没归一化的距离)至少有Tb倍标准差。
马氏距离提取运动点团的具体算法如下:
2)遍历当前帧的每一个像素(x,y):
3)G(x,y)就是当前帧的运动点团图像。
设图像的总像素数为M,对每一帧图像都要遍历每一个像素,因此这个算法的时间复杂度是O(M)。
实验数据一基于马氏距离的运动点团提取实验结果的其中一帧图像如图28至图30。其中图28Tb=1,图29Tb=5,图30b=9。
将实验结果和基于欧氏距离的运动点团提取实验结果相比,可以看到其效果并不好。要么很多背景误判成了前景(图28和图29);要么很多前景误判成了背景(图29、图30)。这是因为,对于没有运动物体经过的背景区域,像素三个颜色分量的变化都不大,即它们的方差都不大,与背景差别不大的像素的方差归一化距离会变得很大,导致背景被误判。一般来说,彩色图像中的像素点矢量要么各个分量变化都不大,如没有运动物体出现的背景区域,要么各个分量都有较大的变化,如运动物体频繁出现的区域,所以距离归一化并没有太大的实际意义,基于马氏距离得到的运动点团图像效果并不好。
②基于欧式距离的运动点团提取
两个彩色像素矢量的欧氏距离如下:
若阈值为Ta,则如果图像像素与对应背景像素的欧氏距离不小于Ta,其为前景;否则为背景。阈值Ta是前景与背景差别的量度,即前景与背景的距离至少相差Ta。阈值太大,则像素有更大可能被判成为背景,前景被误判成背景的可能性大;阈值太小,则像素有更大可能被判成为前景,背景被误判成前景的可能性大。
欧氏距离提取运动点团的具体算法如下:
1)设背景图像是B (x,y)
2)遍历当前帧的每一个像素(x,y):
如果
3)G(x,y)就是当前帧的运动点团图像。
设图像的总像素数为M,对每一帧图像都要遍历每一个像素,因此这个算法的时间复杂度是O(M)。
实验数据一的基于欧氏距离的运动点团提取实验结果的其中一帧图像如图31和图33。实验数据二的基于欧氏距离的运动点团提取实验结果的其中一帧图像如图32和图34。其中图31、图32阈值Ta=25,图33、图34阈值Ta=45。
从图中可以看到,基于欧氏距离的运动点团提取的图像比基于马氏距离的运动点团提取效果好,而且其不需要计算每个像素的方差值,也不需要在计算距离时做方差归一化处理,此算法优于基于马氏距离的算法。
通过调整阈值Ta重复实验,找到了最佳的阈值Ta=36。图35、图36是Ta=36的运动点团提取结果。
2.阴影处理
从上图中可以看到,运动物体都带有很大的阴影。阴影不是运动物体的一部分,但用背景差的方法提取运动点团会把阴影也作为运动前景,这将导致不同的前景物体被阴影连成一片,严重影响运动目标检测与跟踪的精确度。为了判断阴影,可以将提取出的运动前景像素点的某些属性和对应背景比较,满足某些条件的就是阴影。有基于RGB空间的阴影处理和基于HSI间的阴影处理。下面分别讲述。
①基于RGB空间的阴影处理
阴影与背景在色度上相似,在亮度上阴影比背景暗;而前景一般在色度和亮度上和背景都有差别,这就是阴影和前景不同的地方。两像素色度的差别在RGB空间中表现为像素矢量的夹角的差,夹角的差越大,这两像素色度差别就越大。设两像素矢量为a、b,则他们的夹角为
阴影和背景在色度上相似,就是说对应像素矢量的夹角差别不大。定义域值,当时,像素夹角差别不大,两像素色度相似,否则两像素色度不相似。对于亮度,像素矢量的长度就是其亮度。在亮度上阴影比背景暗,就是说阴影像素长度比背景短,但也不能差别太大,定义域值Tc,当图像像素的亮度与背景的差别大于Tc时,此像素不是阴影。
判断像素是否是阴影的算法如下:
1)B(x,y)是背景图像,F(x,y)是当前处理的帧
2)对前一步(运动点团提取)提取出的前景像素点F(x,y):
如果同时满足
则此像素是阴影而不是前景。
② 改进的基于RGB空间的阴影处理
由上面可以判断阴影的条件可以知道,当背景像素矢量长度越长,即背景像素越亮,而夹角阈值是固定的(),则夹角阈值所围的RGB空间中的点就越多,即满足阴影条件的点就就多。这并不合理。而且在计算夹角的时候,需要计算图像像素的长度(||F(x,y)||),因此对于每一帧的每一个像素都需要计算它的长度,计算量很大。
我们可以将此算法改进,得到一个在RGB空间中满足条件的点的个数不随背景亮度不同而变化的阴影判断条件。
考虑矢量-(F(x,y)-B(x,y)),F(x,y)是当前帧在(x,y)处的像素矢量,B(x,y)是背景图像在(x,y)处的像素矢量。当这两个像素色度越接近,即F(x,y)与B(x,y)的夹角越接近,则-(F(x,y)-B(x,y))与B(x,y)的夹角也越接近。因此我们用-(F(x,y)-B(x,y))与B(x,y)的夹角来表示这两个像素色度的接近程度
新的判断阴影的条件,在RGB空间中满足条件的点的个数不随背景亮度的不同而变化,并且不需要计算F(x,y)的长度,而需要计算的是背景差提取运动点团所必须计算的,这里利用前一步计算的结果即可,不需要重复计算。可见新的算法减少了计算量。
改进的基于RGB空间的阴影处理算法具体如下:
1)B(x,y)是背景图像,F(x,y)是当前处理的帧
2)对前一步(运动点团提取)提取出的前景像素点F(x,y):
如果同时满足
则此像素是阴影而不是前景。
通过调整阈值重复实验,得到最佳阈值=0.1,Td=60。取此阈值的阴影处理后的运动点团图像如图39、图40。从图中可以看到,此算法得到的运动点团图像和上面的算法差不多,但因为此算法计算量小,比上一节的算法优。
③基于HSI空间的阴影处理
判断阴影的根据是阴影与背景在色度上相似,在亮度上阴影比背景暗。HSI空间的三个分量I是亮度、S是饱和度、H是色度。如果我们将像素点矢量从RGB空间转换到HSI空间,我们就可以直接比较两像素点的色度和亮度了。
RGB空间转换到HSI空间的的公式如下[15]:
其中R、G、B分别是像素矢量在RGB空间中红、绿、蓝三分量的值;H、S、I分别是像素矢量在HSI空间中色度、饱和度、亮度三分量的值。
对于像素点F(x,y)和对应背景点B(x,y),F(x,y)是阴影的条件是:1)F(x,y)和B(x,y)的色度分量的距离小于阈值Th;2) F(x,y)的亮度分量比B(x,y)的小,且它们最多相差阈值Ti。[16]
判断像素是否是阴影的算法如下:
1)B(x,y)是背景图像,F(x,y)是当前处理的帧
2)对前一步(运动点团提取)提取出的前景像素点F(x,y):
如果同时满足
则此像素是阴影而不是前景。
通过调整阈值重复实验,得到最佳阈值Th=0.6,Ti=55。取此阈值的阴影处理后的运动点团图像如图41、图42。将图41、图42和图39、图40比较,可以看到,基于HSI空间和基于RGB空间的阴影处理效果差不多,说明在RGB空间中就能很好的提取出色度、亮度等信息,没有必要为了做阴影处理而将图像从RGB空间转换到HSI空间,可以省去彩色空间转化的计算开销。
3.灰度图像的运动点团提取
如何将原始彩色图像序列变换成灰度图像序列,以及提取灰度图像的背景。接下来就是将每帧灰度图像的背景去除,获得运动点团图像。和前述彩色图像的运动点团提取相似,将每帧图像与背景图像作差,然后二值化,就可以得到每帧图像的运动点团了。求两个像素的欧氏距离就是求像素灰度差的绝对值。定义二值化的阈值是Te,其含义是前景与背景差别的量度,即前景与背景的距离至少相差Te。
改变阈值Te重复实验,得到最佳阈值为Te=21。取此阈值得到的运动点团图像如图43、图44。
这两幅图与基于彩色图像的运动点团提取未处理阴影前的图像(图35、图36)很相似。为了寻找基于彩色图像的运动点团提取方法和基于灰度图像的运动点团提取方法之间的关系,再进行如下实验。分别取实验数据一和实验数据二的基于彩色图像的运动点团提取结果图像(就是图35、图36)作为参考图像。对这两组实验数据,改变阈值Te重复提取基于灰度图像的运动点团图像,与参考图像比较,统计与参考图像不同的像素的个数以及占整个图像的百分比。对数据一实验的统计结果见表四,对数据二实验的统计结果见表五。
阈值 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
不同像素数 | 7156 | 5883 | 4808 | 3940 | 3210 | 2818 | 2897 | 3292 | 3904 | 4575 |
百分比(%) | 2.82 | 2.32 | 1.90 | 1.55 | 1.27 | 1.11 | 1.14 | 1.30 | 1.54 | 1.81 |
表四 实验数据一基于灰度图像的运动点团图像与参考图像差别随阈值变化表
阈值 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
不同像素数 | 5720 | 4590 | 3779 | 3068 | 2611 | 2517 | 2811 | 3230 | 3795 | 4370 |
百分比(%) | 2.26 | 1.81 | 1.49 | 1.21 | 1.03 | 0.99 | 1.11 | 1.27 | 1.50 | 1.72 |
表五 实验数据二基于灰度图像的运动点团图像与参考图像差别随阈值变化表
根据表四和表五,作出基于灰度图像的运动点团提取结果与参考图像不同像素百分比随阈值变化关系图,见图五十二。图中系列1是实验数据一,即表四的结果;系列2是实验数据二,即表五的结果。从图中可以看出,无论实验数据一还是实验数据二,阈值Te=21时的结果图像是最接近参考图像的,只有1%左右的像素点不相同。
前面我们已经知道,Te=21是基于灰度的点团提取的最佳阈值,参考图像是最佳阈值Ta=36的基于彩色图像的点团提取结果图。对两组实验数据,我们都能得到基于彩色图像的运动点团提取方法和基于灰度图像的运动点团提取方法的最佳阈值满足经验关系式,这个系数来源于彩色图像的像素有三个颜色分量,在RGB空间中,若矢量的每个分量都为a,则矢量的长度为a。因此,可以把阈值Ta看成三个分量都是Te构成的矢量。
不论是基于彩色图像的运动点团提取还是基于灰度图像的运动点团提取,通过最佳阈值得到的运动点团图像是非常接近的,只有不到1%的像素点不同。也就是说,基于彩色图像的运动点团提取和基于灰度图像的运动点团提取结果差别不大,彩色图像没有带来更多的信息,这和文献[17]的结论是一致的。然而,它们都将阴影作为运动前景了。阴影的处理需要借助图像的彩色信息。如果原始图像一开始就转换成了灰度图像,则提取了运动点团之后,就没有办法继续处理阴影了。因此,基于彩色图像的运动点团提取以及之后的阴影处理是更好的方法如(图45)。
4.边缘图像的运动点团提取
如何将原始彩色图像序列通过彩色边缘检测得到边缘图像序列,以及提取边缘图像的背景。接下来就是将每帧边缘图像的背景去除,获得运动点团图像。因为边缘图像也是灰度图像,做灰度图像的运动点团提取。
对Color-Prewitt边缘图像,定义二值化的阈值为Tcp。改变其值重复实验,可得到最佳阈值Tcp=50。对实验数据一的其中一帧的提取结果如图46。
对Color-Sobel边缘图像,定义二值化的阈值为Tcs。改变其值重复实验,可得到最佳阈值Tcs=65。对实验数据一的其中一帧的提取结果如图47。
从实验结果可以看出,边缘图像提取出的运动点团是不含阴影的,不需要再做阴影处理。这是因为阴影和背景在色度上相似,因此阴影的边缘并不明显。然而,运动物体内部较平滑,没有边缘,因此一个运动物体提取出的点团内部大都是空的,只有边界有像素点,使得一个运动物体提取出多个连通区域的情况加剧了。在第七章中我们将看到基于边缘图像的运动跟踪的效果。
5 基于帧间差的运动点团提取及其与背景差法比较
我们讨论了基于背景差的运动点团提取。提取运动点团还可以采用基于帧间差的方法。这个方法不需要提取背景,只需将相邻两帧作差,然后二值化即可。因为相邻两帧不相同的部分就是运动部分,因此这个方法能够提取出运动前景。对实验数据一的其中两相邻帧使用基于帧间差的运动点团提取方法提取运动点团图的结果见图48。
和基于背景差的方法比较,可以看出,这个方法有如下缺点:
1、运动物体表面如果颜色接近,那么相邻两帧作差就会导致在物体运动方向上留下前后两部分,中间部分就会被减去成为背景了,无法把完整的运动物体提取出来,在道路场景中,每辆车的表面大都是同一种颜色。而背景差法就不存在这个问题。
2、相邻两帧作差,在结果中会把这两帧的噪声叠加在一起。而背景差法使用平均值求背景,能够在一定程度上抑制噪声,不会有噪声叠加的问题。
因此,基于帧间差的运动点团提取算法并不适用于道路场景。
6 背景更新
由于背景会随时间变化而改变,需要对背景进行更新。背景更新有两种策略。
第一种策略是每隔一段时间使用背景提取算法重新提取背景,将新背景取代旧背景。这种方法的缺点是,背景的变化不能立即表现出来,需要等到下一次提取背景的时候才能得到新背景。
第二种策略是对每一帧在提取运动前景的同时更新背景:设原背景是B0,当前帧是F,新背景是B,则[18]
、都是大于0小于1的实数。上式的含义是,当前帧的像素(x,y)是背景时,对背景像素(x,y)做更新,使当前像素在新背景中占权重,这适应了背景因为光照而缓慢变化的情况;当前像素(x,y)不是背景时,对背景像素(x,y)做更新,使当前像素在新背景中占权重,这适应了背景物体运动出去或者运动物体静止下来成为背景的情况。一般来说,。
在实际应用中,也可以不必对每一帧在提取运动前景的同时都更新背景,隔若干帧使用上式对背景更新一次即可。
c.兴趣区提取
在运动场景中,并不是每一个位置都会有运动物体出现。例如,道路交通场景中,视频图像的上面部分“天空、建筑”的区域不会出现运动物体,下面部分“道路”区域才会出现汽车等运动物体。而一帧图像的像素总数是很大的,前面的运动点团提取步骤、后面将要叙述的运动点团位置提取步骤都需要遍历每帧图像的每一个像素。在第六章,我们将分析知道整个运动目标检测与跟踪最费时的部分就是对图像每个像素的遍历。因此,如果能在背景提取阶段把不会出现运动物体的区域去除,之后只在图像中有可能出现运动物体的区域做处理,则能大大提高系统的效率,使之更好的满足实时性运用的要求。我们称有可能出现运动物体的区域为兴趣区。兴趣区提取就是指在运动图像序列中找到有可能出现运动物体的区域,之后的所有处理都只在兴趣区中进行。
1兴趣区的提取和实验
兴趣区是图像中有可能出现运动物体的区域。在背景提取阶段,对按时间采样得到的图像样本,统计每个像素点前景和背景出现的次数,就可以得到兴趣区。问题转换成了在不知道前景的情况下,如何估计每个像素点前景和背景出现的次数。我们在第3章已经讨论过这个问题:在背景提取时,也要在求平均值之前,去除不大可能是背景的样本,使求出来的平均值会更加接近背景。因此,我们可以将第3.1节的背景提取算法推广到兴趣区提取。下面讲述基于共同区域的背景提取算法推广到兴趣区提取。
考虑前后相隔一定时间的两图像帧,如果同一个像素在这两帧中差别不大,则认为背景出现了两次;否则认为背景没出现。在一定的时间段中,采样得到若干有一定时间间隔的图像对,统计背景出现的次数,根据各个像素背景出现的次数可以得到兴趣区。具体算法如下:
1)在某时间段采样得到N个图像帧Fi, i=1,2…N;
2)对每一个像素点(x,y):
a)Sum(x,y)=0;
b)对每一个图像对Fi(x,y)和Fi+N/2(x,y),i=1,2…N/2
3)对Sum(x,y)作水平投影或垂直投影,得到背景像素点的分布图,根据分布图的波峰、波谷即可确定兴趣区。
使用实验数据一得到的背景统计灰度图见图49。图中的像素越黑表示背景出现的次数越大。
将此统计图作水平投影,从下往上找第一个背景像素波峰,以此作为分界线,上面部分就是不大可能出现运动物体的区域,下面部分就是运动物体出现的道路,即兴趣区。见图50。
2道路繁忙度获取
对于视频图像序列,可以将运动点团像素总数作为场景中所有车辆的面积的近似,把兴趣区像素总数作为道路面积的近似。尽管位于场景远处位置的一个像素代表的实际面积比场景近处位置的一个像素代表的实际面积更大,但因为计算的是比例,可以将其简化而省去繁琐的摄像头标定工作。因此,近似的把一帧中运动点团像素总数与兴趣区像素总数之比作为这一时刻的道路占有率。运动点团像素在运动点团提取步骤获得,在上一部分已经讲述;兴趣区像素在上一节已叙述。
在得到每一帧的道路占有率之后,每隔一段时间将其做平均,根据得到的值的大小判断道路的繁忙程度,以及道路繁忙度的变化情况。这不需要很精确道路占有率数值,上面的近似是可行的。
d.运动点团的位置提取
运动点团图像是二值图像。在位置提取之前,需要对其进行数学形态学处理,去除比较小的噪音点。第6.1节讲述数学形态学处理方法。
接下来要将不同的连通区域的位置和大小提取出来。我们将一个连通区域称作一个运动点团。在一幅运动点团二值图像中,有很多个连通区域,将各个运动点团的位置和大小提取出来,构成一个链表,以供下一步作运动跟踪之用。我们可以不关心运动点团内部的空洞,甚至轮廓上的凹凸。因此可以用连通区域的最小外接矩形表示每个运动点团,这个矩形完全包含了运动点团的位置和大小信息。这一步骤的目标就是获得代表每个运动点团的矩形,每帧图像的所有矩形构成一个链表。需要指出的是,每个矩形并不是运动物体。具体来说,一个矩形可能是多个靠近的运动物体构成的一个连通区域;一个运动物体可能因为部分区域与背景相似而分割成几个连通区域。因此,我们在运动点团上还有一层运动物体层。而为了说明这是必要的,我们在第6.5节给出直接在运动点团层做运动跟踪的结果,我们将在那一节看到,直接在运动点团层做运动跟踪效果是很差的,会出现一些问题,第七章研究了解决这些问题的方法。
不同的运动点团位置提取算法,分别是轮廓追踪算法、线段编码算法和改进的线段编码算法。其中改进的线段编码算法比轮廓追踪算法和线段编码算法在提取运动点团的位置和大小上更优。
1数学形态学处理
运动点团图像是二值图像,黑色像素是背景点,白色像素是前景点。图像中存在噪声,即孤立的白像素和孤立的黑像素。可以使用数学形态学的方法将二值图像中的孤立噪声点去除。数学形态学算法主要有腐蚀、膨胀、开运算、闭运算。
腐蚀运算的定义式为[19]
这里的B是输入图像中所有取值为1的点的集合,E为输出图像中所有取值为1的点的集合。这个式子表示,结构元素移动到点(x,y),如果其完全包含在集合B中,则(x,y)是集合E中的元素。对于全部由1构成的33矩阵的结构元素来说,如果输入图像的点(x,y)处的像素为1,且其邻域的8个像素也为1,则输出图像的点(x,y)处的像素为1,否则为0。腐蚀运算可以消除物体的边界点。对去除微小的物体很有用。
膨胀运算的定义式为[19]
这里的B是输入图像中所有取值为1的点的集合,E为输出图像中所有取值为1的点的集合。这个式子表示,结构元素移动到点(x,y),如果其与集合B的交集不为空,则(x,y)是集合E中的元素。对于全部由1构成的33矩阵的结构元素来说,如果输入图像的点(x,y)处和其邻域的8个像素其中有一个为1,则输出图像的点(x,y)处的像素为1,否则为0。膨胀运算可以增大物体面积。对填充物体中微小的空洞很有用。
开运算是对二值图像先腐蚀后膨胀,定义式为[19]
开运算具有去除微小物体、平滑物体边界而不改变物体大小的作用。
闭运算是对二值图像先膨胀后腐蚀,定义式为[19]
闭运算具有填充物体中微小空洞、连接邻近物体、平滑物体边界而不改变物体大小的作用。
通过实验,对运动点团二值图像做开运算效果较好,结果比较符合我们的要求。因为腐蚀和膨胀运算会改变物体的大小,闭运算无法去除微小的噪声物体。开运算能很好的去除微小的噪声物体而不改变物体大小,虽然其不能去除物体内部的微小空洞,但物体内部的微小空洞不会影响之后的运动点团位置提取和运动跟踪,这在下面会谈到。因此,我们使用开运算做二值图像的噪声去除。图51是实验数据一的其中一帧做运动点团提取和阴影处理后再经开运算处理后的结果。图52是实验数据一提取Color-Sobel边缘后的其中一帧做边缘图像的运动点团提取之后在经开运算处理后的结果。
2轮廓追踪
这个方法的目标是提取运动点团的轮廓点。首先,找到轮廓上的第一点,然后按顺时针或逆时针找轮廓上的下一个点,不断重复找下去,直到回到找到的第一个点为止。具体算法如下:
1)轮廓上第一个点是连通区域中的最下面的点中的最左边的那个。
2)定义如下图所示的八个方向,例如第0方向是左上、第1方向是上。
3)从第一个点的第0方向上的像素开始,如果这个点是连通区域中的点,则其必为轮廓点,否则看第1方向上的像素,如果其为连通区域中的点,则为轮廓点,否则看第2方向上的像素……直到找到下一个轮廓点为止。设新找到的轮廓点在第i方向上。
4)对新找到的轮廓点,从第i-1方向开始找下一个轮廓点(如果i为0则从第7方向开始),类似第3)步,直到找到下一个轮廓点为止。
5)设新找到的轮廓点在第i方向上,重复第4)步直到新找到的轮廓点是第一个点为止。
如果二值图像中只有一个连通区域,则此算法可以有效的获得其轮廓点。但是我们的图像有多个连通区域,需要把每个连通区域的轮廓都提取出来。这时为了找到下一个连通区域的第一个轮廓点,需要重复遍历已提取出轮廓点的连通区域,也就是说为了得到所有连通区域的轮廓,每个像素点需要遍历不止一次,这个算法的效率并不高。而且,这个算法得到的是轮廓点集,这是不规则的图形,需要进一步处理才能得到每个运动点团的位置和大小。因此,这个算法并不适合我们的需求。
3 线段编码
线段编码算法通过逐行扫描获取运动点团的位置和大小。我们举例说明这个算法。如下图所示是一个连通区域,共有五行。我们从上面开始,逐行扫描,扫描线从左到右。首先扫描到图中编号为1的线段(即线段1),因为其是孤立线段,连通区域1被初始化,将线段1放入连通区域1。接下来扫描第2行,扫描到线段2,因为线段1和线段2相邻,将线段2放入连通区域1。然后扫描到线段3,线段3是孤立线段,连通区域2被初始化,将线段3放入连通区域2。如果图像只有这两行,则到这里扫描结束,我们得到了两个连通区域,每个连通区域的大小和位置都出来了。这个图像还有第3和第4行,我们继续扫描。第3条扫描线扫描到线段4,发现线段4和线段2相邻,将线段4放入连通区域1;接着发现线段4也和线段3相邻,这时,线段4把连通区域1和连通区域2给贯通了,则将连通区域2和连通区域1合并,设合并后的连通区域为连通区域1。最后扫描第4行,找到线段5,其与线段4相邻,将线段5放入连通区域1;然后找到线段6,发现其也和线段4相邻,再把线段6并入连通区域1。至此所有行都扫描完了,得到了一个连通区域。如图[68]
根据这个实例,我们得到线段编码具体算法如下:
1)扫描图像中的每行:
对这行中的每条线段
如果与前一行的一条线段相邻且仅与这条线段相邻,则将这条线段加入这个相邻线段所在的连通区域;
否则,如果与前一行的多条线段相邻,则将相邻的这多条线段所在的连通区域合并成一个连通区域,将这条线段加入这个连通区域;
否则,对于其他情况,初始化新的连通区域,将这条线段加入这个连通区域
2)所有连通区域构成的链表就是所求。
设一幅图像的像素点总共有M个,则这个算法的时间复杂度是O(M)。即对图像中的每个像素扫描一遍就可以得到所有的连通区域了。在下一节,我们将讲述改进的线段编码算法,其更符合我们的要求。
4改进的线段编码
连通区域中有空洞,轮廓也是不规则的,在上一节讲的线段编码算法把这些信息都获取了,然而这些信息不是我们需要的,我们只需要得到每个连通区域的最小外接矩形,就得到每个运动点团的大小和位置了。为此,我们将线段编码算法做改进。
新算法的目标是,使一个连通区域中的每一行有且仅有一个线段。在扫描第3行的时候,发现线段4贯通了连通点团1和连通点团2,这时把线段2的右边界延长到线段3的右边界。在扫描第4行的时候,发现线段6也是属于连通点团1时,将线段5的右边界延长到线段6的右边界。这样,在一个连通区域中,每一行只有一条线段,它是覆盖原来同一行中所有线段的最小线段,连通区域中的空洞就被去除了,轮廓也比原算法规整。采用这个改进算法,也解决了第四章说的在对二值图像做开运算不能去除物体内部的微小空洞的问题。改进的线段编码算法如下:
1)从左向右扫描图像中的每行:
对这行中的每条线段a
如果不和前一行的任何线段相邻或者这行就是第一行,则初始化新的连通区域,将线段a加入这个连通区域;
否则:
a)设与前一行相邻的线段中最左那条为线段b
如果线段a是此行的第一条线段或者此行之前的线段不与b相邻,则则将线段a加入b所在的连通区域;
否则,将此行之前的那条线段延长至完全覆盖线段a;
b)如果与前一行的多条线段相邻,则将这多条线段所在的连通区域合并成一个连通区域,在合并时每一行用覆盖此行中所有线段的最小线段代替此行的线段
2)所有连通区域构成的链表就是所求。
设一幅图像的像素点总共有M个,则这个算法的时间复杂度也是O(M)。也就是说对图像中的每个像素扫描一遍就可以得到所有的连通区域了。得到的连通区域中的每行仅有一条线段,因此可以很容易得到连通区域的最小外接矩形,运动点团的位置和大小也就得到了。
5 运动点团层运动跟踪
使用改进的线段编码算法提取出了运动点团的位置和大小之后,我们就可以进行运动点团层运动跟踪实验。
运动跟踪的目标是找出每一个运动物体在连续视频图像序列中的位置,进而得到它们的速度。使用改进的线段编码算法,我们可得到每一帧图像的运动点团的位置,接着,我们需要设法得到相邻两帧图像对应的运动点团,即因为运动而在前后两帧中有位置变化的点团。如果前后两帧中的点团A、B的重叠部分面积大于A或B的面积的一半,则B是A运动后所在的位置。这是因为,视频在时间上的采样率足够时,点团在前后两帧中位置的变化不会很大,即点团在前后两帧中的重叠面积不会很小,采样率越大,点团的位置变化越小,点团在前后两帧中重叠面积就越大。在道路交通场景中,采样率不小于10帧/秒的情况下,点团在前后两帧中的重叠部分面积不会小于它们各自面积的一半。由A、B的位置可以计算点团的运动速度。如果后帧有不止一个点团和前帧中的点团A的重叠面积满足要求,则认为A分裂为几个点团,每个点团继承原点团A的速度;如果前帧有不止一个点团和后帧中的点团B满足要求,则认为几个点团合并成一个点团B,点团B的速度是原来几个点团速度的平均值。特别指出的是,在点团分裂和合并的情形,点团的新速度都是由前一帧的速度计算得到:点团分裂时,分裂出来的点团的速度等于原点团的速度;点团合并时,合并后点团的速度是原来点团速度的平均值。而对于运动前后都是一个点团的情形,点团的新速度等于后帧点团的中心与前帧点团的中心的矢量差,它有两个分量,分别代表图像中两个方向的速度,单位是像素/采样周期,采样周期是指相邻两帧的时间间隔。点团的中心可以认为就是点团最小外接矩形的中心。
运动点团层运动跟踪的具体算法如下:
对当前帧的运动点团链表中的每个运动点团元素B:
在前一帧的运动点团链表中找运动点团元素A,使A与B的重叠部分面积大于A或B的一半,
如果满足要求的元素A不存在,则B是新出现的运动点团,其速度为0;
否则,如果满足要求的元素A不止一个,则这是合并情形,B的速度为所有满足要求的元素的速度的平均值;
否则,如果重叠部分面积小于A的一半,则这是分裂情形,B的速度等于A的速度;
否则,计算运动点团B速度:B的最小外接矩形的中心与A的最小外接矩形的中心的矢量差,它有两个分量,分别代表图像中两个方向的速度,单位是像素/采样周期。
采用此算法做运动跟踪实验。实验数据一的其中一帧的结果如图53。太小的点团已经在位置提取之后作为噪声除去了。
从图中可以看出,点团只是连通区域,并不是运动物体车辆。究其原因,运动物体部分与背景相似时与背景作差会导致运动物体分裂成几个连通区域;几个运动物体比较靠近时在图像上会连在一起形成一个运动点团。因此,为了解决这个问题,我们在运动点团上加一层运动物体层,在运动物体层做运动跟踪。
e.运动跟踪
这一步骤的目标是把运动物体跟踪出来,例如道路场景中的车辆,而不论运动物体是否分裂成多个连通区域或者运动物体只是一个连通区域的一部分。在道路场景中,车辆在经过与其某部分颜色接近的道路区域时,与背景作差就会导致一辆车分裂成多个连通区域,即一个运动物体分裂成多个运动点团。道路上的栏杆、灯柱、电线杆等会对经过它们的车辆造成遮挡,也会导致车辆分裂成多个连通区域。如果多辆车行使在一起,那么就会导致在图像中多个车辆成为一个连通区域,即多个运动物体合并成了一个运动点团。因此,我们需要在运动点团上再加一层,把运动物体跟踪出来。
从运动点团中得到运动物体,基本的思路是充分运用物体的运动信息,即除了运用当前帧的运动点团信息,还要利用之前帧的运动点团信息。卡尔曼滤波是去除时序信号噪声的有效方法,可运用到运动跟踪之中,然而其存在一些问题,我们根据卡尔曼滤波的“预测修正循环”提出基于预测的运动跟踪方法,对其进行实验分析,取得了很好的效果,有效的从运动点团中得到了运动物体。
1 卡尔曼滤波
卡尔曼滤波器的结构如图54。它处理的是这样一个系统:Xk是系统第k时刻的状态矢量,A是系统的状态转移矩阵,Wk是系统第k时刻的系统噪声矢量,系统的当前状态依赖且仅依赖于系统的上一状态,并且是线性关系
人们对系统的状态矢量Xk做观测,H是观测矩阵,Vk是第k时刻的观测噪声矢量,人们最终看到的是Zk
卡尔曼滤波的目标是,已知系统转移矩阵A、观测矩阵H、系统噪声矢量的协方差矩阵Q、观测噪声矢量的协方差矩阵R,从观测到的Zk中恢复Xk。
卡尔曼滤波的过程如下:
设Yk是第k时刻卡尔曼滤波器对Xk的估计值,即卡尔曼滤波器的输出;Pk是Xk的协方差的估计值。初始值Y0和P0随机确定。
第一步预测:
其中和分别是Yk和Pk的预测值。
第二步根据观察结果修正:
其中Kgk是卡尔曼增益。不断循环以上两步,可到各个时刻的系统状态估计值。
从式子中可以看出,当观测噪声矢量的协方差矩阵中的元素越大卡尔曼增益就越小,对预测的修正量就越小。这是因为观测噪声的协方差矩阵元素越大,观测值的可信度就越小,最终估计值越靠近预测值。
将卡尔曼滤波用于运动跟踪。状态矢量为物体位置和速度,各有两个方向,因此状态矢量是四维矢量。转移矩阵是新位置与速度与上一时刻位置与速度的关系。认为速度不变,而新位置等于上一时刻位置加上速度乘以采样周期,即可得到转移矩阵。观测矩阵就是取出状态矢量的两个方向的位置分量。可以通过在图像中做二维搜索得到与预测位置点团重叠面积最大的点团的位置,以这个点团的位置作为观测结果。系统噪声是由运动物体加速度导致的,而观测噪声是由前述运动物体和连通区域不一致导致的。因此,可以看到,用卡尔曼滤波做运动跟踪存在以下问题:
首先,系统噪声矢量的协方差矩阵是必须的,而系统噪声是由运动物体加速度导致,这个协方差矩阵难以确定。观察噪声的协方差矩阵也是必须的,但其难以量化。
其次,观测结果采用二维搜索的的方法得到,这是非常费时的方法,因为图像像素数是很大的。
最后,在求卡尔曼增益时,需要计算矩阵的逆,如果矩阵的逆不存在,需要计算其广义逆,计算复杂费时。而且每帧图像都有多个运动物体,每个运动物体都要算一次矩阵的逆,计算开销是非常大的。
直接运用卡尔曼滤波做运动跟踪存在上述问题,我们利用其预测修正的核心思想,提出了基于预测的运动跟踪方法,下面对其做详细讲述。
2 基于预测的运动跟踪
基于预测的运动跟踪分为以下几步骤:首先是运动物体初始化,然后是运动物体跟踪,最后是运动物体消失。
运动物体链表存在于整个运动跟踪过程中。链表的每个节点存放当前运动物体的位置、速度和下一时刻物体的位置的预测。物体位置用矩形框表示。
在运动物体初始化步骤,只有运动点团信息,因此采用第6.5节运动点团层的运动跟踪方法,对新出现的运动点团跟踪1/3秒,在经过这段时间的合并分裂变化后如果还存在,且面积大于一定像素(我们在实验中取300像素),则将其初始化为一个运动物体,用矩形框表示,成为运动物体链表的一个节点,节点还保存运动物体的速度,用运动点团的速度作为运动物体的速度(单位是像素/采样周期)。
在运动物体跟踪步骤,分预测和修正阶段。
预测阶段,根据前一时刻运动物体的位置预测现在时刻运动物体位置。如图55,左下的内框是运动物体前一时刻的位置,前一时刻运动物体的速度是(Vx,Vy),将此框中的每个点都位移(2Vx,2Vy),得到右上的内框,这两个内框的最小外接矩形即图中的外框作为当前时刻物体的预测位置。需要指出的是,预测位置包含物体原来位置(图中左下内框)到两倍前一时刻速度运动后的位置(图中右上内框),即适应了实际速度在0到2V的变化,而速度是连续的,前一时刻速度是V,则当前时刻速度大于2V的可能性不大。
修正阶段,目标是找到当前帧运动点团分别属于哪个运动物体。
首先,对当前帧的每个运动点团,在运动物体链表上找预测位置矩形框与运动点团矩形框有交集的运动物体。如果运动点团矩形与运动物体预测位置矩形的重叠面积大于它们之一的1/2,则将其分入此运动物体。如果有超过一个运动物体满足这个条件,则将运动点团拆分,分入每个运动物体的部分不超过每个运动物体的预测矩形框;如果只有一个运动物体满足条件,则将运动点团全部分入这个运动物体;如果没有运动物体满足条件,则此运动点团是新出现的,对其做运动物体初始化。
接着,对每个运动物体取分到它的所有运动点团的最小外接框作为它的新位置,但要限制每边的边长不能小于预测框的4/5,不能大于预测框的6/5。这是考虑到运动物体的大小不会突变。得到新位置后就可以计算运动物体的新速度了:运动物体框运动速度和前一时刻速度的平均值,以体现速度的惯性。
通过预测和修正的方法,解决了本章开始提出的问题——在运动物体预测位置寻找所有的运动点团,解决了一个运动物体分裂成多个连通区域的问题;一个连通区域可以拆分入不同的运动物体,解决了几个运动物体互相靠近成为一个连通区域的问题。但是新问题又产生了,如果原来就是几个物体互相靠近成为一个连通区域,然后互相分离,比如多辆汽车从远处开过来,用这种基于预测的方法,一个运动物体框会越来越大,乃至覆盖了整个图像中的所有运动物体。我们通过运动物体的消失步骤解决了这个问题。
在运动物体的消失步骤,有两种情况。情况一、如果运动物体框中没有运动点团或者运动点团的面积小于一定的像素(我们取300像素)并且持续了1/3秒,则运动物体消失,在运动物体链表中去除这个节点;情况二、当运动物体框达到整个图像的1/8时,如果运动物体框中所有运动点团像素总数占运动物体框的比例小于一定值(我们取0.7),则前述“靠近的物体分离”的情况出现,把运动物体链表中的这个节点删除,之后这些分离的运动物体将各自初始化。这是因为,如果运动物体框中有多个分离的物体,则其中必有很大空隙,因此以运动物体框很大(超过整个图像1/8)且框中运动点团总数与物体框比例小于0.7作为判断多个物体分离情况出现的条件。
前面所有的参数是我们在多组实验数据下面反复实验得到的,在道路交通场景中有不错的效果。
之前我们站在运动物体的角度讲述了整个算法的核心,下面站在实现的角度讲述具体的算法:
对当前运动点团图像帧:
1)用运动点团位置提取算法得到所有运动点团位置、大小;
2)把太小的运动点团作为噪声丢弃(面积小于100像素);
3)对每个运动点团,在运动物体链表上找预测位置矩形框与运动点团矩形框有交集的运动物体——如果运动点团矩形与运动物体预测位置矩形的重叠面积大于它们之一的1/2,则将其分入此运动物体:
a)如果有超过一个运动物体满足这个条件,则将运动点团拆分,分入每个运动物体的部分不超过每个运动物体的预测矩形框;
b)如果只有一个运动物体满足条件,则将运动点团全部分入这个运动物体;
4)对每个运动物体取分到它的所有运动点团的最小外接框作为它的新位置,但要限制每边的边长不能小于预测框的4/5,不能大于预测框的6/5;
5)计算运动物体的新速度:运动物体框运动速度和前一时刻速度的均值;
6)预测运动物体下一时刻的位置,预测方法前面已述;
7)如果运动物体框中没有运动点团或者运动点团的面积小于一定的像素(300像素)并且持续了1/3秒,在运动物体链表中删除这个节点;
8)如果运动物体框达到整个图像的1/8时,而运动物体框中所有运动点团像素总数占运动物体框的比例小于一定值(取0.7),在运动物体链表中删除这个节点;
9)图像帧中没有分入运动物体的运动点团为新出现的运动点团,采用基于运动点团层的运动跟踪方法,如果新出现的运动点团持续了1/3秒,面积大于一定像素(300像素),则在运动物体链表中增加一个节点,用运动点团矩形框作为运动物体矩形框,用运动点团的速度作为运动物体的速度(单位是像素/采样周期),预测运动物体下一时刻的位置。
采用此算法做运动跟踪实验。实验数据一的其中一帧结果见图56。实验数据二的其中一帧结果见图57。
图56和图57比较,可以看出,这个算法较好的跟踪出了运动物体,特别是一个运动物体分成几个连通区域的情况。图57是多辆车从远处开过来而分离的情况,远处挤在一起的多个运动物体运动到近处后能正确的分离出来。
3 运动跟踪算法的计算复杂性分析与改进
上述算法费时的地方有两处。一是使用运动点团位置提取算法提取每个运动点团的位置和大小,因为这要遍历图像的每个像素,如果图像的像素数是M,复杂度就是O(M);二是对图像中的每个运动点团,需要在运动物体链表中找到所有与其有交集的运动物体,图像中的运动点团个数和运动物体链表中的运动物体数是同一量级的,设为P,则对图像中的所有运动点团完成查找的时间复杂度是O(P2)。图像像素数是几十万数量级的,而道路场景中的车辆最多也就几十辆,即M远远大于P2,因此设法减少图像像素数是最重要的。除了此处,提取运动点团的背景差法时间复杂度也是O(M),与像素处理相关的步骤是整个过程耗时最多的地方。我们在第五章兴趣区提取专门讨论了减少图像像素数的方法,可以更好的满足实时性运用的要求。在这一节中,我们讲述对图像中的每个运动点团,更快的找到运动物体链表中所有与其有交集的运动物体的方法。
为找出运动物体链表中所有与指定运动点团有交集的运动物体,一般的方法是对对整个运动物体链表中的每个元素遍历一次,判断其是否与运动点团有交集。可以做如下改进:将运动物体链表一分为三,第一个链表中的所有运动物体都位于图像的左半边,第二个链表中的所有运动物体都位于图像的右半边,第三个链表中的所有运动物体都跨越图像的左右两边。位于图像左边的运动点团只和第一、第三个链表中的运动物体比较;位于图像右边的运动点团只和第二、第三个链表中的物体比较;只有横跨图像两边的运动点团才需要和所有三个链表中的运动物体比较。
改进后的算法对图像中的每个运动点团,找到运动物体链表中所有与其有交集的运动物体可以节省一半的时间,对图像中的所有运动点团完成查找的时间复杂度是O(0.5P2)。然而整个过程主要耗时不在此处,所以实际使用中改变并不明显。
4 基于边缘图像的运动跟踪结果
基于边缘图像的运动跟踪的方法是一样的,只是输入的是边缘图像的运动点团图像。
实验数据一的基于Color-Prewitt边缘图像的运动跟踪的一帧结果见图58,基于Color-Sobel边缘图像的运动跟踪的一帧结果见图59。
从实验结果可以看到,对运动物体的跟踪存在错误——同一个物体被判成了两个,效果不如前面直接基于原始彩色图像的运动跟踪。这是因为,虽然前景和背景分离最重要的信息是物体的边缘信息,但提取边缘后物体内部变空了,加剧了一个运动物体分裂成多个连通区域的情况,导致了采用基于预测的运动跟踪方法不能正确的跟踪分裂成多个连通区域的同一物体。
5 基于预测的运动跟踪算法在不同采样率下的健壮性
算法的参数是实验经验数据,这些参数是25帧/秒的采样率不同实验数据实验获得的。
图60至图62是实验数据一分别在15帧/秒、10帧/秒、5帧/秒采样率下运动跟踪的其中一帧结果。图七十二至图七十四是实验数据二分别在15帧/秒、10帧/秒、5帧/秒采样率下运动跟踪的其中一帧结果。
将图60至图62与图56对比,将图63至图64与图57对比,从实验结果中我们可以看到,只要采样率不小于10帧/秒(图60、61和图63、图64),跟踪效果和25帧/秒差别不大;采样率小于10帧/秒(图62和图65)时,效果差一些。实际运用中,采样率一般都在10帧/秒以上,因此此算法有很好的健壮性。
6 运动跟踪的最终结果
在图55和图56中,我们把运动跟踪得到的运动物体矩形框直接画在运动点团二值图像上面。如果把运动跟踪得到的运动物体矩形框画在原始的彩色视频图像序列上,就得到了运动跟踪的最终结果。实验数据一的其中一帧结果见图66。实验数据二的其中一帧结果见图七十六。图66和图55、图67和图56是一样的,只是把运动物体框画在了不同的图像上而已。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (2)
1. 一种运动目标检测与跟踪系统,其特征具体步骤是:
a.背景提取:(1)彩色图像的背景提取;(2)灰度图像的背景提取;(3)边缘图像的背景提取;
b.运动点团提取和背景更新:(1)彩色图像的运动点团提取;(2)阴影处理;(3)灰度图像的运动点团提取;(4)边缘图像的运动点团提取;(5)基于帧间差的运动点团提取和背景更新;
c. 兴趣区提取:(1)在背景提取阶段,对按时间采样得到的图样样本,统计每个像素点前景和背景出现的次数得出兴趣区;(2)道路繁忙度获取;
d. 运动点团的位置提取:(1)数学形态学处理;(2)轮廓追踪;(3)线段编码;(4)改进的线段编码;(5)运动点团层运动跟踪,使用改进的线段编码算法提取运动点团的位置和大小之后,进行运动点团层运动跟踪;
e.运动跟踪:(1)卡尔曼滤波;(2)基于预测的运动跟踪;(3)运动跟踪算法的计算复杂性分析;(4)基于边缘图像的运动跟踪;(5)基于预测的运动跟踪算法在不同采样率下的健壮性。
2. 根据权利要求1所述的运动目标检测与跟踪系统,其特征是:所述的彩色图像的背景提取包括基于均质的彩色图像背景提取、改进的基于均值的彩色图像背景提取和基于中值滤波的彩色背景图像提取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210583625.6A CN103903278A (zh) | 2012-12-28 | 2012-12-28 | 运动目标检测与跟踪系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210583625.6A CN103903278A (zh) | 2012-12-28 | 2012-12-28 | 运动目标检测与跟踪系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103903278A true CN103903278A (zh) | 2014-07-02 |
Family
ID=50994585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210583625.6A Pending CN103903278A (zh) | 2012-12-28 | 2012-12-28 | 运动目标检测与跟踪系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103903278A (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104700405A (zh) * | 2015-03-05 | 2015-06-10 | 苏州科达科技股份有限公司 | 一种前景检测方法和系统 |
CN107230219A (zh) * | 2017-05-04 | 2017-10-03 | 复旦大学 | 一种单目机器人上的目标人发现与跟随方法 |
CN107742115A (zh) * | 2017-11-10 | 2018-02-27 | 广东工业大学 | 一种基于视频监控的运动目标物检测追踪的方法及系统 |
CN107808393A (zh) * | 2017-09-28 | 2018-03-16 | 中冶华天南京电气工程技术有限公司 | 智能视频监控领域中具有抗干扰性的目标跟踪方法 |
CN108020838A (zh) * | 2016-11-02 | 2018-05-11 | 惠州市德赛西威汽车电子股份有限公司 | 一种毫米波雷达信号在自适应巡航中的处理方法 |
CN108062773A (zh) * | 2016-11-07 | 2018-05-22 | 深圳光启合众科技有限公司 | 图像处理方法和装置、机器人 |
CN108122411A (zh) * | 2017-10-31 | 2018-06-05 | 浙江浩腾电子科技股份有限公司 | 一种基于车速预测的跟踪频率自适应优化方法 |
CN105260715B (zh) * | 2015-10-16 | 2018-07-06 | 中国人民解放军国防科学技术大学 | 面向偏僻地段的小动物目标检测方法 |
CN108830169A (zh) * | 2018-05-24 | 2018-11-16 | 中国农业大学 | 增氧机工作状态的检测方法和系统 |
CN109040614A (zh) * | 2018-08-01 | 2018-12-18 | 安徽宇烁光电科技有限公司 | 一种多画面视频处理器场景处理系统 |
CN110047092A (zh) * | 2019-03-27 | 2019-07-23 | 深圳职业技术学院 | 一种复杂环境下多目标实时跟踪方法 |
TWI670684B (zh) * | 2015-06-12 | 2019-09-01 | 鴻海精密工業股份有限公司 | 運動目標即時檢測與跟蹤方法及目標檢測裝置 |
CN110708823A (zh) * | 2019-10-29 | 2020-01-17 | 佛山科学技术学院 | 一种基于图像识别的教室自动断电控制方法及系统 |
CN111291747A (zh) * | 2020-01-10 | 2020-06-16 | 大连理工大学 | 一种复杂场景下基于深度图的彩色小目标检测方法 |
CN111415372A (zh) * | 2020-03-20 | 2020-07-14 | 桂林电子科技大学 | 一种基于hsi颜色空间和上下文信息的运动目标归并方法 |
CN111724416A (zh) * | 2020-06-20 | 2020-09-29 | 马鞍山职业技术学院 | 基于背景减法的运动物体检测方法与轨迹跟踪方法 |
CN112614161A (zh) * | 2020-12-28 | 2021-04-06 | 之江实验室 | 一种基于边缘置信度的三维物体跟踪方法 |
CN112614155A (zh) * | 2020-12-16 | 2021-04-06 | 深圳市图敏智能视频股份有限公司 | 一种客流的跟踪方法 |
CN113326722A (zh) * | 2020-02-29 | 2021-08-31 | 湖南超能机器人技术有限公司 | 基于序列模式的图像模糊检测方法及设备 |
CN113923414A (zh) * | 2021-10-10 | 2022-01-11 | 浙江机电职业技术学院 | 三段式隧道视觉综合监测调控系统 |
CN116188534A (zh) * | 2023-05-04 | 2023-05-30 | 广东工业大学 | 一种室内实时人体跟踪方法、存储介质及设备 |
CN116475081A (zh) * | 2023-06-26 | 2023-07-25 | 工业富联(佛山)创新中心有限公司 | 一种基于云边协同的工业产品分拣控制方法、装置及系统 |
US12049662B2 (en) * | 2021-02-01 | 2024-07-30 | Arizona Board Of Regents On Behalf Of Arizona State University | Rapid antimicrobial susceptibility testing by video-based object scattering intensity detection |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9125376D0 (en) * | 1990-11-28 | 1992-01-29 | Hitachi Europ Ltd | Motion target tracking system |
US20090196508A1 (en) * | 2008-02-04 | 2009-08-06 | Craig Sullender | Three-dimensional system and method for connection component labeling |
CN102592454A (zh) * | 2012-02-29 | 2012-07-18 | 北京航空航天大学 | 一种基于车辆侧面与路面交线检测的交叉口车辆运动参数测量方法 |
CN102622884A (zh) * | 2012-03-22 | 2012-08-01 | 杭州电子科技大学 | 一种基于跟踪的车辆违章掉头行为检测方法 |
-
2012
- 2012-12-28 CN CN201210583625.6A patent/CN103903278A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9125376D0 (en) * | 1990-11-28 | 1992-01-29 | Hitachi Europ Ltd | Motion target tracking system |
US20090196508A1 (en) * | 2008-02-04 | 2009-08-06 | Craig Sullender | Three-dimensional system and method for connection component labeling |
CN102592454A (zh) * | 2012-02-29 | 2012-07-18 | 北京航空航天大学 | 一种基于车辆侧面与路面交线检测的交叉口车辆运动参数测量方法 |
CN102622884A (zh) * | 2012-03-22 | 2012-08-01 | 杭州电子科技大学 | 一种基于跟踪的车辆违章掉头行为检测方法 |
Non-Patent Citations (1)
Title |
---|
郑志洵: "运动目标检测与跟踪的研究与实现", 《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》 * |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104700405A (zh) * | 2015-03-05 | 2015-06-10 | 苏州科达科技股份有限公司 | 一种前景检测方法和系统 |
CN104700405B (zh) * | 2015-03-05 | 2017-11-28 | 苏州科达科技股份有限公司 | 一种前景检测方法和系统 |
TWI670684B (zh) * | 2015-06-12 | 2019-09-01 | 鴻海精密工業股份有限公司 | 運動目標即時檢測與跟蹤方法及目標檢測裝置 |
CN105260715B (zh) * | 2015-10-16 | 2018-07-06 | 中国人民解放军国防科学技术大学 | 面向偏僻地段的小动物目标检测方法 |
CN108020838A (zh) * | 2016-11-02 | 2018-05-11 | 惠州市德赛西威汽车电子股份有限公司 | 一种毫米波雷达信号在自适应巡航中的处理方法 |
CN108020838B (zh) * | 2016-11-02 | 2021-08-20 | 惠州市德赛西威汽车电子股份有限公司 | 一种毫米波雷达信号在自适应巡航中的处理方法 |
CN108062773A (zh) * | 2016-11-07 | 2018-05-22 | 深圳光启合众科技有限公司 | 图像处理方法和装置、机器人 |
CN107230219A (zh) * | 2017-05-04 | 2017-10-03 | 复旦大学 | 一种单目机器人上的目标人发现与跟随方法 |
CN107808393A (zh) * | 2017-09-28 | 2018-03-16 | 中冶华天南京电气工程技术有限公司 | 智能视频监控领域中具有抗干扰性的目标跟踪方法 |
CN107808393B (zh) * | 2017-09-28 | 2021-07-23 | 中冶华天南京电气工程技术有限公司 | 智能视频监控领域中具有抗干扰性的目标跟踪方法 |
CN108122411B (zh) * | 2017-10-31 | 2020-01-24 | 浙江浩腾电子科技股份有限公司 | 一种基于车速预测的跟踪频率自适应优化方法 |
CN108122411A (zh) * | 2017-10-31 | 2018-06-05 | 浙江浩腾电子科技股份有限公司 | 一种基于车速预测的跟踪频率自适应优化方法 |
CN107742115A (zh) * | 2017-11-10 | 2018-02-27 | 广东工业大学 | 一种基于视频监控的运动目标物检测追踪的方法及系统 |
CN108830169B (zh) * | 2018-05-24 | 2020-10-09 | 中国农业大学 | 增氧机工作状态的检测方法和系统 |
CN108830169A (zh) * | 2018-05-24 | 2018-11-16 | 中国农业大学 | 增氧机工作状态的检测方法和系统 |
CN109040614A (zh) * | 2018-08-01 | 2018-12-18 | 安徽宇烁光电科技有限公司 | 一种多画面视频处理器场景处理系统 |
CN110047092B (zh) * | 2019-03-27 | 2019-12-13 | 深圳职业技术学院 | 一种复杂环境下多目标实时跟踪方法 |
CN110047092A (zh) * | 2019-03-27 | 2019-07-23 | 深圳职业技术学院 | 一种复杂环境下多目标实时跟踪方法 |
CN110708823A (zh) * | 2019-10-29 | 2020-01-17 | 佛山科学技术学院 | 一种基于图像识别的教室自动断电控制方法及系统 |
CN111291747A (zh) * | 2020-01-10 | 2020-06-16 | 大连理工大学 | 一种复杂场景下基于深度图的彩色小目标检测方法 |
CN111291747B (zh) * | 2020-01-10 | 2023-06-13 | 大连理工大学 | 一种复杂场景下基于深度图的彩色小目标检测方法 |
CN113326722A (zh) * | 2020-02-29 | 2021-08-31 | 湖南超能机器人技术有限公司 | 基于序列模式的图像模糊检测方法及设备 |
CN113326722B (zh) * | 2020-02-29 | 2023-06-02 | 湖南超能机器人技术有限公司 | 基于序列模式的图像模糊检测方法及设备 |
CN111415372A (zh) * | 2020-03-20 | 2020-07-14 | 桂林电子科技大学 | 一种基于hsi颜色空间和上下文信息的运动目标归并方法 |
CN111415372B (zh) * | 2020-03-20 | 2023-04-25 | 桂林电子科技大学 | 一种基于hsi颜色空间和上下文信息的运动目标归并方法 |
CN111724416A (zh) * | 2020-06-20 | 2020-09-29 | 马鞍山职业技术学院 | 基于背景减法的运动物体检测方法与轨迹跟踪方法 |
CN112614155B (zh) * | 2020-12-16 | 2022-07-26 | 深圳市图敏智能视频股份有限公司 | 一种客流的跟踪方法 |
CN112614155A (zh) * | 2020-12-16 | 2021-04-06 | 深圳市图敏智能视频股份有限公司 | 一种客流的跟踪方法 |
CN112614161A (zh) * | 2020-12-28 | 2021-04-06 | 之江实验室 | 一种基于边缘置信度的三维物体跟踪方法 |
US12049662B2 (en) * | 2021-02-01 | 2024-07-30 | Arizona Board Of Regents On Behalf Of Arizona State University | Rapid antimicrobial susceptibility testing by video-based object scattering intensity detection |
CN113923414A (zh) * | 2021-10-10 | 2022-01-11 | 浙江机电职业技术学院 | 三段式隧道视觉综合监测调控系统 |
CN116188534A (zh) * | 2023-05-04 | 2023-05-30 | 广东工业大学 | 一种室内实时人体跟踪方法、存储介质及设备 |
CN116188534B (zh) * | 2023-05-04 | 2023-08-08 | 广东工业大学 | 一种室内实时人体跟踪方法、存储介质及设备 |
CN116475081A (zh) * | 2023-06-26 | 2023-07-25 | 工业富联(佛山)创新中心有限公司 | 一种基于云边协同的工业产品分拣控制方法、装置及系统 |
CN116475081B (zh) * | 2023-06-26 | 2023-08-15 | 工业富联(佛山)创新中心有限公司 | 一种基于云边协同的工业产品分拣控制方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103903278A (zh) | 运动目标检测与跟踪系统 | |
CN107330376B (zh) | 一种车道线识别方法及系统 | |
CN107133969B (zh) | 一种基于背景反投影的移动平台运动目标检测方法 | |
CN107767400B (zh) | 基于层次化显著性分析的遥感图像序列动目标检测方法 | |
CN108805904A (zh) | 一种基于卫星序列图像的运动舰船检测与跟踪方法 | |
CN108198201A (zh) | 一种多目标跟踪方法、终端设备及存储介质 | |
CN102289948A (zh) | 高速公路场景下一种多特征融合的多车辆视频跟踪方法 | |
CN106127812B (zh) | 一种基于视频监控的客运站非出入口区域的客流统计方法 | |
CN106204594A (zh) | 一种基于视频图像的弥散性运动物体的方向检测方法 | |
CN109919053A (zh) | 一种基于监控视频的深度学习车辆停车检测方法 | |
Lian et al. | A novel method on moving-objects detection based on background subtraction and three frames differencing | |
CN109359549A (zh) | 一种基于混合高斯和hog_lbp的行人检测方法 | |
CN109685045A (zh) | 一种运动目标视频跟踪方法及系统 | |
CN109215053A (zh) | 一种无人机航拍视频中含暂停状态的运动车辆检测方法 | |
CN108022249A (zh) | 一种遥感视频卫星运动车辆目标感兴趣区域自动提取方法 | |
JP4156084B2 (ja) | 移動物体追跡装置 | |
CN106934819A (zh) | 一种提高图像中运动物体检测精度的方法 | |
US20180247418A1 (en) | Method and apparatus for object tracking and segmentation via background tracking | |
CN106327488A (zh) | 一种自适应的前景检测方法及其检测装置 | |
CN107808524A (zh) | 一种基于无人机的道路交叉口车辆检测方法 | |
CN106056078B (zh) | 一种基于多特征回归式集成学习的人群密度估计方法 | |
CN116229359A (zh) | 一种基于改进经典光流法模型的烟雾识别方法 | |
Wu et al. | Overview of video-based vehicle detection technologies | |
CN109978916B (zh) | 基于灰度图像特征匹配的Vibe运动目标检测方法 | |
CN111161308A (zh) | 一种基于关键点匹配的双波段融合目标提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140702 |
|
WD01 | Invention patent application deemed withdrawn after publication |