翁鵬濤,杜玉軍,張道奧,劉 青,王舒研,汪苑苑
(1.西安工業大學 光電工程學院,陜西 西安 710021;2.空軍軍醫大學第三附屬醫院 口腔粘膜科,陜西 西安 710032;3.軍事口腔醫學國家重點實驗室(國家口腔疾病臨床醫學研究中心),陜西 西安 710032)
口腔圖像是基于深度神經網絡的智能口腔醫學研究的基礎。由于病例隱私保護、醫學樣本圖像來源少等原因,臨床上口腔病灶圖像獲取難度大,難以建立完備的數據集[1],因此深度學習在口腔醫學領域的研究相對較少。
傳統的數據增強算法可以從色彩和空間位置等方面有效地解決數據容量小的問題,但提升數據多樣性的能力較弱[2,3]。區別于自然圖像,口腔圖像的病灶區域形態、顏色及紋理細節都影響著病情定性分析的結果。對于同一口腔疾病,其病灶特征個體差異較大,并且時常伴隨著多種疾病并發的情況,此時病癥判斷更為復雜,因此其數據集的建立和擴增,必須以高質量、高細節為前提,僅靠傳統數據增強算法無法勝任。
生成對抗網絡(generative adversarial networks, GAN)及其衍生模型正朝著更多樣化、更高質量的圖像生成方向發展[4,5],已經廣泛應用于圖像生成領域。Radford等[6]提出的深度卷積生成對抗網絡(deep convolutional generative adversarial networks,DCGAN)最先應用于色彩鮮明、內容區分度較大的自然圖像數據集擴增,卻不適用于色彩單一的口腔醫學圖像。Shrivastava等[7]使用GAN對MPIIGaze數據集進行數據增強,并提升了眼球角度預測和手勢識別的準確率,鞏固了GAN在數據增強領域的重要地位。Arjovsky等[8]和Gulrajani等[9]解決了GAN的訓練過程不穩定、生成樣本多樣性差的問題,并改進出了Wasserstein GAN。Karras等[10]提出的漸進增長式生成對抗網絡(progressive growing of generative adversarial networks,PGGAN)在訓練時大部分迭代都在小尺度下進行,因此可以穩定地生成高質量、高細節的圖像。同時,PGGAN提出的小批量標準差(minibatch standard deviation)有效地緩解了Mode collapse問題。但無法直接應用于病灶特征區分度小、顏色單一,且對圖像細節要求嚴苛的口腔圖像。
為此,本文針對口腔白斑和口腔扁平苔蘚,研究了一種傳統數據增強和PGGAN算法結合的數據增強方法,解決了口腔圖像多樣性的問題,融合輕量化的通道注意力突出了病損區域的特征,提升了圖像質量。
PGGAN由生成網絡(generator,G)和判別網絡(discriminator,D)構成,其兩部分網絡結構都是隨著訓練進行更新的,如圖1描述了其“網絡生長”的思想。在圖1中, PGGAN的生成網絡和判別網絡呈鏡像對稱分布,即生成網絡和判別網絡的各級網絡模塊一一對應。其中,“4×4”表示4×4像素級的生成(判別)網絡模塊,該模塊可以生成(判別)4×4像素的圖像。在訓練初始,生成網絡的輸出和判別網絡的輸入均為4×4像素的口腔圖像;在完成當前級網絡的訓練后,添加新的網絡模塊,使當前級的網絡更新為更高一級的網絡,此時生成網絡的輸出和判別網絡的輸入“生長”至8×8像素級的口腔圖像,并將兩級模塊共同作為新的網絡結構進行訓練;以此類推,直至網絡“生長”至256×256像素級,最終生成256×256像素的口腔圖像。

