時 旭,李 遠,黃 鴻
(重慶大學(xué) 光電技術(shù)與系統(tǒng)教育部重點實驗室,重慶 400044)
紅細胞、白細胞是人體血細胞的主要組成部分。它們在血液中的數(shù)量與人體的生理狀態(tài)息息相關(guān)。如紅細胞數(shù)量過少會導(dǎo)致貧血,白細胞數(shù)量過少會引發(fā)免疫力缺失[1-3]。血細胞的計數(shù)和分類是病灶臨床檢查的常用方法之一,也是血常規(guī)檢驗的基本內(nèi)容[4]。對血細胞進行分類,有助于血液學(xué)家診斷疾病,如白血病、血液癌癥等[5]。因此,在臨床診斷中,如何對紅、白細胞進行計數(shù)具有十分重要的價值。早期通過顯微鏡計數(shù)以及利用血細胞的電阻率來嘗試血細胞自動計數(shù),但其精度和效率受限。隨著信息技術(shù)的蓬勃發(fā)展,計算機自動計數(shù)以其高效、快速的特點廣泛應(yīng)用于血液細胞分類。
傳統(tǒng)計算機自動計數(shù)方法可分為幾何計數(shù)法和統(tǒng)計計數(shù)法。其中,典型幾何方法包括距離分類器和線性分類器等,但這些方法對具有非線性分布的顯微圖像效果不佳。統(tǒng)計分析法包括參數(shù)估計法、梯度法、貝葉斯準(zhǔn)則法、最大似然法和支持向量機(Support Vector Machine,SVM)等。這些方法在樣本數(shù)較多的情況下具有較好分類能力,但對結(jié)構(gòu)復(fù)雜的數(shù)據(jù)需要先獲取樣本統(tǒng)計分布得到先驗概率和類分布概率密度函數(shù)等,才能取得較好的效果,且SVM方法存在核函數(shù)和參數(shù)選擇問題[6]。
深度神經(jīng)網(wǎng)絡(luò)在圖像分類中的優(yōu)異表現(xiàn)給醫(yī)學(xué)圖像處理帶來巨大機遇。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)尤為突出,其使用局部連接有效提取特征,并通過共享權(quán)值顯著減小參數(shù)量,為在醫(yī)學(xué)圖像分類任務(wù)中奠定了基礎(chǔ)。鄭婷月等[7]將一種多尺度全卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在視網(wǎng)膜血管分割任務(wù)上,在兩個公開眼底數(shù)據(jù)集上均可達到96%左右的準(zhǔn)確率。Raunak等[8]使用雙流神經(jīng)網(wǎng)絡(luò),對肺結(jié)節(jié)CT圖像進行良惡性分類,取得了90.04%的分類精度。Khashman等[9]對比了三種不同的神經(jīng)網(wǎng)絡(luò)方法,在RGB圖像血細胞亞型識別任務(wù)中,取得99.17%的分類效果。
但是,上述方法都是針對傳統(tǒng)顯微光學(xué)圖像,只包含紅、綠、藍三通道信息,不能有效反映血細胞內(nèi)在復(fù)雜的生化性質(zhì)。與此同時,高光譜成像技術(shù)擁有無接觸、非電離、無傷害和光譜信息豐富等優(yōu)點,且具有“圖譜合一”特性。因此,物質(zhì)間的細微差異可更好地由其連續(xù)的光譜曲線表達,在醫(yī)學(xué)圖像處理領(lǐng)域,被用于腦癌[10]、乳腺癌[11]、舌癌[12]檢測 等,并取得了較好效果。Huang等[13]提出一種調(diào)Gabor濾波卷積神經(jīng)網(wǎng)絡(luò)(MGCNN)模型,將調(diào)制Gabor濾波與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,取得了比傳統(tǒng)神經(jīng)網(wǎng)絡(luò)更好的血細胞分類結(jié)果。Wei等[14]開發(fā)了一種雙通道CNN,將典型CNN特征和EtoE-Net特征相融合,取得了更好的分類表現(xiàn)。然而這些方法訓(xùn)練時間較長,在實際應(yīng)用中對硬件條件要求頗高。此外,上述模型需要較多數(shù)量的標(biāo)記樣本以保證模型分類性能,且高光譜醫(yī)學(xué)圖像標(biāo)記需要大量人工成本。
基于此,本文提出了一種空-譜可分離卷積神經(jīng)網(wǎng)絡(luò)(Spatial-Spectral Separable Convolution Neural Network,S3CNN),該網(wǎng)絡(luò)通過有效利用高光譜圖像中的空間-光譜特征信息來提升分類效果,并利用可分離卷積結(jié)構(gòu)對模型復(fù)雜度進行優(yōu)化,減少訓(xùn)練時間。S3CNN主要思路是利用空-譜聯(lián)合距離(spatial-spectral combined distance,SSCD)得到訓(xùn)練集中各像素點的空-譜近鄰,并對這些近鄰點賦予與相應(yīng)中心像素點相同的標(biāo)簽,進行樣本擴充,然后用可分離卷積優(yōu)化經(jīng)典卷積,減少訓(xùn)練時間。在Bloodcells1-3和Bloodcells2-2高光譜數(shù)據(jù)集上的實驗結(jié)果表明,本文方法能夠有效改善高光譜顯微圖像的細胞分類性能,且在模型訓(xùn)練時間上具有優(yōu)勢。
為表述方便,文中高光譜醫(yī)學(xué)數(shù)據(jù)集表示為X={x1,x2,…,xN}∈RN×b,其中N為樣本數(shù),b為波段數(shù),li∈{1,2,…,c}為標(biāo)簽,c為類別數(shù)。
本文所提出空-譜可分離卷積神經(jīng)網(wǎng)絡(luò)的算法流程圖如圖1所示,其主要包括空-譜聯(lián)合訓(xùn)練集構(gòu)建和可分離卷積神經(jīng)網(wǎng)絡(luò),下面對其進行一一介紹。
圖1 空-譜可分離卷積神經(jīng)網(wǎng)絡(luò)流程圖Fig.1 Flow chart of spatial-spectral separable convolution neural network
在高光譜血細胞圖像中,各個像素在空間分布上具有一定的相關(guān)性[15-16],在同一個空間鄰域內(nèi)的像素點通常屬于同一類別[17-20]。基于此,本文利用鄰域空間像素中的空-譜聯(lián)合信息來衡量像素間的相似性,并提出一種空-譜聯(lián)合距離(SSCD)來更好地選擇空-譜近鄰點,以擴充訓(xùn)練樣本,具體如圖2所示。
圖2 計算空-譜聯(lián)合距離過程Fig.2 Process of calculating the spatial-spectral combined distance
對于血細胞高光譜顯微圖像中的像素點xi和xj,Ω(xi)和Ω(xj)分別為xi和xj的近鄰空間,空-譜聯(lián)合距離SSCD可以定義為:
其中,d(Ω(xi),xj)為xj和近鄰空間Ω(xi)之間的距離,它可以表示為:
式中vis是xis的權(quán)重,可通過核函數(shù)來計算:
其中,σj為‖xj-xis‖的均值,可定義為:
對于有標(biāo)簽的高光譜圖像數(shù)據(jù),在其周圍r×r的方形鄰域內(nèi)根據(jù)空-譜聯(lián)合距離選擇離其最近的k個像素點,可認為它們與中心像素的標(biāo)簽相同,擴充到訓(xùn)練樣本集,通過利用少量標(biāo)記樣本和一定數(shù)量近鄰樣本進行深度神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練。
通過空-譜近鄰得到空-譜近鄰樣本訓(xùn)練集后,如何高效的進行訓(xùn)練是一個關(guān)鍵問題。神經(jīng)網(wǎng)絡(luò)大多是由不同尺度的卷積核堆疊而成,伴隨著模型精度的不斷提高,神經(jīng)網(wǎng)絡(luò)的深度和模型參數(shù)量也在不斷增加[21]。然而,過多的參數(shù)給模型的訓(xùn)練帶來極大的挑戰(zhàn)。
可分離卷積是解決這一問題的有效方法[22],如圖3(b)所示。其主要思想是將標(biāo)準(zhǔn)卷積轉(zhuǎn)化為一個深度卷積和一個1×1的點卷積。在正向傳播過程中,可分離卷積首先在每個圖像通道上進行二維卷積,其次對輸出的特征圖進行點卷積。
圖3 標(biāo)準(zhǔn)卷積與可分離卷積結(jié)構(gòu)對比Fig.3 Comparison of standard convolution and separable convolution
在可分離卷積提取特征后,采用平均池化操作以有效降低空間維度,減少計算量。然后采用Group Normalization(GN)歸一化,最后采用如下形式的ReLU激活函數(shù):
ReLU激活函數(shù)有單側(cè)抑制的作用,使得模型在訓(xùn)練過程中的梯度值和收斂狀態(tài)處于穩(wěn)定,有助于解決梯度消失的問題。經(jīng)計算得,最終網(wǎng)絡(luò)模型參數(shù)量params約32M,計算量flops約0.047 G。
本文算法主要通過兩個不同場景下的高光譜血細胞數(shù)據(jù)集Bloodcells1-3和Bloodcells2-2進行實驗驗證。該數(shù)據(jù)由顯微鏡和硅電荷耦合器件(CCD)組成VariSpec液晶可調(diào)諧濾波器收集,波長范圍為400~720 nm,共包含33個波段,其中Bloodcells1-3數(shù)據(jù)集像素大小為973×699,Bloodcells2-2數(shù)據(jù)集像素大小為462×451。圖4(a)為兩個數(shù)據(jù)集第10個波段的圖像,圖4(b)為兩個數(shù)據(jù)集的真值圖。在真值圖中,紅色代表白細胞,藍色代表紅細胞,綠色代表背景。
圖4 高光譜顯微圖像Fig.4 Hyperspectral microscopy image
實驗的硬件環(huán)境采用PANYAO 7048G服務(wù)器,其搭載6張TITAN RTX以及256G內(nèi)存;軟件環(huán)境是基于Ubuntu 18.04系統(tǒng)的Py Torch深度學(xué)習(xí)框架(PyTorch 1.6版本),編程語言為Python 3.7。
在實驗中,首先按波段對高光譜血細胞數(shù)據(jù)進行歸一化處理。在每次實驗中,高光譜血細胞數(shù)據(jù)集被隨機劃分為訓(xùn)練樣本和測試樣本,利用訓(xùn)練數(shù)據(jù)得到空-譜聯(lián)合訓(xùn)練集后,將其送入可分離卷積網(wǎng)絡(luò)進行訓(xùn)練。訓(xùn)練過程中,優(yōu)化器為Adam,batchsize為1 000,初始學(xué)習(xí)率設(shè)置為0.001。采取“Early Stopping”策略終止訓(xùn)練,即在訓(xùn)練集上若連續(xù)10個epoch損失函數(shù)的值都不減小就自動停止訓(xùn)練。訓(xùn)練結(jié)束后,將測試集送入網(wǎng)絡(luò)以評估模型。對于分類結(jié)果,采用總體分類精度(Overall Accuracy,OA)系數(shù)進行評價。為了保證實驗結(jié)果的可靠性,每種條件下的實驗均重復(fù)進行10次,并取10次結(jié)果的平均值作為最終實驗結(jié)果。
為了證明本文方法在高光譜顯微圖像分類上有效性,實驗中選取Nearest Neighbor(1-NN)、SVM、1D CNN、2DCNN、3D CNN、Separable Convolution Network(SCN)作為對比方法。其中,1D、2D、3D分別代表卷積方式,SVM核函數(shù)采用徑向基函數(shù)(Radial Basis Function,RBF)。
為研究窗口大小r和近鄰數(shù)k對算法性能的影響,首先選擇Bloodcells1-3數(shù)據(jù)集進行實驗。在紅細胞、白細胞、背景三個類別中,每類隨機選取40個樣本用于訓(xùn)練,2 000個樣本用于測試。窗口大小r的取值范圍為{1,3,5,7,9,11,15},空-譜近鄰數(shù)k的取值范圍為{2,4,6,8,10,14,18,20}。圖5為算法在不同窗口大小和空-譜近鄰數(shù)下的分類精度。
由圖5可知,分類精度隨著窗口r的增大先有所提升后下降,這是由于當(dāng)空間窗口包含了更多的空間近鄰時,可利用的空間信息更加豐富,因而能夠更好地區(qū)分紅、白血細胞以及背景,提高分類精度。同時,近鄰數(shù)k增加會選擇更多無標(biāo)記空-譜近鄰樣本參與訓(xùn)練,提高分類性能,但k過大時導(dǎo)致近鄰點中可能包含較多來自于其他類別的像素點,進而影響模型訓(xùn)練效果。基于上述因素,本文選取k=10,r=9。
圖5 Bloodcells1-3數(shù)據(jù)集中S3CNN在不同r和k下的分類結(jié)果Fig.5 Classification results of S3 CNN with different r and k on Bloodcells1-3 dataset.
為評估不同算法在不同數(shù)目訓(xùn)練樣本下的分類性能,從Bloodcells1-3數(shù)據(jù)集中的每類中分別隨機選取5、10、20、40、60、80個樣本用于訓(xùn)練,選取2 000個樣本作為測試,實驗結(jié)果如表1所示。
表1 Bloodcells1-3數(shù)據(jù)集上不同算法的分類結(jié)果(總體分類精度±標(biāo)準(zhǔn)差)Tab.1 Classification results of different algorithms on Bloodcells1-3 dataset(overall accuracy±STD) (%)
由表1可知,對于每種分類算法,隨著訓(xùn)練樣本數(shù)量的增加,其分類精度隨之提升。這是由于更多的訓(xùn)練樣本包含了更豐富的先驗信息,更有利于模型提取信息。相比1-NN、SVM等傳統(tǒng)方法,所有的深度學(xué)習(xí)方法都取得了更好的分類結(jié)果,這是因為深度學(xué)習(xí)方法可以更好提取高光譜數(shù)據(jù)高層特征,有利于分類。在CNN方法中,3DCNN方法的分類性能要優(yōu)于1DCNN和2DCNN方法,這是因1DCNN只提取光譜特征,而2DCNN提取空間特征但未能充分利用光譜信息,而3DCNN同時利用利用光譜-空間信息,因此分類性能更好。本文提出的S3CNN在多數(shù)訓(xùn)練情況下都取得了最好的分類結(jié)果,僅在訓(xùn)練樣本為60時精度略低于3DCNN約0.001 1,這是因為該網(wǎng)絡(luò)通過利用空-譜聯(lián)合距離選擇近鄰點參與訓(xùn)練,從而有更多的訓(xùn)練樣本參與模型訓(xùn)練,可更好的表征不同血液細胞的高層特征,提高模型的魯棒性,提升了模型分類效果。
圖6為各算法的分類結(jié)果圖。由圖可知,本文算法的分類結(jié)果圖更加平滑,因為相比其他算法,該算法能夠更好提取不同血液細胞的空-譜信息,具有更好的分類性能。
圖6 各算法在Bloodcells1-3數(shù)據(jù)集上的分類結(jié)果圖Fig.6 Classification maps for different methods on Bloodcells1-3 dataset.
為比較S3CNN與3DCNN的差異性,論文引入McNemar統(tǒng)計檢驗。McNemar檢驗是一種基于統(tǒng)計學(xué)原理的顯著性評價方法[23],算法1以及用于比較的算法2的檢驗統(tǒng)計量可定義為:其中,f12表示被算法2分錯而被算法1正確分類的樣本數(shù),f21表示被算法1分錯而被算法2分對的樣本數(shù)。一般設(shè)置顯著性閾值為0.05,Z大于該值時表示算法1優(yōu)于算法2的性能,且當(dāng)Z大于2.58和1.96時,分別表示兩種算法在99%和95%置信水平下具有統(tǒng)計顯著性。對于S3CNN與3DCNN兩種算法,計算得Z值為6.68,表明兩種算法在統(tǒng)計學(xué)意義下具有顯著差異性。
實驗中,分別從Bloodcells2-2數(shù)據(jù)集每類中隨機選取200個樣本用于訓(xùn)練,2000個樣本用于測試。對窗口大小r和空-譜近鄰數(shù)k進行實驗,其取值范圍與Bloodcells1-3參數(shù)實驗一致。由圖7的實驗結(jié)果可知,其結(jié)果與圖5相似,S3CNN方法的分類精度隨著r和k增加而增加,而后逐漸穩(wěn)定,綜合考慮分類精度以及算法的運行效率,k設(shè)置為10,r值取7。
圖7 Bloodcells2-2數(shù)據(jù)集中S3CNN在不同r和k下分類結(jié)果Fig.7 Classification result of S3CNN with different r and k on Bloodcells2-2 dataset.
為評估不同數(shù)目訓(xùn)練樣本下不同算法的分類性能,從Bloodcells2-2數(shù)據(jù)集中的每類中分別隨機選取5、10、20、40、60、80個樣本用于訓(xùn)練,選取2000個樣本作為測試,實驗結(jié)果如表2所示。
從表2可以看出,對于每種分類算法,其分類精度隨著訓(xùn)練樣本個數(shù)的增加而遞增。與此同時,本文算法始終取得了最好的分類效果。在標(biāo)記樣本數(shù)較小時,S3CNN比其他對比方法分類優(yōu)勢更明顯。這是由于1DCNN、2DCNN、3DCNN在訓(xùn)練樣本不足時,模型訓(xùn)練效果受限,導(dǎo)致分類效果不理想,而S3CNN充分利用高光譜圖像的空間一致性原則,有效選取標(biāo)記樣本點的無標(biāo)記空-譜近鄰樣本,大大擴充了訓(xùn)練樣本,可以滿足網(wǎng)絡(luò)模型對于訓(xùn)練樣本的需求,從而可更好的提取不同血液細胞的高層特征,取得更高的分類精度。
表2 Bloodcells2-2數(shù)據(jù)集上不同算法的分類結(jié)果(總體分類精度±標(biāo)準(zhǔn)差)Tab.2 Classification results of different algorithms on Bloodcells2-2 dataset(overall accuracy±STD) (%)
圖8為各算法的分類結(jié)果圖。由圖可知,各算法中S3CNN效果更好,這是因為S3CNN有效地重構(gòu)了訓(xùn)練樣本的空-譜近鄰點,充分挖掘了空-譜信息,因此整體準(zhǔn)確率更高,具有更好的分類效果。
圖8 各算法在Bloodcells2-2數(shù)據(jù)集上的分類結(jié)果圖Fig.8 Classification maps for different methods on Bloodcells2-2 dataset.
為了探究S3CNN算法的時間復(fù)雜度,在Bloodcells2-2數(shù)據(jù)集上對所采用的可分離卷積與經(jīng)典卷積算法進行訓(xùn)練時間對比實驗。實驗中選取6 000個樣本點進行訓(xùn)練,訓(xùn)練時間結(jié)果如表3所示。
由表3可知,可分離卷積模型和經(jīng)典卷積相比,可分離卷積模型減少27%訓(xùn)練時間,這是因為可分離卷積使用了一個深度卷積和一個點卷積優(yōu)化經(jīng)典卷積,使得參數(shù)減少,降低了模型復(fù)雜度,更有利于實際應(yīng)用。
表3 不同卷積方式的訓(xùn)練時間對比Tab.3 Comparison of training time of different convolution methods on Bloodcells2-2 dataset (min)
在高光譜血細胞分類計數(shù)任務(wù)中,傳統(tǒng)深度學(xué)習(xí)方法需要大量不易獲取的標(biāo)記數(shù)據(jù),也未考慮高光譜圖像內(nèi)部空間結(jié)構(gòu),對高光譜像素特征提取不夠充分。本文基于可分離卷積方法和空間一致性原則,提出一種空-譜可分離卷積神經(jīng)網(wǎng)絡(luò)(S3CNN)。該方法能有效提取高光譜圖像中的空間-光譜信息,通過空-譜聯(lián)合距離選擇各像素點的空-譜近鄰,并對這些近鄰點賦予中心像素點相同的標(biāo)簽作為訓(xùn)練集的擴充。此外,考慮到傳統(tǒng)深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù)量巨大、對運算硬件要求頗高,采用可分離卷積代替經(jīng)典卷積,通過降低卷積核參數(shù)數(shù)量,優(yōu)化模型的訓(xùn)練時間。在Bloodcells1-3和Bloodcells2-2高光譜數(shù)據(jù)集上的實驗結(jié)果表明,本文算法可有效挖掘高光譜血細胞顯微圖像中各類成分的內(nèi)蘊空-譜信息,改善了分類性能,同時減少了訓(xùn)練時間。然而,S3CNN只考慮高光譜圖像局部空-譜聯(lián)合信息,未能有效探索高光譜圖像非線性復(fù)雜結(jié)構(gòu)。因此下一步研究工作考慮將圖卷積神經(jīng)網(wǎng)絡(luò)用于高光譜血細胞圖像分類上,構(gòu)建空-譜聯(lián)合圖神經(jīng)網(wǎng)絡(luò)模型,以進一步提升分類效果。