顧軍華,王 鋒,戚永軍,孫哲然,田澤培,張亞娟
(1.電工設(shè)備可靠性與智能化國(guó)家重點(diǎn)實(shí)驗(yàn)室(河北工業(yè)大學(xué)),天津300401;2.河北省大數(shù)據(jù)計(jì)算重點(diǎn)實(shí)驗(yàn)室(河北工業(yè)大學(xué)),天津300401;3.河北工業(yè)大學(xué)人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津300401;4.北華航天工業(yè)學(xué)院信息技術(shù)中心,河北廊坊065000)
肺癌作為全球發(fā)病率和死亡率最高的癌癥[1],正在嚴(yán)重威脅著人類的健康,能夠在肺癌早期發(fā)現(xiàn)并診斷肺結(jié)節(jié)對(duì)于肺癌的治療乃至治愈都能起到至關(guān)重要的作用。低劑量螺旋CT 掃描是早期發(fā)現(xiàn)肺癌的有效手段,一項(xiàng)對(duì)于55~74 歲的重度吸煙人群的篩查研究表明,接受低劑量CT掃描篩查人群的肺癌死亡率較接受X 線平片掃描篩查人群的肺癌死亡率低20%[2]。我國(guó)醫(yī)學(xué)圖像調(diào)查顯示,放射科醫(yī)生的數(shù)量增長(zhǎng)遠(yuǎn)不及圖像增長(zhǎng),因此,放射科醫(yī)生工作壓力巨大,并且在長(zhǎng)時(shí)間的CT圖像診斷過程中容易出現(xiàn)效率低、主觀性大以及因生理疲勞出現(xiàn)的漏診、誤診等問題?;趦?nèi)容的圖像檢索(Content Based Image Retrieval,CBIR)為上述問題提出了決策支持,其過程主要分為特征提取模型構(gòu)建、圖像特征提取、相似度計(jì)算和相似度排序四個(gè)過程,最終返回相似度最高的檢索結(jié)果。醫(yī)務(wù)工作者通過檢索可疑結(jié)節(jié),并對(duì)檢索結(jié)果進(jìn)行分析,給出輔助診斷的意見,從而降低誤診率。
圖像的特征提取是影響圖像檢索準(zhǔn)確率的重要因素,而肺結(jié)節(jié)圖像特征難以提取的主要原因是其大小不一的外在形態(tài),如圖1所示。近20年來(lái),無(wú)數(shù)研究者為肺結(jié)節(jié)的圖像特征提取方法付出了巨大努力:2000 年,Schnorrenberg 等[3]在活檢分析支持系統(tǒng)中增加了圖像檢索功能,能檢索活檢切片圖像,并利用包含57 個(gè)乳腺癌病例的數(shù)據(jù)進(jìn)行了評(píng)估;Song 等[4]融合方向梯度直方圖(Histogram of Oriented Gradients,HOG)[5]和局部二值模式(Local Binary Pattern,LBP)[5]特征發(fā)現(xiàn)肺部病變;2009年,Zhi等[6]采用尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[7]特征對(duì)醫(yī)學(xué)圖像進(jìn)行特征提取,進(jìn)而進(jìn)行圖像檢索。近年來(lái),由于深度學(xué)習(xí)方法的廣泛研究使得計(jì)算機(jī)視覺領(lǐng)域各研究方向取得了長(zhǎng)足進(jìn)步,使用深度學(xué)習(xí)方法提取特征進(jìn)行檢索使得檢索精度大大提高。2017 年,Ibanez 等[8]等 采 用 卷 積 神 經(jīng) 網(wǎng) 絡(luò)(Convolutional Neural Network,CNN)的特征提取方法,使用相對(duì)淺層的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行肺結(jié)節(jié)特征提取,并取得了69.22%的準(zhǔn)確率;2018 年,Nishio 等[9]使用加入遷移學(xué)習(xí)方法的VGG[10]網(wǎng)絡(luò)模型完成肺結(jié)節(jié)特征提取再進(jìn)行分類;2018 年,Zhang 等[11]通過使用殘差塊堆疊的網(wǎng)絡(luò)模型對(duì)提取的特征進(jìn)行特征融合的方法提取肺結(jié)節(jié)圖像特征,但是其準(zhǔn)確率仍然不能滿足現(xiàn)實(shí)需求。
圖1 不同尺寸的肺結(jié)節(jié)Fig.1 Pulmonary nodules of different sizes
針對(duì)肺結(jié)節(jié)高級(jí)語(yǔ)義特征難以提取、檢索精度低的問題,本文提出了一種基于卷積特征融合的網(wǎng)絡(luò)模型LMSCRnet 用于提取肺結(jié)節(jié)圖像特征。由于肺結(jié)節(jié)尺寸大小不一,傳統(tǒng)的串行單一尺寸卷積濾波器在對(duì)肺結(jié)節(jié)圖像進(jìn)行特征提取時(shí)效果不佳,因此本文采用多種尺度的卷積濾波器對(duì)肺結(jié)節(jié)圖像同時(shí)卷積再進(jìn)行特征融合的方法以獲得完整的圖像語(yǔ)義信息;隨著網(wǎng)絡(luò)層次的加深,能夠獲得更高級(jí)的語(yǔ)義特征,但是同時(shí)會(huì)伴隨出現(xiàn)網(wǎng)絡(luò)退化現(xiàn)象,為此,本文引入了SE-ResNeXt 塊很好地解決了上述問題。最后,為滿足現(xiàn)實(shí)對(duì)于在海量數(shù)據(jù)中完成檢索任務(wù)的需求,本文將距離計(jì)算、排序過程部署到分布式平臺(tái)上。
圖像的特征提取對(duì)于提升圖像檢索的準(zhǔn)確率至關(guān)重要,最大限度保留圖像的信息是保障圖像檢索準(zhǔn)確率的重要前提。針對(duì)肺結(jié)節(jié)尺寸大小不一的特性,本文提出了一種多尺度卷積特征融合的深度網(wǎng)絡(luò)模型LMSCRnet 用于提取肺結(jié)節(jié)圖像特征。網(wǎng)絡(luò)模型總體結(jié)構(gòu)如圖2所示,其中:Conv代表卷積層,Concatenate 代表圖像特征拼接操作,Avg-pooling 代表池化層。
肺結(jié)節(jié)大小范圍為4~64,具有尺度多樣的特點(diǎn),針對(duì)這一特點(diǎn),將輸入的圖像同時(shí)通過4 種不同尺寸的卷積核,大小依次為1×1、3×3、5×5、7×7,步長(zhǎng)設(shè)為2,經(jīng)過卷積之后,將得到的圖像特征圖通過Concatenate 操作進(jìn)行特征融合。相對(duì)于傳統(tǒng)的串行網(wǎng)絡(luò)模型,本文提出的多尺度卷積、特征拼接方法可以從肺結(jié)節(jié)圖像中更好地提取復(fù)雜特征,保證了特征的全面性、多樣性。進(jìn)行Concatenate 操作之后,選用深度為64、尺寸為3×3的卷積核進(jìn)行卷積,步長(zhǎng)設(shè)為1。在卷積層之后,為了提取更深層的特征,采用了3個(gè)SE-ResNeXt[12]塊進(jìn)行堆疊。為了充分利用全局空間和高度緊湊的特征以達(dá)到提高結(jié)節(jié)識(shí)別和分類性能的目的,將最后一個(gè)SE-ResNeXt 塊和平均池化層的輸入端連接起來(lái)。在池化層之后,將特征進(jìn)行扁平化處理,然后再使用一個(gè)全連接層將所有的局部卷積特征連接成一個(gè)全局特征。softmax 激活函數(shù)可以將多個(gè)神經(jīng)元的輸出映射到(0,1)區(qū)間內(nèi),表示結(jié)節(jié)屬于某一類的概率,從而得到分類的結(jié)果。函數(shù)定義為式(1),其中j=1,2,…,K,K為softmax 層輸入輸出元素個(gè)數(shù),zj為輸入向量的第j 個(gè)元素值,σ(z )j代表通過softmax層后對(duì)應(yīng)位置的值。
為了在網(wǎng)絡(luò)退化較小的前提下盡可能地加深網(wǎng)絡(luò)以便學(xué)習(xí)更高級(jí)的特征,在網(wǎng)絡(luò)中加入了3 個(gè)SE-ResNeXt Block,每個(gè)塊的輸出通道數(shù)分別設(shè)置為64、125 和256,每個(gè)SEResNeXt Block 由3 個(gè)單位塊串聯(lián)而成,單位塊結(jié)構(gòu)如圖3(a)所示:Global avgpooling 代表全局池化,F(xiàn)C 代表全連接層,ReLU 代 表ReLU 激 活 函 數(shù),Sigmoid 代 表Sigmoid 激 活 函 數(shù),Scale 代表通道權(quán)重與通道特征之間的乘法加權(quán)。SEResNeXt 是在ResNeXt 的基礎(chǔ)之上加入了SEnet[12]的思想,考慮特征通道之間的關(guān)聯(lián),能夠有效地在增加不多的計(jì)算量的基礎(chǔ)之上提取更多的圖像特征。ResNeXt[13]是基于Resnet[14]與Inception[15]的產(chǎn)物,結(jié)構(gòu)簡(jiǎn)單、易懂又足夠強(qiáng)大,所傳遞的信息也不會(huì)因?yàn)閷訑?shù)的增加而有太多丟失,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3(b)所示,n 代表n 通道輸入輸出,layer 以(輸入通道,卷積核尺寸,輸出通道)的形式表述。
本文通過使用多尺度卷積核進(jìn)行卷積,在面對(duì)大小尺度不一的肺結(jié)節(jié)圖像時(shí)能夠更好地提取圖像特征,同時(shí)SEResNeXt 塊的引入使得加深網(wǎng)絡(luò)模型學(xué)習(xí)高級(jí)特征的同時(shí),網(wǎng)絡(luò)退化較小,顯著提高了網(wǎng)絡(luò)的性能。
為了確定網(wǎng)絡(luò)中哪一層對(duì)圖像進(jìn)行特征表示能夠最大限度完整地保留圖像信息以進(jìn)行圖像檢索,使用網(wǎng)絡(luò)中的相關(guān)層提取的特征進(jìn)行檢索實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果顯示,使用全局平均池化層提取的特征作為圖像的特征表示進(jìn)行檢索的準(zhǔn)確率最高。
隨著肺部圖像數(shù)據(jù)的日益增長(zhǎng),為滿足海量肺結(jié)節(jié)圖像數(shù)據(jù)檢索需求,本文將相似度匹配過程部署到Spark分布式平臺(tái)[16]上。相對(duì)于Hadoop 平臺(tái)[17],基于內(nèi)存的Spark 分布式并行計(jì)算平臺(tái)在繼承了Hadoop 平臺(tái)優(yōu)點(diǎn)的同時(shí),由于其在運(yùn)算時(shí)的中間結(jié)果存儲(chǔ)在內(nèi)存中,在處理迭代問題時(shí)擁有更高的性能,處理能力更強(qiáng)。因此,基于Spark分布式計(jì)算平臺(tái),將圖像檢索的相似度計(jì)算、排序過程并行設(shè)計(jì),建立了并行檢索模式。
圖2 總體網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Overall network structure
圖3 SE-ResNeXt和ResNeXt的結(jié)構(gòu)Fig.3 Structures of SE-ResNeXt and ResNeXt
本文的檢索方法在Spark 上的并行實(shí)現(xiàn)主要分為五個(gè)步驟:1)將圖像庫(kù)通過訓(xùn)練好的網(wǎng)絡(luò)模型形成相應(yīng)的圖像特征庫(kù),并存儲(chǔ)到Hadoop 分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)[18]中;2)從HDFS 上讀取特征庫(kù)數(shù)據(jù),并將數(shù)據(jù)劃分到不同的分區(qū)中;3)對(duì)分區(qū)上的特征數(shù)據(jù)與待檢圖像特征進(jìn)行相似度計(jì)算;4)對(duì)分區(qū)度量結(jié)果進(jìn)行升序排序計(jì)算;5)合并所有分區(qū)排序結(jié)果,生成特征庫(kù)中圖像根據(jù)與待檢圖像的相似度作為排序依據(jù)的有序序列。算法并行實(shí)現(xiàn)過程如圖4所示。
歐氏距離作為一種圖像檢索領(lǐng)域常用的相似度度量方法,以其簡(jiǎn)單的計(jì)算、易于理解的物理意義等優(yōu)點(diǎn)在圖像檢索領(lǐng)域被廣泛使用。本文使用歐氏距離作為兩個(gè)特征之間的相似度度量方法,取值越小表明兩個(gè)特征表示的兩張肺結(jié)節(jié)圖像的相似度越高。歐氏距離定義如式(2)所示:
其中:Qi代表待檢目標(biāo)圖像特征的第i 個(gè)分量,Pi代表圖像特征庫(kù)中單張圖像特征的第i個(gè)分量。
圖4 本文算法并行實(shí)現(xiàn)過程Fig.4 Parallel implementation process of the proposed algorithm
具有大規(guī)模標(biāo)注信息的數(shù)據(jù)集對(duì)于模型的學(xué)習(xí)和推廣至關(guān)重要[19],如COCO[20]、ImageNet[21]等。LIDC-IDRI 數(shù)據(jù)集[22]是由美國(guó)國(guó)家癌癥研究所發(fā)起收集的,是目前應(yīng)用最多的肺部CT 圖像數(shù)據(jù)集。該數(shù)據(jù)集中共收錄了1 018 個(gè)實(shí)例,244 527 張肺部切片圖像,數(shù)據(jù)集大小為124 GB,對(duì)于每個(gè)研究實(shí)例都由4 位經(jīng)驗(yàn)豐富的醫(yī)生進(jìn)行標(biāo)注。但是相對(duì)于肺結(jié)節(jié)大小,肺實(shí)質(zhì)占據(jù)整張圖像的大部分面積,對(duì)于整張肺部切片圖像來(lái)說有研究?jī)r(jià)值的部分比較小。因此,對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,根據(jù)數(shù)據(jù)集的標(biāo)注信息將肺結(jié)節(jié)圖像提取出來(lái),只保留有研究?jī)r(jià)值的部分。
數(shù)據(jù)集中最大的結(jié)節(jié)大小為63 個(gè)像素,所以提取肺結(jié)節(jié)圖像尺寸定為64×64。在提取肺結(jié)節(jié)圖像之后,以數(shù)據(jù)集標(biāo)注信息中的良惡性等級(jí)標(biāo)簽為標(biāo)準(zhǔn)將圖像分為五類,標(biāo)簽信息為1~5。分類之后出現(xiàn)類間數(shù)據(jù)量不平衡的情況,采用旋轉(zhuǎn)、增加高斯、椒鹽噪聲的方式生成更多的肺結(jié)節(jié)圖像,以在解決類間不平衡問題的同時(shí)避免網(wǎng)絡(luò)模型過擬合,旋轉(zhuǎn)角度為θ ∈[-10°,10°]。
最后,本文采用的數(shù)據(jù)集類別為5 類,每類3 277 張,共計(jì)16 385 張。在訓(xùn)練網(wǎng)絡(luò)模型時(shí)取每類的2 950 張(共計(jì)14 750張)作為訓(xùn)練集,剩余的每類327 張(共計(jì)1 635 張)作為測(cè)試集;在測(cè)試檢索性能時(shí)將訓(xùn)練集作為圖像庫(kù),測(cè)試集的每張圖像作為待檢目標(biāo)圖像;在驗(yàn)證是否能夠處理海量圖像檢索任務(wù)時(shí)從每類中隨機(jī)抽取5 000張、10 000張、15 000張作為圖像庫(kù),在剩余圖像中隨機(jī)抽取一張作為待檢目標(biāo)圖像。
本文實(shí)驗(yàn)分為線上和線下部分,線下部分完成特征提取及索引,線上部分完成圖像檢索。線下部分實(shí)驗(yàn)操作系統(tǒng)為Ubuntu 16.04,GPU 為Nvidia Quadro P5000,GPU 顯存32 GB,內(nèi)存256 GB;線上部分為Spark 計(jì)算機(jī)集群,集群為Spark2.0.0,集群環(huán)境包含6 個(gè)節(jié)點(diǎn),其中1 個(gè)Master 節(jié)點(diǎn),5個(gè)Worker 節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)的配置相同,且處在同一個(gè)局域網(wǎng)內(nèi),操作系統(tǒng)為CentOs 6.5,CPU 為E5-2620 v4,核心頻率2.10 GHz,節(jié)點(diǎn)內(nèi)存32 GB。
在對(duì)模型進(jìn)行訓(xùn)練過程中,將初始學(xué)習(xí)率設(shè)置為0.1,衰減率設(shè)為5×10-4,batch_size 設(shè)為32,損失函數(shù)使用交叉熵。為了防止出現(xiàn)過擬合現(xiàn)象,使用了L2 正則化和dropout[23],dropout 率設(shè)為0.5,dropout 的機(jī)制使模型訓(xùn)練時(shí)隨機(jī)讓網(wǎng)絡(luò)某些隱含層神經(jīng)元的權(quán)重不工作,不工作的那些節(jié)點(diǎn)可以暫時(shí)認(rèn)為不是網(wǎng)絡(luò)結(jié)構(gòu)的一部分,但是它的權(quán)重需保留下來(lái)暫時(shí)不更新,到下次樣本輸入時(shí)可能再次工作。選擇Momentum優(yōu)化器對(duì)模型進(jìn)行優(yōu)化,同時(shí)加入了Batch Normalization[24],有效地解決了梯度消失問題。epoch 設(shè)為500,在153 個(gè)epoch之后達(dá)到最優(yōu)解。在模型訓(xùn)練完成之后使用測(cè)試集對(duì)網(wǎng)絡(luò)進(jìn)行驗(yàn)證,測(cè)試模型在分類能力上的表現(xiàn)。然后按照第1 章所述方法進(jìn)行檢索實(shí)驗(yàn),同時(shí)計(jì)算檢索平均準(zhǔn)確率。
2.4.1 肺結(jié)節(jié)分類
肺結(jié)節(jié)圖像分類效果的好壞直接影響肺結(jié)節(jié)圖像的檢索結(jié)果,因此使用LMSCRnet 對(duì)肺結(jié)節(jié)分類,查看模型在分類上的表現(xiàn)。本文將提出的網(wǎng)絡(luò)模型與傳統(tǒng)機(jī)器學(xué)習(xí)方法SIFT、深度學(xué)習(xí)方法VGG網(wǎng)絡(luò)模型、文獻(xiàn)[8]提出的CNN方法、文獻(xiàn)[11]提出的基于殘差塊的網(wǎng)絡(luò)模型以及改進(jìn)之前的SEResNeXt 網(wǎng)絡(luò)模型進(jìn)行了對(duì)比實(shí)驗(yàn)。采用準(zhǔn)確率作為評(píng)價(jià)指標(biāo),如式(3)所示,其中:P為正確分類樣本數(shù)量,N為錯(cuò)誤分類樣本數(shù)量,P+N代表樣本總數(shù)。
將文獻(xiàn)[8]所提方法記為CNNs,文獻(xiàn)[9]所提方法記為M_resnet,表1中的實(shí)驗(yàn)結(jié)果顯示本文提出的特征提取模型在分類上的表現(xiàn)準(zhǔn)確率為86.78%,高于其他對(duì)比方法。這說明本文提出的特征提取模型能夠更好地提取圖像高級(jí)語(yǔ)義信息、完成圖像分類。
表1 肺結(jié)節(jié)分類實(shí)驗(yàn)結(jié)果 單位:%Tab.1 Experimental results on pulmonary nodule classification unit:%
2.4.2 特征選擇對(duì)于檢索結(jié)果的影響
為了確定使用網(wǎng)絡(luò)中的哪一層提取的圖像作為圖像的特征表示才能獲得最好的檢索效果,將3 個(gè)SE-ResNeXt 塊提取的特征和全局平均池化層提取的特征進(jìn)行檢索實(shí)驗(yàn),并計(jì)算其檢索查準(zhǔn)率。查準(zhǔn)率計(jì)算公式如式(4)所示,其中:Nm為返回正確的圖像結(jié)果個(gè)數(shù),K為返回檢索結(jié)果總數(shù)。
實(shí)驗(yàn)結(jié)果如圖4 所示,橫軸代表網(wǎng)絡(luò)層名稱,縱軸為查準(zhǔn)率,全局池化層的查準(zhǔn)率相較于其他三層最高,能夠最好地提取圖像特征。因此,采用全局池化層對(duì)圖像進(jìn)行特征提取。
圖5 特征選擇對(duì)于檢索結(jié)果的影響Fig.5 Influence of feature selection on retrieval result
2.4.3 肺結(jié)節(jié)檢索
選取每張測(cè)試圖像檢索結(jié)果序列的前100 張圖像,查看每張檢索結(jié)果圖像的類別是否與測(cè)試圖像的類別相同,相同則為檢索正確,反之為錯(cuò)誤,并計(jì)算查準(zhǔn)率,最后計(jì)算整個(gè)測(cè)試集的平均查準(zhǔn)率。
表2 所示的實(shí)驗(yàn)結(jié)果中,本文提出的基于多尺度卷積特征融合的特征提取模型的平均查準(zhǔn)率為84.48%,高于其他的特征提取模型,表明本文的特征提取模型能夠更好地提取圖像高級(jí)語(yǔ)義信息。
表2 肺結(jié)節(jié)檢索實(shí)驗(yàn)結(jié)果 單位:%Tab.2 Experimental results of pulmonary nodule retrieval unit:%
2.4.4 并行優(yōu)化
實(shí)驗(yàn)通過改變圖像庫(kù)的數(shù)據(jù)量大小,分析算法在Spark平臺(tái)上不同節(jié)點(diǎn)數(shù)目計(jì)算所需時(shí)間,進(jìn)而通過計(jì)算加速比來(lái)評(píng)價(jià)算法的并行效果。加速比Sp計(jì)算如式(5)所示,其中:t為使用1個(gè)節(jié)點(diǎn)實(shí)驗(yàn)所需時(shí)間,tp為使用p個(gè)節(jié)點(diǎn)實(shí)驗(yàn)所需時(shí)間。
圖像庫(kù)中圖像分別取5 000 張、10 000 張、15 000 張時(shí),實(shí)驗(yàn)結(jié)果如圖6所示。通過圖6可知,算法的加速比與節(jié)點(diǎn)數(shù)目的關(guān)系近似線性正比關(guān)系,因此,本文算法在并行框架上擁有較好的并行效果,能夠處理海量圖像數(shù)據(jù)檢索任務(wù)。
圖6 所提算法在不同節(jié)點(diǎn)數(shù)目下的加速比Fig.6 Speedup of the proposed algorithm with different number of nodes
肺結(jié)節(jié)圖像檢索對(duì)于醫(yī)生來(lái)說能夠起到輔助診斷的作用,但大數(shù)據(jù)量的圖像檢索存在準(zhǔn)確率不高、檢索速度慢的問題?;谏鲜鰡栴},本文提出了一種多尺度卷積特征融合網(wǎng)絡(luò)模型LMSCRnet 提取圖像特征,再將距離計(jì)算相似度匹配等過程部署到Spark并行平臺(tái)上。實(shí)驗(yàn)結(jié)果表明,本文提出的網(wǎng)絡(luò)模型能夠有效提高肺結(jié)節(jié)圖像檢索的準(zhǔn)確率,并且通過將特征距離計(jì)算及排序過程部署到Spark平臺(tái)上,隨著集群節(jié)點(diǎn)數(shù)目增加,執(zhí)行效率不斷提高,算法加速比近似于線性增長(zhǎng),說明該算法擁有良好的擴(kuò)展性和并行性,能夠滿足現(xiàn)實(shí)對(duì)于海量圖像數(shù)據(jù)檢索的需求。