1. 程式人生 > >深度學習:乳腺論文Deep Multi-instance Networks with Sparse Label Assignment for Whole Mammogram

深度學習:乳腺論文Deep Multi-instance Networks with Sparse Label Assignment for Whole Mammogram

參考論文解析:https://blog.csdn.net/Coralccccc/article/details/73956702

論文翻譯:https://blog.csdn.net/u014264373/article/details/79581655

標題:Deep Multi-instance Networks with Sparse Label Assignment for Whole Mammogram Classification
來源:MICCAI 2017
作者:Wentao Zhu, Qi Lou, Yeeleng Scott Vang, and Xiaohui Xie

解決的問題:腫塊分類


現有方法 : 多階段整合。將mass classification分成3個模組:detection, segmentation, classification。
存在的問題:

① 除了每個模組自身的效能問題,這個框架需要單獨訓練每個模組。多階段不能完全挖掘出深度神經網路的力量。

② 需要很多ground truth資訊 : bbox for detection, segmentation map, mass label。標定這些GT資訊,很耗人力。

③ 需要手工特徵。

本文方法: end-to-end (端到端)+ multi-instance learning(MIL)
   輸入:乳腺影象,影象的標籤(正常影象 Vs 惡性腫塊影象)
   輸出:對於新的乳腺影象,判斷它的標籤

(ps. 此處正常影象包括:不含腫塊影象&良性腫塊影象)

本文方法具體介紹

一、MIL

假設一個bag上有多個instance。一個instance被分類為positive,bag就被認為是positive;所有instance都被分類為negative,bag才被認為是negative。對應到乳腺影象分析上,將一個image分成多個patch。一個patch被分類為惡性腫塊區域,image就被認為是惡性腫塊影象;所有patch都被分類為正常乳腺組織,image就被認為是正常影象。於是,本文只考慮image上是惡性腫塊概率最大的那個patch,它的良惡性就決定了整幅影象的性質。

如何利用MIL:它是基於原始整個乳房X光圖片進行分類。它將每個乳房X光照片的patch看做示例,將整個乳房X光照片看做a bag of instances即上面說的包。

那麼這個分類問題可以看做是標準的MIL問題。

二、方法的整個過程(如圖所示)

作為一個例項,整個乳房X線照片被視為一袋例項。 整體乳房X線照相分類問題可以被認為是一個標準的多例項學習問題。 因此,我們提出了三種不同的方案,即最大池 maxpooling標籤分配 label assignment稀疏性sparsity,為整體進行深入的多例項學習乳房X線照片分類任務.

網路結構:多個卷積層,一個線性迴歸層,排序層,多例項損失層

1) 預處理,將乳腺區域分割出來。

  • 首先使用大津方法(類內方差最小,類間方差最大)來移除背景同時resize到227*227

2)用CNN對影象提取特徵。此處用的是AlexNet,提取的是它最後一個卷積層,也就是第五個卷積層的特徵。由於AlexNet的輸入大小限制,這裡將影象resize成227*227的,經過Alex-net的5個卷積層後,得到256個6*6的feature map。

  • 使用AlexNet中的卷積層,提取它最後一個卷積層的特徵。最後會得到6*6*256的feature map

3) 對CNN中的feature map進行基於惡性(當確定為惡性是為1)不同patch之間權值共享的logistic regression來表示每個位置的惡性概率,然後將response進行rank。

對這些feature map做邏輯迴歸。256個feature map經過邏輯迴歸之後得到1個6*6的map這個6*6 map上的每個位置,對應了feature map上相同位置的256個特徵值邏輯迴歸就是用這256個特徵值給每個位置一個評分。評分的大小就是每個位置可能是惡性腫塊的概率。此處邏輯迴歸的公式為: 

                                     

Fi,j表示第i行第j列的256個特徵值,與長度為256的權值向量a做點乘,再加偏置b,然後做sigmoid,得到[0,1]之間的一個數,作為位置(i,j)是惡性腫塊的概率。權值向量a和偏置b是所有位置共享的。(ps. 此處有兩個疑問:① 什麼是[0,1],不應該是(0,1)嗎? ② 此處的邏輯迴歸操作跟1*1卷積有什麼不同。個人覺得沒什麼不同,那為什麼不直接表達成1*1卷積呢?)

4)對這6*6=36個概率值r1,r2,...,rm從大到小排序,得到r1',r2',...,rm'
5)                                          

