張 燦,陳 瑋,尹 鐘
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
宮頸癌是女性最常見的惡性腫瘤之一。人乳頭瘤病毒 (Human Papilloma Virus,HPV)感染是引發(fā)宮頸癌的最主要原因。據(jù)統(tǒng)計(jì),中國每年僅宮頸癌一項(xiàng)的新發(fā)病例數(shù)約為13萬。液基薄層細(xì)胞檢測(Thinprep Cytologic Test,TCT)技術(shù)是國際上最先進(jìn)的一種宮頸癌細(xì)胞學(xué)檢查技術(shù),其對宮頸癌細(xì)胞的檢出率為100%。宮頸細(xì)胞是子宮內(nèi)壁細(xì)胞,為上皮細(xì)胞的一種。TCT根據(jù)圖片中的細(xì)胞形態(tài)進(jìn)行分類診斷,從而判斷宮頸上皮細(xì)胞是否存在病變,同時(shí)還能發(fā)現(xiàn)部分癌前病變。
雖然婦女宮頸癌檢測技術(shù)隨時(shí)代發(fā)展在逐漸進(jìn)步,但是后期閱片主要還是依靠人工。中國病理醫(yī)生缺口高達(dá)8~10萬人。隨著計(jì)算機(jī)圖像處理技術(shù)的發(fā)展,計(jì)算機(jī)輔助閱片診斷已被證明具有可行性及有效性[1]。計(jì)算機(jī)輔助閱片也將成為未來主要的輔助檢測手段。
宮頸細(xì)胞分類診斷最主要的特征之一就是細(xì)胞的核質(zhì)比[2]。因此,宮頸細(xì)胞的核質(zhì)分割是宮頸細(xì)胞分類診斷的前提。細(xì)胞核質(zhì)分割的研究方法主要有3種:(1)傳統(tǒng)圖像分割方法;(2)細(xì)胞核、細(xì)胞質(zhì)分別使用二分類卷積網(wǎng)絡(luò)分割[3];(3)端到端的語義分割算法。
文獻(xiàn)[4]使用圖像全局閾值法分別進(jìn)行圖像細(xì)胞質(zhì)邊界與細(xì)胞核邊界的標(biāo)定。這種方法泛化能力低,且分割過程復(fù)雜。文獻(xiàn)[5]通過定位種子像素,采用區(qū)域生長算法進(jìn)行宮頸細(xì)胞圖像分割。人工定位種子點(diǎn)加大了工程量,且該算法無法實(shí)現(xiàn)復(fù)雜背景細(xì)胞圖像分割。文獻(xiàn)[6]提出了使用改進(jìn)UNet網(wǎng)絡(luò)分別進(jìn)行細(xì)胞質(zhì)與細(xì)胞核的語義分割訓(xùn)練。該方法需要大量人工進(jìn)行圖像標(biāo)注,對細(xì)胞質(zhì)與細(xì)胞核分別進(jìn)行分割,處理過程較為復(fù)雜。文獻(xiàn)[7]提出了級聯(lián)的隨機(jī)森林和卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的模型。該模型加快了網(wǎng)絡(luò)訓(xùn)練速度,但是細(xì)胞邊界不清晰。文獻(xiàn)[8]提出了一種新的弱監(jiān)督細(xì)胞分割網(wǎng)絡(luò)模型FFNs。該模型使用弱監(jiān)督標(biāo)簽,單個(gè)種子點(diǎn)通過循環(huán)網(wǎng)絡(luò)迭代在多個(gè)重疊視圖上動(dòng)態(tài)推理,使得單個(gè)種子像素?cái)U(kuò)展到當(dāng)前細(xì)胞膜的分界點(diǎn)。該模型實(shí)現(xiàn)了端到端的訓(xùn)練,但是無法同時(shí)分割出細(xì)胞膜和細(xì)胞核。文獻(xiàn)[9]提出的弱監(jiān)督語義分割方法采用顯著性物體檢測算法,自動(dòng)地生成語義分割標(biāo)簽,分3次進(jìn)行訓(xùn)練。該方法完全不需要人工標(biāo)定圖片,但是顯著物檢測方法不適用類別不均衡的情況。
隨著深度卷積神經(jīng)網(wǎng)絡(luò)技術(shù)的不斷更新,出現(xiàn)了大量語義分割模型。語義分割是對圖像中每一個(gè)像素進(jìn)行語義類別的劃分。雖然語義分割任務(wù)在性能上獲得了提高,但是這些模型依賴于大量手動(dòng)標(biāo)注的訓(xùn)練數(shù)據(jù)集。創(chuàng)建手動(dòng)標(biāo)記的訓(xùn)練集不僅成本高昂,且耗時(shí)較多。因此,通過較弱的監(jiān)督信號來構(gòu)建預(yù)測模型成為了研究熱點(diǎn)。
在生物醫(yī)學(xué)領(lǐng)域,存在豐富的知識(shí)本體及各種類型的數(shù)據(jù)庫資源,可利用這些資源為相關(guān)任務(wù)提供弱監(jiān)督信息[10],建立相應(yīng)的標(biāo)注函數(shù)。將標(biāo)注函數(shù)應(yīng)用于未標(biāo)注的數(shù)據(jù),產(chǎn)生訓(xùn)練標(biāo)簽,然后利用這些標(biāo)簽進(jìn)行模型訓(xùn)練。
為了解決數(shù)據(jù)集缺少標(biāo)注的問題,使用弱監(jiān)督方法[11]進(jìn)行圖像語義分割是目前亟待解決的問題。因此,本文提出一種基于弱監(jiān)督宮頸細(xì)胞圖像,使用編解碼網(wǎng)絡(luò)結(jié)構(gòu)加入條件隨機(jī)場的語義分割算法(Encoder-Decoder CRF Network,EDCNet),有效地分割細(xì)胞質(zhì)與細(xì)胞核。
由于缺少標(biāo)注的數(shù)據(jù)集和直接對細(xì)胞進(jìn)行核質(zhì)分割的語義分割網(wǎng)絡(luò),本文提出了一種圖像自動(dòng)生成訓(xùn)練標(biāo)簽算法。該算法以K-means作為標(biāo)注函數(shù),并以編碼器-解碼器(Encoder-Decoder)為基本結(jié)構(gòu),引入條件隨機(jī)場(Conditional Random Field,CRF)整合上下文信息,對宮頸細(xì)胞圖像進(jìn)行語義分割。
EDCNet主要應(yīng)用于上皮細(xì)胞圖像的核質(zhì)分割。首先對細(xì)胞圖像進(jìn)行預(yù)處理,使用K-means標(biāo)注函數(shù)生成細(xì)胞圖像的分割標(biāo)簽。然后,使用中值濾波算法對分割標(biāo)簽去噪。最后,將原圖和標(biāo)簽對應(yīng)的灰度圖輸入到EDCNet中進(jìn)行訓(xùn)練。EDCNet的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 EDCNet的網(wǎng)絡(luò)結(jié)構(gòu)Figure 1.Network structure of EDCNet
本文網(wǎng)絡(luò)是全卷積神經(jīng)網(wǎng)絡(luò),通過Encoder[12]收集圖像信息并對像素值進(jìn)行歸類與分析,獲得高階語義信息。通過Decoder收集這些語義信息,將同一類別的物體對應(yīng)到相應(yīng)的像素點(diǎn)上。
(1)EDCNet的DeBlock模塊包括Padding層(1×1)、Conv層(3×3)和MaxPooling層(2×2)。512×512大小的RGB圖像共經(jīng)過4個(gè)相同的DeBlock模塊進(jìn)行下采樣,得到64×64×512大小的輸出,即網(wǎng)絡(luò)最內(nèi)層的輸出;
(2)EDCNet的UpBlock模塊包括Padding層(1×1)、UpSampling(2×2)和Deconv(2×2)Concaten-ate層,對網(wǎng)絡(luò)最內(nèi)層輸出進(jìn)行上采樣;
(3)EDCNet的FinBlock模塊包括UpSampling層(2×2)、Conv層(3×3)和Conv層(1×1)。調(diào)整輸出大小,使輸出與輸入有相同的長寬;
(4)EDCNet輸出使用CRF層對結(jié)果進(jìn)行修正[13]。采用Softmax進(jìn)行像素級分類預(yù)測。
圖2 EDCNet的具體結(jié)構(gòu)Figure 2.Specific structure of the EDCNet
宮頸細(xì)胞圖像分割的難點(diǎn)在于細(xì)胞是一個(gè)整體,很難將細(xì)胞核作為一個(gè)單獨(dú)的目標(biāo)看待,因此存在邊界信息不明顯等問題。EDCNet在下采樣階段使用Same卷積操作,即在卷積操作前對輸入圖像矩陣邊緣補(bǔ)0,盡可能減少信息的丟失。使用MaxPooling操作進(jìn)行下采樣[14],使用不重疊最大池化操作,在突出顯著特征的同時(shí)減少參數(shù)和計(jì)算量,防止過擬合,提高模型的泛化能力。EDCNet的每一層都加入了BatchNormalization操作來調(diào)整數(shù)據(jù)的分布,使數(shù)據(jù)更加均勻。同時(shí),加快收斂。在上采樣階段使用UnSampling與DeConv輸出Concatenate的操作,使用UnSampling操作恢復(fù)最顯著的特征。DeConv帶有參數(shù),參數(shù)在訓(xùn)練過程中會(huì)不斷調(diào)整,因此DeConv擁有學(xué)習(xí)的特性,可獲得更多的細(xì)節(jié)信息。FinBlock則被用于調(diào)整輸出。為了提升模型捕獲細(xì)節(jié)的能力并突出邊界信息,用RNN形式的CRF完成第二階段的后處理(CRF-RNN)[15]。CRF整合全局信息,作為平滑后處理,能夠大幅提升分割效果,并且直接給出高斯核的參數(shù)theta_alpha=160,theta_beta=3,theta_gamma=3作為超參數(shù),不需要參與訓(xùn)練,加快了網(wǎng)絡(luò)訓(xùn)練速度。
宮頸細(xì)胞圖像分割是一個(gè)多分類圖像分割問題,宮頸細(xì)胞圖像進(jìn)行多分類的難點(diǎn)在于類別不均衡,細(xì)胞質(zhì)與背景所占的像素遠(yuǎn)大于細(xì)胞核。針對這種情況,選用了DiceLoss,其計(jì)算如式(1)和式(2)所示。
(1)
DiceLoss=1-DSC
(2)
其中,DiceLoss為輸出結(jié)果與真實(shí)標(biāo)簽的重合度;A代表輸出結(jié)果;B代表真實(shí)標(biāo)簽。雖然DiceLoss適用于樣本類別極度不均勻的狀況,但是隨著網(wǎng)絡(luò)訓(xùn)練次數(shù)的疊加,損失值變得不穩(wěn)定,難以收斂。因此在DiceLoss的基礎(chǔ)上加上多分類交叉熵?fù)p失函數(shù)(Multi Classification Cross Entropy Loss Function,CE)[16],并取平均值。CE計(jì)算如式(3)所示。
(3)
其中,x表示輸入樣本;k為待分類的類別總數(shù);yi為第i個(gè)類別對應(yīng)的真實(shí)標(biāo)簽;fi(x)為對應(yīng)的模型輸出值。
本文使用損失函數(shù)如式(4)所示。
(4)
根據(jù)實(shí)驗(yàn)操作順序,下面將依次介紹實(shí)驗(yàn)的開發(fā)環(huán)境及參數(shù)設(shè)置、數(shù)據(jù)集、標(biāo)注函數(shù)選擇、數(shù)據(jù)預(yù)處理、評價(jià)指標(biāo)、數(shù)據(jù)標(biāo)定、訓(xùn)練調(diào)優(yōu)過程以及實(shí)驗(yàn)結(jié)果分析。
本文實(shí)驗(yàn)的開發(fā)環(huán)境為Ubuntu18.04,使用Python編程語言,Keras深度學(xué)習(xí)框架。硬件環(huán)境為NVIDIA GTX1080Ti,單個(gè)GPU,Intel Core i5處理器。學(xué)習(xí)率設(shè)置為1×10-4,采用Adam優(yōu)化器進(jìn)行參數(shù)更新。
本文實(shí)驗(yàn)數(shù)據(jù)集由上海復(fù)玄信息科技有限公司提供。該數(shù)據(jù)集為通過電子顯微鏡拍攝的宮頸液基薄層細(xì)胞圖片,共包含3 000張2 000×2 000的圖片。經(jīng)圖片剪裁后含有分類目標(biāo)的圖片共12 000張,其中8 400(70%)張圖片作為訓(xùn)練集,2 400(20%)張圖片作為驗(yàn)證集,1 200(10%)張圖片作為測試集。
針對未標(biāo)注的數(shù)據(jù)集標(biāo)注函數(shù),在不使用手動(dòng)方式標(biāo)注的條件下,對數(shù)據(jù)進(jìn)行黑盒代碼片段標(biāo)注。本文使用標(biāo)注函數(shù)來為深度學(xué)習(xí)模型標(biāo)注訓(xùn)練數(shù)據(jù)。
常用于弱監(jiān)督的標(biāo)注函數(shù)有顯著性檢測、CAM(Class Activation Mapping)和K-means。不同標(biāo)注函數(shù)生成標(biāo)簽結(jié)果如圖3所示。
圖3 不同標(biāo)注函數(shù)生成的標(biāo)簽圖(a)原圖 (b)CAM熱力圖 (c)顯著圖 (d)K-meansFigure 3.Label graphs generated by different annotation functions(a)Original image (b)CAM heat map (c)Saliency map (d)K-means
由圖3可以看出,CAM算法生成的熱力圖定位到了細(xì)胞,但是圖片中分類不精確;顯著圖的細(xì)胞質(zhì)部分顏色不均勻,細(xì)胞質(zhì)和背景的邊界不清晰,無法作為語義分割的標(biāo)簽;K-means標(biāo)注結(jié)果最優(yōu),因此本文選擇K-means作為標(biāo)注函數(shù)。
數(shù)據(jù)預(yù)處理步驟如下:
步驟1圖像增強(qiáng)。首先,圖像采集過程中不均勻的光照和積液以及樣本中的雜質(zhì)等會(huì)引起噪聲,因此需要先使用基于稀疏表示的KSVD算法[17]進(jìn)行圖像去噪。其次,圖像需要加強(qiáng)細(xì)胞部分的特性,減弱背景部分的特征。因此,本文使用直方圖均衡化方法加強(qiáng)圖像對比度;
步驟2圖片剪切。原圖為2 000×2 000大小的圖片,若以原圖作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,無法獲得圖片更深層的語義信息[18],且占用內(nèi)存較大,模型訓(xùn)練復(fù)雜度增加。因此,把每張圖片有重疊的剪切為16張512×512大小的圖片。步驟2的處理結(jié)果如圖4所示;
圖4 剪切后的圖片F(xiàn)igure 4.The cut images
步驟3生成標(biāo)簽。在沒有專家參與圖像標(biāo)注的情況下,對未標(biāo)注的細(xì)胞圖像數(shù)據(jù)加以分析利用。這些未標(biāo)注的樣本盡管沒有明確的標(biāo)簽信息,但是根據(jù)細(xì)胞分類診斷的相關(guān)知識(shí)及數(shù)據(jù)的分布特征可知該數(shù)據(jù)集標(biāo)簽的具體形式。使用K-means生成數(shù)據(jù)集對應(yīng)的標(biāo)簽圖像,使用中值濾波算法對標(biāo)簽圖片進(jìn)行去噪。標(biāo)簽圖像內(nèi)容包含3類,即背景、細(xì)胞質(zhì)和細(xì)胞核;
步驟4圖像灰度化。EDCNet輸入的標(biāo)簽形式為一維灰度圖像,不同的灰度值代表不同的物體類別。把RGB圖片轉(zhuǎn)換成只包含3個(gè)像素值的灰度圖像,灰度值設(shè)置為0、1、2,分別代表背景、細(xì)胞質(zhì)和細(xì)胞核。
語義分割是像素級別的分類,最常用的評價(jià)指標(biāo)有平均像素準(zhǔn)確率(Mean Pixel Accuracy,MPA)和平均交并比(Mean Intersection over Union,MIoU)。
假設(shè)數(shù)據(jù)集有k+1類,pii表示真陽性(Ture Positive,TP),pjj表示真陰性(Ture Negative,TN),pij表示假陽性(False Positive,F(xiàn)P),pji表示假陰性(False Nagative,F(xiàn)N),平均像素準(zhǔn)確率MPA的計(jì)算如式(5)所示。
(5)
平均交并比MIoU的計(jì)算如式(6)所示。
(6)
本文使用的數(shù)據(jù)集缺少真實(shí)對應(yīng)的標(biāo)簽,為了更好地評價(jià)EDCNet,對測試集數(shù)據(jù)使用labelme模塊進(jìn)行標(biāo)定,生成測試集對應(yīng)的ground truth[19](正確的標(biāo)定)。
訓(xùn)練集的8 400張圖片被分兩批進(jìn)行訓(xùn)練。第一批選取2 520(占訓(xùn)練集的30%)張只含有單個(gè)細(xì)胞且分割效果較好的圖片作為網(wǎng)絡(luò)的初訓(xùn)練集。其余5 880(占訓(xùn)練集的70%)張圖片作為網(wǎng)絡(luò)的完善訓(xùn)練集。訓(xùn)練過程如下:
步驟1初訓(xùn)練集送入到網(wǎng)絡(luò)進(jìn)行第一次訓(xùn)練,訓(xùn)練出一個(gè)具有一定語義分割能力的深度卷積神經(jīng)網(wǎng)絡(luò),即initial DCNN;
步驟2使用第一次訓(xùn)練得到的initial DCNN對剩下的5 880張訓(xùn)練集圖片進(jìn)行預(yù)測,輸出相對應(yīng)的segmentation mask。將該5880張?jiān)瓐D和網(wǎng)絡(luò)輸出的segmentation mask繼續(xù)送入該網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到加強(qiáng)的深度卷積神經(jīng)網(wǎng)絡(luò),即Enhanced DCNN,進(jìn)一步提升網(wǎng)絡(luò)的語義分割能力;
步驟3將全部訓(xùn)練集的8 400張圖片送入Enhanced DCNN訓(xùn)練出最終的深度卷積神經(jīng)網(wǎng)絡(luò)Powerful DCNN。
為了比對結(jié)果與原圖,把兩者調(diào)整透明度進(jìn)行了重合比對操作。
由圖5可以看出輸出分割圖與原圖幾乎重合,達(dá)到了預(yù)期的分割效果。
圖5 輸出結(jié)果與原圖的對比圖Figure 5.Comparison between output result and original image
為了更好地驗(yàn)證EDCNet的性能,將本文提出的分割算法與經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)FCN[20]、Encoder-Decoder結(jié)構(gòu)的SegNet[21]網(wǎng)絡(luò)、針對細(xì)胞圖像分割的UNet++[22]網(wǎng)絡(luò)以及圖像處理效果優(yōu)越的卷積神經(jīng)網(wǎng)絡(luò)CGAN[23]進(jìn)行對比。
(a) (b) (c) (d) (e) (f)圖6 圖像分割結(jié)果對比(a)細(xì)胞原圖 (b)FCN分割結(jié)果 (c)SegNet分割結(jié)果 (d)UNet++分割結(jié)果 (e)CGAN分割結(jié)果 (f)EDCNet分割結(jié)果Figure 6.Comparison of image segmentation results(a)Cell images (b)FCN prediction results (c)SegNet prediction results (d)UNet++ prediction results (e)CGAN prediction results (f)EDCNet prediction results
使用本文數(shù)據(jù)集分別訓(xùn)練以上5種網(wǎng)絡(luò)模型,超參數(shù)batch-size設(shè)置為4,epoch為2 000。5種模型的訓(xùn)練結(jié)果如圖6所示。可以看出,F(xiàn)CN模型訓(xùn)練結(jié)果中細(xì)胞邊界不清晰,SegNet模型訓(xùn)練結(jié)果細(xì)胞質(zhì)并不完整,UNet++訓(xùn)練結(jié)果細(xì)胞核缺失,CGAN模型訓(xùn)練結(jié)果有較大提高,但是邊界依然不圓滑;EDCNet訓(xùn)練結(jié)果較以上模型有較大改善。
將測試集分為10組,每組120張圖片,分別計(jì)算MPA與MIoU,并取最終的平均準(zhǔn)確率。
5種方法的MPA對比結(jié)果如表1所示,MIoU對比結(jié)果如表2所示。從表中可以看出,SegNet在FCN基礎(chǔ)上加入了編解碼結(jié)構(gòu),明顯提高了準(zhǔn)確率;EDCNet比CGAN模型復(fù)雜度更小,網(wǎng)絡(luò)結(jié)構(gòu)更加簡單。EDCNet相比于UNet++,參數(shù)量有所降低。其網(wǎng)絡(luò)中加入CRF層,準(zhǔn)確率進(jìn)一步提升至96.7%,比UNet++模型高出12.5%。
表1 5種算法的MPA對比表Table 1. Comparison of MPA of five algorithms
表2 5種算法的MIoU對比表Table 2. Comparison of MIoU of five algorithms
本文提出了一種基于Encoder-Decoder結(jié)構(gòu)的弱監(jiān)督語義分割模型,并使用宮頸細(xì)胞圖片對該模型進(jìn)行驗(yàn)證。所提出的網(wǎng)絡(luò)結(jié)構(gòu)不僅減少了網(wǎng)絡(luò)深度[24],還在Decoder解碼部分加入了反卷積和CRF優(yōu)化層,在提高學(xué)習(xí)能力的同時(shí)優(yōu)化了輸出圖像的細(xì)節(jié)[25],使最終分割準(zhǔn)確率達(dá)到了96.7%。本文建立了宮頸細(xì)胞TCT涂片圖像的數(shù)據(jù)集。該數(shù)據(jù)集中的一張圖片是由大圖片在有重疊情況下剪切而來,因此以該數(shù)據(jù)集訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的泛化能力。實(shí)驗(yàn)結(jié)果表明,該方法能夠有效地分割出背景、細(xì)胞質(zhì)及細(xì)胞核,為精確識(shí)別宮頸細(xì)胞病變判別奠定了基礎(chǔ)。下一階段的研究重點(diǎn)為在多個(gè)細(xì)胞嚴(yán)重重疊的情況下分割出單個(gè)細(xì)胞。