李億楊,孫龍清,鄒遠炳,李 玥
(中國農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院,北京 100083)
生豬的基本行為特征主要通過每天采食量、飲水次數(shù)、排泄次數(shù)等表現(xiàn)出來,這些行為特征表現(xiàn)反映了生豬生長的健康狀況。記錄和分析生豬的行為特征,是判斷其健康與否[1]的重要依據(jù)。運動生豬目標(biāo)檢測就是把生豬目標(biāo)從背景圖像中分割出來,為生豬目標(biāo)分類、識別、跟蹤、行為特征記錄分析提供基礎(chǔ)。
目前常用的運動目標(biāo)檢測主要有光流法、幀間差分法和背景相減法。光流法可檢測獨立運動對象,計算量較大,難以實時檢測。幀間差分法實現(xiàn)簡單,缺點是不能完全提取所有相關(guān)的目標(biāo)。背景相減法抗噪性和魯棒性相對較好,其中混合高斯模型是最成功的背景建模方法之一。許多研究人員對混合高斯模型算法進行了改進。Bouttefroy提出對混合高斯背景模型的方差和均值采用不同的學(xué)習(xí)速率,設(shè)定特定方差以消除由光照突變和運動狀態(tài)突變等引起的噪聲;Koray等人提出一種空間變化的高斯混合模型聯(lián)合光譜和空間高光譜圖像分類方法[21],模型提供了一個穩(wěn)健估計的框架為小樣本訓(xùn)練集,通過確定先驗分布的均值向量和協(xié)方差矩陣來調(diào)整參數(shù)估計問題,同時利用像素空間變化混合比例來提高分類準(zhǔn)確率;Shah等提出一種自動學(xué)習(xí)動態(tài)變化的場景和相應(yīng)調(diào)整參數(shù)的方法,使用SURF特征匹配算法來抑制“鬼影”,同時引入一個新的時空濾波器來進一步完善前景檢測結(jié)果;田杰等提出一種基于PCA和高斯混合模型的方法對小麥病害彩色圖像進行分割,根據(jù)顏色特征將圖像進行分塊排序,各取前后多個分塊組成新的像素集合進行高斯混合模型運算,將每個像素歸類到已求出的高斯模型,實現(xiàn)小麥病葉的分割;劉冬提出在混合高斯模型中引入懲罰因子的動態(tài)背景建模方法,采用局部更新策略,以降低模型復(fù)雜度和解決前景消融問題,采用基于色度偏差和亮度偏差的二分類算法,避免目標(biāo)物陰影區(qū)域的影響。但是混合高斯法存在以下不足:(1)每幀中對所有像素對應(yīng)的高斯分布個數(shù)都保持固定不變,在實際高斯背景建模場景中,不同區(qū)域?qū)?yīng)場景的狀態(tài)變化是不同的,隨著場景變化,同一區(qū)域的狀態(tài)個數(shù)也會改變,若對所有像素點都保持相同的模型個數(shù),算法效率低造成大量的資源浪費,難以實現(xiàn)實時性。(2)模型中采用固定學(xué)習(xí)率,當(dāng)學(xué)習(xí)率與場景速度不匹配時,檢測結(jié)果會出現(xiàn)誤判點、漏檢以及“鬼影”現(xiàn)象。Stauffer與Grimson構(gòu)建自適應(yīng)的混合高斯背景模型,利用在線估計來更新模型,有效地解決了光照變化和背景混亂等外界干擾所產(chǎn)生的噪聲;Chen和Ellis提出了一種基于自適應(yīng)高斯混合的算法,對靜態(tài)攝像機拍攝的場景的背景建模,該模型采用動態(tài)學(xué)習(xí)率,適應(yīng)全局光照,以應(yīng)對場景光照的突變。Ren等人介紹了一種基于高斯混合模型的運動目標(biāo)檢測自適應(yīng)學(xué)習(xí)算法,將學(xué)習(xí)過程模型分為初始形成和后臺維護更新的兩個階段,并在不同階段采用了不同的學(xué)習(xí)策略。與其他非自適應(yīng)方法相比,高斯混合模型在初始化過程中不需要人工干預(yù),背景計算誤差積累較小,背景變化具有良好的適應(yīng)性。為了提高建模的收斂速度,本文提出了一種改進的自適應(yīng)方法來調(diào)整高斯分布模型的數(shù)量,并利用自適應(yīng)學(xué)習(xí)率消除或減少誤判點和重影。
混合高斯模型法(GaussianMixtureModel,GMM))原理:由于環(huán)境因素的影響,視頻圖像中每一個像素點的灰度值會隨環(huán)境不斷變化,一般認(rèn)為背景像素的灰度值變化符合高斯分布,可以通過多個高斯分布的加權(quán)和來模擬這種變化,即可用混合高斯模型來描述視頻圖像背景的變化,前景目標(biāo)變化是隨機的,一般不服從高斯分布?;谶@個思想,如果像素點滿足已經(jīng)構(gòu)建的高斯分布模型,則認(rèn)為是背景,反之為前景。
用η(Xt,μ,∑)來表示均值為μ,協(xié)方差矩陣為Σ的高斯分布的概率密度函數(shù),對特定像素點的視頻序列可看作一時間序列,設(shè)用來描述每個點顏色分布的高斯分布共有 K個,分別記為:
其中下標(biāo)t表示時間,K為高斯函數(shù)個數(shù),μi,t為第i個高斯模型的數(shù)學(xué)期望(均值),Σi,t為第i個高斯模型的協(xié)方差矩陣。n為每個像素觀測向量Xt的維數(shù)(一般指像素的灰度信息)。為簡化計算量,假設(shè)協(xié)方差矩陣為以下形式(I為單位矩陣):
當(dāng)前像素值Xt的概率為:
其中,ωi,t是t時刻混合高斯模型中第i個模型的權(quán)值。
對于視頻幀中新的像素點Xt,將其與已經(jīng)存在的K個高斯模型分布進行匹配,如果當(dāng)前像素點的灰度觀測值與某個分布的均值相近,則認(rèn)為該像素點和這個分布匹配,即滿足:
其中TH為門限值,一般取2.5,若滿足上述條件的高斯分布按如下公式更新參數(shù):
其中,αi為模型學(xué)習(xí)率,一般由實驗確定,0≤α≤1,βi為參數(shù)學(xué)習(xí)率。當(dāng)高斯分布與像素值Xt匹配時,Mi,t?1為1,否則為0;如果當(dāng)前像素點沒有相似的高斯分布與之匹配,則在背景模型中增加一個新的高斯分布代替優(yōu)先級最低的高斯分布,新增高斯分布選擇較大的方差和較小的權(quán)值初始化。
對每個像素點的K個高斯分布,以βi=ωi/σK的比值為優(yōu)先級標(biāo)準(zhǔn)從高到低排列,最有可能成為背景的模型排在最前面,由不穩(wěn)定的擾動產(chǎn)生的分布將排在序列的底部,最終被新的高斯分布取代。從K個高斯分布中選擇前B個高斯分布作為背景模型。
式中:T為背景閾值,一般取T=0.7,通過T的設(shè)定可以選出描述背景的最佳分布。
本文根據(jù)生豬個體檢測的需求,對高斯混合背景模型進行改進。隨著時間變化,高斯混合模型中與場景匹配高斯分布的權(quán)重逐漸變大,權(quán)值歸一化后,不匹配的高斯分布權(quán)值變小,權(quán)值與方差比值大的用來描述背景分布,比值小的用以描述前景分布。當(dāng)某個高斯分布的權(quán)重小于權(quán)值初始值w時,且該高斯成分的小于初始化時的w /σ 時,該高斯分布將會被排在新的初始化的高斯分布之后。繼續(xù)保留該高斯分布,將使得再次出現(xiàn)與這個高斯分布匹配的場景時,利用該高斯分布學(xué)習(xí)此場景,比用一個新的高斯成分學(xué)習(xí)所花費的時間更長。這些多余的高斯成分,影響模型的學(xué)習(xí)收斂速度,同時消耗系統(tǒng)計算資源。改進新的自適應(yīng)高斯分布個數(shù)的選擇,應(yīng)在每一幀背景模型更新學(xué)習(xí)后,刪除多余的高斯分布??紤]實際計算效率需要,本文選擇每隔m幀對高斯分布進行一次掃描,檢測所有高斯分布的權(quán)值,若某個高斯分布滿足下式(10),則判定該高斯分布為多余的高斯分布,并刪除該高斯分布。
混合高斯模型中學(xué)習(xí)率α取值過小,背景更新速度減慢,檢測結(jié)果出現(xiàn)大量誤判點和“鬼影”;α取值過大,模型更新速度過快,目標(biāo)容易融入背景,造成目標(biāo)漏檢。為了加速消除誤判點和“鬼影”,本文提出自適應(yīng)學(xué)習(xí)率策略:設(shè)定幀數(shù)閾值T0,對前T0幀和后續(xù)幀采用不同學(xué)習(xí)率的更新方法。
在模型初始化時,需要較快的更新速度來加速“鬼影”的消除,采用較大的學(xué)習(xí)率;隨著時間推移,背景模型逐漸趨于穩(wěn)定,此時選擇較小的學(xué)習(xí)率。
混合高斯模型的更新機制可以較好的處理背景緩慢變化的情況,對于突發(fā)情況如光照突變等情況則較為敏感。光照突變的具體表現(xiàn)為整體灰度值的變化,即當(dāng)前幀與所得到的背景平均灰度值之間的差值變化,當(dāng)該差值大于一定閾值時,對整幅圖像所有像素中權(quán)重最大的高斯分布參數(shù)進行替換,用當(dāng)前幀圖像像素值代替μ0,w0取較大的值以保證新的分布成為穩(wěn)定的背景分布,考慮本文以室內(nèi)生豬為研究對象,光照沒有劇烈改變,本文σ0=20。
(1)《中國矯形外科雜志》網(wǎng)址:ZJXS.chinajournal.net.cn;Http://jxwk.ijournal.cn為本刊唯一在線投稿系統(tǒng),其他均為冒充者,稿件上傳后自動生成編號,稿號為:2018-xxxx。其他冒充者的稿件編號五花八門,多很繁瑣,請廣大作者注意辨別。
基于改進的自適應(yīng)混合高斯模型算法具體步驟歸納如下:
步驟1:計算當(dāng)前學(xué)習(xí)率,對初始視頻幀建立混合高斯模型;
步驟2:判斷新建的背景與已有的模型是否匹配,如果匹配,則更新權(quán)值、均值和標(biāo)準(zhǔn)差;如果不匹配,則新增加一個背景模型;
步驟3:每隔100幀對高斯分布進行一次掃描,檢測所有高斯分布的權(quán)值,若某個高斯分布滿足式(10),則判定該高斯分布為多余的高斯分布,并刪除該高斯分布;
步驟4:各高斯分布的權(quán)重進行歸一化處理,計算高斯分布的優(yōu)先級,從大到小的順序排序;
步驟5:判斷當(dāng)前像素與存在的高斯分布是否匹配,如果有則判定該像素點屬于背景,否則判定該像素點屬于前景。
(1)實驗結(jié)果及算法效率分析
圖1 生豬檢測效果圖
為驗證算法有效性,在Windows7系統(tǒng)下使用VS2010平臺(opencv2.3.1),分別對混合高斯模型和本文方法進行對比試驗(圖1)。試驗結(jié)果表明,本文提出的改進算法提高了實時性:混合高斯模型處理每幀所用時間為3.21s;本文提出的改進算法對每幀處理時間為0.48s。檢測效果對比如圖1所示。
圖1中可知,混合高斯模型對目標(biāo)生豬檢測結(jié)果出現(xiàn)漏檢或“鬼影”?;旌细咚鼓P蜎]有考慮運動目標(biāo)速度變化,學(xué)習(xí)率一般采用固定值0.005。檢測過程中,當(dāng)學(xué)習(xí)率(即背景更新的速度)和實際場景切換速度相不匹配時,檢測結(jié)果出現(xiàn)漏檢、誤判和“鬼影”。本文方法抗噪性明顯增強,可提取出完整的生豬輪廓,消除“鬼影”。
(2)自適應(yīng)學(xué)習(xí)率
本文改進的算法采用自適應(yīng)性選擇策略的學(xué)習(xí)率(公式12)進行背景更新,T0為設(shè)定不同學(xué)習(xí)率的初始視頻幀的閾值,當(dāng)初始幀小于T0時,背景處于構(gòu)建過程,需要一個較大的學(xué)習(xí)率來加速背景建模;當(dāng)背景構(gòu)建完成后,(即當(dāng)前視頻幀數(shù)大于T0)方差處于收斂狀態(tài),此時的學(xué)習(xí)率應(yīng)小于背景初始階段的學(xué)習(xí)率并維持穩(wěn)定,使背景更新速度與實際場景速度相當(dāng)來減少或消除“鬼影”。
圖2為不同視頻幀數(shù)與學(xué)習(xí)率的關(guān)系圖。經(jīng)大量實驗,同時結(jié)合生豬檢測的特點,本文選取T0=100,即T0幀前學(xué)習(xí)率為背景初始構(gòu)建階段,采用較大遞減學(xué)習(xí)率加速構(gòu)建背景模型,根據(jù)場景實際變化情況,實現(xiàn)學(xué)習(xí)率的自適應(yīng)調(diào)整;T0幀后背景模型構(gòu)建完成,對應(yīng)的方差保持穩(wěn)定,采用固定值學(xué)習(xí)率α=0.005(此時T0=100),維持背景穩(wěn)定,減少噪聲干擾。
圖3是不同學(xué)習(xí)率的檢測結(jié)果。T0=50時,統(tǒng)計的灰度值過少,初始背景模型無法形成穩(wěn)定的分布,后續(xù)背景建模很難達到穩(wěn)定的分布;T0=150時,后續(xù)學(xué)習(xí)率過小,無法保證初始階段學(xué)習(xí)率與場景深度相匹配,導(dǎo)致圖像檢測結(jié)果出現(xiàn)誤判和“鬼影”??紤]算法實時性和實驗效果,本文選取T0=100。
(3)刪除多余高斯分布
本文改進算法每隔m幀對高斯分布進行一次掃描,檢測所有高斯分布的權(quán)值,若某個高斯分布滿足上式(10),則判定該高斯分布為多余的高斯分布,并刪除該高斯分布以提高算法實時性。對于幀數(shù)閾值m的取值,若m取值小,運行速度慢,提取較完整,檢測效果穩(wěn)?。蝗鬽取值大,運行速度快,出現(xiàn)許多噪聲點,檢測效果不穩(wěn)定。分別取m數(shù)目為30、60、80、100、150、200時檢測效果如下圖4所示。
圖2 視頻幀與學(xué)習(xí)率關(guān)系圖
圖3 不同學(xué)習(xí)率對應(yīng)的檢測效果圖
圖4 不同幀數(shù)閾值檢測結(jié)果圖
圖5 不同幀數(shù)閾值相同時間內(nèi)運行幀數(shù)比較圖 圖6 不同幀數(shù)閾值檢測性能對比圖
當(dāng)閾值幀數(shù)m值較小,則運行速度慢時,提取精度較高,檢測能力強。當(dāng)閾值幀數(shù)m的值較大時,則運行速度快,但是會出現(xiàn)許多噪聲點,檢測結(jié)果不穩(wěn)定。比較結(jié)果見圖5和圖6。
考慮到算法的實時性和檢測結(jié)果,本文選擇m=100。
針對混合高斯模型算法存在的不足,本文提出了自適應(yīng)改進的混合高斯背景建模算法:設(shè)置每隔一定視頻幀數(shù)對高斯分布進行掃描,刪除多余高斯分布,以提高算法實時性;同時采用幀數(shù)閾值前后不同學(xué)習(xí)率來減少漏檢、誤判點和“鬼影”,提高運動目標(biāo)檢測精度。經(jīng)實驗證明,本文方法可有效去除噪聲減少外界干擾,提高目標(biāo)檢測抗噪性。