3D U-Net卷積神經網絡


3D U-Net這篇論文的誕生主要是為了處理一些塊狀圖(volumetric images),基本的原理跟U-Net其實並無大差,因為3D U-Net就是用3D卷積操作替換了2D的,不過在這篇博文中我會按照論文的結構大概介紹一下整體的原理及結構運用。當然在原本的論文中,論文作者為了證實框架的可執行性及實驗的最終結果,是設立了兩組不同的實驗的,一個是半自動設置(即:人為地利用算法對3D圖像中地某些切片(slices)進行標注然后再放入模型中去跑程序),而另外一種情況則是作者假設有代表性地,稀疏地標注訓練集是存在地,直接將數據輸入模型進行end-to-end地訓練,這部分地處理我將不詳細描述,有興趣的朋友或者小伙伴請點擊下面論文鏈接進行下載閱讀理解,在博文中將主要講述3D U-Net的結構及特征。

論文地址:https://arxiv.org/abs/1606.06650

這里附上我自己基於PyTorch復現的代碼(主體部分已經完成,還在繼續完善中):https://github.com/JielongZ/3D-UNet-PyTorch-Implementation

1. 介紹(Introduction)

生物醫學影像(biomedical images)很多時候都是塊狀的,也就是說是由很多個切片構成一整張圖的存在。如果是用2D的圖像處理模型去處理3D本身不是不可以,但是會存在一個問題,就是不得不將生物醫學影像的圖片一個slice一個slice成組的(包含訓練數據和標注好的數據)的送進去設計的模型進行訓練,在這種情況下會存在一個效率問題,因而很多時候處理塊狀圖的時候會讓任感到不適,並且數據預處理的方式也相對比較繁瑣(tedious)。

所以,論文的作者就提出來了3D -Net模型,模型不僅解決了效率的問題,並且對於塊狀圖的切割只要求數據中部分切片被標注即可(可參考下圖說明)。

2. 模型結構(Network Architecture)

整個3D U-Net的模型是基於之前U-Net(2D)創建而來,同樣包含了一個encoder部分和一個decoder部分,encoder部分是用來分析整張圖片並且進行特征提取與分析,而與之相對應的decoder部分是生成一張分割好的塊狀圖。論文中使用的輸入圖像的大小是132 * 132 * 116,整個網絡的結構前半部分(analysis path)包含及使用如下卷積操作:

a. 每一層神經網絡都包含了兩個 3 * 3 * 3的卷積(convolution)

b. Batch Normalization(為了讓網絡能更好的收斂convergence)

c. ReLU

d. Downsampling:2 * 2 * 2的max_polling,步長stride = 2

而與之相對應的合成路徑(synthesis path)則執行下面的操作:

a. upconvolution: 2 * 2 * 2,步長=2

b. 兩個正常的卷積操作:3 * 3 * 3

c. Batch Normalization

d. ReLU

e. 於此同時,需要把在analysis path上相對應的網絡層的結果作為decoder的部分輸入,這樣子做的原因跟U-Net博文提到的一樣,是為了能采集到特征分析中保留下來的高像素特征信息,以便圖像可以更好的合成。

整體的一個網絡結構如下圖所示,其實可以看出來跟2D結構的U-Net是基本一樣,唯一不同的就是全部2D操作換成了3D,這樣子做了之后,對於volumetric image就不需要單獨輸入每個切片進行訓練,而是可以采取圖片整張作為輸入到模型中(PS:但是當圖像太大的時候,此時需要運用random crop的技巧將圖片隨機裁切成固定大小模塊的圖片放入搭建的模型進行訓練,當然這是后話,之后將會在其他文章中進行介紹)。除此之外,論文中提到的一個亮點就是,3D U-Net使用了weighted softmax loss function將未標記的像素點設置為0以至於可以讓網絡可以更多地僅僅學習標注到的像素點,從而達到普適性地特點。

3. 訓練細節(Training)

3D U-Net同樣采用了數據增強(data augmentation)地手段,主要由rotationscaling和將圖像設置為gray,於此同時在訓練數據上和真實標注的數據上運用平滑的密集變形場(smooth dense deformation field),主要是通過從一個正態分布的隨機向量樣本中選取標准偏差為4的網格,在每個方向上具有32個體素的間距,然后應用B樣條插值(B-Spline Interpolation,不知道什么是B樣條插值法的可以點連接進行查看,在深度學習模型的創建中有時候也不需要那么復雜,所以這里僅限了解,除非本身數學底子很好已經有所了解),B樣條插值法比較籠統地說法就是在原本地形狀上找到一個類似地形狀來近似(approximation)。之后就對數據開始進行訓練,訓練采用的是加權交叉熵損失(weighted cross-entropy loss function)以至於減少背景的權重並增加標注到的圖像數據部分的權重以達到平衡的影響小管和背景體素上的損失。

實驗的結果是用IoU(intersection over union)進行衡量的,即比較生成圖像與真實被標注部分的重疊部分。3D U-Net的IoU的具體公式如下:

IoU = True Positives / (True Positives + Falese Negatives + False Positives)

4. 總結

論文針對腎臟的生物醫學影像的分割結果達到了IoU=86.3%的結果。3D U-Net的誕生在醫學影像分割,特別是那些volumetric images都是由很大幫助的,因為它很大程度上解決了3D圖像一個個slice送入模型進行訓練的尷尬局面,也大幅度的提升訓練效率,並且保留了FCN和U-Net本來具備的優秀特征。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM