发明内容
本发明要解决的技术问题是提供一种运动目标侦测方法及***,适用于甚低对比度场景的运动目标侦测。
为了解决上述问题,本发明提供了一种运动目标侦测***,包括:
距离图获取模块,用于对输入的视频图像数据进行帧间差分得到帧差图像,根据该帧差图像建立背景模型,得到背景图像;对当前帧图像和背景图像进行比较,得到距离图;
全图增强模块,用于增大所述距离图上运动目标的像素点和噪声像素点之间的像素值的差距,得到全图增强后的距离图;
侦测模块,用于根据全图增强后的距离图,确定当前帧图像中所述运动目标的外接矩形。
进一步地,所述距离图获取模块包括:
差分单元,用于顺序读入各图像帧的数据;对于第N帧图像的数据,如果N<InterTh,则与第一帧的图像比较,得到帧差图像,所述帧差图像中每个像素点的值为ΔN=|IN-I1|,Ii为第i帧图像中该像素点的像素值;否则与第N-InterTh+1帧的图像比较,得到帧差图像,其中每个像素点的值为ΔN=|IN-IN-InterTh+1|;设置变化阈值MoveTh,如果所述ΔN大于所述变化阈值MoveTh,则把帧差图像中该像素点的像素值设为1,否则设为0;N为大于1的整数;
所述自适应单元用于设置所述帧间间隔InterTh;比较第i帧和第j帧的相似度,如果小于相似值阈值,则设置所述帧间间隔InterTh为j-i;否则令j=j+1,继续比较;
所述建模单元用于根据所述帧差图像建立背景模型,得到背景图像;
所述计算单元用于计算当前帧图像中各像素点与所述背景图像中相应像素点之间的像素值的差值,分别以各差值作为相应像素点的像素值得到所述距离图。
进一步地,所述全图增强模块包括:
滤波单元,用于对所述距离图进行滤波;
第一统计单元,用于在滤波后的距离图中找到像素值大于距离阈值的所有像素点,计算这些像素点的像素值的第一均值GlobeMean 1;
拐点更新单元,用于根据计算出来的第一均值GlobeMean 1,确认当前帧图像增强时的拐点值Mu;如果第一均值GlobeMean 1是在高阈值和低阈值之间的值,包括等于高阈值或低阈值的值,则更新拐点值Mu为:
Mu(n)=(1-Ratio)*Mu(n-1)+Ratio*GlobeMean 1;
否则取上一帧的拐点值作为这一帧的拐点值,即Mu(n)=Mu(n-1);Ratio为所述第一均值所占的权重;
第一增强单元,用于对所述距离图中的每个像素点进行增强,得到全图增强后的距离图;所述增强具体为:把小于或等于6的像素值都抑制为0,得到像素值为6到255、不包括6,包括255的每个像素点对应的增强后的像素值为:GlobeEnVal=min(EnhanceTh*(value-6)/(Mu-6),255);
其中value为增强前的像素值,GlobeEnVal为增强后的像素值。
进一步地,所述侦测模块包括:
粗框获取子模块,用于在全图增强后的距离图中,首先利用选取种子点和区域连通的方式,获取包含有运动目标的区域;然后利用运动目标和噪声的分布形式不同,排除只含有噪声的区域,得到当前帧图像中包含运动目标的外接矩形,将该外接矩形所包含的区域作为第一区域;
局部增强子模块,用于判断所述第一区域中的图像是否需要再次增强,如果需要则增大所述第一区域中的图像里运动目标的像素点和噪声像素点之间的像素值的差距,然后输出;否则不进行处理,直接输出所述第一区域中的图像;
精细定位子模块,用于在所述局部增强子模块输出的所述第一区域中的图像里,首先利用选取种子点和区域连通的方式,在第一区域中获取包含有运动目标的区域;然后利用运动目标和噪声的分布形式不同,排除只含有噪声的区域,确定当前帧图像中所述运动目标的外接矩形。
进一步地,所述粗框获取子模块包括:
第一分块单元,用于对全图增强后的距离图进行区域化分块得到若干个区域块;
第一二值化单元,用于将每一区域块看成一个整体进行二值化,二值化时用上述第一、第二数值分别与高均值高阈值,点数高阈值比较,得到高阈值二值图,用上述第一、第二数值分别与均值低阈值,点数低阈值比较,得到低阈值二值图;所述第一数值是区域块内排除噪声点后其余像素点的像素值的均值,所述第二数值是区域块内排除噪声点后剩余像素点个数占该区域块内总像素点个数的比例值;所述噪声点为像素值小于或等于噪声阈值Th的点;当一个区域块计算出来的第一、第二数值均超过用于比较的阈值时,则将该区域块标记为运动目标,否则标记为背景;
第一连接单元,用于利用所述高、低阈值二值图,进行区域连接,得到一幅连接后的二值图;
第一处理单元,用于将得到的所述连接后的二值图,进行形态学操作,消除噪声的影响;然后进行连通域标记,得到所述连接后的二值图上的矩形;当矩形中高阈值图中标记为运动目标的区域块数与连接后的二值图中标记为运动目标的区域块数的比例小于比例阈值RatioTh时,将该矩形删除;否则按照第一分块单元的分块方式将各区域块中的矩形反映射到当前帧图像中,得到当前帧图像中包含运动目标的外接矩形,将该外接矩形所包含的区域作为第一区域。
进一步地,所述局部增强子模块包括:
第二统计单元,用于在所述第一区域的图像中找到像素值大于所述距离阈值的所有像素点,计算这些像素点的像素值的第二均值GlobeMean 2;
比较单元,用于比较计算得到的第二均值GlobeMean 2和所述拐点值Mu,如果第二均值小于所述拐点值,则产生增强指示;否则直接输出第一区域中的图像;
第二增强单元,用于当收到所述增强指示时,在所述第一区域的图像中,把小于或等于6的像素值都抑制为0,根据线性增强公式将像素值为6到255、不包括6,包括255的像素点的像素值增强到GlobeEnVal:
GlobeEnVal=min(EnhanceTh*(value-6)/(Mu-6),255);
其中value为增强前的像素值,GlobeEnVal为增强后的像素值;增强后输出第一区域中的图像。
进一步地,所述精细定位子模块包括:
第二分块单元,用于对所述第一区域进行分块;
第二二值化单元,用于将每一区域块看成一个整体进行二值化,二值化时用上述第一、第二数值分别与高均值高阈值,点数高阈值比较,得到高阈值二值图,用上述第一、第二数值分别与均值低阈值,点数低阈值比较,得到低阈值二值图;所述第一数值是区域块内排除噪声点后其余像素点的像素值的均值,所述第二数值是区域块内排除噪声点后剩余像素点个数占该区域块内总像素点个数的比例值;所述噪声点为像素值小于或等于噪声阈值Th的点;当一个区域块计算出来的第一、第二数值均超过用于比较的阈值时,则将该区域块标记为运动目标,否则标记为背景;
第二连接单元,用于利用所述高、低阈值二值图,进行区域连接,得到一幅连接后的二值图;
第二处理单元,用于将得到的所述连接后的二值图,进行形态学操作,消除噪声的影响;然后进行以及进行连通区域检测,得到低分辨率图上的矩形信息;将低分辨率图上的矩形信息,按照所述分块模块的分块方式以及所述第一区域在当前帧图像中的位置,反映射到当前帧图像中,得到运动目标在当前帧图像中的外接矩形。
进一步地,所述的***还包括:
场景判断模块,用于根据所述视频图像的有效值RMS对比度输出场景信息,所述场景信息用于指示所述视频图像的对比度的高低;有效值RMS对比度为:
其中xi为统计点的像素值,为所有统计点像素值的均值,m为统计点的个数;如果当前帧图像的RMS大于第一亮度阈值,则输出指示当前图像是较高对比度的场景信息;如果当前帧图像的RMS值小于第二亮度阈值,则输出指示当前帧图像是较低对比度的场景信息;如果当前帧图像的RMS小于或等于第一亮度阈值,并且大于或等于第二亮度阈值,则输出指示当前帧图像是混合对比度的场景信息;
所述全图增强模块及所述局部增强子模块根据所述场景信息设置所述距离阈值、高阈值和低阈值。
本发明还提供了一种运动目标侦测方法,包括:
对输入的视频图像数据进行帧间差分得到帧差图像,根据该帧差图像建立背景模型,得到背景图像;对当前帧图像和背景图像进行比较,得到距离图;
增大所述距离图上运动目标的像素点和噪声像素点之间的像素值的差距,得到全图增强后的距离图;
根据全图增强后的距离图,确定当前帧图像中所述运动目标的外接矩形。
进一步地,所述对输入的视频图像数据进行帧间差分得到帧差图像的步骤包括:
顺序读入各图像帧的数据;比较第i帧和第j帧的相似度,如果小于相似值阈值,则设置所述帧间间隔InterTh为j-i;否则令j=j+1,继续比较;
对于第N帧图像的数据,如果N<InterTh,则与第一帧的图像比较,得到帧差图像,所述帧差图像中每个像素点的值为ΔN=|IN-I1|,Ii为第i帧图像中该像素点的像素值;否则与第N-InterTh+1帧的图像比较,得到帧差图像,其中每个像素点的值为ΔN=|IN-IN-InterTh+1|;设置变化阈值MoveTh,如果所述ΔN大于所述变化阈值MoveTh,则把帧差图像中该像素点的像素值设为1,否则设为0;N为大于1的整数。
进一步地,所述增大所述距离图上运动目标的像素点和噪声像素点之间的像素值的差距,得到全图增强后的距离图的步骤包括:
对所述距离图进行滤波;在滤波后的距离图中找到像素值大于距离阈值的所有像素点,计算这些像素点的像素值的第一均值GlobeMean 1;
根据计算出来的第一均值GlobeMean 1,确认当前帧图像增强时的拐点值Mu;如果第一均值GlobeMean 1是在高阈值和低阈值之间的值,包括等于高阈值或低阈值的值,则更新拐点值Mu为:
Mu(n)=(1-Ratio)*Mu(n-1)+Ratio*GlobeMean1;
否则取上一帧的拐点值作为这一帧的拐点值,即Mu(n)=Mu(n-1);Ratio为所述第一均值所占的权重;
对所述距离图中的每个像素点进行增强,得到全图增强后的距离图;所述增强具体为:把小于或等于6的像素值都抑制为0,得到像素值为6到255、不包括6,包括255的每个像素点对应的增强后的像素值为:
GlobeEnVal=min(EnhanceTh*(value-6)/(Mu-6),255);
其中value为增强前的像素值,GlobeEnVal为增强后的像素值。
进一步地,所述根据全图增强后的距离图,确定当前帧图像中所述运动目标的外接矩形的步骤包括:
在全图增强后的距离图中,首先利用选取种子点和区域连通的方式,获取包含有运动目标的区域;然后利用运动目标和噪声的分布形式不同,排除只含有噪声的区域,得到当前帧图像中包含运动目标的外接矩形,将该外接矩形所包含的区域作为第一区域;
判断所述第一区域中的图像是否需要再次增强,如果需要则增大所述第一区域中的图像里运动目标的像素点和噪声像素点之间的像素值的差距,然后输出;否则不进行处理,直接输出所述第一区域中的图像;
在所述局部增强子模块输出的所述第一区域中的图像里,首先利用选取种子点和区域连通的方式,在第一区域中获取包含有运动目标的区域;然后利用运动目标和噪声的分布形式不同,排除只含有噪声的区域,确定当前帧图像中所述运动目标的外接矩形。
本发明的技术方案根据背景模型得到背景图,利用当前帧图像与背景图,得到体现背景和目标差异的距离图,利用自适应获取帧间间隔的方式,改进帧差的结果,从而提高了背景模型的稳定性,不受当前场景下运动目标的影响,适用于甚低对比度下运动目标的侦测;本发明的一个优化方案采用粗细两步的方式,获取目标精确的位置信息,减少了图像噪声影响,减少了运算量;本发明的另一个优化方案根据原始图像对比度的值,实现了自适应对任何场景下的距离图进行不同程度的增强,从而加大背景和目标间的差异。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一,一种运动目标侦测***,包括:
距离图获取模块,用于对输入的视频图像数据进行帧间差分得到帧差图像,根据该帧差图像建立背景模型,得到背景图像;对当前帧图像和背景图像进行比较,得到距离图;
全图增强模块,用于增大所述距离图上运动目标像素点和噪声像素点之间的像素值的差距,得到全图增强后的距离图;可以但不限于利用线性增强算法增大所述差距;
侦测模块,用于根据全图增强后的距离图,确定当前帧图像中所述运动目标的外接矩形。
本实施例中,如图1所示,所述侦测模块可以具体包括:
粗框获取子模块,用于在全图增强后的距离图中,首先利用选取种子点和区域连通的方式,获取包含有运动目标的区域;该区域可以是比实际运动目标区域大一些的大致区域,但是必须包含有运动目标,即要排除掉单纯噪声的影响;然后利用运动目标和噪声的分布形式不同,排除只含有噪声的区域,得到当前帧图像中包含运动目标的外接矩形,即得到大致的外接矩形信息,将该外接矩形所包含的区域作为第一区域;
局部增强子模块,用于判断所述第一区域中的图像是否需要再次增强,如果需要则增大所述第一区域中的图像里运动目标的像素点和噪声像素点之间的像素值的差距,然后输出;其处理与全图增强模块类似;否则不进行处理,直接输出所述第一区域中的图像;
精细定位子模块,用于在所述局部增强子模块输出的所述第一区域中的图像里,首先利用选取种子点和区域连通的方式,在第一区域中获取包含有运动目标的区域;然后利用运动目标和噪声的分布形式不同,排除只含有噪声的区域,确定当前帧图像中所述运动目标的外接矩形,即得到精确的外接矩形信息。
实际应用时可以用其它具体方案实现所述侦测模块,比如只有粗框获取子模块;也可以根据现有技术实现。
本实施例中,所述距离图获取模块如图2所示,具体可以包括:
自适应单元、差分单元、建模单元以及计算单元;
所述差分单元用于进行帧间差分,得到帧差图像,也就是检测出所述视频图像中邻近两帧间发生了变化的区域;这个区域实际上包括运动物体在前一帧所覆盖的背景区域(即当前帧图像中的背景显露区),以及运动物体在当前帧图像所覆盖的区域(即当前帧图像中就是运动物体本身);
所述差分单元进行帧间差分是指:首先读入第一帧图像的数据,进行缓存;顺序读入之后各图像帧的数据;对于第N帧(N为大于1的整数)图像的数据,如果N<InterTh,则与第1帧的图像比较(即进行帧间差分),得到帧差图像,所述帧差图像中每个像素点的值为ΔN=|IN-I1|(Ii为第i帧图像中该像素点的像素值);否则与第N-InterTh+1帧的图像比较,得到帧差图像,其中每个像素点的值为ΔN=|IN-IN-InterTh+1|;设置变化阈值MoveTh,如果所述ΔN大于所述变化阈值MoveTh,则把帧差图像中该像素点的像素值设为1,否则设为0。
帧间间隔InterTh可以根据经验或实验结果设置为固定的帧数;本实施例中使用的是自适应获取帧间间隔InterTh;如果认为两帧图像相似度大,说明两帧图像相差不大,则跳过当前帧,读入下一帧并判断其与之前帧的相似度,如果较小则将此时的帧间隔作为帧间间隔InterTh,从而实现帧间间隔InterTh的自适应获取;可以但不限于采用NCC(Normal Correlation Coeffcient)方法确定帧间的相似度:
所述自适应单元用于设置所述帧间间隔InterTh;如果第i帧和第j帧的相似度NCC(Ii,Ij)小于相似值阈值SimTh,则设置所述帧间间隔InterTh为j-i;如果两帧相似度大于或等于SimTh,则第一帧固定不变(i不变),第二帧继续往后选取,即j=j+1,继续比较,直到两帧相似值小于SimTh;在本实例中SimTh取值可以但不限于为0.97。
帧间间隔的设置和帧间差分可并行,即帧间间隔会不停改变,而帧间差分则是以当前的帧间间隔进行。
所述变化阈值MoveTh是用于区分两帧间是否发生变化的阈值,可以根据经验设置,本实例中采用自适应方式获取,根据帧差ΔN的均值和方差计算得到,即:MoveTh=Mean(ΔN)+var(ΔN)。
所述建模单元用于根据差分单元得到的帧差图像,建立混合高斯分布GMM背景模型,得到背景图像。当摄像机固定,如果背景完全静止,背景图像的每个像素点,可以用一个高斯分布来描述。但背景场景往往不是绝对静止的。例如由于树枝的摇摆运动,背景图像上的某一像素点在某一时刻可能是树叶,可能是树枝,也可能是天空,每一状态像素点的像素值都是不同的。所以,用一个高斯模型来描述是不足以反映实际背景的。本实施例中,可以但不限于采用混合高斯分布(GMM)描述背景模型。
设用来描述每个像素点z(u,v)颜色的高斯分布共K个,则这个像素点的概率表示为:
其中,K是混合模型中描述像素色彩特征的高斯分布模型个数,K值越大,则计算量越大,一般K取值3到5(包括3和5);ωj,uv是第j个高斯分布的权值,K个高斯模型的权重和为1;μj,uv,∑j,uv分别为第j个高斯分布的均值和协方差矩阵;N为高斯概率密度函数;n是特征向量的维数。
所述计算单元用于计算当前帧图像中各像素点与所述背景图像中相应像素点(即处于相同位置的像素点)之间的像素值的差值(后文也称为距离值),分别以各差值作为相应像素点的像素值得到所述距离图。
本实施例中,所述建模单元是在原始的背景建模基础上,结合了帧间差分的结果,使背景模型对背景和前景有区分的进行学习,实现了对大部分运动区域不进行学习,使得检测结果相对于原始的GMM精度有了较好的提高,特别是对室内长走廊,会议室大目标等有了较大的提高;另外对人的缓慢运动徘徊的检测结果也有明显的提高;由此获得一个更加稳定的背景图;其中,建模可以采用已有技术进行;本实施例对建模方案的改进在于利用自适应获取帧间间隔的方式,改进帧差的结果,从而提高了背景模型的稳定性。
因为在正常天气情况下无目标时的距离值,和低对比度场景时的距离值是很相近的(距离图的值都比较小),如果不区分这两种情况,那么进行全图增强的时候,会对正常天气无目标的情况下进行了不适当的增强,造成大量的噪声被加强。
本实施例中,所述运动目标侦测***还可以进一步包括:
场景判断模块,用于根据所述视频图像的对比度输出场景信息,所述场景信息用于指示所述视频图像的对比度的高低,本实施例中包括较高对比度、较低对比度和混合对比度的情况;一般来说晴天情况对应着较高对比度;低对比度对应的是雾天、晚上等情况;而阴天对应着混合对比度。该场景信息主要是用于全图增强模块和局部增强子模块,以避免较高对比度情况下对噪声的增强,或者是较低对比度情况下对目标的弱增强;
该情况下,所述全图增强模块和局部增强子模块可以根据所述场景判断模块得到的场景信息,设置初始值和一些判断阈值。
本实施例中,所述场景判断模块中引入有效值RMS对比度的概念,有效值RMS对比度的具体公式如下:
其中x
i为统计点的像素值(灰度值),
为所有统计点像素值的均值,m为统计点的个数。如果当前帧图像的RMS大于第一亮度阈值ConsTh1,则输出指示当前图像是较高对比度的场景信息;如果当前帧图像的RMS值小于第二亮度阈值ConsTh2,则输出指示当前帧图像是较低对比度的场景信息;如果当前帧图像的RMS小于或等于第一亮度阈值,并且大于或等于第二亮度阈值,则输出指示当前帧图像是混合对比度的场景信息;可以将所述当前帧图像中的全部或部分像素点作为统计点。
本实施例中,第一亮度阈值ConsTh1和第二亮度阈值ConsTh2这两个值可以根据不同的应用环境来进行设置,在本实施例中第一亮度阈值ConsTh1可以但不限于为40,第二亮度阈值ConsTh2可以但不限于为20。
在所述距离图中,一般来说,噪声像素点的像素值和真实运动目标像素点的像素值是有一定差距的,而全图增强的目的就是拉大同一幅图像中运动目标和噪声的像素值差距,从而使后期更容易得到运动目标的外接矩形。
本实施例中,所述全图增强模块如图3所示,具体可以包括:
滤波单元,用于对所述距离图进行滤波;
第一统计单元,用于在滤波后的距离图中找到像素值(距离图中的像素值即所述计算单元计算出的差值)大于距离阈值DisTh的所有像素点,计算这些像素点的像素值的第一均值GlobeMean 1;
拐点更新单元,用于根据计算出来的第一均值GlobeMean1,确认当前帧图像增强时的拐点值Mu;本实施例中,为了不使相邻帧间的拐点值差异过大,导致最终的运动检测结果不稳定,需要动态更新拐点值。在本实施例中,如果第一均值GlobeMean1是在高阈值HighTh和低阈值LowTh之间(包括等于高阈值HighTh或低阈值LowTh的情况)的值,那么拐点更新单元更新拐点值Mu:
Mu(n)=(1-Ratio)*Mu(n-1)+Ratio*GlobeMean1;
即当前帧的拐点值是根据上一帧的拐点值和第一均值GlobeMean 1综合得到的,Ratio表示第一均值在上式中所占的权重,在本实例中,将Ratio设置为0.4;否则取上一帧的拐点值作为这一帧的拐点值,即Mu(n)=Mu(n-1)。
本实施例中,所述距离阈值、高阈值、低阈值及第一帧的拐点值Mu(0)可根据实验或经验设置。
第一增强单元,用于对所述距离图中的每个像素点进行增强,得到全图增强后的距离图;所述增强具体为:把小于或等于6的像素值都抑制为0,根据线性增强公式得到像素值为6到255(不包括6,包括255)的每个像素点对应的增强后的像素值;所述线形增强的公式为:
GlobeEnVal=min(EnhanceTh*(value-6)/(Mu-6),255);
其中value为增强前的像素值(即所述差值),GlobeEnVal为增强后的像素值。可见,经过增强后,像素值等于拐点值Mu时,像素值被增强到EnhanceTh。本实施例中,所述EnhanceTh取值可以但不限于为128。
本实施例中,当所述运动目标侦测***包括场景判断模块时,可以根据所述场景信息设置所述距离阈值、高阈值和低阈值。
本实施例中,可以但不限于设置如下:
当所述场景信息指示当前帧图像是较高对比度时,将距离阈值DisTh设置为18、将低阈值LowTh设置为30,将高阈值HighTh设置为128;
当所述场景信息指示当前帧图像是较低对比度时,将距离阈值DisTh设置为9、将低阈值LowTh设置为13,将高阈值HighTh设置为30;
当所述场景信息指示当前帧图像是混合对比度时,将距离阈值DisTh设置为8到19之间的值(不包括8和19),将低阈值LowTh设置为13到30之间的值(不包括13和30),将高阈值LowTh设置为30到128之间的值(不包括30和128)。
实际应用时可以用其它具体方案实现所述全图增强模块。
本实施例中,粗框获取的主要目的是尽可能的找到包含运动目标的大致区域,并且尽可能的排除噪声、干扰等影响;所述粗框获取子模块如图4所示,具体可以包括:
第一分块单元,用于对全图增强后的距离图进行区域化分块得到若干个区域块;
第一二值化单元,用于将每一区域块看成一个整体进行二值化,二值化时分别用第一、第二数值与相应阈值比较,所述第一数值是区域块内排除噪声点后其余像素点的像素值的均值,所述第二数值是区域块内排除噪声点后剩余像素点个数占该区域块内总像素点个数的比例值;所述噪声点为像素值小于或等于噪声阈值Th的点;当一个区域块计算出来的第一、第二数值均超过用于比较的阈值时,则将该区域块标记为运动目标(可以用1表示),否则标记为背景(可以用0表示)。
本实施例中,所述第一二值化单元用上述第一、第二数值分别与高均值高阈值MeanHighTh,点数高阈值PoiHighTh比较,得到高阈值二值图;用上述第一、第二数值分别与均值低阈值MeanLowTh,点数低阈值PoiLowTh比较,得到低阈值二值图;利用高阈值得到的高阈值图,应该尽量不包含有噪声点,但要包含运动目标的部分区域;而利用低阈值得到的低阈值图,可以适当包含有噪声点,但要尽量包含完整的运动目标的区域。
本实施例中,可以但不限于设定MeanHighTh取值为60,MeanLowTh取值为15,PoiHighTh取值为0.6,PoiLowTh取值为0.25,Th取值为10。
本实施例中,所述区域块的宽度可以但不限于为W个像素,高度为H个像素,区域块之间有重叠,即从上一个区域块到下一个区域块,采用滑动分块的方式,横轴方向上的滑动步长为dW个像素,横轴方向上的滑动步长为dH个像素。区域块的宽度和高度可以根据图像的大小调整。在本实施例中,图像的大小为640*480,设置W为8,H为8,区域块间重叠50%,即dW取值为4,dH取值为4。
第一连接单元,用于利用所述高、低阈值二值图,进行区域连接,得到一幅连接后的二值图。首先在高阈值二值图中找到各标记为运动目标的区域作为种子点,将在低阈值二值图中与该种子点相邻的标记为运动目标的区域选为种子点,再将低阈值二值图中与所选种子点相邻的标记为运动目标的区域选为种子点......以此类推,则可以找到所有连通的种子点。连接示意图如图5所示,图中左图中竖条纹的格子表示高阈值二值图中标记为运动目标的区域,斜条纹的格子表示低阈值二值图中标记为运动目标的区域,无条纹的格子表示低阈值二值图中标记为噪声的区域;右图为连接结果。从右图可以看出,低阈值二值图中,凡是与高阈值二值图中标记为运动目标的区域连通的标记为运动目标的区域都被连接到了最后结果中。
第一处理单元,用于将得到的所述连接后的二值图,进行形态学操作,以消除噪声的影响,可以用其他方法代替来消除噪声;然后进行连通域标记,得到所述连接后的二值图上的矩形;然后还可以进一步对得到的矩形进行验证,当矩形中高阈值图中为运动目标的区域块数与连接后二值图中标记为运动目标的区域块数的比例小于比例阈值RatioTh时认为可能是虚假目标,将该矩形删除;否则按照第一分块单元的分块方式将各区域块中的矩形反映射到当前帧图像中,得到当前帧图像中包含运动目标的大致的外接矩形,将该大致的外接矩形所包含的区域作为第一区域。
一般来说,真正目标大部分区域的距离值还是比较大,所以种子点数相对于目标总点数来说,所占的比例比较高;而虚假目标,只是区域的一小部分距离值较大,所以种子点数相对于目标总点数来说,所占的比例比较低。根据这一原则,在本实施例中,可以但不限于设置比例阈值RatioTh为0.05。
实际应用时可以用其它具体方案实现所述粗框获取子模块。
本实施例中,局部增强的主要目的是为了对某些在全图增强不够的情况,在第一区域内进行合理的增强。所述局部增强子模块如图6所示,具体可以包括:
第二统计单元,用于在所述第一区域的图像中找到像素值大于所述距离阈值的所有像素点,计算这些像素点的像素值的第二均值GlobeMean 2;
同样的,根据所述场景信息指示的对比度情况的不同,所述距离阈值DisTh的取值可不同。
比较单元,用于比较计算得到的第二均值GlobeMean 2和所述拐点值Mu,如果第二均值小于所述拐点值,则产生增强指示;否则直接输出第一区域中的图像,即所述第一区域中的图像仍为全图增强后的距离图;
第二增强单元,用于当收到所述增强指示时,在所述第一区域的图像中,把小于或等于6的像素值都抑制为0,根据线性增强公式将像素值为6到255(不包括6,包括255)的像素点的像素值增强到GlobeEnVal:
GlobeEnVal=min(EnhanceTh*(value-6)/(Mu-6),255);
其中value为增强前的像素值(即所述差值),GlobeEnVal为增强后的像素值。
增强后输出第一区域中的图像。
实际应用时可以用其它具体方案实现所述局部增强子模块。
本实施例中,目前精细定位算法采用了粗框获取的思想,具体的结构和粗框获取基本一致,所述精细定位子模块具体可以包括:
第二分块单元,用于对所述第一区域进行分块;可以但不限于设置W为4,H为4,区域块间重叠50%,即dW取值为2,dH取值为2;
第二二值化单元,用于将每一区域块看成一个整体进行二值化,得到各区域块的高、低阈值二值化图;具体二值化的操作同第一二值化单元,可以但不限于设定MeanHighTh取值为80,MeanLowTh取值为20,PoiHighTh取值为0.6,PoiLowTh取值为0.4,Th取值为10。
第二连接单元,用于对所述高、低阈值二值化图进行区域连接,得到一幅连接后二值图,具体的连接算法同第一连接单元;
第二处理单元,用于进行形态学操作,消除噪声的影响;连通区域检测,得到低分辨率图上的矩形信息;将低分辨率图上的矩形信息,按照所述分块模块的分块方式以及所述第一区域在当前帧图像中的位置,反映射到当前帧图像中,得到运动目标在当前帧图像中的外接矩形。
实际应用时可以用其它具体方案实现所述精细定位子模块。
实施例二,一种适用于甚低对比度场景的运动目标侦测方法,包括:
对输入的视频图像数据进行帧间差分得到帧差图像,根据该帧差图像建立背景模型,得到背景图像;对当前帧图像和背景图像进行比较,得到距离图;
增大所述距离图上运动目标的像素点和噪声像素点之间的像素值的差距,得到全图增强后的距离图;
根据全图增强后的距离图,确定当前帧图像中所述运动目标的外接矩形。
本实施例中,所述对输入的视频图像数据进行帧间差分得到帧差图像的步骤具体可以包括:
顺序读入各图像帧的数据;比较第i帧和第j帧的相似度,如果小于相似值阈值,则设置所述帧间间隔InterTh为j-i;否则令j=j+1,继续比较;
对于第N帧图像的数据,如果N<InterTh,则与第一帧的图像比较,得到帧差图像,所述帧差图像中每个像素点的值为ΔN=|IN-I1|,Ii为第i帧图像中该像素点的像素值;否则与第N-InterTh+1帧的图像比较,得到帧差图像,其中每个像素点的值为ΔN=|IN-IN-InterTh+1|;设置变化阈值MoveTh,如果所述ΔN大于所述变化阈值MoveTh,则把帧差图像中该像素点的像素值设为1,否则设为0;N为大于1的整数。
本实施例中,所述增大所述距离图上运动目标的像素点和噪声像素点之间的像素值的差距,得到全图增强后的距离图的步骤具体可以包括:
对所述距离图进行滤波;
在滤波后的距离图中找到像素值大于距离阈值的所有像素点,计算这些像素点的像素值的第一均值GlobeMean 1;
根据计算出来的第一均值GlobeMean 1,确认当前帧图像增强时的拐点值Mu;如果第一均值GlobeMean 1是在高阈值HighTh和低阈值LowTh之间的值,包括等于高阈值HighTh或低阈值LowTh的值,则更新拐点值Mu为:
Mu(n)=(1-Ratio)*Mu(n-1)+Ratio*GlobeMean 1;
否则取上一帧的拐点值作为这一帧的拐点值,即Mu(n)=Mu(n-1);
对所述距离图中的每个像素点进行增强,得到全图增强后的距离图;所述增强具体为:把小于或等于6的像素值都抑制为0,得到像素值为6到255、不包括6,包括255的每个像素点对应的增强后的像素值为:
GlobeEnVal=min(EnhanceTh*(value-6)/(Mu-6),255);
其中value为增强前的像素值,GlobeEnVal为增强后的像素值。
本实施例中,所述根据全图增强后的距离图,确定当前帧图像中所述运动目标的外接矩形的步骤具体可以包括:
在全图增强后的距离图中,首先利用选取种子点和区域连通的方式,获取包含有运动目标的区域;然后利用运动目标和噪声的分布形式不同,排除只含有噪声的区域,得到当前帧图像中包含运动目标的外接矩形,将该外接矩形所包含的区域作为第一区域;
判断所述第一区域中的图像是否需要再次增强,如果需要则增大所述第一区域中的图像里运动目标的像素点和噪声像素点之间的像素值的差距,然后输出;否则不进行处理,直接输出所述第一区域中的图像;
在所述局部增强子模块输出的所述第一区域中的图像里,首先利用选取种子点和区域连通的方式,在第一区域中获取包含有运动目标的区域;然后利用运动目标和噪声的分布形式不同,排除只含有噪声的区域,确定当前帧图像中所述运动目标的外接矩形。
其它各步骤的实现细节可以同实施例一中相应模块的实现细节。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。