時(shí)永剛 張 岳 周治國(guó) 李 祎 夏卓巖
(北京理工大學(xué)信息與電子學(xué)院 北京 100081)
根據(jù)世界衛(wèi)生組織統(tǒng)計(jì),2020年有3624820例新增消化道癌癥病例,有2248042名患者死于消化道癌癥,消化系統(tǒng)的癌癥死亡人數(shù)占到癌癥總死亡人數(shù)的22.6%[1]。內(nèi)窺鏡檢查是現(xiàn)在主要的消化道疾病診斷方法,傳統(tǒng)內(nèi)窺鏡具有直接、準(zhǔn)確、價(jià)格低的優(yōu)點(diǎn),是目前最常用的胃部檢查方法。隨著醫(yī)藥科技的發(fā)展,新興的膠囊胃鏡技術(shù)因其更佳的檢測(cè)體驗(yàn),已逐漸得到普及。
然而,無(wú)論是使用傳統(tǒng)的胃鏡還是膠囊胃鏡,在圖像采集過(guò)程中都必然會(huì)出現(xiàn)運(yùn)動(dòng)模糊造成的圖像質(zhì)量下降的問(wèn)題。特別是膠囊胃鏡,在數(shù)據(jù)采集過(guò)程中醫(yī)生無(wú)法實(shí)時(shí)控制采集設(shè)備。其運(yùn)動(dòng)受到胃腸蠕動(dòng)的影響。當(dāng)胃腸蠕動(dòng)快時(shí),拍攝數(shù)量減少銳度降低,圖像模糊程度比普通胃鏡更嚴(yán)重。模糊圖像會(huì)給計(jì)算機(jī)輔助診斷帶來(lái)巨大的困難,進(jìn)而干擾醫(yī)生對(duì)病變部位的判斷。因此,通過(guò)內(nèi)窺鏡的去模糊算法,提高了內(nèi)窺鏡的成像質(zhì)量,對(duì)提高臨床診斷準(zhǔn)確率具有重要意義。
2017年Mahesh等人[2]提出一種卷簾(Rolling Shutter, RS)盲去運(yùn)動(dòng)模糊的模型,用以解決互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor, CMOS)傳感器的卷簾快門引起的運(yùn)動(dòng)模糊。2018年,Tao等人[3]提出尺度遞歸網(wǎng)絡(luò)(Scale-Recurrent Network-DeblurNet, SRNDeblurNet),它類似于構(gòu)造重建金字塔并逐步優(yōu)化以獲得最終的重建清晰圖片。Kupyn等人[4]提出的去模糊生成對(duì)抗網(wǎng)絡(luò)(Deblurring€Generative Adversarial€Networks, DeblurGAN)是一種結(jié)合條件生成對(duì)抗網(wǎng)絡(luò)和內(nèi)容損失的端到端運(yùn)動(dòng)去模糊學(xué)習(xí)模型。兩年之后,Kupyn等人[5]又在DeblurGAN的基礎(chǔ)之上提出了改進(jìn)型去模糊生成對(duì)抗網(wǎng)絡(luò)(Deblurring Generative Adversarial Networks-v2,DeblurGAN-v2),改進(jìn)了生成器的網(wǎng)絡(luò)結(jié)構(gòu)和鑒別器,并使該算法便于使用現(xiàn)有成熟的基礎(chǔ)網(wǎng)絡(luò),不僅提高了去模糊的圖像質(zhì)量,而且能夠以低計(jì)算成本設(shè)計(jì)模型。與普通圖像不同,消化道內(nèi)鏡圖像的紋理細(xì)節(jié)較為豐富,且圖像結(jié)構(gòu)較為多樣,現(xiàn)有的去模糊方法如SRN-DeblurNet, DeblurGAN-v2在處理這一類圖像時(shí)因?yàn)檫^(guò)度關(guān)注細(xì)節(jié)特征,全局特征關(guān)注不夠,總會(huì)伴有一定程度的結(jié)構(gòu)變形甚至出現(xiàn)偽影,虛構(gòu)生成了實(shí)際不存在的重影輪廓。在圖像超分辨領(lǐng)域,已經(jīng)被證明可以用梯度輪廓作為先驗(yàn)[6—8]指導(dǎo)超分辨率圖像更好地保留結(jié)構(gòu)信息,生成更加清晰的高分辨率圖像。其中,清華大學(xué)Ma等人[8]提出了基于生成對(duì)抗網(wǎng)絡(luò)的保留結(jié)構(gòu)信息的超分辨率網(wǎng)絡(luò)(Structure-Preserving Super Resolution, SPSR),證明了在梯度信息指導(dǎo)下通過(guò)生成對(duì)抗網(wǎng)絡(luò)生成結(jié)構(gòu)不變形且紋理細(xì)節(jié)豐富的圖像的可行性。2021年Tran等人[9]提出一種方法來(lái)編碼任意的清晰-模糊圖像對(duì)數(shù)據(jù)集的模糊核空間,并利用這種編碼來(lái)解決一些特定的任務(wù),如圖像去模糊和模糊合成。Chi等人[10]提出一種自監(jiān)督元輔助學(xué)習(xí),通過(guò)整合外部和內(nèi)部學(xué)習(xí)來(lái)提高去模糊的性能,并提出一個(gè)元輔助訓(xùn)練方案,進(jìn)一步優(yōu)化作為基礎(chǔ)學(xué)習(xí)的預(yù)訓(xùn)練模型。Chen等人[11]提出一個(gè)非盲目去模糊網(wǎng)絡(luò)(Non-Blind Deblurring Network,NBDN)來(lái)恢復(fù)夜間模糊的圖像,為降低個(gè)別不符合反模糊模型的像素所帶來(lái)的副作用,設(shè)計(jì)了置信度估計(jì)單元(Confidence Estimation Unit ,CEU),確保這些像素在去卷積步驟中的貢獻(xiàn)較小,并通過(guò)共軛梯度(Conjugate Gradient, CG)方法進(jìn)行優(yōu)化。Dong等人[12]提出一種在最大后驗(yàn)(Maximum A-Posteriori, MAP)框架內(nèi)聯(lián)合學(xué)習(xí)空間變異數(shù)據(jù)(spatially-variant data)和正則化項(xiàng)的方法,用于非盲目圖像去模糊化。
本文提出基于梯度指導(dǎo)的生成對(duì)抗去模糊網(wǎng)絡(luò)和類U型網(wǎng)絡(luò)(U-shaped Network, U-Net)預(yù)訓(xùn)練模型。預(yù)訓(xùn)練模型使用3層類U-Net結(jié)構(gòu),解碼器部分引入殘差連接,預(yù)先對(duì)劇烈模糊圖像進(jìn)行處理,大大縮短了網(wǎng)絡(luò)的訓(xùn)練周期。去模糊網(wǎng)絡(luò)以Res2net[13]結(jié)構(gòu)作為基礎(chǔ)模塊增大感受野,減輕冗余特征帶來(lái)的運(yùn)算負(fù)擔(dān),網(wǎng)絡(luò)同時(shí)包含圖像信息和梯度信息兩個(gè)相互交互的支路,通過(guò)梯度支路指導(dǎo)真實(shí)圖像的復(fù)原重建,更好地保留圖像的結(jié)構(gòu)信息,消除偽影緩解結(jié)構(gòu)變形,從而復(fù)原生成更加清晰的胃鏡圖像。
生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN)因其對(duì)抗學(xué)習(xí)的特性具有強(qiáng)大的圖像生成能力,對(duì)于生成圖像的細(xì)節(jié)紋理質(zhì)量有很大提升[4],因此在圖像信息支路中本文使用了類似增強(qiáng)型超分辨率生成對(duì)抗網(wǎng)絡(luò)(Enhanced Super-Resolution Generative Adversarial Networks, ESRGAN)[14]的網(wǎng)絡(luò)結(jié)構(gòu),ESRGAN具有良好的細(xì)節(jié)生成能力,并且能夠解決一定程度的偽影問(wèn)題。ESRGAN算法的生成器使用密集殘差網(wǎng)絡(luò)(Residual in Residual Dense Block, RRDB)的基礎(chǔ)模塊,將殘差塊以稠密連接網(wǎng)絡(luò)(DenseNet)[15]方式進(jìn)行連接,這種方式增加了訓(xùn)練參數(shù),并保留了更多的有效特征。通常在對(duì)胃鏡圖像去模糊測(cè)試,會(huì)有過(guò)多的特征冗余,容易導(dǎo)致偽影現(xiàn)象的出現(xiàn),虛構(gòu)生成不存在的重影輪廓。為改善去模糊效果,本文引入基于Res2net的基礎(chǔ)模塊來(lái)代替RRDB,這樣既增大了感受野,同時(shí)又減少了冗余特征帶來(lái)的運(yùn)算負(fù)擔(dān)和重影輪廓。
梯度支路采用了梯度強(qiáng)度作為梯度圖,從圖像到圖像之間的轉(zhuǎn)換空間來(lái)學(xué)習(xí)兩種模式之間的映射。由于梯度圖中大部分區(qū)域數(shù)值接近于0,而輪廓邊緣具有較大的數(shù)值,卷積神經(jīng)網(wǎng)絡(luò)能更多地關(guān)注輪廓的空間關(guān)系。在梯度支路中與基于生成對(duì)抗網(wǎng)絡(luò)的保留結(jié)構(gòu)信息的超分辨率網(wǎng)絡(luò)(Structure-Preserving Super Resolution,SPSR)不同,本文沒(méi)有使用梯度模塊加卷積層的結(jié)構(gòu),而是直接使用Res2net模塊,減少了中間的冗余特征,網(wǎng)絡(luò)更容易捕獲關(guān)鍵部位結(jié)構(gòu)依賴性,由梯度圖指導(dǎo)生成清晰圖像。
如圖1所示,梯度分支和圖像信息分支有多層級(jí)的特征信息交互,這些特征流作為一個(gè)強(qiáng)先驗(yàn)來(lái)提升梯度分支的性能,在這種情況下,可大大減少參數(shù)。在實(shí)驗(yàn)中,本文將梯度分支的最后一層產(chǎn)生的特征圖傳遞到真實(shí)圖像分支。同時(shí),通過(guò)1×1卷積層生成輸出層梯度圖。通過(guò)這種雙支路交互,圖像信息分支最終能夠攜帶豐富的結(jié)構(gòu)信息,確保復(fù)原后的圖像不會(huì)產(chǎn)生明顯的結(jié)構(gòu)變形。判別器部分使用了相對(duì)平均判別器,網(wǎng)絡(luò)結(jié)構(gòu)為如圖2所示的VGG-128[16]。
圖1 梯度指導(dǎo)生成對(duì)抗網(wǎng)絡(luò)生成器結(jié)構(gòu)圖
圖2 梯度指導(dǎo)生成對(duì)抗網(wǎng)絡(luò)判別器結(jié)構(gòu)圖
本文在使用梯度指導(dǎo)生成對(duì)抗網(wǎng)絡(luò)(Gradient Guidance GAN,GGGAN)對(duì)模糊胃鏡圖像進(jìn)行實(shí)驗(yàn)時(shí)發(fā)現(xiàn),GGGAN具有良好的圖像生成效果,但在復(fù)原重度模糊圖像時(shí)復(fù)原圖像會(huì)出現(xiàn)一定程度的紋理扭曲,且訓(xùn)練收斂時(shí)間較長(zhǎng),這一現(xiàn)象源于GAN網(wǎng)絡(luò)自身的性質(zhì)[17],很難通過(guò)內(nèi)部的結(jié)構(gòu)調(diào)整避免。這一情況會(huì)影響圖像的整體視覺(jué)效果,降低峰值信噪比(Peak Signal to Noise Ratio, PSNR)這一評(píng)價(jià)指標(biāo),對(duì)于圖像復(fù)原效果并不理想。
為解決這一問(wèn)題,本文在GGGAN網(wǎng)絡(luò)之前設(shè)計(jì)了一個(gè)預(yù)處理模塊,通過(guò)這一模塊對(duì)實(shí)驗(yàn)圖像進(jìn)行預(yù)先修正處理,可以在一定程度上減小輸入圖像的模糊程度,避免因輸入圖像模糊程度太大帶來(lái)的紋理扭曲,縮短訓(xùn)練時(shí)間。
預(yù)處理模塊的整體結(jié)構(gòu)類似于U-Net[18],使用3層編碼器-解碼器結(jié)構(gòu),并在解碼部分引入殘差連接[15],擴(kuò)充感受野,其結(jié)構(gòu)如圖3。在滿足預(yù)處理需求的前提下,3層編碼器-解碼器結(jié)構(gòu)的訓(xùn)練參數(shù)量較少,不會(huì)帶來(lái)更多的訓(xùn)練負(fù)擔(dān)。
圖3 預(yù)處理模塊的網(wǎng)絡(luò)結(jié)構(gòu)
預(yù)訓(xùn)練模型和GGGAN的生成器構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,預(yù)處理模塊放在此結(jié)構(gòu)之前。
圖4 本文網(wǎng)絡(luò)整體結(jié)構(gòu)
計(jì)算模糊圖像預(yù)處理后輸出IX與清晰圖像IY之間的結(jié)構(gòu)相似性指標(biāo)[19]
3.1.1 數(shù)據(jù)集
采用內(nèi)窺鏡偽影檢測(cè)(Endoscopy Artifact Detection, EAD)挑戰(zhàn)賽數(shù)據(jù)集[20]以及膠囊胃鏡數(shù)據(jù)集[21](internet-based digital video atlas of capsule endoscopy for research purposes)中的圖像作為清晰圖像,人為添加運(yùn)動(dòng)模糊產(chǎn)生對(duì)應(yīng)的模糊圖像,其中運(yùn)動(dòng)模糊的范圍為平移50~80像素點(diǎn),旋轉(zhuǎn)模糊核在—40°~40°范圍內(nèi)隨機(jī)產(chǎn)生,每個(gè)圖像對(duì)的模糊核不同。傳統(tǒng)胃鏡數(shù)據(jù)集共有清晰-模糊圖像對(duì)780組,其中480對(duì)為訓(xùn)練集,300對(duì)為測(cè)試集。膠囊胃鏡數(shù)據(jù)集中共有清晰-模糊圖像對(duì)2398組,分為訓(xùn)練集1398對(duì),測(cè)試集1000對(duì)。
由于數(shù)據(jù)采集過(guò)程中采用了隨機(jī)裁切的方法,無(wú)須再對(duì)數(shù)據(jù)集做單獨(dú)的增廣。隨機(jī)裁切使得訓(xùn)練過(guò)程中同一對(duì)圖像每次輸入是不同的,極大程度上避免了過(guò)擬合現(xiàn)象的產(chǎn)生,保證了網(wǎng)絡(luò)的泛化能力。
3.1.2 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)
為比較不同算法的去模糊效果,本文使用兩種評(píng)價(jià)指標(biāo)來(lái)測(cè)量最終結(jié)果:峰值信噪比(PSNR)和結(jié)構(gòu)相似度(SSIM)。PSNR是評(píng)價(jià)圖像質(zhì)量最常用、應(yīng)用最廣泛的客觀測(cè)量方法[22]。對(duì)于灰度圖像,給定清晰的圖像I和大小為m×n的模糊圖像K,均方誤差(Mean Square Error, MSE)定義為
其中,MAXI是圖像的最大像素值。如果每個(gè)像素用8位二進(jìn)制表示,則為255。對(duì)于彩色圖像,計(jì)算紅綠藍(lán)(Red-Green-Blue,RGB)3個(gè)通道的MSE,然后除以3得到最終的PSNR值。
SSIM指標(biāo)是度量?jī)煞鶊D像的結(jié)構(gòu)相似程度,是一種感知模型。與MSE絕對(duì)誤差不同,它是更符合人類直觀感知的圖像質(zhì)量評(píng)估標(biāo)準(zhǔn),可以抵消MSE無(wú)法測(cè)量圖像結(jié)構(gòu)[23]相似性的缺點(diǎn)。SSIM已在損失函數(shù)部分中簡(jiǎn)要介紹,在這里將給出其計(jì)算方法。
3.1.3 實(shí)驗(yàn)計(jì)算資源
本文中,所有進(jìn)行實(shí)驗(yàn)比較的模型都是基于PyTorch框架,并在Intel Xeon E5-2680 v4處理器和2片NVIDIA GeForce RTX 2080 Ti(總計(jì)顯存為22 GB)的服務(wù)器上訓(xùn)練了500000個(gè)epoch。
本實(shí)驗(yàn)數(shù)據(jù)中圖像尺寸為1349×1079,為適應(yīng)運(yùn)行時(shí)設(shè)備限制的內(nèi)存占用空間,將圖像隨機(jī)裁切為128×128大小進(jìn)行訓(xùn)練,生成器和鑒別器的初始學(xué)習(xí)率均為10-4,在迭代周期分別為50000, 100000,200000, 300000時(shí)進(jìn)行10-1的衰減。網(wǎng)絡(luò)的訓(xùn)練過(guò)程中采用了小批次訓(xùn)練迭代,批量尺寸(batch size)被設(shè)置成4。使用自適應(yīng)矩估計(jì)(Adaptive moment estimation, Adam)優(yōu)化算法[24]來(lái)優(yōu)化模型參數(shù)。在傳統(tǒng)胃鏡數(shù)據(jù)集和膠囊胃鏡數(shù)據(jù)集上分別與SRN-DeblurNet, DeblurGAN-v2兩種主流的去模糊算法及改進(jìn)SPSR網(wǎng)絡(luò)進(jìn)行了對(duì)比。SRNDeblurNet, DeblurGAN-v2為目前效果較好的開源算法,改進(jìn)SPSR網(wǎng)絡(luò)則是將Ma等人[8]的超分辨率網(wǎng)絡(luò)改為去模糊網(wǎng)絡(luò),用來(lái)對(duì)比算法性能。在膠囊胃鏡數(shù)據(jù)集的實(shí)驗(yàn)中,本文增加了遷移測(cè)試實(shí)驗(yàn),利用傳統(tǒng)胃鏡數(shù)據(jù)集訓(xùn)練好的模型在膠囊胃鏡數(shù)據(jù)集上直接進(jìn)行測(cè)試,對(duì)比不同模型的泛化性能。
對(duì)傳統(tǒng)胃鏡數(shù)據(jù)集進(jìn)行測(cè)試,結(jié)果如表1所示。實(shí)驗(yàn)結(jié)果顯示,在數(shù)據(jù)指標(biāo)上本文算法比其他方法在兩個(gè)指標(biāo)上均有所提升。與對(duì)照組中指標(biāo)較高的DeblurGAN-v2相比較,本文算法將PSNR值從26.55提升至26.89,SSIM值從0.818提升至0.849。
表1 不同算法在傳統(tǒng)胃鏡數(shù)據(jù)集上的指標(biāo)測(cè)試結(jié)果
從圖5可以看出,SRN-DeblurNet, Deblur-GAN-v2方法處理后,圖像仍然存在模糊,尤其在消化道中潰瘍出血、增生息肉及腸壁邊緣處較為明顯。改進(jìn)的SPSR方法雖然在細(xì)節(jié)生成效果上優(yōu)于SRN-DeblurNet,但是出現(xiàn)了重影的現(xiàn)象,實(shí)際的復(fù)原效果也并不理想。本文算法處理后的胃鏡圖像與SRN-DeblurNet方法和DeblurGAN-v2方法相比不但提高了清晰度,豐富了邊緣和紋理信息;還緩解了GAN網(wǎng)絡(luò)虛構(gòu)出的重影現(xiàn)象,復(fù)原圖像更加貼近真實(shí)的清晰圖像,在胃內(nèi)粘液、出血和褶皺等細(xì)節(jié)處,本文算法有更好的表現(xiàn)力。
圖5 不同算法在傳統(tǒng)胃鏡數(shù)據(jù)集上的圖像測(cè)試結(jié)果
表2為不同算法在膠囊胃鏡數(shù)據(jù)集上的指標(biāo)測(cè)試結(jié)果,從表2實(shí)驗(yàn)數(shù)據(jù)可以看出,本文算法在不同的數(shù)據(jù)上也能有更好的表現(xiàn)力。在評(píng)價(jià)指標(biāo)方面,本文算法訓(xùn)練后的PSNR和SSIM值分別達(dá)到了29.04和0.826,高于SRN-DeblurNet的28.01和0.795,也高于改進(jìn)SPSR的28.70和0.771以及DeblurGAN-v2的28.81和0.813;遷移測(cè)試中,本文算法在傳統(tǒng)胃鏡數(shù)據(jù)集上的PSNR和SSIM值分別為28.83和0.801,高于其他3種對(duì)比算法SRNDeblurNet、改進(jìn)SPSR和DeblurGAN-v2。
表2 不同算法在膠囊胃鏡數(shù)據(jù)集上的指標(biāo)測(cè)試結(jié)果
從圖6標(biāo)識(shí)遷移的圖像是使用光學(xué)胃鏡數(shù)據(jù)集訓(xùn)練后直接在膠囊胃鏡數(shù)據(jù)集上遷移測(cè)試的結(jié)果,標(biāo)識(shí)訓(xùn)練的圖像是使用膠囊胃鏡數(shù)據(jù)集訓(xùn)練并測(cè)試得到的結(jié)果,本文算法在膠囊胃鏡數(shù)據(jù)集上直接訓(xùn)練實(shí)驗(yàn)及遷移測(cè)試復(fù)原的胃鏡圖像效果均優(yōu)于SRN-DeblurNet、改進(jìn)SPSR和DeblurGAN-v2 3種對(duì)比算法,在毛細(xì)血管、局部潰瘍等細(xì)節(jié)變化多的位置最為明顯。
圖6 不同算法在膠囊胃鏡數(shù)據(jù)集上的圖像測(cè)試結(jié)果
本文提出一種基于梯度指導(dǎo)生成對(duì)抗網(wǎng)絡(luò)的內(nèi)鏡圖像去模糊算法并對(duì)損失函數(shù)進(jìn)行了改進(jìn),通過(guò)梯度信息指導(dǎo)模糊圖像的復(fù)原,緩解了結(jié)構(gòu)變形和虛構(gòu)重影的現(xiàn)象;設(shè)計(jì)了預(yù)處理網(wǎng)絡(luò)來(lái)糾正過(guò)度模糊,提高訓(xùn)練效率。通過(guò)在傳統(tǒng)光學(xué)胃鏡和膠囊內(nèi)鏡的數(shù)據(jù)集上進(jìn)行訓(xùn)練和測(cè)試,檢驗(yàn)其性能。實(shí)驗(yàn)結(jié)果表明,在性能指標(biāo)方面,本文算法的PSNR值及SSIM值較SRN-DeblurNet和DeblurGAN-v2等均有所提升,且遷移測(cè)試效果也優(yōu)于上述算法。直接視覺(jué)評(píng)估,本文算法在細(xì)節(jié)和邊緣處有更好的生成效果,緩解了結(jié)構(gòu)變形和虛構(gòu)重影的現(xiàn)象,視覺(jué)效果更好。下一步工作,針對(duì)特征提取對(duì)全局信息的關(guān)注仍然不充分,可考慮采用計(jì)算機(jī)視覺(jué)中近期研究熱點(diǎn)Transformer結(jié)構(gòu),Transformer本身具有很好的全局信息提取能力,與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合,可更好地整合全局信息和局部信息,預(yù)期可獲得更好的胃鏡圖像去模糊效果。