齊國紅
張云龍1
蘇 曼2
( 1. 鄭州西亞斯學院,河南 鄭州 451100;2. 河南大學,河南 鄭州 450046)
隨著農業科技的不斷發展和人們對食品品質的日益關注,對農作物的精準監測與檢測成為了現代農業中至關重要的研究領域[1]。作為熱帶和亞熱帶地區的主要經濟作物之一,木瓜因其豐富的營養價值和廣泛的應用而備受關注[2]。然而,木瓜的成熟度對于品質和產量的影響不容忽視[3]。傳統的木瓜成熟度評估方法通常依賴于主觀經驗和人工抽樣,一定程度上限制了成熟度評估的準確性和效率[4]。
近年來,計算機視覺技術的迅猛發展為農作物成熟度的非侵入式監測提供了新的可能,其中,深度學習技術在圖像分析領域取得了顯著成果。此外,目標檢測和語義分割方法的結合在農作物成熟度檢測方面展現出了巨大潛力。熊俊濤等[4]基于輕量化YOLO v5-Lite模型,提出了一種自然環境下木瓜成熟度檢測方法,該方法對木瓜成熟度檢測的均值平均精度(mAP)為92.4%。Suban等[5]提出了一種基于k最近鄰算法的木瓜成熟度識別方法,該方法能夠準確識別木瓜果實的成熟度。Ratha等[6]提出了一種基于VGG16和離散小波變換的番木瓜成熟度識別方法,該方法對木瓜成熟度檢測的準確率達98%。Behera等[7]提出了一種基于VGG19和遷移學習算法的木瓜成熟度分類方法,通過VGG19和遷移學習算法的結合,該方法對木瓜成熟度的分類準確率得到顯著提升。
Mask R-CNN作為一種強大的視覺識別模型,通過同時實現目標檢測和像素級別的語義分割,為農作物成熟度的精準檢測提供了可能[8]。但現有的Mask R-CNN模型在應用于木瓜成熟度檢測時仍存在一些挑戰。首先,木瓜的生長狀態和形態多樣,生長環境復雜,導致成熟度檢測變得更加復雜,而現有方法針對不同背景下木瓜成熟度檢測的泛化能力不足。其次,由于木瓜的顏色和紋理在不同成熟度階段呈現出明顯變化,傳統的目標檢測方法可能無法準確捕捉這些細微的特征變化。
研究擬提出一種非破壞性的木瓜成熟度檢測框架,開發一種基于多目標采樣和改進Mask R-CNN的木瓜成熟度檢測方法。該方法在數據增強過程中采用單圖像多目標采樣技術,從而將單目標訓練模型推廣到能夠適應多目標和雜亂背景場景;由于小數據集導致模型對未見數據高度敏感,且不同成熟度階段的木瓜具有相似的紋理和顏色模式,因此,在所提出的方法中評估和比較了分割模型的魯棒性;提出了最佳置信度閾值試驗性選擇方法,以期為小數據集、具有相似模式但具有強魯棒性的水果分級模型開發提供依據。
試驗目的是利用目標檢測和實例分割模型[9]對圖像中的木瓜果實進行檢測,并對其成熟度進行識別。所提出的木瓜成熟度檢測方法將不同卷積神經網絡層次的特征結合到自下而上的區域方案中,在目標定位和分割方面有較大改進。檢測準確度依賴于區域候選技術,該技術已被引入基于R-CNN的多種CNN方法,如快速R-CNN和Mask R-CNN[10]。
所改進的Mask R-CNN結構實現了對Faster R-CNN擴展,如圖1所示。

