基于超像素特征的运动目标检测方法与流程

文档序号:11621271阅读:273来源:国知局
基于超像素特征的运动目标检测方法与流程

本发明属于图像处理技术领域,具体涉及基于超像素特征的运动目标检测方法,可应用于机器人控制和智能监控领域。



背景技术:

伴随着计算机技术的发展,运动目标检测技术作为视频运动分析中的核心内容,一直是近些年来研究的热点问题。它的目的就是通过视频帧序列之间的相关关系从而实现快速、准确地检测出监控视频中的运动目标。而在静态背景下的运动目标检测领域,运动目标检测方法主要分为帧间差分法、光流场法和背景建模方法。

其中背景建模法是最常使用的方法,近几年中比较流行的无参数背景建模算法主要有,barnich等人(barnicho,vandroogenbroeckm.vibe:apowerfulrandomtechniquetoestimatethebackgroundinvideosequences[c]//ieeeinternationalconferenceonacoustics,speechandsignalprocessing.ieeecomputersociety,2009:945-948.)提出了vibe(visualbackgroundextractor)算法,vibe算法利用相邻像素点具有相近像素值的空间分布特性,为每个背景点存储一个样本集,然后计算新像素值和样本集的距离区分前、背景。vibe具有很好的鲁棒性和实时性,但特定条件下会出现ghost区域以及对于动态背景处理效果不理想等问题。hofmann等人(hofmannm,tiefenbacherp,rigollg.backgroundsegmentationwithfeedback:thepixel-basedadaptivesegmenter[j].2012:38-43.)通过使用像素值对背景进行建模,提出了pbas(pixel-basedadaptivesegmenter)算法,主要是通过背景模型为每个像素点所设立的阈值判定当前像素点为前景点或者背景点,因此背景模型及每个阈值一直会随着背景的更新而更新。

但是像素级背景建模算法都有一个本质问题,就是缺少空间信息的支撑,反映的是每一个像素的特征变化情况,这样就会导致信息的丢失,比如运动目标检测不完全,检测结果中含有大量误检点等情况。



技术实现要素:

本发明的目的在于克服现有技术中的不足,提供了基于超像素特征的运动目标检测方法,利用slic0分割算法具有较好的边缘信息同时超像素数目可控的特点,以获得良好的目标边缘信息,保证运动目标外观的完整性,同时可以有效抑制动态背景的干扰,获得更好的鲁棒性。

为解决上述技术问题,本发明提供了基于超像素特征的运动目标检测方法,其特征是,包括以下步骤:

步骤s1,针对视频序列的前n帧,利用slic0分割法对每帧图像进行超像素分割,并提取各超像素块的像素均值作为其超像素特征值;

步骤s2,以slic0分割时均匀分配的初始种子点位置上的超像素特征值为此超像素块样本值,根据前n帧超像素块样本值构建各初始种子点位置上的超像素块的样本模型;

步骤s3,提取新的一帧图像,利用slic0分割法对图像进行超像素分割,计算其每个初始种子点上的超像素块与该种子点上超像素块的样本模型中每个样本之间的欧氏距离,若某超像素块与样本之间欧式距离小于距离阈值r的总数小于匹配阈值,则判断该超像素块为前景块;此帧图像中所有的前景超像素块便组成了运动目标检测结果。

进一步的,步骤s1中slic0超像素分割具体实现的步骤如下:

步骤s11,首先按照预先给定的超像素个数,在整幅图像中均匀分配初始种子点,设待分割图片共含有num个像素点,预先设定的超像素分割个数为k,可以计算出每个超像素的大小约为num/k,而相邻初始种子点之间的距离则近似为

步骤s12,计算该种子点n*n邻域内所有像素点的梯度值,并把该邻域内梯度最小的像素点定为新的种子点;

步骤s13,对于在2s*2s区域内搜索到的像素点,计算它和该种子点的距离,距离的度量方式有颜色距离度量和空间距离度量,相应的计算方法如公式(1)所示:

其中,代表当前像素点j和种子点i之间的颜色距离,l,a,b分别为lab颜色空间中的三要素,l表示亮度,l的范围是0~100表示从黑色到白色,a表示从洋红色至绿色的范围,b表示从黄色至蓝色的范围。代表当前像素点j和种子点i之间的空间距离,x,y是xy坐标,di(j)代表当前像素点j和种子点i之间最终的距离度量,联合颜色距离和空间距离,ns是类内最大空间距离,定义为nc为最大的颜色距离,用一个固定常数m代替;联合颜色距离和空间距离,从而得到最终的距离度量di(j),如公式(2)所示:

在种子点搜索周围像素点的过程中,若像素点会被多个种子点搜索到,则计算出该像素点与周围种子点的距离的最小值,并用该最小值所对应的种子点作为该像素点的聚类中心;

步骤s14,不断迭代直到每个像素点聚类中心不再发生变化,从而将图像分割为各超像素块。

进一步的,超像素块的像素均值作为该超像素特征的特征值,特征值计算公式如式(3)所示:

其中,p(x)为每个超像素块中的像素点的像素值,而sq为第q个超像素块,#sq为第q个超像素块中像素点个数,sq(p)则为第q个超像素块的特征值。

进一步的,步骤s2中,构建的第i个初始种子点位置上的超像素块的样本模型表示如式(4)所示:

其中mi(p)为第i个初始种子点位置上的超像素块的样本模型,为每一个超像素块构建n个样本,而则表示第i个初始种子点位置上的超像素块的样本模型中的第n个样本值,而其样本值则由第i个初始种子点位置上的超像素块的特征值表示。

进一步的,步骤s3中,欧氏距离如式(5)所示:

其中表示第i个初始种子点位置上的当前超像素块的特征值与其样本模型中的第k个样本值之间的欧氏距离。

进一步的,依据上一帧图像的检测结果,更新距离阈值和样本模型,然后再提取下一帧新的图像,重复步骤s3的过程获得运动目标检测结果,不断重复此过程直至得到所有帧图像的运动目标检测结果;

其中距离阈值的更新公式如式(7)所示:

其中α,β是预先设定的一个系数,σ(p)是背景复杂度;

而对样本模型以概率1/δ(p)进行更新,样本模型更新概率的更新方式如式(8)所示:

其中,res(p)=1表示当前超像素被检测为前景,res(p)=0表示当前超像素被检测为背景,γ是预先设定的系数,σ(p)是背景复杂度;并且只有当该超像素块为背景超像素块时,才会进行背景模型的更新,即从样本模型中随机选取一个样本值sk(p)并用当前超像素特征值st(p)取代;

背景复杂度σ(p)的度量公式如式(6)所示:

与现有技术相比,本发明所达到的有益效果是:本发明利用slic0算法具有分割效果较好,可以保持较好的目标边界信息。对于每一个超像素块,将其中像素点的像素值均值作为该像素块的特征值,使得输入特征包含了像素级信息和区域信息,可以具有更好的检测结果。利用在初始种子点的位置所在的超像素块作为固定的特征取值位置,选用了前n帧图像初始种子点超像素块的特征值构建样本模型。初始样本模型构建完成之后,使用了距离阈值和样本模型更新率自适应完成了运动目标检测,同时取得了良好效果,检测算法的速度大大提升,一幅图像的检测速度可以提高百倍以上。

附图说明

图1是本发明方法的流程图;

图2:图(a)为四个视频中的若干帧,图(b)为运动目标检测真值,图(c)为采用vibe算法的运动目标检测结果,图(d)为采用kde算法的运动目标检测结果,图(e)为采用pbas算法的运动目标检测结果,图(f)为采用本发明方法的运动目标检测结果。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

如图1所示,本发明的一种基于超像素特征的运动目标检测方法,包括以下步骤:

步骤s1,针对视频序列的前n帧,利用slic0分割法对每帧图像进行超像素分割,并提取各超像素块的像素均值作为其超像素特征值。

slic0,即简单的线性迭代聚类,是一种思想简单、实现方便的超像素分割算法。该算法是先为每一个彩色像素点赋予一个5维特征向量,分别是彩色图像转化后的cielab颜色空间和xy坐标,然后利用构造的5维向量距离度量标准对图像像素进行局部聚类并生成最终分割结果。

slic0超像素分割具体实现的步骤如下:

步骤s11,首先初始化聚类中心,也称为初始化种子点,即按照预先给定的超像素个数,在整幅图像中均匀分配种子点。假设待分割图片共含有num个像素点,预先设定的超像素分割个数为k,那么可以计算出每个超像素的大小约为num/k,而相邻初始种子点之间的距离(步长)则近似为

步骤s12,接着在种子点的邻域内重新选择种子点,即计算该种子点n*n(通常选取n=3)邻域内所有像素点的梯度值,并把该邻域内梯度最小的像素点定为新的种子点。

步骤s13,然后为在每个种子点周围的邻域内的所有像素点分配类标签(即属于哪个聚类中心)。其中slic0的搜索范围限制在了2s*2s,有别于标准的k-means在整张图中搜索,这样可以加快算法收敛的速度。

对于在2s*2s区域内搜索到的像素点,计算它和该种子点的距离,距离的度量方式有颜色距离度量和空间距离度量,相应的计算方法如公式(1)所示:

其中,代表当前像素点j和种子点i之间的颜色距离,l,a,b分别为lab颜色空间中的三要素,l表示亮度(luminosity),l的范围是0~100表示从黑色到白色,a表示从洋红色至绿色的范围,b表示从黄色至蓝色的范围。代表当前像素点j和种子点i之间的空间距离,x,y是xy坐标。di(j)代表当前像素点j和种子点i之间最终的距离度量,联合颜色距离和空间距离,ns是类内最大空间距离,定义为nc为最大的颜色距离,但由于其会随着不同聚类过程和不同的图片而不同,所以用一个固定常数m(取值范围[1,40],一般取10代替)。联合颜色距离和空间距离,从而得到最终的距离度量di(j),如公式(2)所示:

在种子点搜索周围像素点的过程中,若像素点会被多个种子点搜索到,则计算出该像素点与周围种子点的距离的最小值,并用该最小值所对应的种子点作为该像素点的聚类中心。

步骤s14,在一次搜索完成之后,需要进行不断迭代优化直到每个像素点聚类中心不再发生变化,从而将图像分割为超像素块。

使用slic0超像素分割算法分割之后的超像素块的像素均值作为该超像素特征的特征值,特征值计算公式如式(3)所示:

其中,p(x)为每个超像素块中的像素点的像素值,而sq为第q个超像素块,#sq为第q个超像素块中像素点个数,sq(p)则为第q个超像素块的特征值。

步骤s2,以前n帧初始种子点位置上的超像素特征值为此超像素块样本值构建初始样本模型,各初始种子点位置上的超像素块的样本模型包括n个样本。

vibe算法的背景样本值取自像素点周围8*8邻域内的随机值,构成了n个样本。但在以超像素为特征的背景模型中样本的取值并不采用传统vibe算法的样本取值方案,因为超像素分割具有良好的边缘分割效果,而其周围的超像素的特征值则有可能会差的很远,并不具有邻域像素点相同的特性,所以不能使用第一帧完成初始背景模型的构建。

slic0超像素分割算法分割后的超像素数目和预先设定的超像素数目不一定是一致的,会存在一定的出入,所以由此特性得出并不能直接使用每一个超像素特征值作为样本值。

若是摄像机静止情况下的运动目标检测,视频序列中相同位置的超像素特征值应该都是相似的。在这种情况下,本发明使用了步骤s11中初始种子点所在位置上的超像素特征值作为样本值构建样本模型。

为了更好地检测效果,本实施例直接采用了前n帧每一个初始种子点位置上的超像素特征值为每一个超像素块样本值构建初始样本模型(或称为背景模型、样本集,在本文描述中为同一个概念)。构建的初始样本模型表示如式(4)所示:

其中mi(p)为第i个初始种子点位置上的超像素块的样本模型,为每一个超像素块构建n个样本,而则表示第i个初始种子点位置上的超像素块的样本模型中的第n个样本值,而其样本值则由第i个初始种子点位置上的超像素块的特征值表示。

步骤s3,提取新的一帧图像,利用slic0分割法对每帧图像进行超像素分割,并提取各超像素块的像素均值作为其超像素特征值,计算其每一个初始种子点上的超像素块与该种子点上超像素块的样本集中每个样本之间的欧氏距离,如式(5)所示:

其中表示第i个初始种子点位置上的当前超像素块的特征值与其样本模型中的第k个样本值之间的欧氏距离。

将计算出的距离与预先设定的距离阈值r进行比较,若小于距离阈值r,则匹配个数加1,否则继续计算与下一个样本值之间的距离。当全部统计完成之后,将匹配个数与预先设定的匹配阈值进行比较,若小于该阈值,则判断该超像素块为前景块,反之则为背景块。当每一幅图像中的所有初始种子点位置上的超像素块遍历完成后,将检测结果二值化表示,即前景块为“1”,背景块为“0”,而所有的前景超像素块便组成了检测结果。

步骤s4,依据上一帧图像的检测结果,更新距离阈值和样本模型,提取下一帧新的图像,重复步骤s3的过程获得运动目标检测结果,不断重复此过程,直至得到所有帧图像的前景检测结果。

为了避免某一样本长期保留在样本模型中,从而影响样本模型的精确性,故而需要对样本模型进行更新,引入随机更新机制,即当超像素块完成判别之后,若该超像素块属于背景块,则有1/δ(p)的概率更新样本集,即从样本模型中随机选取一个样本值sk(p)并用当前超像素特征值st(p)取代,从而更新样本集。所以,该机制保证了样本模型中样本的生命周期呈指数衰减,从而能有效地适应场景的变化。

在vibe算法中,样本模型更新拥有一个固定的更新率1/δ(p),固定更新率不能随着背景的变化而变化,对于动态背景情况下,例如水的波纹,树叶的抖动等,就会出现大量背景点被错误地检测为前景点的情况,所以固定的更新率和距离阈值不能很好地适用于动态背景,应适当调整更新率和距离阈值以确保良好的检测效果。

本文提出利用当前超像素块样本模型的标准差来度量背景动态程度。对于当前超像素特征值st(p)与样本模型中n个样本值,将其标准差σ(p)作为该超像素块背景复杂度的度量,当某一超像素块保持背景块或者前景块的时候,动态背景块的标准差值就比较大,这样就可以区分出动态背景,而当某一超像素块刚刚从前景块变成背景块或者从背景块变成前景块的时候,标准差值虽难以区分动态背景和非动态背景点,但对于结果的影响微乎其微,甚至可以忽略不计。背景复杂度的度量公式如式(6)所示:

根据上述动态背景复杂度σ(p)实时更新距离阈值,对于背景动态程度较大的视频序列,应适当增大距离阈值,从而降低动态背景对检测结果造成的影响,同时该距离阈值不适宜过高,否则将导致后续帧中,前景超像素块将被检测为背景块,反之则应当减小距离阈值,同时该距离阈值也不适宜过低,否则将导致后续帧中,背景超像素块将被检测为前景超像素块。这样就可以保证一直处于合理的变化范围之内。距离阈值的更新公式如式(7)所示:

其中距离阈值r的初始值取为20,α,β是预先设定的一个系数,本实施例中分别取值为0.16和0.01。

而对于样本模型更新概率1/δ(p),采用和距离阈值较为类似的处理方式对更新概率进行自适应处理。及当该超像素块被判别为前景超像素块时,应该适当减小样本模型更新概率,反之适当增大样本模型的更新概率,并且只有当该超像素块为背景超像素块时,才会进行样本模型的更新。样本模型更新概率的更新方式如式(8)所示:

其中,res(p)=1表示当前超像素被检测为前景,res(p)=0表示当前超像素被检测为背景,γ也是预先设定好的系数,本实施例中取值为0.1。

实施例

本实施例是在硬件平台amda6,4gbram,软件开发环境windows10,matlab2014a下完成测试工作的。本实验中使用了25个样本值作为每个超像素块的样本集,而本实验选取的视频序列集是changedetection.net数据集,其中选取了snowfall、blizzard、pedestrian、canoe四个视频序列进行了实验验证,并选取了现有技术中vibe算法、kde算法、pbas算法与本发明算法做了对比实验,各算法实验结果如图2所示:

在图2中,图(a)均为四个视频中的若干帧,图(b)均为运动目标检测真值,图(c)均为采用vibe算法的运动目标检测结果,图(d)均为采用kde算法的运动目标检测结果,图(e)均为采用pbas算法的运动目标检测结果,图(f)均为采用本发明方法的运动目标检测结果。

由图2可以看出,相比于像素级背景建模方法,本发明方法由于结合了超像素分割算法,使得其具有更好的外观描述,同时基本可以无视背景中的噪声点,因为像素级过小的变化对于一个超像素块来说,影响是微乎其微的。例如在图(a)的canoe视频序列中,vibe算法在动态背景下出现了许多的噪声点,同时还出现了误检,原本没有的目标被错误检测为前景目标(如图(c)所示),图(d)的kde算法和图(e)的pbas算法则基本检测失败,而本发明方法则基本没有噪声点,虽然相比于真值还是缺少了一些信息,但是在几种算法当中表现最好。在图(a)pedestrian视频序列第972帧中,由于超像素的特性也避免了人后面的长长的拖影而导致的误检。在blizzard视频序列中,本发明方法和pbas算法的检测结果也是比较接近于目标真值的,vibe算法和kde算法都有很多的误检和漏检现象。在snowfall视频序列中,由于背景的超像素分割结果并不理想,所以直接导致本发明方法发生了漏检现象。所以,相比于传统算法和目前一些算法,结合了超像素块所包含的区域信息的本发明方法具有一定的优势,表现效果更好,更有利于后期的运动目标识别或者目标跟踪等。

实验证明,联合了超像素分割的本发明方法可以更好地表达边界信息,同时相比于像素级的背景模型算法,由于超像素分割相当快速,所以本发明方法在速度上很快,可以有几十到几百倍的提升,但有碍于超像素的分割效果,对部分视频序列的检测结果会有一定的影响。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1