• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于改進SSD算法對奶牛的個體識別

      2022-01-25 18:55:02邢永鑫孫游東王天一
      計算機工程與應用 2022年2期
      關鍵詞:候選框淺層權值

      邢永鑫,孫游東,王天一

      貴州大學 大數據與信息工程學院,貴陽 550025

      信息技術與智能技術的快速進步正推動現(xiàn)代畜牧業(yè)朝著綠色、高效、智能的方向發(fā)展[1-2]。奶牛養(yǎng)殖作為畜牧業(yè)的重要組成部分,智能化、自動化養(yǎng)殖也成為必然的趨勢[3-5]。在養(yǎng)殖場中,為精準、快速地記錄每頭奶牛的產奶量、擠奶時間、擠奶次數、產奶品質等數據,需要對每頭奶牛進行精準快速的識別。為完成這一任務,需要借助基于深度學習的目標檢測算法。卷積神經網絡[6]作為深度學習的一種學習算法,利用逐層深入的空間關系來減少需要學習的參數數目以提高一般神經網絡算法的訓練性能,具有很強的判別能力與學習能力[7]。將圖像輸入網絡后,每層卷積層均通過不同權值學習輸入數據的不同特征,得到的特征信息在不同的卷積層中依次進行傳遞。

      近年來,以AlexNet[8]、VGGNet[9]等算法為代表的深度學習算法在圖像識別等復雜任務上表現(xiàn)優(yōu)異,迅速吸引了學術界和工業(yè)界的聚焦。在目標檢測領域,基于深度學習的經典算法包括R-CNN[10]以及在其基礎上改進的Faster R-CNN[11]等,這些算法雖然具有較高的檢測精度,其雙階段檢測的特性卻導致檢測的速度較慢。2016年,Redmon等在CVPR會議上提出統(tǒng)一實時目標檢測算法[12](you only look once,YOLO),該算法利用回歸得到邊界框和類別概率,以檢測精度為代價換來了檢測速度的明顯提升。同年,Liu等在ECCV會議上提出了多尺度單發(fā)射擊檢測算法[13](single shot multibox detector,SSD),在不同尺度感受野的特征圖上提取特征,再利用回歸得到目標物體的位置和分類結果,在保證實時性的同時,提高了檢測精度。然而,SSD算法的缺點在于不能充分利用淺層的高分辨率特征圖。此外,候選框的尺寸比例也需要人工根據經驗設置。

      本文以SSD算法為基礎,針對前文提到的兩個缺點,對SSD算法進行改進,提出了基于淺層特征模塊的改進SSD(shallow feature module SSD,SFM-SSD)算法。

      SFM-SSD在原始SSD算法的基礎上,將主干卷積神經網絡由VGG16換為MobileNetV2,利用MobileNetV2網絡結構中的深度可分離卷積[14]來降低網絡的運算量;再利用淺層特征模塊(shallow feature module,SFM)[15-16],提高淺層特征圖的特征提取能力,擴大淺層特征圖的感受野[17];最后,利用K均值聚類算法對網絡的區(qū)域候選框重新設置[18-19];降低真實框匹配的難度,提升算法在奶牛識別任務上的精度。實驗結果表明,在FriesianCattle2017數據集上,SFM-SSD算法和SSD算法相比,性能有了明顯改善。

      1 基于卷積神經網絡的目標檢測原理

      1.1 卷積神經網絡

      卷積神經網絡是一種包含卷積計算的前饋神經網絡,由不同的卷積層連接組成,卷積層的計算過程如圖1所示。

      如圖1所示,為卷積層的計算過程。在圖1中,(6×6×3)為輸入的特征圖。其中(6×6)為特征圖的尺寸,3為特征圖的通道數。(3×3×3)為權值矩陣(卷積核),其中(3×3)為權值的大小,3為輸入特征圖的通道數。權值矩陣在圖像里就像一個特定信息的過濾器,一個權值矩陣用來提取邊緣信息,另一個可能用來提取特定的顏色。如圖1中,有兩個權值矩陣,對應輸出特征圖通道數為2。權值與輸入特征圖進行卷積運算時,以滑動窗口的形式,從左至右,從上至下,3個通道和對應位置相乘求和。然后加上偏置(圖1中b1、b2),經過Relu激活函數,得到輸出特征圖(4×4×2),其中(4×4)為輸出特征圖大小,2為輸出特征圖的通道數,輸出特征圖的通道數和權值矩陣的數量相同。

      圖1 卷積層的計算過程Fig.1 Calculation process of convolution layer

      如圖2所示,圖片經過不同的權值矩陣,會產生不同通道的特征圖,不同權值矩陣提取圖片中不同方面的特征信息,有的權值矩陣提取奶牛背上花紋特征,有的權值矩陣則提取奶牛的輪廓特征,因此不同的權值形成了不同通道的特征圖。將所有通道的特征融合后形成圖片經過卷積的仿真圖。

      圖2 圖片經過卷積后的仿真結果Fig.2 Simulation results of convolution

      1.2 SSD算法

      SSD算法的網絡結構如圖3所示。SSD算法的主干網絡為VGG16,并將VGG16網絡的FC6、FC7層改為Conv6、Conv7層,然后在后面加了4個卷積層,構成SSD算法框架。網絡以300×300圖片作為輸入,整個網絡結構有6個特征圖,分別預測不同尺寸的物體,淺層特征圖分辨率高、感受野小用來預測小物體目標,深層特征圖則用來預測較大的物體目標。最后經過非極大值抑制過濾掉多余邊界框并產生最終檢測結果。

      圖3 SSD算法網絡結構Fig.3 SSD algorithm network structure

      2 SFM-SSD算法

      SFM-SSD算法的網絡結構如圖4所示。算法的主干卷積神經網絡由VGG16換為MobileNetV2,在不同尺度的特征圖上提取特征,并在Conv4_3和Fc7層上增加了淺層特征模塊(shallow feature module,SFM),然后對區(qū)域候選框重構,使區(qū)域候選框的數量由8 732增加到11 640。最后經過非極大值抑制預測目標物體。

      圖4 SFM-SSD網絡結構Fig.4 SFM-SSD network structure

      2.1 MobileNetV2

      在提高網絡檢測精度的同時為了提高網絡的檢測速度,將SSD網絡的主干網絡由VGG16換為Mobile-NetV2。MobileNetV2是對MobileNetV1的改進,同樣是一種輕量級的神經網絡,除了繼承MobileNetV1的深度可分離卷積之外,另外借ResNet網絡中采用了殘差網絡取得很好的效果,提出了反殘差網絡的概念。

      深度可分離卷積將傳統(tǒng)的卷積分解為一個深度卷積和一個1×1的點卷積。假定輸出特征圖的通道數為N,卷積核的大小為DK×DK,則深度可分離卷積的計算量僅為傳統(tǒng)卷積的,因而能夠明顯提升運算速度,改善檢測的實時性。如圖5所示反殘差網絡是采用擴張通道-特征提取-壓縮通道的信息處理方式,先通過一個1×1卷積對通道數進行擴展,對擴展之后的通道執(zhí)行深度卷積以提取特征,最后通過一個1×1卷積使輸出通道數和輸入相同。為了兼顧算法的實時性,本文網絡中部分高維通道擴展倍數設置為4。

      圖5 殘差網絡和反殘差網絡結構對比Fig.5 Structure comparison between residual network and anti residual network

      2.2 淺層特征模塊

      淺層特征模塊的結構如圖6所示。為了充分利用SSD淺層特征圖的細節(jié)表達能力,受到多分支卷積Inception和殘差網絡ResNet的啟發(fā),設計了SFM。SFM使用多通道的卷積核,在模塊中1×1卷積主要是為了降低通道數,從而降低網絡的計算量。使用3×1,1×3的卷積可以使網絡學習到更多的非線性關系??斩淳矸e不僅使網絡學習到更多的特征信息,增大感受野,而且不同空洞率的卷積可以起到下采樣的效果,增加特征多樣性,能讓淺層特征圖進一步提取豐富的特征。然后通過通道拼接特征融合,最后與殘差分支的1×1直連卷積連接,經過激活函數。將SFM模塊添加到網絡的Conv4_3層和Fc7層不僅可以提高檢測精度,而且可以增強對小物體目標的檢測能力,如圖7。

      圖6 SFM模塊Fig.6 SFM module

      圖7 淺層特征圖Fig.7 Shallow feature map

      2.3 區(qū)域候選框重構

      深度學習目標檢測算法的性能很大程度上取決于特征學習的好壞,而特征學習是由訓練數據驅動的,在SSD目標檢測任務中訓練數據就是區(qū)域候選框。當區(qū)域候選框與真實框的交并比(IOU)大于閾值時,被標為正樣本,反之,被標為負樣本。

      區(qū)域候選框參數公式如下:

      Sk是第k個特征圖的min_size參數;max_size的值為Sk+1;Smin是設計好的最小歸一化尺寸,取值為0.2;Smax為設計好的最大歸一化尺寸,取值為0.9;m是特征圖的數量(SSD算法中m=6)。

      如圖8所示,產生4個候選框,兩個正方形(紅色虛線),兩個長方形(藍色虛線)。300×min_size為小正方形的邊長,為大正方形的邊長,aspect_ration(縱橫比)是一個設置的參數。aspect_ration={1,2},對應的兩個長方形的長寬:

      圖8 候選框示意圖Fig.8 Schematic diagram of candidate box

      當要產生6個候選框時,aspect_ration的值設置為{1,2,3},300為SSD算法中輸入圖片的尺寸。

      在以往的檢測中,大多都是按照經驗來設定候選框的大小和比例,在訓練過程中網絡會調整候選框,如果能在訓練前預先找到候選框合適的尺寸和比例,將能得到更好的預測結果。本文使用k-means聚類算法來預測候選框的大小和比例。

      本文使用的距離度量公式為:

      其中,centroid為聚類中心,box為標注框。在計算時,每個標注框的中心點與聚類中心的中心點重合才能計算IOU的值。(xj,yj)是標注框的中心點,(wj,hj)是標注框的寬高,(Wi,Hi)是聚類中心的寬高;N為標注框的個數,K為聚類個數,通過以上公式將標注框分配給距離最近的聚類中心。所有標注框分配完以后,對每個集合重新計算聚類中心點,公式:

      求集合中所有標注框平均寬和高,然后重復以上步驟,直到聚類中心改變很小。

      實驗中設置K={1,2,3,4,5,6,7,8,9,10}進行實驗,分別對標注框進行聚類。由圖9可知,當K<6時,平均交并比漲幅很大,當K>6時基本趨于平緩,再結合算法綜合考慮,選擇K=6。當K=6時得到候選框的縱橫比為[0.59,0.89,1.18,1.84,1.9,2.84],通過以上實驗數據結合圖10實驗結果對候選框重構。

      圖9 標注框聚類Fig.9 Label box clustering

      圖10 K=6聚類效果Fig.10 K=6 clustering effect

      SSD算法采用6個特征圖生成不同尺寸大小的候選框,如果特征圖的大小為M×N,即將對應的特征圖劃分成M×N個網格,然后以每個網格的中心點為中心,產生H個候選框,則每個特征圖產生候選框的數量為M×N×H。在SFM-SSD算法中,6個特征圖aspect_ration(縱橫比;在表1和表2中簡寫為ar)設置為{1,2,3},H的個數由{4,6,6,6,4,4}改為{6,6,6,6,6,6}。

      表1 SSD算法區(qū)域候選框設置Table 1 SSD algorithm area candidate box setting

      表2 SFM-SSD算法區(qū)域候選框設置Table 2 SFM-SSD algorithm area candidate box setting

      SSD算法進行目標檢測時,最終的檢測結果與區(qū)域候選框的預測有關,而區(qū)域候選的預測框進行回歸與其周圍一定范圍內的樣本有很大關系,因此重構區(qū)域候選框的同時,也應該選擇合適的閾值。為了選擇合適的閾值,在不同閾值下進行實驗,由實驗結果可知,選擇最佳閾值為0.45。

      2.4 損失函數設計

      SFM-SSD算法的損失函數由SSD算法的損失函數結合聚焦分類損失函數[20]優(yōu)化而來,損失函數由分類損失和位置損失加權求和獲得,公式如下:

      分類損失公式如下:

      位置損失的公式如下:

      在公式中{cx,cy,w,h}分別是中心點和寬高,pos表示正樣本集;分別表示第j個真實框的中心點坐標和寬高。

      3 實驗結果與分析

      3.1 實驗數據與環(huán)境

      實驗使用FriesianCattle2017數據集,在訓練時對圖像進行數據增強,包括隨機亮度變化、隨機平移、隨機旋轉、水平翻轉和垂直翻轉、尺寸變化、隨機裁剪等。對不同的模型進行訓練,按照6∶2∶2的比例將數據集分為訓練集、驗證集、測試集。

      實驗環(huán)境:python3.7,tensorflow2.0。用labelimg標注數據集;用keras構建網絡結構;圖11為數據集圖片標注結果;用RTX 2080Ti加速訓練。CPU:i7-9700 3.6k@3.60 GHz×8。

      圖11 標注圖片F(xiàn)ig.11 Label picture

      3.2 評價指標

      實驗通過在測試集中分析模型改進前后的平均準確率(average precision,AP)和平均檢測時間,對比模型的性能。用AP作為精度檢測的指標,平均準確率為精確度關于召回率的函數曲線與坐標軸0到1范圍圍成的面積。AP值越高,檢測性能越好;精確度(Precision)和召回率(Recall)公式定義如下:

      其中,TP為正樣本中的正例,F(xiàn)P為負樣本中的正例,F(xiàn)N為負樣本中的負例。

      AP的積分公式:

      其中,P(r)為精確度關于召回率的函數,r為召回率。

      3.3 實驗結果

      由表3可知,當閾值為0.45時模型的平均準確率最高,因此在SFM-SSD算法中選擇閾值為0.45。

      表3 不同閾值模型的平均準確率Table 3 Average accuracy of different threshold models

      如圖12所示,為不同算法的loss曲線。實驗中使用Adam優(yōu)化器,bath_size設置為16,初始化學習率為0.000 4,為了防止過擬合,實驗中使用了early_stoping(早停),當連續(xù)6個epoch的vall_loss(驗證集損失)的值不下降時自動停止訓練。

      圖12 不同模型的loss曲線Fig.12 Loss curves of different models

      由表4可知,本文的SFM-SSD算法的AP值為94.91%,和傳統(tǒng)的SSD算法相比不僅精確度提高了3.13個百分點,而且檢測速度也減少了5.07 ms,和第3個網絡模型相比雖然準確度稍微下降,但檢測速度有了很大的提升??梢姳疚奶岢龅腟FM-SSD算法對奶牛的識別效果較好,且檢測速度有了一定的提升。

      表4 不同模型在測試集上的測試結果Table 4 Test results of different models on test set

      3.4 不同模型檢測結果對比

      如圖13所示,為SSD算法與SFM-SSD算法的檢測結果,由檢測結果可知,無論是置信度還是預測位置SFM-SSD算法都優(yōu)于SSD算法。

      圖13 不同模型檢測結果對比Fig.13 Comparison of test results of different models

      3.5 SFM-SSD算法與YOLO系列算法對比

      由表5所示,為SFM-SSD算法與YOLO系列算法的實驗結果,由實驗結果可知,SFM-SSD算法比YOLOV2,YOLOV3算法的檢測精度更高。

      表5 SFM-SSD算法與YOLO系列算法在測試集上實驗結果Table 5 Experimental results of SEM-SSD algorithm and YOLO series algorithm on test set

      3.6 SFM-SSD算法與YOLOV3算法檢測效果

      如圖14所示,為YOLOV3算法與SFM-SSD算法的檢測結果,由檢測結果可知,對奶牛個體的檢測識別,SFM-SSD算法的檢測結果優(yōu)于YOLOV3算法。

      圖14 SFM-SSD算法與YOLOV3算法檢測效果Fig.14 Detection effect of SFM-SSD algorithm and YOLOV3 algorithm

      4 結語

      本文通過對傳統(tǒng)的SSD改進算法,首先,使用了MobileNetV2作為主干網絡,提高網絡的檢測速度。然后,對網絡中的候選框從新設置,提高網絡的檢測精度,設計淺層特征模塊,提高網絡中淺層特征圖的特征提取能力,擴大淺層特征圖的感受野,增強對小目標物體的檢測能力。實驗結果表明,SFM-SSD模型在精度上和速度上都超過了傳統(tǒng)SSD模型。為了在不同的環(huán)境中對奶牛都可以很好地識別,接下來利用遷移學習方面的知識展開研究。

      猜你喜歡
      候選框淺層權值
      重定位非極大值抑制算法
      一種融合時間權值和用戶行為序列的電影推薦模型
      面向自然場景文本檢測的改進NMS算法
      基于Soft-NMS的候選框去冗余加速器設計*
      淺層換填技術在深厚軟土路基中的應用
      CONTENTS
      基于淺層曝氣原理的好氧顆粒污泥的快速培養(yǎng)
      一種針對特定目標的提議算法
      基于權值動量的RBM加速學習算法研究
      自動化學報(2017年7期)2017-04-18 13:41:02
      淺層地下水超采區(qū)劃分探究
      吐鲁番市| 密山市| 时尚| 霍山县| 吉林市| 泗阳县| 鹤壁市| 诸城市| 泾阳县| 娄底市| 六枝特区| 宁陵县| 昌吉市| 永安市| 岫岩| 定西市| 隆子县| 渭南市| 油尖旺区| 田林县| 金平| 孟村| 日土县| 手游| 高安市| 罗山县| 济宁市| 东海县| 资源县| 新丰县| 平武县| 永寿县| 平山县| 卓资县| 肃宁县| 西乌| 武强县| 息烽县| 卢湾区| 白河县| 油尖旺区|