圖1 漸進增長式生成對抗網絡結構
本文的口腔圖像數據增強模型的主要結構如圖2所示,模型由生成網絡和判別網絡兩部分組成。生成網絡的輸入和輸出分別為隨機噪聲和生成圖像,其作用是將隨機噪聲生成為口腔圖像,判別網絡的目的是區分輸入的圖像是真實圖像還是生成圖像。其中,在生成網絡增長時添加的上采樣模塊,而在判別網絡中添加下采樣模塊。生成對抗網絡在生成較高分辨率的圖像時訓練會變得不穩定,生成的圖像細節變得扭曲、不真實,因此本文模型在64×64像素級以上的網絡中融入了通道注意力機制,用以有效地獲取局部特征,把握全局有效信息,豐富生成圖像的語義信息。

圖2 本文方法的結構

圖3 采樣模塊結構
本文模型通過各級采樣模塊拼接從而形成更高級的網絡,如圖3為本文網絡模型在網絡增長時添加的采樣模塊結構圖。其中,Leaky ReLU是激活函數,Conv 3×3表示卷積核為3×3的卷積層,PixelNormalization是像素歸一化層,SE block是本文采用的輕量化通道注意力模塊。上采樣操作基于最鄰近插值實現,不僅可以減少網絡訓練參數,提升訓練效率,還可以一定程度上避免圖像生成中的“棋盤網格效應”。而下采樣操作通過平均池化實現。生成網絡在42->322階段時,添加圖3(a)所示的上采樣模塊以更新網絡,在642->2562階段時,則添加圖3(b)中所示的加入通道注意力的上采樣模塊;而判別網絡在42->322和642->2562階段時,分別添加圖3(c)、圖3(d)所示的下采樣結構。
圖4是本文方法用以生成256×256口腔圖像的生成網絡和判別網絡,此處的Conv 1×1、Conv 3×3和Conv 4×4分別表示卷積核大小為1×1、3×3和4×4卷積塊。生成網絡中的卷積塊由卷積層、激活函數和像素歸一化層構成,判別網絡中沒有像素歸一化層。
由于新添加的網絡層不含初始化參數,本文方法在網絡增長階段增加的新卷積層和采樣層會引起網絡性能的“斷層式”下降,嚴重影響網絡的訓練方向。這里的增長平滑機制就是先訓練一個低像素級的網絡,訓練完成后再逐步過渡到更高像素級的網絡進行訓練;然后穩定訓練當前像素級網絡,再逐步過渡到下一級更高像素級網絡。
圖5以4×4圖像到8×8圖像的過渡過程為例,其中圖5(a)和圖5(c)分別表示4×4圖像和8×8圖像的網絡結構,圖5(b)是增長平滑機制的網絡結構。nearest的作用是通過最鄰近插值將圖像的長和寬加倍,pooling的作用是通過平均池化把圖像的長和寬減小一倍。此處,toRGB使用圖4(a)中的1×1卷積,表示將特征向量轉化為輸出的RGB口腔圖像;fromRGB使用的是圖4(b)中的1×1卷積,可以將輸入的RGB口腔圖像轉化為特征向量。

圖4 本文用以生成256×256口腔圖像的網絡結構

