劉杰鑫 姜 波 何東健 宋懷波
(西北農(nóng)林科技大學(xué)機(jī)械與電子工程學(xué)院 陜西 楊凌 712100) (農(nóng)業(yè)部農(nóng)業(yè)物聯(lián)網(wǎng)重點(diǎn)實(shí)驗(yàn)室 陜西 楊凌 712100)(陜西省農(nóng)業(yè)信息感知與智能服務(wù)重點(diǎn)實(shí)驗(yàn)室 陜西 楊凌 712100)
隨著信息技術(shù)的飛速發(fā)展,奶牛養(yǎng)殖體系逐步呈現(xiàn)出規(guī)模化和智能化的特點(diǎn)。奶牛個(gè)體識(shí)別作為個(gè)性化、精細(xì)化管理的基礎(chǔ)已成為當(dāng)前研究的熱點(diǎn),受到了越來越多的關(guān)注。傳統(tǒng)的奶牛養(yǎng)殖中,通常采用為每頭奶牛佩戴標(biāo)簽的方式進(jìn)行管理,耗費(fèi)人力,工作繁瑣。目前國(guó)內(nèi)畜牧業(yè)比較流行的識(shí)別方式主要基于無線射頻識(shí)別技術(shù)[1-2],但是該技術(shù)無法實(shí)現(xiàn)遠(yuǎn)距離識(shí)別,且整套設(shè)備成本高,具有較大的局限性。奶牛視頻中包含奶牛個(gè)體的身份信息,運(yùn)用視頻分析和圖像處理技術(shù)進(jìn)行奶牛的個(gè)體識(shí)別,可以進(jìn)一步提高奶牛的智能化養(yǎng)殖水平并降低成本。
隨著計(jì)算機(jī)視覺的發(fā)展,利用圖像處理算法實(shí)現(xiàn)奶牛個(gè)體識(shí)別引起了國(guó)內(nèi)外相關(guān)學(xué)者的關(guān)注。Cai等[3]提出了一種基于牛臉局部二值模式(Local Binary Pattern)紋理特征的識(shí)別方法,當(dāng)選取90%的數(shù)據(jù)訓(xùn)練時(shí),結(jié)合圖像的稀疏低秩分解方法識(shí)別準(zhǔn)確率達(dá)到95.30%。Santosh等[4]提出了一種基于牛口鼻處紋理特征提取的方法,在500頭牛每頭10幅圖像進(jìn)行實(shí)驗(yàn)的條件下,識(shí)別率為93.87%。Kumar等[5]提出利用Fisher線性保留映射FLPP(Fisher Linear Preserving Projection)的方法來提取牛口鼻特征,通過SVM訓(xùn)練預(yù)測(cè)達(dá)到96.87%的準(zhǔn)確率。趙凱旋等[6]設(shè)計(jì)了一種基于CNN網(wǎng)絡(luò)的奶牛個(gè)體身份識(shí)別方法,運(yùn)用幀間差值法、二值圖像跨度分析和Meanshift算法很好地進(jìn)行了奶牛個(gè)體軀干的定位和跟蹤,選擇LeNet-5網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練和預(yù)測(cè),識(shí)別率為90.55%。張滿囤等[7]基于對(duì)小波變換和改進(jìn)核主成分分析KPCA(Kernel Principal Component Analysis)算法的研究,采集20頭奶牛個(gè)體的20 000幅奶牛圖像,通過多次對(duì)比實(shí)驗(yàn)設(shè)定參數(shù),結(jié)果表明識(shí)別率為96.31%。
針對(duì)上述部分研究采用傳統(tǒng)機(jī)器學(xué)習(xí)方法提取特征不充足和采用CNN的研究中深度學(xué)習(xí)網(wǎng)絡(luò)識(shí)別率不高的問題,本文提出一種利用視頻中每一幀圖像建立高斯混合模型的奶牛定位跟蹤算法。在此基礎(chǔ)上生成奶牛個(gè)體側(cè)身的彩色圖像,利用遷移學(xué)習(xí)進(jìn)行CNN深度網(wǎng)絡(luò)的微調(diào)和訓(xùn)練,最終實(shí)現(xiàn)較高準(zhǔn)確率的奶牛個(gè)體識(shí)別。
實(shí)驗(yàn)視頻源自陜西楊凌科元克隆股份有限公司的規(guī)模奶牛養(yǎng)殖場(chǎng),拍攝時(shí)間為2013 年7月至8月每天的7:00-18:00 時(shí)段,拍攝對(duì)象為健康的美國(guó)荷斯坦奶牛。攝像機(jī)能夠拍攝到奶牛從左側(cè)移動(dòng)到右側(cè)的軀干圖像,其視野寬度大于2個(gè)牛身長(zhǎng)度。通過采集和篩選獲得35頭奶牛共計(jì)210段視頻,每段視頻持續(xù)時(shí)長(zhǎng)10 s左右。采集到的視頻經(jīng)過MPEG-4轉(zhuǎn)碼得到avi格式的視頻,幀率為25 fps,碼率為512 kbps,分辨率為320×240(單位:像素)。
本研究所使用的視頻信息如表1所示,由于受到奶牛成群行走、工人作業(yè)等客觀因素的影響,視頻信息受干擾較為頻繁,在數(shù)量有限的視頻資源中不易實(shí)現(xiàn)奶牛個(gè)體的識(shí)別。

表1 奶牛個(gè)體識(shí)別視頻信息統(tǒng)計(jì)
視頻處理平臺(tái)為MATLAB R2017a,處理器為英特爾Core i5-6300HQ,主頻2.4 GHz,內(nèi)存8 GB,顯卡為英偉達(dá)GeForce GTX 960M,操作系統(tǒng)為64位Windows 10 系統(tǒng)。在訓(xùn)練深度學(xué)習(xí)網(wǎng)絡(luò)時(shí)使用GPU并行運(yùn)算,加快收斂速度。
為了便于實(shí)驗(yàn)方法的分析與闡述,給出本研究使用的算法流程,示意圖如圖1所示。首先采集和處理奶牛個(gè)體視頻,通過視頻中的幀序列圖像建立高斯混合模型,對(duì)提取出的前景模型進(jìn)行最大化連通域、規(guī)定像素占比的處理,得到奶牛個(gè)體圖像。其次將所得到的圖像輸入深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,Softmax 和SVM分類器分別學(xué)習(xí)網(wǎng)絡(luò)輸出的特征值。最后對(duì)分類器的分類效果進(jìn)行了實(shí)驗(yàn)對(duì)比。

圖1 算法流程示意圖
視頻序列圖像中每個(gè)像素點(diǎn)的灰度值短時(shí)間內(nèi)基本上是圍繞某一中心值在一定距離內(nèi)呈規(guī)律分布[8-11],中心值可用均值代替,距離可用方差代替。在樣本量充足的條件下,分布規(guī)律呈正態(tài)分布,也稱為高斯分布。高斯混合模型指像素點(diǎn)灰度值在場(chǎng)景變化的情況下存在多個(gè)中心位置,每個(gè)位置產(chǎn)生一個(gè)單高斯分布,多個(gè)單高斯分布組成高斯混合模型。高斯混合模型適合于檢測(cè)緩慢移動(dòng)的物體,也能適應(yīng)光照變化緩慢的場(chǎng)景。
2.2.1 高斯混合模型定義
假設(shè)圖像是單通道,定義K(3~5)個(gè)高斯函數(shù)來表示每一個(gè)像素點(diǎn)的像素值。對(duì)于每一個(gè)采樣點(diǎn),均服從高斯混合分布,如下所示:
(1)
(2)
|xt-μi,t-1|≤2.5σi,t-1
(3)
式中:η(xi,μi,t,σi,t)為t時(shí)刻第i個(gè)高斯分布,ωi,t為t時(shí)刻第i個(gè)高斯分布的權(quán)重。式(2)中μi,t、σi,t分別為其均值和方差。將每一個(gè)新像素值xt與該點(diǎn)已存在的K個(gè)高斯分布依次比對(duì),直到與其中的某個(gè)分布匹配。若滿足式(3),則稱xt與第i個(gè)分布匹配。
2.2.2 模型參數(shù)更新
若該像素值符合匹配要求,則該像素屬于背景,各參數(shù)更新公式如下所示:
ωi,t=(1-α)×ωi,t-1+α×M
(4)
ρ=α×η(xt,μi,t,σi,t)
(5)
μt=(1-ρ)×μt-1+ρ×xt
(6)
(7)

