拉毛杰 安見才讓
摘 ?要: 目前,青藏高原地區(qū)有多種放牧管理方式,但因家庭勞動力、草場規(guī)模、種群品種數(shù)量等因素存在著一定的局限性。因此,本文將深度學習技術(shù)引入畜牧業(yè)動物圖像識別中,還通過數(shù)據(jù)增強技術(shù)對原始圖像進行了平移、旋轉(zhuǎn)、翻轉(zhuǎn)、縮放等操作,建立了青藏高原地區(qū)常見的畜牧業(yè)動物圖像數(shù)據(jù)集。設計了卷積神經(jīng)網(wǎng)絡模型并實現(xiàn)了圖像識別和統(tǒng)計。實驗表明,該方法對畜牧業(yè)動物圖像的識別率達到87.89%。
關(guān)鍵詞: 卷積神經(jīng)網(wǎng)絡;畜牧業(yè)動物圖像識別;數(shù)據(jù)集
中圖分類號: TP391. 41 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.08.013
本文著錄格式:拉毛杰,安見才讓. 基于卷積神經(jīng)網(wǎng)絡的畜牧業(yè)動物圖像識別研究[J]. 軟件,2020,41(08):43-45
【Abstract】: At present, there are multiple grazing management methods in the Qinghai-Tibet Plateau, but there are certain limitations due to factors such as family labor, pasture size, and number of species. Therefore, this paper introduces deep learning technology into animal husbandry animal image recognition, and also uses data enhancement technology to translate, rotate, flip, and zoom the original image, and establishes a common animal husbandry animal image data set in the Qinghai-Tibet Plateau. A convolutional neural network model is designed and image recognition and statistics are realized. Experiments show that the method has a recognition rate of 87.12% for animal images in animal husbandry.
【Key words】: Convolutional neural network; Animal husbandry animal image recognition; Data set
0 ?引言
當前畜牧產(chǎn)業(yè)正在經(jīng)歷從傳統(tǒng)的粗放型養(yǎng)殖農(nóng)牧業(yè)模式逐步向現(xiàn)代集約化精準養(yǎng)殖模式轉(zhuǎn)變。通過機械智能地對某一畜牧養(yǎng)殖環(huán)境進行物種檢測,從而掌握每戶畜牧情況,不僅消除了管理人員野外考察的危險,而且更加方便了放牧的管理。但是,目前還沒有一種專門針對青藏高原畜牧業(yè)動物圖像識別與統(tǒng)計的軟件。因此,本文結(jié)合青藏高原特有的地理環(huán)境和畜牧業(yè)動物特性建立了自然環(huán)境下的識別模型。并在此基礎(chǔ)上構(gòu)建了畜牧業(yè)動物圖像自動識別統(tǒng)計的方 ?法,為應用深度學習技術(shù)進行科學合理放牧提供方法 ?支撐。
1 ?數(shù)據(jù)預處理
深度學習模型訓練,需要大量的畜牧業(yè)動物圖像數(shù)據(jù)。如果訓練的圖像數(shù)據(jù)過少或者圖像質(zhì)量太差,導致模型很容易產(chǎn)生過擬合現(xiàn)象,從而在測試集上準確率降低。因此,數(shù)據(jù)訓練前,首先要到農(nóng)牧區(qū)進行大量采集不同季節(jié)的動物圖像,然后將逐一進行篩選,命名和格式統(tǒng)一。最后用標注工具進行標注建立數(shù)據(jù)集。
1.1 ?圖像采集
為了確保圖像數(shù)據(jù)足夠多且具有廣泛性,主要的圖像來源為青海省內(nèi)主要的牧區(qū),還有通過互聯(lián)網(wǎng)自媒體和搜索引擎采集畜牧業(yè)動物圖像,數(shù)據(jù)圖像包括青藏高原地區(qū)常見的3類畜牧動物圖像。使用Cannon EOS 700D相機和OPPO R15型智能手機拍攝畜牧業(yè)動物圖像,由于采集圖像時由不同的人進行拍攝,圖像的質(zhì)量、角度、像素和格式等存在一定的差異,為了方便圖片讀入和后續(xù)處理,對所有收集的圖像數(shù)據(jù)采用人工進行檢查,將不清晰的劣質(zhì)圖像和重復數(shù)據(jù)進行刪除,以確保數(shù)據(jù)中不存在劣質(zhì)和重復的圖像。
1.2 ?數(shù)據(jù)增強
采用深度學習的方法要用到大量的圖像數(shù)據(jù),比如,AlexNet網(wǎng)絡多年能夠取得巨大的成功,其中圖片圖像增強功不可沒[1]。但是,采集回來的圖像經(jīng)過篩選后,圖像的數(shù)量明顯下降了,每類動物有1700張圖像,共計5100多張。其中訓練畜牧業(yè)動物圖像識別模型需要大約1500多張,顯然這樣規(guī)模的數(shù)據(jù)集不算太大,為了提高畜牧業(yè)動物圖像識別模型的性能和魯棒性,本文采用數(shù)據(jù)增強技術(shù)。數(shù)據(jù)增強技術(shù)包括:
(1)旋轉(zhuǎn):旋轉(zhuǎn)操作是在原始圖像上按順時針或者逆時針的方向上選取一定的角度旋轉(zhuǎn)生成的圖像。
(2)平移:平移操作就是將原始圖像沿著x軸或者y軸的方向平行移動,平移平移方式有水平平移和垂直偏移。
(3)縮放:縮放操作就是將原始圖像在水平或者垂直或者兩邊方向上同時放大或者縮小,生成新的圖像[2]。
(4)翻轉(zhuǎn):翻轉(zhuǎn)操作就是將原始圖像的中心坐標為基準進行翻轉(zhuǎn),翻轉(zhuǎn)方式有水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)。
(5)添加噪聲:噪聲操作就是隨機的將白色和黑色的點鋪滿整個圖像,可以讓高頻特征失真,降低其模型的影響。
通過數(shù)據(jù)增強技術(shù),最終的圖像數(shù)為6050張。
1.3 ?數(shù)據(jù)標注
深度學習中的網(wǎng)絡通常要結(jié)合標注文件和圖像中的信息才能夠網(wǎng)絡的訓練,本節(jié)將使用LabelImage標注工具,對畜牧業(yè)動物圖像進行人工標注,圖像標注過程如圖1所示。
2 ?基于YOLOv3的青藏高原畜牧業(yè)動物圖像識別模型
2.1 ?YOLOv3算法
2018年YOLOv3問世以來就得到了計算機視覺領(lǐng)域研究人員的青睞,YOLOv3不僅繼承了YOLOv2的速度的優(yōu)勢,還增加算法的精度,尤其是對小目標的檢測效果非常好。YOLOv3的大體算法流程為,(1)輸入圖像到Darknet-53網(wǎng)絡進行特征提取,(2)利用多尺度融合進行預測類別和邊界框,(3)通過NMS算法清除類別置信度低的候選框,(4)采用二分類交叉熵作為損失函數(shù)計算分類概率和坐標誤差。
2.2 ?Darknet-53網(wǎng)絡
YOLOv3采用53層的全卷積結(jié)構(gòu),這個網(wǎng)絡是在Darknet-19的基礎(chǔ)上疊加殘差單元而成的。在前向傳播過程中,采用卷積核的步長來變換張量的尺寸,當卷積的步長為2時,每次的卷積過后,圖像的邊長比原圖像縮小1/2。從Darknet-53的結(jié)構(gòu)上看,卷積的步長為2的總共有5次,經(jīng)過5次的卷積步長為2的操作,特征圖縮小為原來的1/32。所以網(wǎng)絡輸入圖像的大小為32的倍數(shù),取為416*416。
在YOLOv3的整體結(jié)構(gòu)中沒有池化層和全連接層。Darknet-53網(wǎng)絡結(jié)構(gòu)中采用了residual結(jié)構(gòu),residual可以很好地控制梯度問題,不會出現(xiàn)梯度爆炸或者消失的狀態(tài)。因此使用Darknet-53網(wǎng)絡精度會明顯得到提升。
2.3 ?殘差結(jié)構(gòu)
本文Darknet-53中采用了殘差跳躍方式,以便能夠成功訓練成千上百個網(wǎng)絡層,且錯誤率不會因此而提升,緩解了在深度神經(jīng)網(wǎng)絡中增加深度帶來的梯度消失問題。殘差中的1×1卷積,減少了每次卷積的信號通道數(shù)量從而減少了參數(shù)個數(shù),降低了計算量[3]。殘差網(wǎng)絡和普通的卷積神經(jīng)網(wǎng)絡的區(qū)別在于,殘差網(wǎng)絡引入了捷徑連接,構(gòu)造了殘差模塊。殘差模塊中捷徑連接一般會跨越2-3層,本文Darknet-53中采用2層的殘差模塊,其跳過兩個卷積層,如圖3所示。
2.4 ?多尺度預測
當YOLOv3中輸入一張416*416尺寸的圖像時,圖像會分成S*S網(wǎng)格,在Darknet-53得到特征圖的基礎(chǔ)上,與DBL上采樣進行張量拼接后BDL和卷積層操作進行三次支路預測,預測輸出的大小為y1:(13*13),y2:(26*26),y3:(52*52)。每一個預測階段每個網(wǎng)格都會預測3個邊界框和相應的置信度,每個預測的邊界框都會產(chǎn)生5個值,分別是邊界框的中心坐標x,y,寬高坐標w,h以及置信度confidence,即x,y,w,h,confidence。其confidence的計算方式公式(1):
Confidence = pr(object)*IOU ? ? ? ? ? ? ?(1)
其中,pr(object)表示預測網(wǎng)格中是否有目標,如果真實框(ground truth)與邊界框(bounding box)的重疊度比其他的邊界框都要好,則Pr(object)=1。如果bounding box不是最好的,但確實與真實框(ground truth)的重疊度超過了設定的閾值0.5,則Pr(object)=0。IOU表示真實框(ground truth)和邊界框(bounding box)的交集與并集的比。
2.5 ?類別預測
在YOLOv3中預測邊界框(bounding box)時除了產(chǎn)生x,y,w,h,confidence五個值外,還會對每個網(wǎng)格預測C個類別概率Pr(Classi|Object)。但softmax分類器只能將一個目標分配給一個類別標簽??墒窃诙囝悇e的大數(shù)據(jù)集中,一個目標可能有多個類別標簽,因此YOLOv3將單標簽softmax分類器替換為多個獨立的logistic分類器,且準確率不下降。例如,在一個數(shù)據(jù)集的類別標簽中有sheep和animal兩個類別,待檢測的照片中有一個sheep目標,那么在檢測結(jié)果中同時要有類別標簽animal和 sheep,這就是多標簽分類。當網(wǎng)絡模型訓練完進行測試時,邊界框的類別概率乘以con-fidence的值得到邊界框的類別置信度,如公式2所示。
Logistic多標簽分類器主要采用的是sigmoid函數(shù),該函數(shù)可以將輸入控制在0—1的范圍內(nèi),因此當一張照片經(jīng)過特征提取后某一類別經(jīng)過sigmoid函數(shù)約束后大于閾值0.5,那么該bounding box(邊界框)的目標就屬于該類別。
2.6 ?青藏高原畜牧業(yè)動物圖像識別中目標個數(shù)的 ?統(tǒng)計
待檢測圖像通過訓練的網(wǎng)絡模型進行識別,在識別過程中檢測到的候選框進行置信度計算,刪除置信度不夠的候選框,保留置信度高的候選框,之后保留到的候選框?qū)项悇e標簽計數(shù)器累加相應的類別個數(shù),最后輸出sum和各類別的個數(shù)統(tǒng)計,如所示。
3 ?實驗結(jié)果與分析
3.1 ?實驗環(huán)境
本文實驗環(huán)境為Windows server2012 PyCharm,使用Python為編程語言,同時搭載NVIDIA GeForce RTX2080Ti-11G型號的GPU和64G內(nèi)存,還配置Inter(R)core(TM)i7-8700K 的CPU和512G固態(tài)/4T硬盤。軟件配置為深度學習框架TensorFlow1.14.0、Keras2.1.5和Opencv3.4.0。
3.2 ?實驗數(shù)據(jù)
為了驗證本文建立的YOLOv3模型對畜牧業(yè)動物圖像識別的健壯性和準確率,實驗隨機抽取各類別177張作為測試集,共計531張,采用mAP值作為評價指標。
3.3 ?實驗結(jié)果
如表1所示,對測試集531幅畜牧業(yè)動物圖像進行測試,實驗結(jié)果表明,Darknet-53網(wǎng)絡模型的mAP為87.89%。
對測試集中60張畜牧業(yè)動物圖像識別計數(shù)的統(tǒng)計結(jié)果如表2所示,60張圖像人工統(tǒng)計為387個目標動物,YOLOv3模型檢出335個目標動物,統(tǒng)計識別準確率為94.6%,即一旦被YOLOv3模型檢出為目標動物,正確統(tǒng)計的準確率將達到94.6%,表中漏檢率為13.4%,誤檢率為4.7%。
4 ?結(jié)論
本文基于YOLOv3算法的Darknet-53框架構(gòu)建了網(wǎng)絡模型,實現(xiàn)了畜牧業(yè)動物圖像采集、上傳、存儲、識別分析和結(jié)果統(tǒng)計與顯示的一體化功能,實驗表明,YOLOv3模型對畜牧業(yè)動物圖像識別具有良好的健壯性,識別和統(tǒng)計的準確率較高。但對于多個重疊的畜牧業(yè)動物圖像識別率較低,則需要進一步結(jié)合形狀學習和主動輪廓模型等圖像模型算法來實現(xiàn)[4-5]。在下一步學習過程中,由于目前在應用深度學習模型方面,研究熱點主要集中于構(gòu)建高準確率的識別模型[6],所以在原有算法的基礎(chǔ)上進行適當?shù)母倪M,提高模型的泛化能力和魯棒性。
參考文獻
[1] 王奧光. 基于深度學習圖像識別的研究及應用[D]. 電子科技大學, 2018.
[2] 付永欽. 基于深度學習的蛇類圖像分類研究[D]. 浙江大學, 2019.
[3] 王毅恒, 徐德章, 基于YOLOv3算法的農(nóng)場環(huán)境下奶牛目標識別[J]. 廣東石油化工學院學報, 2019, 29(4).
[4] Hanmuda E, Glavin M, Jones E. A survey of image processing techniques for plant extraction and segmentation in the field[J]. Computer and Electronics in Agriculture, 2016, 125: 184-199.
[5] DeChant C, Wiesner-Hanks T, Chen S, et al. Automated Identtification of Northern leaf Blight-Infected Maize Plants from Field Imagery Using Deep Learning[J]. Phytopathology, 2017, 107: 1462-1432.
[6] 岑冠軍, 華俊達等. 基于深度學習的芒果圖像在線識別與統(tǒng)計方法的研究[J]. 熱帶作物學報, 2019.
[7] 張翠平, 蘇光大, 人臉識別技術(shù)綜述[J], 中國圖像圖形學報(A版), 2000, 5(11): 885-894.
[8] 趙凱旋, 何東健. 基于卷積神經(jīng)網(wǎng)絡的奶牛個體身份識別方法[J]. 農(nóng)業(yè)工程學報, 2015(5): 181-187.
[9] 劉杰鑫, 姜波, 何東健等. 基于高斯混合模型與 CNN 的奶牛個體識別方法研究[J]. 計算機應用與軟件, 2018(10): 159-164.
[10] 廖威, 鄭立華, 李民贊, 孫紅, 楊瑋. 基于隨機森立算法的自然光照條件下綠色蘋果識別[J]. 農(nóng)業(yè)機械學報, 2017, 48(增刊): 86-91.