• 沒有找到結果。

語義分割神經網路

在文檔中 視覺式耳穴診斷輔助系統 (頁 27-39)

用於影像分割的神經網路一般稱之為語義分割神經網路。語義分割神經網路 其目的是對每一個像素單獨進行分類,這種細緻的分類方式可以使神經網路架構 更能分出每個像素所顯示出的不同特徵。現今常見的語義分割神經網路有:

FCN[Lon15]、DeconvNet[Noh15]、U-Net[Ron15]、DRN[Yu17]、DeepLab v1[Che15]、

DeepLab v2[Che17]、DeepLab v3[Che17]、DeepLab v3+[Che18]、RefineNet[Lin16]

和PSPNet[Zha16]等。

語義分割神經網路與圖 2.2 中傳統卷積神經網路相較而言,二者皆具輸出入 部份及卷積、池化處理過程,但語義分割神經網路卻少了平坦化、全連接層分類 的程序,增加特徵圖放大的過程,將被縮小的特徵圖還原成原始輸入影像的大小 使得卷積神經網路達到語義分割的目的。

將被縮小的特徵圖放大,此步驟稱之為上取樣(upsampling)。因不同的研究者 對於上取樣的定義有些許的不同,故本論文在介紹之前先將上取樣定義為將被縮 小的特徵圖放大的統稱,其作法會在第三章進行詳細的介紹。

(A) FCN (Fully Convolutional Networks)

2014 年 Long 等人[Lon15]提出在傳統卷積神經網路結構上用全卷積層取代全 連接層(fully connected layer),稱為 Fully Convolutional Networks(FCN)來進行影像 中的語義分割。傳統卷積神經網路中,池化(pooling)雖能增加卷積核的覆蓋範圍 (receptive field) (有些研究者稱為接受域),但同時也會丟失部分的位置訊息。因池

19

化的作用是縮小特徵圖,縮小後的特徵圖會失去上層特徵圖中超過半數的特徵 點,故池化過程會丟失影像中部分特徵訊息。

然 而 在 影 像 中 進 行 語 義 分 割 時 , 需 保 留 被 偵 測 區 域 的 位 置 訊 息 , 故 FCN[Lon15]使用上取樣中的雙線性內插法(bilinear interpolation)讓被池化後的影 像能還原成原始大小。另外還使用了跳躍連接(skip connection)的方式,改善上取 樣所帶來的粗糙問題。所謂的粗糙問題是指因上取樣的特徵放大方式所導致的馬 賽克現象。

圖 2.6 顯示 FCN[Lon15]的架構。在該架構圖中可以觀察到 FCN[Lon15]包含 三種上取樣方式,分別稱為FCN-32s、FCN-16s 和 FCN-8s。圖 2.6 中 pool1 為輸 入影像經過一次池化後的特徵圖,以此類推,pool5 就為輸入影像經過五次池化後 的特徵圖。將 pool5 後得到的特徵圖直接經過 32 倍的上取樣即為 FCN-32s。將 pool5 後得到的特徵圖經過 2 倍的上取樣與 pool4 得到的特徵圖點對點相加後,再 經過16 倍的上取樣即為 FCN-16s。同理,將 pool5 後得到的特徵圖經過 2 倍的上 取樣與 pool4 得到的特徵圖點對點相加後,再經過 2 倍的上取樣與 pool3 得到的 特徵圖點對點相加後,最後經過8 倍的上取樣即為 FCN-8s。

圖2.6 FCN 的架構[Lon15]。

(a) (b) (c) (d)

圖2.7 FCN 的分類結果[Lon15]。(a) FCN-32s 的分類結果。(b) FCN-16s 的分 類結果。(c) FCN-8s 的分類結果。(d)基準真相。

20

Long 等人通過實驗證明使用多層的特徵圖相結合,可以提高語義分割的準確 度。圖2.7 為三種 FCN 的分類結果之範例。圖 2.7(a)、(b)和(c)分別為 FCN-32s、

FCN-16s 和 FCN-8s 的輸出結果。而圖 2.7(d)為基準真相(ground truth)。由圖 2.7 中(a)、(b)、(c)的結果與基準真相(圖 2.7(d))相比較,可以看出使用多層的特徵圖 相結合,語義分割結果會越來越接近基準真相。

(B) DeconvNet

DeconvNet[Noh15]是由 Noh 等人於 2015 年提出的深度轉置卷積網路,改進 了 FCN[Lon15]架構中上取樣的流程,讓 DeconvNet 能處理在影像中目標物件大 小 不 一 的 問 題 。 圖 2.8 為 DeconvNet[Noh15] 的 架 構 。 DeconvNet[Noh15] 與 FCN[Lon15]主要的不同是,它在特徵圖還原成輸入影像的原始大小(上取樣)的過 程中是使用反池化和步長為1的轉置卷積,DeconvNet[Noh15]為轉置卷積和反池 化,如圖2.8 中轉置卷積網路(deconvolution network)的部分。