圖5 增長平滑機制原理
當生成網絡G和判別網絡D的像素分辨率增加時,通過圖5(b)的網絡結構逐漸平滑地加入新的網絡層,若把在更高像素級上操作的網絡層看作一個殘差塊,則wg和wd分別是生成網絡G和判別網絡D中新加入層的權重。增長平滑機制充分利用了低像素級網絡的訓練參數,當該權重為0時,相當于網絡中沒有加入新的網絡層,即當前是低像素級的網絡;當該權重為1時,表示當前已經過渡到更高像素級的網絡。在訓練中,wg和wd同步從0線性增加到1,使得更高像素級的網絡訓練更加穩定。
生成對抗網絡在低像素級的訓練任務中是比較穩定的,如DCGAN可以比較穩定的生成64×64像素的圖像;在128×128像素、256×256像素的圖像生成過程中,圖像質量往往難以保證,且訓練時間較長;在256×256像素以上的高分辨率及超分辨率圖像生成任務中,訓練過程不穩定,會生成扭曲的圖像細節。高分辨率圖像蘊含的高頻語義信息更加豐富,結構較為簡單的網絡無法學習和關聯像素之間的空間屬性,故難以生成高分辨率的圖像。
注意力機制是模擬人眼視覺處理機制的模型[11],主要作用是對卷積提取的特征進行校正,由注意力校正過的特征可以更好地突出病灶區域特征,其本質就是加權。SE模塊(squeeze-and-excitation block,SE block)是Jie等[12]提出的一種輕量化的通道注意力機制。SE模塊在不引入新的空間維度的情況下,通過學習的方式捕獲每個特征通道的重要程度,以此為標準一致對當前任務用處不大的特征。以很小的參數量和計算量換取注意力的加權計算,從而實現了性能的提升。
在本文方法中,當網絡增長至64×64像素及以上級別時,加入SE模塊使得網絡可以有效地提取局部特征、把握全局有效信息,增加生成圖像的語義信息。圖6是SE模塊的結構示意圖。

圖6 SE模塊的結構
在圖6中,SE模塊的核心步驟是特征壓縮Fsq和非線性激活Fex。定義SE模塊的輸入特征圖是X=[x1,x2,…,xC′]∈H′×W′×C′, 其中xk表示第k通道的特征向量,首先其通過卷積操作Ftr轉化為所需的多通道特征圖U=[u1,u2,…,uC]∈H×W×C, 其中uc∈H×W表示特征圖U中第c通道的特征向量。設V=[v1,v2,…,vC] 表示學習到的一組卷積核,其中是第c個卷積核,是2D空間核,表示k方向上的某個單通道vc。則uc可由式(1)計算
(1)
式中:*表示卷積。
特征壓縮解決了每個輸出利用不到卷積區域之外信息的問題。SE模塊沿著空間維度(H×W)進行特征壓縮,把每個通道上的特征圖壓縮生成通道表征符,即H×W×C維度的特征圖U通過式(2)轉換為1×1×C維度的通道表征符向量z=[z1,z2,…,zC], 以表征c個通道的特征向量的分布情況,也稱全局信息。其中zc∈C表示經壓縮后第c個通道特征向量的通道表征符,可由式(2)算得
(2)
為了建模和學習各特征通道間復雜的相關性,可以將壓縮得到的通道表征符進行兩次非線性激活Fex。通道表征符向量z先進行特征維度縮減,再將其特征維度增長回原本維度,以增加網絡的非線性表達能力,最終求得數值區間為[0,1]的權重向量S=[s1,s2,…,sC], 進一步有效地利用全局信息。式(3)為Fex操作的表達式
S=Fex(z,W)=σ[W2δ(W1z)]
(3)
式中:δ表示ReLU激活函數,σ表示Sigmoid門函數,其中W1和W2分別是維度縮減和維度增長參數。
因此,sc可以表征多通道特征圖U中各通道上特征向量的權重,再通過乘法逐通道加權到原有的特征向量上,將U進行重新標定作為SE模塊的輸出Y=[y1,y2,…,yC]∈H×W×C, 其中yc是第c通道的輸出特征向量,計算公式為式(4)
yc=Fscale(uc,sc)=sc·uc
(4)
式中:Fscale代表第c通道的特征uc與相應通道的權重sc相乘。
WGAN-GP已被證實可以進一步穩定生成對抗網絡的訓練過程[9],因此本文模型使用其目標函數,保證當網絡增長至較大像素級階段時,訓練可以穩步進行。WGAN-GP就是使用梯度懲罰項的方法代替WGAN中的權重裁剪以確保判別網絡D滿足Lipschitz連續約束,即經過訓練后判別網絡D的梯度值在1附近。通過在WGAN的目標函數中增加額外的梯度懲罰項,以表征其目標函數的平滑性,保證了訓練的穩定性。
隨著訓練進行,生成數據的分布是向真實數據的分布靠近的,因此處于這兩個分布之間的樣本的梯度信息可以有效地指導訓練過程。記生成數據的分布pg和真實數據的分布pr之間的數據分布為pχ,選取一個任意數ε∈[0,1], 在一對真實數據x和生成數據y上隨機插值得到隨機采樣的數據x′,則有x′服從分布pχ。x′可通過式(5)算得
x′=εx+(1-ε)y
(5)
最終得到WGAN-GP的目標函數為式(6)

