999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

水族館魚類目標檢測網絡優化研究

2022-07-07 02:36:36張勝茂王書獻鄒國華
漁業現代化 2022年3期
關鍵詞:檢測

劉 洋,張勝茂,王書獻,王 斐,樊 偉,鄒國華,伯 靜

(1 上海海洋大學信息學院,上海 201306;2 中國水產科學研究院東海水產研究所,農業農村部漁業遙感重點實驗室,上海 200090;3 上海峻鼎漁業科技有限公司,上海 200090;4 武漢紡織大學經濟學院,湖北,武漢 430200)

水族館觀賞魚是一項保護野生魚類及傳播海洋知識的產業,其價值幾十億美元[1]。利用目標檢測算法自動跟蹤和識別魚類對監測魚類狀態及傳播知識具有重要意義[2-3]。受應用環境、成本和便捷性等因素的影響,算法需要更好實時性和低能耗,從而減少運行成本。

隨著目標檢測的發展,已有很多研究針對該任務,例如區域建議檢測網絡R-CNN[4],Fast R-CNN[5],Faster R-CNN[6],R-FCN[7]和Libra R-CNN[8]等;端到端檢測網絡Yolo[9-11],SSD[12]和Retinanet[13]等。在魚類目標檢測領域也有廣泛的應用,如袁紅春等[14]針對水下目標識別任務遷移學習了Fast Rcnn網絡,平均測試精確率達到91.7%,但由于其網絡的主干(backbone)使用了VGG16和Resnet101,計算復雜度高。李慶忠等[15]為避免網絡權重過大,修改了Yolo的backbone,在1 500張圖像上實現了99%的準確率,但數據較為簡單,網絡泛化能力差。王雙琴等[16]改進MobileNet、SSD網絡結構,并進行數據增強和損失設計進一步提高了魚類識別精確率,但其數據集不夠豐富。Jalal 等[17]在LifeCLEF 2015數據集上,融合Yolo網絡模型與高斯混合模型,通過時間信息檢測背景中偽裝的自由移動的魚,有效地提高了檢測精確率,但其網絡權重較大。張勝茂等[18]將 MobilenetV1作為SSD網絡的主干,實現了92.5%的識別精確率,但網絡識別能力和計算復雜度需進一步優化。

為了提高魚類目標檢測網絡檢測識別能力和實時性,本研究重新制作了魚種更豐富圖像質量更好的數據集,探究了高精度、輕量級目標檢測網絡的應用方案。在水族館拍攝魚類視頻,經過清洗、處理和標注,生成了包含83中常見魚類,共10 042張圖像的水族館魚類的數據集;為滿足實時性要求,基于“深度可分離卷積”[19]、殘差[20]和Mish[21]激活函數重新設計了YoloV4的backbone,以降低網絡的計算量,加快網絡的推理速度;為了加強網絡的識別和檢測能力,用不同數據增強(Mixup[22]、 Cutmix[23]、Mosaic[9])、不同激活函數(ReLU[24]、ELU[25]、Swish[26]、Mish[21])、多尺度圖像輸入對網絡進行消融研究,得到最佳的數據增強和激活函數的搭配,提高了網絡的識別和檢測精確率;最終,得到了計算量小、推理速度快、檢測和識別精確率較高且對多尺度輸入具有泛化能力的魚類目標檢測與識別網絡。

1 數據與方法

1.1 數據介紹