圖 2.8 中黑色的長方體代表卷積層,紅色的長方體代表池化層,卷積網路和 轉置卷積網路之間的二個黑色長條長方體為全連階層,長方體上方的數字為影像 大小。DeconvNet[Ron15]一共有 13 層卷積層,2 層全連階層,5 層的池化層,14 層步長為1的轉置卷積層,5 層的反池化層。由圖 2.8 可以看出 Noh 等人設計的卷 積網路和轉置卷積網路是具有些許的對稱性。兩個網路之間不對稱的地方在於轉 置卷積網路最後輸出結果之前還會做一次卷積核為1 × 1的卷積,此目的是為了使 所有的特徵圖結果結合成一個完整的語義分割結果。由圖2.8 中最左邊和最右邊,

影像大小為224 × 224中的長方體數量和長方體的寬窄可以看出1 × 1的卷積的位 置在語義分割結果輸出之前。

圖2.8 DeconvNet[Noh15]的架構。

21

(C) U-Net

Ronneberger[Ron15]等人於 2015 年提出一種對醫療影像進行語義分割的網路 架構,稱為U-Net。Ronneberger 等人宣稱此架構只需很少的資料集就可以完成語 義分割。其網路架構包括收縮路徑(contracting path)和延展路徑(expansive path),

如圖2.9 所示。

收縮路徑是由五卷積階段所組成的語義分割神經網路架構。除了第五卷積階 段由二個卷積層所組成,其餘每一卷積階段皆由包含二個卷積層和一個池化層組 成。第一卷積階段的二個卷積層使用二組3 × 3卷積核進行特徵擷取,每組卷積核 的數量為64,擷取的過程中激活函數採用 ReLU 函數。而池化層使用的是最大池 化的算法。第二卷積階段、第三卷積階段、第四卷積階段和第五卷積階段的每組 卷積核數量分別為128、256、512 和 1024,第五卷積階段除不包含池化層外,其 餘的部分皆與第一卷積階段相同。圖 2.9 中淺藍色方形為前一卷積層所輸出特徵 圖,淺藍色方形之上的數字為該卷積層中卷積核的數量,淺藍色方形左邊的數字 表示特徵圖大小。另,圖中藍色箭頭代表卷積運算,卷積運算中卷積核大小為3 × 3,激活函數採用 ReLU 函數。圖中紅色箭頭代表池化運算,採用最大池化的算 法,綠色箭頭代表上取樣層,灰色箭頭代表跳躍連接,藍綠色箭頭代表卷積核大 小為1 × 1的卷積層。

圖2.9 U-Net 的架構[Ron15]。

22

(D) DRN (Dilated Residual Networks)

Yu[Yu17]等人於 2017 年運用膨脹(dilated)卷積核的方法對 Residual Networks (ResNet)[He16]進行改良,稱為 Dilated Residual Networks(DRN),讓語義分割神經 網路有更好的語義分割結果。語義分割神經網路的結構是通過池化,以提升高階 特徵的覆蓋範圍。但這種方法會失去影像中部份的空間資訊,導致影像中的像素 無法正確分類。膨脹卷積核就是為了保留更多的空間資訊而提出。

ResNet[He16]是 He 等人在 2015 年為了避免深度卷積神經網路的退化問題而 提出的。在此之前與多研究者認為卷積神經網路越深層數越多越能取得更好的結

23

層的實際輸出𝐻(𝑥)(= 𝐹(𝑥) + 𝑥)非常接近期望輸出𝑦,即𝐻(𝑥) = 𝑦 = 𝑥。由圖 2.10 中可知當𝐹(𝑥) = 0,𝐻(𝑥) = 𝑥。於是,ResNet 的學習目標即為調整實際輸出𝐻(𝑥) 和𝑥的差值,也就是所謂的殘差𝐹(𝑥)(= 𝐻(𝑥) − 𝑥),希望將殘差結果逼近於 0,使 得網路層數增加時,辨識的準確率仍能維持或提升。有無殘差學習的卷積神經網 路差異在於,無殘差學習的卷積神經網路沒有圖2.10 中的弧線。其弧線表示輸入 𝑥跳躍連接的方式。

圖2.11 是 ResNet-18(18 代表有 18 層)的結構。在輸出層之前總共有五卷積階 段,第一卷積階段包含一個卷積層,此卷積層使用一組3 × 3卷積核進行特徵擷取,

每組卷積核的數量為64。第二卷積階段包含四個卷積層,每個卷積層使用一組3 × 3卷積核進行特徵擷取,每組卷積核的數量為 64。第三卷積階段包含四個卷積層,

