王一丁 孫 霞 李耀利 蔡少青 袁 媛
1(北方工業大學 北京 100144) 2(北京大學 北京 100041) 3(中國中醫科學院中藥資源中心 北京100700)
中藥材粉末顯微鑒定[1]由于使用的樣品用量較少且儀器相對簡單,在中藥材鑒定領域有著簡捷、實用和環保等獨特的優勢。但是傳統的主要依靠人工識別的顯微鑒定存在需要專業知識、主觀因素多的劣勢。近年來隨著計算機運算處理速度的提高和圖像智能識別技術的快速發展,在顯微圖像領域對中藥材粉末進行鑒別的技術進一步得到發展[2]。將計算機應用于傳統的顯微鑒定,能夠利用計算機代替人工完成對中藥材的鑒定[3],這一發展使得顯微鑒定不再需要對鑒定人員提出既要具備豐富的實踐經驗又要擁有較高的理論知識水平等嚴格的要求,因此顯微鑒定的客觀性和自動化的程度均得到提高。
王亞杰等[3]早在2006年就提出使用多種方法來提取中藥材粉末顯微圖像的主要特征。2012年,針對葉類中藥顯微圖像的基于閾值進行圖像分割的方法[4]被提出,主要通過多種圖像領域的處理方法實現了對葉類中藥材顯微圖像的有效分割。2013年,針對植物中草藥顯微圖像,有學者提出另一種圖像分割方法[5],該方法通過獲取合適的分割閾值來實現更好的圖像分割結果。2014年,一種改進的邊緣提取算法[6]被提出并用于中藥材顯微圖像,該濾波算法對原圖像的細節部分和邊緣部分實現了較好的保存,從而提高了顯微圖像的識別效果。中藥材中的一些近緣藥材也可使用合適的圖像處理方法進行分析,從而完成種類鑒定。2017年,對于牛膝和川牛膝,王耐等[7]采用神經網絡的識別方法實現對這兩種近緣藥材的有效識別,這也證明了對多種藥材進行顯微識別的可能。
以上研究充分表明在顯微圖像微觀領域進行中藥材鑒定識別研究已經受到越來越多研究人員的關注。但是傳統的圖像處理和模式識別方法通常適用于小類別和小數量的數據類型,且該方法提取到的特征相對較淺,不適用于多類別和大數據量的顯微特征圖像的檢測識別研究。目前,使用深度學習卷積神經網絡方法對中藥材粉末顯微特征圖像進行特征檢測[8],能夠利用計算機對圖像中的目標特征進行自動定位以及完成特征種類的自動識別,減少了人工判斷中主觀因素造成的影響,具有良好的推廣性和普適性。但是,由于中藥材粉末顯微圖像常常存在目標特征斷裂殘缺的問題,導致檢測效果不佳。本文針對這一問題,提出了一種改進型SSD檢測算法,將SSD檢測網絡[9]與SE模塊[10]結合起來,使得改進后的SSD算法能對網絡中的特征通道按照對目標任務的重要程度進行權重的分配,這樣即使圖像中的目標特征是不完整的,改進型網絡也能對其包含的關鍵信息進行充分的學習,從而提升網絡的檢測性能,得到更好的檢測效果。
本文使用中藥材粉末顯微特征圖像數據集,這一數據集是通過專業的采集和合理的特征種類劃分后得到的。經過對數據集圖像的分析,發現圖像中存在細胞或組織特征斷裂殘缺的情況,這會影響到最終的檢測精度。
針對本課題的研究內容,本文經過多次實驗確立了一套適于計算機檢測與識別的中藥材粉末顯微特征圖像的采集操作規程。
操作流程大致包括:收集樣品、粉碎、過篩、制粉末片和拍攝顯微特征圖像。其中采集設備如圖1所示[9]。

(a) 粉碎機和藥篩 (b) 中藥材粉末

