溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Python和Keras進(jìn)行血管分割

發(fā)布時(shí)間:2021-11-12 10:37:55 來(lái)源:億速云 閱讀:339 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章將為大家詳細(xì)講解有關(guān)如何使用Python和Keras進(jìn)行血管分割,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

動(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ù)集:

如何使用Python和Keras進(jìn)行血管分割

在整個(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/

問(wèn)題設(shè)定:

問(wèn)題:如果像素是圖像中血管的一部分,希望為每個(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)行血管分割。它是一種廣泛用于語(yǔ)義分割任務(wù)的體系結(jié)構(gòu),尤其是在醫(yī)學(xué)領(lǐng)域。

型號(hào):

如何使用Python和Keras進(jìn)行血管分割

U-Net

U-net架構(gòu)是編碼器 - 解碼器,在編碼器和解碼器之間具有一些跳過(guò)連接。該架構(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)練似乎沒(méi)有幫助,而數(shù)據(jù)增加有一點(diǎn)點(diǎn)。

如何使用Python和Keras進(jìn)行血管分割

最佳模型預(yù)測(cè)

上圖中的預(yù)測(cè)看起來(lái)很酷!

如何使用Python和Keras進(jìn)行血管分割

在基本事實(shí)之上的預(yù)測(cè)

還繪制了預(yù)測(cè)和基本事實(shí)之間的差異:藍(lán)色的假陰性和紅色的假陽(yáng)性??梢钥吹皆撃P驮陬A(yù)測(cè)僅一或兩個(gè)像素寬的細(xì)血管方面存在一些困難。

關(guān)于“如何使用Python和Keras進(jìn)行血管分割”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI