張滿囤, 米 娜, 于 洋, 單新媛, 閻 剛, 郭迎春
(河北工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與軟件學(xué)院/河北省大數(shù)據(jù)計(jì)算重點(diǎn)實(shí)驗(yàn)室,天津 300401)
互聯(lián)網(wǎng)的興起使得現(xiàn)今各行業(yè)逐漸朝著工業(yè)化、智能化發(fā)展。智能監(jiān)控視頻分析技術(shù)已逐漸深入到畜牧養(yǎng)殖的很多領(lǐng)域[1-4],其中智能感知和識別奶牛的行為并給出養(yǎng)殖管理決策支持成為當(dāng)今研究的熱點(diǎn)[5-6]。個體身份識別方法是自動分析奶牛行為的技術(shù)前提和應(yīng)用基礎(chǔ)[7]。
早期針對奶牛個體識別問題主要采取人工觀察方式,但該方法受主觀影響大、標(biāo)準(zhǔn)不統(tǒng)一,誤識別率很高;之后發(fā)展為采用標(biāo)簽識別[8]的方法,但是標(biāo)簽容易破損、對奶牛造成了過多日常干擾,可能降低奶牛產(chǎn)奶量,從而影響牛場的經(jīng)濟(jì)效益。目前,畜牧業(yè)比較流行無線射頻識別技術(shù)(RFID)[9],但該方法無法實(shí)現(xiàn)遠(yuǎn)距離識別,同時成本比較高。Ahmed等提出了運(yùn)用加速魯棒特征算子(SURF)提取奶牛嘴部紋理特征點(diǎn),利用支持向量機(jī)(SVM)分類器對奶牛個體進(jìn)行分類識別的方法,但是該方法對于采集數(shù)據(jù)的位置比較敏感,奶牛嘴部數(shù)據(jù)獲取具有一定的難度[10]?;谏疃葘W(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)[11-12]已成功應(yīng)用到模式匹配的相關(guān)研究中,但是該方法模型參數(shù)的設(shè)置需要較高的技巧性,需要反復(fù)進(jìn)行訓(xùn)練和測試,沒有統(tǒng)一參照標(biāo)準(zhǔn),模型的建立較困難。
針對上述問題,本研究提出1種奶牛個體識別方法,奶牛頭部形狀差異明顯,依據(jù)HOG(histogram of oriented gridients)特征提取可得到奶牛頭部的邊緣輪廓特征,同時奶牛黑白條紋也是識別奶牛個體的手段之一,對奶牛圖像利用改進(jìn)的LBP(local binary pattern)算法進(jìn)行局部紋理特征提取,通過使用等價模式簡化特征向量個數(shù),使用分塊子窗口得到LBP直方圖,并與HOG特征向量進(jìn)行融合得到最終的測試向量,最后將特征矩陣送入SVM分類器進(jìn)行學(xué)習(xí)分類。本研究提出的是基于圖像處理的非接觸、低成本的奶牛個體識別方法,克服了早先個體識別技術(shù)中數(shù)據(jù)采集困難、模型建立沒有統(tǒng)一標(biāo)準(zhǔn)、耗時的缺陷。
HOG特征檢測算法,一種目標(biāo)檢測的圖像描述子,是一種用于表征圖像局部梯度方向和梯度強(qiáng)度分布特性的描述符,其主要思想是在邊緣具體位置未知的情況下,邊緣方向的分布也可以很好地表示目標(biāo)的外形輪廓。HOG特征檢測算法的幾個步驟:顏色空間歸一化、梯度計(jì)算、梯度方向直方圖、重疊塊直方圖歸一化、HOG特征。由于奶牛的顏色信息對特征提取沒有很大的影響,故本研究算法主要是對灰度圖像的處理,提取HOG特征的幾個具體步驟如下:
(1)計(jì)算圖像橫坐標(biāo)和縱坐標(biāo)方向的梯度,并據(jù)此計(jì)算每個像素位置的梯度方向值,求導(dǎo)操作不僅能夠捕獲輪廓、紋理信息,還能弱化光照的影響。根據(jù)式(1)用[-1,0,1]梯度算子對原圖像做卷積運(yùn)算,得到x方向的梯度分量Gx(x,y),根據(jù)式(2)用[-1,0,1]T梯度算子對原圖像做卷積運(yùn)算,得到y(tǒng)方向的梯度分量Gy(x,y),再根據(jù)式(3)計(jì)算該像素點(diǎn)的梯度大小,根據(jù)式(4)計(jì)算該像素點(diǎn)的梯度方向:
Gx(x,y)=H(x+1,y)-H(x-1,y);
(1)
Gy(x,y)=H(x,y+1)-H(x,y-1);
(2)
(3)
(4)
式(3)中G(x,y)是像素點(diǎn)的梯度大小,式(4)中α(x,y)是像素點(diǎn)的梯度方向。
(2)由于cell單元格是HOG特征最小的結(jié)構(gòu)單位,而且其塊Block和檢測窗口Win的滑動步長就是1個cell的寬度或高度,所以先把整個圖像分割為一個個的cell單元格(8×8像素),假設(shè)我們采用9個bin的直方圖來統(tǒng)計(jì)這8×8個像素的梯度信息,即把[0,2π]的梯度方向劃分成9個區(qū)間(圖1)。
例如,這個像素的梯度方向是20°~40°,直方圖第2個bin的計(jì)數(shù)就加1,這樣對cell內(nèi)每個像素用梯度方向在直方圖中進(jìn)行加權(quán)投影(映射到固定的角度范圍),就可以得到這個cell的梯度方向直方圖,就是該cell對應(yīng)的9維特征向量(因?yàn)橛?個bin),其中根據(jù)上面計(jì)算結(jié)果依據(jù)梯度大小作為每個像素點(diǎn)在不同區(qū)間的投影權(quán)值,更新直方圖某個bin的計(jì)數(shù)值。
(3)由于局部光照的變化以及前景-背景對比度的變化,使得梯度強(qiáng)度的變化范圍非常大。這就需要對梯度強(qiáng)度做歸一化處理。歸一化處理能夠進(jìn)一步地對光照、陰影和邊緣進(jìn)行壓縮。將多個臨近的cell組合成一個block塊,然后求其梯度方向直方圖向量并對其進(jìn)行L2-norm歸一化操作,如式(5)所示:
(5)
式中:v表示一個還沒有被歸一化的向量,它包含了給定區(qū)間(block)的所有直方圖信息?!琕k‖表示V的k階范數(shù),這里的k取1,e表示一個很小的常數(shù),f表示歸一化因子。
(4)最后將所有“block”的HOG描述符組合在一起,形成最終的特征向量,該特征向量就描述了檢測窗口的圖像內(nèi)容,即HOG特征向量H1。
LBP是一種用來描述圖像局部紋理特征的算子;它具有旋轉(zhuǎn)不變性和灰度不變性等顯著的優(yōu)點(diǎn),用于紋理特征提取。
定義在圖像中某個3×3局部區(qū)域的任意像素為f(xa,ya)其中心像素點(diǎn)為ga,將相鄰的8個像素的灰度值與ga進(jìn)行比較,若周圍像素值大于中心像素值,則該像素點(diǎn)的位置被標(biāo)記為1,否則為0,如式(6)所示得到圖像的紋理特征T(xa,ya):
(6)
這樣3×3鄰域內(nèi)的8個點(diǎn)經(jīng)比較可產(chǎn)生8位二進(jìn)制數(shù)(通常轉(zhuǎn)換為十進(jìn)制數(shù)即LBP碼,共256種),即得到該窗口中心像素點(diǎn)的LBP值,并用這個值來反映該區(qū)域的紋理信息。
通過對窗口的鄰域像素值進(jìn)行二值化處理,得到圖像的紋理特征T(xb,yb),計(jì)算過程如式(7)所示:
(7)
式中:g0、g1、…、g7為鄰域像素值,T(xa,ya)、T(xb,yb)為圖像的紋理信息,s(x)是鄰域像素進(jìn)行二值化處理后的值,通過比較T(xa,ya)、T(xb,yb)得到改進(jìn)后的LBP編碼為T(xc,yc),計(jì)算過程如式(8)所示:
(8)
對像素的不同位置進(jìn)行加權(quán)求和得圖像的LBP值為LBP(xc,yc),計(jì)算過程如式(9)所示:
(9)
將LBP值與循環(huán)移動后的一位進(jìn)行位與操作,計(jì)算二進(jìn)制為1的個數(shù),標(biāo)記≤2的為等價模式,其余的為混合模式,選擇等價模式中LBP值最小的為等價模式中的代表值,更新LBP值,通過這樣的改進(jìn),二進(jìn)制模式的種類大大減少,而不會丟失任何信息。模式數(shù)量減少為P(P-1)+2種,其中P表示鄰域集內(nèi)的采樣點(diǎn)數(shù)。對于3×3鄰域內(nèi)8個采樣點(diǎn)來說,二進(jìn)制模式減少為58種,這使得特征向量的維數(shù)更少,并且可以減少高頻噪聲帶來的影響。
將LBP特征譜以6×6子窗口掃描整個圖像,得到直方圖H21,在以4×4子窗口掃描整個圖像,得到直方圖H22,最后以2×2子窗口掃描整個圖像,得到直方圖H23,將不同尺度下的LBP直方圖級聯(lián)起來得到圖像的特征向量H2=[H21,H22,H23],通過級聯(lián)特征向量H1和H2得到改進(jìn)HOG-LBP算法的特征向量H=[H1,H2]。
主成分分析(principal component analysis,PCA),是圖像處理中經(jīng)常用到的圖像處理方法。PCA是多元統(tǒng)計(jì)分析中用來分析數(shù)據(jù)的一種方法,它是用一種較少數(shù)量的特征對樣本進(jìn)行描述以達(dá)到降低特征空間維數(shù)的方法,它的本質(zhì)實(shí)際上是K-L變換。PCA具體實(shí)現(xiàn)過程如下:
設(shè)有N個人臉訓(xùn)練樣本,每個樣本由其像素灰度值組成一個向量xi,則樣本圖像的像素點(diǎn)數(shù)即為xi的維數(shù),M=width×height,由向量構(gòu)成的訓(xùn)練樣本集為{x1,x2,…,xn},該樣本集的平均向量如式(10)所示:
(10)
樣本集的協(xié)方差矩陣如式(11)所示:
(11)
通過協(xié)方差矩陣初步求得特征向量、訓(xùn)練集數(shù)組、特征值數(shù)組,將特征值數(shù)組由大到小排列,通過公式(12)計(jì)算特征值的累計(jì)貢獻(xiàn)率,選擇前95%的特征值對應(yīng)的特征向量,通過公式(13)得到最終訓(xùn)練集數(shù)組、測試集數(shù)組:
(12)
(13)
式(12)中l(wèi)atent為特征值數(shù)組,α為每個特征值的貢獻(xiàn)率,α(n)為第n個特征值的貢獻(xiàn)率,α(n-1)為第n-1個特征值的貢獻(xiàn)率,β為特征值的累計(jì)貢獻(xiàn)率,γ為符合條件的特征值;
圖像分類指的是根據(jù)從圖像提取的特征融合特征將目標(biāo)圖像歸為不同類別的過程。設(shè)計(jì)分類所用的分類器是圖像分類中重要的一個環(huán)節(jié),常用的分類器是SVM[13-14]。SVM根據(jù)訓(xùn)練樣本信息,兼顧學(xué)習(xí)能力和模型復(fù)雜度,尋找最優(yōu)解,并且具有最好的推廣能力。在二分類下,測試樣本的決策函數(shù)如式(14)所示:
g(x)=∑aiyiK(xi,x)-b。
(14)
K(xi,x)是訓(xùn)練樣本,xi是測試樣本x的核函數(shù)的返回值。y代表分類標(biāo)簽,a是訓(xùn)練樣本的學(xué)習(xí)加權(quán),b是學(xué)習(xí)的閾值參數(shù)。
SVM分類器能夠選用一個好的核函數(shù)非常的重要,雖然現(xiàn)今已經(jīng)存在許多核函數(shù),但是具體哪個核函數(shù)對視覺分類特別是針對奶牛個體識別更有效并不清楚。本研究通過線性核函數(shù)的多分類libsvm進(jìn)行訓(xùn)練,每頭奶牛保留下1 000張有效圖片,在經(jīng)過特征提取后具有相應(yīng)的1 000個特征向量,分別將每頭奶牛的1 000個特征向量以隨機(jī)方式劃分成800個訓(xùn)練數(shù)據(jù)和200個測試數(shù)據(jù),最終組成包含16 000個特征向量的訓(xùn)練矩陣和包含4 000個特征向量的測試矩陣。
將奶牛訓(xùn)練集數(shù)據(jù)送入SVM進(jìn)行建模訓(xùn)練,得到訓(xùn)練好的模型,最后將奶牛測試集數(shù)據(jù)送入SVM訓(xùn)練的模型中進(jìn)行測試,得出預(yù)測結(jié)果;根據(jù)得到的相應(yīng)預(yù)測結(jié)果,輸出測試集中各特征向量對應(yīng)的奶牛不同個體的標(biāo)號,得到奶牛個體類別。
為驗(yàn)證本研究算法的有效性,試驗(yàn)過程中構(gòu)造了奶牛面部圖像數(shù)據(jù)庫,涵蓋了光照、姿勢、年齡等因素。本試驗(yàn)在Intel? CoreTMi5處理器、8 G內(nèi)存、Windows 7旗艦版及Matlab R2012(a)下編程實(shí)現(xiàn),本試驗(yàn)基于傳統(tǒng)的HOG特征提取,得到奶牛頭部的邊緣輪廓特征,由于傳統(tǒng)的HOG只是對邊緣方向的密度分布有很好的描述,缺乏對局部紋理特征信息的提取,故引入改進(jìn)的LBP算法,獲取奶牛圖像紋理信息,通過使用等價模式簡化特征向量個數(shù),使用分塊子窗口得到LBP直方圖,將HOG特征向量與LBP特征向量進(jìn)行特征融合為最終測試向量,在使用SVM算法進(jìn)行分類的過程中,通過LIBSVM軟件包的使用來完成圖像的分類,并且本研究嘗試使用線性核函數(shù)、RBF核函數(shù)以及直方圖交叉核作為SVM分類器的核函數(shù),通過試驗(yàn)結(jié)果分析,線性核函數(shù)的分類精度更高,分類時間短、效果更好。圖2顯示了算法實(shí)現(xiàn)的主要流程。
本研究提出的基于改進(jìn)HOG-LBP特征融合算法的具體實(shí)現(xiàn)過程如下:
(1)對奶牛圖像進(jìn)行前期的預(yù)處理,構(gòu)建實(shí)驗(yàn)數(shù)據(jù)庫。
(2)利用HOG算子,提取奶牛圖像的局部外觀特征。
(3)利用改進(jìn)的HOG-LBP算子獲得奶牛圖像的特征,結(jié)合邊緣/局部形狀信息以及紋理信息,在復(fù)雜的背景環(huán)境下能夠提高奶牛的識別率。
(4)HOG冗余信息太多并且LBP不同尺度特征向量級聯(lián),所以采用主成分分析對提取的特征向量降維,去除相關(guān)性低的特征向量,提高分類時間及準(zhǔn)確率。
(5)svm分類識別。
5.2.1 數(shù)據(jù)及來源 初始數(shù)據(jù)采用奶牛頭部視頻,視頻采集自一個養(yǎng)殖數(shù)量大于300頭的規(guī)范奶牛養(yǎng)殖場的奶牛頭部視頻,應(yīng)用攝像設(shè)備錄制,視頻采集時間集中在奶牛進(jìn)食階段,每次錄制20頭奶牛,每頭奶牛錄制時間為1 min,幀速 29幀/s,分別采集每頭奶牛的抬頭、偏頭、低頭和進(jìn)食這幾種狀態(tài),包含了奶牛頭部的鼻鏡和額部位差異明顯的特點(diǎn)。
5.2.2 數(shù)據(jù)預(yù)處理 分別將上述第一步采集的20頭奶牛頭部的視頻數(shù)據(jù)轉(zhuǎn)化成圖片序列,初始圖片大小為1 920×1 080 像素,將彩色圖片序列轉(zhuǎn)為灰度圖像,并使用Photoshop軟件的批量處理功能截取奶牛頭部圖像,然后通過高通濾波處理原圖像,使模糊的圖像更清晰,圖像邊緣紋理增強(qiáng),最后將圖片進(jìn)行尺寸歸一化到128×128,預(yù)處理后的圖像見圖3,最后將20頭奶牛從1到20編號,表示20個待識別的不同個體,每頭奶牛保留1 000張有效圖片。
5.2.3 結(jié)果分析 利用20頭奶牛個體的20 000張圖片按照上述步驟計(jì)算出識別正確率和識別時間,本研究算法與同樣條件下改進(jìn)HOG-LBP算法、改進(jìn)LBP算法、傳統(tǒng)LBP算法、優(yōu)化HOG算法、傳統(tǒng)HOG算法、Gabor算法計(jì)算得到的識別正確率和識別時間進(jìn)行對比,結(jié)果見表1。本研究算法與其他幾種算法相比,識別正確率最高,SVM分類識別時間最短。
表1 不同算法對比
試驗(yàn)1和試驗(yàn)2都是采用本研究方法對奶牛個體進(jìn)行識別,二者選擇的特征值累計(jì)貢獻(xiàn)率不同,試驗(yàn)1采用特征值是98%的累計(jì)貢獻(xiàn)率,得到的最小特征維數(shù)45,試驗(yàn)2采用特征值是99%的累計(jì)貢獻(xiàn)率,得到的最小特征維數(shù)378,由試驗(yàn)1和試驗(yàn)2可以看到,選擇不同的特征值累計(jì)貢獻(xiàn)率,最后得到的最小特征維數(shù)、識別準(zhǔn)確率和分類識別時間是有差異的,在對奶牛個體進(jìn)行識別中將根據(jù)情況的需要選擇適合的特征值累計(jì)貢獻(xiàn)率。
試驗(yàn)2和試驗(yàn)3分別為采用本研究算法與改進(jìn)HOG-LBP算法對奶牛個體進(jìn)行識別,數(shù)據(jù)結(jié)果顯示,在相同的測試樣本中,分類識別時間大大減少,同時識別率有所增加,因?yàn)橹鞒煞址治鰧⑻卣飨蛄恐械亩嘤嘈畔⑷コWC了信息提取的準(zhǔn)確性。
試驗(yàn)3、試驗(yàn)4分別為采用改進(jìn)HOG-LBP算法與改進(jìn)LBP算法對奶牛個體進(jìn)行識別,數(shù)據(jù)結(jié)果顯示,在相同的測試樣本中,改進(jìn)HOG-LBP算法的識別正確率明顯高于改進(jìn)LBP算法,因?yàn)楦倪M(jìn)HOG-LBP算法將LBP中的紋理特征提取與HOG邊緣特征提取進(jìn)行了融合,二者互補(bǔ)大大提高了識別效率,保證了特征提取的信息完整性。
試驗(yàn)4和試驗(yàn)5為分別采用改進(jìn)LBP算法與傳統(tǒng)LBP算法對奶牛個體進(jìn)行識別,數(shù)據(jù)結(jié)果顯示,在測試樣本相同的條件下,改進(jìn)LBP算法的識別正確率明顯高于傳統(tǒng)LBP算法,因?yàn)楦倪M(jìn)LBP算法不僅考慮了鄰域像素與中心像素的關(guān)系,還考慮了鄰域像素之間的關(guān)系,這樣大大減少了光照噪聲的影響,同時采用多尺度劃分區(qū)域,分別統(tǒng)計(jì)各區(qū)域的LBP直方圖,提取到了更加豐富和準(zhǔn)確的信息。
試驗(yàn)6和試驗(yàn)7分別采用優(yōu)化HOG算法與傳統(tǒng)HOG算法對奶牛個體進(jìn)行識別,數(shù)據(jù)結(jié)果顯示,在測試樣本相同的條件下,優(yōu)化HOG算法特征提取的時間明顯優(yōu)于傳統(tǒng)HOG算法,因?yàn)閮?yōu)化HOG算法直接在灰度圖上進(jìn)行梯度的大小和方向計(jì)算,采用邊緣強(qiáng)度加權(quán)投票,省去了傳統(tǒng)HOG算法的三線性差值計(jì)算,在保證識別率未降低的情況下大大加速了特征提取的時間。
試驗(yàn)8采用Gabor算法[15]對奶牛個體進(jìn)行識別,數(shù)據(jù)結(jié)果顯示,在測試樣本相同的條件下,與本研究方法相比,Gabor算法分類識別時間雖短,但是識別率較低,主要是因?yàn)镚abor濾波的通道有限,用1個中心頻率不能描述能量在多頻率的紋理信息,因此得到的效果不理想。
本研究提出一種基于特征融合的奶牛個體識別方法,將奶牛輪廓特征與局部紋理特征相結(jié)合,是應(yīng)用改進(jìn)的HOG-LBP算法進(jìn)行特征提取、主成分分析方法特征降維的奶牛個體識別方法,克服了早先奶牛個體識別技術(shù)中旋轉(zhuǎn)魯棒性差、易受光照影響、噪聲大的缺陷。利用自行從牛場拍攝的20頭奶牛的20 000張圖像作為試驗(yàn)數(shù)據(jù),結(jié)果表明將本研究算法應(yīng)用于奶牛個體識別既能縮短檢測時間,又能在較復(fù)雜的背景下有較高的識別率,對于加快奶牛的信息化管理具有一定的現(xiàn)實(shí)意義。