(c) 粉末顯微標本片 (d) 顯微數碼成像系統圖1 中藥材粉末顯微特征圖片的采集
對采集到的2 417幅圖像進行類別歸納。結合中藥材自身細胞或組織特征所屬類別的情況和利用計算機實現顯微圖像特征自動檢測的實際需求,對采集到的原始圖像進行中藥材粉末顯微特征的分類,其中:將下皮厚壁細胞、內種皮杯狀細胞、石細胞和種皮石細胞都歸為厚壁細胞;將花粉和孢子歸為花粉孢子類;由于導管與其他中藥材特征差別較大且普遍存在于各種中藥材中,故將導管單獨歸為一類。表1為最終的歸納結果。

表1 中藥材粉末顯微特征分類歸納
中藥材在粉碎過程中會出現各種組織和細胞隨機破碎和斷裂的情況,殘缺的組織和細胞是檢測中的重點難點問題,組織和細胞特征的不完整性會影響著最終的檢測效果。本文對厚壁細胞、花粉孢子和導管這三類中藥材粉末顯微特征的圖像進行檢測,針對其中的斷裂殘缺目標進行重點研究。圖2為部分細胞或組織的斷裂殘缺圖像。

(a) 厚壁細胞 (b) 厚壁細胞

(c) 花粉孢子 (d) 花粉孢子

(e) 導管 (f) 導管圖2 細胞或組織斷裂殘缺圖
由于采集得到的每幅圖像是大小為5 440×3 648像素、3通道的RGB彩色高清顯微圖像,較大的高清晰度圖像會使深度學習檢測網絡在前端讀入圖片和進行圖像預處理時耗時較多。本文在保持其他參數相同的條件下,使用SSD算法對5 440×3 648和1 000×670這兩種大小的數據集進行檢測實驗,取訓練1 000步(step值)和2 000步(step值)時的準確率(accuracy)和平均每秒跑的步數(global_step/sec)進行對比,其中一步完成16幅圖片的訓練。結果如表2所示,實驗結果證明將原始圖像按照原圖的長寬比縮小至1 000×670可以在不影響最終檢測結果的同時加快網絡的訓練速度。故本文使用大小為1 000×670的圖像完成實驗。

表2 兩種圖片大小消耗時間對比圖
由于采集到的大量的顯微圖像是由不同的專家采用不同的設備在不同的時間點進行拍攝采集的,所以圖像中會存在光照影響、角度偏移、尺度不同等多個影響最終檢測結果的問題。
為了獲得更具多樣性的圖像數據,去除數據庫中圖像的一些干擾因素對檢測結果的影響,獲取更多的殘缺圖像樣本,進而得到更好的檢測效果,本文使用多種圖像多樣性擴充方式對采集得到的中藥材顯微特征圖像進行處理來提高最終的檢測精確率,圖3為此操作過程的流程。

圖3 擴充圖像多樣性流程
2.2.1圖像色彩調整
圖像色彩調整主要包括對亮度、飽和度、色相和對比度的隨機調整。
由于經過不同順序的色彩調整后會得到不同效果的圖片,所以本文采用多種圖像色彩調整方法的隨機組合來對圖像進行色彩的調整。本文選用4種圖像色彩調整方法組合方式,如圖4所示,每一種組合方式的調整方法的使用順序為從左到右。

圖4 色彩調整方式組合圖
圖5是經過四種組合方式得到的調整后的圖像。

(a) 組合方式1 (b) 組合方式2

(c) 組合方式3 (d) 組合方式4圖5 四種組合方式調整效果圖
2.2.2圖像裁剪
為獲取斷裂殘缺目標的訓練樣本,本文在一定條件下對圖像進行圖像裁剪,圖6為圖像裁剪的流程。

圖6 圖像裁剪流程
由圖6可知,圖像裁剪的步驟大致分為:
(1) 對圖像隨機進行擴充。圖像擴充的概率為0.5,從1.1~4之間選取一個隨機數k作為圖像的擴大倍數,對原圖像的四周進行填充,填充的值為數據集的R、G和B各通道的均值。圖7是擴充后得到的圖像。