(6)
式中:x是真實數據,y是生成網絡G生成的數據,y~pg表示y為生成數據的采樣,x~pr表示x為真實數據的采樣,x′~pχ表示x′為隨機采樣數據的采樣,E(·)是分布函數的期望值,D(·)是數據通過判別網絡D判斷其為真實樣本的概率,λ為梯度懲罰項的權重系數,文獻[9]中提出,梯度懲罰權重λ取10,可以最大程度上確保判別網絡D滿足Lipschitz連續約束,因此本文沿用λ取10。
近年來,深度學習在醫學影像領域取得眾多突破,網絡模型通過大容量的醫學影像學習特征參數,可以避免過擬合現象,也可以提高網絡性能[13-15]。口腔白斑和口腔扁平苔蘚是兩種常見的口腔粘膜斑紋類疾病,本文實驗所用口腔樣本圖像由第四軍醫大學口腔醫院提供,在臨床上使用數碼相機在白光環境下采集的兩種病損樣本圖像如圖7所示。

圖7 口腔圖像樣本
臨床上收集到的這兩種病灶樣本數量較少,遠遠不足以支撐神經網絡的訓練。因此,本文結合傳統數據增強算法和神經網絡,研究口腔圖像的數據增強問題。首先使用傳統算法進行數據增強,再將增強過后的數據用于神經網絡的訓練。
圖8為使用傳統算法增強后的結果,圖示為本文使用到的方法,從左至右依次為:原圖、隨機對比度、90°旋轉、高斯噪聲、水平翻轉和隨機剪裁。在通過5種數據增強算法的隨機結合使用,實現了現有的兩種口腔病灶樣本數據量成倍增長,在刪除一些相似和疑似數據后對口腔圖像數據進一步處理。

圖8 傳統算法增強后的結果
臨床上收集的口腔病灶樣本受到采集方法、病損處的位置、形態和大小等原因影響。為了提高模型的生成效果,減少生成對抗網絡訓練的難度及所用時間,需進一步對數據增強過后的口腔醫學數據(大小為5184×3456像素)進行感興趣區域(即病灶區域)剪裁,其剪裁區域大小均為1024×1024像素,圖9為截取感興趣區域后的部分圖像,即用于本文神經網絡訓練的圖像。

圖9 本文建立的部分口腔圖像數據集
至此,可以建立本實驗所用的口腔醫學數據集,兩種病損圖像的數目見表1。

