(一)技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于全卷積神經(jīng)網(wǎng)絡(luò)的皮膚鏡圖像自動分割方法,屬于圖像處理和機器學習的技術(shù)領(lǐng)域。
(二)
背景技術(shù):
:
皮膚作為人類抵抗外界病原體入侵的第一道防線,對人類的健康起到至關(guān)重要的作用。然而,隨著環(huán)境、人類飲食的變化,各種皮膚病影響著人類的生活,皮膚癌更是威脅到人類的生命。皮膚鏡是一種觀察活體皮膚表面以下微細結(jié)構(gòu)和色素的無創(chuàng)性顯微圖像分析技術(shù),對于皮膚病的臨床診斷有著重要意義。
當臨床醫(yī)生采用裸眼方式通過皮膚鏡診斷皮膚疾病時,往往依賴于自己的經(jīng)驗和主觀視覺評價,診斷的準確率低、可重復性差。皮膚鏡圖像計算機輔助診斷系統(tǒng)正是解決這個問題的有效途徑,其可以對病變組織自動提取、智能識別,具有定量測量和定量分析的功能,使診斷更加精確、客觀、一致。皮膚鏡圖像計算機輔助診斷系統(tǒng)主要涉及五個環(huán)節(jié):圖像采集、圖像預處理、圖像分割、特征提取以及分類識別,其中,圖像分割環(huán)節(jié)的精確程度在很大程度上決定了最終結(jié)果的準確性。由于皮膚鏡圖像經(jīng)常存在對比度低、皮損邊緣模糊不清、顏色紋理多樣以及毛發(fā)噪聲等各種情況,導致皮膚鏡圖像的分割具有非常大的挑戰(zhàn)性。
卷積神經(jīng)網(wǎng)絡(luò)在分割和分類等多種醫(yī)學圖像分析任務(wù)中取得極具優(yōu)勢的效果,并顯現(xiàn)出強大的適用性。本發(fā)明將全卷積神經(jīng)網(wǎng)絡(luò)引入皮膚鏡圖像分割中。首先根據(jù)皮膚鏡圖像的特點構(gòu)建神經(jīng)網(wǎng)絡(luò)的特征高維映射模塊。然后,為了提高模型性能,設(shè)計雙分支的特征提取模塊來提取全局和局部特征,最后,將兩分支的特征合并,計算概率圖,進而用softmax方法進行逐像素預測,實現(xiàn)皮膚鏡圖像的準確分割。
(三)
技術(shù)實現(xiàn)要素:
:
1、目的:本發(fā)明的目的在于提供一種基于全卷積神經(jīng)網(wǎng)絡(luò)的皮膚鏡圖像自動分割方法,能夠準確區(qū)分皮損區(qū)域和健康皮膚區(qū)域,為后續(xù)特征提取和分類識別提供保障。該方法通過學習一定量人工標記好的樣本,生成具有高魯棒性的分割模型。即使是對于邊緣模糊、顏色多樣或有毛發(fā)和人工標記物干擾的皮膚鏡圖像,該模型也可以不受干擾,實現(xiàn)準確分割。
2、技術(shù)方案:本發(fā)明通過以下技術(shù)方案實現(xiàn)。
本發(fā)明是一種基于全卷積神經(jīng)網(wǎng)絡(luò)的皮膚鏡圖像自動分割方法,該方法包括以下四個步驟:
步驟1:皮膚鏡圖像與真值圖獲取
①本發(fā)明所用圖像來源于醫(yī)院專業(yè)皮膚鏡設(shè)備拍攝得到的圖像,或網(wǎng)上公開的皮膚鏡圖像數(shù)據(jù)集,共9000幅,其中惡性1200幅,良性7800幅;
②對于每一幅圖像,由專業(yè)皮膚科醫(yī)生手動分割得到真值圖;在真值圖中,用0代表健康皮膚區(qū)域,1代表皮損區(qū)域;
步驟2:全卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
典型的全卷積神經(jīng)網(wǎng)絡(luò)通過分層計算特征圖得到分割結(jié)果,各層通過卷積核在本層特征圖上的卷積計算得到下一層的特征圖像;設(shè)xij為當前層位于(i,j)位置的特征向量,yij為下一層對應位置的特征向量,則卷積操作可表示為:
yij=fks({xs*i+δ*i,s*j+δ*j},θ),0≤δi,δj≤k
其中,k為卷積核尺寸,s為卷積步長或下采樣比例,θ為卷積層參數(shù),fks決定了該層的運算類型,例如,對于普通卷積層fks代表矩陣乘法運算,對于最大值池化層fks代表取最大值;網(wǎng)絡(luò)通過學習樣本集,反向傳播梯度誤差來學習θ的值;
本發(fā)明所設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)由一個特征高維映射模塊和多尺度特征提取模塊組成,其中多尺度特征提取模塊又分為全局特征提取和局部特征提取兩個分支,具體設(shè)計思路如下:
①特征高維映射模塊:由于皮膚鏡圖像復雜程度高,皮損區(qū)域分割是一項具有挑戰(zhàn)性的任務(wù),為了應對各種不同情況,所設(shè)計的網(wǎng)絡(luò)應具有一定深度來提取更高層的特征;然而,考慮到皮膚鏡圖像數(shù)據(jù)較少,一個隨機初始化的深度網(wǎng)絡(luò)將需要很長時間或者很難收斂,因此本發(fā)明采用遷移學習的方法來減少網(wǎng)絡(luò)學習時間并提高其魯棒性;本發(fā)明網(wǎng)絡(luò)的低層網(wǎng)絡(luò)部分由vgg-16網(wǎng)絡(luò)的前十層fine-tuning得到;網(wǎng)絡(luò)的具體結(jié)構(gòu)如下所示:
conv1(3×3×64)→conv2(3×3×64)→maxp1→conv3(3×3×128)→conv4(3×3×128)→maxp2→conv5(3×3×256)→conv6(3×3×256)→conv7(3×3×256)→maxp3→conv8(3×3×512)→conv9(3×3×512)→conv10(3×3×512)
其中“conv”代表卷積層,括號內(nèi)部分為該層卷積核參數(shù)(寬度×長度×數(shù)量),各卷積層后都連接著一個修正線性單元層“relu”,為了公式的簡潔該層并未給出,“maxp”代表最大值池化層,各層的最大值提取范圍均為2×2;
②多尺度特征提取模塊:當全卷積神經(jīng)網(wǎng)絡(luò)越來越深時,其分類的準確性和定位的精確度通常無法同時兼顧,這從很大程度上限制了網(wǎng)絡(luò)的表現(xiàn)。造成這種情況的主要原因是下采樣層(例如最大值池化層)隨著網(wǎng)絡(luò)加深而增多,在增大了感受野的同時也提高了模型的平移、旋轉(zhuǎn)不變性,而不變性的提升降低了模型的定位能力;為了解決這個兩難問題,本模塊使用雙分支結(jié)構(gòu)提取不同尺度的特征,這樣可以同時保證模型的分類與定位性能;
●全局分支:全局分支由vgg-16網(wǎng)絡(luò)的第11層至第15層fine-tuning而成,為了避免定位能力的下降,該結(jié)構(gòu)去掉了其中作為下采樣層的最大值池化層;為了獲取全局特征,該結(jié)構(gòu)采用填零法(hole方法)來擴大感受野(前三層擴大兩倍,最后兩層擴大十二倍);這種方法通過在每一個原始濾波器參數(shù)間填零來改變各層的卷積濾波器;這樣,即使卷積濾波器的尺寸改變,也可以實現(xiàn)fine-tuning;因此,全局分支在不因下采樣而損失定位能力的情況下,向網(wǎng)絡(luò)提供了全局特征;該分支的具體結(jié)構(gòu)為:
hconv1(6×6×512)→hconv2(6×6×512)→hconv3(6×6×512)→hconv4(36×36×1024)→hconv5(36×36×1024)
其中,“hconv”表示使用填零法擴大了感受野的卷積層;
●局部分支:局部分支由四個卷積核大小為3×3的卷積層組成,因為該分支結(jié)構(gòu)簡單,其濾波器參數(shù)都是隨機生成的;與全局分支相比,局部分支的感受野更小,提取的是圖像的局部特征,主要針對小面積皮損區(qū)域;分支的具體結(jié)構(gòu)如下所示:
conv11(3×3×512)→conv12(3×3×512)→conv13(3×3×1024)→conv14(3×3×1024);
步驟3:特征融合與逐像素分割方法設(shè)計
將一幅待分割的圖像輸入到所設(shè)計的卷積神經(jīng)網(wǎng)絡(luò),經(jīng)特征高維映射模塊將特征映射至高維空間,采用全局分支和局部分支分別提取出全局特征和局部特征。從全局分支和局部分支的結(jié)構(gòu)可知,每個分支最終的特征圖均為1024幅。接下來需要對這些特征圖進行融合并對每個像素進行是否為皮損的預測。具體步驟如下:
①將由全局分支和局部分支提取的各1024張?zhí)卣鲌D合并在一起,得到2048張用于分類的特征圖。對這些特征圖進行卷積,生成2張預測概率圖,其中一張預測圖各位置的值代表該位置屬于健康皮膚的概率,另一張圖則代表各位置屬于皮損的概率;
②由于我們在特征高維映射模塊中使用了三個最大值池化層,因此特征圖的尺寸是原始圖像的八分之一;為了與原始圖像上的像素一一對應,使用雙線性插值法放大預測概率圖至原始圖像尺寸;
③使用softmax分類器做逐像素預測,把每個像素的預測結(jié)果合并在一起,即可得到最終的二值化分割結(jié)果;
步驟4:網(wǎng)絡(luò)訓練與分割
本發(fā)明在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計完成后,需要用足夠的皮膚鏡圖像及其相應真值圖訓練后才能使用。網(wǎng)絡(luò)訓練過程分以下三個階段:
①加載vgg-16網(wǎng)絡(luò)的前十五層參數(shù),并對其中第11至第15層的卷積核使用填零法來擴大尺寸;此時網(wǎng)絡(luò)的特征高維映射模塊和特征提取模塊中的全局分支便已經(jīng)建立,通過訓練,更新兩部分的卷積核;
②增加局部分支,采用均值為0的高斯分布進行各層參數(shù)的初始化,固定①階段時訓練好的高維映射模塊參數(shù),并屏蔽全局分支,第二次訓練,更新局部分支的參數(shù);
③融合全局分支和局部分支的特征,再次訓練,同時更新高維映射模塊、全局分支及局部分支三個部分的卷積核參數(shù);
訓練完成后,直接向網(wǎng)絡(luò)輸入一張待分割的皮膚鏡圖像,網(wǎng)絡(luò)輸出結(jié)果即是分割結(jié)果。
其中,在步驟二中所述的“fine-tuning”,是一種遷移學習方法,具體實施過程為將用于其他任務(wù)的訓練完畢的模型參數(shù)作為當前任務(wù)模型的初始參數(shù),以降低模型訓練時間和提高模型魯棒性;
其中,在步驟二中“修正線性單元層‘relu’”是一個映射函數(shù),函數(shù)運算公式如下:
其中,在步驟三中所述的“softmax分類器”,是指一種常用的有監(jiān)督多分類模型,在本模型中,該分類器的具體實施過程是對各個輸入分類器的概率值做指數(shù)計算,經(jīng)歸一化后,最大值所代表的類別即為分類結(jié)果;
其中,步驟四中所述的“填零法”,是指一種在改變卷積層卷積核大小的情況下,保證遷移學習有效性的方法,具體操作為在原始參數(shù)間插入“0”值。
通過以上步驟,訓練得到一個端到端的深度卷積神經(jīng)網(wǎng)絡(luò),能夠?qū)ζつw鏡圖像做精準分割,同時對小面積皮損區(qū)域有效,解決了皮膚科計算機輔助診斷系統(tǒng)中,皮損區(qū)域分割不佳,影響后續(xù)診斷準確性的實際問題。
3.優(yōu)點和功效
本方法是一種端到端的全自動分割算法,網(wǎng)絡(luò)模型各參數(shù)在訓練過程中同時優(yōu)化,保證了系統(tǒng)的統(tǒng)一性,同時使模型具有高魯棒性,在網(wǎng)絡(luò)模型訓練完成后,用戶直接輸入待分割圖像,不需要額外設(shè)置,就可以得到網(wǎng)絡(luò)模型輸出的分割結(jié)果,非常方便。
與目前公開的其他皮膚鏡圖像分割方法相比,本方法的分割準確度更高,對大面積皮損與小面積皮損圖像均能正確分割,對于用戶操作簡單,實用性很高。
(四)附圖說明:
圖1網(wǎng)絡(luò)結(jié)構(gòu)示意圖。
圖2本發(fā)明所述方法流程圖。
圖中序號、符號、代號說明如下:
conv:卷積層,其下方兩行數(shù)字分別代表卷積核尺寸與生成特征圖數(shù)量;
maxp:最大值池化層;
hconv:使用“填零法”擴大感受野后的卷積層,其下方兩行數(shù)字分別代表卷積核尺寸與生成特征圖數(shù)量;
(五)具體實施方式
為了更好地理解本發(fā)明的技術(shù)方案,以下結(jié)合附圖對本發(fā)明的實施方式作進一步描述:
本發(fā)明在caffe深度學習框架下實現(xiàn),本發(fā)明的網(wǎng)絡(luò)結(jié)構(gòu)圖及皮膚鏡圖像分割方法流程圖分別如圖1和圖2所示。計算機配置采用:intelcorei56600k處理器,8gb內(nèi)存,nvidiagtx1080顯卡,ubuntu16.04操作系統(tǒng)。
本發(fā)明是一種基于全卷積神經(jīng)網(wǎng)絡(luò)的皮膚鏡圖像分割方法,具體實施包括以下步驟:
步驟1:皮膚鏡圖像數(shù)據(jù)收集及處理
獲取醫(yī)院專業(yè)皮膚鏡設(shè)備拍攝得到的圖像,或網(wǎng)上公開的皮膚鏡圖像數(shù)據(jù)集,作為訓練圖像,每張圖像都要有專業(yè)皮膚科醫(yī)生手動分割的真值圖像。
步驟2:全卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計
在caffe深度學習框架下,根據(jù)圖1所示的網(wǎng)絡(luò)結(jié)構(gòu)編寫prototxt文件,網(wǎng)絡(luò)可分為以下兩個模塊:
①特征高維映射模塊:由vgg-16網(wǎng)絡(luò)的前十層fine-tuning得到。
②多尺度特征提取模塊:模塊的全局分支部分由vgg-16網(wǎng)絡(luò)的第十一層到第十五層fine-tuning得到,同時,使用填零法擴大各層卷積核尺寸。局部分支部分由四個卷積核大小為3×3的卷積層組成,隨機初始化各層卷積核參數(shù)。
另外,在分支部分構(gòu)造完成后,還要在網(wǎng)絡(luò)結(jié)構(gòu)中添加用于特征融合、預測概率圖生成、雙線性上采樣及softmax分類的相應層結(jié)構(gòu)。
步驟3:全卷積神經(jīng)網(wǎng)絡(luò)訓練
使用隨機梯度下降法訓練網(wǎng)絡(luò),其中momentum為0.9,weightdecay為0.005,batchsize為4,初始學習率為0.001,每五輪循環(huán)后學習率修改為之前的1%。具體訓練過程如下:
①屏蔽局部分支,分割結(jié)果僅通過全局分支提取的特征圖決定,持續(xù)訓練十五輪。
②屏蔽全局分支,并固定特征高維映射模塊參數(shù),僅訓練局部分支,分割結(jié)果僅由局部分支提取的特征圖決定,持續(xù)訓練十五輪。
③同時訓練整個網(wǎng)絡(luò),分割結(jié)果由全局及局部分支共同決定,持續(xù)訓練十五輪。
步驟4:全卷積神經(jīng)網(wǎng)絡(luò)的使用
將需要分割的皮膚鏡圖像輸入訓練好的全卷積神經(jīng)網(wǎng)絡(luò)中,經(jīng)過運算,網(wǎng)絡(luò)的輸出端口會直接輸出分割后的二值化結(jié)果圖,無需其他操作。
其中,在步驟二中所述的prototxt文件是一種特殊格式的文件,該格式是一種開源的配置格式,其編輯方式與普通txt文件編輯方式相同;
步驟三中所述的momentum是梯度下降法中一種常用的加速技術(shù),其基本思想是如果上一次迭代時的梯度方向與這次相同,則提高本次梯度下降的幅度,樣做能夠達到加速收斂的效果;
步驟三中所述的weightdecay是正則化項系數(shù),常用于網(wǎng)絡(luò)優(yōu)化過程中,能夠有效防止模型出現(xiàn)過擬合;
步驟三中所述的batchsize指網(wǎng)絡(luò)訓練過程中單次迭代所輸入的訓練集圖像張數(shù),常用于使用隨機梯度下降法訓練神經(jīng)網(wǎng)絡(luò)模型的過程。