將patch中最大的惡性腫塊概率值r1'作為整幅影象是惡性腫塊影象的概率,而1-r1'作為整幅影象是正常影象的概率。這個想法和MIL是契合的,我們關注概率最大的那一patch,該patch是positive的,整幅影象就positive;該patch是negative的,由於概率是從大到小排序,整幅影象就negative。
Inference階段,如果這個最大的概率超過了一定的閾值,那麼這幅影象就被認為是惡性腫塊影象,否則就是正常影象。為了達到這個目標,損失函式該如何設計呢?

 

三、邏輯迴歸

對於一個原始影象I,我們可以得到經過多層卷積和池化後的一個很小的有著多通道(通道數為Nc)的feature map(F)。(F)i,j,:代表原圖II中一個patch如Qi,j的CNN特徵。可以看下面的公式:  我們的工作目標是預測整個乳房X線照片是否包含惡性腫塊(BI-RADS ∈ {4,5,6}為陽性),這是一個標準的二元類分類問題。我們在F之後的所有畫素位置上新增一個權重共享的邏輯迴歸,之後,採用sigmoid啟用函式輸出,那麼特徵空間畫素(i,j)的惡性概率為
 a為權重,b為偏置,· 為兩個向量之間的內積。A,b 為每個畫素共享。

256個特徵圖經過logistic regression後會得到一個6x6的圖,這個6x6圖上的每個位置的值,對應了feature map相同位置的256個特徵值經過邏輯迴歸後的值最後其實這個6x6的圖就是每個位置的評分值,評分的大小即每個位置惡性的概率。

3.png-372.2kB

四、損失函式

本文給出3種損失函式的計算方法,並給出比較。
 
損失函式常常是這種形式:ED (ω)是誤差項,或是準確率的相反數;ER (ω)是正則化項,防止訓練的過擬合。


1)最大值:Max Pooling-based Multi-instance Learning 基於最大池化多例項學習僅取得排名層中最大元素

對於傳統的MIL假設,如果存在一個示例為positive,那麼包為positive;如果所有示例為negative,那麼包才為negative。在這個問題中,如果存在惡性腫塊,那麼就為惡性,只有所有部分都為良性,才為良性。所以positive示例實際上對應的惡性,negative示例對應的為良性。所以對於negative示例,我們希望所有的示例的riri都接近於0;對於positive示例,我們至少有一個示例接近與1。 

對於基於最大池的學習,將得到6x6=36個概率值ri進行降序排列,整張影象 I的惡性可能性就是r排序中的第一位元素,如下面公式 
4.png-14.5kB

損失函式:基於交叉熵損失函式

其中N是乳房X線照片的總數,yn∈{0,1}是惡性腫瘤的真實標籤,λ是控制模型複雜性的正規化器。

這個yn的真實標籤是由上述概率求出來的,更傾向於後者,因為這篇文章做的是無標註的分類

通常,乳房X線照片資料集是不平衡的(例如,陽性的比例INbreast資料集的乳房X線照片約為20%)。 取而代之,我們介紹一個權重損失定義為:

 

其中,Wyn是訓練集上yn的經驗估計


 
我們只看ED (ω),這裡是準確率的相反數。

 
當影象是惡性腫塊影象,它被正確分類的概率就是它被認為是惡性腫塊影象的概率,即為r1'。對於正常影象也同理可得。

對於這樣的loss function,反覆訓練之後,將會出現:
對於正常影象,它被正確分類的概率是1-r1',經過訓練,r1'越來越小。
因為r1'是最大值,r2',...,rm'也越來越小。於是正常影象上的所有patch被認為是惡性腫塊的概率都越來越小,這就相當於給了影象中的每一個patch一個監督訊號。這樣在訓練的過程中,就相當於將影象分成了一個個patch進行學習,大大增加了資料量。
對於惡性腫塊影象,它被正確分類的概率是r1',經過訓練,r1'越來越大。
因為r1'是最大值,r2',...,rm'並不會受到約束。於是可能存在一種情況,對於只有一個惡性腫塊區域的影象,它的r1'=0.99,r2'=0.85,r2'也很大。這樣雖然r2'對應的patch不是惡性腫塊區域,它也被認為是惡性腫塊區域,這就出現了監督訊號的錯誤。

這種方法的缺點:只考慮了最大惡性可能的patch,並沒有利用其他patch的資訊。一個更加有效地框架應該增加與任務相關的先驗,如整個乳房X線照片中的質量稀疏性,納入一般多例項假設,並探索更多的訓練patch。


2) 標籤分配:Label Assignment-based Multi-instance Learning 基於標籤分配的多例項學習利用所有元素,每個patch都分配標籤。

我們將傳統的多例項學習假設轉換為標籤設定問題。具體來說,提出了一個更高效的基於深度的多例項網路的標籤分配