圖1 所提方法使用的Mask R-CNN架構
改進的Mask R-CNN包括使用卷積神經網絡(主干)的區域候選網絡(RPN)和用于對象回歸、分類的網絡頭部兩個主要組件。與Faster R-CNN相比,Mask R-CNN還輸出每個感興趣區域(ROI)的掩模檢測。
改進的Mask R-CNN使用的卷積主干為ResNeXt網絡[11]和具有50,101層的殘差網絡ResNet[12]。
ResNeXt重復了一個構建模塊,該模塊聚合了一組具有相同拓撲結構的轉換。與ResNet相比,其引入了一個新的維度:基數(轉換集的大小)C,并將其作為除深度和寬度之外的一個關鍵因素。一組聚合轉換可以表示為:
(1)
式中:
Ti(x)——任意函數。
類似于簡單神經元,函數Ti應將x投影到一個(可選的低維)嵌入中,并對其進行轉換。
(1) 基本構建塊:ResNeXt的基本構建塊稱為“基數組”。“基數”指組內并行路徑或分支的數量。在ResNeXt中,每個組包含多條并行路徑,這些路徑用于從輸入數據中捕獲不同的特征。使用多條路徑與傳統的ResNet架構不同,后者只使用兩條路徑(一條快捷路徑和一條主路徑)。基數參數(通常表示為“C”)確定組內有多少個并行路徑。
(2) 基數組:在基數組內,并行路徑被實現為“瓶頸塊”。這些塊包括3個主要組件:1×1卷積、3×3卷積和另一個1×1卷積。1×1卷積用于降低輸入特征的維度,而3×3卷積負責捕獲更復雜的模式。然后,這些并行路徑的輸出通常通過求和聚合在一起,以創建組的最終輸出。
(3) 架構:ResNeXt架構可表示為:“ResNeXt-C(C×4)-Y”。“C”表示基數,確定組內并行路徑數。“C×4”表示組內每條并行路徑中的濾波器或通道數。“4”是原始ResNeXt中常用的乘數。“Y”表示整體網絡架構,例如ResNeXt-50的“50”,ResNeXt-101的“101”等。
(4) 更深和更寬的網絡:ResNeXt在增加深度(加深)和增加寬度(添加更多并行路徑/組)之間提供了一個權衡。這種靈活性使研究人員能夠根據任務的特定要求來定制架構。更深的網絡可以捕獲更復雜的特征,而更寬的網絡(具有更多并行路徑)可以捕獲更多樣的特征,使其對各種任務非常有效。
殘差網絡具有跳躍連接,解決了梯度消失問題。ROI特征通過從特征金字塔網絡(FPN)的不同層次中提取出來,FPN具有自上而下的結構和橫向連接[13]。使用ResNet-FPN主干進行特征提取,其在準確率和計算時間上都具有很高的性能。區域候選網絡用于提出候選對象,使用注意機制在邊界框中輸出一組候選對象。
所改進Mask R-CNN的網絡頭部使用ROI Align,ROI Align使用雙線性插值來計算采樣位置的輸入特征的精確值,然后對組合結果使用最大值或平均值[14]。
雙線性插值,又稱為雙線性內插。在數學上,雙線性插值是有兩個變量的插值函數的線性插值擴展,其核心思想是在兩個方向分別進行一次線性插值。
如圖2所示,若想得到未知函數f在點P=(x,y)的值,假設已知函數在Q11=(x1,y1)、Q12=(x1,y2)、Q21=(x2,y1)和Q22=(x2,y2)4個點的值。首先在x方向進行線性插值,得到

圖2 雙線性插值示例圖
(2)
(3)
然后在y方向進行線性插值,得到
(4)
得到所要的結果:
(5)
如果選擇一個坐標系統使得f的4個已知點坐標分別為(0,0)、(0,1)、(1,0)和(1,1),那么插值公式就可以化簡為
f(x,y)≈f(0,0)(1-x)(1-y)+f(1,0)x(1-y)+f(0,1)(1-x)y+f(1,1)xy。
(6)
ROI Align的輸出用于根據框檢測和類分數對每個候選對象執行對象回歸和分類。全卷積網絡(FCN)的頭部網絡包括卷積掩碼檢測分支,該分支具有用于使用sigmoid和二進制損失檢測掩碼的一些濾波器。總的訓練損失包括分類損失、邊界框損失和平均二進制交叉熵損失[15]。
所改進Mask R-CNN參數使用均值平均精度(mAP)與準確率[真實木瓜標簽數量與所有檢測到的數量(假陽性標簽和真實標簽之和)之比]之間的關系進行選擇。
所構建的木瓜圖像數據集包括原始數據集#1和增強數據集#2兩部分。數據集#1中的木瓜圖像在白色背景下拍攝,然后在像素級別對每個圖像進行標注。由于數據集#1中木瓜圖像數量有限,使用旋轉、縮放和平移技術進行圖像增強,并從像素級別的標簽生成附加的圖像數據集,得到增強數據集#2。數據集#1和數據集#2用于訓練和測試木瓜圖像檢測和分割模型、最佳成熟度檢測閾值的選擇和驗證基于多目標采樣和改進Mask R-CNN的木瓜成熟度檢測模型。
實際上,木瓜的成熟度分為未成熟、半成熟和完全成熟3個級別(表1),該指標可用以確定目標在送達客戶之前仍保持新鮮的時間長度。

表1 木瓜成熟度等級分組
未成熟的木瓜可以在成熟前存放6~7 d,而部分成熟的木瓜可以再保鮮3~4 d。完全成熟的木瓜應盡快食用或加工。因此,未成熟和部分成熟的木瓜可以通過包裝以便遠距離輸送或出口,而完全成熟的木瓜將在當地銷售。
為了獲得圖像,木瓜被放置在一個由漫射熒光燈源均勻照明的相機中。加入白色背景以提高對比度,并在此背景上放置尺子以允許在開發的代碼中進行校準(見圖3)。使用高分辨率數碼相機(尼康AF-S DX Nikkor 18~55 mm)獲取木瓜圖像,無閃光燈和變焦(55×)。