表1 本文建立的口腔圖像集數目
為驗證本文網絡模型的圖像生成效果,實驗設置在相同訓練參數下與原始PGGAN進行對比。本文網絡模型的訓練是一個“網絡生長”的過程,從4×4像素至256×256像素的訓練一共經歷7級“網絡生長”階段。實驗在每級網絡上訓練輪次為500,受實驗設備的限制,前6級網絡batch_size設置為16,steps_per_epoch設置為255,最后一級網絡batch_size設置為4,為了保證得到最好的訓練效果,將steps_per_epoch設置為1020。本文所有實驗均部署在Linux環境下,使用Tensorflow2.1的GPU版本,硬件配置為2塊NVIDIA RTX 2080Ti。
在訓練期間,將真實口腔醫學圖像隨機翻轉并歸一化至[-1,1]輸入判別網絡,生成網絡的輸入為512維的噪聲向量。兩部分網絡均使用Adam優化器,學習率設為2×10-4,生成網絡最終生成的口腔圖像大小為256×256像素。測試階段,將生成網絡輸入的隨機向量歸一化至[-1,1],輸出為256×256像素的口腔圖像。
4.1.1 網絡增長及增長平滑機制分析
分別在口腔白斑和口腔扁平苔蘚數據集上進行實驗,共包含7級網絡增長結構,實驗設置4×4階段為初始化網絡,其余各級網絡的訓練均分為過渡階段和穩定階段,因此整體上一共有13個階段,其中 42->82、82->162、162->322、322->642、642->1282和1282->2562為過渡訓練階段。圖10是過渡階段生成圖像的部分。過渡階段新添加的網絡層不含初始化參數及權重,導致網絡性能下降,因此生成圖像中存在網格狀的偽圖,稱為Checkboard。由圖可以得出,該現象在162->322時最為嚴重,在642->1282時逐漸減弱,在1282->2562時偽圖基本消失。

圖10 過渡階段的部分生成結果
圖11是穩定階段生成圖像的部分。由圖可以得出,隨著網絡結構的逐漸增加,生成圖像的高頻語義特征逐漸清晰,圖像的質量越來越高。其中,4×4和8×8像素的圖像內容無法辨認,圖像質量差,僅能反映出圖像生成的趨勢;16×16和32×32像素級的網絡生成了病灶區域的大致輪廓和部分簡單的病灶特征;在64×64和128×128像素的圖像中,病灶區域的形態和紋理細節較為模糊,整體圖像的質量不高;256×256像素的圖像質量較高,較為清晰地生成了原始圖像的病灶紋理、病灶顏色等高頻語義特征。

圖11 穩定階段的部分生成結果
4.1.2 病灶圖像生成效果分析
本節通過對比CGAN、BEGAN、DCGAN、PGGAN和本文方法生成的兩種病灶圖像,以驗證本文方法的性能。圖12是各網絡生成圖像的結果。可以直觀得到,CGAN不能很好地捕獲病灶特征的形態,其生成的白斑圖像的病灶邊緣呈現鋸齒狀偽圖,扁平苔蘚圖像病灶邊緣不清晰。BEGAN的生成結果保留了較為清晰的病損特征,但生成圖像中仍存在“棋盤網格”,呈現出偽圖。DCGAN的生成圖像較為模糊,無法觀察到具體的病灶形狀,整體圖像質量較差。PGGAN的生成圖像較原圖而言,存在比較明顯的“棋盤網格”。本文方法生成的圖像基本保留了原始圖像中病灶區域的特征,其病灶區域輪廓和紋理清晰。由于原始口腔圖像是在臨床白光照射情況下進行采集,因此部分訓練圖像中存在有反射光和唾液泡的現象。在本文方法生成的白斑圖像中存在的較亮區域,推測為生成的強白光照射下的唾液反光現象;在扁平苔蘚圖像的左下角為生成的唾液泡現象。實驗結果表明,本文方法較好地生成了256×256像素大小的口腔白斑病和口腔扁平苔蘚圖像,基本保留了原始圖像的病灶區域細節。

