王少華 何東健 劉 冬
(1.西北農(nóng)林科技大學(xué)機(jī)械與電子工程學(xué)院, 陜西楊凌 712100; 2.農(nóng)業(yè)農(nóng)村部農(nóng)業(yè)物聯(lián)網(wǎng)重點(diǎn)實(shí)驗(yàn)室, 陜西楊凌 712100)
和其他哺乳動(dòng)物一樣,奶牛只有受孕后才會(huì)分泌乳汁。及時(shí)發(fā)現(xiàn)發(fā)情期奶牛、保證順利受精是增加奶牛產(chǎn)奶量、提高牛場(chǎng)經(jīng)濟(jì)效益的關(guān)鍵。正常養(yǎng)殖條件下,健康成年奶牛常年發(fā)情,每次發(fā)情持續(xù)時(shí)間為6~30 h,間情期為21 d左右。發(fā)情期奶牛會(huì)出現(xiàn)活動(dòng)量增加、哞叫不止、爬跨和接受爬跨等行為,其中爬跨行為是通過觀察了解奶牛發(fā)情的主要形式。尤其進(jìn)入發(fā)情旺盛期的奶牛,被爬跨時(shí)站立不動(dòng),這成為奶牛發(fā)情最可靠的標(biāo)志。奶牛發(fā)情多在夜間,傳統(tǒng)方法通過人工進(jìn)行觀察,受限于工作時(shí)間和工人經(jīng)驗(yàn),識(shí)別效率不高。近年來,我國(guó)奶牛養(yǎng)殖業(yè)向規(guī)模化方向發(fā)展,傳統(tǒng)方法已經(jīng)不能滿足生產(chǎn)需求,亟需對(duì)其進(jìn)行改進(jìn)[1-3]。因此,研究基于機(jī)器視覺的奶牛發(fā)情行為自動(dòng)識(shí)別方法,對(duì)現(xiàn)階段我國(guó)奶牛養(yǎng)殖業(yè)發(fā)展具有重要意義。
目前國(guó)內(nèi)外已有的關(guān)于奶牛發(fā)情行為識(shí)別的研究主要采用兩種方式:一種是基于奶牛運(yùn)動(dòng)量、體溫、激素等數(shù)據(jù)的直接接觸方法;另一種是基于聲音、圖像、視頻等數(shù)據(jù)的非接觸式方法。直接接觸法通過給奶牛佩戴或植入傳感器獲取奶牛體征數(shù)據(jù),通過分析數(shù)據(jù)識(shí)別發(fā)情[4-14]。直接接觸法獲取數(shù)據(jù)直觀,數(shù)據(jù)處理簡(jiǎn)單,是一種有效的奶牛發(fā)情識(shí)別方法,但它往往引起動(dòng)物福利的問題,且植入和佩戴傳感器會(huì)導(dǎo)致奶牛產(chǎn)生應(yīng)激反應(yīng),使測(cè)得的數(shù)據(jù)失真。因此,基于聲音和視頻圖像等的非接觸式方法識(shí)別奶牛發(fā)情行為成為研究熱點(diǎn)[15-28],尤其是基于視頻圖像的識(shí)別方法,價(jià)格低廉、容易安裝、對(duì)奶牛干擾小,受到研究人員的關(guān)注。
非接觸式方法在識(shí)別奶牛發(fā)情時(shí),存在過度依賴閾值分割結(jié)果、自動(dòng)化水平不夠和識(shí)別準(zhǔn)確率不高等問題。針對(duì)這些問題,本文提出一種基于機(jī)器視覺的奶牛發(fā)情行為自動(dòng)識(shí)別方法。該方法首先對(duì)高斯混合模型進(jìn)行改進(jìn),使之更適于固定場(chǎng)景下的運(yùn)動(dòng)目標(biāo)檢測(cè);然后,考慮復(fù)雜牛場(chǎng)環(huán)境下的目標(biāo)檢測(cè)結(jié)果中可能存在非奶牛目標(biāo),為提高識(shí)別效率,使用基于顏色和紋理信息的方法去除非奶牛目標(biāo);最后,使用AlexNet深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練奶牛行為分類網(wǎng)絡(luò)模型,識(shí)別奶牛發(fā)情行為。
本研究視頻采集自陜西省寶雞市扶風(fēng)縣西北農(nóng)林科技大學(xué)畜牧實(shí)驗(yàn)基地奶牛養(yǎng)殖場(chǎng),經(jīng)實(shí)地考察和調(diào)研,發(fā)現(xiàn)奶牛爬跨行為主要發(fā)生在養(yǎng)殖場(chǎng)的奶?;顒?dòng)區(qū),故選擇對(duì)奶?;顒?dòng)區(qū)進(jìn)行視頻采集。奶牛活動(dòng)區(qū)長(zhǎng)30 m,寬18 m,視頻采集角度選擇場(chǎng)邊俯視,在奶?;顒?dòng)區(qū)的對(duì)角線位置各安裝2個(gè)分辨率為200萬像素的監(jiān)控?cái)z像機(jī)(YW7100HR09-SC62-TA12型,深圳億維科技有限公司),攝像機(jī)安裝高度3.3 m,向下傾斜15.5°,安裝好的攝像機(jī)及視野圖像如圖1所示。視頻采集從2016年12月開始,到2017年4月結(jié)束,期間共采集奶?;顒?dòng)視頻3 600段,每段視頻長(zhǎng)10 min,分辨率為1 920像素(水平)×1 080像素(垂直),幀率為25 f/s。
圖1 攝像機(jī)安裝位置及視野圖像Fig.1 Camera installation location and view image
本研究旨在通過使用機(jī)器視覺算法對(duì)采集的視頻進(jìn)行分析,自動(dòng)識(shí)別出場(chǎng)景中的發(fā)情奶牛。識(shí)別方法流程圖如圖2所示,主要包含3個(gè)關(guān)鍵環(huán)節(jié):
(1)運(yùn)動(dòng)目標(biāo)檢測(cè):使用改進(jìn)的高斯混合模型對(duì)視頻圖像做運(yùn)動(dòng)目標(biāo)檢測(cè),精準(zhǔn)檢測(cè)運(yùn)動(dòng)奶牛輪廓,經(jīng)形態(tài)學(xué)處理和空洞填充后,獲得完整運(yùn)動(dòng)奶牛區(qū)域。
(2)干擾去除:因牛場(chǎng)光線變化或工作人員進(jìn)入視野,運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果中含有非奶牛目標(biāo),本文提出了一種基于顏色和紋理特征的區(qū)分方法,可有效去除非奶牛目標(biāo)區(qū)域。
(3)奶牛爬跨行為識(shí)別:從視頻中提取奶牛的躺臥、爬跨、站立、游走等行為圖像,使用AlexNet深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練奶牛行為分類網(wǎng)絡(luò)模型,模型可識(shí)別爬跨行為,用以判斷奶牛發(fā)情。
圖2 奶牛發(fā)情行為自動(dòng)識(shí)別方法流程圖Fig.2 Flow chart of dairy cow estrus behavior automatic recognition method
1.3.1視頻預(yù)處理
預(yù)處理是進(jìn)行視頻圖像處理的重要步驟,它可以去除圖像中的無關(guān)信息進(jìn)而提高有效信息占比[29]。在奶牛視頻中,低亮度和噪聲會(huì)造成目標(biāo)與背景對(duì)比度下降,而低對(duì)比度的圖像不利于目標(biāo)的有效提取,對(duì)于夜間拍攝的低亮度圖像,可以通過圖像增強(qiáng)技術(shù)來提高其對(duì)比度,對(duì)于含有噪聲的圖像,可以使用濾波技術(shù)去除圖像中的噪聲。本文選用Gamma變換來增強(qiáng)圖像
Gx,y=(Ix,y+Vesp)γ
(1)
式中Ix,y——Gamma變換前的像素
Gx,y——Gamma變換后的像素
Vesp——補(bǔ)償系數(shù)γ——系數(shù)
圖3為γ取不同值時(shí)的結(jié)果。由圖3可以看出,原始圖像整體偏暗,畫面遠(yuǎn)端的奶牛與背景對(duì)比度不足,對(duì)目標(biāo)輪廓的辨識(shí)較為困難;經(jīng)圖像增強(qiáng)校正后,當(dāng)γ=0.5時(shí),圖像亮度提高,但提高過度,引入了新的白噪聲,導(dǎo)致圖像清晰度下降;γ=0.8時(shí),圖像亮度提升較好,圖像對(duì)比度提升,遠(yuǎn)端奶牛的辨識(shí)度也更為清晰。因此,本研究選擇γ=0.8的Gamma變換。圖4為中值濾波的結(jié)果,分別取濾波窗口為3×3、5×5、7×7做對(duì)照,研究發(fā)現(xiàn),3×3窗口不能完全濾除噪聲,7×7窗口下會(huì)出現(xiàn)奶牛目標(biāo)的邊緣模糊,因此本研究選取5×5窗口進(jìn)行中值濾波。
圖3 不同γ下的圖像增強(qiáng)結(jié)果Fig.3 Image enhancement results with different γ
圖4 不同窗口下的中值濾波結(jié)果Fig.4 Median filtering results in different windows
由于供試視頻拍攝位置及角度固定,拍攝成像的奶牛場(chǎng)區(qū)域固定,且奶牛的活動(dòng)范圍被限制在圍欄內(nèi),不會(huì)出現(xiàn)奶牛超出圍欄區(qū)域活動(dòng),因此確定圍欄內(nèi)的奶牛活動(dòng)區(qū)為視頻拍攝的有效區(qū)域,為減少不必要的干擾,通過掩膜法掩去視頻內(nèi)容中的無關(guān)區(qū)域,如圖5所示,后期對(duì)奶牛的目標(biāo)檢測(cè)和行為識(shí)別均只在有效區(qū)域內(nèi)進(jìn)行。
圖5 視頻圖像掩膜后的圖像Fig.5 Effective area of video image after masking
1.3.2基于改進(jìn)高斯混合模型的運(yùn)動(dòng)區(qū)域檢測(cè)算法
為了識(shí)別奶牛爬跨行為,首先需要對(duì)視頻中的奶牛做目標(biāo)檢測(cè),常用的目標(biāo)檢測(cè)方法有幀差法、光流法、高斯混合模型法等。考慮本研究視頻記錄時(shí)間長(zhǎng)且拍攝環(huán)境復(fù)雜,故選用高斯混合模型并對(duì)其改進(jìn)作為本文運(yùn)動(dòng)奶牛目標(biāo)的檢測(cè)方法。
高斯混合模型由多個(gè)(3~5個(gè))單高斯模型構(gòu)成,設(shè)(x1,x2,…,xn)為模型采樣像素點(diǎn)x的樣本集L,其概率密度分布為
(2)
其中
式中K——模型中單高斯模型的數(shù)量
wk——第k個(gè)單高斯模型權(quán)重
μk——第k個(gè)單高斯模型均值
經(jīng)典高斯混合模型存在模型復(fù)雜度高、計(jì)算量大、無法根據(jù)局部背景優(yōu)化模型數(shù)量等問題[30-32],考慮本研究視頻場(chǎng)景固定和視頻記錄時(shí)間長(zhǎng)的特點(diǎn),本文對(duì)經(jīng)典高斯混合模型進(jìn)行了改進(jìn),具體如下:
(1)自適應(yīng)模型數(shù)量?jī)?yōu)選方法
為降低模型復(fù)雜度,減少計(jì)算量,提出一種自適應(yīng)模型數(shù)量?jī)?yōu)選方法。在模型數(shù)量K固定的條件下,高斯混合模型中的每個(gè)模型均采樣若干樣本直至飽和,該方式會(huì)出現(xiàn)冗余模型,造成系統(tǒng)資源浪費(fèi)和背景建模速度慢。因此,本文對(duì)模型的更新方法進(jìn)行了調(diào)整,使其可以結(jié)合不同區(qū)域的像素特點(diǎn)選擇最優(yōu)的模型數(shù)量。
對(duì)已建立的模型,計(jì)算兩相鄰模型的均值差,若滿足
|μk-μk+1| (3) 式中T——閾值 則更新大權(quán)值模型,并刪除小權(quán)值模型。模型更新方程為 w=max(wk,wk+1) (4) μ=η1μk+(1-η1)μk+1(0<η1<1) (5) (6) 式中η1、η2——參數(shù)學(xué)習(xí)率 w——單高斯模型權(quán)重 μ——單高斯模型均值 σ2——單高斯模型方差 經(jīng)預(yù)試驗(yàn),本文取η1=0.7,η2=0.6。若相鄰模型均值差不滿足式(3),則保持原更新規(guī)則不變。 (2)噪聲約束因子 為增加模型在復(fù)雜環(huán)境下的抗噪能力,提升系統(tǒng)魯棒性,引入噪聲約束因子。模型采樣的像素點(diǎn)樣本主要分為背景、前景和噪聲,通常噪聲樣本數(shù)遠(yuǎn)小于其他兩者[30]?;诖?,本文在模型最大似然估計(jì)階段,對(duì)其似然函數(shù)添加噪聲約束因子N。 高斯混合模型的權(quán)值wk可以等價(jià)為樣本來自第k個(gè)模型的概率,加入噪聲約束因子后,其似然函數(shù)為 (7) 式中 l ——模型似然函數(shù) nk——第k個(gè)單高斯模型采樣的樣本數(shù) 式(7)可改寫為 (8) 式(8)中,等號(hào)右側(cè)第2項(xiàng)即為噪聲約束項(xiàng),引入Lagrange算子λ,式(8)可以改寫為 (9) 由式(9)求得權(quán)重更新方程為 (10) α——學(xué)習(xí)率 nt——t時(shí)刻的近期采樣數(shù) 由式(10)可知,引入噪聲約束因子后,模型初始化權(quán)值為負(fù),對(duì)于第k個(gè)模型,至少需要nk(nk>N)個(gè)樣本來支撐,才能保證其權(quán)值為正。每次迭代更新時(shí),算法會(huì)自動(dòng)拋棄權(quán)值小于零的模型,由此去除可能由噪聲帶來的錯(cuò)誤模型,實(shí)現(xiàn)噪聲抑制。 為進(jìn)一步提高模型實(shí)時(shí)性并加強(qiáng)其對(duì)遙遠(yuǎn)歷史幀信息的存儲(chǔ)能力,本文引入關(guān)鍵幀提取技術(shù)[33],以運(yùn)動(dòng)目標(biāo)區(qū)域作為參考,選擇平均差分強(qiáng)度高于預(yù)設(shè)閾值的幀作為視頻的關(guān)鍵幀。根據(jù)前一幀檢測(cè)結(jié)果用最小外接矩形標(biāo)記運(yùn)動(dòng)目標(biāo),若矩形區(qū)域內(nèi)后一幀與前一幀平均差分強(qiáng)度高于預(yù)設(shè)閾值(30~50像素),則視其為關(guān)鍵幀。 1.3.3基于顏色和紋理特征的非奶牛目標(biāo)去除 由于牛場(chǎng)光線變化和工作人員、鳥類等進(jìn)入視野,目標(biāo)檢測(cè)結(jié)果中會(huì)包含部分非奶牛目標(biāo),如圖6所示。為提高識(shí)別效率,本文提出了一種基于顏色和紋理特征的非奶牛目標(biāo)去除方法。 圖6 運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果中出現(xiàn)的非奶牛目標(biāo)Fig.6 Non-cow targets in result of moving targets detection 對(duì)于改進(jìn)高斯混合模型的檢測(cè)結(jié)果,選擇其最小外接矩形作為待檢區(qū)域,用R(i)j表示,其中i為視頻幀號(hào),j為區(qū)域編號(hào)。計(jì)算待檢區(qū)域R(i)j的紋理特征Mgd和顏色特征Pb&w,即灰度差分均值和黑白像素之和占比,計(jì)算公式為 (11) (12) 式中m——待檢區(qū)域灰度差分級(jí)數(shù) d——灰度差分值 h——灰度差分直方圖概率統(tǒng)計(jì)函數(shù) Cb——待檢區(qū)域中黑色像素(像素小于60)數(shù) Cw——待檢區(qū)域中白色像素(像素大于250)數(shù) C——待檢區(qū)域總像素?cái)?shù) 設(shè)置閾值TM、TP,若R(i)j計(jì)算結(jié)果滿足 (13) 則認(rèn)為該區(qū)域?yàn)檫\(yùn)動(dòng)奶牛目標(biāo)區(qū)域,予以保留,否則,去除該目標(biāo)區(qū)域。在預(yù)備試驗(yàn)中確定TM、TP的取值為0.13、0.12。 1.3.4基于AlexNet的奶牛行為分類網(wǎng)絡(luò)模型 本文選用AlexNet深度學(xué)習(xí)網(wǎng)絡(luò)來構(gòu)建奶牛行為分類網(wǎng)絡(luò)模型,經(jīng)觀察,活動(dòng)區(qū)奶牛的日常行為主要有躺臥、爬跨、站立、游走等,考慮到奶牛的站立和游走行為視覺特征過于接近,為防止過擬合,將其視作一個(gè)類,故本文模型的輸出共有3個(gè):躺臥、爬跨、站立/游走。 AlexNet[34]共有8個(gè)權(quán)值層,其中前5層為卷積層,后3層為全連接層,各層節(jié)點(diǎn)及參數(shù)如表1所示。AlexNet在前2個(gè)全連接層中使用了Dropout,如圖7所示。訓(xùn)練時(shí),使用了Dropout的全連接層,每個(gè)神經(jīng)元節(jié)點(diǎn)以1-p的概率被置為0,這會(huì)使每個(gè)batch的訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)都不一定相同,而在訓(xùn)練完成后進(jìn)行分類時(shí),所有的神經(jīng)元都不會(huì)被置為0,這樣,最后分類的結(jié)果相當(dāng)于集成了多個(gè)不同的網(wǎng)絡(luò),以此來提升泛化能力,減輕過擬合。 表1 AlexNet各層結(jié)構(gòu)及參數(shù)Tab.1 Structure and parameters of layer of AlexNet 圖7 Dropout原理示意圖Fig.7 Schematics of Dropout 為了解決訓(xùn)練樣本不足的問題,本文采用遷移學(xué)習(xí)的思想[35],在預(yù)訓(xùn)練好的模型基礎(chǔ)上,利用奶牛行為圖像樣本進(jìn)行微調(diào)(fine-tuning),得到奶牛行為分類網(wǎng)絡(luò)模型。本次訓(xùn)練有圖像樣本3 699幅,其中訓(xùn)練集樣本2 550幅,測(cè)試集樣本849幅,驗(yàn)證集樣本300幅,模型的訓(xùn)練步驟如下:①構(gòu)造樣本數(shù)據(jù)集,并生成類別標(biāo)簽。②將訓(xùn)練集和測(cè)試集轉(zhuǎn)換為AlexNet輸入格式,并計(jì)算訓(xùn)練集均值。③選定預(yù)加載的模型,并修改模型最后一層輸出數(shù)量。④配置訓(xùn)練參數(shù)。⑤開始fine-tuning訓(xùn)練。 完成訓(xùn)練后的模型具有識(shí)別輸入的奶牛行為圖像是否為躺臥、爬跨、站立/游走的功能。在使用目標(biāo)檢測(cè)方法獲得運(yùn)動(dòng)奶牛圖像后,輸入模型,判斷是否為爬跨行為,如果是則確認(rèn)奶牛發(fā)情,系統(tǒng)保存圖像,并提醒工作人員查看。 本文試驗(yàn)環(huán)境為64位Windows 10操作系統(tǒng),Intel Core i7-4720HQ CPU,主頻2.6 GHz,內(nèi)存8 GB。運(yùn)動(dòng)奶牛目標(biāo)檢測(cè)算法用Matlab 2014b開發(fā)并進(jìn)行試驗(yàn);奶牛行為分類網(wǎng)絡(luò)模型由Python 3.5基于Caffe深度學(xué)習(xí)平臺(tái)[36]、GPU模式(Nvidia GTX 960)訓(xùn)練實(shí)現(xiàn);奶牛發(fā)情行為識(shí)別算法使用Matlab 2014b和Python 3.5開發(fā)。 為了驗(yàn)證本文提出的運(yùn)動(dòng)奶牛目標(biāo)檢測(cè)方法的有效性,選取不同天氣狀況下、不同時(shí)段的奶牛監(jiān)控視頻片段10段,通過關(guān)鍵幀提取共獲取4 866幅圖像,進(jìn)行運(yùn)動(dòng)奶牛目標(biāo)檢測(cè)試驗(yàn),檢測(cè)結(jié)果如圖8所示。 采用目標(biāo)檢出率VDR(屬于運(yùn)動(dòng)牛奶的像素被正確識(shí)別為前景的百分比)、背景誤檢率VFAR(屬于背景的像素被識(shí)別為前景的百分比)和運(yùn)行時(shí)間3個(gè)指標(biāo)來評(píng)價(jià)算法。VDR和VFAR計(jì)算公式為 (14) (15) 圖8 運(yùn)動(dòng)奶牛目標(biāo)檢測(cè)試驗(yàn)結(jié)果Fig.8 Results of moving cows target detected experiment 式中ATP——檢測(cè)到的運(yùn)動(dòng)奶牛面積,像素 AFP——檢測(cè)結(jié)果中的非運(yùn)動(dòng)奶牛面積,像素 AFN——沒有被檢測(cè)到的運(yùn)動(dòng)奶牛面積,像素 對(duì)4 866幅圖像進(jìn)行試驗(yàn),選取34幅具有有效牛身信息的檢測(cè)結(jié)果進(jìn)行統(tǒng)計(jì),經(jīng)典高斯混合模型和本文方法的VDR、VFAR變化曲線如圖9、10所示。 圖9 目標(biāo)檢出率Fig.9 Correct segmentation of foreground 圖10 背景誤檢率Fig.10 Error segmentation of background 由圖9、10可知,本文方法整體檢測(cè)效率高于經(jīng)典高斯混合模型。在目標(biāo)檢出率方面,本文方法的平均檢出率為78.59%,與經(jīng)典高斯混合模型的63.30%相比,提高了15.29個(gè)百分點(diǎn);在背景誤檢率方面,本文方法平均誤檢率為10.68%,相比經(jīng)典混合高斯模型的19.52%,降低了8.84個(gè)百分點(diǎn)。同時(shí),試驗(yàn)發(fā)現(xiàn),在低亮度下,本文方法識(shí)別效率明顯高于經(jīng)典高斯混合模型,分析原因?yàn)榈土炼认屡臄z的圖像更容易受噪聲干擾,由于引入噪聲約束,本文方法受到的影響較小。此外,本文方法對(duì)光照強(qiáng)度的變化頻率更加敏感,光線劇烈變化時(shí),本文方法準(zhǔn)確率的波動(dòng)幅度大于經(jīng)典高斯混合模型,分析原因?yàn)橛捎谝胱赃m應(yīng)模型個(gè)數(shù)和噪聲約束,算法的背景更新速度弱于經(jīng)典高斯混合模型,當(dāng)光線變化劇烈時(shí),會(huì)出現(xiàn)背景模型更新不及時(shí),導(dǎo)致檢測(cè)結(jié)果失準(zhǔn)。試驗(yàn)還發(fā)現(xiàn)本文方法對(duì)于圖像邊緣目標(biāo)的檢測(cè)能力有待增強(qiáng)。在實(shí)時(shí)性方面,本文方法處理4 866幅圖像共用時(shí)562.87 s,平均幀速率為8.64 f/s,而視頻關(guān)鍵幀提取后的平均幀速率為8.11 f/s,考慮關(guān)鍵幀提取的時(shí)間,平均幀速率為8.32 f/s,因此,本文方法滿足對(duì)視頻處理的實(shí)時(shí)性需求。 本次訓(xùn)練共有奶牛圖像樣本3 699幅,其中訓(xùn)練集樣本2 550幅,每類樣本各850幅,測(cè)試集樣本849幅,每類樣本各283幅,驗(yàn)證集樣本300幅,每類樣本各100幅。圖11為奶牛行為的圖像樣例。本文訓(xùn)練采用遷移學(xué)習(xí)的思想,在BVLC已預(yù)訓(xùn)練的模型上進(jìn)行fine-tuning,獲得奶牛行為分類網(wǎng)絡(luò)模型。 圖11 奶牛行為樣例圖像Fig.11 Dairy cows behavior sample images 訓(xùn)練開始前,首先生成訓(xùn)練集和測(cè)試集文件路徑,并添加相應(yīng)類別標(biāo)簽:躺臥(0)、爬跨(1)、站立/游走(2)。由于數(shù)據(jù)庫(kù)和均值文件是在Caffe下進(jìn)行訓(xùn)練的必要文件,因此需要利用Caffe插件convert_imageset將測(cè)試集和訓(xùn)練集分別轉(zhuǎn)換為Caffe可識(shí)別的數(shù)據(jù)庫(kù),并利用compute_image_mean插件計(jì)算訓(xùn)練集的圖像均值,以方便訓(xùn)練。本次訓(xùn)練選擇的預(yù)加載模型為BVLCAlexNet。訓(xùn)練開始時(shí),結(jié)合訓(xùn)練平臺(tái)的硬件性能和預(yù)試驗(yàn)時(shí)確定的優(yōu)選參數(shù),調(diào)整AlexNet配置文件中train_val.prototxt和solver.prototxt的相關(guān)訓(xùn)練參數(shù)設(shè)置,調(diào)整后的訓(xùn)練參數(shù)如表2所示。 圖12為奶牛行為分類網(wǎng)絡(luò)模型訓(xùn)練誤差隨迭代次數(shù)變化的曲線,由圖可知,訓(xùn)練迭代到12 000次時(shí)網(wǎng)絡(luò)已收斂,準(zhǔn)確率為97.6%,使用驗(yàn)證集對(duì)訓(xùn)練好的模型進(jìn)行測(cè)試,準(zhǔn)確率為100%,表明本文模型能較準(zhǔn)確地區(qū)分奶牛躺臥、爬跨、站立/游走行為。分析模型訓(xùn)練過程,錯(cuò)誤識(shí)別的樣本主要為存在嚴(yán)重遮擋的爬跨行為,遮擋造成了爬跨行為特征信息減少,被誤識(shí)別為非爬跨行為。進(jìn)一步測(cè)試可知,當(dāng)爬跨行為被遮擋不超過爬跨區(qū)域的40%且圖像中包含爬跨牛只前部時(shí),奶牛爬跨行為認(rèn)為是被模型較好地識(shí)別出來。 表2 Fine-tuning訓(xùn)練參數(shù)設(shè)置Tab.2 Parameters setting for training procedure 為驗(yàn)證本文方法的性能,選取30段不同天氣狀況下、不同時(shí)段的奶?;顒?dòng)場(chǎng)監(jiān)控視頻構(gòu)建視頻數(shù)據(jù)集,數(shù)據(jù)集中包括爬跨行為和無爬跨行為的視頻樣本。人工觀看抽取的30段視頻并記錄爬跨行為次數(shù),與本文方法的識(shí)別結(jié)果進(jìn)行對(duì)比,結(jié)果如表3所示。 圖12 奶牛行為分類網(wǎng)絡(luò)模型訓(xùn)練誤差隨迭代次數(shù)的變化曲線Fig.12 Change curve of train loss of dairy behaviors classification network model with number of iterations 表3 奶牛爬跨行為次數(shù)試驗(yàn)結(jié)果Tab.3 Experiment result of cow estrus frequency 由表3可知,人工觀察到的奶牛爬跨行為次數(shù)為34次,本文方法檢測(cè)到的爬跨行為次數(shù)為30次,經(jīng)人工驗(yàn)證,檢測(cè)結(jié)果中正檢次數(shù)為30次,錯(cuò)檢0次,漏檢4次。 使用準(zhǔn)確率和召回率作為模型評(píng)價(jià)指標(biāo),準(zhǔn)確率定義為正確識(shí)別的奶牛爬跨行為次數(shù)與識(shí)別出的奶牛爬跨行為次數(shù)的百分比,召回率定義為正確識(shí)別的奶牛爬跨行為次數(shù)與實(shí)際發(fā)生的奶牛爬跨行為次數(shù)的百分比。其計(jì)算公式為 (16) 式中γTP——準(zhǔn)確率γR——召回率 E1——正確識(shí)別的奶牛爬跨行為次數(shù) E0——識(shí)別的奶牛爬跨行為次數(shù) E——實(shí)際發(fā)生的奶牛爬跨行為次數(shù) 由式(16)計(jì)算可知,本文方法識(shí)別準(zhǔn)確率為100%,召回率為88.24%,表明本文方法可實(shí)現(xiàn)復(fù)雜養(yǎng)殖環(huán)境下奶牛發(fā)情行為的自動(dòng)識(shí)別,識(shí)別結(jié)果可靠。算法召回率偏低的原因主要有2個(gè):奶牛場(chǎng)環(huán)境光線變化,主要發(fā)生在晴天的傍晚;奶牛的爬跨行為被嚴(yán)重遮擋。前一種情況是由本研究使用的目標(biāo)檢測(cè)算法的魯棒性不足導(dǎo)致,后一種情況主要由本文方法的奶牛行為分類網(wǎng)絡(luò)模型的識(shí)別準(zhǔn)確率較低導(dǎo)致。 基于自適應(yīng)模型數(shù)量?jī)?yōu)選和噪聲約束的思想對(duì)經(jīng)典高斯混合模型進(jìn)行了改進(jìn),應(yīng)用改進(jìn)模型進(jìn)行目標(biāo)檢測(cè),實(shí)現(xiàn)了固定場(chǎng)景下運(yùn)動(dòng)奶牛目標(biāo)的實(shí)時(shí)準(zhǔn)確檢測(cè)。提出了一種基于顏色和紋理特征的非奶牛目標(biāo)去除算法,可有效去除目標(biāo)檢測(cè)結(jié)果中出現(xiàn)的非奶牛目標(biāo)。依據(jù)奶牛日常行為和特性,使用基于AlexNet的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練,并構(gòu)建了奶牛行為分類網(wǎng)絡(luò)模型,模型可精準(zhǔn)識(shí)別奶牛爬跨行為,實(shí)現(xiàn)對(duì)奶牛發(fā)情行為的識(shí)別。試驗(yàn)結(jié)果表明,本文提出的奶牛發(fā)情行為識(shí)別方法對(duì)奶牛發(fā)情識(shí)別的準(zhǔn)確率為100%,召回率為88.24%,可實(shí)現(xiàn)復(fù)雜養(yǎng)殖環(huán)境下奶牛發(fā)情行為的自動(dòng)準(zhǔn)確識(shí)別。2 試驗(yàn)結(jié)果與分析
2.1 試驗(yàn)測(cè)試平臺(tái)
2.2 運(yùn)動(dòng)奶牛目標(biāo)檢測(cè)方法試驗(yàn)
2.3 奶牛行為分類模型的訓(xùn)練
2.4 奶牛發(fā)情行為識(shí)別試驗(yàn)
3 結(jié)束語