吳 帆,高 媛,秦品樂,王麗芳
中北大學 大數(shù)據(jù)學院,太原 030051
隨著計算機技術的快速發(fā)展,醫(yī)學成像技術已經(jīng)成為各種臨床應用中的重要組成部分,獲取醫(yī)學影像有X射線、計算機斷層掃描(Computed Tomography,CT)、磁共振(Magnetic Resonance,MR)、正電子發(fā)射斷層掃描(Positron-emission Tomography,PET)等多種方式。由于成像機制的不同,具有不同模態(tài)的醫(yī)學圖像呈現(xiàn)不同類別的器官/組織信息,醫(yī)生根據(jù)實際情況選擇不同成像方式。多模態(tài)醫(yī)學圖像融合的目的在于,將包含不同補充信息的不同模態(tài)的源圖像組合生成可視化的合成圖像,幫助醫(yī)生更好地做出診斷和決策[1]。
早期以取平均、HIS變換、高通濾波器、主分量分析等為圖像融合的主流方法,只在一個層上對圖像進行分解處理和融合操作[2]。到20世紀80年代中期,由于金字塔分解具有多方向提取圖像特征的特性,基于金字塔分解的圖像融合方法開始發(fā)展并應用[3]。20世紀90年代開始,小波變換以多分辨率的特點為圖像融合提供了新的工具,使圖像融合技術得到進一步發(fā)展[4]。近年來,多模態(tài)醫(yī)學圖像融合的研究主要集中于基于多尺度變換理論的圖像融合方法[5],如基于形態(tài)金字塔的方法、基于離散小波變換的方法、基于雙樹復小波變換的方法和基于非子采樣輪廓線變換的方法?;诙喑叨茸儞Q的方法一般為分解、融合和重構的三步框架[6],基本原理是在選定的變換域中通過分解系數(shù)來測量源圖像的活動水平。其次,還有基于獨立分量分析和稀疏表示等的融合方法,其通常采用滑塊進行近似探索,尋找計算活動水平的有效特征域,將圖像轉(zhuǎn)換成單一尺度的特征域。但這些方法都需要依賴先驗知識選取活動水平,實驗結果在很大程度上受到人為因素的影響。
此外權重圖構造的研究也是影響融合效果的關鍵。在傳統(tǒng)的融合方法中,權重圖一般通過活動水平測量和權重分配兩個步驟來實現(xiàn),為了提高融合性能,在文獻[7-10]中提出了許多復雜的分解方法和精細的權重分配策略,但其依然是依據(jù)先驗知識對兩個步驟進行優(yōu)化組合,大大限制了算法的性能。而深度學習通過網(wǎng)絡學習參數(shù),能將活動水平測量和權重分配以最好的方式在圖像融合中,并因其強大的特征提取能力已成功應用于車牌識別、面部識別、行為識別、圖像分類和語音識別等領域[11]。Liu等人訓練深度卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)聯(lián)合生成活動水平測量和融合規(guī)則,應用于紅外和可見光圖像[12],證明了基于CNN的算法可以提供比傳統(tǒng)的基于空間域變換的算法具有更好的性能。Zhong等人在多模態(tài)圖像融合中提出了一種基于CNN的聯(lián)合圖像融合和超分辨率方法[13];Liu等人介紹了用于圖像融合的卷積稀疏表示[14],反卷積網(wǎng)絡構建層的層次結構,每個層由編碼器和解碼器組成;在遙感圖像融合中,Giuseppe等人提出了一種有效的三層結構來解決泛銳化問題[15],通過添加非線性指數(shù)來增強輸入,以促進融合性能。但CNN直接應用于醫(yī)學圖像融合中,存在偽影影響實驗結果,不符合人類視覺感知效果,且利用經(jīng)驗對濾波器參數(shù)進行初始化,很難保證訓練的網(wǎng)絡具有良好的訓練效果。
本文提出了一種基于金字塔和卷積神經(jīng)網(wǎng)絡的醫(yī)學圖像融合方法。通過更有利于人類視覺感知的金字塔的多尺度分解[16]來提高融合效果,同時引用支持向量機的思想對CNN網(wǎng)絡進行改進,使其不依賴于經(jīng)驗初始化參數(shù),有效地提取圖像特征,得到更適合的權重圖,并去掉傳統(tǒng)CNN網(wǎng)絡中的池化層/采樣層以減少圖像信息的損失。
拉普拉斯金字塔(Laplacian Pyramid,LP)是一種多尺度、多分辨率的圖像處理方法,可以將圖像的邊緣和紋理等特征按照不同的尺度分解到不同分辨率的塔層上,再將多幅源圖像的對應塔層分別進行融合,得到融合后的金字塔以后,再重構得到最終融合圖像。LP在多尺度上融合不同模態(tài)的醫(yī)學圖像領域已有廣泛應用,但其存在偽影的問題,Paris等人提出了具有簡單、靈活特點的區(qū)域拉普拉斯金字塔(Local Laplacian Pyramid,LLP)來克服這一問題。
LLP是基于LP的邊緣感知濾波器,濾波器的輸出O為重構圖像,Si為每層圖像,v為原始圖像拉普拉斯金字塔分解得到的系數(shù),I′(v)為由其得到的新系數(shù),collapse()為重構算子。
對于每個系數(shù)I(v)=(x,y,i),通過點映射函數(shù)生成一個新的系數(shù)I′(v):
其中,x,y分別代表水平和垂直方向的像素坐標;i代表金字塔的水平參數(shù),v是位置(x,y)的像素值;g是從高斯金字塔得到的圖像值;LLP有三個自由參數(shù):(1)強度閾值σr作為區(qū)分邊緣信息和細節(jié)信息的邊界;(2)細節(jié)因子α控制細節(jié)增強量(0≤α≤1);(3)測距因子β控制范圍的縮小(0≤β≤1)或擴大(β>1)。
CNN是一個典型的深度學習模型,與普遍神經(jīng)網(wǎng)絡相同具有多層感知結構學習具有不同抽象層次的信號/圖像數(shù)據(jù)的各層特征表示[17],是一種可訓練的前饋網(wǎng)絡,每層包含一定數(shù)量的特征映射。特征圖中的每個單元稱為神經(jīng)元。通過對神經(jīng)元進行線性卷積、非線性函數(shù)激活應用于神經(jīng)和空間池化等操作連接不同層的特征圖[18]。
局部感知、權值共享和池化是CNN的三大核心思想[19],使CNN可以在一定程度上獲得平移不變性和縮放不變性。在多層感知機中,一般情況下隱藏節(jié)點與圖像的各個像素點進行全連接,但其在卷積神經(jīng)網(wǎng)絡中,僅將隱藏節(jié)點與圖像中足夠小的局部像素點進行連接,該操作很大程度上減少了需要訓練的參數(shù)。不同的圖像或者相同圖像的不同位置之間進行權值共享,可以減少卷積核的數(shù)量,避免卷積核的重復,從而進一步減少參數(shù)。源圖像在經(jīng)過卷積操作之后通過下采樣操作縮小圖像尺寸的過程叫做池化,該操作可以減少過擬合發(fā)生的概率,降低了特征圖的維度,達到減少計算量,提升計算速率的目的。
在機器學習領域,支持向量機(Support Vector Machine,SVM)是一個有監(jiān)督的學習模型,通常用來進行模式識別、分類,以及回歸分析。支持向量機旨在通過有限樣本信息尋求模型的復雜性和學習能力之間的最優(yōu)解,獲得最好的應用能力[20]。凸優(yōu)化問題可以很好地表示SVM學習問題,采用現(xiàn)有的有效算法發(fā)現(xiàn)目標函數(shù)的全局最小值。
SVM模型中所有分類點在各自類別的支持向量兩邊,即所有點到超平面的距離大于一定的距離。用數(shù)學式子表示為:
其中,yi(WTxi+b)=γ'(i)≥γ'(i=1,2,…,N)。一般都取函數(shù)間隔γ'為1,這樣優(yōu)化函數(shù)定義為:
本文提出的醫(yī)學圖像融合算法原理圖如圖1所示。該算法可以概括為以下四個步驟:
(1)基于改進的CNN權重圖的生成
將源圖像A和B分別輸入到改進的CNN卷積網(wǎng)絡中,如2.2節(jié)所示,生成權重圖W。
圖1 醫(yī)學圖像融合過程
(2)金字塔分解
采用金字塔的多尺度分解圖像的方法,使融合在每個分解水平進行,將每個源圖像通過區(qū)域拉普拉斯金字塔進行分解。L{A}l和L{B}l分別表示A金字塔和B金字塔的第l層分解,同樣將權重圖W輸入?yún)^(qū)域拉普拉斯金字塔得到第l層分解L{W }l。取為最高分解層數(shù),其中H×W為源圖像大小,表示floor函數(shù)。
(3)系數(shù)融合
對于每一個l的分解層,計算L{A}l和L{B}l的區(qū)域能量圖[17]。
其值范圍為[1,?1],接近1表示相似性高。設置一個閾值t,如果Ml(x,y)≥t,采用公式(9)的融合規(guī)則:
如果Ml(x,y) (4)拉普拉斯金字塔重建 對L{F}l進行區(qū)域拉普拉斯金字塔重構得到融合圖像F。 對卷積神經(jīng)網(wǎng)絡(CNN)進行改進,首先,采用經(jīng)驗風險最小作為神經(jīng)網(wǎng)絡的評價指標很難保證訓練出的網(wǎng)絡具有良好的泛化性,將基于經(jīng)驗風險最小化的評價指標替換為基于結構風險最小化。其次,傳統(tǒng)CNN的殘差通過梯度下降法[21]向后傳播,交替使用多個卷積和最大池化層,對提取的特征進行分類,得到基于輸入的概率分布,改進的CNN模型中降維是通過步長為2的標準卷積層來實現(xiàn)。 Rd為輸入,y為輸出,d為維度,令x∈Rd(y∈R),W 為權值,b為偏置,?(x):為對x通過卷積操作C后,通過隱層神經(jīng)元轉(zhuǎn)為函數(shù)映射,q為變換后的維度[22]。當目標函數(shù)可以定義為: 基于深度神經(jīng)網(wǎng)絡學習的思想,假設輸出等于輸入,與SVM中權值求解的思想類似,估計函數(shù)為: 利用迭代算法對網(wǎng)絡參數(shù)進行優(yōu)化,首先,對于一個固定的C,求解為: 若Q=A(I-1BT)為N×N的矩陣,如果通過對應的輸入向量在映射鄰域中心中的支持值來估計像素點(x,y)的支持值,用矩陣Q的中心行向量得到的支持值濾波器對圖像進行卷積,可獲得全部圖像的支持值C。 CNN中最大池操作的公式: ψ表示每個卷積層獲得的輸入圖像的特征圖,是大小為W×H×G的三維陣列,其中H和W為高、寬,G為通道數(shù),最大池化層的大小為k(k=2)和步長為r。當g(h,w,i,j,u)=(r?i+h,r?j+w,u)是S在一定步長下到ψ的函數(shù)映射。當r>k時,最大池層不重疊;通常CNN模型取k=3和r=2最大池化層存在重疊。類似最大池化操作的公式得出標準卷積層的公式: θ是核權值,i,j和u代表在尺度u上的像素的坐標(i,j)。一般使用ReLU作為激活函數(shù)用(f?)表示,f(x)=max(x,0),o∈[1,M]是卷積層輸出特征的數(shù)量,該操作依賴于與前一層特征圖中反饋的元素。對比公式(17)、(18)可知,當θh,w,u,o=1且u=o=0 時,(f?)等價于p范式。在傳統(tǒng)CNN模型中最大池的主要作用于特征圖的維度和在一定程度上保持特征尺度不變性。基于以上公式得出的結論,具有相對應的核和步長的標準卷積層可以學習最大池化操作并將其替換[23-25]。 改進的CNN模型不依賴于學習過程中的經(jīng)驗風險,可以自適應地學習各個分解層次的最優(yōu)濾波器,有效地從圖像的各個層次提取細節(jié),同時標準卷積層的應用避免了采用池化層導致的信息丟失問題。改進的CNN模型結構如圖2所示。 圖2 改進的CNN模型結構 (1)根據(jù)公式(13)~(16),得到矩陣 Q 的中心行向量;構造核權值,得到濾波器。 (2)將兩個源圖像輸入改進的CNN模型,輸入圖像經(jīng)過卷積操作和濾波器得到輸出圖像。 (3)改進的CNN模型在第一層通過3×3的濾波器輸出特征圖維數(shù)為64,第二層卷積層通過3×3的濾波器輸出特征圖維數(shù)為128,這兩個卷積層的步長設為1;設置第三層卷積的濾波器大小為3×3,步長為2,得到特征圖維數(shù)為256;第四層將維數(shù)為256的特征圖輸入,通過3×3的濾波器得到得到特征圖維數(shù)為256。 (4)將特征圖輸入到全連接層,輸出最終結果。 本文實驗使用的是美國哈佛醫(yī)學院(Harvard Medical School)的數(shù)據(jù)集(http://www.med.harvard.edu/AANLIB/home.html),全腦圖譜由Keith A.Johnson和J.Alex Becker創(chuàng)建,提供正常腦和一些常見疾病的腦部圖像。實驗環(huán)境由硬件環(huán)境和軟件環(huán)境構成,硬件環(huán)境為測試實驗所用的Intel Xeon服務器,搭載2塊NVIDIA Tesla M40的GPU,每塊顯存12 GB,共24 GB;軟件環(huán)境為64位Ubnutu 14.04.05 LTS操作系統(tǒng),Tensorflow V1.2,CUDA Toolkit 8.0,Python 3.5。 選取腦膜瘤、腦梗、腦中風三種類型的CT和MR圖像對本文算法進行融合仿真實驗。如圖3所示。 將本章算法與NSCT-PCNN算法[26]、文獻[27]算法、文獻[28]算法、文獻[29]算法與本文算法相比較。NSCTPCNN算法利用NSST對源圖像進行多尺度、多方向分解,低頻子帶系數(shù)采用基于區(qū)域特征加權的方式進行融合;高頻內(nèi)層子帶系數(shù)采用PCNN求出區(qū)域點火特性,與平均梯度加權進行選擇,高頻外層子帶系數(shù)采用區(qū)域絕對值取得[26]。文獻[27]算法是把提升小波變換和PCNN相結合進行圖像融合,該算法高頻部分使用自適應PCNN方法,低頻使用區(qū)域能量算法。文獻[28]算法是基于曲面小波變換算法,首先,使用surfacelet轉(zhuǎn)換分解源圖像;然后,有效地結合低頻和高頻系數(shù);最后,逆變換生成融合圖像。文獻[29]中高頻部分采用CS來減少計算復雜度,低頻采用自適應PCNN方法,并選取了SDS特征作為外部激勵,對應神經(jīng)元處的連接強度采用SDG特征。 第一組腦膜瘤實驗中,NSCT-PCNN算法沒有很好地保存MR源圖像中的細節(jié)信息,存在一些偽影,文獻[27]算法亮度太高造成了信息丟失,文獻[28]算法視覺效果相對好一些,但是存在同樣的問題。對比而言,文獻[29]算法和本文算法的融合結果相對較好,有較好的清晰度,但本文算法針對MR源圖像中軟組織的信息保存度上更為突出,融合效果最好。 第二組腦梗實驗中,NSCT-PCNN算法處理的圖像整體較暗,并且細節(jié)信息表現(xiàn)不明顯,視覺效果明顯不好,軟組織信息難以確定,文獻[27]算法中融合效果不錯,但圖像中間部分的細節(jié)表現(xiàn)力不強,文獻[28]算法中對比度較差,同時丟失了骨骼信息,文獻[29]算法的視覺效果相對穩(wěn)定,骨骼清晰,但與本文算法對比,對比度不夠,圖像中信息豐富程度略有遜色。 第三組腦中風實驗中,從視覺效果上看,NSCTPCNN算法中圖像紋理細節(jié)信息不清晰,圖像整體模糊,文獻[27]算法得到的圖像邊緣出現(xiàn)偽影,信息丟失嚴重,文獻[28]算法得到的圖像具有較好的亮度,但是圖像整體輪廓丟失嚴重,文獻[29]算法的圖像包含紋理信息豐富,符合人類的視覺感知,本文算法融合圖像視覺效果較好,圖像清晰。 圖3 融合效果對比圖 為了更加全面地評價融合結果,本文采用了互信息(Mutual Information,MI)、信息熵(Information Entropy,IE)、結構相似性(Strructural Similarity,SSIM)、空間頻率(Space Frequency,SF)和平均梯度(Average Grads,AG)五項指標進行評價,指標的值與融合效果呈正相關。 由表1中客觀指標可得,MI用于表示信息之間的關系,是圖像隨機變量統(tǒng)計相關性的測量,值越大代表圖像的相關性越高,在腦膜瘤、腦梗、腦中風三組實驗中本文算法均達到最優(yōu),分別達到23%、4.3%、20.5%的提升。IE表示圖像中包含的信息平均量,融合的目的在于使圖像包含更多的信息,本文算法在腦膜瘤實驗中,IE數(shù)值僅次于文獻[28]算法,在腦梗和腦中風實驗中均達到最優(yōu),且平均提升22.2%和13.6%。SSIM分別從亮度、對比度、結構三方面度量圖像的相似性,值越大表示圖像中結構信息越相似,在三組實驗中本文算法對比NSCT-PCNN算法、文獻[27]、文獻[28]和文獻[29]算法平均提升5.6%、18.4%、19.7%。SF反應圖像灰度的變化率,圖像中不同圖像成分具有不同的空間頻率,SF越高,圖像的亮暗變化、短距離突變更明顯,本文算法在三組實驗中都僅次于文獻[27]算法,但結合主觀評價可知文獻[27]算法邊緣亮度均較強,導致了邊緣細節(jié)信息不明顯的問題,不符合人類視覺感知,同時相對于其他算法,本文算法也略有提升。AG反映圖像微小細節(jié)變化的速率,其變化率的大小可以表征圖像的清晰度,其在三組實驗中數(shù)值均達到最優(yōu),反映了本文算法的融合圖像在對紋理信息和細節(jié)信息的清晰保存上具有絕對的優(yōu)勢??傮w而言,在客觀指標上,說明了本文算法性能最優(yōu),不僅包含的信息量最多,較好地保留了融合圖像的細節(jié)部分,而且對邊緣信息的損失較少,客觀評價與視覺觀察結果相符,為精確的病灶定位及手術治療提供有利的影像依據(jù)。 為驗證本文算法的準確性,對改進CNN訓練過程中函數(shù)損失的實驗數(shù)據(jù)如圖4所示。 表1 實驗的客觀指標 圖4 本文算法損失 從圖4可知,從曲線的整體來看,隨著迭代次數(shù)的增加,迭代次數(shù)低于50 000次時呈急劇下降趨勢,迭代次數(shù)高于50 000次之后逐漸趨于平緩并達到一個相對穩(wěn)定的數(shù)值,通過綜合權衡損失,確定本文實驗的最終迭代次數(shù)為150 000次。 本文算法通過將金字塔與改進的卷積神經(jīng)網(wǎng)絡結合起來,為了達到人眼視覺感知的良好效果采用了多尺度處理和自適應選擇融合方式的圖像融合技術,克服融合結果存在偽影的問題;通過卷積神經(jīng)網(wǎng)絡提取圖像特征,減輕了人工設計活動水平測量和權重分配對實驗結果的影響。實驗結果表明,該算法在主觀評價和客觀評價方面均獲得高質(zhì)量的結果,接下來將算法更好地應用于其他領域還需要更好的探索和驗證。3.2 改進的CNN模型
4 仿真實驗與結果分析
4.1 融合效果
4.2 評價指標
5 結語