馬娜 徐苗
摘? 要: 為了便于管理豬只,需及時(shí)關(guān)注每只豬的狀態(tài),本研究以真實(shí)條件下的7只豬只為研究對象,利用Keras建立了卷積層-池化層-卷積層-池化層2層卷積神經(jīng)網(wǎng)絡(luò)模型對豬只個(gè)體身份進(jìn)行識別。建立的卷積神經(jīng)網(wǎng)絡(luò)模型對豬只個(gè)體身份識別的準(zhǔn)確率可達(dá)85.71%。建立的豬只個(gè)體身份識別模型簡單,執(zhí)行效率高,可以較準(zhǔn)確的實(shí)現(xiàn)豬只身份識別。
關(guān)鍵詞: 豬只; 個(gè)體身份識別; Keras; 卷積神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP391.4? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2022)04-51-04
Research on pig individual identity based on convolutional neural networks
Ma Na Xu Miao
(College of Information Science and Engineering, Shanxi Agricultural University, Taigu, Shanxi 030801, China)
Abstract: In order to facilitate the management of pigs, it is necessary to pay attention to the status of each pig in time. In this paper, using Keras and taking seven pigs under real conditions as the research object, a two-layer convolutional neural network model which includes convolutional layer-pooling layer-convolutional layer-pooling layer is established to identify individual pigs. The accuracy of the convolutional neural network model for individual identification of pigs can reach 85.71%. The pig individual identification model is simple and efficient, which can identify pigs more accurately.
Key words: pig; individual identification; Keras; convolutional neural network
0 引言
我國是世界上養(yǎng)豬數(shù)量最多的國家之一,監(jiān)測豬只健康狀況對生產(chǎn)力和人類健康都至關(guān)重要[1-3]。隨著科學(xué)技術(shù)發(fā)展和壯大,信息化時(shí)代已經(jīng)到來,目前我國的養(yǎng)豬業(yè),無論是生產(chǎn)方式、生產(chǎn)能力還是養(yǎng)殖模式,都在發(fā)生翻天覆地的變化,正處于由傳統(tǒng)養(yǎng)豬業(yè)向信息化養(yǎng)豬業(yè)轉(zhuǎn)變時(shí)期[4-7]。很多大型養(yǎng)豬場對于豬只個(gè)體身份沒有一個(gè)準(zhǔn)確有效的識別方法,僅僅依靠管理員的觀察,幾乎不可能實(shí)現(xiàn)對豬只連續(xù)地、個(gè)別地觀察。為了方便管理,一般會通過在豬只耳朵上穿孔來佩戴無線射頻識別標(biāo)簽(RFID)[8-10]來辨別豬只身份。但這種方法存在一些缺陷:①穿孔很大可能會導(dǎo)致皮膚發(fā)炎,影響豬只健康;②隨著豬只之間的接觸,難免會發(fā)生咬標(biāo)、掉標(biāo)的情況;③養(yǎng)殖人員每隔一段時(shí)間都得檢查標(biāo)簽,很耗費(fèi)時(shí)間和精力。
近年來,機(jī)器視覺技術(shù)不斷發(fā)展,在目標(biāo)識別[11-14]、跟蹤方面[15-16]有了很大進(jìn)展,不僅減少了成本,通過實(shí)時(shí)監(jiān)測還能及時(shí)發(fā)現(xiàn)豬只異常。Weijia Huang等[17]提取豬只圖像Gabor 特征、紋理特征,然后利用PCA降低特征維數(shù),最后用支持向量機(jī)對豬只身份進(jìn)行識別。趙偉等[18]提出了一種基于Gabor方向直方圖和支持向量機(jī)的豬只個(gè)體身份識別方法。首先利用關(guān)鍵點(diǎn)提取肩部和臀部兩個(gè)特征區(qū)域,然后提取豬體背部毛發(fā)模式特征,最后將提取的豬只的Gabor方向直方圖作為SVM分類器的輸入進(jìn)行豬只個(gè)體身份識別。Mark F.Hansen等[19]采集豬臉視頻,然后用豬臉訓(xùn)練神經(jīng)網(wǎng)絡(luò)進(jìn)行豬只身份識別。該方法要求必須拍攝到豬只正臉,造成身份識別局限性。傳統(tǒng)的豬只身份識別需要對實(shí)驗(yàn)中豬只的前景和目標(biāo)的特點(diǎn)進(jìn)行大量的分析,提取有效的特征向量數(shù)據(jù)作為模式識別和分類器的數(shù)據(jù)輸入,在特征向量提取和分類器選擇上有很大隨機(jī)性。卷積神經(jīng)網(wǎng)絡(luò)[20-22](Convolutional Neural Networks, CNN)是近些年來圖像識別技術(shù)中應(yīng)用最多,最受歡迎之一的技術(shù),在很多領(lǐng)域都有較高的性能。卷積神經(jīng)網(wǎng)絡(luò)不需要對圖像進(jìn)行大量的算法處理,只需使用較少的程序代碼就可以建立深度學(xué)習(xí)模型,進(jìn)行訓(xùn)練、評估準(zhǔn)確率、并進(jìn)行預(yù)測。因此本文研究利用卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建豬只個(gè)體身份識別模型,該模型的優(yōu)點(diǎn)是可以對真實(shí)條件下的豬只圖像直接進(jìn)行預(yù)測,模型簡單,效率高。
1 卷積神經(jīng)網(wǎng)絡(luò)
1.1 卷積神經(jīng)網(wǎng)絡(luò)的組成
卷積神經(jīng)網(wǎng)絡(luò)包括數(shù)據(jù)輸入層(input layer)、卷積層(conv layer)、池化層(pooling layer)、激活函數(shù)(Activation Function)、Dropout和全連接層(FC layer)。
⑴ 輸入層:對圖像的特征數(shù)據(jù)預(yù)處理,把對圖像的預(yù)處理數(shù)據(jù)轉(zhuǎn)化成容易識別的圖像特征數(shù)據(jù)。
⑵ 卷積層:絕大部分計(jì)算都是集中在該層完成的。有多少個(gè)卷積核,輸出就有多少個(gè)卷積核通道。每個(gè)卷積核的輸出都生成一個(gè)特征圖,這些特征圖堆疊在一起組成整個(gè)卷積核輸出的結(jié)果。
⑶ 池化層:池化操作一般出現(xiàn)在卷積操作之后,與卷積操作交替在網(wǎng)絡(luò)中運(yùn)行。通過池化層,只把主要特征保留,進(jìn)一步縮小全連接層中神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)的特征個(gè)數(shù)。常見的池化操作方式主要有兩種:最大池化(max pooling)、平均池化(average pooling)。
⑷ 激活函數(shù):用于運(yùn)行在神經(jīng)網(wǎng)絡(luò)全連接層中的神經(jīng)元上的非線性函數(shù),它的作用主要是為了激活和提升整個(gè)神經(jīng)網(wǎng)絡(luò)的非線性。常用的激活函數(shù)有:Sigmoid函數(shù)、Tanh函數(shù)、ReLU函數(shù)[23]。
⑸ Dropout[24]:在神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)中,這是一種有效防止過度神經(jīng)網(wǎng)絡(luò)擬合的方法,可以按照一定的擬合比例,將部分非線性神經(jīng)網(wǎng)絡(luò)的單元暫時(shí)從神經(jīng)網(wǎng)絡(luò)中分離或丟棄,相當(dāng)于將原始的神經(jīng)網(wǎng)絡(luò)處理為一個(gè)更簡潔的神經(jīng)網(wǎng)絡(luò)。
⑹ 全連接層:是由許多神經(jīng)元共同連接得來的,經(jīng)過前面幾次對圖像進(jìn)行卷積操作和池化操作,把圖像抽象地處理為具有很強(qiáng)特征的信息。特征提取完之后,通過全連接層來完成對圖像的分類任務(wù)。
2 基于卷積神經(jīng)網(wǎng)絡(luò)對豬只個(gè)體身份進(jìn)行識別
2.1 數(shù)據(jù)采集
實(shí)驗(yàn)數(shù)據(jù)采集于山西省臨汾某養(yǎng)豬場的豬圈內(nèi),共采集7只豬只活動(dòng)視頻,每個(gè)視頻1分鐘。利用matlab工具,從采集到的豬只視頻數(shù)據(jù)中提取出7只豬個(gè)體圖像數(shù)據(jù),分別存放到7個(gè)文件夾中,用文件夾名稱來標(biāo)記豬只身份。為了保證樣本數(shù)據(jù)平均性,經(jīng)篩選,去除部分奇異樣本,再采用適當(dāng)?shù)臄?shù)據(jù)增強(qiáng)技術(shù)對數(shù)據(jù)集進(jìn)行擴(kuò)充,最終得到每只豬只115幅圖像,共805幅豬只圖像。對每只豬個(gè)體隨機(jī)選取100幅圖像作為訓(xùn)練集,用15幅作為測試集。訓(xùn)練集數(shù)據(jù)總共700幅豬只圖像,測試集總共105幅豬只圖像,輸入卷積神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行豬只身份識別。
2.2 建立卷積神經(jīng)網(wǎng)絡(luò)模型
本研究利用Keras建立了兩種卷積神經(jīng)網(wǎng)絡(luò)模型,一種模型是:卷積層-池化層-卷積層-池化層-全連接層,簡稱為2層CNN模型,另一種模型是卷積層-池化層-卷積層-池化層-卷積層-池化層-全連接層,簡稱為3層CNN模型。
構(gòu)建的2層CNN模型結(jié)構(gòu)如圖1所示,3層CNN模型結(jié)構(gòu)如圖2所示。
3 結(jié)果與分析
3.1 2層CNN模型與3層CNN模型豬只身份識別結(jié)果對比
將105幅測試用圖像輸入到建立好的2層CNN豬只身份識別模型和3層CNN豬只身份識別模型中進(jìn)行測試,得到結(jié)果如表1所示。
從表1中可以看到3層CNN模型與2層CNN模型對于豬只識別準(zhǔn)確率,都是85.7%,但是3層CNN模型所用識別時(shí)間相對較長,說明隨著網(wǎng)絡(luò)結(jié)構(gòu)的增加,豬只身份識別準(zhǔn)確率卻不會增加。因此對于本研究中的豬只身份識別,建立2層CNN模型是最優(yōu)模型。
3.2 2層CNN模型豬只身份識別結(jié)果分析
采用2層CNN模型來識別豬只身份,得到圖3混淆矩陣。其中0代表1號豬,1代表2號豬,2代表3號豬,3代表4號豬,5代表6號豬,6代表7號豬。
通過混淆矩陣,可以得到以下結(jié)論。
⑴ 對角線上的數(shù)字是預(yù)測正確的數(shù)量??梢钥吹?號、2號、3號、4號、5號、6號豬只15幅圖像全部預(yù)測正確。說明本研究建立的豬只身份識別模型,對于1-6號豬只特征提取精確,識別結(jié)果準(zhǔn)確。
⑵ 7號豬只身份識別結(jié)果很差,15幅圖像中5只被預(yù)測成3號豬,10只被預(yù)測成6號豬。7號豬只身份識別率很低,原因可能在于7號豬只圖像采集時(shí),里邊包含了多個(gè)豬只,對目標(biāo)豬只身份特征提取造成干擾,導(dǎo)致CNN模型識別率很低。7號豬只采集部分圖像如圖4所示。
3 結(jié)論與討論
本文利用Keras構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型對7只豬只個(gè)體身份進(jìn)行識別,準(zhǔn)確率可達(dá)85.71%。
⑴ 本文建立的豬只身份識別模型可以對真實(shí)條件下的豬只身份進(jìn)行快速識別,避免了傳統(tǒng)機(jī)器學(xué)習(xí)中的手工提取特征,降低人為因素的干擾。
⑵ 本文建立的豬只身份識別模型對只有單目標(biāo)豬只的圖像身份識別效果較好。在多目標(biāo)豬只身份識別上有待于改進(jìn)。
參考文獻(xiàn)(References):
[1] LEI ZHANG, HELEN GRAY, XUJIONG YE, et al.?Automatic Individual Pig Detection and Tracking in Pig Farms.Laboratory of Vision Engineering, School of Computer Science, University of Lincoln,2019(2):1-2
[2] 羅土玉,邊峰,鐘日開,等.幼豬生長性能智能測定系統(tǒng)設(shè)計(jì)和試驗(yàn)[J].現(xiàn)代農(nóng)業(yè)裝備,2017(2):65-67
[3] 伍佰鑫,浣成,張翠永,等.規(guī)模豬場人工智能監(jiān)控和預(yù)警的研究和應(yīng)用概況[J].中國豬業(yè),2017(12):60-61
[4] 沈富林,陸雪林,許棟,等.能物聯(lián)助推畜牧產(chǎn)業(yè)升級和種養(yǎng)聯(lián)動(dòng)[J].國畜牧業(yè),2016(1):32-35
[5] 何東健,劉冬,趙凱旋.精準(zhǔn)畜牧業(yè)中動(dòng)物信息智能感知與行為檢測研究進(jìn)展[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2016,47(5):231-244
[6] 米國芹.豬群健康狀態(tài)識別與掌握[J].中國畜禽種業(yè),2018,14(9):137
[7] 朱明,隋斌,齊飛,等.論中國鄉(xiāng)村振興戰(zhàn)略中的農(nóng)業(yè)工程管理創(chuàng)新[J].農(nóng)業(yè)工程學(xué)報(bào),2019,35(2):1-9
[8] KASHIHA MOHAMMADAMIN, BAHR CLAUDIA, OTTSANNE,et al. Automatic weight estimation of individual pigs usingimage analysis[J].Computers and Electronics in Agriculture,2014,107:38-44
[9] 張文文.基于模糊推理的多源信息生豬異常行為綜合監(jiān)測[D].太原:太原理工大學(xué),2018
[10] 卞子煜.基于深度學(xué)習(xí)的群養(yǎng)豬個(gè)體身份識別[D].江蘇大學(xué),2020
[11] 楊秋妹,肖德琴,張根興.豬只飲水行為機(jī)器視覺自動(dòng)識別[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2018,49(6):232-238
[12] 金耀,何秀文,萬世主,等.基于YOLO v3的生豬個(gè)體識別方法[J].中國農(nóng)機(jī)化學(xué)報(bào),2021,42(2):178-183
[13] 李丹,張凱鋒,李行健,等.基于Mask R-CNN的豬只爬跨行為識別[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2019,50(增刊):261-266,275
[14] 王少華,何東健,劉冬.基于機(jī)器視覺的奶牛發(fā)情行為自動(dòng)識別方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2020,51(4):241-249
[15] 張煒,陳晨.基于機(jī)器視覺技術(shù)的復(fù)雜運(yùn)動(dòng)姿態(tài)自動(dòng)跟蹤研究[J].現(xiàn)代電子技術(shù),2021,44(11):62-66
[16] 李志華,于楊.基于檢測的多目標(biāo)跟蹤算法綜述[J].物聯(lián)網(wǎng)技術(shù),2021,11(4):20-24
[17] HUANG WJ, ZHU WX, MA CH, et al. Identification ofgroup-housed pigs based on Gabor and Local BinaryPattern features[J]. biosystems engineering,2017,166:90-100
[18] 趙偉.基于Gabor方向直方圖和支持向量機(jī)的豬個(gè)體身份識別[D].江蘇大學(xué),2017
[19] F. HANSEN M., L. SMITH M., N. SMITH L. Towardson-farm pig face recognition using convolutional neuralnetwork[J]. Computer in Industry,2018(98):145-152
[20] 蓋榮麗,蔡建榮,王詩宇,等.卷積神經(jīng)網(wǎng)絡(luò)在圖像識別中的應(yīng)用研究綜述[J].小型微型計(jì)算機(jī)系統(tǒng):1-6[2021-06-09].http://kns.cnki.net/kcms/detail/21.1106.TP.20210428.1058.002.html.
[21] 李彥冬,郝宗波,雷航.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)應(yīng)用,2016(9):33-38
[22] 李炳臻,劉克,顧佼佼,等.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)時(shí)代,2021(4):8-12,17
[23] NAIR V,HINTON G E.Rectified linear units improverestricted boltzmann machines [C].Proceedings of the 27th international conference on machine learning (ICML-10),2010:807-814
[24] HINTON G E,SRIVASTAVA N,KRIZHEVSKY A,et al..Improving neural networks by preventing co-adaptation of feature detectors[J].Computer Ence,2012,3(4):212-223