2.2.3 產(chǎn)生新分布
若該像素不與任一個(gè)高斯分布匹配,則將權(quán)重最小的高斯分布用一個(gè)新分布替換。新分布的均值即為當(dāng)前像素值,方差初始化為較大的方差。
2.2.4 生成背景模型
將K個(gè)分布按照ω/σ2的值從大到小排列,選取前B個(gè)分布構(gòu)成新背景模型,T為背景像素所占的比例。B值按下式計(jì)算:
(8)
獲取奶牛個(gè)體大樣本數(shù)據(jù)是奶牛個(gè)體識(shí)別的基礎(chǔ)。本研究在利用高斯混合模型進(jìn)行運(yùn)動(dòng)奶牛目標(biāo)檢測(cè)時(shí),通過將視頻中當(dāng)前幀未匹配的像素賦值為255,其余賦值為0作為背景點(diǎn),使用模板大小為7×7、強(qiáng)度為1的高斯濾波器進(jìn)行濾波,即可實(shí)現(xiàn)前景目標(biāo)的初步檢測(cè)。通過讀取幀圖像中的所有連通區(qū)域,并提取像素點(diǎn)數(shù)量最多的連通區(qū)域即可得到前景區(qū)域的檢測(cè)結(jié)果,同時(shí)可以避免數(shù)量多且面積小的噪聲區(qū)域?qū)δ繕?biāo)區(qū)域提取的干擾。示例結(jié)果如圖2所示。由圖2可以看出,根據(jù)視頻中的幀序列圖像建立高斯混合模型,二值化提取奶牛運(yùn)動(dòng)的模糊輪廓,利用最大連通域的方式將幀圖像中的奶牛定位,根據(jù)定位矩形框的坐標(biāo)信息與尺寸信息即可截取奶牛個(gè)體圖像。

(a) 原始圖像 (b) 前景提取

(c) 視頻定位 (d) 定位結(jié)果圖2 定位過程示意圖
為了進(jìn)一步消除因光照突變或背景晃動(dòng)等因素造成噪聲連通域擴(kuò)大從而誤提取的影響,本研究采用規(guī)定像素占比的方式,即觀察每段視頻每幀圖像中最大連通域的像素個(gè)數(shù)占整個(gè)圖像的比例確定最佳占比,從而實(shí)現(xiàn)奶牛個(gè)體的定位。通過實(shí)驗(yàn),最佳占比為0.08至0.17。從圖3可以看到,當(dāng)選取幀間差為2時(shí),以示例視頻為例,定位的奶牛個(gè)體最大占比為0.13,最小占比為0.095,分別出現(xiàn)在視頻的第61幀和第73幀。控制比例范圍還可以確保截取到的圖像包含奶牛的整體特征以提高識(shí)別準(zhǔn)確率。

圖3 視頻中定位圖像占比示意圖
最終,通過高斯混合模型的定位截取方式總計(jì)獲得35頭奶牛的15 300幅測(cè)試圖像,每一類樣本數(shù)情況如圖4所示。受到如表1所示干擾因素的影響,每頭奶牛的測(cè)試圖像數(shù)量最少為300幅,最多為609幅。為了防止不同樣本數(shù)量對(duì)識(shí)別結(jié)果的影響,在識(shí)別時(shí)隨機(jī)選擇每類300幅,共計(jì)10 500幅圖像組成樣本庫(kù),隨機(jī)選取每一類的70%作為訓(xùn)練集,30%作為測(cè)試集進(jìn)行驗(yàn)證。