(a) k=2.7 (b) k=1.6圖7 圖像擴充結果
(2) 選取合適的ROI。首先隨機選取小于原圖的高和寬作為ROI的高和寬。然后隨機確定ROI的位置,使得ROI能夠包含標注框box的中心點且該ROI與圖像標注框box的交并比iou滿足一定的條件,本文iou∈{0.1,0.3,0.5,0.7,0.9,1}。
(3) 用隨機選好的ROI對圖像和標注框box對擴充后的圖像或者原圖進行裁剪,為斷裂殘缺的目標的訓練提供了大量的訓練樣本。部分裁剪的圖像如圖8所示,其中圖8(a)是在擴大的圖像上進行裁剪,圖8(b)是在原始圖像上進行裁剪,框內的部分是裁剪后的圖像目標,該操作為實驗提供了大量斷裂殘缺的特征不完整的樣本。

(a) 擴充圖像的裁剪圖(b) 原圖的裁剪圖圖8 圖像裁剪結果
2.2.3隨機水平翻轉
對圖像和標注框box隨機進行水平翻轉(從左到右),輸出沿原圖寬度方向翻轉的圖像,同時也將標注框box做相應的變化。圖9為處理前后的對比圖。

(a) 原圖 (b) 水平翻轉后的圖像圖9 圖像水平翻轉結果
2.2.4去均值
對圖像進行去均值處理使得每個圖像樣本減去數據集的統計平均值,從而將圖像中的一些共同部分移除,凸顯出個體之間的差異,提高網絡訓練速度和精度。圖像去均值處理后的結果如圖10所示。

(a) 原圖 (b) 去均值后的圖像圖10 圖像去均值結果
SSD算法是不需要生成候選框就直接通過卷積操作對檢測目標進行坐標定位和類別判斷的目標檢測算法。SSD算法一步到位的檢測過程在保證檢測精度的同時提高了檢測速度,是目前被大家廣泛使用的檢測算法[11-12]。SSD 算法的結構包含兩個部分,即前端基礎的提取特征網絡和后端的金字塔網絡,圖11為SSD結構圖。

圖11 SSD結構框圖
由圖11可知,將圖片送入SSD網絡,先用基礎網絡VGG16(Visual Geometry Group)[13]進行特征提取,將原VGG16網絡中的最后兩層去掉,在其位置上加兩層卷積層,然后再加4個額外的卷積層,提取其中6個卷積層組成金字塔網絡用于目標的分類和回歸,最終用非極大值抑制完成框體篩選以后輸出預測結果。
SSD 算法主要有以下優點:
(1) 多尺度特征圖:SSD算法使用金字塔網絡來對不同尺度下的特征圖進行目標的檢測。由于網絡前面較淺層的特征圖較大,包含較多的紋理細節信息,更適合進行小物體的檢測;而后面較深的特征圖相對較小,包含了更多的全局信息,包括物體的輪廓、形狀等特征,適合大物體的檢測。所以采用金字塔網絡在逐漸變小的特征圖上進行目標檢測,網絡對不同尺寸的物體都有較好的檢測結果。
(2) 多尺度候選框:SSD算法中的特征圖經過劃分得到多個小單元,每個小單元又會設置多個不同尺度和不同長寬比的先驗框。這種先驗框的選擇方式使得先驗框在不同的特征圖中有不同的大小,在同一個特征圖中又有不同的長寬比,所以有著不同形狀和大小的檢測目標都能被SSD算法大致覆蓋到。
深度學習卷積神經網絡在卷積過程中每經過一個卷積操作都會輸出一個特征圖,這個多通道的特征圖能夠用來描述經卷積提取到的不同的圖像特征。SE模塊可以對特征圖的多個特征通道間的關系建模,在網絡訓練中通過迭代學習獲得每個特征通道對當前任務的重要程度,根據學習到的重要程度將一些重要的圖像特征進行提升[14],突出其作用,圖12為SE模塊的結構圖。

