当前位置: 首页 > 专利查询>安徽大学专利>正文

一种基于GPU自适应的前景提取方法技术

技术编号:11675930 阅读:84 留言:0更新日期:2015-07-06 02:12
本发明专利技术公开了一种基于GPU自适应的前景提取方法,是应用于含有GPU图像处理器的计算机中,其特征包括:将图像数据从内存传递到GPU显存中,对每个像素点对应GPU中一个线程分别进行混合高斯背景建模,其中每个像素点的高斯数目可以动态调整,最后将每个像素点中每个高斯权重最大的进行二值化处理,处理结果作为最终结果通过全局内存传递到内存中。本发明专利技术能大大提高前景提取效率,并能够实时、精确的提取运动目标,从而能够更好的适应实际环境。

【技术实现步骤摘要】
一种基于GPU自适应的前景提取方法
本专利技术涉及属于视频监控领域,具体地说是一种基于GPU自适应的前景提取方法。
技术介绍
视频监控系统广泛用于人们的日常生活当中,比如对医院、银行、车站等大型公共场所的监控,以及社区、超市商场等等的安全保卫。随着人们生活水平日益提高,人们对城市的安防工作要求越来越高,这就对监控系统的智能化程度提出要求。视频流中前景的提取是运动目标精确提取的前提和保证。而快速、准确、完整地分割出背景成为运动目标精确提取研究中的难点。当前,帧间差分法、光流法和背景提取法是主要的运动目标检测方法。其中帧间差分法适应性差,光流法计算量大,无法达到实时处理。在背景建模各方法中,混合高斯建模方法是公认的检测效果和适应性都较好的方法,但有一定的局限性:每个像素点的高斯数目是固定的,固定的高斯数目无法更好的适应实际环境。此外需要对每个像素点建立3到5个高斯模型,每次背景模型更新都需要遍历到每个像素的所有高斯模型并进行相应的计算,因此计算量巨大,仅靠串行处理难以实时实现,无法在实际中使用。随着技术的发展,在实际使用环境中,高清监控设备以及多路监控设备的应用越来越多,这些设备会在短时间内产生海量的视频图像数据,面对海量数据仅仅使用以前的CPU进行串行处理,已经完全达不到实时要求。此外很多算法已经无法再继续进行优化而对硬件速度的提高也很难完成。
技术实现思路
本专利技术是为了克服现有技术存在的不足之处,提供一种基于GPU自适应的前景提取方法,以期能大大提高背景建模效率,并能够实时、精确的提取运动目标,从而能够更好的适应实际环境。本专利技术为解决技术问题采用如下技术方案:本专利技术一种基于GPU自适应的前景提取方法,是应用于含有GPU图像处理器的计算机中,其特点是按如下步骤进行:步骤1、将分辨率为W×H的待处理视频的第t帧图像读取到所述计算机的内存中;1≤t≤T;T表示所述待处理视频的总帧数;步骤2、所述GPU图像处理器从所述计算机的内存中复制所述第t帧图像的像素值并保存到所述GPU图像处理器的显存中;步骤3、在所述GPU图像处理器中创建W×H个线程,使得所述W×H个线程依次对应于所述待处理视频的W×H个像素点;步骤4、令所述第t帧图像的第i行第j列的像素点对应于所述W×H个线程中的第i×W+j个线程;在所述第i×W+j个线程中建立N个高斯函数,从而构成所述第i行第j列的像素点的高斯模型;1≤i≤H;1≤j≤W;步骤5、将所述第i行第j列的像素点的高斯模型的参数保存在所述GPU图像处理器的全局存储器中;所述第i行第j列的像素点的高斯模型的参数包括N个高斯函数的参数;第k个高斯函数的参数为:标准差均值和权重1≤k≤N;步骤6、重复执行步骤4-步骤5,使得所述第t帧图像中的每个像素点都在所对应的线程中建立相应的高斯模型,从而获得W×H个不同的高斯模型的参数保存在所述GPU图像处理器的全局存储器中;步骤7、判断t=T是否成立,若成立,则表示所述待处理视频已完成前景提取;否则,将t+1的值赋值给t;并执行步骤8;步骤8、所述GPU图像处理器从所述计算机的内存中复制所述第t帧图像的像素值并保存到所述GPU图像处理器的显存中;步骤9、根据所述第t帧图像的第i行第j列的像素值利用式(1)、式(2)和式(3)更新所述W×H个线程中的第i×W+j个线程中的高斯模型的参数:式(1)中,α表示权重的更新速度,为常数;表示所述第t帧图像的第i行第j列像素点与第k个高斯函数的匹配结果,并有式(7)中,表示匹配成功,表示匹配失败,ε表示概率阈值;表示所述第t帧图像的第i行第j列的像素点的第k个高斯函数的函数值;并有:式(2)中,表示参数,并有:式(9)中,η表示高斯函数,并有:式(10)中,I表示单位矩阵;步骤10、动态调整所述第t帧图像的第i行第j列的像素点的高斯函数的个数N;从而更新所述第i×W+j个线程所对应的第i行第j列的像素点的高斯模型;步骤11、遍历所述第t帧图像的每个像素值并按照步骤9和步骤10分别进行更新和动态调整;从而获得更新后的第t帧图像的W×H个线程所分别对应的W×H个像素点的高斯模型;步骤12、对所述更新后的第t帧图像的W×H个像素点中第i行第j列像素点所对应的高斯模型中,选出一个权重最大的高斯函数,并将所述权重最大的高斯函数所对应的均值与所设定的阈值进行比较;若均值大于所设定的阈值,则设置所述第i行第j列像素点为1;否则,设置所述第i行第j列像素点为0;从而获得第t帧图像中第i行第j列像素点的取值;步骤13、重复步骤12直到获取所述第t帧图像中所有像素点的取值,从而获得所述第t帧图像的二值图像并存入所述GPU图像处理器的全局存储器中;步骤14、将所述第t帧图像的二值图像从所述GPU图像处理器的全局存储器中复制到所述计算机的内存中,以所述第t帧图像的二值图像中取值为1的像素点构成所述前景,从而完成第t帧图像的前景提取;步骤15、返回步骤7执行。本专利技术所述的方法的特点也在于:所述待处理视频的第t帧图像为RGB格式图像。所述步骤10中第t帧图像的第i行第j列像素点的高斯函数个数N是按如下步骤进行动态调整:步骤1、比较所述第t帧图像的第i行第j列像素点的N个高斯函数中任意两个高斯函数的权重,若任意两个高斯函数的权重差值小于所设定的差值阈值,则将所述任意两个高斯函数的参数分别求出均值,将所述均值赋值给所述任意两个高斯函数中任一高斯函数;并删除另一高斯函数,将N-1赋值给N;从而合并所述任意两个高斯函数;步骤2、建立长度为N的一维数组并初始化每个元素值为0;表示T帧待处理视频中第i行第j列像素点Xi,j的第k个高斯函数连续匹配失败的次数;步骤3、若所述第t帧图像的第i行第j列的像素点与第k个高斯函数匹配失败,即则将赋值给若所述第t帧图像的第i行第j列的像素点与第k个高斯函数匹配成功,即则将次数设置为0;步骤4、判断所述次数大于等于所设定的累加阈值是否成立;在成立时将N+1赋值给N;步骤5、判断t=T是否成立,若成立,则表示完成动态调整;否则将t+1的值赋值给t;并执行步骤2。与已有技术相比,本专利技术有益效果体现在:1、本专利技术在原有高斯混合背景建模的算法上进行改进使之能够有更强的适应性,无论场景复杂还是简单,光线变化情况如何,均能更精确的完成前景提取任务;本专利技术同时将所使用的改进的高斯混合背景建模串行算法进行并行化改进,提高智能视频监控中改进的混合高斯背景建模以及更新处理效率,同时降低处理时间,使得面对大量数据时依旧能够保证实时处理。2、本专利技术通过在GPU中开辟与每帧图像中像素点个数相同的线程,使得每一个线程与每一个像素点一一对应;在每一个线程中对相对应像素点进行建立多个高斯模型以及模型参数更新等操作;实现并行操作,从而提高了处理每一帧图像的速率,降低了处理每一帧图像所需要的时间,克服了现有技术中利用CPU进行串行处理的速率慢无法达到实时的问题。3、本专利技术中通过记录每一个像素点所有高斯函数连续匹配失败次数,并将记录累计的连续失败次数与累计阈值相比较,若大于累计阈值则表明当前视频中有较多运动前景,通过增加对应像素点的高斯函数数目;使之能够减少替换高斯函数频率,克服了现有技术中每个像素点的高斯函数数目固定的问题,降低复杂度且更好适应本文档来自技高网...
一种基于GPU自适应的前景提取方法

