達措 李蕾
(西藏大學信息科學技術學院 西藏 拉薩 850000)
隨著科學技術的發(fā)展西藏各地區(qū)的生活水平和醫(yī)療等各方面得到了很大的改善,但西藏的畜牧業(yè)產業(yè)還依然存在著很多困難,沒有做到全面的智能化到目前大部分工作仍然需要依靠人工來實施。西藏那曲是西藏畜牧業(yè)大區(qū),大部分以放牧為生因受自然條件惡劣,高海拔等因素以及牦牛特有的抗寒和生存能力強的特點,牦牛是牧區(qū)的主要牲畜。然而在牧區(qū)存在牲畜的種類和數量多原因,在進行家畜的辨別或計數時存在誤認、數錯、耗費時間長以及需要較多的人手等各種問題。目前基于深度學習的目標檢測主流框架可以分為兩類:一類是基于two-stage的方法,比如RCNN,F(xiàn)ast RCNN,F(xiàn)aster RCNN。另一類是one-stage的目標檢測框架,例如YOLO系列和SSD等。本文用darknet-53為框架的YOLOv3模型作為牦牛目標檢測的模型,將牦牛和其他牛類以及牧區(qū)的其他牲畜區(qū)分開來,從而達到只檢測牦牛的效果[1]。
深度學習(Deep Learning)是一種表示學習方法,它具有強大的數據表征能力[2]。更通俗地理解深度學習是學習樣本數據中的特征以及數據的內在規(guī)律來從未知到已知去探索和思考以及推理、計算的一個過程。它是起源于人工智能和機器學習,深度學習在發(fā)展期間曾經歷過兩次低谷時期分別是:(1969-1986,1998-2006)。Hinton等[3]在2006年提出了以深度信念網絡為代表的深度學習方法,深度學習迅速發(fā)展了起來,并且在圖像分類和語音識別上有了重大突破[4-5]深度學習的神經網絡是模擬人類的大腦機制而成它是模仿人的視覺和思考能力來解釋大量的數據和圖像進行識別和分類。神經網絡需要大量的數據進行訓練,才能具有基本的技能。
將輸入到網絡的圖像劃分為S×S的網格?;具^程如圖1所示。
YOLOv3算法是2018年Redmon等人在YOLOv2保留了原有的算法基礎上提出,它使用了全卷積網絡并且網絡結構中無全連接層和池化層。是當下主流的一種快速目標檢測算法。主要引入了多尺度特征融合,通常輸入YOLOv3網絡的圖像大小為416×416最后輸出的特征圖有13×13、26×26、52×52的三個不同尺度的輸出。并且在COCO數據集上已經能檢測出80種類。
由于設備的欠缺此次實驗用的數據拍攝工具為Android手機,采集圖片的存儲格式為jpg格式。采集的數據將分成三種部分A組數據是牦牛在牛圈里時進行的拍攝,背景較為統(tǒng)一且拍攝距離近更有利用個體識別1807幅圖。B組是牦牛在山上或草原上時進行的拍攝,有遠近距離和拍攝背景不同的影響,同時也受到牛群密集而造成的遮擋現(xiàn)象,共有1466幅圖。C組是在一張圖像中有牦牛與其他牦牛一起的數據,因那曲地區(qū)班戈縣沒有犏牛和黃牛及其他牛類的原因,C組的數據是通過網上爬蟲的方法獲取,再次經過人工篩選和處理將牦牛與其他牛類放在一起作為干擾數據,共有118幅圖。
實驗設備配置為ubuntu18.04操作系統(tǒng),顯卡為NVIDIA GeForce RTX 3070,深度學習框架為darknet-53,CPU為Inteli7-10700。
3.3.1 數據標注軟件
使用精靈標注軟件對數據進行標注,它是一款有多種數據導出的輸出方式有的數據標注軟件,支持XML、JSON、MongoDB、pascal-voc格式的輸出。本文使用的輸出方式為XML。
3.3.2 數據的劃分
將數據份為訓練集和測試集,A組訓練集共有1195幅圖,測試集共有612幅圖。B組訓練集共有975幅圖,測試集共有491幅圖。A+B+C組訓練集共有2578幅圖,測試集共有813幅圖。
3.3.3 評價指標
目標檢測常用的評價指標有各類平均精確率M A P(m e a n average precision)、類內平均精確率AP (average precision)、精確率P (precision)、召回率R(recall)等。本文章計算P、R、MAP值對模型進行評估,其各指標的計算公式如下:
其中精確率P是針對于預測數據的準確結果而言的,它是表示在數據集中預測為正例的樣本有多少是真正的正樣本。它有兩種不同的情況:TP(true positives)是正類預測結果也是正類,即真正類。 FP(false positives)是負類預測結果為正類,即假正類是誤報結果。召回率R是針對數據的原樣本結果而言,它是表示在原樣本中的正例有多少是被預測正確的。也同樣有兩種情況:TP(true positives)是表示原樣本為正類預測結果也是正類,即真正類。FN(false negatives)是表示原樣本為正類而預測結果是負類,即假負類是漏報結果。
MAP是PR曲線的定積分,面積取值范圍內面積越大說明算法準確度越高。
使用不同數據集訓練網絡將MAP(mean average precision)值進行對比,如表1所示,結果顯示A組測試效果為最差不能很好地檢測出遠距離的牦牛而且不能將牦牛與其他牛類區(qū)分。B組雖然可以很好地檢測出遠距離牦牛以及背景復雜的牦牛,但仍不能區(qū)分牦牛與其他牛類。A+B+C組檢測效果最佳,且能很好地區(qū)分牦牛與黃牛、水牛、奶牛等但由于犏牛的特征與牦牛極為相似模型還不能完全的將牦牛與犏牛區(qū)分開來。此實驗說明訓練數據不能太過于統(tǒng)一化模型需要加入干擾數據更有利用應用在真實場景中。
表1 不同數據集上的MAP值
圖2為A組圖像是牦牛在牛圈場景下拍的示例圖檢測效果,圖3為B組圖像是在山上遠距離拍的示例圖檢測效果,圖4為C組圖像是將牦牛與其他牛類和牲畜的示例圖檢測效果,圖5是為了驗證牦牛檢測效果的實際準確度,從網上爬蟲一些數據隨機挑選進行的測試效果,在圖5中第二張圖上的牛均為犏牛,因此模型未檢測出牦牛。
由于犏牛與牦牛特征差異微小及采集數據的地方沒有犏牛等因素的存在,收集到的牦牛與犏牛一起的圖像數據有限,因此現(xiàn)模型還不能完全的區(qū)分出牦牛與犏牛的差別,還仍存在部分誤檢的情況。針對這種問題我們還需要增強數據收集或嘗試去訓練別的模型來解決現(xiàn)存在的問題。
通過實驗得知牦牛目標檢測在YOLOv3模型上能達到90%以上的準確的率,由此可見YOLOv3能夠滿足高效,快速的牦牛檢測需求并達到視覺檢測的效果。為西藏牧區(qū)養(yǎng)殖業(yè)的信息化應用起到了很大的作用也驗證了目標檢測與識別技術在牧區(qū)養(yǎng)殖業(yè)中的應用有具大的前景;同時進一步研究牦牛的計數和進行個體識別以及行為分析也提供了方法支撐。