圖12 SE結構框圖
SE模塊的結構分為兩個部分,分別是Squeeze操作部分和Excitation操作部分,其原理和操作過程分為以下幾個步驟:
(1) Squeeze:對輸入的特征圖進行特征層面上的壓縮,將每一個二維空間的特征通道中所有點的信息都歸為一個值,操作過程如下:
(1)
式中:xc指特征圖x的第c個通道;H和W分別是特征圖的高和寬。
(2) Excitation:為經過Squeeze操作得到的特征通道生成相應的通道權重,圖12中字母a、b、c、d、e、f、g和h分別代表進行權重分配后不同的特征通道。該操作過程如下:
s=Fex(z,W)=σ(W2δ(W1z))
(2)
式中:δ指ReLU函數,σ指Sigmoid函數。s表示c個特征通道的權重系數。最后通過將系數s與之前輸入的特征圖相乘的方法,輸出得到有權重分布的能夠體現通道重要性的新的特征圖。計算公式為:
Y=Fscale(xc,sc)=xc×sc
(3)
本文結合SE和 SSD算法的優越性,提出改進型的SSD算法,將SE模塊加在SSD算法的每一個預測卷積特征圖之后,使得SSD算法中特征圖的各通道按照對檢測任務重要性的不同進行通道權重分配,權重系數是在訓練過程中經過不斷地迭代學習得到的。在訓練階段,將網絡的預測結果與真實標簽作對比,通過梯度回傳的方式將兩者的偏差反饋到各個變量,權重系數根據反饋的情況自動更新,預測結果逐漸趨于穩定,當結果最佳時權重系數也取得最優值。通過通道權重分配可以增強網絡所提取特征的可分辨性,這樣網絡可以對提取到的重要的圖像特征進行充分學習,即使是殘缺破碎的目標,網絡也能對其保留著的重要的特征進行提取判斷,最終獲得更好的檢測結果。
基于SE的改進型SSD算法結構如圖13所示,其中有六個特征圖用來生成最終的預測框,分別在這些特征圖之后加一個SE模塊,生成有權重分布的卷積特征圖,將該有權分布的多通道特征圖一方面用于最終檢測框的預測,另一方面作為下一級卷積操作的輸入。

圖13 改進型SSD結構框圖
可以看出,將SE與Conv7相結合得到有不同通道權重的卷積特征圖,將這一突出關鍵信息、抑制無關信息的特征圖用于檢測框的預測可以更好地發揮關鍵信息對預測結果的指導作用,從而實現更準確的框體預測和種類判別。同時,將SE與Conv7結合后的卷積特征圖作為下一卷積層的輸入,經過卷積輸出特征圖Conv8,同理,圖13中其他加入SE模塊的詳細結構框圖與圖中下半部分虛線內的框圖類似。在不斷的迭代訓練中,網絡充分學習到大權重所對應通道的關鍵信息,從而獲得更好的檢測效果。
本文搭建網絡模型所使用的框架為Tensorflow框架[15]。使用顯微圖像共2 417幅,其中包含厚壁細胞(812幅)、花粉孢子(622幅)和導管(983幅)三類數據,從中隨機選取1 931(約占總數80%)幅圖片作為訓練集,選取486(約占總數20%)幅圖片作為測試集。
AP可以用來評價訓練得到的模型在各個類別上的表現效果,而mAP可以衡量經過訓練得到的模型在總類別上的表現效果,取所有AP值的平均值即為mAP。本文選取AP和mAP來對改進前后的算法進行評價。
本文將厚壁細胞、花粉孢子和導管三類中藥材粉末顯微特征圖像作為數據集,使用基于SE的改進型SSD算法和原始SSD算法進行對比實驗,訓練過程中預測結果與真實標簽之間的偏差即損失函數值(loss)的變化趨勢如圖14所示。可以看出,基于SE的改進型SSD算法相較原始SSD算法能取得更理想的收斂效果,在訓練前期,原始SSD算法由于相對較小的網絡模型而率先取得較低的loss值,但是隨著訓練時長的增加,改進型SSD算法發揮自身優勢,loss值逐漸低于原始SSD算法的loss值,最終取得較低的loss值,獲得最優解。

