王海濤,侯靜靜
(1.北京新立機械有限責任公司,北京 100039; 2.遠光軟件股份有限公司,廣東 珠海 519085)
動物的日常飲水、采食、排泄、休息等行為是判斷其健康與否的重要依據[1-2]。對動物行為學,尤其是對豬的行為研究國外已取得了一定的進展。Lind等[3]通過改進的引入參考幀的自動閾值檢測跟蹤算法,實現了在空曠環境下對小型豬的跟蹤。Ahrendt等[4]通過建立支持地圖片段來構建單只豬的5D高斯模型,在一定程度上實現了短時間內的3只豬的運動跟蹤。Cangar等[5]通過牛的體寬與長度比、臀長和背部區域,利用自動實時檢測器對牛進行行為跟蹤。Shao等[6]利用圖像特征的選擇、分析和圖像分類技術對運動豬只的溫度信息進行提取,有效判斷豬的體溫狀態。Song等[7]通過機器視覺技術捕獲牛蹄位置的可能性,運用自動計算的牛蹄運動軌跡來有效預防牛的跛行。
豬的運動軌跡是對豬行為識別與分析的重要依據,可以通過機器視覺的方法對豬只進行跟蹤,而記錄豬的運動軌跡。Cam-Shift算法、背景減差法、均值漂移法、光流法等目標跟蹤算法對非剛性多目標進行實時跟蹤時容易發生跟蹤失敗或錯誤跟蹤的情況。因此,本研究結合豬場現場環境,根據HSV顏色空間對光照不敏感、適用于顏色檢測與陰影消除的優點,設計出一種設定豬耳色標并結合混合高斯模型(GMM)融合背景差分法的多目標豬只跟蹤方法,來進行豬的運動跟蹤,為進一步判斷豬只的健康水平提供依據。
混合高斯模型是一種經典的背景建模算法,適用于背景穩定的運動目標檢測。對于隨機變量x的觀測數據集{x1,x2,…,xN},xt=(rt,gt,bt)為t時刻像素的樣本,則單個采樣點xt其服從的混合高斯分布概率密度函數[8]:

(1)
式(1)中,k為分布模式總數,取值為3~5;η(xt,ui,t,τi,t)為t時刻第i個高斯分布,ui,t為其均值,τi,t為其協方差矩陣,δi,t為方差;I為三維單位矩陣;wi,t為t時刻第i個高斯分布的權重。
按照公式(2)對每個像素值xt與k個模型進行運算比較,直到找到匹配該像素值的分布模型。如果所匹配的模型符合背景要求,則該像素屬于背景,否則屬于前景。
|Xt-μi,t-1|≤2.5σi,t-1。
(2)
各模式權值按式(3)更新,其中α是學習速率,若模式匹配Mk,t=1,不匹配Mk,t=0,最后歸一化各模式的權重。
wk,t=(1-α)wk,t-1+αMk,t。
(3)
未匹配模式的均值μ與標準差σ不變,匹配模式的參數公式如下:
ρ=αη(Xt|μk,σk);
與依靠不斷開發自然資源來增加經濟效益的傳統模式不同,循環經濟是在依靠現有自然資源的基礎上,在利用資源的每一個步驟上都充分發揮資源的作用。循環經濟把自然資源的開發、分解、消化作為一個循環的過程,使自然資源與生態系統有機的結合,每一個環節都能得到相應的經濟效益。循環經濟的特點是低污染、高利用、可持續發展[1]。
(4)
μt=(1-ρ)μt-1+ρXt;
(5)
(6)
各模式根據w/α2值進行降序排列,標準差小,權重大的模式排列靠前,選取權重最大的前B個模式作為背景,B滿足式(7),其中T為背景像素所占比例。
(7)
式(7)中,T取值為0.85。若T如果選擇一個大值,需用多個高斯分布共同描述背景;若T取一個較小值,則可用一個高斯分布描述背景。
經典混合高斯模型在初始化過程中,初期用于背景建模的數據較少,會使一些前景像素值的初始權重過大,導致被錯誤的判斷為背景像素。當背景確定后,由于更新速率較小,被誤判為背景的像素需要很長時間才能從背景中剔除,同時,如果目標長時間靜止,則會將其判斷為背景,造成目標丟失的情況。
圖1為高斯混合模型檢測結果。如圖所示,當豬只目標長時間站立不動時,會被判斷為背景,導致豬目標丟失。因此,需要其他的方法對混合高斯模型的缺陷進行彌補。針對豬只目標經常靜止不動的特點,本研究提出混合高斯模型融合背景差分的方法進行背景建模來解決這一問題。

圖1 高斯混合模型的檢測
背景差分法是一種傳統的運動目標檢測方法。首先選取一張背景圖像,再將當前幀的圖像與背景圖像做差,所得到的像素差值和已經設定好的閾值相比較,如果像素差大于設定的閾值,則當前像素值被判斷為前景像素即運動目標,否則為背景像素。運算公式如下:
d(x,y,t)=I(x,y,t)-b(x,y,t)+n(x,y,t)。
(8)
式(8)中,d(x,y,t)為差分圖像,I(x,y,t)為當前圖像,b(x,y,t)為所選背景圖像,n(x,y,t)為噪聲。為了得到正確的運動目標,需進一步處理,最常用的方法為閾值分割算法[9],式中T為閾值。