大規模的魚類數據可以促進更強大、更復雜的識別網絡和算法發展。但魚類種類繁雜多樣,如何準確地組織、收集和處理數據仍然是漁業智能化的關鍵問題。本研究在水族館用攝像機拍攝游動的活體魚類視頻,總共拍攝了83種魚的游泳視頻。對該數據進行處理,處理過程包括:檢查視頻質量(包括清晰度、曝光、是否有魚類對象),挑選出曝光正常清晰度高有魚類對象的視頻;然后利用Opencv將視頻存儲成圖像,人工去除模糊不清的以及不包含魚類的圖像。得到了83種魚類的數據集,包括白鰭鯊、白招財魚、斑點水母、大目魚、海蘋果、關刀、河豚、皇后神仙、蘇眉等,共10 042張圖像,每張圖像的分辨率為600×400像素,如圖1a。為滿足該數據集在基于監督學習的目標檢測和識別中的要求,使用Labelme軟件對不同魚種進行標注,標注的內容包括每一張圖像中魚類對象的目標檢測框(x,y,w,h)和魚類種類,其中x、y、w、h分別表示圖像中魚類對象目標檢測框左上角位置(x,y)和長寬(w,h),總共標記了13 558個目標,生成了10 042個標注文件,例如彩色水母標注如圖1b。在試驗中,參照(visual object classes,VOC)[27]格式對數據進行歸納整理,以便其他相關研究重復利用。

圖1 水族館魚類圖像樣圖Fig.1 Fish data sample of aquarium

為了驗證數據集的有效性,將83種魚類圖像數據及一一對應的標注文件按照魚種編號為0~82,并按照8∶2的比例將魚類的數量均勻分為訓練集和測試集,其數據量分布如圖2,除了編號為將軍甲、藍線雀和虱目魚(編號12、58和59)數據量較多,其他魚類數據量平均分布在80~150張,整體數據分布較為均勻。

圖2 水族館魚類數據集分布Fig.2 Distribution of fish data sets in aquarium

1.2 數據增強

訓練集的數量及其數據多樣性對增強網絡的泛化能力具有決定性作用,因此對圖像進行數據增強處理,能提高網絡對數據的泛化能力(圖3)。首先對圖像進行放縮、平移、翻轉、旋轉和裁剪等變換操作,其中放縮圖像可增強網絡對多尺度輸入的泛化能力;然后使用Mixup、Cutmix、Mosaic對圖像做數據增強。

圖3 數據增強示例圖Fig.3 Data augmentation example diagram

Mixup基于特征張量的線性插值對應相關標簽的線性插值的先驗原理,其計算開銷小且與數據無關[22],如公式(1)所示。

(1)

Cutmix將圖像A中截切一塊用B作為填充,在推理過程中增加了數據復雜性,可提高網絡的泛化能力[23],如公式(2)所示。

(2)

1.3 魚類目標檢測網絡

目標檢測算法中,基于傳統CNN卷積設計的主干網絡(backbone)包括Resnet[20],VGG[28],Densenet[29],Squeezenet[30]等。這些網絡的層數較多,且傳統CNN卷積的計算量較大。直接使用上述網絡遷移學習水族館魚類數據時,均會出現參數冗余、檢測實時性差等問題。為解決該問題,本研究重新設計了目標檢測網絡的backbone模塊。使用Xception[31],Mobilenet[19,33]利用“深度可分離卷積”(Depthwise)的方法,可有效地減少計算復雜度。利用He等[20]提出的殘差原理,防止梯度消失; 使用Ioffe等[32]提出的Batch Normalization(簡稱:BN)模塊,加速訓練與防止過擬合;使用Sandler M等[19]提出的Linear Bottlenecks (LB),防止特征退化。并對激活函數做消融研究,包括計算量較少的非平滑函數ReLU[24]及計算量較大的平滑函數ELU[25]、Swish[26]和Mish[21]等。

該模塊主要由PDP1~3(Pointwise To Depthwise To Pointwise)利用殘差原理組成,可使其特征信息穩定傳播。在設計中,該模塊為減少計算量使用了Depthwise卷積(卷積核為K2),其特征張量計算量為W×H×K2;僅為CNN卷積計算量W×H×N×K2的1/N;該模塊為了能靈活壓縮和擴張張量信息,用Pointwise卷積融合Depthwise卷積后的張量信息,并且用Linear激活函數防止較淺層次網絡中的特征退化現象[19];該模塊為了加速訓練與防止過擬合,在卷積之后使用BN模塊;該模塊為了使張量在反向和正向傳播的過程中更加平滑地過度,使用Mish激活函數;該模塊用步長和大小為2的最大池化降采樣。