圖14 原始SSD算法與改進型SSD算法loss對比圖
使用測試集圖片對原始SSD算法和改進型SSD算法在不同訓練階段保存的網絡模型進行測試,對這兩種算法測試結果的mAP值進行統計,結果如圖15所示,二者mAP值的變化趨勢與二者loss值的變化趨勢大致相反,在訓練初期,原始SSD算法取得較高的mAP值,隨著訓練時長的增加,改進型SSD算法由于模型有著更高的穩定性和優越性,其mAP值逐漸超越原始SSD算法的mAP值。

圖15 原始SSD算法與改進型SSD算法mAP對比圖
對原始SSD算法、改進型SSD算法和其他的一些基于SSD的算法模型進行檢測實驗,實驗得到每一類圖片的AP和總類別的mAP情況如表3所示,由對比結果可知,對每一類圖片來說,本文改進的SSD算法的AP高于原始SSD、DSSD[16]、RFB-SSD[17]和FSSD[18]等算法,對總數據集來說,本文的改進型SSD算法也取得較高的mAP值。用改進型SSD算法進行測試的部分檢測圖如圖16所示。

表3 各類別AP與總類別mAP統計表

(a) 厚壁細胞測試結果

(b) 花粉孢子測試結果

(c) 導管測試結果圖16 改進型 SSD算法測試結果
對測試集圖片中斷裂破碎程度較大的58個目標進行測試對比,結果統計如表4所示。

表4 錯檢漏檢測試結果統計表
由表4中的對比數據可知,相對于原始算法,改進型SSD算法錯檢和漏檢的數量更少,能夠將58個測試目標全部檢測出來。
針對同一檢測目標,對比兩種算法所得的置信度,結果如表5所示,可以看出,改進型SSD算法也表現出較好的有效性。

表5 目標測試置信度結果統計表
從58個斷裂破碎程度較大的目標中選取兩個目標進行詳細的分析說明,結果如圖17所示,其中圖17(a)與圖17(b)分別是使用原始SSD算法與改進型SSD算法對后壁細胞進行測試的結果圖,通過對比發現圖17(a)出現了錯檢的情況,正確檢出的目標置信度為99.5%,而圖17(b)并沒有錯檢問題,正確檢出的目標置信度高達99.9%。同理,圖17(c)與圖17(d)分別是使用原始SSD算法與改進型SSD算法對導管進行測試的結果圖,其中圖17(c)出現漏檢的情況,正確檢出的目標置信度為96.9%,而圖17(d)檢出了圖17(c)漏掉的目標,并且對于正確檢出的目標,圖17(d)有著更高的置信度,高達99%。

(a) 原始SSD對后壁細胞測試 (b) 改進型SSD對后壁細胞測試

(c) 原始SSD對導管測試 (d) 改進型SSD對導管測試圖17 原始SSD算法與改進型SSD算法測試圖
圖17的對比結果說明相對于原始SSD算法,改進型SSD算法對于不完整的斷裂殘缺的圖片具有更好的檢測效果,能更好地解決錯檢、漏檢的問題,并且對于檢測目標能更精確地進行位置預測,從而對目標的檢測結果具有更高的置信度,這也證明了改進型SSD算法具有更好的有效性和魯棒性。
針對中藥材粉末顯微特征圖像存在的目標斷裂殘缺的問題,本文通過多種圖像預處理方法增加了圖像數據的多樣性,同時也為殘缺破碎的不完整目標提供了大量的訓練樣本。本文還提出了一種改進型SSD檢測算法,在SSD網絡的每一個預測卷積特征圖之后添加了SE模塊,通過不斷迭代訓練,網絡學習到各個預測卷積特征圖特征通道的重要程度,并且據此對特征圖的多個通道進行權重的分配,從而使得網絡能對圖像的重要特征進行更加充分的學習,特別是對一些斷裂殘缺圖像保留的重要特征進行充分學習從而對其做出正確的檢測判斷,提升了網絡對殘缺破碎目標的檢測效果。如何找到SE模塊在SSD網絡中的最佳有效添加位置,用更小參數量的模型達到更好的檢測效果將是今后研究的重點工作。