• 沒有找到結果。

應用於影像分割之卷積神經網路模型

第三章 卷積神經網路在影像分割與轉換之應用

3.1 卷積神經網路在影像分割之應用

3.1.1 應用於影像分割之卷積神經網路模型

CNN 應 用 於 影 像 分 割 的 例 子 早 在 2012 年 的 神 經 資 訊 處 理 系 統 大 會 (Conference and Workshop on Neural Information Processing Systems; NIPS)上,Dan Ciresan 等人就發表了使用傳統的 CNN 模型如何進行每個像素的分類[22],如圖 3.1 所示。

圖3.1 傳統 CNN 應用於細胞膜的影像分割[22]

依照 Dan Ciresan 等人所發表的文獻,他們為了使用 CNN 來進行每個像素 的細胞膜有無之分類,對一張輸入影像進行以有限寬度 w 的正方形裁切為多個 小圖塊,在依序對這些小圖塊做單一的分類,舉例來說,圖3.1 中若想預測 p 位 置是否為細胞膜,則進行以p 為中心,半徑 w/2 的正方形圖塊裁切,在將其輸入 CNN 看輸出結果是細胞膜或非細胞膜,藉此代表 p 點位置的類別。由以上方式

可知,整個模型的運算會耗費非常大的計算資源,舉例來說,原本單純分類一個 像素的計算資源為a,但是因為使用圖塊分類的方式,當圖塊為 15×15 的正方形 時,其計算資源會多了225 倍,並且導致輸出速度慢非常多;再者,這樣的計算 效率非常低,相鄰的兩個圖塊實際上僅差少數像素,對於整體影像而言,這兩個 圖塊是幾乎相同的,而對於幾乎相同的圖塊卻做了兩次計算,有非常多的計算資 源是耗費在對最終影像分割沒有用的地方;最後,也是影響最大的就是這樣的作 法準確率相當低,原因在於每次輸入的皆是寬度較小的圖塊,其僅能提供局部的 資訊給 CNN,而無法提供全局的資訊,因此對於全局特徵,例如不同局部特徵 間的空間相對位置等是無法判斷的,也造成了影像分割的準確率降低。

因此在 2015 年的國際計算機視覺與模式識別會議(IEEE Conference on Computer Vision and Pattern Recognition; CVPR)上,Jonathan Long 等人提出了以 包含下採樣層(Pooling layer)與上採樣層(Upsampling layer)的網路架構,並且替換 掉 CNN 所擁有的全連接層,將其改為以提取每個像素的特徵為主的卷積層(即 1×1 的卷積層),最終在將其做上採樣至與原圖大小相同,作者將此網路架構稱為 全卷積式網路(Fully Convolutional Networks; FCN)[23],如圖 3.2 所示。

圖3.2 FCN 的網路架構[23]

其優點有二,第一,它能夠輸入任意大小的影像,因為沒有了必須固定神經 元數量的全連接層;第二,對於整個網路而言,它能讀取整張影像的所有資訊,

並且能夠有效的利用計算資源,一次是預測整張影像的類別,而非一次只預測一

個像素的類別。然而,得到的結果雖然準確率有大幅的提升,但是卻損失了一些 細微構造的分辨能力,原因在於一次性的將過小的圖直接上採樣至原影像大小,

其中間損失的空間資訊相當多。

圖3.3 FCN 的模型之測試結果[23]

因為 FCN 在影像分割上有大幅度的突破,因此後來的影像分割模型全都採 用FCN 的架構,而於 2015 年中,Olaf Ronneberger 等人發表了 U-Net 網路架構 來解決FCN 所面臨的無法分辨細微結構之問題[24],其網路架構如圖 3.4 所示。

該文獻作者利用將輸入圖像不斷降維提取特徵(編碼過程),接著在將壓縮的資訊 重組升維(解碼過程)以重建圖像,類似自編碼器(Auto encoder; AE)的工作流程,

此方式與 FCN 不同的地方在於升維過程中是慢慢升維,與降維過程對稱,並且 每一次升維的資訊都會再次經過卷積層提取其特徵再往上傳遞。再者,利用長跳 躍連接,將降維過程中的卷積層輸出剪貼至升維過程中的輸入影像的深度方向,

使其最大化的保留因升維而消失的空間資訊,因為有這兩點改變,使其對於保留 較細微的結構資訊(通常也是網路的前幾層卷積層所提取的特徵)有大幅度的改 善,如圖3.5 所示,也因此目前有關於影像分割的工作幾乎都是採用 U-Net 模型 來達成。

圖 3.4 U-Net 網路架構(灰色正擺數字為特徵圖個數,橫擺數字為輸出影像大 小)[24]

圖3.5 U-Net 測試結果(左圖為輸入影像,右圖的黃線為 Ground truth (GT)、塗色 部分為模型輸出結果)[24]