a. 相機 b. 光源 c. 待采樣的木瓜 d. 背景 e. 校準線條 f. 隔離外部光線的盒子
對60個番木瓜果實采集了240張圖像(每個木瓜4張圖像),不同成熟階段的木瓜圖像如圖4所示。

圖4 不同成熟階段的木瓜圖像
由于木瓜圖像中含有背景像素,對于未成熟、半成熟和完全成熟的不同成熟度的原始圖像,用白色像素標記木瓜,如圖5所示。

圖5 木瓜圖像樣本及其標記的木瓜所在范圍實況
通過在原始帶標簽的真實圖像基礎上生成更多的數據,以提高訓練數據的效率,使其更加真實和實用[16]。使用幾何變換來區分50%原始圖像中不同的木瓜外皮、朝向和位置。此外,圖像中包括了背景元素。通過像素級別的標注,將所有的木瓜對象存儲在數據庫中。將另外的25%原始圖像添加到不同的背景圖像中,包括天然木瓜田、超市、工廠等,另外25%的原始圖像添加到帶有多個不同尺寸、朝向和位置的多木瓜背景圖像中,以模擬更真實的包含多個對象的圖像[17]。每個木瓜都在像素級別和實例級別上進行了標注。用于訓練的木瓜圖像包括原始圖像和增強圖像,完全與測試數據集分開。
為驗證所提出的木瓜成熟度檢測方法Mask R-CNN (ResNeXt-101)的有效性和魯棒性,將其對木瓜成熟度的檢測結果與R-CNN的其他模型進行對比,所選擇對比的方法對水果進行檢測時具有較高的平均檢測精度[18]。ResNeXt-101簡記為X101。
該試驗使用detectron2框架[19]和配備有Intel(R) 2核Xeon(R) CPU @ 2.20 GHz、NVIDIA Tesla V100-SXM2顯卡和16 GB HBM2內存的Google Colab機器,使用PyTorch 1.8運行程序。參數配置是根據每個模型的總損失經驗進行選擇;所有基于R-CNN模型均使用相同的參數配置,例如最大迭代次數為1 000,基本學習率為0.000 25,每批處理2張圖像。原始圖像尺寸為4 128像素×3 096像素,增強后的圖像尺寸從855像素×1 280像素到6 016像素×4 000像素不等。每個模型均使用在COCO數據集[20]上預訓練的原始模型進行初始化,然后在兩個不同數據集上進行微調:原始的木瓜數據集(數據集#1)和帶有多目標采樣的木瓜數據集(數據集#2),如表2所示。

表2 原始數據集和增強數據集中不同成熟階段木瓜圖像數
所對比的R-CNN模型包括RetinaNet、CenterMask、Mask R-CNN、Faster R-CNN,所采用的殘差網絡包括具有99,57層的VoVNetV2和具有50,101層的ResNet。根據R-CNN模型和殘差網絡的不同組合,所對比的方法主要包括CenterMask (VoVNet-99)、CenterMask (VoVNet-57)、Faster R-CNN (ResNet-50)、Faster R-CNN (ResNet-101)、RetinaNet (ResNet-101)、RetinaNet (ResNet-50)、Mask R-CNN (ResNet-101)、Mask R-CNN(ResNet-50)。后續分析中,VoVNet-99簡記為v99,VoVNet-57簡記為v57,ResNet-101簡記為r101,ResNet-50簡記為r50。
(1) RetinaNet是一種應用于密集采樣候選對象的單級檢測器。RetinaNet由一個主干網絡和兩個子網絡組成,分別用于框分類和框回歸。由于背景和前景之間的類不平衡是影響檢測準確性的主要問題,RetinaNet通過對負面示例進行重點訓練來計算焦點損失。焦點損失由所有候選對象的焦點損失之和計算得出。訓練損失包括分類損失和邊界框損失。
(2) 基于最新分割模型CenterMask的檢測方法,CenterMask是一個單階段和無錨點實例分割模型,CenterMask通過增加一個空間注意引導的掩碼網絡(SAG-mask)用于檢測物體掩碼。SAG-mask網絡包含空間注意圖(SAM),在聚焦于信息像素并減少噪聲方面起著至關重要的作用。
為了評估不同方法對木瓜果實圖像成熟度檢測的性能,考慮檢測到的目標與真實邊界框之間的相似性,包括重疊面積和檢測到的木瓜成熟度。交并比(IoU)IIoU可用于衡量檢測目標的邊界框(Ap)和真實邊界框(Agt)之間重疊區域的比率[21]:
(7)
當IIoU=1時,IoU分數為最佳,而IoU閾值通常設置為識別到的目標是否正確的限制程度。此外,精確率可以用來識別所有檢測到的物體中的正確陽性樣本數,而召回率用于識別圖像中所有真實邊界框對象[22]。
(8)
(9)
式中:
NTP——正確檢測到的樣本數量;
NFP——錯誤檢測到的樣本數量或不存在的樣本數量;
NFN——未檢測到的真實樣本數量。
此外,目標檢測器的置信度分數也可以考慮在檢測指標內。較大的置信度分數可以被視為正的檢測結果。將精確度和召回率重新表示為置信度閾值(τ)的函數[23]:
(10)
(11)
理想的目標檢測器應具有精確率和召回率均為1的性能。精確率—召回率曲線(PR曲線)呈現了從檢測開始的不同閾值的精確率—召回率關系,試驗方法的PR曲線呈鋸齒狀(圖6)。此外,平均精度(AP)是一種常用的指標,為PR曲線下的面積;mAP為AP在類別和閾值上的平均值。

圖6 不同方法對未熟、半熟和全熟木瓜檢測的PR曲線
3.3.1 成熟度階段檢測 mAP從50%變化到95%,步長為5%,AP50和AP75分別對應50%和75%的平均檢測精確度。由表3可知,試驗方法在所有指標得分上的表現最好,而Mask R-CNN和Faster R-CNN在考慮特定重疊閾值時在AP50和AP75上表現出較高的精確度。CenterMask在AP50閾值下展現出良好的檢測性能。

表3 使用原始數據集(數據集#1)訓練和測試不同方法時的木瓜成熟度檢測結果
由表4可知,由于未知的背景干擾、重疊的目標、不同尺寸的目標和其他目標變化,所有方法對木瓜成熟度檢測的mAP均有不同程度的下降,但試驗方法在所有指標得分上的表現仍是最好的。由表5可知,通過多目標采樣技術,試驗方法在不受限制的數據集(數據集#2)上泛化能力更強,如mAP從92.76%提升至98.43%。

表4 使用原始數據集(數據集#1)訓練、增強數據集(數據集#2)測試不同方法時的木瓜成熟度檢測結果

表5 使用原始數據集(數據集#1)+增強數據集(數據集 #2)訓練和測試不同方法時的木瓜成熟度檢測結果
3.3.2 計算時間 由圖7可知,相比于ResNet50和VoVNet59等較小尺寸的層,r101(ResNet101)和v99(VoVNet99)等較大尺寸的層通常需要更多的計算時間。Mask R-CNN通過全連接網絡進行掩碼檢測,因此需要更多的計算時間。RetinaNet和Faster R-CNN具有最高的計算速度,但RatinaNet出現了較多誤檢。

圖7 各檢測模型在每張圖像上的推理時間與mAP之間的關系
為進一步驗證試驗方法的有效性,將試驗方法的木瓜成熟度檢測性能與基于輕量化YOLO v5-Lite模型的木瓜成熟度檢測方法(YOLO v5-Lite)、基于k最近鄰算法的木瓜成熟度識別方法(KNN)、基于VGG16和離散小波變換的番木瓜成熟度識別方法(VGG16-DWT)、基于VGG19和遷移學習算法的木瓜成熟度分類方法(VGG19-TLA)進行對比,結果見表6。由表6可知,試驗方法對木瓜成熟度檢測的mAP、AP50、AP75、未成熟的AP、半成熟的AP和成熟的AP比其他方法至少提高了0.07%,0.65%,0.56%,1.27%,0.78%,0.88%。

表6 木瓜成熟度檢測方法的檢測性能對比
綜上,試驗方法的木瓜成熟度檢測mAP、準確率和召回率均優于所對比的其他方法,驗證了試驗方法的有效性和實用性。
研究提出了一種基于多目標采樣和改進Mask R-CNN的木瓜成熟度檢測方法。結果表明,通過多目標采樣技術,試驗方法對木瓜成熟度檢測的泛化能力更強,可將均值平均精度、50%平均精度、75%平均精度、未成熟的平均精度、半成熟的平均精度和成熟的平均精度分別提高5.67%,5.65%,5.78%,5.91%,6.56%,6.66%。與其他4種木瓜成熟度檢測方法相比,試驗方法對木瓜成熟度檢測的均值平均精度、50%平均精度、75%平均精度、未成熟的平均精度、半成熟的平均精度和成熟的平均精度比其他方法至少提高了0.07%,0.65%,0.56%,1.27%,0.78%,0.88%。試驗方法的計算時間偏長,后續將進一步研究具有更高計算效率且可保持當前木瓜成熟度檢測準確率、召回率等性能優勢的方法。