3D Deep Leaky Noisy-or Network 論文閱讀

3D Deep Leaky Noisy-or Network 論文閱讀


原文:Evaluate the Malignancy of Pulmonary Nodules Using the 3D Deep Leaky Noisy-or Network

博文參考:Doublle Tree的博客Evaluate the Malignancy of Pulmonary Nodules Using the 3D Deep Leaky Noisy-or Network 論文閱讀一文调窍。

注:本文為2017年Kaggle舉辦的數(shù)據(jù)科學競賽中,第一名獲獎團隊的相關論文张遭,若需查看代碼可訪問Github邓萨。


簡介

根據(jù)CT圖像的肺癌自動診斷系統(tǒng)包含以下步驟:

  1. 檢測所有可疑病變;
  2. 評估整個肺部的惡性程度菊卷。

但目前大多數(shù)的研究主要集中于第一步缔恳,以及通過肺結(jié)節(jié)診斷肺癌存在較高的假陽性率。因此洁闰,肺癌的診斷需要對每個可疑結(jié)節(jié)進行細致分析褐耳,再聯(lián)合所有結(jié)節(jié)信息進行定性診斷。針對上述問題渴庆,本文提出了一個三維深度神經(jīng)網(wǎng)絡(3D deep neural network)用于解決這些問題铃芦。該網(wǎng)絡由兩部分組成:

  1. 用于結(jié)節(jié)檢測的3D region proposal network雅镊;
  2. 基于置信檢測(the detection confidence)選出top-5結(jié)節(jié)并評估其癌癥可能性,最后將此概率與Leaky noisy-or模型相結(jié)合評估患者患癌的可能性刃滓。

其中仁烹,上述兩個模型均采用修改后的U-net模型,并使用數(shù)據(jù)增強操作避免過擬合問題咧虎。

數(shù)據(jù)集和預處理

數(shù)據(jù)集

訓練集由LUNA16數(shù)據(jù)集(the Lung Nodule Analysis 2016)和NDSB3(Data Science Bowl 2017)數(shù)據(jù)集兩部分組成卓缰。其中,LUNA16數(shù)據(jù)集含有888個病例砰诵,標記了1186個肺結(jié)節(jié)征唬;在NDSB3數(shù)據(jù)集中,1397個病例用于訓練茁彭,198個病例用于驗證总寒,506個病例用于測試,且人工標注了訓練集中754個結(jié)節(jié)和驗證集中78個結(jié)節(jié)理肺。

對于LUNA16數(shù)據(jù)集摄闸,其存在許多較小的注釋結(jié)節(jié),且臨床經(jīng)驗認為直徑6mm以下的肺結(jié)節(jié)無危險妹萨。但在NDSB3數(shù)據(jù)集中年枕,存在較多的大直徑結(jié)節(jié)且結(jié)節(jié)多與主支氣管相連。因此乎完,針對兩個數(shù)據(jù)集的差異熏兄,需去除LUNA16數(shù)據(jù)集中直徑6mm的結(jié)節(jié),同時對NDSB3數(shù)據(jù)集進行人工標注树姨。

此處說明了Julian de Wit的解決方案中霍弹,直接設置結(jié)節(jié)直徑為6mm的原因,以及為何需對NDSB3數(shù)據(jù)集進行人工標注娃弓。

上圖為結(jié)節(jié)分布情況圖。其中岛宦,圖a為DSB(NDSB3)與LUNA(LUNA16)數(shù)據(jù)集中結(jié)節(jié)直徑分布情況台丛;圖b為DSB數(shù)據(jù)集中患癌患者與健康人群的最大結(jié)節(jié)直徑分布情況。

預處理

首先將所有的原始數(shù)據(jù)轉(zhuǎn)變?yōu)镠U值砾肺,如下圖a所示挽霉,再進行如下步驟:

  1. 掩膜提取:在2D切片上变汪,首先使用標準差為1的高斯濾波和閾值為-600的處理得到肺部以及周圍較暗部分的掩膜侠坎,如上圖b所示,然后進行連通性分析去除小于30mm^2的connected component和離心率大于0.99的部分(some high-luminance radial imaging noise)裙盾,再計算得到二值的3D矩陣中所有的3D connected component实胸,且僅保留非邊緣部分(用于去除肺部周圍較暗的部分)以及體積在0.68~7.5L之間的部分他嫡,結(jié)果如上圖c所示;

  2. 凸包與擴張:若結(jié)節(jié)與肺的外壁相連庐完,則其將不會出現(xiàn)在上述提取的掩膜中钢属。因此,對于這種情況门躯,首先將肺部分為左右兩個部分淆党,即左肺與右肺,如上圖d所示讶凉。然后分別對左右肺進行凸包處理染乌,并向外擴張10像素,如上圖f所示懂讯。但對于一些2D切片而言荷憋,肺部的底部類似與月牙形,如下圖所示域醇。若對于該類型進行凸包處理后台谊,面積大于初始的1.5倍,則放棄凸包譬挚,從而避免引入過多的其他組織锅铅;


  3. 灰度標準化:將HU值([-1200, 600])線性變換至0~255內(nèi)的灰度值,且掩膜以外的像素灰度值均設為170减宣,以及擴張區(qū)域內(nèi)的像素灰度值高于210則也設為170盐须。

用于結(jié)節(jié)檢測的3D卷積神經(jīng)網(wǎng)絡

該網(wǎng)絡是基于U-net的3D版RPN(Region Proposal Network)模型漆腌。

輸入數(shù)據(jù)

受限于顯存,輸入數(shù)據(jù)大小為128×128×128×1(Height×Length×Width×Channel)闷尿,并隨機選擇兩種patch:一種為70%的輸入數(shù)據(jù)至少包含一個結(jié)節(jié);另一種為30%的輸入數(shù)據(jù)不含結(jié)節(jié)填具。其中,patch超出圖像部分用灰度值為170填充劳景。

為了避免過擬合問題誉简,數(shù)據(jù)采用數(shù)據(jù)增強方法。

從輸入數(shù)據(jù)大小可看出盟广,本文作者采用的顯卡為專業(yè)卡闷串,其顯存大。鑒于此筋量,可根據(jù)實際情況將輸入數(shù)據(jù)大小調(diào)整為64或者32烹吵。

網(wǎng)絡結(jié)構(gòu)

網(wǎng)絡由前饋路徑和反饋路徑組成碉熄,如下圖圖a所示。

前饋路徑

以兩層卷積核為3×3×3的卷積(channel為24)開始年叮,且padding為1具被;其后為4個殘差塊,其中每個殘差塊由3個殘差單元組成(如上圖圖b所示)只损,而每個殘差單元由卷積一姿、Batch Norm、ReLU激活函數(shù)跃惫、卷積和Batch Norm組成叮叹,且卷積核大小均為3×3×3。除此之外爆存,每個殘差塊均有一個最大池化層蛉顽,大小為2×2×2,步長為2先较。

反饋路徑

反饋路徑由兩層反卷積(裝置卷積)層和兩個融合單元構(gòu)成携冤。最后,由卷積核均為1×1×1且channel為64和15的兩層卷積層將數(shù)據(jù)大小轉(zhuǎn)換為32×32×32×15闲勺。

反卷積層

卷積核大小為2曾棕,步長為2。

注意該部分的代碼實現(xiàn)部分菜循,原始U-net網(wǎng)絡設置為不可學習翘地。

融合單元

每個融合單元(如上圖圖c所示)均由一個前饋blob和反饋blob組成,其結(jié)果作為殘差塊的輸入癌幕。

值得注意的一點衙耕,本文作者在此處引入了位置信息,作為額外的輸入數(shù)據(jù)勺远。


位置信息

proposal的位置信息可能影響是否為結(jié)節(jié)和是否為惡性的判斷橙喘,因而引入位置信息。

具體方法:對于每個patch胶逢,計算其相對位置坐標,并將其大小轉(zhuǎn)換為32×32×32×3

其中囊拜,位置坐標對應歸一化后的X冠跷,Y和Z軸(每個軸的取值范圍為-1~1身诺,對應于肺的兩端)霉赡。


輸出層

輸出數(shù)據(jù)為4D的tensor穴亏,32×32×32×3×5嗓化,其中3表示anchor個數(shù)刺覆,5表示回歸量(\hat{o}, \hat{d_x}, \hat{d_y}, \hat{d_z}, \hat{d_r}史煎,即概率篇梭,三維坐標和bounding box直徑大小)充蓝。

其中谓苟,對于\hat{o}激活函數(shù)采用sigmoid函數(shù)涝焙,其余不使用任何激活函數(shù)孕暇。

損失函數(shù)

真值標簽為(G_x, G_y, G_z, G_r)妖滔,每個anchor記為(A_x, A_y, A_z, A_r)座舍,IoU(Intersection over Unit)大于0.5記為Positive,小于0.02記為False采蚀,其他在訓練過程中忽略。

分類損失為:

L_{cls}=plog(\hat{p}) + (1-p)log(1-\hat{p})

其中纲爸,p為anchor box的真值標簽识啦,\hat{p}為預測概率袁滥。

bounding box回歸標簽為:

d_x = \frac{(G_x - A_x)}{A_r} \\ d_y = \frac{(G_y - A_y)}{A_r} \\ d_z = \frac{(G_z - A_z)}{A_r} \\ d_r = log(\frac{G_r}{A_r})

回歸總損失為:

L_{reg}=\sum\limits_{k\in\{x,\,y,\,z,\,r\}}S(d_k,\; \hat{d_k})

其中题翻,S為smoothed L1-norm函數(shù):

S(d, \hatjgqqyp2)=\begin{cases} |d-\hatwzrrgmd|, \;\;\quad if\; |d_k - \hatumqbbwg|>1\\ (d-\hatadhdhjt)^2, \quad else \end{cases}

對于每個anchor box的損失函數(shù)為:

L = L_{cls} + pL_{reg}

最后嵌赠,整體的anchor box的損失函數(shù)為anchor box的損失值取平均姜挺。

正反例數(shù)據(jù)

正例數(shù)據(jù)

對于大結(jié)節(jié)而言炊豪,網(wǎng)絡會生成較多的positive anchor box拧篮,因此為了降低訓練數(shù)據(jù)之間的相關性串绩,隨機挑選其中一個。

由于結(jié)節(jié)直徑大小分布不均高氮,而NDSB3數(shù)據(jù)集多為大結(jié)節(jié)剪芍,因而對大于30mm和40mm的結(jié)節(jié)罪裹,采樣頻率分別是其他結(jié)節(jié)的2倍和6倍。

此處對于NDSB3競賽得分有利,實際是否可行有待商榷口芍。

反例數(shù)據(jù)

對于一些易誤診為結(jié)節(jié)的反例數(shù)據(jù)雇卷,通過使用hard negative mining方法解決关划。

具體方法為:

  1. 將不同的patch輸入至網(wǎng)絡得到不同置信度的輸出映射;
  2. 隨機選擇N個反例數(shù)據(jù)構(gòu)成候選池裤翩;
  3. 侯選池中的數(shù)據(jù)以置信度值大小排序踊赠,且選出top-n的數(shù)據(jù)作為反例數(shù)據(jù)筐带。

未選中的數(shù)據(jù)忽略且不參與損失計算缤灵。

此處可借鑒該方法,盡可能降低假陽性率帖鸦,以及加速模型訓練富蓄。

圖像分割(測試過程)

輸入數(shù)據(jù)大小為208×208×208×1立倍,overlap為32像素侣滩。

輸出數(shù)據(jù)為\{x_i, y_i, z_i, r_i, p_i\}君珠,其中x_i, y_i, z_i表示proposal中心坐標,r_i表示其半徑大小毫缆,p_i表示其置信度苦丁。

輸出數(shù)據(jù)且使用非極大值抑制操作來去除overlaping proposal物臂。

腫瘤分類

由于受限于訓練樣本數(shù)棵磷,因而復用結(jié)節(jié)檢測器階段的N-net網(wǎng)絡。

