楊秋妹 肖德琴 張根興
(華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院, 廣州 510642)
正常情況下,豬的飲水行為呈穩(wěn)定持續(xù)的模式,當(dāng)疾病出現(xiàn)、喂食質(zhì)量或環(huán)境發(fā)生變化時(shí)則會(huì)導(dǎo)致其飲水行為改變。人工對(duì)豬的飲水行為進(jìn)行監(jiān)控需要投入大量的人力并且難以實(shí)現(xiàn)長期持續(xù)的觀察。因此,需要自動(dòng)化實(shí)時(shí)地監(jiān)控豬只的飲水行為,提取其飲水行為節(jié)律,這對(duì)豬只的健康異常預(yù)警,改善其生長福利有很重要的作用[1-3]。
目前,自動(dòng)監(jiān)控豬飲水行為已有相關(guān)的研究成果,主要采用兩種方式:無線射頻技術(shù)RFID和機(jī)器視覺技術(shù)。采用RFID技術(shù)識(shí)別豬只飲水主要是通過給豬只佩戴電子耳標(biāo),另外在飲水器旁邊安裝RFID接收器,當(dāng)豬只靠近飲水器時(shí)接收器則讀取相應(yīng)的信息,從而記錄飲水行為的發(fā)生,有學(xué)者對(duì)高頻RFID的有效使用范圍作了相應(yīng)的研究,開展了基于RFID的豬只個(gè)體飲水行為和豬場產(chǎn)量與健康問題的相關(guān)分析[4-7];陸明洲等[8]則用此方法來檢測母豬個(gè)體的飲水頻率。但是,基于RFID的監(jiān)控方式需要給豬只打入耳標(biāo),為入侵式的實(shí)驗(yàn)方式,并且耳標(biāo)容易丟失,給管理帶來不便。機(jī)器視覺作為一種無入侵的方式可以實(shí)時(shí)地監(jiān)控動(dòng)物的日常行為,由于其價(jià)格低廉、容易安裝,已經(jīng)在豬場生產(chǎn)管理中得到廣泛的應(yīng)用,很多豬場都已經(jīng)獲得了大量的監(jiān)控錄像數(shù)據(jù),但是利用動(dòng)物視頻監(jiān)控?cái)?shù)據(jù)進(jìn)行信息提取,獲得對(duì)生產(chǎn)管理有用信息的研究還不多,在豬只上的應(yīng)用主要有關(guān)于移動(dòng)、爬跨、攻擊及飲食等行為的探討[9-11]。在飲水識(shí)別上,KASHIHA等[12-13]提出二值化圖像后,借助豬只輪廓關(guān)鍵點(diǎn)與質(zhì)心的距離來識(shí)別豬只頭部,從而確定飲水行為的發(fā)生,得到飲水次數(shù)與持續(xù)時(shí)間,建立豬只飲水量與其飲水時(shí)間的關(guān)聯(lián)模型,但該方法對(duì)豬只頭部的識(shí)別過度依賴于圖像分割結(jié)果,如分割出來的圖像不能較好地還原豬只輪廓?jiǎng)t無法準(zhǔn)確識(shí)別豬只頭部。精準(zhǔn)檢測豬只頭部與飲水器發(fā)生接觸是采用機(jī)器視覺自動(dòng)識(shí)別豬只飲水行為的關(guān)鍵,本文擬在已有的飲水識(shí)別方法基礎(chǔ)上,加入圖像占領(lǐng)指數(shù)、深度學(xué)習(xí)等機(jī)器視覺算法,提出一種新的基于機(jī)器視覺的豬只飲水行為識(shí)別方法(Pig drink recognition,PDR)。
試驗(yàn)數(shù)據(jù)來源于廣州力智農(nóng)業(yè)有限公司位于廣州市蘿崗區(qū)的現(xiàn)代化生豬生產(chǎn)基地。選取種豬欄作為監(jiān)控場景,監(jiān)控豬欄面積為4 m×5 m,攝像機(jī)布置于豬欄正中高約5 m的橫柱上,以俯視的角度進(jìn)行拍攝,為了將整個(gè)豬欄完全覆蓋在攝像機(jī)成像范圍內(nèi),采用鏡頭焦距為2.8 mm的??礑S-2CD3345-I型紅外網(wǎng)絡(luò)攝像機(jī),視頻利用海康DS-7804N-K1/C型網(wǎng)絡(luò)硬盤錄像機(jī)存儲(chǔ)。
試驗(yàn)期間監(jiān)控豬欄共飼養(yǎng)4頭種豬,試驗(yàn)周期為2016年7月8日至2016年8月8日共32 d,每天24 h對(duì)豬欄進(jìn)行監(jiān)控,但是由于晚間時(shí)段豬只多處于睡眠狀態(tài),因此每日只選取白天豬只比較活躍時(shí)段的視頻作為研究素材,具體為每日的08:00至18:00。為了便于區(qū)分豬欄里的各頭豬,在豬只背部采用油性筆標(biāo)上A、B、C、D作為豬只編號(hào),試驗(yàn)豬欄有一高一低2個(gè)直式飲水器供欄中的所有豬只飲水。豬只在欄中活動(dòng)畫面如圖1所示,飲水器安裝在圖1中的黃色框內(nèi)。
圖1 豬欄監(jiān)控畫面Fig.1 Scene of piggery monitoring
本文旨在通過豬欄的監(jiān)控視頻,自動(dòng)提取出豬欄中各頭豬只的飲水情況,具體的體系結(jié)構(gòu)如圖2所示。
圖2 豬只飲水行為體系識(shí)別結(jié)構(gòu)Fig.2 Framework for pig drinking behavior recognition
從圖2可以看到,豬只飲水行為自動(dòng)化識(shí)別主要有3部分。第1部分為基于閾值分割的豬只檢測,本文通過大津法對(duì)圖像進(jìn)行二值化,將豬只作為前景與背景區(qū)分開來,得到每頭豬只的輪廓,并用其輪廓的外接矩形將其提取出來。第2部分為基于圖像占領(lǐng)指數(shù)的飲水行為預(yù)判,本文將通過識(shí)別豬欄的飲水區(qū)域是否有監(jiān)控對(duì)象進(jìn)入,如果有,并且監(jiān)控對(duì)象在此區(qū)域停留一定的時(shí)間長度,則認(rèn)為有可能發(fā)生飲水行為,沒有則無飲水行為發(fā)生。第3部分為基于深度學(xué)習(xí)的飲水行為精準(zhǔn)識(shí)別,為了進(jìn)一步確認(rèn)飲水行為是否發(fā)生,本文將提取豬只頭部、身體的圖像進(jìn)行訓(xùn)練,構(gòu)建豬只頭部身體區(qū)分的分類器模型,截取飲水區(qū)域的圖像判別是否有豬只頭部進(jìn)入,如果是則可確認(rèn)飲水行為發(fā)生。
1.3.1基于閾值分割的豬只檢測算法
在監(jiān)控視頻中,豬只作為研究對(duì)象,在每幀圖像中,要將前景與背景區(qū)分開來,現(xiàn)有的研究主要是采用圖像分割方法來完成[14-16]。在豬場監(jiān)控場景下,攝像頭的位置固定,拍攝成像的豬場區(qū)域固定,豬只在限定的豬欄范圍內(nèi)活動(dòng),不會(huì)出現(xiàn)越出豬欄的情景,因此,豬欄以外的圖像區(qū)域不屬于有效的豬只活動(dòng)區(qū)域,可以在圖像處理前,設(shè)定一個(gè)有效監(jiān)控區(qū)域?qū)⑵渑懦谕?,得到矩形框?nèi)的有效監(jiān)控區(qū)域。如圖3所示,紅色矩形框?yàn)橛行жi只活動(dòng)范圍。豬只飲水自動(dòng)化識(shí)別的整個(gè)流程都在該有效監(jiān)控區(qū)域內(nèi)進(jìn)行。
圖3 設(shè)定的豬只有效活動(dòng)區(qū)域Fig.3 Setting up valid region for pigs
從圖3可以看到,豬欄地板為偏黑色的水泥地,圍欄顏色也偏黑,而豬身體為白色,與背景有明顯的顏色差異,所以本文采用基于顏色的圖像分割方法來檢測豬只。將原始的RGB圖像轉(zhuǎn)換為灰度圖像后,利用大津法確定圖像分割閾值[17-18],將圖像中的像素點(diǎn)分成前景和背景。具體做法是假設(shè)任意值T為前景與背景的分割閾值,小于閾值T的像素點(diǎn)為背景,大于等于該閾值的則為前景,背景、前景像素點(diǎn)個(gè)數(shù)占圖像總像素點(diǎn)個(gè)數(shù)的比例分別為w0、w1,背景、前景所有像素點(diǎn)的灰度平均值分別為u0、u1,則有
u=w0u0+w1u1
(1)
g=w0(u0-u)2+w1(u1-u)2
(2)
式中u——整幀圖像的平均灰度
g——背景和前景圖像的類間方差
計(jì)算T取不同值時(shí)g的值,直到g取得最大值,此時(shí)T為最終分割閾值。
灰度圖像經(jīng)過閾值分割得到二值圖像后,該二值圖像因?yàn)楣饩€等原因存在一些噪聲,采用Canny邊緣檢測獲取豬只輪廓,對(duì)其利用形態(tài)學(xué)腐蝕、膨脹等方法進(jìn)行噪聲去除,并根據(jù)實(shí)際的豬只大小情況將一些較小的不可能為豬的連通區(qū)域去除,最終得到只含豬只輪廓的二值圖像。經(jīng)過處理得到豬只輪廓二值圖像后,對(duì)于圖中每頭豬的輪廓用其最小外接矩形將其框出,得到每頭豬的感興趣區(qū)域,第i頭豬的感興趣區(qū)域記為PROI(i)。每頭豬保存其質(zhì)心、角度等信息作為飲水行為的判斷依據(jù),第i頭豬的質(zhì)心記為P(i),第i頭豬的角度記為θ(i)。針對(duì)豬只監(jiān)控視頻數(shù)據(jù),本文以8 f/s的采樣方式抽取視頻幀,定義豬只檢測算法A,每一幀圖像I采用該算法進(jìn)行豬只檢測,(x,y)為圖像中像素點(diǎn)坐標(biāo),A算法過程如下:
while (x,y) inI
if (x,y)沒有超出有效監(jiān)控區(qū)域保留像素點(diǎn)(x,y);
else舍棄像素點(diǎn)(x,y);
rgb2gray(I)轉(zhuǎn)為灰度圖像;
im2bw(I, graythresh(I))轉(zhuǎn)為灰度圖像;
imerode(I,se)腐蝕膨脹解決粘連;
imdilate(I,se)膨脹填充孔洞;
bwareaopen(I,P,conn)刪除小面積連通區(qū)域;
for each連通區(qū)域生成其外接矩形和橢圓擬合;
output:每塊連通區(qū)域?yàn)橐活^豬,第i頭豬輸出其感興趣區(qū)域PROI(i),質(zhì)心P(i),角度θ(i)。
1.3.2基于圖像占領(lǐng)指數(shù)的飲水行為預(yù)判
在實(shí)際的豬欄中,豬只通過飲水器飲水,每次飲水必須進(jìn)入飲水器的鄰近區(qū)域,并且通過觀察發(fā)現(xiàn)豬只飲水時(shí)處于接近靜止?fàn)顟B(tài),本文通過監(jiān)控豬只飲水區(qū)域,當(dāng)豬只處于靜止?fàn)顟B(tài)并且此飲水區(qū)域有足夠多的面積被豬只身體占領(lǐng)時(shí)則有可能發(fā)生飲水行為。
豬只是否靜止可以通過豬的質(zhì)心及角度的變化來判斷,當(dāng)相鄰兩幀中同一頭豬的質(zhì)心變化不超過給定范圍,并且其角度變化不超出給定值,則認(rèn)為其處于靜止?fàn)顟B(tài),超出此范圍則認(rèn)為是處于運(yùn)動(dòng)狀態(tài)。
記第i頭豬在第t幀的質(zhì)心為P(i,t),靜止時(shí)豬的質(zhì)心變化滿足
P(i,t+1)-P(i,t)<α
(3)
式中α——質(zhì)心變化閾值
記第i頭豬在第t幀的角度為θ(i,t),靜止時(shí)豬的角度變化滿足
θ(i,t+1)-θ(i,t)<β
(4)
式中β——角度變化閾值
當(dāng)豬處于靜止?fàn)顟B(tài)時(shí),則判斷其是否處于飲水區(qū)域。圖像占領(lǐng)指數(shù)可用于識(shí)別在某個(gè)區(qū)域范圍有無出現(xiàn)特定的監(jiān)控對(duì)象[19],本文引入飲水區(qū)域的圖像占領(lǐng)指數(shù)這一概念來判斷豬只是否發(fā)生了飲水行為。
在任意時(shí)刻,飲水區(qū)域的占領(lǐng)指數(shù)通過二值圖像來描述,一幀圖像中飲水區(qū)域記為W,(x,y)表示W(wǎng)中的像素點(diǎn)坐標(biāo),像素點(diǎn)取值記為BI(x,y),BI(x,y)=0表示此像素點(diǎn)未被豬只覆蓋,BI(x,y)=1表示此像素點(diǎn)已被豬只覆蓋。其中,w表示區(qū)域W的像素點(diǎn)總數(shù),飲水區(qū)域W被豬只占領(lǐng)的指數(shù)定義為
(5)
經(jīng)過豬只檢測算法A處理后得到的二值圖像如圖4所示。豬只作為前景對(duì)象每個(gè)像素點(diǎn)的值記為1,背景對(duì)象每個(gè)像素點(diǎn)值記為零,圖4a中黃色矩形無豬只進(jìn)入,該區(qū)域中所有像素點(diǎn)取值均為零,此時(shí)飲水區(qū)域的占領(lǐng)指數(shù)為零;圖4b中有豬只進(jìn)入黃色矩形區(qū)域,此時(shí)該區(qū)域占領(lǐng)指數(shù)值為豬只進(jìn)入飲水區(qū)域的像素點(diǎn)數(shù)與飲水區(qū)域總像素點(diǎn)數(shù)的比值。
圖4 豬只占領(lǐng)區(qū)域示意圖Fig.4 Schematics of pig occupation area
定義豬只飲水預(yù)判定算法B,對(duì)于上一步得到的二值化圖像做出是否可能發(fā)生豬只飲水行為的判別,B算法步驟如下:
(1)計(jì)算相鄰兩幀圖像中每頭豬的質(zhì)心和角度變化。
(2)如果變化小于給定閾值,則對(duì)于豬斑點(diǎn)區(qū)域的每個(gè)點(diǎn)判斷其是否位于飲水區(qū)域,累計(jì)飲水區(qū)域內(nèi)的像素點(diǎn)數(shù)。
(3)判斷飲水區(qū)域內(nèi)的像素點(diǎn)數(shù)是否大于給定閾值,若大于給定閾值則可初步判定飲水行為發(fā)生。
1.3.3基于深度學(xué)習(xí)的飲水行為精準(zhǔn)識(shí)別
僅是通過飲水區(qū)域是否有豬只存在來判斷飲水行為是否發(fā)生并不夠準(zhǔn)確,實(shí)際的豬場中,經(jīng)常會(huì)設(shè)置一高一低2個(gè)飲水器,高位飲水器需要豬只抬起頭才夠得著,低位飲水器則需要低頭飲水。低位飲水器往往會(huì)出現(xiàn)由于豬只身體占領(lǐng)了飲水區(qū)域,但實(shí)際并沒有飲水行為發(fā)生的情況,如圖5所示,豬只尾部占領(lǐng)了圖像中低飲水器的位置,但是實(shí)際沒有發(fā)生飲水行為。
圖5 豬只進(jìn)入飲水區(qū)域但無飲水圖Fig.5 Picture of pig in drinking zone but no drinking
為了避免將此種情況誤判為飲水行為的發(fā)生,本文加入了豬只頭部、背部、尾部的識(shí)別判斷。當(dāng)出現(xiàn)飲水區(qū)域被占領(lǐng)的情況后,則在飲水器周圍截取部分圖像,截取出來的圖像有可能是頭部,也有可能是尾部或地板,或者不屬于上面的幾種情況(如豬身中部等)。因此,本文采用物體分類的方法來區(qū)分這幾個(gè)類別。在物體分類上,深度學(xué)習(xí)模型GoogLenet在2014年刷新了圖像分類的性能記錄[20],本文引入該方法構(gòu)建豬只頭部識(shí)別模型C。
GoogLenet增加了網(wǎng)絡(luò)的寬度和深度,共22層,利用如圖6所示的Inception結(jié)構(gòu),實(shí)現(xiàn)有效降維。
圖6 Inception模型Fig.6 Inception model
為了解決訓(xùn)練樣本不足的問題,本文采用遷移學(xué)習(xí)的思想,利用預(yù)訓(xùn)練好的模型,結(jié)合有標(biāo)簽數(shù)據(jù)進(jìn)行fine-tuning,得到豬只頭部識(shí)別模型。豬只頭部識(shí)別模型C的訓(xùn)練步驟如下:
(2)計(jì)算數(shù)據(jù)集的圖像均值。
(3)選定預(yù)訓(xùn)練好的模型,修改分類層的參數(shù)。
(4)調(diào)整訓(xùn)練過程的配置參數(shù)。
(5)啟動(dòng)訓(xùn)練,對(duì)預(yù)訓(xùn)練模型進(jìn)行參數(shù)微調(diào)。
訓(xùn)練結(jié)束后得到的豬只頭部識(shí)別模型C具有識(shí)別輸入圖像是否為豬只頭部、豬只尾部以及地板的功能。采用1.3.2節(jié)的方法初步檢測到豬只飲水行為的發(fā)生后,在飲水器周圍截取部分圖像,用上述訓(xùn)練得到的模型C判斷該圖像是否為豬只頭部,如果是則可記錄為飲水行為的發(fā)生,并且計(jì)算其飲水時(shí)長。
當(dāng)豬只的飲水行為得到確認(rèn)后,從精準(zhǔn)養(yǎng)殖的角度出發(fā),需更進(jìn)一步確認(rèn)發(fā)生飲水行為的豬只身份,本文再次利用深度學(xué)習(xí)模型GoogLenet,構(gòu)建豬只個(gè)體身份分類器,當(dāng)豬只飲水行為發(fā)生后,能準(zhǔn)確識(shí)別出飲水個(gè)體。采集每頭豬的個(gè)體圖像作為訓(xùn)練樣本,由于豬背已經(jīng)人為標(biāo)記藍(lán)色的A、B、C、D作為區(qū)分,以此人工添加標(biāo)簽,再次利用預(yù)訓(xùn)練好的GoogLenet進(jìn)行fine-tuning得到豬只個(gè)體身份分類器,訓(xùn)練過程與豬只頭部識(shí)別模型C相同。
利用本文提出的豬只檢測算法A對(duì)豬只圖像進(jìn)行處理,得到圖7所示的識(shí)別結(jié)果。
圖7 檢測算法A識(shí)別結(jié)果Fig.7 Recognition result of A
對(duì)于每一幀圖像,從原始圖像截取邊界后得到有效監(jiān)控區(qū)域,在此基礎(chǔ)上對(duì)圖像采用大津法閾值分割后得到二值圖像,接著采用形態(tài)學(xué)去噪進(jìn)行膨脹腐蝕,之后刪除小面積連通區(qū)域,最終每塊有效的連通區(qū)域則分別代表一頭豬,每頭豬用其外接矩形框圈出。
在我國現(xiàn)行的司法體制中,憲法、民法、刑法、相關(guān)司法解釋和法規(guī)條例都對(duì)公民隱私權(quán)有一定的規(guī)定,但仍不完善[4]。
為了驗(yàn)證豬只檢測算法A的有效性,在豬場監(jiān)控視頻中采樣100幀監(jiān)控圖像,每幀圖像有4頭豬,共400頭豬,考慮到該算法運(yùn)行結(jié)果可能會(huì)受光照、豬只粘連等情況影響,在采樣時(shí)特別考慮了不同時(shí)間段光照不一樣的圖像,也對(duì)豬只出現(xiàn)粘連的情況進(jìn)行了采樣。采用A算法進(jìn)行豬只檢測,在這100幀圖像中共檢測出370頭豬,其中完全正確檢測的豬只有356頭,將粘連在一起的2頭豬檢測為1頭的有11次共涉及22頭豬,錯(cuò)誤將光斑檢測為豬只的有3次,有22頭豬漏檢。
定義豬只檢測正確率為:算法正確識(shí)別出的豬只數(shù)目與所有被算法認(rèn)為是豬只的連通區(qū)域數(shù)目之比。豬只檢測召回率為:算法正確識(shí)別出的豬只數(shù)目與圖像中實(shí)際存在的豬只數(shù)目之比,由此計(jì)算得到豬只檢測正確率為96.22%,召回率為89%。召回率偏低的原因是將粘連豬只作為一頭豬只識(shí)別,此種情況不屬于正確識(shí)別出豬只,但并不影響本文的飲水行為識(shí)別。
在本次豬只頭部識(shí)別試驗(yàn)中,采用caffe深度學(xué)習(xí)平臺(tái),GPU模式(Nvidia GTX 1060),在預(yù)訓(xùn)練好的BVLC GoogLeNet模型上進(jìn)行fine-tuning。
用于豬只頭部識(shí)別模型C訓(xùn)練的圖像總數(shù)為1 204幅,用于測試的圖像總數(shù)為1 396幅,其中地板的訓(xùn)練圖像為200幅,測試圖像為401幅,地板樣例圖像如圖8所示。
圖8 地板樣例圖像Fig.8 Sample pictures of floor
豬只頭部的訓(xùn)練圖像為475幅,測試圖像為422幅,樣例圖像如圖9所示。
圖9 豬只頭部樣例圖像Fig.9 Sample pictures of pig head
豬只尾部的訓(xùn)練圖像為529幅,測試圖像為573幅,樣例圖像如圖10所示。
圖10 豬只尾部樣例圖像Fig.10 Sample pictures of pig tail
訓(xùn)練前,利用caffe中的convert_imageset將圖像轉(zhuǎn)換為特定的數(shù)據(jù)庫,使用compute_image_mean生成圖像數(shù)據(jù)的均值文件,數(shù)據(jù)庫文件和均值文件是caffe進(jìn)行訓(xùn)練的必要文件,本次訓(xùn)練有3個(gè)類別,分別為地板、頭部、尾部。在train_val.prototxt、solver.prototxt以及deploy.prototxt中設(shè)置相關(guān)的訓(xùn)練參數(shù),具體設(shè)置如表1所示。
表1 訓(xùn)練參數(shù)設(shè)置Tab.1 Parameter setting for training procedure
訓(xùn)練的迭代次數(shù)為10 000次,此時(shí)訓(xùn)練結(jié)果已收斂,正確率為97.64%。在錯(cuò)誤識(shí)別的圖像中,有一部分是由于圖像光線不足而導(dǎo)致識(shí)別出錯(cuò),有一部分是由于外界干擾(如澆水沖洗豬舍)及豬只運(yùn)動(dòng)導(dǎo)致的圖像模糊。由此可見,本次試驗(yàn)的結(jié)果可用于實(shí)際的豬只頭部判別。
豬只個(gè)體分類器訓(xùn)練參數(shù)test_iter設(shè)為12,訓(xùn)練有4個(gè)類別,分別為A、B、C、D,其他的參數(shù)與豬只頭部識(shí)別試驗(yàn)相同。從監(jiān)控視頻中,采樣A、B、C、D 4頭豬的圖像用于訓(xùn)練學(xué)習(xí),為了減少由于截取范圍過大而造成的識(shí)別誤差,利用本文提出的豬只檢測算法A定位得到每頭豬只的外接矩形,在原圖中將該區(qū)域圖像截取出來作為訓(xùn)練樣本,用于訓(xùn)練的圖像共949幅,其中豬A 227幅,豬B 217幅,豬C 270幅,豬D 235幅;另外每頭豬分別利用100幅圖像進(jìn)行測試,構(gòu)建了一個(gè)大小為400幅圖像的測試樣本集。A、B、C、D 4頭豬的樣例圖像如圖11所示。
圖11 豬只個(gè)體訓(xùn)練樣本示例圖Fig.11 Sample pictures of individual pig
訓(xùn)練迭代次數(shù)為10 000次,此時(shí)訓(xùn)練結(jié)果已收斂,正確率為95%。在測試中發(fā)現(xiàn),得到的分類器對(duì)處于側(cè)臥狀態(tài)看不到背部標(biāo)記的豬只無法正確識(shí)
別其身份,但由于豬只飲水時(shí)多為站立且背部朝上字母沒遮擋,所以該分類器可以用于飲水豬只的身份識(shí)別。
由于豬背上所打標(biāo)記會(huì)隨著時(shí)間褪色,也會(huì)因?yàn)樨i只長大會(huì)出現(xiàn)變形,在試驗(yàn)期間,當(dāng)所打標(biāo)簽顯示模糊時(shí),則在原來的痕跡上重新上色。用原模型對(duì)32 d后采集的數(shù)據(jù)進(jìn)行測試,共測試146幅圖像,正確識(shí)別135幅,錯(cuò)誤11幅,識(shí)別正確率為92.47%,仍保持較高的識(shí)別正確率。
為了驗(yàn)證本文提出的基于機(jī)器視覺的豬只飲水行為識(shí)別算法的可行性,本文構(gòu)建了一個(gè)豬只飲水視頻數(shù)據(jù)集。在32 d試驗(yàn)周期內(nèi),抽取30個(gè)長度不等的視頻序列,選取的視頻序列中包含僅高位飲水器有豬只飲水、僅低位飲水器有豬只飲水、高低位飲水器均有豬只飲水、無豬只飲水4種情況。
由于豬只飲水為時(shí)間持續(xù)行為,有一定的時(shí)長規(guī)律,本文加入了額外的判斷條件,對(duì)于在飲水區(qū)域逗留時(shí)間小于2 s或者大于3 min的都認(rèn)為不屬于飲水行為,小于2 s的有可能是豬只從飲水器經(jīng)過,大于3 min的很有可能是豬躺臥在飲水器旁邊休息,低的飲水器往往會(huì)出現(xiàn)此種情形。
在抽取的30個(gè)視頻中,人工觀看視頻并記錄飲水行為的發(fā)生次數(shù)及時(shí)長,與本文算法檢測結(jié)果做對(duì)照。試驗(yàn)結(jié)果如表2所示。
表2 豬只飲水次數(shù)試驗(yàn)結(jié)果Tab.2 Result of experiment for pig’s drinking frequency
據(jù)統(tǒng)計(jì),人工觀察視頻記錄得到的實(shí)際飲水次數(shù)為41次,而采用本文算法共檢測出38次飲水,通過人工驗(yàn)證,正確識(shí)別飲水的次數(shù)為35次,將非飲水行為識(shí)別為飲水行為的次數(shù)為3次,實(shí)際發(fā)生了飲水卻沒檢測到的次數(shù)為6次。出現(xiàn)誤判的情況主要是由于豬只有時(shí)會(huì)在飲水區(qū)域玩耍,頭部靠近了飲水器,但是卻沒有實(shí)際飲水;漏判的出現(xiàn)則主要因?yàn)楣饩€問題導(dǎo)致豬只輪廓獲取不完整,沒有識(shí)別出豬只到達(dá)飲水區(qū)域。
定義豬只飲水識(shí)別正確率為本文算法正確識(shí)別出的豬只飲水次數(shù)與所有被算法認(rèn)為是飲水的視頻片段數(shù)目之比,飲水識(shí)別召回率為算法正確識(shí)別出的豬只飲水次數(shù)與視頻中實(shí)際出現(xiàn)的豬只飲水次數(shù)之比,由此計(jì)算得到豬只飲水識(shí)別正確率為92.11%,召回率為85.37%。從試驗(yàn)結(jié)果可以看到,本文提出的算法能識(shí)別大部分的豬只飲水行為。
在正確識(shí)別的35次飲水中,利用本文提出的豬只身份分類器統(tǒng)計(jì)可得各頭豬只的飲水情況,其中豬A實(shí)際飲水9次,正確識(shí)別6次,豬B實(shí)際飲水9次,正確識(shí)別9次,豬C實(shí)際飲水13次,正確識(shí)別11次,豬D實(shí)際飲水4次,正確識(shí)別3次,正確識(shí)別飲水的豬只共29次,能較好地在飲水行為中確定豬只身份。
提出了基于圖像處理技術(shù)的豬只飲水行為識(shí)別算法,該算法可以應(yīng)用在背景相對(duì)固定的圈養(yǎng)豬欄中。本文算法采用圖像分割的方式實(shí)現(xiàn)了豬只檢測,該方法對(duì)背景相對(duì)固定的養(yǎng)豬場有很高的正確率,能有效幫助在自動(dòng)化豬只視頻監(jiān)控過程中對(duì)豬只進(jìn)行檢測,本文提出的算法A正確率達(dá)96.22%。通過計(jì)算圖像占領(lǐng)指數(shù)來確定豬只是否位于飲水區(qū)域,該方法可以用于識(shí)別豬只的其他與區(qū)域相關(guān)的行為,如飲水、排泄等。結(jié)合深度學(xué)習(xí)模型GoogLenet來確認(rèn)是否為豬只頭部接觸飲水器,該方法可以精準(zhǔn)識(shí)別豬身體的各個(gè)部位,為其他與豬身體部位相關(guān)的行為判斷提供輔助。在本文構(gòu)建的視頻數(shù)據(jù)集上測試得到文中提出的豬只飲水行為識(shí)別算法PDR的正確率為92.11%,并能識(shí)別出飲水的豬只個(gè)體身份,因此PDR方法能準(zhǔn)確識(shí)別豬只飲水行為,且整個(gè)算法實(shí)現(xiàn)過程只依賴于豬場監(jiān)控視頻,對(duì)豬舍改造投入少,對(duì)豬身無損傷,不影響豬只的正常生活秩序,更容易被養(yǎng)殖場所接受,可方便在我國傳統(tǒng)養(yǎng)豬場中進(jìn)行部署實(shí)施,從大量的監(jiān)控視頻數(shù)據(jù)中獲取有用信息輔助養(yǎng)豬管理決策。
1 KRISTENSEN A R, DAN B J. The intelligent pig barn[C]∥International Conference on Pig Welfare: Improving Pig Welfare-What are the Ways Forward, 2015: 34-37.
2 SCALERA A, BRIZZI P, TOMASI R, et al. The PigWise project: a novel approach in livestock farming through synergistic performances monitoring at individual level[C]∥Proceedings of the EFITA 2013 Conference, 2013: 1-8.
3 沈明霞, 劉龍申,閆麗,等. 畜禽養(yǎng)殖個(gè)體信息監(jiān)測技術(shù)研究進(jìn)展[J/OL]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2014, 45(10):245-251. http:∥www.j-csam.org/jcsam/ch/reader/view_abstract.aspx?flag=1&file_no=20141038&journal_id=jcsam.DOI:10.6041/j.issn.1000-1298.2014.10.038.
SHEN Mingxia,LIU Longshen,YAN Li, et al.Review of monitoring technology for animal individual in animal husbandry[J/OL].Transactions of the Chinese Society for Agricultural Machinery,2014,45(10):245-251.(in Chinese)
4 MASELYNE J, SAEYS W, NUFFEL A V, et al. A health monitoring system for growing-finishing pigs based on the individual feeding pattern using radio frequency identification and synergistic control[C]∥Proceedings of the 6th European Conference on Precision Livestock Farming, 2013: 825-833.
5 MASELYNE J, SAEYS W, KETELAERE B D, et al. Validation of a high frequency radio frequency identification (HF RFID) system for registering feeding patterns of growing-finishing pigs[J]. Computers and Electronics in Agriculture, 2014, 102(1): 10-18.
6 MASELYNE J, NUFFEL A V, KETELAERE B D, et al. Range measurements of a high frequency radio frequency identification (HF RFID) system for registering feeding patterns of growing-finishing pigs[J]. Computers and Electronics in Agriculture, 2014, 108(10): 209-220.
7 MASELYNE J, ADRIAENS I, HUYBRECHTS T, et al. Measuring the drinking behaviour of individual pigs housed in group using radio frequency identification (RFID)[J]. Animal, 2016, 10(9):1557-1566.
8 陸明洲, 沈明霞, 丁永前, 等. 群養(yǎng)母豬飲水行為自動(dòng)監(jiān)測系統(tǒng)設(shè)計(jì)[J]. 南京農(nóng)業(yè)大學(xué)學(xué)報(bào), 2013, 36(5):133-138.
LU Mingzhou, SHEN Mingxia, DING Yongqian, et al. Design of automatic system for drinking behavior monitoring in group housed sows[J]. Journal of Nanjing Agricultural University, 2013, 36(5):133-138. (in Chinese)
9 KASHIHA M A, BAHR C, OTT S, et al. Automatic monitoring of pig locomotion using image analysis[J]. Livestock Science, 2014, 159(1):141-148.
10 NASIRAHMADI A, HENSEL O, EDWARDS S A, et al. Automatic detection of mounting behaviours among pigs using image analysis[J]. Computers and Electronics in Agriculture, 2016, 124:295-302.
11 VIAZZI S, ISMAYILOVA G, OCZAK M, et al. Image feature extraction for classification of aggressive interactions among pigs[J]. Computers and Electronics in Agriculture, 2014, 104(2):57-62.
12 KASHIHA M, BAHR C, OTT S, et al. Automatic identification of marked pigs in a pen using image pattern recognition[J]. Computers and Electronics in Agriculture, 2013, 93(2): 111-120.
13 KASHIHA M, BAHR C, HAREDASHT S A, et al. The automatic monitoring of pigs water use by cameras[J]. Computers and Electronics in Agriculture, 2013, 90(1): 164-169.
14 馮愛晶, 肖德琴. 自然條件下豬只運(yùn)動(dòng)參量提取算法[J]. 計(jì)算機(jī)應(yīng)用, 2016, 36(10):2900-2906.
FENG Aijing, XIAO Deqin. Motion parameter extraction algorithm for pigs under natural conditions[J]. Journal of Computer Applications, 2016, 36(10):2900-2906. (in Chinese)
15 肖德琴, 馮愛晶, 楊秋妹,等. 基于視頻追蹤的豬只運(yùn)動(dòng)快速檢測方法[J/OL]. 農(nóng)業(yè)機(jī)械學(xué)報(bào), 2016, 47(10):351-357.http:∥www.j-csam.org/jcsam/ch/reader/view_abstract.aspx?flag=1&file_no=20161045&journal_id=jcsam. DOI:10.6041/j.issn.1000-1298.2016.10.045.
XIAO Deqin, FENG Aijing, YANG Qiumei, et al. Fast motion detection for pigs based on video tracking[J/OL]. Transactions of the Chinese Society for Agricultural Machinery, 2016, 47(10):351-357. (in Chinese)
16 GUO Y, ZHU W, JIAO P, et al. Multi-object extraction from topview group-housed pig images based on adaptive partitioning and multilevel thresholding segmentation[J]. Biosystems Engineering, 2015, 135(7): 54-60.
17 卜文斌, 游福成, 李泉,等. 一種基于大津法改進(jìn)的圖像分割方法[J]. 北京印刷學(xué)院學(xué)報(bào), 2015,23(4):76-78.
BU Wenbin, YOU Fucheng, LI Quan, et al. An improved image segmentation method based on Otsu[J]. Journal of Beijing Institute of Graphic Communication, 2015,23(4):76-78. (in Chinese)
18 OTSU N. A threshold selection method from gray-level histograms[J]. IEEE Transactions on Systems Man & Cybernetics, 1979, 9(1):62-66.
19 COSTA A, ISMAYILOVA G, BORGONOVO F, et al. The use of image analysis as a new approach to assess behaviour classification in a pig barn[J]. Acta Veterinaria Brno, 2013, 82(1):25-30.
20 SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition, 2015:1-9.
農(nóng)業(yè)機(jī)械學(xué)報(bào)2018年6期