






摘 要:為了提升中藥材圖片分類的準(zhǔn)確率,提出了一種基于改進(jìn)ResNet50的中藥材分類識(shí)別方法。首先,引入了卷積塊注意力模塊(Convolutional Block Attention Module,CBAM),增強(qiáng)了模型對(duì)中藥材特定特征的識(shí)別能力。其次,對(duì)標(biāo)準(zhǔn)的ResNet50中的卷積快捷連接進(jìn)行了優(yōu)化,減少了特征圖的信息損失。最后,在模型后端集成了金字塔池化模塊(Pyramid" Pooling Module,PPM),該模塊能整合多尺度的上下文信息,顯著增強(qiáng)了模型捕獲全局特征的能力。實(shí)驗(yàn)結(jié)果表明,相較于原模型及VGG16,改進(jìn)后的模型在中藥材識(shí)別上達(dá)到了94.75%的準(zhǔn)確率,為中藥材分類領(lǐng)域的后續(xù)研究工作提供了支持及優(yōu)化的方向。
關(guān)鍵詞:中藥材圖像分類;ResNet50;CBAM注意力模塊;PPM金字塔池化
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:A
0 引言(Introduction)
隨著疾病模式的不斷變化和傳統(tǒng)醫(yī)學(xué)的日益復(fù)興,中藥材的有關(guān)研究和實(shí)際應(yīng)用受到了越來越多的關(guān)注。為開發(fā)更高級(jí)、精確的中藥材識(shí)別技術(shù),眾多研究者展開了深入探索。孫鑫等[1]利用卷積神經(jīng)網(wǎng)絡(luò)技術(shù),在50種中藥飲片圖像的測(cè)試上取得了70%的平均識(shí)別準(zhǔn)確率。徐飛等[2]開發(fā)了一種區(qū)分人參和西洋參飲片真?zhèn)蔚姆椒ǎ摲椒ǖ淖R(shí)別精度達(dá)到了90.9%。劉加峰等[3]構(gòu)建的中藥飲片圖像自動(dòng)檢測(cè)識(shí)別系統(tǒng),對(duì)枸杞、甘草、陳皮3種中藥飲片的平均識(shí)別率超過了80%。王一丁等[4]提出了一種針對(duì)中草藥粉末的結(jié)合了多通道顏色空間和注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)改進(jìn)技術(shù),使準(zhǔn)確率能提高4.1百分點(diǎn)。王健慶等[5]以深度學(xué)習(xí)模型為基礎(chǔ),實(shí)現(xiàn)了對(duì)中藥飲片圖像的自動(dòng)辨識(shí),平均識(shí)別率達(dá)到92%。韓勇等[6]基于Keras框架建立深度學(xué)習(xí)模型,該模型在43種中藥上的識(shí)別率可以達(dá)到90%以上。深度學(xué)習(xí)技術(shù)在圖像識(shí)別和分類領(lǐng)域已取得了顯著的成就,然而它的性能仍有提升的空間[7]。本文提出了一種改進(jìn)的ResNet50模型,通過細(xì)化特征,能夠提高對(duì)常見中藥材的分類識(shí)別效果。
1 材料與方法(Materials and methods)
1.1 樣本數(shù)據(jù)集本文選取了20種常見的中藥材,以每種藥材的名字作為關(guān)鍵詞,在百度搜索引擎中進(jìn)行了針對(duì)性的搜索。對(duì)于每一類藥材,把檢索中的前200張返回結(jié)果作為候選圖像,隨后仔細(xì)檢查每張圖像的有效性并只保留有效的圖像,確保每一類藥材的有效圖像數(shù)量達(dá)到100張。經(jīng)過以上操作,共獲得2000張中藥材的有效圖片作為樣本數(shù)據(jù)集。數(shù)據(jù)集包含了阿膠、艾葉、白礬、白蔻、白芍、百部、靈芝、炮姜、佩蘭、蒲黃、前胡、全蝎、人參、肉桂、三七、砂仁、山藥、山楂、石斛、辛夷共計(jì)20種常見中藥材,20種中藥材圖像如圖1所示。
1.2 圖像數(shù)據(jù)增強(qiáng)
樣本數(shù)據(jù)集包含200種不同的中藥材樣本,每種中藥材均配有100幅有效圖片,總計(jì)達(dá)到了2000幅圖像。將這些圖像按照8∶2的比例劃分為訓(xùn)練集和測(cè)試集。為了解決樣本數(shù)量不足的問題,本研究采取了一系列合理的數(shù)據(jù)增強(qiáng)方法,旨在既能保持?jǐn)?shù)據(jù)本身特征,又能進(jìn)一步提升特征表現(xiàn)。經(jīng)過數(shù)據(jù)增強(qiáng)處理,圖像總數(shù)擴(kuò)充至8000張。增強(qiáng)參數(shù)如表1所示。
1.3 殘差網(wǎng)絡(luò)模型
殘差神經(jīng)網(wǎng)絡(luò)(ResNet)是一種深度學(xué)習(xí)架構(gòu),最早是由何凱明團(tuán)隊(duì)在CVPR2016上發(fā)表的Deep Residual Learning" for Image Recognition 論文中提出的。ResNet通過將網(wǎng)絡(luò)層數(shù)擴(kuò)展至152層,在ImageNet分類任務(wù)上超越了之前僅19層的VGG網(wǎng)絡(luò),并在ImageNet目標(biāo)檢測(cè)以及COCO數(shù)據(jù)集的檢測(cè)和分割任務(wù)中取得領(lǐng)先成績(jī),極大地推動(dòng)了深度學(xué)習(xí)領(lǐng)域的發(fā)展。
1.4 ResNet50模型的優(yōu)化設(shè)計(jì)
本文選擇了廣泛應(yīng)用的ResNet50模型作為基礎(chǔ),旨在通過一系列創(chuàng)新的改進(jìn)來提高中藥材分類識(shí)別的效果。然而,ResNet50盡管在理論上具有較大的感受野,但是它在實(shí)際應(yīng)用中的有效感受野可能未達(dá)到理論值,這限制了模型在捕獲全局上下文信息時(shí)的能力,進(jìn)而影響其在特定任務(wù)上的表現(xiàn)。為了解決這一問題,本文重點(diǎn)對(duì)ResNet50的有效感受野進(jìn)行優(yōu)化,以期能更全面地捕捉圖像特征,從而提升模型在中藥材分類任務(wù)中的性能。
1.4.1 增加卷積塊注意力模塊
卷積塊注意力模塊(Convolutional Block Attention Module,CBAM)于2018年提出,是一種輕量化的注意力機(jī)制組件,它由兩個(gè)部分構(gòu)成:一部分是針對(duì)通道的注意力(Channel Attention Module,CAM),另一部分則是對(duì)空間特征的注意力(Spatial Attention Module,SAM)。這種模塊能夠在通道維度和空間維度上分別引入注意力機(jī)制,從而更加精準(zhǔn)地捕捉和強(qiáng)調(diào)重要的特征信息。通過這種方式,CBAM不僅能夠節(jié)省模型的參數(shù)數(shù)量和計(jì)算資源,而且還可以無縫地集成到現(xiàn)有的卷積架構(gòu)中,實(shí)現(xiàn)端到端的訓(xùn)練[8]。CBAM模塊在模型網(wǎng)絡(luò)中的連接方式如圖2所示。
在原始的ResNet50網(wǎng)絡(luò)中,融入了卷積塊注意力模塊,構(gòu)建了ResNet50-CBAM模型(圖3)。為了確保原預(yù)訓(xùn)練參數(shù)的穩(wěn)定性,經(jīng)過多次細(xì)致的測(cè)試后,決定在網(wǎng)絡(luò)的最后一個(gè)卷積層之后引入CBAM 模塊,如圖3中的虛線部分所示。這一設(shè)計(jì)不僅避免了對(duì)原有網(wǎng)絡(luò)結(jié)構(gòu)的干擾,而且還顯著提升了模型對(duì)關(guān)鍵特征的捕捉能力,進(jìn)而全面增強(qiáng)了整體的分類性能。這一改進(jìn)成功地在保持模型穩(wěn)定性的基礎(chǔ)上,進(jìn)一步提升了中藥材圖像分類的準(zhǔn)確性和效率。
1.4.2 修改卷積快捷連接
當(dāng)原帶卷積塊的快捷連接執(zhí)行通道維數(shù)擴(kuò)展時(shí),步長(zhǎng)為2的1×1卷積會(huì)直接導(dǎo)致特征圖空間尺寸的縮減,因此從特征圖中抽取特征時(shí),會(huì)不可避免地丟失一部分空間信息;而修改后的步長(zhǎng)為1的1×1卷積,不僅能夠在保持空間分辨率的同時(shí)擴(kuò)展通道維數(shù),使得模型能夠?qū)W習(xí)到更豐富的特征表示,緊隨其后的最大池化層,而且也能夠通過選擇性地保留激活度最高的響應(yīng)以減少特征圖的空間維度。
修改后的卷積快捷連接結(jié)構(gòu)如圖4所示,改進(jìn)后的結(jié)構(gòu)在特征圖下采樣過程中更有效地保留了空間信息,與傳統(tǒng)的帶卷積快捷連接的殘差結(jié)構(gòu)(圖5)相比,可以更好地維持特征質(zhì)量。這一結(jié)構(gòu)改進(jìn)有望顯著提升深度學(xué)習(xí)模型在實(shí)際視覺任務(wù)中的表現(xiàn),尤其是在對(duì)細(xì)節(jié)的準(zhǔn)確性要求較高的應(yīng)用場(chǎng)景中。通過這種優(yōu)化方式,能夠在減少計(jì)算復(fù)雜度和參數(shù)數(shù)量的同時(shí),抓住最重要的特征,從而有助于增強(qiáng)網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性與模型性能的提升。
1.4.3 增加金字塔池化模塊
為了強(qiáng)化模型對(duì)于空間上下文信息的捕捉能力,本文引入了具有不同尺度金字塔層的金字塔池化模塊(Pyramid" Pooling Module,PPM)。在模型的深層融入多尺度的上下文信息,有利于捕捉從細(xì)粒度到粗粒度的空間特征,這對(duì)于多種計(jì)算機(jī)視覺任務(wù)的成功執(zhí)行至關(guān)重要。
PPM的設(shè)計(jì)基于4種不同的池化操作構(gòu)建金字塔結(jié)構(gòu),金字塔池化模塊結(jié)構(gòu)如圖6所示,該結(jié)構(gòu)默認(rèn)是由1、2、3、6四種不同的空間尺寸構(gòu)成的,每個(gè)尺度代表不同的感受野。在實(shí)際操作中,這些尺寸設(shè)置可以根據(jù)具體任務(wù)和數(shù)據(jù)集的特性進(jìn)行調(diào)整,從而賦予模塊更高的靈活性和自適應(yīng)性。在本文的研究中,大量實(shí)驗(yàn)過程證明,采用4、5、6三種空間尺寸的池化操作能夠獲得最佳效果。
首先,在具體實(shí)現(xiàn)過程中對(duì)輸入特征圖分別執(zhí)行不同尺度的池化操作,以獲取多尺度的上下文特征。其次,每個(gè)經(jīng)過池化操作后的特征圖都會(huì)經(jīng)過一個(gè)1×1卷積,將其通道數(shù)降低至原特征通道的1/N(本研究中N 取3),以此減少模型的參數(shù)和計(jì)算量。最后,通過雙線性插值技術(shù)對(duì)這些特征圖進(jìn)行放大,使其空間分辨率恢復(fù)到與初始特征圖一致,并在通道層面上將放大后的特征圖與原始特征圖進(jìn)行合并[9]。
PPM模塊位于網(wǎng)絡(luò)的深層,其輸出可與原始特征圖相結(jié)合,以提升模型的特征表達(dá)能力。如圖7中的虛線部分所示,在ResNet50的卷積層之后、全局平均池化層之前添加PPM模塊,并附加一個(gè)1×1的卷積,用于還原通道數(shù)。ResNet50-PPM 網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。
實(shí)驗(yàn)驗(yàn)證結(jié)果表明,本研究所設(shè)計(jì)的PPM 模塊顯著提高了模型在處理圖像分類任務(wù)時(shí)的準(zhǔn)確性和魯棒性。
1.4.4 引入遷移學(xué)習(xí)
深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Networks,DCNNs)具有龐大的參數(shù)體系,通常需要依賴大規(guī)模數(shù)據(jù)集進(jìn)行訓(xùn)練,不僅需要消耗大量的計(jì)算資源,而且訓(xùn)練過程耗時(shí)較長(zhǎng)。然而,在DCNNs中,淺層的卷積層主要負(fù)責(zé)捕獲基礎(chǔ)的視覺特征,例如邊界、紋理等元素,在不同數(shù)據(jù)集間具有普適性。因此,將預(yù)訓(xùn)練模型中特征提取器的參數(shù)遷移到新的數(shù)據(jù)集上,能夠顯著縮短訓(xùn)練時(shí)間,并在有限的數(shù)據(jù)條件下增強(qiáng)模型的泛化能力。此方法被稱為遷移學(xué)習(xí)。通常,遷移學(xué)習(xí)可以采用以下3種方法[10]。
(1)加載預(yù)訓(xùn)練權(quán)重后,對(duì)所有層進(jìn)行訓(xùn)練,這一過程通常需要較小的學(xué)習(xí)率,以增強(qiáng)模型的泛化能力,但計(jì)算成本較高。
(2)僅對(duì)模型的最后幾層進(jìn)行訓(xùn)練,可以快速調(diào)整模型以適應(yīng)新任務(wù),同時(shí)有效降低訓(xùn)練過程中的參數(shù)數(shù)量。
(3)在預(yù)訓(xùn)練模型上添加新的全連接層,并僅對(duì)這些新的全連接層進(jìn)行訓(xùn)練,以便模型學(xué)習(xí)到針對(duì)特定任務(wù)的特征。
本文采用第一種遷移學(xué)習(xí)方法,采用較小的學(xué)習(xí)率也能最大限度地保留預(yù)訓(xùn)練權(quán)重的訓(xùn)練效果。同時(shí),訓(xùn)練過程的收斂速度較快且泛化能力好,使用較小的數(shù)據(jù)集也能達(dá)到比較高的準(zhǔn)確率。
1.4.5 模型評(píng)價(jià)指標(biāo)
為了全面評(píng)估模型的泛化能力,本文選用了多個(gè)評(píng)價(jià)指標(biāo),包括準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1分?jǐn)?shù),其具體公式如公式(1)至公式(4)所示。通過以上指標(biāo),可以從多個(gè)維度對(duì)模型的泛化能力進(jìn)行全面評(píng)估。
2 實(shí)驗(yàn)結(jié)果與分析(Experimental results and analysis)
2.1 實(shí)驗(yàn)配置
所有實(shí)驗(yàn)均在Python3.9、PyTorch1.13.1、CUDA11.6的環(huán)境下進(jìn)行。操作系統(tǒng)則是centos8.5,GPU型號(hào)為NVIDIATeslaT4。
為了驗(yàn)證改進(jìn)后ResNet50模型的有效性,本文將其與其他常用的分類模型進(jìn)行對(duì)比測(cè)試。本文采用以下6個(gè)模型進(jìn)行比對(duì),包括ResNet50模型,VGG16模型,增加了CBAM 注意力模塊的ResNet50-CBAM 模型,修改了卷積快捷連接、添加了最大池化的ResNet50-MaxPool模型,在卷積層后添加金字塔池化模塊的ResNet50-PPM 模型,以及在原ResNet50模型的基礎(chǔ)上添加了CBAM模塊、修改了卷積快捷連接、添加了MaxPool、在注意力模塊后再添加PPM模塊的本文方法。在訓(xùn)練過程中,所有模型的超參數(shù)設(shè)置保持一致,具體的超參數(shù)配置如表2所示。
2.2 結(jié)果與分析
2.2.1 損失函數(shù)對(duì)比
訓(xùn)練期各網(wǎng)絡(luò)模型的損失曲線如圖8所示。
從圖8中可以觀察到各模型損失函數(shù)曲線的不同表現(xiàn)。相比于其他模型,VGG16的損失值明顯偏高,并且其損失曲線的下降速度也顯著慢于其他模型的下降速度,說明VGG16在處理當(dāng)前任務(wù)時(shí)可能存在一定的局限性。原ResNet50網(wǎng)絡(luò)模型的損失曲線波動(dòng)較小,說明該模型在處理任務(wù)時(shí)具有較為穩(wěn)定的性能表現(xiàn)。添加了注意力機(jī)制、修改了卷積快捷連接并添加最大池化及添加了金字塔池化模塊的3種模型,在訓(xùn)練過程中均有較佳的表現(xiàn)。這些改進(jìn)不僅提升了模型的性能,而且還使得損失曲線在訓(xùn)練過程中更快地收斂。特別值得一提的是,本文提出的改進(jìn)模型在損失曲線方面表現(xiàn)尤為穩(wěn)定,其損失值不僅低于其他模型,而且在不到200步的訓(xùn)練過程中就已經(jīng)開始趨于穩(wěn)定。這充分證明了本文提出的改進(jìn)策略不僅優(yōu)化了模型性能,而且還提高了訓(xùn)練效率,使得模型能夠更好地適應(yīng)并處理復(fù)雜的任務(wù)需求。
2.2.2 不同網(wǎng)絡(luò)模型對(duì)比
上述6種網(wǎng)絡(luò)模型在測(cè)試集上的實(shí)驗(yàn)結(jié)果如表3所示。為評(píng)估各模型在不同種類中藥材分類任務(wù)中的性能表現(xiàn),選取準(zhǔn)確率、精確率、召回率及F1分?jǐn)?shù)4個(gè)指標(biāo)作為模型的評(píng)價(jià)指標(biāo)。
由表3中的數(shù)據(jù)可知,本文提出的模型對(duì)不同種類的中藥材的分類精確率高達(dá)94.70%,相較于原始的ResNet50模型的93.53%,有了顯著的提升。這一結(jié)果充分證明了本文改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)的可靠性和有效性。
此外,本文提出的3種改進(jìn)策略在20種常見中藥材數(shù)據(jù)集上的表現(xiàn)也均優(yōu)于ResNet50和VGG16模型的表現(xiàn)。具體而言,相較于ResNet50和VGG16模型的表現(xiàn),這3種改進(jìn)策略分別將準(zhǔn)確率提升了0.75百分點(diǎn)、0.5百分點(diǎn)、0.5百分點(diǎn)和1.75百分點(diǎn)、1.5百分點(diǎn)、1.5百分點(diǎn)。其中,添加PPM 模塊的方法在性能提升方面的表現(xiàn)尤為突出。這是因?yàn)镻PM模塊能夠聚合多尺度特征,從而增強(qiáng)模型對(duì)圖像全局語義的理解。這一特點(diǎn)使得模型在中藥材分類任務(wù)中能夠更準(zhǔn)確地捕捉關(guān)鍵信息,進(jìn)而提升分類的準(zhǔn)確性和魯棒性。
將3種改進(jìn)策略相結(jié)合的網(wǎng)絡(luò)模型的準(zhǔn)確率高于僅引入一種改進(jìn)模塊的網(wǎng)絡(luò)模型的準(zhǔn)確率,并且其精確率、召回率和F1分?jǐn)?shù)都達(dá)到了94.50%以上。這一結(jié)果表明,本文提出的改進(jìn)模型在提高中藥材分類準(zhǔn)確度上展現(xiàn)出顯著的有效性,并且具有良好的泛化性能,能夠出色地完成常見中藥材的分類工作。
2.2.3 改進(jìn)后模型的分類性能評(píng)價(jià)
為了進(jìn)一步了解改進(jìn)模型對(duì)20種常見中藥材的分類識(shí)別情況,表4列出了模型對(duì)20種中藥材分類的準(zhǔn)確率及相關(guān)評(píng)價(jià)指標(biāo),表4中的數(shù)據(jù)直觀地展示了模型在各類中藥材分類任務(wù)中的表現(xiàn),全面反映了模型的分類情況[11]。
由表4中的數(shù)據(jù)可以看出,雖然大多數(shù)中藥材都能被正確分類,但是仍然有小部分中藥材被錯(cuò)誤分類。其中,艾葉最容易被錯(cuò)誤分類為其他藥材。通過分析發(fā)現(xiàn),被錯(cuò)誤分類的原因主要有兩個(gè)方面。一是數(shù)據(jù)集較少,即中藥材圖像數(shù)量有限,限制了模型能夠?qū)W習(xí)和識(shí)別的特征數(shù)量,從而影響了分類的準(zhǔn)確性和模型的泛化能力。盡管每個(gè)類別擁有100張圖片,這樣的數(shù)據(jù)量對(duì)于深層的特征提取仍然顯得不足。二是中藥圖像中存在不同處理程度的藥材的表型特征,在同一種藥材分類中,有些藥材是新鮮的、待處理的,有些則是已經(jīng)經(jīng)過專業(yè)處理的,這種表型特征導(dǎo)致了樣品分類錯(cuò)誤。此外,中藥材之間的相似度也會(huì)導(dǎo)致被錯(cuò)誤分類。
總的來說,本文提出的模型在對(duì)多種中藥材的分類識(shí)別上表現(xiàn)出了較高的準(zhǔn)確率,能夠識(shí)別中藥材的多種表型特征。
3 結(jié)論(Conclusion)
本文提出了一種基于改進(jìn)ResNet50的中藥材分類識(shí)別方法。該方法通過添加卷積塊注意力模塊CBAM,對(duì)中藥材特定特征進(jìn)行了細(xì)化;同時(shí),修改了殘差塊中帶卷積的快捷連接,減少了網(wǎng)絡(luò)提取過程的信息損失;此外,還在卷積層之后添加PPM模塊,增強(qiáng)了網(wǎng)絡(luò)對(duì)空間上下文信息的聚合能力,進(jìn)一步提升了其抓取全局細(xì)節(jié)的能力。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的網(wǎng)絡(luò)的分類準(zhǔn)確率達(dá)到94.75%,優(yōu)于原ResNet50(93.25%)和VGG16(92.25%)。以上結(jié)果驗(yàn)證了本文提出的改進(jìn)方法的有效性,該方法能夠準(zhǔn)確地進(jìn)行中藥材的識(shí)別,為常見的中藥材識(shí)別問題提供了一種自動(dòng)化的解決方案。該模型在中藥材識(shí)別領(lǐng)域具有較高的應(yīng)用前景和實(shí)用價(jià)值,不僅能夠?yàn)橹兴幉牡淖詣?dòng)分類和識(shí)別提供有力的技術(shù)支持,而且還有助于提升中藥材的生產(chǎn)、加工和質(zhì)量控制水平,推動(dòng)中藥材產(chǎn)業(yè)的健康發(fā)展。
作者簡(jiǎn)介:葛 琪(1995-),男(漢族),渭南,碩士生。研究領(lǐng)域:深度學(xué)習(xí),農(nóng)業(yè)信息化。
吳麗麗(1979-),女(漢族),蘭州,副教授,博士。研究領(lǐng)域:圖像識(shí)別,人工智能與數(shù)據(jù)挖掘。本文通信作者。
康立軍(1973-),男(漢族),蘭州,副教授,博士。研究領(lǐng)域:農(nóng)業(yè)信息化與機(jī)械化研究。