李申,康歡
(廣東工業(yè)大學(xué)機(jī)電工程學(xué)院,廣州510000)
宮頸癌是全球女性健康的一大威脅,是女性最為常見(jiàn)的癌癥類型之一。同時(shí),如果能夠早期及時(shí)發(fā)現(xiàn)并治療,宮頸癌有著極高的治愈率[1-3]。因此,宮頸癌的早期篩查對(duì)于宮頸癌的防治有著重要意義。目前的篩查方式主要依靠病理醫(yī)生人工判讀,這種方法不僅工作量巨大,而且其結(jié)果容易受到病理醫(yī)生技術(shù)水平和主觀情緒的影響。因此,實(shí)現(xiàn)宮頸細(xì)胞圖像的自動(dòng)分類系統(tǒng)有著重要的現(xiàn)實(shí)意義。
傳統(tǒng)的圖像分類系統(tǒng)首先需要完成針對(duì)宮頸細(xì)胞圖像的分割工作,然后從分割后的圖像中提取圖像特征,接著訓(xùn)練特征分類器。Juan Valentín等人[4]使用形態(tài)學(xué)特征和Haralick紋理特征的組合對(duì)宮頸細(xì)胞圖像進(jìn)行了分類,這些特征是從細(xì)胞核灰度共生矩陣中獲得的,并通過(guò)PCA減少數(shù)據(jù)維數(shù),并證明了其有效性。蘇潔等人[5]提出了使用兩級(jí)級(jí)聯(lián)分類系統(tǒng),根據(jù)每種細(xì)胞類型的特征提出了28個(gè)特征,包括20個(gè)形態(tài)特征和8個(gè)紋理特征。然后,使用兩個(gè)分類器的兩級(jí)級(jí)聯(lián)集成系統(tǒng)將宮頸細(xì)胞分為正常和異常上皮細(xì)胞,進(jìn)一步提高了分類的精度。魯武警[6]提出了基于主動(dòng)輪廓模型和梯度矢量流的細(xì)胞圖像分割算法,并提取分割圖像的形狀特征和顏色特征,使用支持向量機(jī)作為分類器,達(dá)到了宮頸細(xì)胞識(shí)別的目的。這種宮頸細(xì)胞的分類方法需要研究人員手工完成對(duì)宮頸細(xì)胞圖像特征提取算法的設(shè)計(jì),這不僅要求研究人員具備一定的細(xì)胞病理學(xué)知識(shí),而且其最終選取的圖像特征也不一定具備代表性。
得益于深度學(xué)習(xí)算法的飛速發(fā)展,使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行醫(yī)學(xué)圖像分析也成為了一大研究熱點(diǎn)。本文采用基于遷移學(xué)習(xí)的宮頸細(xì)胞圖像的多分類識(shí)別,使用卷積神經(jīng)網(wǎng)絡(luò)完成宮頸細(xì)胞圖像的特征提取工作和圖像的分類工作,實(shí)現(xiàn)端到端的分類算法。這種方法無(wú)需手工設(shè)計(jì)局部特征算法,引入的卷積操作能夠詳細(xì)感知圖形局部特征細(xì)節(jié),通過(guò)神經(jīng)網(wǎng)絡(luò)中的反向傳播不斷更新網(wǎng)絡(luò)層權(quán)重參數(shù),能夠?qū)崿F(xiàn)更加準(zhǔn)確的宮頸細(xì)胞圖像識(shí)別。
本文的目的是為了能夠完成對(duì)宮頸細(xì)胞的高精度分類研究,設(shè)計(jì)一個(gè)以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的宮頸細(xì)胞自動(dòng)分類算法。卷積神經(jīng)網(wǎng)絡(luò)在各類目標(biāo)檢測(cè)、分割和分類任務(wù)上都有優(yōu)異的表現(xiàn)。但是,由于訓(xùn)練樣本數(shù)量的限制,大型的神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中可能出現(xiàn)過(guò)擬合的問(wèn)題,而大型的神經(jīng)網(wǎng)絡(luò)在分類的精度上又有明顯的提升,所以卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中需要一個(gè)相當(dāng)大的數(shù)據(jù)集,以確保學(xué)習(xí)到的模型具有高精度的同時(shí)具備較好的泛化能力。為了解決在數(shù)據(jù)量不足的條件下實(shí)現(xiàn)高精度的細(xì)胞分類,在本文中引入遷移學(xué)習(xí)[7-8],使用經(jīng)過(guò)預(yù)先訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)完成宮頸細(xì)胞分類任務(wù)。遷移學(xué)習(xí)的目的是通過(guò)相近領(lǐng)域的信息學(xué)習(xí)提高在目標(biāo)領(lǐng)域的學(xué)習(xí)能力。簡(jiǎn)單地說(shuō),遷移學(xué)習(xí)就是將解決A問(wèn)題獲得的知識(shí)用來(lái)解決B任務(wù),以期望在B任務(wù)中有更好的學(xué)習(xí)表現(xiàn)。其中,A問(wèn)題被稱為源領(lǐng)域,B任務(wù)被稱為目標(biāo)任務(wù)。具體的遷移學(xué)習(xí)示意圖如圖1所示。
圖1 遷移學(xué)習(xí)示意圖
將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖像領(lǐng)域時(shí),圖像的特征提取是通過(guò)卷積層實(shí)現(xiàn)的,不同深度的卷積層可以提取到不同的圖像特征,而池化層的目的主要是為了減少網(wǎng)絡(luò)參數(shù)數(shù)量,縮短訓(xùn)練時(shí)間,節(jié)約算力。最后的全連接層則是整合整個(gè)網(wǎng)絡(luò)提取的特征,最后再通過(guò)分類器得到圖像的分類結(jié)果。具體的,在圖像分類領(lǐng)域,遷移學(xué)習(xí)就是通過(guò)在大型的圖像數(shù)據(jù)集上進(jìn)行深度卷積神經(jīng)網(wǎng)絡(luò)的預(yù)訓(xùn)練,此時(shí)獲得的帶有權(quán)重的卷積神經(jīng)網(wǎng)絡(luò)模型視為通用的底層特征提取器用于新的圖像分類任務(wù)。這種通過(guò)在大型數(shù)據(jù)集預(yù)訓(xùn)練的方式可以充分發(fā)揮卷積神經(jīng)網(wǎng)絡(luò)的體系結(jié)構(gòu)優(yōu)勢(shì),得益于預(yù)訓(xùn)練的網(wǎng)絡(luò)模型的參數(shù)信息以配置文件的方式儲(chǔ)存,可以將訓(xùn)練好的權(quán)重參數(shù)直接對(duì)網(wǎng)絡(luò)模型進(jìn)行初始化,無(wú)需重新在海量數(shù)據(jù)集上重新進(jìn)行訓(xùn)練,極大節(jié)約了網(wǎng)絡(luò)的訓(xùn)練時(shí)間。同時(shí),經(jīng)過(guò)預(yù)訓(xùn)練的網(wǎng)絡(luò)模型具備了提取通用底層特征的能力,可以提取目標(biāo)領(lǐng)域的圖像特征得到一個(gè)粗略的分類結(jié)果。另外,將在大型數(shù)據(jù)集上訓(xùn)練得到的權(quán)重參數(shù)對(duì)新的相同結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)進(jìn)行初始化,接著通過(guò)在目標(biāo)領(lǐng)域的圖像數(shù)據(jù)集上進(jìn)行訓(xùn)練,可以實(shí)現(xiàn)針對(duì)目標(biāo)數(shù)據(jù)集的網(wǎng)絡(luò)權(quán)重參數(shù)的微調(diào),進(jìn)一步學(xué)習(xí)目標(biāo)領(lǐng)域的圖像特征,通過(guò)這種微調(diào)的方式也可以極大提升網(wǎng)絡(luò)模型在目標(biāo)領(lǐng)域的分類性能。
本文中的宮頸細(xì)胞圖像分類受制于數(shù)據(jù)量較少,使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類時(shí),很容易出現(xiàn)過(guò)擬合的情況,所以本文通過(guò)遷移學(xué)習(xí)的方式完成對(duì)宮頸細(xì)胞的分類。圖2是本文的遷移學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練過(guò)程,通過(guò)轉(zhuǎn)移在ImageNet數(shù)據(jù)集上訓(xùn)練得到的權(quán)重到另一個(gè)卷積神經(jīng)網(wǎng)絡(luò)完成宮頸細(xì)胞的分類。
圖2 遷移學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練過(guò)程
VGG網(wǎng)絡(luò)[9]增加了卷積神經(jīng)網(wǎng)絡(luò)模型的深度,證明了增加網(wǎng)絡(luò)深度可以有效提高模型的性能。使用多個(gè)3×3的卷積核代替了原先較大尺寸的卷積核,其網(wǎng)絡(luò)結(jié)構(gòu)非常簡(jiǎn)潔,整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中卷積核尺寸都為3×3,最大池化尺寸都為2×2。這種卷積操作為后續(xù)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的發(fā)展奠定了基礎(chǔ)。
ResNet[10]網(wǎng)絡(luò)模型是在VGG-19的基礎(chǔ)上改進(jìn)而來(lái),最早由微軟研究院在2014年提出。VGG網(wǎng)絡(luò)模型在加深網(wǎng)絡(luò)層數(shù)時(shí)出現(xiàn)了模型退化現(xiàn)象,也就是當(dāng)VGG網(wǎng)絡(luò)結(jié)構(gòu)層數(shù)大于19時(shí),模型的精度出現(xiàn)大幅的下降。ResNet通過(guò)殘差連接的方式,使得原始的輸入信息能夠直接傳遞到后面的網(wǎng)絡(luò)結(jié)構(gòu)中,這樣保留了部分原始信息,得以在網(wǎng)絡(luò)深度較大的模型中進(jìn)行參數(shù)的學(xué)習(xí),在一定程度上解決了因網(wǎng)絡(luò)層數(shù)加深造成的梯度彌散問(wèn)題,該模型是在ImageNet上提出的較深的卷積神經(jīng)網(wǎng)絡(luò)模型之一。
DenseNet[11]網(wǎng)絡(luò)模型是一種采用密集連接方法的卷積神經(jīng)網(wǎng)絡(luò),為了保證各個(gè)網(wǎng)絡(luò)層之間的信息連接,將所有網(wǎng)絡(luò)層直接相互連接。DenseNet模型為了充分利用淺層神經(jīng)網(wǎng)絡(luò)提取到的圖像特征,將每一層的輸入都加入了先前所有層的輸出,并將其自身的特征圖傳遞給后續(xù)所有的網(wǎng)絡(luò)層。與ResNet網(wǎng)絡(luò)模型不同,DenseNet模型沒(méi)有采用求和的方式進(jìn)行特征的組合,而是通過(guò)串聯(lián)的方式組合不同網(wǎng)絡(luò)層提取到的圖像特征。這種密集連接的網(wǎng)絡(luò)直觀上可能會(huì)產(chǎn)生網(wǎng)絡(luò)模型參數(shù),實(shí)際上得益于不需要重新學(xué)習(xí)冗余的特征圖,DenseNet模型的參數(shù)更少。
目前公開(kāi)的宮頸細(xì)胞涂片數(shù)據(jù)集有SIPaKMeD數(shù)據(jù)集[12]和Herlev數(shù)據(jù)集。其中,SIPaKMeD數(shù)據(jù)集包含4031張細(xì)胞圖像,由病理學(xué)醫(yī)生根據(jù)細(xì)胞形態(tài)特征分為5類。Helev數(shù)據(jù)集共包含917張細(xì)胞圖像,由病理學(xué)醫(yī)生根據(jù)細(xì)胞形態(tài)特征分為7類。為了提高卷積神經(jīng)網(wǎng)絡(luò)的泛化能力,本文使用的數(shù)據(jù)集為上述兩個(gè)數(shù)據(jù)集的集合,在病理學(xué)醫(yī)生的指導(dǎo)下對(duì)上述兩個(gè)數(shù)據(jù)集細(xì)胞圖像進(jìn)行了二次歸類,新集合的宮頸細(xì)胞分布如表1所示。
表1 本文使用宮頸細(xì)胞圖像分布
本文在深度學(xué)習(xí)平臺(tái)PyTorch中實(shí)現(xiàn)了3種神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu):VGG-19、ResNet50和DenseNet121。這些網(wǎng)絡(luò)模型都在包含1300萬(wàn)張自然圖像的ImageNet數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練。在本文的宮頸細(xì)胞分類任務(wù)中,將卷積神經(jīng)網(wǎng)絡(luò)模型的全連接層神經(jīng)元個(gè)數(shù)修改為類別數(shù),本文的類別數(shù)為5類,將最后的輸出層個(gè)數(shù)大小從原來(lái)的1000修改為5。通過(guò)隨機(jī)梯度下降(SGD)反向傳播[13]對(duì)網(wǎng)絡(luò)模型進(jìn)行微調(diào)。訓(xùn)練集大小占70%,交叉驗(yàn)證集占20%,測(cè)試集占10%。在模型的訓(xùn)練過(guò)程中采用SGD優(yōu)化算法進(jìn)行梯度更新,批次大小設(shè)置為32,最大訓(xùn)練批次為30。損失函數(shù)定義為交叉熵?fù)p失函數(shù)。學(xué)習(xí)調(diào)整策略采用余弦退火學(xué)習(xí)率[14],在訓(xùn)練初期學(xué)習(xí)率從一個(gè)較小的值增大到0.001,然后按照余弦曲線的規(guī)律逐漸遞減。同時(shí),由于不同的神經(jīng)網(wǎng)絡(luò)模型都是針對(duì)特定大小的輸入圖像,VGG19模型的輸入圖像大小為224×224,ResNet50模型的輸入圖像大小為224×224,DenseNet121模型的輸入圖像大小為512×512。在實(shí)驗(yàn)過(guò)程中,每個(gè)圖像都被調(diào)整為對(duì)應(yīng)的大小以使用不同神經(jīng)網(wǎng)絡(luò)模型的輸入層。
(1)數(shù)據(jù)增強(qiáng)。在卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,數(shù)據(jù)集的大小對(duì)模型最終的精度以及泛化能力有著很大的影響。本文的所采用的宮頸細(xì)胞圖像來(lái)自兩個(gè)經(jīng)專業(yè)病理醫(yī)生標(biāo)注的混合數(shù)據(jù)集,但數(shù)據(jù)集的大小依然不夠理想。使用數(shù)據(jù)增強(qiáng)方式[15]對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充是一種提高模型精度和泛化能力的重要手段,避免了因數(shù)據(jù)集過(guò)小而產(chǎn)生的過(guò)擬合現(xiàn)象。本文的數(shù)據(jù)增強(qiáng)具體方式考慮到實(shí)際細(xì)胞圖像采樣過(guò)程中可能會(huì)出現(xiàn)的旋轉(zhuǎn)、鏡像以及明暗變化情況對(duì)數(shù)據(jù)集進(jìn)行了擴(kuò)充。如圖3所示為以左上角原始細(xì)胞圖像為例,進(jìn)行旋轉(zhuǎn)變換、亮度變換和鏡像變換的效果圖。
圖3 數(shù)據(jù)增強(qiáng)細(xì)胞圖像
(2)測(cè)試增強(qiáng)。測(cè)試增強(qiáng)[16]是將數(shù)據(jù)增強(qiáng)技術(shù)應(yīng)用于測(cè)試數(shù)據(jù)集的一種方法。數(shù)據(jù)增強(qiáng)技術(shù)廣泛應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,能夠在一定程度上提高模型的精度,減少泛化誤差。在使用網(wǎng)絡(luò)模型進(jìn)行預(yù)測(cè)時(shí),同樣可以使用數(shù)據(jù)增強(qiáng)技術(shù),使得模型針對(duì)測(cè)試數(shù)據(jù)集每個(gè)圖像的多個(gè)不同版本進(jìn)行預(yù)測(cè),對(duì)全部預(yù)測(cè)結(jié)果進(jìn)行平均,以獲得更好的預(yù)測(cè)性能。具體的,測(cè)試時(shí)增強(qiáng)包含3個(gè)步驟,①為測(cè)試集中的每個(gè)圖像創(chuàng)建多個(gè)增強(qiáng)圖像,通常包括平移、裁剪和圖像翻轉(zhuǎn)等,如圖4所示。②為上述每個(gè)圖像做出預(yù)測(cè),預(yù)測(cè)過(guò)程中會(huì)產(chǎn)生不同的置信概率。③為預(yù)測(cè)圖像分配平均置信概率最大的類別。
圖4 測(cè)試增強(qiáng)方法示意圖
(3)標(biāo)簽平滑。在神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程中,理論上損失函數(shù)的值越小越好,損失函數(shù)越小說(shuō)明模型的輸出與真實(shí)值的差距越小。但是,如果學(xué)習(xí)的樣本中存在少量的錯(cuò)誤標(biāo)簽,此時(shí)的錯(cuò)誤的標(biāo)簽也會(huì)對(duì)網(wǎng)絡(luò)模型產(chǎn)生影響,從而使得整個(gè)網(wǎng)絡(luò)模型的精度下降。本文使用的宮頸細(xì)胞圖片是在病理醫(yī)生的指導(dǎo)下完成的分類,但是考慮到不同類別的宮頸細(xì)胞有時(shí)其圖像特征差距并不大,分類的結(jié)果可能存在一定的誤差。標(biāo)簽平滑[17]是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程中的一種正則化方法,可以防止“過(guò)分”相信預(yù)測(cè)標(biāo)簽,改善模型的泛化能力。具體的,在分類問(wèn)題中,通過(guò)采用獨(dú)熱編碼,目標(biāo)類別為1,非目標(biāo)類別為0。其標(biāo)簽向量yi的數(shù)學(xué)表達(dá)式如式(1)所示。
在神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練過(guò)程中,預(yù)測(cè)概率與標(biāo)簽真實(shí)值之間的差值不斷減小,錯(cuò)誤標(biāo)簽促使神經(jīng)網(wǎng)絡(luò)模型向錯(cuò)誤的方向?qū)W習(xí),使得模型的訓(xùn)練變得困難,泛化能力變差。
標(biāo)簽平滑使用新的標(biāo)簽向量的表達(dá)公式代替獨(dú)熱編碼,數(shù)學(xué)表達(dá)式如式(2)所示:
式中N為分類的總類別數(shù),α為標(biāo)簽平滑參數(shù),通常取0.1。
此時(shí)的交叉熵?fù)p失函數(shù)為式(3)所示:
此時(shí)的損失函數(shù)分布相當(dāng)于加入了噪聲,避免了模型對(duì)于正確標(biāo)簽的“過(guò)分自信”,提高了網(wǎng)絡(luò)模型的泛化能力。
本文的宮頸細(xì)胞圖像分類實(shí)驗(yàn)中,采用的預(yù)訓(xùn)練模型分別為VGG19、ResNet50、和DenseNet121。經(jīng)過(guò)反向傳播微調(diào)的神經(jīng)網(wǎng)絡(luò)模型的五分類混淆矩陣如圖5所示。由圖5可以看出各個(gè)網(wǎng)絡(luò)模型對(duì)于表層、中層鱗狀細(xì)胞的識(shí)別精度最高,結(jié)合細(xì)胞圖像信息,這類細(xì)胞的細(xì)胞通常呈現(xiàn)規(guī)則圓形,細(xì)胞核較小且容易識(shí)別。其中,DenseNet121取得最高查準(zhǔn)率0.921。具體的網(wǎng)絡(luò)模型的評(píng)價(jià)精度指標(biāo)匯總?cè)绫?所示。
圖5 不同微調(diào)模型的分類結(jié)果混淆矩陣
表2 不同網(wǎng)絡(luò)模型分類精度對(duì)比
為了驗(yàn)證本文所使用的優(yōu)化策略的有效性,在相同實(shí)驗(yàn)條件下,進(jìn)行了宮頸細(xì)胞圖像的分類實(shí)驗(yàn),最終結(jié)果如表3所示??梢钥闯?,采用數(shù)據(jù)增強(qiáng)、測(cè)試增強(qiáng)以及標(biāo)簽平滑后,宮頸細(xì)胞圖像的分類精度有了很大的提升。最終的宮頸細(xì)胞圖像分類精度達(dá)到查準(zhǔn)率0.936,召回率0.931,F(xiàn)1-Score 0.933。
表3 優(yōu)化前后模型精度對(duì)比
本文通過(guò)卷積神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)了針對(duì)宮頸細(xì)胞圖像的自動(dòng)分類識(shí)別,使用遷移學(xué)習(xí)初始化不同的分類網(wǎng)絡(luò)模型,對(duì)比了不同模型在混合數(shù)據(jù)集的分類精度。同時(shí),采用數(shù)據(jù)增強(qiáng)、測(cè)試增強(qiáng)和標(biāo)簽平滑的優(yōu)化策略,進(jìn)一步提升了宮頸細(xì)胞圖像的分類精度,驗(yàn)證了優(yōu)化策略的有效性?;贒enseNet121模型遷移學(xué)習(xí)的分類精度最高,查準(zhǔn)率達(dá)到了0.936??梢栽谝欢ǔ潭壬蠋椭±磲t(yī)生對(duì)宮頸癌篩查結(jié)果做出診斷,有益于宮頸癌疾病的防治。