?

基于深度學習的肺CT醫學影像識別研究

2018-11-28 02:21李雪竹
宿州學院學報 2018年9期
關鍵詞:醫學影像梯度卷積

張 锏,李雪竹

宿州學院信息工程學院,宿州,234000

傳統的計算機視覺采用統計學的方法對目標進行分析,比如,圖像信息處理的傳統方法有Prewitt,Sobel, Canny,RobertsLaplace等算法[1],這些算法使用圖像自身的紋理、顏色、邊緣梯度信息等特征檢測目標并進行分類識別,但是這種基于傳統統計的計算理論泛化能力不強,識別的錯誤率較高,和計算機視覺識別要求有很大的距離。

2006年,Hinton 等首次提出了深度學習算法[2],其核心是通過多層卷積神經網建立更加有效的特征分類網絡,自此深度學習理論不斷被深入研究,該算法對目標的識別率以及識別泛化能力遠遠超過傳統的算法。近年來,相關的研究成果被大量應用到人工智能的各個方面,如目標追蹤、語音識別、運動姿勢、表情識別以及醫學影像研究等[2]。

本文基于深度學習的理論,對其學習的過程進行探索研究,并結合深度學習框架技術,探索了深度學習在人體肺結節病灶自動識別方面的應用。

1 卷積神經網絡

基于卷積神經網絡(convolutional neural network,CNN)的深度學習的算法被廣泛應用于計算機視覺領域,該算法根據人類大腦工作模式建立流程,模擬人腦的數據表達分析,利用CNN 提取圖像的識別特征,不斷將多個神經元組織成神經網絡,組合低層單一的特征來形成語義豐富的高層抽象特征[2]。AlexNet算法作為CNN的經典算法,在2012年ImageNet比賽中獲得冠軍。自此,基于CNN的深度學習算法在計算機視覺領域的應用得到了國內外相關研究的重視。

1.1 卷積神經網絡的構成

在人工智能領域很早就開始了對神經網絡(Artificial Neural Networks,ANN)模型的研究,該模型將大量的數據處理節點互相連接,待處理的數據流入網絡并最終處理為輸出結果[2]。ANN的處理架構主要分為輸入單元、隱藏單元和輸出單元。如圖1所示。

圖1 ANN結構圖

卷積神經網絡CNN由ANN發展而來,其基本的節點稱為神經元,多種不同的神經元不斷互聯構成一個多層的神經網絡,每層都代表某種特征的組合,且越到高層這種組合語義越強[3]。

建模的過程是:CNN首先用卷積核作為特征抽取器,作用到原始的輸入矩陣,形成第一層卷積層;然后在卷積層的基礎上進行池化運算,形成池化層。隨后不斷迭代下去,建立多個卷積層和交叉的池化層,最后建立多個全連接層,構成一個完整的卷積神經網絡。

在學習過程中,根據期望值和輸出值之間的誤差反向傳播,并利用最小梯度算法不斷修正每層特征抽取的卷積核[4],完成深度學習并且建立模型。

1.2 CNN訓練過程

CNN訓練分為前向傳播和反向傳播過程。在前向傳播階段,樣本矩陣從第一層卷積網絡輸入,經過多層變換輸出,最終輸出為y′ 。假定該樣本的期望輸出為y,二者誤差記為E,反向傳播中按照誤差最小原則微調卷積核矩陣[5,6]。

假設l層的第y個神經元的輸出為:

(1)

(2)

其中,σ為激活函數,Sigmiod函數或Rectified Linear Unit(ReLU) 函數均可以使用,可以根據實際計算的要求選擇。

根據期望值與計算值的誤差,可以設置誤差函數為:

ζ=f(y,y')

(3)

f為二次代價函數。所以l層第j個神經元的誤差為:

(4)

卷積神經網的最后一層的誤差是:

δL=aLζΘσ'(zL)

(5)

Θ是Hadamard乘積運算符,aLζ表示最后一層的梯度值,其他各層的誤差為:

(6)

所以權重梯度為:

(7)

偏值梯度為:

(8)

利用梯度下降法,可推出卷積核的更新公式:

wl=wl-η∑xδx,l(ax,l-1)T

(9)

bl=bl-η∑xδx,l

(10)

1.3 深度學習網絡

基于卷積神經網絡的深度學習算法,因為其良好分類的效果以及泛化能力,得到了廣泛的研究與應用。因網絡層次構造的不同,又產生了諸多不同的系統。比較有影響的有VGG、Alexnet、GoogleNet、Deep Residual Learning等。其中Alexnet網絡的結構如圖2所示。

圖2中,Alexnet一共有8層,選用ReLU作為激活函數,經過卷積核下采樣算法、上采樣(插值)算法以及降采樣等處理過程生成,其中有5個卷積層以及3個全連接層。

圖2 Alexnet(雙GPU)卷積神經網絡的結構

2 算法實現

2.1 Caffe

自從以CNN為主流的深度學習算法在計算機視覺領域取得突破以來,該領域出現了很多 CNN 相關的開源框架,有影響的有Caffe、MatConvNet和Theano等。Caffe由伯克利視覺和學習中心開發,采用C++/CUDA/Python實現卷積神經網絡,可實現多種CNN算法,比如上文提到的Alexnet、Deep Residual Learning、VGG等均可在該框架下運行。Caffe將卷積神經網絡的構造過程變得簡單,類似于積木搭建,其底層采用C++、CUDA編寫,代碼結構清晰良好、可擴展性強,允許使用者二次開發來提高計算效率,使用者也可以靈活地配置各個卷積神經網絡的構造層,從而實現更高的識別效率[7]。

2.2 Caffe存儲結構Blob

在Caffe框架中,按照上面的分析,有海量的多維數組數據要在算法中處理,這些數據包括原始的輸入數據,例如訓練圖片,也包括網絡結構中每層的中間數據。Caffe采用Blob包裝類對數據進行處理和傳輸,Blob類可以在CPU和GPU之間同步數據,從而大大提高數據計算的效率。Blob類近似N維的數組,以C語言的風格進行存儲。Blob類可存儲交換圖片、卷積核和網絡優化中的偏導數等,可以高效使用存儲空間。

2.3 Caffe基本計算單元layer

Caffe框架的基本計算單元稱為layer。Caffe中的layer分為普通卷積層和降維的池化層。針對每一層Caffe采用激勵函數等非線性變換,計算loss(代價損失),并對數據正則化,相關的計算有:setup、forward和backward,forward(前向傳播)從輸入計算輸出,backward(反向傳播)獲取輸出的梯度。Net把每一層的backward組合起來,從loss中計算梯度來學習,并按照梯度最小的策略不斷調整參數。

2.4 在Caffe下實現Alexnet網絡

Alexnet是以CNN為主的8層深度學習網絡,其中5個是卷積層,3個是全連接層。激勵函數選擇RELU,池化降采樣采用max-pooling,同時進行局部響應歸一化(LRN)處理。通過在Caffe框架中定義其每一層的setup、forward、backword參數,即可以構建Alexnet網絡系統,從而開始深度學習的相關實驗。比如第1層卷積層的Alexnet配置輸入224×224×3(RGB圖像),然后使用96個大小規格為11×11的卷積核,進行特征提取。

3 醫學影像的處理

醫學圖片識別是探索計算機視覺在醫學影像領域應用的學科,其發展依賴于醫學影像、計算機視覺、數學建模學科的突破[8]?;贑NN的深度學習算法在該領域不斷應用,比如惡性腫瘤檢測、間質性肺病分類、白內障檢測、乳腺病變識別等[9]。下面應用Caffe框架下的Alexnet卷積神經網絡對病人常見的肺CT圖像進行識別判斷,找出病人肺部結節病變的圖像。

3.1 學習與訓練

樣本集選擇LIDC-IDRI(Lung Lmage Database Consortium),該數據由美國國家癌癥學會發布,總計收錄了1 018個實例。每個實例包括病灶標注以及病人肺部CT切片。該數據非常嚴謹,具有代表性,數據標注由4位知名胸部放射科醫師采用標準程序診斷并復診完成。

實驗中對該數據庫進行數據預處理,得到關于肺部有結節的圖片10 000張,以及健康肺部切片10 000張作為訓練樣本。通過對上文配置后的Alexnet 網絡進行學習并微調,最后生成預測模型。然后,取剩余的圖片預處理為300張待測試的樣本進行深度學習診斷。

3.2 實驗結果及分析

實驗結果如表1。

表1 肺部結節檢測結果

由表1可知,對尺寸超過8 mm的結節預測模型準確率較高,對超過10 mm的結節識別準確率達到100%,該結果接近臨床應用的要求。該識別結果是傳統圖片處理方法無法達到的,因此,基于卷積神經網絡的深度學習可提高醫學影像識別的準確率,相關研究對于人工智能在醫學領域的應用是十分有必要的[10]。

4 結 論

基于CNN的深度學習技術的研究在人工智能方面取得了較好的效果。利用該技術對醫學影像進行識別,對人類的疾病診斷具有重要意義,并在一些領域已經取得相關的成果?;贑affe框架的CNN配置靈活,可擴展性強[11],未來必將在醫學影像智能處理領域發揮更大的作用。本文利用該架構探索了其對于肺部醫學影像處理的效果,今后的研究中將通過對卷積神經網絡的擴展,提高其醫學影像的識別準確率和靈敏度,推動該技術的臨床應用。

猜你喜歡
醫學影像梯度卷積
醫學影像技術在醫學影像診斷中的合理運用
一個改進的WYL型三項共軛梯度法
《當代醫學影像誤診學》出版
基于3D-Winograd的快速卷積算法設計及FPGA實現
《當代醫學影像誤診學》正式出版
一種自適應Dai-Liao共軛梯度法
從濾波器理解卷積
一個具梯度項的p-Laplace 方程弱解的存在性
一類扭積形式的梯度近Ricci孤立子
基于傅里葉域卷積表示的目標跟蹤算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合