輸入數(shù)據(jù)為結(jié)節(jié)的proposal沉桌,大小均為96×96×96×1蒲牧,其僅使用了結(jié)節(jié)中心點的信息赌莺。在分類器訓練階段艘狭,隨機挑選proposal,且其選中的概率與proposal的置信度成正比遵倦;在測試階段梧躺,只挑選top-5的proposal傲绣。

經(jīng)卷積核為24×24×24×128的最后一個卷積層得到輸出結(jié)果秃诵;隨后提取每個proposal中心處2×2×2的體素菠净,并將其通過最大池化操作后得到128維的特征彪杉,如下圖圖a所示派近。

對比四種預測腫瘤類別的方法(Feature combining method痪寻,MaxP method,Noisy-or method和Leaky Noisy-or method)弹砚,挑選出Leaky Noisy-or方法作為最終的分類方法途茫,如下圖圖b所示囊卜。


Leaky Noisy-or Method

引入一個假想結(jié)節(jié)栅组,其患癌概率為P_d玉掸,P_d的值在模型訓練階段學習獲得司浪。

將特征輸入至兩層相同的Perceptron得到分類概率P

P=1-(1-P_d)\prod\limits_i(1-P_i)

其中啊易,P_i表示第i個結(jié)節(jié)癌變的概率饮睬。


訓練過程

損失函數(shù)為交叉熵函數(shù)。為了避免過擬合采用了數(shù)據(jù)增強和正則化操作割去。

訓練的步驟:

  1. transfer檢測器訓練參數(shù)后昼丑,再訓練分類器矾克;
  2. 采用gradient clipping方法訓練分類器憔足,隨后存儲BN(Batch Normalization)參數(shù)滓彰;
  3. 用存儲的BN參數(shù)和gradient clipping方法交替訓練檢測器和分類器揭绑。

注:BN在訓練階段和測試階段所計算的方法有所差異郎哭。因復用N-net網(wǎng)絡,分類器和檢測器交替訓練邦蜜,因而需對BN的參數(shù)做特殊處理悼沈。

版權(quán)印版權(quán)標識

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末絮供,一起剝皮案震驚了整個濱河市壤靶,隨后出現(xiàn)的幾起案子惊搏,更是在濱河造成了極大的恐慌胀屿,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亲铡,死亡現(xiàn)場離奇詭異奖蔓,居然都是意外死亡吆鹤,警方通過查閱死者的電腦和手機洲守,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來知允,“玉大人温鸽,你說我怎么就攤上這事〉拥妫” “怎么了蝠猬?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵吱雏,是天一觀的道長歧杏。 經(jīng)常有香客問我迷守,道長,這世上最難降的妖魔是什么凯力? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任咐鹤,我火速辦了婚禮圣絮,結(jié)果婚禮上扮匠,老公的妹妹穿的比我還像新娘。我一直安慰自己棒搜,他們只是感情好力麸,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著座慰,像睡著了一般翠拣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蛮粮,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天然想,我揣著相機與錄音欣范,去河邊找鬼。 笑死妨蛹,一個胖子當著我的面吹牛蛙卤,可吹牛的內(nèi)容都是我干的颤难。 我是一名探鬼主播已维,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼昂验!你這毒婦竟也來了既琴?” 一聲冷哼從身側(cè)響起泡嘴,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤酌予,失蹤者是張志新(化名)和其女友劉穎奖慌,沒想到半個月后松靡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雕欺,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了笛洛。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苛让。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瘦材,靈堂內(nèi)的尸體忽然破棺而出宇色,到底是詐尸還是另有隱情颁湖,我是刑警寧澤例隆,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布镰禾,位于F島的核電站唱逢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏备韧。R本人自食惡果不足惜织堂,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望附较。 院中可真熱鬧拒课,春花似錦黑竞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凡纳。三九已至,卻和暖如春荐糜,著一層夾襖步出監(jiān)牢的瞬間暴氏,已是汗流浹背绣张。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沼撕,地道東北人务豺。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓笼沥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親邻薯。 傳聞我的和親對象是個殘疾皇子厕诡,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容