這篇文章將為大家詳細(xì)講解有關(guān)如何使用Python和Keras進(jìn)行血管分割,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)長(zhǎng)期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為寶山企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站設(shè)計(jì),寶山網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
動(dòng)機(jī):
醫(yī)學(xué)圖像的自動(dòng)分割是提取有用信息的重要步驟,可以幫助醫(yī)生進(jìn)行診斷。例如它可以用于分割視網(wǎng)膜血管,可以代表它們的結(jié)構(gòu)并測(cè)量它們的寬度,從而可以幫助診斷視網(wǎng)膜疾病。
在這篇文章中,將實(shí)現(xiàn)一個(gè)神經(jīng)基線,將圖像分割應(yīng)用于視網(wǎng)膜血管圖像。
數(shù)據(jù)集:
在整個(gè)文章中使用DRIVE(數(shù)字視網(wǎng)膜圖像用于血管提?。?shù)據(jù)集進(jìn)行所有實(shí)驗(yàn)。它是40個(gè)視網(wǎng)膜圖像(20個(gè)用于訓(xùn)練,20個(gè)用于測(cè)試)的數(shù)據(jù)集,其中血管在像素級(jí)注釋(參見上面的示例)以標(biāo)記每個(gè)血管的存在(1)或不存在(0)。圖像的像素(i,j)。
http://www.isi.uu.nl/Research/Databases/DRIVE/
問題設(shè)定:
問題:如果像素是圖像中血管的一部分,希望為每個(gè)像素分配“1”標(biāo)簽,否則為“0”。
直覺 / 假設(shè):相鄰像素值對(duì)于對(duì)每個(gè)像素(i,j)進(jìn)行預(yù)測(cè)很重要,因此應(yīng)該考慮上下文。預(yù)測(cè)不依賴于圖像上的特定位置,因此分類器應(yīng)具有一些平移不變性。
解決方案:使用CNN!將使用U-net架構(gòu)進(jìn)行血管分割。它是一種廣泛用于語義分割任務(wù)的體系結(jié)構(gòu),尤其是在醫(yī)學(xué)領(lǐng)域。
型號(hào):
U-Net
U-net架構(gòu)是編碼器 - 解碼器,在編碼器和解碼器之間具有一些跳過連接。該架構(gòu)的主要優(yōu)點(diǎn)是能夠在對(duì)像素進(jìn)行預(yù)測(cè)時(shí)考慮更廣泛的上下文。這要?dú)w功于上采樣操作中使用的大量通道。
輸入圖像處理:
在將其反饋到CNN之前應(yīng)用這一系列處理步驟。
歸一化:將像素強(qiáng)度除以255,因此它們?cè)?-1范圍內(nèi)。
裁剪:由于匯集操作,網(wǎng)絡(luò)期望輸入圖像的每個(gè)維度可被2整除,因此從每個(gè)圖像中隨機(jī)裁剪64 * 64。
數(shù)據(jù)增強(qiáng):隨機(jī)翻轉(zhuǎn)(水平或垂直或兩者),隨機(jī)剪切,隨機(jī)平移(水平或垂直或兩者),隨機(jī)縮放。僅在訓(xùn)練期間執(zhí)行。
訓(xùn)練三種不同的模型:
預(yù)先訓(xùn)練ImageNet VGG編碼器+數(shù)據(jù)增強(qiáng)。
從頭開始訓(xùn)練+數(shù)據(jù)擴(kuò)充。
從頭開始訓(xùn)練而不增加數(shù)據(jù)。
將使用AUC ROC度量比較這三個(gè)模型,將僅在評(píng)估中考慮視網(wǎng)膜掩模內(nèi)的像素(意味著圖像圓周圍的黑色邊緣將不計(jì)算)。
結(jié)果:
預(yù)先訓(xùn)練的編碼器+數(shù)據(jù)增強(qiáng)AUC ROC:0.9820
從頭開始訓(xùn)練+數(shù)據(jù)增加AUC ROC:0.9806
從頭開始訓(xùn)練而不增加AUC ROC:0.9811
三種變化的性能接近,但在這種情況下,預(yù)訓(xùn)練似乎沒有幫助,而數(shù)據(jù)增加有一點(diǎn)點(diǎn)。
最佳模型預(yù)測(cè)
上圖中的預(yù)測(cè)看起來很酷!
在基本事實(shí)之上的預(yù)測(cè)
還繪制了預(yù)測(cè)和基本事實(shí)之間的差異:藍(lán)色的假陰性和紅色的假陽性。可以看到該模型在預(yù)測(cè)僅一或兩個(gè)像素寬的細(xì)血管方面存在一些困難。
關(guān)于“如何使用Python和Keras進(jìn)行血管分割”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。