趙留陽
(安徽理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001)
中藥是我國文化重要的組成部分,近年來,疫情肆虐,在治療疫情方面中藥發(fā)揮了重要的作用,但目前中藥的檢測主要由人工完成,耗時(shí)長。隨著深度學(xué)習(xí)的發(fā)展,基于深度學(xué)習(xí)的檢測算法日新月異,將深度學(xué)習(xí)應(yīng)用于中藥檢測將會大大提高中藥的檢測能力。
當(dāng)前目標(biāo)檢測領(lǐng)域常用的算法模型有目標(biāo)特征提取網(wǎng)絡(luò)、頭部網(wǎng)絡(luò)以及頸部網(wǎng)絡(luò),特征提取網(wǎng)絡(luò)顧名思義用來進(jìn)行目標(biāo)的特征提取,常用的目標(biāo)特征主要有VGG、ResNet殘 差 網(wǎng) 絡(luò)、DenseNet、MobileNet以 及CSPDarknet53等。隨著深度學(xué)習(xí)的不斷發(fā)展,其在目標(biāo)檢測領(lǐng)域取得了斐然的成績,當(dāng)前深度學(xué)習(xí)技術(shù)日新月異,因此目標(biāo)檢測領(lǐng)域也衍生了兩派不同的檢測算法:第一種是以YOLO、SSD為主要代表的單階段檢測算法,另一種是以Faster-RCNN算法為主的兩階段檢測算法,兩派算法各有優(yōu)劣,單階段檢測算法與兩階段相比,因其減少一些操作流程,參數(shù)量減少因此在檢測速度上優(yōu)于兩階段檢測算法,但精度遜于兩階段的算法。但日常生活中,除正常目標(biāo)外,還包括大量的小目標(biāo)物體,相比較目標(biāo)特征較明顯的物體兩類算法對小目標(biāo)的檢測精度有所下降。伴隨著技術(shù)的不斷發(fā)展,在目標(biāo)檢測領(lǐng)域衍生了注意力機(jī)制。注意力機(jī)制是從圖像的大量消息中捕捉對當(dāng)前任務(wù)更為重要的有效信息,包括尺度較小的目標(biāo)特征。注意力機(jī)制分為軟注意力和強(qiáng)注意力,軟注意力重點(diǎn)關(guān)注通道或者區(qū)域,其又包含通道注意力、空間注意力以及通道和空間融合使用的混合注意力。強(qiáng)注意力重點(diǎn)關(guān)注點(diǎn),常通過增量學(xué)習(xí)的方式來完成訓(xùn)練過程。
本文旨在針對中藥進(jìn)行檢測,因其包含較多尺度較小的目標(biāo),因此提出一種新的改進(jìn)方式:
(1)傳統(tǒng)Faster-RCNN 網(wǎng)絡(luò)的特征提取網(wǎng)絡(luò)為VGG16網(wǎng)絡(luò),網(wǎng)絡(luò)進(jìn)行了多次池化致使部分目標(biāo)特征丟失,本文采用ResNet101 代替VGG16 網(wǎng)絡(luò)進(jìn)行特征提取,ResNet101雖層數(shù)較深,但會與之前特征相融合,可以保留更多的目標(biāo)特征;
(2)加入CBAM注意力機(jī)制,更多的捕捉圖像中目標(biāo)的特征信息。
Faster-RCNN 算法主要由四部分組成:
(1)特征提取層。算法原始特征提取層主要由VGG16網(wǎng)絡(luò)進(jìn)行目標(biāo)特征提取。VGG16 網(wǎng)絡(luò)由5 個(gè)block 組成,包含了過多的卷積層,池化層和全連接層,具有龐大的參數(shù)量,擁有很好的泛化擬合能力,同時(shí)因?yàn)閰?shù)巨大會導(dǎo)致訓(xùn)練時(shí)間長,參數(shù)調(diào)整困難。
(2)區(qū)域建議層(RPN)。RPN 是算法在傳統(tǒng)Fast-RCNN[10]算法上的一個(gè)巨大改進(jìn),在R-CNN 與Fast-RCNN 算法框架中,使用傳統(tǒng)的SS(Selective Search)方法來提取目標(biāo)的候選框,計(jì)算量冗余且耗時(shí)長,RPN 使用端到端的訓(xùn)練方法,把神經(jīng)網(wǎng)絡(luò)引用到物體的整個(gè)檢測過程當(dāng)中,與SS 方法相比,極大地減少了計(jì)算量。
(3)ROI Pooling 層。該層特點(diǎn)是將輸入尺寸大小不同的框通過ROI Pooling 層使其轉(zhuǎn)化為尺寸大小固定的框作為下一個(gè)連接層的輸入。
(4)分類回歸層。分類回歸層用于輸出分類框的相關(guān)參數(shù)。
Faster-RCNN 算法流程如下:
(1)輸入待檢測圖片,通過特征提取層獲得物體的feature map;
(2)將featuremap 輸入RPN 網(wǎng)絡(luò)中獲取基準(zhǔn)候選框;
(3)基準(zhǔn)候選框經(jīng)過ROI Pooling 層重新映射成尺寸相同的候選框;
(4)將候選框輸入到分類回歸層輸出分類和回歸參數(shù)。
相比較fast-RCNN 算法,F(xiàn)aster-RCNN 的一大創(chuàng)新在于其引入了RPN 機(jī)制。RPN 由一個(gè)卷積層、ReLu激活函數(shù)、clc layer 和reg layer 組成。模型在圖片經(jīng)過特征提取網(wǎng)絡(luò)卷積得到目標(biāo)特征的feature map 后將feature map 送入RPN,在RPN 網(wǎng)絡(luò)中,網(wǎng)絡(luò)使用卷積核對獲得的feature map 進(jìn)行卷積操作,經(jīng)過卷積操作后計(jì)算出feature map 的中心點(diǎn),網(wǎng)絡(luò)根據(jù)中心點(diǎn)映射回原圖的中心點(diǎn),確保中心點(diǎn)和原圖一致,并生成9 個(gè)尺寸大小不一的候選框,后經(jīng)過clc layer 和reg layer 層輸出目標(biāo)的分類回歸參數(shù)。RPN 層的作用是提取文檔圖像中的目標(biāo)區(qū)域,主要用于產(chǎn)生區(qū)域提議。這可以明顯減少后期Anchor 框的數(shù)量。與之前Fast-RCNN 算法相比,F(xiàn)aster-RCNN 的Anchor box 的數(shù)量可以從之前的6 000 個(gè)減少到2 000 個(gè),大大提高了算法的計(jì)算速度,同時(shí)生成的2 000 個(gè)區(qū)域建議也足以完成復(fù)雜的檢測任務(wù)?;贑NN 網(wǎng)絡(luò)生成的特征圖,生成三個(gè)不同大小、三種縱橫比(1:1、1:2、2:1)的矩形窗口。如圖1所示。
圖1 RPN 網(wǎng)絡(luò)結(jié)構(gòu)圖
整個(gè)RPN 網(wǎng)絡(luò)如圖1所示,其損失函數(shù)為:
卷積神經(jīng)的網(wǎng)絡(luò)盛行,其主要原因之一是進(jìn)行端到端的訓(xùn)練方式,這種方式可以大大減少參數(shù)帶來的巨大操作量,隨著卷積神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,可以對圖片進(jìn)行很多高級特征的提取。但事實(shí)并非如此,雖然加深卷積層數(shù)可以增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力,提高圖像的分辨精度。然而實(shí)驗(yàn)研究表明,隨著卷積層數(shù)的加深,不僅不能提高模型的泛化能力反而帶來相應(yīng)的問題,如梯度消失。實(shí)驗(yàn)證明當(dāng)網(wǎng)絡(luò)精度達(dá)到飽和時(shí),精度會因?yàn)閷訑?shù)的增加而下降,針對卷積神經(jīng)網(wǎng)絡(luò)的飽和問題,何凱明提出了一種ResNet 殘差網(wǎng)絡(luò)模型,ResNet殘差網(wǎng)絡(luò)不僅可以令卷積網(wǎng)絡(luò)的層數(shù)加深以提取更為豐富的特征同時(shí)解決了層數(shù)加深帶來的精度下降問題。殘差結(jié)構(gòu)圖如圖2所示。在之前的網(wǎng)絡(luò)結(jié)構(gòu)上添加一個(gè)恒等映射,將原有學(xué)習(xí)到的函數(shù)()變成()+,過這種簡單的轉(zhuǎn)換由于其簡單操作,因此并不會帶計(jì)算量大的問題,還可以通過原有的學(xué)習(xí)到更多的特征,提高算法的訓(xùn)練效果。
圖2 殘差結(jié)構(gòu)圖
CBAM 是一種基于卷積神經(jīng)網(wǎng)絡(luò)的注意力模塊,其方式為端到端的訓(xùn)練方式,因此能很好地集成到卷積神經(jīng)中。由兩種軟注意力模塊:通道注意力和空間注意力共同組成了CBAM 注意力機(jī)制,結(jié)構(gòu)如圖3,圖4所示。
如圖3所示,特征圖輸入到通道注意力模塊中,網(wǎng)絡(luò)分別對特征圖執(zhí)行最大池化操作和平均池化操作,后連接共享全連接層(shared MLP)。將輸出通過elementwise 進(jìn)行加和操作,最后通過sigmoid 激活函數(shù)運(yùn)算,輸出在通道注意力模塊中壓縮得到的新的特征圖。
圖3 通道注意力機(jī)制結(jié)構(gòu)圖
通道注意力的機(jī)制對輸入的特征圖在空間上進(jìn)行壓縮,在通道注意力模塊中會進(jìn)行兩種池化操作:最大值池化和均值池化,其作用分別是:最大池化是用來反饋模塊反向傳播,平均池化操作是針對圖像中的像素點(diǎn)給予響應(yīng)。經(jīng)過壓縮之后得到一維矢量,通道注意力選取特征圖中具有辨析的重要內(nèi)容。
如圖4所示,經(jīng)過通道注意力模塊最后輸出的特征圖作為空間注意力模塊的輸入特征圖,在空間注意力模塊中,同樣也進(jìn)行最大值池化和均值池化操作,但先后順序與通道注意力模塊中的不同,其先后進(jìn)行池化操作,最后進(jìn)行操作后將兩層進(jìn)行concat 操作,最后通過卷積以及sigmoid 激活函數(shù)運(yùn)算輸出空間注意力模塊的特征圖。
圖4 空間注意力機(jī)制結(jié)構(gòu)圖
空間注意力原理對獲得的特整體在通道方面進(jìn)行壓縮,因此其功能模塊也與通道注意力不同,在空間注意力機(jī)制模塊中,最大值池化用來選取通道上的最大值,共進(jìn)行×次選取次數(shù),平均池化用來選取通道中的平均值,次數(shù)與最大池化相同,最后空間注意力模塊會輸出為2 通道的特征圖。
改進(jìn)后的算法結(jié)構(gòu)如圖5所示。
圖5 算法結(jié)構(gòu)圖
實(shí)驗(yàn)選用的是深度學(xué)習(xí)框架Tensorflow,圖像處理器是NVIDIA GeFoorce MX230,Python 版本為3.7。
本文數(shù)據(jù)集選自飛槳AI 公共數(shù)據(jù)集。數(shù)據(jù)集中共有4 500 張圖片,圖片嚴(yán)格按照VOC 數(shù)據(jù)集格式進(jìn)行標(biāo)注,其中3 500 張圖片用于模型的訓(xùn)練,1 000 張圖片用于模型的測試,訓(xùn)練集與測試集比為3.5:1。數(shù)據(jù)集照片分辨率為800×800,能夠滿足實(shí)驗(yàn)要求。
本文選用的評估標(biāo)準(zhǔn)目標(biāo)檢測領(lǐng)域常參考的標(biāo)準(zhǔn):準(zhǔn)確率(Precision)、召回率(Recall)以及MAP 值。準(zhǔn)確率在本文的含義為模型在數(shù)據(jù)集訓(xùn)練時(shí)算法識別的中藥樣本數(shù)量與樣本集中中藥的數(shù)量之比;召回率在本文中的含義是模型訓(xùn)練過程時(shí)算法能夠正確識別的中藥樣本數(shù)量與樣本集中中藥數(shù)量的比值;MAP 是指模型訓(xùn)練的均值平均精度。準(zhǔn)確率和召回率的計(jì)算公式如下:
上述公式中TP 代表模型算法根據(jù)圖片正確識別出的中藥目標(biāo),F(xiàn)N 代表算法未正確識別的圖片中的中藥目標(biāo),F(xiàn)P代表算法檢測錯(cuò)誤的負(fù)樣本。通常若算法的召回率越高,其準(zhǔn)確率就會越低。
本文為了保證實(shí)驗(yàn)的公平性進(jìn)行了多組對比實(shí)驗(yàn),在實(shí)驗(yàn)過程中除變量外其余參數(shù)設(shè)置完全一致。實(shí)驗(yàn)以Faster-RCNN 算法為骨干網(wǎng)絡(luò),首先在基礎(chǔ)特征提取網(wǎng)絡(luò)與傳統(tǒng)算法的VGG16 和ResNet50 進(jìn)行了對比,實(shí)驗(yàn)結(jié)果如表1所示。
表1 特征提取網(wǎng)絡(luò)比較
由表1可以看出使用ResNet101 特征提取網(wǎng)絡(luò)代替VGG16 網(wǎng)絡(luò)時(shí),在數(shù)據(jù)集每種目標(biāo)的檢測精度上均有1.6%以上的提升,同時(shí)本文也選取ResNet50 進(jìn)行對比實(shí)驗(yàn),由實(shí)驗(yàn)結(jié)果可知,ResNet101 相比較ResNet50 也有小幅度的提升。同時(shí)本文控制變量,做了另一組對比實(shí)驗(yàn),驗(yàn)證CBAM注意力機(jī)制對算法檢測效果的影響,實(shí)驗(yàn)結(jié)果如表2所示。
表2 CBAM 注意力機(jī)制的影響
由表2可知加入CBAM 注意力機(jī)制后與未改進(jìn)的Faster-RCNN 算法和使用ResNet101 特征提取網(wǎng)絡(luò)的Faster-RCNN 算法在中藥的檢測精度上都有所提升,進(jìn)一步證明了算法的優(yōu)越性。
本文針對Faster-RCNN 算法模型對小目標(biāo)檢測精度不佳問題,選用ResNet101 殘差網(wǎng)絡(luò)替換原始算法中的VGG16網(wǎng)絡(luò)來對數(shù)據(jù)集中的中藥進(jìn)行目標(biāo)特征的提取,ResNet101網(wǎng)絡(luò)不僅增加了網(wǎng)絡(luò)層數(shù),提取更為豐富的特征,提高了算法對小中藥目標(biāo)的檢測精度,此外加入CBAM 注意力機(jī)制,在圖片中捕捉更多小中藥的目標(biāo)特征,通過實(shí)驗(yàn)證明改進(jìn)后的算法相比較原始算法能夠有效提高檢測精度,證明了算法的魯棒性。