一種基于gpu自適應(yīng)的前景提取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及屬于視頻監(jiān)控領(lǐng)域,具體地說是一種基于GPU自適應(yīng)的前景提取方 法。
【背景技術(shù)】
[0002] 視頻監(jiān)控系統(tǒng)廣泛用于人們的日常生活當(dāng)中,比如對醫(yī)院、銀行、車站等大型公共 場所的監(jiān)控,以及社區(qū)、超市商場等等的安全保衛(wèi)。隨著人們生活水平日益提高,人們對城 市的安防工作要求越來越高,這就對監(jiān)控系統(tǒng)的智能化程度提出要求。
[0003] 視頻流中前景的提取是運動目標(biāo)精確提取的前提和保證。而快速、準(zhǔn)確、完整地分 割出背景成為運動目標(biāo)精確提取研宄中的難點。當(dāng)前,幀間差分法、光流法和背景提取法是 主要的運動目標(biāo)檢測方法。其中幀間差分法適應(yīng)性差,光流法計算量大,無法達到實時處 理。在背景建模各方法中,混合高斯建模方法是公認的檢測效果和適應(yīng)性都較好的方法,但 有一定的局限性:每個像素點的高斯數(shù)目是固定的,固定的高斯數(shù)目無法更好的適應(yīng)實際 環(huán)境。此外需要對每個像素點建立3到5個高斯模型,每次背景模型更新都需要遍歷到每 個像素的所有高斯模型并進行相應(yīng)的計算,因此計算量巨大,僅靠串行處理難以實時實現(xiàn), 無法在實際中使用。隨著技術(shù)的發(fā)展,在實際使用環(huán)境中,高清監(jiān)控設(shè)備以及多路監(jiān)控設(shè)備 的應(yīng)用越來越多,這些設(shè)備會在短時間內(nèi)產(chǎn)生海量的視頻圖像數(shù)據(jù),面對海量數(shù)據(jù)僅僅使 用以前的CPU進行串行處理,已經(jīng)完全達不到實時要求。此外很多算法已經(jīng)無法再繼續(xù)進 行優(yōu)化而對硬件速度的提高也很難完成。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明是為了克服現(xiàn)有技術(shù)存在的不足之處,提供一種基于GPU自適應(yīng)的前景提 取方法,以期能大大提高背景建模效率,并能夠?qū)崟r、精確的提取運動目標(biāo),從而能夠更好 的適應(yīng)實際環(huán)境。
[0005] 本發(fā)明為解決技術(shù)問題采用如下技術(shù)方案:
[0006] 本發(fā)明一種基于GPU自適應(yīng)的前景提取方法,是應(yīng)用于含有GPU圖像處理器的計 算機中,其特點是按如下步驟進行:
[0007] 步驟1、將分辨率為WXH的待處理視頻的第t幀圖像讀取到所述計算機的內(nèi)存中; 1 < t < T ;T表示所述待處理視頻的總幀數(shù);
[0008] 步驟2、所述GPU圖像處理器從所述計算機的內(nèi)存中復(fù)制所述第t幀圖像的像素值 并保存到所述GPU圖像處理器的顯存中;
[0009] 步驟3、在所述GPU圖像處理器中創(chuàng)建WXH個線程,使得所述WXH個線程依次對 應(yīng)于所述待處理視頻的WXH個像素點;
[0010] 步驟4、令所述第t幀圖像的第i行第j列的像素點尤;對應(yīng)于所述WXH個線程 中的第i X W+j個線程;在所述第i X W+j個線程中建立N個高斯函數(shù),從而構(gòu)成所述第i行 第j列的像素點^;的高斯模型;1彡i彡H;1彡j彡W;
[0011] 步驟5、將所述第i行第j列的像素點尤,的高斯模型的參數(shù)保存在所述GPU圖像 處理器的全局存儲器中;所述第i行第j列的像素點尤,,的高斯模型的參數(shù)包括N個高斯 函數(shù)的參數(shù);第k個高斯函數(shù)的參數(shù)為:標(biāo)準(zhǔn)差erf、均值//;^和權(quán)重; 1 < k < N ;
[0012] 步驟6、重復(fù)執(zhí)行步驟4-步驟5,使得所述第t幀圖像中的每個像素點都在所對應(yīng) 的線程中建立相應(yīng)的高斯模型,從而獲得WXH個不同的高斯模型的參數(shù)保存在所述GPU圖 像處理器的全局存儲器中;
[0013] 步驟7、判斷t = T是否成立,若成立,則表示所述待處理視頻已完成前景提??;否 貝1J,將t+1的值賦值給t ;并執(zhí)行步驟8 ;
[0014] 步驟8、所述GPU圖像處理器從所述計算機的內(nèi)存中復(fù)制所述第t幀圖像的像素值 并保存到所述GPU圖像處理器的顯存中;
[0015] 步驟9、根據(jù)所述第t幀圖像的第i行第j列的像素值尤.,,利用式(1)、式(2)和 式(3)更新所述WXH個線程中的第iXW+j個線程中的高斯模型的參數(shù):
【主權(quán)項】
1. 一種基于GPU自適應(yīng)的前景提取方法,是應(yīng)用于含有GPU圖像處理器的計算機中,其 特征是按如下步驟進行: 步驟1、將分辨率為WXH的待處理視頻的第t幀圖像讀取到所述計算機的內(nèi)存中; 1 < t < T ;T表示所述待處理視頻的總幀數(shù); 步驟2、所述GPU圖像處理器從所述計算機的內(nèi)存中復(fù)制所述第t幀圖像的像素值并保 存到所述GPU圖像處理器的顯存中; 步驟3、在所述GPU圖像處理器中創(chuàng)建WXH個線程,使得所述WXH個線程依次對應(yīng)于 所述待處理視頻的WXH個像素點; 步驟4、令所述第t幀圖像的第i行第j列的像素點尤,對應(yīng)于所述WXH個線程中的 第i X W+j個線程;在所述第i X W+j個線程中建立N個高斯函數(shù),從而構(gòu)成所述第i行第j 列的像素點尤j的高斯模型;1彡i彡H ;1彡j彡W ; 步驟5、將所述第i行第j列的像素點的高斯模型的參數(shù)保存在所述GPU圖像處理 器的全局存儲器中;所述第i行第j列的像素點ZL的高斯模型的參數(shù)包括N個高斯函數(shù) 的參數(shù);第k個高斯函數(shù)的參數(shù)為:標(biāo)準(zhǔn)差、均值和權(quán)重? ; 1彡k彡N ; 步驟6、重復(fù)執(zhí)行步驟4-步驟5,使得所述第t幀圖像中的每個像素點都在所對應(yīng)的線 程中建立相應(yīng)的高斯模型,從而獲得WXH個不同的高斯模型的參數(shù)保存在所述GPU圖像處 理器的全局存儲器中; 步驟7、判斷t = T是否成立,若成立,則表示所述待處理視頻已完成前景提??;否則, 將t+Ι的值賦值給t ;并執(zhí)行步驟8 ; 步驟8、所述GPU圖像處理器從所述計算機的內(nèi)存中復(fù)制所述第t幀圖像的像素值并保 存到所述GPU圖像處理器的顯存中; 步驟9、根據(jù)所述第t幀圖像的第i行第j列的像素值夂丨.,,利用式(1)、式(2)和式(3) 更新所述WXH個線程中的第iXW+j個線程中的高斯模型的參數(shù):
式(4)中,α表示權(quán)重的更新速度,為常數(shù);表示所述第t幀圖像的第i行第j列 像素點尤,與第k個高斯函數(shù)的匹配結(jié)果,并有
式(7)中,=1表示匹配成功,Μ=/ =0表示匹配失敗,ε表示概率閾值; 表示所述第t幀圖像的第i行第j列的像素點X),的第k個高斯函數(shù)的函數(shù)值;并有:
步驟10、動態(tài)調(diào)整所述第t幀圖像的第i行第j列的像素點尤.,的高斯函數(shù)的個數(shù)1 從而更新所述第ixw+j個線程所對應(yīng)的第i行第j列的像素點尤的高斯模型; 步驟11、遍歷所述第t幀圖像的每個像素值并按照步驟9和步驟10分別進行更新和動 態(tài)調(diào)整;從而獲得更新后的第t幀圖像的WXH個線程所分別對應(yīng)的WXH個像素點的高斯 模型; 步驟12、對所述更新后的第t幀圖像的WXH個像素點中第i行第j列像素點所對 應(yīng)的高斯模型中,選出一個權(quán)重最大的高斯函數(shù),并將所述權(quán)重最大的高斯函數(shù)所對應(yīng)的 均值與所設(shè)定的閾值進行比較;若均值大于所設(shè)定的閾值,則設(shè)置所述第i行第j列像素點 尤,為1 ;否則,設(shè)置所述第i行第j列像素點尤/為〇 ;從而獲得第t幀圖像中第i行第j 列像素點的取值; 步驟13、重復(fù)步驟12直到獲取所述第t幀圖像中所有像素點的取值,從而獲得所述第 t幀圖像的二值圖像并存入所述GPU圖像處理器的全局存儲器中; 步驟14、將所述第t幀圖像的二值圖像從所述GPU圖像處理器的全局存儲器中復(fù)制到 所述計算機的內(nèi)存中,以所述第t幀圖像的二值圖像中取值為1的像素點構(gòu)成所述前景,從 而完成第t幀圖像的前景提?。? 步驟15、返回步驟7執(zhí)行。
2. 根據(jù)權(quán)利要求1所述的方法,其特征是:所述待處理視頻的第t幀圖像為RGB格式 圖像。
3. 根據(jù)權(quán)利要求1所述的方法,其特征是:所述步驟10中第t幀圖像的第i行第j列 像素點Z丨,的高斯函數(shù)個數(shù)N是按如下步驟進行動態(tài)調(diào)整: 步驟1、比較所述第t幀圖像的第i行第j列像素點尤j的N個高斯函數(shù)中任意兩個高 斯函數(shù)的權(quán)重,若任意兩個高斯函數(shù)的權(quán)重差值小于所設(shè)定的差值閾值,則將所述任意兩 個高斯函數(shù)的參數(shù)分別求出均值,將所述均值賦值給所述任意兩個高斯函數(shù)中任一高斯函 數(shù);并刪除另一高斯函數(shù),將N-I賦值給N ;從而合并所述任意兩個高斯函數(shù); 步驟2、建立長度為N的一維數(shù)組= …6S],并初始化每個元素值為 O; 表示T幀待處理視頻中第i行第j列像素點Xu的第k個高斯函數(shù)連續(xù)匹配失敗的 次數(shù); 步驟3、若所述第t幀圖像的第i行第j列的像素點與第k個高斯函數(shù)匹配失敗,即 Μ=/ =O,則將+1賦值給< ;若所述第t幀圖像的第i行第j列的像素點尤,與第k個 高斯函數(shù)匹配成功,即= 1;則將次數(shù)設(shè)置為〇 ; 步驟4、判斷所述次數(shù)大于等于所設(shè)定的累加閾值是否成立;在成立時將Ν+1賦值 給Ν; 步驟5、判斷t = T是否成立,若成立,則表示完成動態(tài)調(diào)整;否則將t+Ι的值賦值給t ; 并執(zhí)行步驟2。
【專利摘要】本發(fā)明公開了一種基于GPU自適應(yīng)的前景提取方法,是應(yīng)用于含有GPU圖像處理器的計算機中,其特征包括:將圖像數(shù)據(jù)從內(nèi)存?zhèn)鬟f到GPU顯存中,對每個像素點對應(yīng)GPU中一個線程分別進行混合高斯背景建模,其中每個像素點的高斯數(shù)目可以動態(tài)調(diào)整,最后將每個像素點中每個高斯權(quán)重最大的進行二值化處理,處理結(jié)果作為最終結(jié)果通過全局內(nèi)存?zhèn)鬟f到內(nèi)存中。本發(fā)明能大大提高前景提取效率,并能夠?qū)崟r、精確的提取運動目標(biāo),從而能夠更好的適應(yīng)實際環(huán)境。
【IPC分類】G06T7-20
【公開號】CN104751485
【申請?zhí)枴緾N201510128601
【發(fā)明人】趙海峰, 胡林, 肖安南, 戴先玉, 秦棟, 張城瑋, 王劍
【申請人】安徽大學(xué), 國家電網(wǎng)公司, 國網(wǎng)安徽省電力公司滁州供電公司
【公開日】2015年7月1日
【申請日】2015年3月20日