(9)
圖2為豬目標靜止不動時利用背景差分法檢測出的二值圖像。由圖所示,檢測圖的噪聲點較多,受光照影響較大,隨著一天內時間的不斷變化,豬舍的光照情況也會不斷改變。因此,應采用隨時間不斷更新差分背景的手段,實現對豬舍背景的實時更新,以減少光照變化對檢測結果的影響。

圖2 背景差分法檢測靜止不動豬目標
由圖1和圖2的檢測結果圖像可以看出,2種方法檢測出的豬目標二值圖像都存在一定的噪聲與空洞,因此,有必要對結果圖像進行處理。本研究采用高斯濾波、中值濾波和形態學膨脹與腐蝕的方法對二值圖像進行濾波處理,以得到較為清晰完整的豬目標圖像,具體流程見圖3,高斯混合模型二值圖像濾波處理圖見圖4,背景減差法二值圖像濾波處理圖見圖5。

圖3 二值圖像處理的流程

圖4 高斯混合模型二值圖像的濾波處理

圖5 背景減差法二值圖像的濾波處理
由于豬舍是一個相對封閉的環境,豬目標的總數是常量值,因此,豬目標的二值檢測圖中像素點為1的個數,即白色區域的總面積大小不會發生較大突變。豬目標靜止時,混合高斯模型學習背景是一個漸變的過程,因此,可以設定一個閾值S用以判斷濾波處理后的二值圖像中像素點為1的總個數M是否過少。若M2 HSV顏色空間下的陰影消除與豬耳色標檢測
圖像處理領域常用的顏色空間一般有RGB、HSV、HSI、CMY等,其中與人類視覺感知最相近的是HSV顏色空間,同時其空間距離也符合人眼的感知特性,比較直觀[10-11]。HSV顏色空間對光照等影響的抗干擾能力強,適合用于對有一定光線變化的視頻圖像進行處理的情況。因此,本研究中對豬目標二值檢測圖的陰影消除與豬耳色標的檢測均在HSV顏色空間下進行。
在光照較強的情況下,背景減差法檢測出的豬目標會包含其自身的陰影,為了在一定程度上提高跟蹤的準確率,需要將陰影進行消除。根據HSV顏色空間亮度(V值)變化較大時,而色度信號(H值)變化不大的特性,利用如下算法進行陰影的消除[12]:
(10)
式(10)中,TH、TS為色度、色彩的閾值。陰影點的V值總是小于非陰影對應點的V值,所以γ取值小于1,而β的取值則考慮當前光照的強弱,光照條件越強陰影越明顯,β取值越小。針對不同的情況,TH、TS取值不同,具體取值需要根據實驗來確定。
真實豬舍場景中往往同時存在2只以上的豬目標,而傳統跟蹤方法在多目標互相交錯、靠近后分離等運動情況發生時,經常發生目標跟蹤錯誤的情況。為了解決這一問題,為豬目標設定不同的顏色色標,設定部位為豬右耳耳背。在HSV顏色空間下設定特定顏色的上下限閾值以檢測出顏色色標,將色標所在區域定為種子區域,用滿水填充法[13]來填充與種子區域連通的二值區域,完成色標與特定豬目標二值檢測圖像的對應,在一定程度上解決了多個豬目標交錯或靠近后分離運動造成的跟蹤錯誤的情況,圖6為HSV顏色空間下對豬耳色標的檢測及滿水填充法效果圖。
采用海康威視DS-2DE5220IW球機拍攝的視頻作為原始視頻,分辨率為1 920×1 080,實驗豬目標數量為2只,豬耳色標設定為紅色和綠色,經查閱HSV顏色空間表,將紅色分量的HSV閾值范圍設為:H(156,180),S(43,255),V(46,255);將綠色分量的HSV閾值范圍設為:H(35,77),S(43,255),V(46,255)。使用不同顏色的矩形框對跟蹤的不同豬目標進行定位(圖7),并與經典的Cam-Shift運動目標檢測算法(圖8)進行對比。

圖7 基于混合高斯模型融合背景減差的 豬只運動跟蹤

圖8 經典Cam-Shift豬只運動跟蹤
經典Cam-Shift在多數情況下也能較好的對豬目標進行跟蹤,但是會出現運動目標與背景分割不完整、多目標接近時誤檢測為1個目標等情況,影響跟蹤精度,不能完整的反映豬的運動狀態和運動軌跡,而本文的算法則較好的解決了上述問題,跟蹤精度較高。
本文提出了混合高斯模型與背景減差法相結合對豬目標進行跟蹤的方法,并利用HSV顏色空間的特性,對豬目標在較強光線下產生的陰影予以消除,提高了跟蹤的精確度,用設定豬耳色標的方式在一定程度上解決多個豬目標交錯及相互靠近后分離運動時易產生的跟蹤錯誤和丟失跟蹤目標的問題。經試驗后跟蹤效果良好,為豬只監控打下了堅實的基礎,為豬只的健康研究提供了依據。