為了更好的發揮deep MIL的力量,作者將傳統的MIL假設變成一個label assignment問題。不僅只考慮第一個patch的良性還是惡性,而是考慮排序後的前k個, 認為前k個是惡性腫瘤塊而後面都是正常部分。 

在多例項學習方案中,如果將每個例項(patch)Q i作為分類的一個數據點,則可以將多例項學習問題轉換為標籤分配問題。


第一種方法的問題是隻考慮到最大概率的那個patch。對於正常影象,其它的patch雖然通過概率的大小排序有所約束;但是惡性腫塊影象的其它patch都沒被考慮到,導致了錯誤的監督訊號的產生

於是第二種方法想去考慮每一個patch,它不是對整幅影象賦予標籤,而是給每個patch賦予標籤。
  
 
對於正常影象,自然所有patch都是正常的,均賦予標籤0;對於惡性腫塊影象,本文認為其中有k個patch都是惡性腫塊,而剩餘的patch都是正常的。於是概率最大的k個patch的標籤為1,其餘patch標籤為0。


loss function中是對一張影象上的所有patch的分類準確率進行加和。Q1',...Qm'是r1',…,rm'對應的patch。這樣的話,每個patch都得到了考慮。但這裡的問題是,這個k要怎麼確定呢?要怎麼知道每幅影象有多少個patch是腫塊呢?答案是沒辦法確定,因為ground truth就只有整幅影象的標籤
在實驗過程中,作者的做法是為k賦了一個常數值,所有影象的k都是一樣的。這樣肯定是不太好的,也有一些patch的監督訊號是錯的。但相比於第一種方法中,惡性腫塊影象中大部分的patch得到了一個錯誤的監督訊號,這裡的情況已經有所改善了。

優點:基於標籤分配的多例項學習的一個優點是它利用所有的patch來訓練模型。 從本質上說,它是一種資料增強技術,當訓練資料稀缺時,這是一種訓練深度網路的有效技術。從稀疏性角度來看,基於標籤分配的多例項學習的優化問題正是一個正資料點的k-稀疏問題

缺點:這個相比第一種方法就是挖掘了所有塊的資訊來訓練模型,但是難以確定k的取值。實驗中,我們選擇基於交叉驗證的k


3)稀疏性: Sparse Multi-instance Learning 稀疏的多例項學習為排序層新增稀疏的元素約束

在說這個之前,作者對乳房X光照片進行了統計,統計了腫塊區域大概佔整個影象多少,看下圖。 as a mass typically(特徵斑塊)===》我們進一步提出稀疏深度多例項網路這是基於最大池和基於標籤分配的多目標優化之間的折衷多例項網路。

8.png-140.3kB

從質量分佈來看,質量(mass)可以看出腫塊區域大概佔影象的2%,因此很多patch的那個r值要麼為0,要麼接近0。這意味著在整個乳房X線照片中mass區域相當稀疏,mass sparsity 轉換到malignant mass sparsity,這意味著{r '1,r '2 …,r 'm }在整個乳房X線分類問題中是稀疏的。稀疏約束意味著我們期望部分patch r'i的惡性可能為0或接近0,同第二個假設標籤分配一致

所以作者在第一種損失函式上加上了一個

|| · || 1表示 norm L1範數,μ是稀疏因子,這是稀缺之間假設和patch Q '1的重要性的權衡,計算公式如下

從基於標籤分配的多例項學習的討論來看,這種學習是一種精確的k-稀疏問題,可以轉化為L 1約束.稀疏多例項學習在基於標籤分配的多例項學習上的一個優點是,不需要為每個patch分配標籤,而對於概率不太大或很小的補丁很難做到這一點。 稀疏多例項學習考慮r的整體統計特性

第三種方法,作者認為是第一種和第二種的tradeoff權衡,效果可以看之間的圖,最後得到的結果也是最好的。最後作者比較了和以往方法在資料集的準確率和AUC,結果就不用說了,提升了。。。
本文提出了第三種方法,它綜合了前兩種方法的思路,也解決了它們各自的問題。相比方法一,方法三綜合考慮了所有patch的資訊,相比於方法二,方法三靈活地指出patch的個數。 
可以發現,這個loss function跟第一種方法的差距就在 。與第一種方法相同的是,三用 考慮了最大概率的那個patch。那麼它如何去考慮其他的patch呢?注意到一個先驗知識,一幅影象中腫塊是很少的,1塊,2塊,3塊就算很多了,剩下的都是正常的乳腺組織。因此,在給每個patch賦予標籤時,惡性腫塊為1,正常為0,那麼1的個數特別少,大部分都是0,因此這是一個稀疏問題。
於是加了 這一項,這是一個稀疏項。加了這一項之後,經過loss function去反覆訓練網路,那麼最終得到的r就非常稀疏,r1',r2',...,rm'中只有幾個有值,剩下的都是0。於是對於正常影象,它用 使得所有patch的概率值變小,並通過稀疏,使得大部分的概率接近於0,只有少數patch有較小的概率值,得到的都是正確的監督訊號;對於惡性腫塊影象,它用 使得最大概率值變大,同時通過稀疏,使得大部分patch的概率接近於0,只有少數patch有較大的概率值,這些較大的概率值就對應著惡性腫塊區域,實現了數量的估計。

五、實驗

對於預處理,我們首先使用Otsu的方法來分割乳房X線照片[18]和刪除乳房X線照片的背景。為了接下來CNN的處理,我們將處理後的乳房X線照片調整為224×224。我們採用技術來增強我們的資料,對於每個訓練時期,我們將乳房X線照片水平隨機翻轉,水平和垂直方向在乳房X線照片的0.1比例內轉換,在45度內旋轉,對於每個訓練時期,我們將乳房X線照片水平隨機翻轉,水平和垂直方向在乳房X線照片的0.1比例內旋轉,在45度內旋轉,將50×50方框設為0。實驗中,資料增加對我們訓練深層網路至關重要。

對於CNN網路結構,我們使用AlexNet並刪除完全連線層[13],通過CNN,尺寸為224×224的乳房X線照片變成了256個 6×6的featuremaps。然後我們使用第三部分中的步驟做多例項學習(MIL),我們使用Adam optimization ,從零開始訓練的學習率為0.001,在Imagenet上預測,訓練模型為最大池和基於標籤分配的基於多示例學習的λ為

The λand µ for sparse multi-instance learning are 5×10 −6 and 1×10 −5 respectively。

對於基於標籤分配深多例項的網路,我們選擇K { 4,8,12,16 }基於驗證集。

六.總結

為了進一步瞭解我們的深度多例項網路,我們將圖4中的四個乳房X線照片的線性迴歸層的響應視覺化為測試集上的代表各個補丁的惡性概率的響應。

圖4:在四個不同尺寸的乳房X線照片中顯示預測惡性概率的例項/斑塊。第一行是對乳房X線照片的大小調整。紅色矩形框是來自資料集上註釋的質量區域(mass regions)。從第二行到最後一行的彩色影象分別是從(a)到(d)的線性迴歸層的預測的惡性概率,其是斑塊/例項的惡性概率。 基於最大池,基於標籤分配,基於稀疏深度多例項網路分別位於第二行,第三行,第四行。(a),(c)和(d)中的最大的基於池的深度多例項網路丟失了一些惡性斑塊。基於標籤分配的深度多例項網路(d)中將斑塊錯分類為惡性。

從圖4中我們可以看到深度多例項網路不僅學習了預測整個乳房X線照片,還可以預測整個乳房X線照片中的惡性斑塊。我們的模型能夠學習整個乳房X射線照片的質量區域,而不需要任何明確的boundingbox or segmentation ground truth 。(a),(c)和(d)中最大的基於池的深度多例項網路漏掉了一些惡性補丁。可能的原因是它只考慮訓練中最大惡性概率的片段,並且對於所有的片都沒有很好的學習。(d)中的基於標籤分配的深度多例項網路錯誤地分類了一些補丁。可能的原因是,模型為所有乳房X線照片設定了一個常數k,這導致對於小質量的一些錯誤分類。我們工作的一個潛力就是這些深度多例項學習網路可以用來自動進行弱質量標註,這對於計算機輔助診斷是非常重要的。

七.討論

在本文中,我們提出了對整個乳房X線照片分類的端到端訓練的深度多例項網路。 與之前使用分割或檢測註釋的作品不同,我們直接進行基於整個乳房X線照片的質量分類。我們將一般多例項學習假設轉換為排名後的標籤分配問題。 由於質量的稀疏性,整個乳房X線照片分類採用稀疏多例項學習。實驗結果表明,即使在訓練中沒有檢測或分割註釋,也比以前的工作有更強的效能。

 在今後的工作中,有希望通過以下方式來擴充套件當前的工作:1)合併空間金字塔等多尺度建模,進一步改善整個乳房X線照片分類,2)自適應地估計基於標籤分配的引數k多例項學習,3)採用深度多例項學習進行註釋或提供潛在的惡性斑塊來輔助診斷。

我們的方法應該普遍適用於需要領域專家知識和手工標記,或者感興趣區域相對於整個影象小和/或稀疏的其他生物影象分析問題。我們的端到端深度多例項網路也適用於大型資料集,並且如果大型資料集可用,預計會有改進。