圖4 每頭奶牛樣本數(shù)示意圖
2.4.1 Alexnet網(wǎng)絡(luò)
CNN提取的特征是從大數(shù)據(jù)中自動(dòng)學(xué)習(xí)得到,避免了傳統(tǒng)方法手工設(shè)計(jì)的局限性。由于CNN良好的性能在圖像識(shí)別領(lǐng)域得到廣泛應(yīng)用[12-16]。AlexNet是CNN領(lǐng)域內(nèi)具有重要意義的一個(gè)網(wǎng)絡(luò)模型,證明了CNN在復(fù)雜模型下的有效性。AlexNet的網(wǎng)絡(luò)層數(shù)共有八層,前5層為卷積層,后3層為全連接層,最后一個(gè)全連接層具有1 000個(gè)輸出節(jié)點(diǎn)。輸入圖像大小為227×227×3,經(jīng)過卷積、激活、局部響應(yīng)歸一化、池化等操作,得到6×6×256大小的特征圖,再使用全連接神經(jīng)網(wǎng)絡(luò)和Softmax分類器[17]進(jìn)行訓(xùn)練和預(yù)測(cè),最終輸出1 000個(gè)分類值[18-19]。
2.4.2 網(wǎng)絡(luò)的遷移學(xué)習(xí)
針對(duì)樣本數(shù)量不充足導(dǎo)致深度學(xué)習(xí)網(wǎng)絡(luò)準(zhǔn)確率偏低的問題,本研究采用遷移學(xué)習(xí)的方式[20],即獲取已利用大數(shù)據(jù)訓(xùn)練好的Alexnet,通過微調(diào),以適應(yīng)奶牛個(gè)體的識(shí)別。Image-caffe-alex是在Caffe平臺(tái)上經(jīng)過大量數(shù)據(jù)訓(xùn)練得到的1 000類別的識(shí)別網(wǎng)絡(luò),該網(wǎng)絡(luò)的Top-5錯(cuò)誤率為19.60%。考慮到實(shí)驗(yàn)中奶牛的種類數(shù)為35,將網(wǎng)絡(luò)的最后一層全連接層‘fc8’輸出由1 000改為35,在GPU上進(jìn)行訓(xùn)練,批處理大小為64,訓(xùn)練5代,迭代次數(shù)為575次時(shí),耗費(fèi)的時(shí)間為495.42 s,代價(jià)函數(shù)收斂至0.002 4,測(cè)試集識(shí)別率為98.91%。
2.4.3 SVM分類器
SVM是機(jī)器學(xué)習(xí)領(lǐng)域的經(jīng)典分類器,它在解決小樣本、非線性及高維模式識(shí)別中表現(xiàn)出許多特有的優(yōu)勢(shì)。結(jié)合深度學(xué)習(xí)網(wǎng)絡(luò),經(jīng)遷移學(xué)習(xí)后的Alexnet,刪除最后一層全連接層‘fc8’,圖像數(shù)據(jù)通過網(wǎng)絡(luò)前向傳播至‘fc7’全連接層,輸出4 096個(gè)特征值。由于訓(xùn)練樣本數(shù)為7 350,與特征數(shù)差距不大,可以利用線性SVM以獲得較好分類效果。將7 350×4 096的訓(xùn)練集按屬性列歸一化至[0,1]區(qū)間,輸入至SVM分類器中訓(xùn)練,對(duì)比方式為“一對(duì)多”,經(jīng)過10折交叉驗(yàn)證得到SVM分類器的訓(xùn)練集分類錯(cuò)誤率為0.006 0。
針對(duì)建立的Softmax和SVM分類器的識(shí)別方法,通過對(duì)測(cè)試集準(zhǔn)確率的計(jì)算進(jìn)行了分類器魯棒性檢驗(yàn)。為了增大數(shù)據(jù)的隨機(jī)性,訓(xùn)練集和測(cè)試集隨機(jī)在樣本庫(kù)每一類中按7∶3的比例分配,進(jìn)行了10組深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試,測(cè)試結(jié)果如圖5所示。

圖5 Softmax和SVM分類器準(zhǔn)確率對(duì)比圖
可見Softmax分類器測(cè)試準(zhǔn)確率的均值為98.91%,SVM分類器為98.87%,兩者相差0.04%,分類效果相近,均可取得較好的奶牛個(gè)體識(shí)別結(jié)果。
為了驗(yàn)證算法的抗噪性,在加入噪聲的每一類圖像中隨機(jī)選取10幅作為測(cè)試圖像,擬定在每一個(gè)噪聲密度條件下做10組實(shí)驗(yàn),將分類器的準(zhǔn)確率取平均值,加噪聲效果如圖6所示。選取第10組(Softmax和SVM分類器準(zhǔn)確率分別為99.02%、99.08%)訓(xùn)練好的深度學(xué)習(xí)網(wǎng)絡(luò)和分類器進(jìn)行分類器準(zhǔn)確率檢驗(yàn),測(cè)試結(jié)果如圖7所示,可以看到隨著噪聲密度的增加,Softmax和SVM分類器準(zhǔn)確率的變化情況有所差異。結(jié)果顯示,在噪聲密度為0時(shí),Softmax分類器的平均準(zhǔn)確率為99.52%,SVM分類器的平均準(zhǔn)確率為99.81%。當(dāng)D為0~0.075時(shí),SVM分類器準(zhǔn)確率高于Softmax,當(dāng)D為0.075~0.17時(shí),Softmax分類效果更明顯,而當(dāng)D大于0.17時(shí),Softmax和SVM分類平均準(zhǔn)確率基本持平,D=0.17時(shí)分別為4.63%和4.73%。

