拉毛杰 安見才讓



摘 ?要: 目前,青藏高原地區有多種放牧管理方式,但因家庭勞動力、草場規模、種群品種數量等因素存在著一定的局限性。因此,本文將深度學習技術引入畜牧業動物圖像識別中,還通過數據增強技術對原始圖像進行了平移、旋轉、翻轉、縮放等操作,建立了青藏高原地區常見的畜牧業動物圖像數據集。設計了卷積神經網絡模型并實現了圖像識別和統計。實驗表明,該方法對畜牧業動物圖像的識別率達到87.89%。
關鍵詞: 卷積神經網絡;畜牧業動物圖像識別;數據集
中圖分類號: TP391. 41 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.08.013
本文著錄格式:拉毛杰,安見才讓. 基于卷積神經網絡的畜牧業動物圖像識別研究[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 ?引言
當前畜牧產業正在經歷從傳統的粗放型養殖農牧業模式逐步向現代集約化精準養殖模式轉變。通過機械智能地對某一畜牧養殖環境進行物種檢測,從而掌握每戶畜牧情況,不僅消除了管理人員野外考察的危險,而且更加方便了放牧的管理。但是,目前還沒有一種專門針對青藏高原畜牧業動物圖像識別與統計的軟件。因此,本文結合青藏高原特有的地理環境和畜牧業動物特性建立了自然環境下的識別模型。并在此基礎上構建了畜牧業動物圖像自動識別統計的方 ?法,為應用深度學習技術進行科學合理放牧提供方法 ?支撐。
1 ?數據預處理
深度學習模型訓練,需要大量的畜牧業動物圖像數據。如果訓練的圖像數據過少或者圖像質量太差,導致模型很容易產生過擬合現象,從而在測試集上準確率降低。因此,數據訓練前,首先要到農牧區進行大量采集不同季節的動物圖像,然后將逐一進行篩選,命名和格式統一。最后用標注工具進行標注建立數據集。
1.1 ?圖像采集
為了確保圖像數據足夠多且具有廣泛性,主要的圖像來源為青海省內主要的牧區,還有通過互聯網自媒體和搜索引擎采集畜牧業動物圖像,數據圖像包括青藏高原地區常見的3類畜牧動物圖像。使用Cannon EOS 700D相機和OPPO R15型智能手機拍攝畜牧業動物圖像,由于采集圖像時由不同的人進行拍攝,圖像的質量、角度、像素和格式等存在一定的差異,為了方便圖片讀入和后續處理,對所有收集的圖像數據采用人工進行檢查,將不清晰的劣質圖像和重復數據進行刪除,以確保數據中不存在劣質和重復的圖像。
1.2 ?數據增強
采用深度學習的方法要用到大量的圖像數據,比如,AlexNet網絡多年能夠取得巨大的成功,其中圖片圖像增強功不可沒[1]。但是,采集回來的圖像經過篩選后,圖像的數量明顯下降了,每類動物有1700張圖像,共計5100多張。其中訓練畜牧業動物圖像識別模型需要大約1500多張,顯然這樣規模的數據集不算太大,為了提高畜牧業動物圖像識別模型的性能和魯棒性,本文采用數據增強技術。數據增強技術包括:
(1)旋轉:旋轉操作是在原始圖像上按順時針或者逆時針的方向上選取一定的角度旋轉生成的圖像。
(2)平移:平移操作就是將原始圖像沿著x軸或者y軸的方向平行移動,平移平移方式有水平平移和垂直偏移。
(3)縮放:縮放操作就是將原始圖像在水平或者垂直或者兩邊方向上同時放大或者縮小,生成新的圖像[2]。
(4)翻轉:翻轉操作就是將原始圖像的中心坐標為基準進行翻轉,翻轉方式有水平翻轉和垂直翻轉。
(5)添加噪聲:噪聲操作就是隨機的將白色和黑色的點鋪滿整個圖像,可以讓高頻特征失真,降低其模型的影響。
通過數據增強技術,最終的圖像數為6050張。
1.3 ?數據標注
深度學習中的網絡通常要結合標注文件和圖像中的信息才能夠網絡的訓練,本節將使用LabelImage標注工具,對畜牧業動物圖像進行人工標注,圖像標注過程如圖1所示。
2 ?基于YOLOv3的青藏高原畜牧業動物圖像識別模型
2.1 ?YOLOv3算法
2018年YOLOv3問世以來就得到了計算機視覺領域研究人員的青睞,YOLOv3不僅繼承了YOLOv2的速度的優勢,還增加算法的精度,尤其是對小目標的檢測效果非常好。YOLOv3的大體算法流程為,(1)輸入圖像到Darknet-53網絡進行特征提取,(2)利用多尺度融合進行預測類別和邊界框,(3)通過NMS算法清除類別置信度低的候選框,(4)采用二分類交叉熵作為損失函數計算分類概率和坐標誤差。
2.2 ?Darknet-53網絡
YOLOv3采用53層的全卷積結構,這個網絡是在Darknet-19的基礎上疊加殘差單元而成的。在前向傳播過程中,采用卷積核的步長來變換張量的尺寸,當卷積的步長為2時,每次的卷積過后,圖像的邊長比原圖像縮小1/2。從Darknet-53的結構上看,卷積的步長為2的總共有5次,經過5次的卷積步長為2的操作,特征圖縮小為原來的1/32。所以網絡輸入圖像的大小為32的倍數,取為416*416。
在YOLOv3的整體結構中沒有池化層和全連接層。Darknet-53網絡結構中采用了residual結構,residual可以很好地控制梯度問題,不會出現梯度爆炸或者消失的狀態。因此使用Darknet-53網絡精度會明顯得到提升。
2.3 ?殘差結構
本文Darknet-53中采用了殘差跳躍方式,以便能夠成功訓練成千上百個網絡層,且錯誤率不會因此而提升,緩解了在深度神經網絡中增加深度帶來的梯度消失問題。殘差中的1×1卷積,減少了每次卷積的信號通道數量從而減少了參數個數,降低了計算量[3]。殘差網絡和普通的卷積神經網絡的區別在于,殘差網絡引入了捷徑連接,構造了殘差模塊。殘差模塊中捷徑連接一般會跨越2-3層,本文Darknet-53中采用2層的殘差模塊,其跳過兩個卷積層,如圖3所示。
2.4 ?多尺度預測
當YOLOv3中輸入一張416*416尺寸的圖像時,圖像會分成S*S網格,在Darknet-53得到特征圖的基礎上,與DBL上采樣進行張量拼接后BDL和卷積層操作進行三次支路預測,預測輸出的大小為y1:(13*13),y2:(26*26),y3:(52*52)。每一個預測階段每個網格都會預測3個邊界框和相應的置信度,每個預測的邊界框都會產生5個值,分別是邊界框的中心坐標x,y,寬高坐標w,h以及置信度confidence,即x,y,w,h,confidence。其confidence的計算方式公式(1):
Confidence = pr(object)*IOU ? ? ? ? ? ? ?(1)
其中,pr(object)表示預測網格中是否有目標,如果真實框(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)時除了產生x,y,w,h,confidence五個值外,還會對每個網格預測C個類別概率Pr(Classi|Object)。但softmax分類器只能將一個目標分配給一個類別標簽。可是在多類別的大數據集中,一個目標可能有多個類別標簽,因此YOLOv3將單標簽softmax分類器替換為多個獨立的logistic分類器,且準確率不下降。例如,在一個數據集的類別標簽中有sheep和animal兩個類別,待檢測的照片中有一個sheep目標,那么在檢測結果中同時要有類別標簽animal和 sheep,這就是多標簽分類。當網絡模型訓練完進行測試時,邊界框的類別概率乘以con-fidence的值得到邊界框的類別置信度,如公式2所示。
Logistic多標簽分類器主要采用的是sigmoid函數,該函數可以將輸入控制在0—1的范圍內,因此當一張照片經過特征提取后某一類別經過sigmoid函數約束后大于閾值0.5,那么該bounding box(邊界框)的目標就屬于該類別。
2.6 ?青藏高原畜牧業動物圖像識別中目標個數的 ?統計
待檢測圖像通過訓練的網絡模型進行識別,在識別過程中檢測到的候選框進行置信度計算,刪除置信度不夠的候選框,保留置信度高的候選框,之后保留到的候選框對應上類別標簽計數器累加相應的類別個數,最后輸出sum和各類別的個數統計,如所示。
3 ?實驗結果與分析
3.1 ?實驗環境
本文實驗環境為Windows server2012 PyCharm,使用Python為編程語言,同時搭載NVIDIA GeForce RTX2080Ti-11G型號的GPU和64G內存,還配置Inter(R)core(TM)i7-8700K 的CPU和512G固態/4T硬盤。軟件配置為深度學習框架TensorFlow1.14.0、Keras2.1.5和Opencv3.4.0。
3.2 ?實驗數據
為了驗證本文建立的YOLOv3模型對畜牧業動物圖像識別的健壯性和準確率,實驗隨機抽取各類別177張作為測試集,共計531張,采用mAP值作為評價指標。
3.3 ?實驗結果
如表1所示,對測試集531幅畜牧業動物圖像進行測試,實驗結果表明,Darknet-53網絡模型的mAP為87.89%。
對測試集中60張畜牧業動物圖像識別計數的統計結果如表2所示,60張圖像人工統計為387個目標動物,YOLOv3模型檢出335個目標動物,統計識別準確率為94.6%,即一旦被YOLOv3模型檢出為目標動物,正確統計的準確率將達到94.6%,表中漏檢率為13.4%,誤檢率為4.7%。
4 ?結論
本文基于YOLOv3算法的Darknet-53框架構建了網絡模型,實現了畜牧業動物圖像采集、上傳、存儲、識別分析和結果統計與顯示的一體化功能,實驗表明,YOLOv3模型對畜牧業動物圖像識別具有良好的健壯性,識別和統計的準確率較高。但對于多個重疊的畜牧業動物圖像識別率較低,則需要進一步結合形狀學習和主動輪廓模型等圖像模型算法來實現[4-5]。在下一步學習過程中,由于目前在應用深度學習模型方面,研究熱點主要集中于構建高準確率的識別模型[6],所以在原有算法的基礎上進行適當的改進,提高模型的泛化能力和魯棒性。
參考文獻
[1] 王奧光. 基于深度學習圖像識別的研究及應用[D]. 電子科技大學, 2018.
[2] 付永欽. 基于深度學習的蛇類圖像分類研究[D]. 浙江大學, 2019.
[3] 王毅恒, 徐德章, 基于YOLOv3算法的農場環境下奶牛目標識別[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] 岑冠軍, 華俊達等. 基于深度學習的芒果圖像在線識別與統計方法的研究[J]. 熱帶作物學報, 2019.
[7] 張翠平, 蘇光大, 人臉識別技術綜述[J], 中國圖像圖形學報(A版), 2000, 5(11): 885-894.
[8] 趙凱旋, 何東健. 基于卷積神經網絡的奶牛個體身份識別方法[J]. 農業工程學報, 2015(5): 181-187.
[9] 劉杰鑫, 姜波, 何東健等. 基于高斯混合模型與 CNN 的奶牛個體識別方法研究[J]. 計算機應用與軟件, 2018(10): 159-164.
[10] 廖威, 鄭立華, 李民贊, 孫紅, 楊瑋. 基于隨機森立算法的自然光照條件下綠色蘋果識別[J]. 農業機械學報, 2017, 48(增刊): 86-91.