? 孔得溦 李尚 陳義明



摘要:針對傳統人工判別克氏原螯蝦性別效率低、成本高的問題,提出了一種基于YOLO v5的克氏原螯蝦性別檢測模型,實現了克氏原螯蝦性別特征的自動判別。采用自主設計裝置拍攝克氏原螯蝦圖像,使用Labelme工具進行基于雄蝦交接器檢測和基于區域特征檢測兩種方法的數據標注,在Pytorch框架下以Resnet-18為特征提取網絡訓練二分類模型,基于YOLO v5訓練交接器檢測和區域特征檢測兩種模型。結果表明:基于區域特征檢測的模型具有較高的檢測性能和準確性,能夠高效、低成本地提取克氏原螯蝦性別特征,對克氏原螯蝦品種改良具有重要意義。
關鍵詞:YOLO v5;目標檢測;克氏原螯蝦;深度學習;卷積神經網絡
中圖分類號:TP391.4文獻標識碼:A文章編號:1006-060X(2024)03-0059-05
A Gender Detection Method for Crayfish Based on YOLO v5
KONG De-wei,LI Shang,CHEN Yi-ming
(College of Information and Intelligence, Hunan Agricultural University, Changsha 410128, PRC)
Abstract: In response to the low efficiency and high cost of traditional manual discrimination of the gender of crayfish (Procambarus clarkii), this study proposed a gender detection model for crayfish based on YOLO v5, achieving automatic discrimination of the gender of crayfish. Crayfish images were captured using a self-designed device, and data annotation was performed using two methods, i.e., detection based on the petasma and detection based on regional features, using the Labelme tool. A binary classification model was trained using Resnet-18 as the feature extraction network under the Pytorch framework, and two models, one for petasma detection and the other for regional feature detection, were trained based on YOLO v5. The results showed that the model based on regional feature detection had high detection performance and accuracy, efficiently and cost-effectively extracting the gender characteristics of crayfish, which was of great significance for the breeding improvement of crayfish.
Key words: YOLO v5; target detection; crayfish; deep learning; convolutional neural network
克氏原螯蝦(Procambarus clarkii),俗稱小龍蝦,是我國淡水養殖的品種之一[1-2]。克氏原螯蝦在湖南省的漁業發展中具有重要的地位和作用。2022年,湖南省克氏原螯蝦養殖面積達到24.13萬hm2,年產量為42.35萬t,養殖面積和產量均居全國第三位,已成為湖南省發展農村經濟、提高農民收入的重要途徑。
獲取小龍蝦的表現型數據是研究小龍蝦基因型、環境和表現型相互關聯性,從而指導遺傳育種的重要環節。性別是小龍蝦的一個重要特征,克氏原螯蝦的性別特征明顯,雄蝦第1、2腹足演變成管狀交接器,而雌蝦第1腹足退化,第2腹足羽化[3]。因此,雌雄螯蝦具有比較明顯的性別特征,且該特征易被機器識別,如圖1所示。
近年來,針對人工觀察和測量獲取螯蝦表現型數據耗時耗力的問題,學者們將圖像分析技術引入克氏原螯蝦的生產和監測過程,實現了對克氏原螯蝦的自動識別與檢測。Tan等[4]利用遠程操控水下潛水器獲取視頻序列,通過目標檢測與跟蹤算法對水下克氏原螯蝦數量進行統計;Sistler[5]采用彩色圖像處理方法,通過分析克氏原螯蝦脫殼前顏色的變化來預測脫殼時間;盧文超等[6]應用近紅外光譜技術,建立克氏原螯蝦新鮮度與光譜特征之間的數學模型,實現對螯蝦新鮮度的快速檢測。
以克氏原螯蝦為研究對象,對螯蝦的第1、2腹足處進行檢測,并采集、標注數據集,構建和訓練基于螯蝦區域特征檢測的深度學習模型,實現螯蝦性別的自動、準確識別,具體工作包括:設計和建造螯蝦表現型數據獲取設備,采集螯蝦腹部圖像;使用標注軟件工具Labelme對螯蝦的第1、2腹足處進行標注,獲取訓練數據集;構建并訓練螯蝦區域特征檢測模型,用訓練好的模型對測試集進行檢測識別。
1 材料與方法
1.1 圖像采集
2022年7—8月,于湖南省長沙市開福區水產科學研究所進行了數據采集。該研究自主設計了克氏原螯蝦活體檢測平臺,平臺由1個機箱和6個海康威視攝像頭構成,能夠同時從6個不同的角度對克氏原螯蝦進行拍攝,每只克氏原螯蝦的拍攝時間為60 s,所采集圖像的分辨率為2 560像素×1 920像素。該研究的目的是判別克氏原螯蝦的性別,因此只需提取2號攝像頭拍攝的螯蝦腹部圖像,檢測其第1、2腹足處,拍攝圖像如圖2所示。
1.2 圖像標注
從采集的數據中,隨機選取了1 680幅圖像作為克氏原螯蝦數據集。由于樣本數量較少,為了避免數據出現過擬合問題,在訓練數據集里囊括了設備光照條件改進前后2種采集環境下的數據,并使用Labelme軟件對數據集中的圖像進行了標注[7]。
1.2.1 基于雄蝦交接器檢測的數據標注 該數據標注方法只對雄性克氏原螯蝦的腹部交接器進行標注,標注的數據量少,可節省人工成本。但螯蝦腹部數據集的圖像質量差,圖中交接器特征不明顯,影響對交接器的特征提取和數據標注。
1.2.2 基于區域特征檢測的數據標注 該數據標注方法對雌雄2種性別的克氏原螯蝦的第1、2腹足處進行矩形框標注,并給出雌和雄2種類別,分別用0和1表示。基于區域特征的檢測模型能夠提取低清晰度的圖像特征,增強模型的檢測精度和可靠度,獲得更好的訓練效果。
1.3 檢測模型
YOLO系列模型是基于深度學習的單階段目標檢測模型,它使用卷積神經網絡直接進行目標區域定位和目標類別判斷,而無需先產生候選框再進行后續的分類和回歸,因而具有訓練和推斷速度快的優勢[8]。筆者使用YOLO v5模型對克氏原螯蝦進行檢測,從而推斷螯蝦的性別。
1.3.1 模型輸入輸出 模型輸入端讀入具有3個通道的RGB圖像,并將每張圖像規范為640像素×
640像素的大小,送入特征提取主干網絡。圖像經過8、16和32倍的降采樣特征提取后,依次輸出3個80×80×21、40×40×21和20×20×21的特征圖,分別表示將輸入圖像劃分為80×80、40×40和20×20的網格,其中每個單元格用來預測3個邊界框,每個邊界框用一個7維向量表示,分別為置信度C,矩形框參數中的邊界框中心點的平面直角坐標系坐標(cx,cy)、邊界框長度h、邊界框寬度w和2個類別(0和1)。因此,特征圖的第3個維度大小21表示預測的3個邊界框的結果。
1.3.2 特征提取網絡 克氏原螯蝦第1、2腹足檢測模型的特征提取網絡結構主要分為3個部分:Backbone、Neck和Head,模型如圖3所示。
Backbone部分包括Conv模塊、C3模塊和SPPF(Spatial Pyramid Pooling Fusion)模塊,作用是提取圖像中的物體信息,用于后續的目標檢測。YOLO v5網絡在Backbone部分采用CSPDarknet53作為主干網絡,CSP(Cross Stage Partial)結構是Backbone部分中的重要組成模塊,可以減少特征圖的通道數、降低計算量、減少內存占用,同時保持特征的多樣性和豐富性[9]。Conv模塊由Conv2d、BatchNorm2d(BN)和激活函數SiLU構成,Conv模塊會將特征圖的寬高減半,得到下采樣特征圖,同時提取目標特征。
C3模塊在Backbone中作為主要的特征提取模塊,由3個Conv模塊和1個Bottleneck模塊組成。特征圖進入C3后,將會分為2路,左路經過Conv和1個Bottleneck,右路只經過1個Conv,最后將2路進行Concat連接,再經過1個Conv。C3中的3個Conv模塊均為1×1卷積,起到降維或升維的作用。
SPPF模塊將3個kernel為5×5的MaxPool做串行計算,第一個MaxPool表示較大的尺度,第二個MaxPool在第一個MaxPool的基礎上進一步做池化,進一步縮小產生的尺度。SPPF能將任意大小的特征圖轉換成固定大小的特征向量,并且保持較快的處理速度。
Neck部分的網絡結構設計采用了FPN+PAN的結構。FPN(Feature Pyramid Networks)是用自頂向下的側邊連接,在所有尺度構建出高級語義特征圖,構造了特征金字塔的經典結構[10]。FPN中間經過多層的網絡后,底層的目標信息已經非常模糊,因此PAN(Path Aggregation Network)又加入了自底向上的路徑[11]。PAN是一種路徑聚合網絡,增加自底向上的路徑,使高層特征能夠獲得低層特征的細節,加強了定位信息,實現了特征的多尺度融合。Head的主體部分是3個檢測器,檢測器進行檢測的過程即為利用基于網格的邊界框在不同尺度的特征圖上進行目標檢測的過程。
2 結果與分析
2.1 試驗設置
試驗環境為Python 3.7.4,Pytorch 1.13.0;模型為YOLO v5 7.0;硬件配置為AMD Ryzen 7 5800H CPU,內存32 G,Tesla T4 GPU。數據集中訓練集、驗證集與測試集的比例為8∶1∶1。
由于數據集樣本較少,需進行圖像增強以擴充樣本數量。筆者主要采取以下幾種方式進行圖像增強:對圖片進行Mosaic增強,將4張不同的圖像拼接成一張新的圖像;HSV隨機選擇色彩變換的參數對圖像進行變換;用Fliplr將圖像的每個像素沿著水平方向翻轉。這些變換后的圖像會被直接用于模型的訓練,而不會被保存為新的圖像文件,可以有效減少存儲空間的占用,并保證訓練過程中數據的實時性和多樣性,提高模型的泛化能力和魯棒性。
2.2 參數配置
克氏原螯蝦數據集為小樣本數據集,但圖像復雜度高且特征不明顯,模型易過擬合。將超參數epoch(即訓練輪數)設為1 000,并采用早停機制,參數patience設為100,表示模型效果在100輪內未提升則提前停止訓練。采用較大的訓練輪數和適當的早停機制可以有效防止模型過擬合。batch_size為每次訓練時在訓練集中一次取的訓練樣本個數。根據數據集特點和硬件條件,采用小批次訓練,將batch_size設為16,使梯度下降更平滑,以增加模型的泛化能力;將workers設置為4,加快訓練和模型推理的速度。
2.3 評價指標
混淆矩陣(Confusion Matrix)是機器學習中評估分類模型預測結果的情形分析表,體現模型對不同類別樣本判斷正確和錯誤的情況[12],如表1所示。
準確率(Average Precision,AP)的平均值。AP是一個綜合召回率和準確率的指標,反映了模型在不同的置信度閾值下,能夠正確檢測出目標的概率[13]。mAP按公式(3)計算。
筆者采用了2種mAP評價指標:mAP@0.5表示交并比(Intersection over Union,IoU)閾值為0.5時所有類別AP的平均值;mAP@0.5:0.95表示在不同的IoU閾值(從0.5到0.95,步長為0.05)計算該IoU閾值對應的mAP,最終將區間內求得的所有mAP取平均值,代表模型在多個IoU閾值下的綜合性能。
2.4 試驗結果
為了避免過擬合,使用早停機制,在第668輪完成訓練集上的模型訓練,損失函數隨訓練輪數收斂的曲線如圖4所示。
在同樣的訓練集上,將所有的螯蝦圖像分為雄蝦和雌蝦2類,以Resnet-18為特征提取網絡訓練一個二分類模型實現對螯蝦的雌雄分類,作為本實驗的對照組。從表2可以看出,與Resnet-18二分類方案和基于雄蝦交接器檢測的方案相比,基于區域特征檢測的方案具有絕對的優勢,檢測準確率達96.55%,比Resnet-18模型高6.97個百分點,比基于雄蝦交接器檢測的模型高0.7個百分點;召回率達99.54%,比Resnet-18模型高7.54個百分點,比基于雄蝦交接器檢測的模型高0.75個百分點;mAP@0.5和mAP@0.5:0.95比基于雄蝦交接器檢測的YOLO v5分別高1.76和44.44個百分點。檢測結果表明,基于區域特征檢測的YOLO v5模型平均檢測時間為8 ms,較其他2個模型而言,檢測性能大幅增強,能夠完成高速、精確獲取螯蝦性別特征的任務。模型在驗證集上的預測結果如表2所示。將訓練好的模型應用到測試集,結果發現模型可以準確檢測出螯蝦的性別,并輸出性別標簽和置信度,準確率達96.00%。
3 結論
筆者構建了一個基于YOLO v5神經網絡的目標檢測模型,對克氏原螯蝦的第1、2腹足處進行特征檢測,實現了克氏原螯蝦的性別特征提取。訓練后得到的模型在常用評價指標上達到了較高的水平,在測試集中表現優異,能夠高速、精確地獲取螯蝦性別特征,完成克氏原螯蝦的性別分類檢測,有助于高效、低成本地提取克氏原螯蝦性別特征,對克氏原螯蝦的品種改良具有重要意義。
參考文獻:
[1] 陸劍鋒,賴年悅,成永旭. 淡水小龍蝦資源的綜合利用及其開發價值[J]. 農產品加工(學刊),2006(10):47-52,63.
[2] 于秀娟,郝向舉,黨子喬,等. 中國小龍蝦產業發展報告(2022)[J].
中國水產,2022(6):47-54.
[3] 劉其根,李應森,陳藍蓀. 克氏原螯蝦的生物學[J]. 水產科技情報,2008,35(1):21-23.
[4] TAN C S,LAU P Y,CORREIA P L,et al. Automatic analysis of deep-water remotely operated vehicle footage for estimation of Norway lobster abundance[J]. Frontiers of Information Technology & Electronic Engineering,2018,19(8):1042-1055.
[5] SISTLER F E. Grading agricultural products with machine vision[C]//IEEE International Workshop on Intelligent Robots and Systems 90 Towards a New Frontier of Applications. Ibaraki,Japan:IEEE,1990:255-261.
[6] 盧文超,邱亮,熊光權,等. 近紅外光譜技術快速檢測小龍蝦新鮮度[J]. 肉類研究,2022,36(6):36-41.
[7] RUSSELL B C,TORRALBA A,MURPHY K P,et al. LabelMe: a database and web-based tool for image annotation[J]. International Journal of Computer Vision,2008,77(1):157-173.
[8] REDMON J,FARHADI A. YOLO9000:better,faster,stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu,HI:IEEE,2017:6517-6525.
[9] WANG C Y,MARK LIAO H Y,WU Y H,et al. CSPNet:a new backbone that can enhance learning capability of CNN[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Seattle,WA,USA:IEEE,2020:1571-1580.
[10] LIN T Y,DOLLAR P,GIRSHICK R,et al. Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu,HI:IEEE,2017:936-944.
[11] LIU S,QI L,QIN H F,et al. Path aggregation network for instance segmentation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City,UT:IEEE,2018:8759-8768.
[12] TOWNSEND J T. Theoretical analysis of an alphabetic confusion matrix[J]. Perception & Psychophysics,1971,9(1):40-50.
[13] HENDERSON P,FERRARI V. End-to-end training of object class detectors for mean average precision[C]//Asian Conference on Computer Vision. Cham:Springer,2017:198-213.
(責任編輯:王婷)