胡 科,劉新躍
(成都大學信息網絡中心,四川成都)
據《中國藥典》中記載,貝母類藥材主要分為川貝母、浙貝母、平貝母、伊貝母和湖北貝母五種。臨床應用中川貝母藥用價值最高,按其性狀又可分為松貝母、青貝母和爐貝母。目前計算機視覺技術在中草藥檢測中的應用已有一些研究報道[1-3],主要通過小波分析、灰度共生矩陣等特征提取方法對多個特征量進行選擇,再輸入SVM、RNN 等分類器完成分類鑒定。這些方法主要集中于視覺特征區別較大,不同種間的識別,且算法過程復雜,無法利用高層語義的特征信息,準確率和識別效率還有待提升。本研究構造一種基于改進YOLOv3 網絡的目標檢測模型,快速定位并精確識別出川貝母各個類別及其偽品,實現快速批量自動化的檢測識別。
YOLO 系列網絡是目標檢測領域常用的一種端到端的深度學習網絡,YOLO 系列算法在經過YOLOv2[4]和YOLOv3[5]兩次改進之后,YOLOv3 算法在檢測精度和速度上都得到了很大提升。由于川貝母各個類別的外觀差異較小,神經網絡不僅要能提取到像紋理、輪廓、形狀等這樣的低層次特征,還需要學習到更為抽象的高層次特征。為了兼顧檢測準確率和速度的同步提升,本研究在YOLOv3 的基礎上進行改進,設計出能夠充分表達川貝母特征的網絡模型,提升川貝母的檢測識別精度。
本研究在YOLOv3 的基礎上嵌入雙通路模塊和注意力機制模塊,創造更加豐富的特征信息的同時,自適應校準特征通道響應值,篩選出更有用的特征,提升模型對川貝母圖像數據的檢測精度。Dual-YOLO網絡如圖1 所示,首先輸入大小為416×416 的RGB圖像數據到DBL 單元中,其中DBL 單元由3×3 卷積、批量歸一化和Leaky ReLU 激活函數組成;接著引入雙通路模塊(Dual)[6]和注意力機制模塊(SE)[7],替代Darknet-53 作為基礎網絡進行特征提取。輸入圖像經過5 次下采樣后輸出第一種大小為13×13 的特征圖;再經上采樣后與第4 次下采樣的特征圖堆疊,輸出第二種大小為26×26 的特征圖;同理與第3 次下采樣的特征圖堆疊得到第三種大小為52×52 的特征圖。最后將輸出得到的三種特征圖分別通過大小1×1的卷積進行目標邊界框的預測,卷積核的數量m 為

圖1 Dual-YOLO 網絡結構
式中:k 為目標邊界框的數量;class 為目標的類別數,本研究川貝母數據共4 類,k 取值為3,因此卷積核數量m 為27。
川貝母及次品平貝母樣品來源于成都市國際貿易城中藥材市場,經成都市中草藥研究所的研究員鑒定其所屬類別,其中,川貝母包括松貝母、青貝母、爐貝母,共計四類樣品。由于川貝母體積較小,單目標分類效率不高,市場上對川貝母的分類通常為多目標檢測識別的形式,并且川貝母呈現的體位各異,因此通過單反相機分別對四種樣品進行隨機批量圖像采集,圖像分辨率為5184×3456。每一類樣品各采集200~300 張,共計1072 張圖像,每張圖像包含6~10 個檢測目標,所有目標都經過圖像標注工具LabelImg 進行人工標注,生成.xml 文件,標簽文件主要包含目標的類別和位置坐標信息,并確保圖像數據與標簽文件一一對應。
本研究采用數據增強方法,如圖像翻轉、旋轉、加噪等。一方面,擴大了數據量;另一方面,克服了過擬合問題,增強了模型分類檢測性能。數據量擴大為原來的4 倍,共計4288 張圖像。訓練開始前,將川貝母四類樣本數據集以4:1:1 的比例隨機劃分為訓練集、驗證集和測試集,表1 為數據集中所有類別的目標數量。

表1 數據集中目標數量
由于YOLOv3 網絡原始先驗框的大小是根據COCO 數據集得到的,并不適用于川貝母數據集的目標檢測。本研究使用K-means 聚類得到先驗框的大小,從而標準化圖像的高度和寬度與先驗框的高度和寬度。本研究使用K-means 聚類得到的先驗框大小為(29,42),(31,47),(33,43),(34,49),(36,55),(37,49),(40,53),(42,60),(50,67),其中尺寸最小的三個先驗框分給最大特征圖的輸出,尺寸最大的三個先驗框分給最小特征圖的輸出,剩下的分給中間尺寸特征圖的輸出。
本研究沿用YOLOv3 的損失函數,綜合評價坐標差異、分類誤差和置信度誤差。所有訓練均在Linux 4.19、CPU 為Intel Pentium G640 @ 2.80GHz、16GB RAM環境下進行,使用Python3.6 及Tensorflow深度學習框架實現。訓練設置Batch 大小為16,最大迭代次數為1000 次,學習率設定為0.001。
本實驗采用平均精度均值(mean average precision,mAP)和檢測速度(FPS)作為評價指標對算法模型進行評價。使用測試集對Dual-YOLO 網絡進行性能測試,圖2 為Dual-YOLO 在四個類別數據上的檢測識別結果。從檢測識別結果可以看出,青貝母和爐貝母的平均檢測精度最高,分別為0.96 和0.89,而松貝母和平貝母的平均檢測精度相對較低,分別為0.82 和0.75,這與實際各個類別的特征鑒別點不同有關。

圖2 部分檢測識別結果
作為對比,本實驗在原始YOLOv3 網絡上進行相同訓練參數下的性能測試,兩種算法在川貝母目標檢測上的性能比較如表2 所示。對表2 分析可知,Dual-YOLO 模型mAP 達到80%,相較于YOLOv3 算法提升了約4 個百分點。從檢測速度上來看,Dual-YOLO 提高了3 幀/ 秒;在模型大小方面,Dual-YOLO 比YOLOv3 小23MB,其參數量亦更小,相同參數下網絡模型的收斂速度更快。

表2 兩種算法的檢測性能比較
通過消融實驗驗證Dual-YOLO 網絡在川貝母檢測識別中的有效性。刪除不同的網絡模塊,使用相同的數據集和訓練參數進行訓練,分別測試雙通路模塊(Dual-block)和注意力機制模塊(SE-block)在YOLO網絡中作用,測試結果如表3 所示。

表3 消融實驗的結果
從表3 可知,相比Dual-YOLO 網絡的檢測識別結果,刪除Dual-block 后,以darknet-53 作為基礎網絡會使平均檢測精度降低,對檢測速度和模型大小的影響較小;而刪除SE-block 會使模型的參數量增加,導致檢測速度降低,模型大小增大,并且平均檢測精度降低。由此可知,雙通路模塊主要作用是增強特征提取,提升網絡的檢測精度;注意力機制模塊可以提升網絡對特征的選擇,從而降低模型復雜度,提升模型的檢測性能。
本研究采集具有代表性的多視覺川貝母圖像,提出一種基于改進YOLOv3 的川貝母檢測識別方法,利用雙通路模塊重用上層特征并產生新的特征,增強模型對特征信息的利用;并采用注意力機制模塊對雙通路模塊提取的特征信息進行通道加權,自動學習不同通道特征的重要程度,提升網絡的識別效率和精度。在實際中藥材鑒別場景中,本研究的川貝母檢測識別方法同樣可以推廣到其它中藥材的圖像檢測和識別上,從而完善中藥材行業質量鑒定方法體系。