該模塊推理流程簡述,如圖4所示。首先輸入為(W,H,K)的張量,通過PDP1在n通道上提取特征信息,輸出 (W,H,n)的張量;然后PDP2為提煉細粒度的信息,先用PW卷積將特征通道擴張到2n細化張量信息,再用DW提煉細粒度的特征,最后再用PW將信息壓縮回n通道,輸出(W,H,n)的張量[19];然后PDP3承接PDP1和PDP2在通道上合并的殘差張量(W,H,2n)以保留更多的原始信息,防止PDP2提煉特征過程中出現特征退化[20],并用PW和Linear壓縮信息,輸出(W,H,n)的張量;最后將PDP1和PDP3的殘差張量拼接,使用2×2的最大池化(maxpool 2:2)降采樣。該模塊用較少計算復雜度的模塊(Depthwise,Pointwise),將張量信息進行1次擴張,2次壓縮,2次殘差融合和1次下采樣,根據Resnet和Mobilenet的設計原理,其對張量信息有細化、壓縮、殘差和降采樣的功能。為了方便,本文將該重組網絡簡稱為TPDP(Triple PDP)。

目標檢測與分類網絡的結構包括backbone,neck及head模塊(代碼:https://github.com/dm0mb/FishCLEF-dm0mb)。其中,backbone由3個串行的TPDP連接而成,且TPDP1~TPDP3的通道數依次為32、64、128,因此以下稱該重構的backbone為BTP(The backbone by TPDP),如圖5a。在BTP模塊中,用32通道卷積核卷積(卷積核大小為(3×3),步長為2),對圖像特征進行初步提取。并使用3個TPDP對特征進行多次擴張,壓縮,殘差融合和下采樣;在neck模塊中,將底層特征語義信息和高層特征語義信息融合成特征金字塔,分層次進行預測,以擴大感受野并優化網絡在描述小目標中的表現[34]。在head模塊,head1模塊下采樣32倍用于檢測小目標,head2模塊下采樣16倍用于檢測大目標。

注:DW表示卷積核為(3×3)的“深度可分離卷積”(Depthwise Convolution);Pw 表示卷積核為(1×1)的點卷積(Pointwise Convolution),BN表示Batch Normalization;Linear表示線性激活函數; Mish為平滑的激活函數;route表示在張量拼接;maxpool 2∶2為核為2步長為2的最大池化;n表示通道數圖4 重組卷積模塊(TPDP)Fig.4 Reorganized convolution module (TPDP)

目標檢測網絡的輸出及評估原理。將圖片分成S×S個網格單元,每個網格單元預測3個檢測框,每個檢測框包含5個參數(x,y,w,h,η),分別表示預測框的位置坐標(x,y),預測框的寬高(w,h)和該網格的目標置信度(η)。本試驗中包含83種魚類目標,因此head1和head2中的卷積模塊的通道為264(檢測框個數×(類別數+檢測框參數個數)),各個檢測框的預測參數如圖5b。為了方便,將該網絡稱為BTP-YoloV3。

注:Conv 3表示3個卷積核的普通卷積;upsample 2表示2倍上采樣運算; class表示不同種魚類的編號;yolo為輸出層 圖5 網絡結構及檢測框Fig.5 Network structure and bounding box

1.4 損失函數

損失函數為置信度損失、目標檢測損失和分類損失函數。置信度損失:將圖像分為S2個網格后,對于每一個網格進行置信度評價 ,即計算“該網格中是否包含目標”的損失,如果包含目標則進行目標檢測,如果不包含目標,則掃描下一個網格。置信度損失函數采用交叉熵函數[9],如公式(3)所示。

(3)

目標檢測損失:目標檢測損失用于表示真實框與預測框的之間的差距。常見的目標檢測損失函數有IoU、CIoU[35]等。

在傳統的損失計算方法中,常利用IoU表示預測框與真實框的重合程度。IoU參數的數值為預測框、真實框的重合部分面積與預測框、真實框面積之和的比值。IoU參數能夠在一定程度上反映模型預測結果的好壞,但存在一些局限性。選用CIoU替代IoU作為評價目標檢測損失的標準。CIoU在IoU的基礎上,做了以下兩點改進:第一,為了解決IoU在預測框與真實框無重疊區域情況下的無梯度回傳問題,定義變量v、α作為懲罰參數。檢測框與真實框重疊的情況比非重疊情況擁有更高的優先級,α可以讓重疊的情況優先于非重疊的情況公式(5)。第二,IoU僅判斷重疊區域面積,忽略了預測目標中心與真實目標中心之間的距離。為了解決該缺點,CIoU使用歐式距離計算兩中心點距離。最后,目標檢測損失函數如公式(6)所示。

(4)

(5)

(6)

分類損失:采用交叉熵損失函數評價預測類別和真實類別之間的距離[28],如公式(7)所示,

(7)

最后得到優化網絡的損失函數如公式(8)所示。

L=λclsLcls+λCIoULCIoU+Lc

(8)

式中:λcls和λCIoU為前置變量,在0~1之間,在本研究中設置為1。

1.5 評價指標

試驗用NBFLOS(Billion Float Operations)、AIoU、NmAP( Mean Average Precision)和NFPS(Frames Per Second)評價計算復雜度、平均交并比、平均精確率和每秒計算圖像的張數[9]。

(9)

(10)

(11)

(12)

(13)

(14)

(15)

式中:W,H表示輸入特征的長和寬;N,M表示輸出特征的長寬,K表示卷積核的大小;C,D分別表示常規CNN卷積和Depthwise-Pointwise卷積的卷積個數;N為待檢測圖像個數;A,B分別表示真實的目標框和預測目標框;tP為正確預測正樣本的個數;fp錯誤預測正樣本的個數;fn為錯誤預測負樣本的個數;n為待檢測的目標類別數;P表示精確率;R表示召回率;pA表示目標類別精確率;pAi為第i個目標類別的精確率。t為檢測時間。

2 試驗

2.1 網絡訓練過程

用Darknet深度學習框架,在Tesla V100顯卡(16G),內存為32G的Linux系統進行試驗。用SGD優化器在反向傳播過程中更新網絡權重,初始學習率0.001 3, Momentum為0.949,Decay為0.000 5,初始輸入圖像為512×512。Batch Size為512,分16次裝入顯存計算前向傳播后,再計算1次反向傳播,并在反向傳播20 000、40 000次時,將學習率線性縮放為當前學習率的1/10,直到完全收斂。由于ReLU相對于Mish計算量更小,為加快網絡訓練的速度,先用ReLU激活函數對網絡進行熱身訓練,待權重穩定后,再用Mish激活函數用相同的超參數遷移學習網絡,增強網絡的魯棒性;最后試驗在83種魚的2 000張圖像測試,測試效果如圖6,其平均測試精確率達到94.37%,每類魚的精確率如圖7。

圖6 魚類目標檢測與分類結果Fig.6 Fish target detection and classification results

圖7 測試集每類魚的精確率分布Fig.7 Average precision distribution of each species of fish in the test set

2.2 多尺度輸入測試

本研究對數據集進行放縮、Mosaic和Cutmix的數據增強,并且head1~2模塊中對圖像進行了32倍和16倍下采樣,輸出的張量形狀分別為(16,16,256)和(32,32,256),其感受野同時兼顧了大目標和小目標。基于以上兩個原因,本研究相比于其他研究[14-17],可讓模型對多尺度輸入的圖像具有泛化能力,可兼容不同尺度的輸入圖像。經過測試,網絡在512×512的圖像數據集上訓練后,可實現同一網絡兼容了6種不同圖像輸入尺寸,如表1所示。平均精確率和平均交并比評價指標在512×512網絡中表現最好,隨著圖像尺寸的變化,其指標也有所下降。測試結果表明,該網絡在不改變輸入接口的情況下,兼容了多種輸入尺度圖像的檢測和識別。

表1 多尺度圖像指標Tab.1 Multi-scale image index

2.3 網絡優化

為定量研究網絡調優對評價指標的影響,分別驗證了各數據增強、各激活函數和BN的不同組合對目標檢測精確率的影響。一共進行了9個不同組的組合試驗,對網絡進行消融研究,如表2所示。表中結果顯示,數據增強Mixup,Cutmix和Mosaic方法對網絡識別能力均有提升,其中Mosaic數據增強提高效果最明顯;在均使用ReLU激活函數和BN時,3種數據增強方法同時使用時,平均精確率表現最佳;在均同時使用3種數據增強和BN時,平滑的激活函數Swish、Mish和ELU相比于非平滑的ReLU能得到更好的結果,其中使用Mish的效果最好;在均同時使用3種數據增強和Mish激活函數時,使用BN能顯著的提高目標檢測的平均精確率。

表2 不同數據增強和激活函數的效果Tab.2 The effect of different data augmentation

2.4 與開源網絡對比

將YoloV4[9]、YoloV3-tiny[11]和MobilenetV2[19]作為backbone的YoloV3網絡在該數據集上遷移學習,作為對照組。在訓練過程中,權重每更新1 000次,測試網絡的平均精確率和召回率,測試結果如圖8 。試驗表明,在訓練過程中,重量級網絡 YoloV4的平均精確率和召回率震蕩嚴重,網絡擬合過程不穩定;在輕量級網絡中,MobilenetV2-YoloV3、YoloV3-tiny和BTP-YoloV3擬合比較穩定。

圖8 訓練過程中的平均精確率和召回率Fig.8 mAP and recall rate during training

本研究提出的BTP-YoloV3擬合最快,且平均精確率和召回率較高。試驗表明,在卷積之后用BN模塊可以加快網絡擬合,提高網絡性能;在該數據集上用輕量級網絡訓練更穩定;試驗表明,本研究提出的BTP-YoloV3網路采用多次擴張,壓縮,殘差融合和下采樣的方式,用同樣的超參數和數據增強方法訓練網絡的情況下,相比重量級網絡YoloV4能更快的穩定的擬合, 相比于輕量級網絡MobilenetV2-YoloV3和YoloV3-tiny具有較好平均精確率和召回率。

為綜合評價各個網絡的指標,試驗設置所有網絡的Batch Size為1,輸入圖像大小為512×512,在Tesla V100顯卡上進行測試,如表3。重量級網絡YoloV4在測試數據上的平均精確率最高,但其計算復雜度太大,權重較大,運行時內存占用高,每秒推理幀數較低。在權重50 MB以內的輕量網絡中,YoloV3-tiny,MobilenetV2-YoloV3,BTP-Yolov3均有權重小,測試精確率和運行速度高的特點。本研究設計的BTP-YoloV3相較與其他輕量級網絡,每秒推理幀數達到285.7,是推理速度最快的網絡。相較于YoloV3-tiny,該網絡采用Depthwise卷積減少了計算復雜度和網絡權重,提高了推理速度;相較于MobilenetV2-YoloV3,該網絡采用了更多的殘差,有利于并行計算,提高了推理速度,但其計算復雜度略高;相較于MobilenetV1-SSD[18]在該數據上的表現,BTP-YoloV3提高了平均精確率,優化了網絡的權重,在保證目標檢測和識別能力的同時,降低了計算成本。

表3 網絡試驗對比Tab.3 Comparison with other networks

2.4 討論分析

相較于提高魚類目標檢測識別能力的方案[14,16-17],本研究檢測的難度在于平衡網絡計算復雜度和識別能力,因此本研究相比于重量級模型YoloV4[9]檢測效果稍差;相較于遷移學習[11,18]開源網絡,本研究的檢測難度在于如何更進一步提高精確率并降低網絡權重,因此本研究重新設計了目標檢測網絡的backbone、增加數據增強、用Mish激活函數的方案,獲得了更好的性能。 相較于MobilenetV2[19]作為backbone的YoloV3[11]網絡,本研究的網絡雖然推理速度更快,但計算復雜度和網絡權重有待降低。相較于最前沿的注意力機制[36]和YoloV5[37]網絡,本研究在目標檢測精度上有待優化。

3 結論

本研究收集、清洗、標注了水族館魚類數據集,為魚類養殖行業提供了種類更加豐富的數據集,并探究了神經網絡在實際應用中提高檢測速度與識別精確率的優化過程,使用“深度可分離卷積”優化網絡結構,大大降低了計算復雜度,提高了推理速度。并探究了3種數據增強和4種激活函數對模型性能的影響。最后,網絡的平均測試準確率達到94.37%,網絡權重大小僅為13.9 M,計算復雜度僅為5.476,在Tesla V100上每秒推理速度平均達到285.7張;相比于遷移學習傳統的網絡(YoloV4,MobilenetV2-YoloV3,YoloV3-tiny),該優化網絡的方法能夠在保證網絡識別能力不減弱的情況下,提高了網絡的檢測和識別速度,降低了運行時能耗,節約了應用成本。為神經網絡在魚類養殖行業的應用中的優化提供了參考。

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數的乘除法”檢測題
“有理數”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 日韩一级二级三级| 国产最爽的乱婬视频国语对白| 国产xxxxx免费视频| 国产男女XX00免费观看| 久久国产精品夜色| 国产办公室秘书无码精品| 天堂在线www网亚洲| 国产成人你懂的在线观看| av尤物免费在线观看| 中文字幕伦视频| 特级毛片8级毛片免费观看| 五月天香蕉视频国产亚| 国产成人成人一区二区| 日韩毛片免费观看| 久久毛片网| 国产爽歪歪免费视频在线观看| 欧美午夜理伦三级在线观看| 欧美成人aⅴ| 日韩成人免费网站| 亚洲精品你懂的| 人妻一区二区三区无码精品一区| 国产乱子伦精品视频| 无码高潮喷水在线观看| 伊人AV天堂| 日韩免费毛片视频| 日韩精品一区二区三区swag| 免费一看一级毛片| 欧美日本中文| 成人午夜天| 婷婷综合在线观看丁香| 制服无码网站| 欧美色图久久| 91小视频在线| 欧美不卡二区| 国产麻豆精品在线观看| 午夜福利免费视频| 日韩视频精品在线| 波多野结衣一区二区三区四区视频| 亚洲第一黄片大全| 国产亚洲欧美在线专区| 波多野结衣中文字幕一区| 久久这里只精品热免费99| 亚洲第一视频网| 国产精品大尺度尺度视频| 国产爽歪歪免费视频在线观看| 色综合久久88色综合天天提莫 | 国产欧美精品一区aⅴ影院| 爆乳熟妇一区二区三区| 国产h视频在线观看视频| 国产精品美女网站| 欧美国产成人在线| 一级毛片无毒不卡直接观看| 国产自产视频一区二区三区| 国产丝袜无码一区二区视频| 国产精品微拍| 中日韩一区二区三区中文免费视频 | 日本在线免费网站| 91偷拍一区| 久久夜色精品国产嚕嚕亚洲av| 一本久道久久综合多人| 国产国模一区二区三区四区| 国产剧情伊人| 亚洲综合专区| 欧美国产在线一区| 久久久久久高潮白浆| 88av在线看| 成人精品在线观看| 免费午夜无码18禁无码影院| 一本无码在线观看| 黄片一区二区三区| 在线一级毛片| 黄色网站不卡无码| 国产精品视频a| 二级特黄绝大片免费视频大片| 99在线观看免费视频| 中文字幕欧美日韩| 强奷白丝美女在线观看| 日本一区二区三区精品国产| 98超碰在线观看| 日韩大片免费观看视频播放| 成人在线亚洲| 波多野结衣一区二区三区AV|