(a) 原始圖像 (b) 加噪聲圖像圖6 加噪聲前后對(duì)比圖

圖7 分類器平均準(zhǔn)確率按噪聲密度梯度變化示意圖
(1) 在奶牛個(gè)體識(shí)別方面,本研究方法的準(zhǔn)確率有所提升,與部分文獻(xiàn)中的研究方法和準(zhǔn)確率對(duì)比如表2所示。

表2 方法準(zhǔn)確率對(duì)比
與參考文獻(xiàn)[4]所提出的基于牛口鼻紋理特征提取方法相比,識(shí)別率提高了5.04%,較參考文獻(xiàn)[5]所提出的基于FLPP的方法提高了2.04%,表明該方法可以取得優(yōu)于利用口鼻特征的傳統(tǒng)識(shí)別方法。對(duì)比文獻(xiàn)[6]中使用了21 730幅圖像識(shí)別30頭奶牛,識(shí)別率為90.55%,而本研究方法使用10 500幅圖像識(shí)別35頭奶牛,識(shí)別率為98.91%,是因?yàn)樵谏疃染W(wǎng)絡(luò)的選取和訓(xùn)練方法上,本方法利用遷移學(xué)習(xí)訓(xùn)練深度網(wǎng)絡(luò),可以在樣本數(shù)量較少的條件下獲得較高準(zhǔn)確率,識(shí)別率提升了8.36%,表明本研究所使用的深度學(xué)習(xí)網(wǎng)絡(luò)可以較好地改善奶牛個(gè)體識(shí)別的效果。
(2) 在使用高斯混合模型建模時(shí),是對(duì)每個(gè)像素點(diǎn)建立多個(gè)高斯模型,算法的計(jì)算量較大,一段10 s視頻建模需要169.73 s,不利于實(shí)時(shí)處理。對(duì)于光照突變產(chǎn)生的前景模型中有大面積、數(shù)量多的噪聲區(qū)域,影響連通域的截取。如圖8所示,噪聲區(qū)域大小與奶牛個(gè)體區(qū)域大小相似,會(huì)造成前景目標(biāo)的誤提取。

圖8 前景錯(cuò)誤提取示意圖
(3) 由于訓(xùn)練集和測(cè)試集樣本選擇的隨機(jī)性,每一個(gè)經(jīng)過訓(xùn)練的網(wǎng)絡(luò)識(shí)別率會(huì)有差異,樣本數(shù)據(jù)不夠充足也是使得網(wǎng)絡(luò)識(shí)別率波動(dòng)的原因。針對(duì)實(shí)驗(yàn)情況,在加入噪聲檢驗(yàn)的環(huán)節(jié),Softmax分類器具有更好的抗噪能力,SVM分類器識(shí)別低噪聲圖片的準(zhǔn)確率較高。
本文基于高斯混合模型的背景建模法檢測(cè)奶牛運(yùn)動(dòng)的模糊區(qū)域,利用最大像素面積規(guī)定目標(biāo)區(qū)域占比的方式可以有效清除噪聲區(qū)域和干擾區(qū)域,從而定位和跟蹤視頻幀序列圖像中的奶牛個(gè)體。
對(duì)已經(jīng)訓(xùn)練好的深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí),微調(diào)網(wǎng)絡(luò)結(jié)構(gòu),將全連接層‘fc8’的輸出節(jié)點(diǎn)由1 000改為35,使用樣本庫(kù)中的10 500幅圖像訓(xùn)練深度網(wǎng)絡(luò),結(jié)果表明,網(wǎng)絡(luò)代價(jià)函數(shù)收斂至0.002 4,訓(xùn)練集樣本的準(zhǔn)確率收斂至100%,測(cè)試集樣本的識(shí)別率為98.91%。而利用‘fc7’層的輸出值訓(xùn)練的SVM分類器準(zhǔn)確率為98.87%。
經(jīng)過加噪聲圖像的實(shí)驗(yàn),表明由Softmax分類器組成的網(wǎng)絡(luò)抗噪能力更好,SVM分類器識(shí)別低噪聲奶牛個(gè)體圖像的準(zhǔn)確率較高。