【技术保护点】
一种基于GPU自适应的前景提取方法,是应用于含有GPU图像处理器的计算机中,其特征是按如下步骤进行:步骤1、将分辨率为W×H的待处理视频的第t帧图像读取到所述计算机的内存中;1≤t≤T;T表示所述待处理视频的总帧数;步骤2、所述GPU图像处理器从所述计算机的内存中复制所述第t帧图像的像素值并保存到所述GPU图像处理器的显存中;步骤3、在所述GPU图像处理器中创建W×H个线程,使得所述W×H个线程依次对应于所述待处理视频的W×H个像素点;步骤4、令所述第t帧图像的第i行第j列的像素点对应于所述W×H个线程中的第i×W+j个线程;在所述第i×W+j个线程中建立N个高斯函数,从而构成所述第i行第j列的像素点的高斯模型;1≤i≤H;1≤j≤W;步骤5、将所述第i行第j列的像素点的高斯模型的参数保存在所述GPU图像处理器的全局存储器中;所述第i行第j列的像素点的高斯模型的参数包括N个高斯函数的参数;第k个高斯函数的参数为:标准差均值和权重1≤k≤N;步骤6、重复执行步骤4‑步骤5,使得所述第t帧图像中的每个像素点都在所对应的线程中建立相应的高斯模型,从而获得W×H个不同的高斯模型的参数保存在所述GPU图像处理器的全局存储器中;步骤7、判断t=T是否成立,若成立,则表示所述待处理视频已完成前景提取;否则,将t+1的值赋值给t;并执行步骤8;步骤8、所述GPU图像处理器从所述计算机的内存中复制所述第t帧图像的像素值并保存到所述GPU图像处理器的显存中;步骤9、根据所述第t帧图像的第i行第j列的像素值利用式(1)、式(2)和式(3)更新所述W×H个线程中的第i×W+j个线程中的高斯模型的参数:ωi,jk,t=(1-α)ωi,jk,t-1+αMi,jk,t---(4)]]>μi,jk,t=(1-ρi,jk,t)μi,jk,t-1+ρi,jk,tXi,jt---(5)]]>(σ2)i,jk,t=(1-ρ)(σ2)i,jk,t-1+ρ(Xi,jt-μi,jk,t)T(Xi,jt-μi,jk,t)---(6)]]>式(4)中,α表示权重的更新速度,为常数;表示所述第t帧图像的第i行第j列像素点与第k个高斯函数的匹配结果,并有Mi,jk,t=1,pk(Xi,jt)≥ϵ0,pk(Xi,jt)<ϵ---(7)]]>式(7)中,表示匹配成功,表示匹配失败,ε表示概率阈值;表示所述第t帧图像的第i行第j列的像素点的第k个高斯函数的函数值;并有:pk(Xi,jt)=12(Xi,jt-μi,jk,t)TΣ-1(Xi,jt-μi,jk,t)---(8)]]>式(2)中,表示参数,并有:ρi,jk,t=αη(Xi,jt,μi,jk,t,Σ)---(9)]]>式(9)中,η表示高斯函数,并有:η(Xi,jk,μi,jk,t,Σ)=1(2π)32(Σ)12e12(Xi,jk-μi,jk,t)TΣ-1(Xi,jk-μi,jk,t)---(10)]]>式(10)中,I表示单位矩阵;步骤10、动态调整所述第t帧图像的第i行第j列的像素点的高斯函数的个数N;从而更新所述第i×W+j个线程所对应的第i行第j列的像素点的高斯模型;步骤11、遍历所述第t帧图像的每个像素值并按照步骤9和步骤10分别进行更新和动态调整;从而获得更新后的第t帧图像的W×H个线程所分别对应的W×H个像素点的高斯模型;步骤12、对所述更新后的第t帧图像的W×H个像素点中第i行第j列像素点所对应的高斯模型中,选出一个权重最大的高斯函数,并将所述权重最大的高斯函数所对应的均值与所设定的阈值进行比较;若均值大于所设定的阈值,则设置所述第i行第j列像素点为1;否则,设置所述第i行第j列像素点为0;从而获得第t帧图像中第i行第j列像素点的取值;步骤13、重复步骤12直到获取所述第t帧图像中所有像素点的取值,从而获得所述第t帧图像的二值图像并存入所述GPU图像处理器的全局存储器中;步骤14、将所述第t帧图像的二值图像从所述GPU图像处理器的全局存储器中复制到所述计算机的内存中,以所述第t帧图像的二值图像中取值为1的像素点构成所述前景,从而完成第t帧图像的前景提取;步骤15、返回步骤7执行。...

【技术特征摘要】
1.一种基于GPU自适应的前景提取方法,是应用于含有GPU图像处理器的计算机中,其特征是按如下步骤进行:步骤1、将分辨率为W×H的待处理视频的第t帧图像读取到所述计算机的内存中;1≤t≤T;T表示所述待处理视频的总帧数;步骤2、所述GPU图像处理器从所述计算机的内存中复制所述第t帧图像的像素值并保存到所述GPU图像处理器的显存中;步骤3、在所述GPU图像处理器中创建W×H个线程,使得所述W×H个线程依次对应于所述待处理视频的W×H个像素点;步骤4、令所述第t帧图像的第i行第j列的像素点对应于所述W×H个线程中的第i×W+j个线程;在所述第i×W+j个线程中建立N个高斯函数,从而构成所述第i行第j列的像素点的高斯模型;1≤i≤H;1≤j≤W;步骤5、将所述第i行第j列的像素点的高斯模型的参数保存在所述GPU图像处理器的全局存储器中;所述第i行第j列的像素点的高斯模型的参数包括N个高斯函数的参数;第k个高斯函数的参数为:标准差均值和权重1≤k≤N;步骤6、重复执行步骤4-步骤5,使得所述第t帧图像中的每个像素点都在所对应的线程中建立相应的高斯模型,从而获得W×H个不同的高斯模型的参数保存在所述GPU图像处理器的全局存储器中;步骤7、判断t=T是否成立,若成立,则表示所述待处理视频已完成前景提取;否则,将t+1的值赋值给t;并执行步骤8;步骤8、所述GPU图像处理器从所述计算机的内存中复制所述第t帧图像的像素值并保存到所述GPU图像处理器的显存中;步骤9、根据所述第t帧图像的第i行第j列的像素值利用式(1)、式(2)和式(3)更新所述W×H个线程中的第i×W+j个线程中的高斯模型的参数:式(1)中,α表示权重的更新速度,为常数;表示所述第t帧图像的第i行第j列像素点与第k个高斯函数的匹配结果,并有式(7)中,表示匹配成功,表示匹配失败,ε表示概率阈值;表示所述第t帧图像的第i行第j列的像素点的第k个高斯函数的函数值;并有:

【专利技术属性】
技术研发人员:赵海峰胡林肖安南戴先玉秦栋张城玮王剑
申请(专利权)人:安徽大学国家电网公司国网安徽省电力公司滁州供电公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1