圖12 不同網絡生成圖像的結果
生成模型的性能評價通常從兩個方面出發:生成圖像的清晰程度和多樣性。生成圖像的清晰度反映其圖像質量的高低;多樣性是要求對生成圖像進行分類,每個類別的圖像數目盡可能相等。
IS(inception score)是基于預訓練的Inception網絡計算出的評價指標,常用于評價生成模型的性能,其值表示生成數據集的圖像類別數[16,17]。在生成圖像清晰程度方面,記y是類別標簽,預訓練的Inception網絡能以很高的概率對生成圖像x進行分類判斷,計算出條件概率p(y|x) 以表示生成圖像屬于某個類別的概率,該概率越高說明圖像質量越好,p(y|x) 的分布函數圖越尖銳;針對生成圖像的多樣性,若用p(y) 表示類別標簽的分布,則生成圖像越多樣化,p(y) 越趨近于均勻分布。
KL散度可以衡量兩個概率分布間的距離,其值越大,說明兩個分布越不接近。因此IS通過KL散度綜合了以上兩個方面來評價生成模型,見式(7)
IS(G)=exp(Ex~PgDKL(p(y|x)‖p(y)))
(7)
式中:DKL是KL散度,Pg是生成圖像數據的分布,x~Pg表示x為生成數據的采樣,E是分布函數的期望。IS值越大,往往表明生成模型的性能越好。
FID(fréchet inception distance)是用來計算真實圖像與生成圖像的特征向量間的距離。使用預訓練的Inception網絡提取真實圖像和生成圖像的特征向量,通過其均值和協方差計算兩張圖像之間的相似程度。計算公式如式(8)

(8)
式中:r是真實圖像,g是生成圖像,μr和μg分別是真實圖像和生成圖像的特征的均值, ∑r和∑g分別是真實圖像和生成圖像的特征的協方差矩陣,Tr是矩陣的跡。當真實圖像和生成圖像的特征向量越相近時,FID值越小,說明生成模型效果越好,即生成圖像的清晰度更高,且多樣性更豐富。
雖然IS可以很好地評價生成模型的好壞,但其計算只考慮了生成圖像,即無法反應生成圖像和真實圖像之間的關系,并且IS無法判斷同一類別中的生成圖像的多樣性(例如,同一類別中生成圖像全部相同);FID是利用生成圖像與真實圖像之間的關系進行判別,同時,從特征向量層面衡量兩者之間的距離,因此FID對于模型坍塌更加敏感,對噪聲具有更好的魯棒性。口腔圖像對病灶位置的形態、紋理等特征要求較高,因此本節使用IS和FID兩個評價指標,可以更加全面、有效地表征本文算法性能。
本文實驗中,網絡模型訓練時所使用的學習率決定著生成模型是否取到全局最優解,即算法性能是否達到最佳,因此在實驗中先對其它參數進行統一,分析不同學習率對本文算法性能的影響。訓練完成后,使用IS和FID分別對各個學習率下生成的5000張口腔圖像進行分析,其結果見表2。
從表2中可以看出,針對口腔白斑和扁平苔蘚數據集,

表2 不同學習率對算法性能的影響
當學習率為2×10-4時,對應本文算法性能最佳。基于此,分別使用CGAN、BEGAN、DCGAN和PGGAN在兩種口腔圖像數據集上進行訓練,各生成5000張口腔圖像,并計算其IS值和FID值與本文方法進行對比,結果見表3。

表3 本文方法與不同網絡的算法性能分析
由表3可以得出,在口腔白斑和口腔扁平苔蘚數據集上,本文方法較未改進的PGGAN在IS值上分別提升了0.32和0.07,FID值分別降低了0.13和0.09,且優于實驗中其它的對比方法。由于實驗環境限制,在計算IS值時沒有使用10次訓練,生成求均值的通用方式,而是采用1次訓練,10次生成后再計算的方式,因此存在一定的計算誤差。實驗結果表明,本文方法相比于原始PGGAN在口腔圖像的生成上性能更優,更適用于色差單一,內容復雜的口腔圖像。其生成的病灶圖像有更高的質量,且更加多樣化,可以有效地擴增口腔圖像的數據集。
本文聯合傳統數據增強算法與神經網絡解決口腔圖像的數據增強問題。研究了一種基于改進PGGAN的數據增強算法,利用輕量化的通道注意力,生成了256×256像素大小的口腔圖像,生成圖像的質量和多樣性均有所提升,滿足口腔圖像數據集增強的要求。但本文所用方法生成的口腔圖像仍存在部分病灶形態不合理、病灶顏色差異等問題,下一步將針對該類問題展開研究和改進。