其中第一卷積層使用一組3 × 3卷積核,每組卷積核的數量為 128,卷積核移動步 長為2。其餘三個卷積層,每個卷積層使用一組3 × 3卷積核進行特徵擷取,每組 卷積核的數量為 128。第四卷積階段和第五卷積階段的卷積核數量分別為 256 和 512,其餘皆與第三卷積階段相同。在第五卷積階段接到全連接層之前會經過平均 池化的過程,而全連接層之後就會輸出結果。圖2.11 中的黑色弧線與虛弧線皆代 表著殘差學習。若弧線所連兩者的特徵圖大小不一致,在執行上要先將其調整一 致再進行殘差學習時,則以虛弧線代表。

前述Yu[Yu17]等人所提出的 DRN[Yu17]是使用 ResNet-18 的結構進行改良。

圖2.12 顯示出 ResNet[He16]和 DRN[Yu17]的差異處。DRN[Yu17]將 ResNet-18(圖 2.12(a))中的第四卷積階段(group 4)和第五卷積階段(group 5)中第一個卷積層的步

圖2.10 有殘差學習卷積神經網路的結構[He16]。

24

長改為1,因此該階段的特徵圖不會縮小,如圖 2.12(b)所示。這樣的方式能減少 空間資訊的損失,並且提高正確率。

(E) DeepLab v1

Chen[Che15]等人在 2014 年提出一種能改善最大池化和下取樣帶來的解析度 下降和因為物件的平移不變性而被限制精度的問題的模型,稱為DeepLab v1。平 移不變性代表著影像中的場景或物件就算向右或向左偏移,目標物件依然可以在 卷積神經網路中被辨識出。Chen 等人首先將 VGG16 中的全連接層改成全卷積層。

圖2.11 ResNet-18 的網路架構[2]。

(a)

(b)

圖2.12 ResNet 和 DRN 的差異比較[Yu17]。(a)ResNet 第四卷積階段和第五 卷積階段的結構。(b)DRN 改良 ResNet 後第四卷積階段和第五卷積階段的結

構。

25

再將後面兩次的池化層的步長改為1,讓對應階段的特徵圖大小長寬各縮小一個 像素。因為要保證卷積核的覆蓋範圍不變,故 Chen 等人在兩層的池化層後面接 的卷積層使用空洞卷積。空洞卷積就是將卷積核膨脹後進行卷積,其優點在於卷 積時能得到較遠距離的空間訊息並最大化其覆蓋範圍。

DeepLab v1[Che15]通過空洞(atrous)卷積改善解析度下降的問題,並且通過使 用條件隨機域(Conditional Random Field,簡稱 CRF)提高模型細節部分的精度。

CRF 在決定一個特徵點的特徵值時,會考慮其周圍的特徵值,因此能消除部分雜 訊,提高精度。圖2.13 顯示 CRF 處理的次數會影響分類結果,當 CRF 處理的次 數越多時語義分割結果會越接近基準真相。

(F) DeepLab v2

DeepLab v2[Che17]是由 Chen 等人於 2016 年提出對於 DeepLab v1[Che15]的 改良模型。因為重複的最大池化和下取樣會降低解析度,為了提升解析度,其中 一種方式是使用轉置卷積,但是使用轉置卷積會增加參數的數量和計算量。為了 避免參數的數量和計算量的過度增加,DeepLab v2[Che17]採用空洞卷積替代最大 池化,以此讓語義分割神經網路不用經過轉置卷積,就能有好的語義分割結果。

而對於影像中的小物件會在最大池化的過程中消失的問題,DeepLab v2[Che17]使 用Astrous Spatial Pyramid Pooling (ASPP)的技術來解決。ASPP 是指一張特徵圖以 不同的空洞率(atrous rate)進行卷積,以此讓不同大小的物件在進行卷積時都能被 考慮到。圖2.14 顯示用不同的空洞率形成的 ASPP 結構。圖 2.14 中橘色方框所示 的空洞率為6,紫色方框所示的空洞率為 12,綠色方框和藍色方框所示的空洞率 分別為 18 和 24,四個顏色的方框分別對特徵圖進行卷積後再結合得到新的特徵 圖。

圖2.13 CRF 的結果[Che15]。

26

(G) DeepLab v3

DeepLab v3[Che17]是 Chen 等人在 2017 年通過改良 DeepLab v2[Che17]所設 計出的模型。圖 2.15 為 DeepLab v3[Che17]語義分割神經網路的結構。DeepLab

DeepLab v3[Che17]是 Chen 等人在 2017 年通過改良 DeepLab v2[Che17]所設 計出的模型。圖 2.15 為 DeepLab v3[Che17]語義分割神經網路的結構。DeepLab

在文檔中 視覺式耳穴診斷輔助系統 (頁 27-39)

相關文件