TauMed:醫學診斷領域中的圖像分類測試數據擴增


TauMed:醫學診斷領域中的圖像分類測試數據擴增


南京大學智能軟件工程實驗室

iselab.cn

摘要:

深度學習在醫學分類方面取得了長足的進步。但是,在許多現實的環境中,用於訓練和測試的數據不足且不平衡,深度學習模型將很容易過度擬合且泛化能力很差。並且由於醫院和患者的狀況並不總是適合於收集數據,並且具有相同疾病的患者數據也並非總是可用,因此在醫學領域經常出現需要收集平衡且足夠的數據的難題。此外,神經網絡需要在大量準確而可靠的數據上進行訓練,數據不正確或表示不正確可能會導致系統的性能變差。在這項研究中,我們通過對醫學數據集執行傳統和先進的增強技術,以生成足夠且平衡的圖像。同時,我們使用分類準確性和 DeepGini 得分作為度量標準,以評估擴增數據集的有效性。

其視頻位於https://www.youtube.com/watch?v=P0aQXoE4g。

關鍵詞:

數據擴增,圖像分類,醫療圖像

一、 緒論

近年來,深度學習在各個領域都取得了巨大的進步和成就。但是,與應用深度學習的其他區域不同,在醫療和自動駕駛等對安全至關重要的領域中,模型的安全性需求通常更高。深度學習模型的安全性在很大程度上取決於訓練和測試模型中的數據質量。與 ImageNet 和與其類似的提供數百萬個圖像的自然圖像域數據集不同,醫學數據集中可用的訓練圖像要少得多。足夠且平衡的數據成為影響模型質量的關鍵因素。但是,由於醫院和患者的狀況並不總是適合於收集數據,並且具有相同疾病的患者數據也並非總是可用,因此在醫學領域經常出現收集平衡且足夠數據的難題。對於給定的目標疾病,健康的患者要多於不健康的患者。對於給定的患者,通常有比不正常圖像更多的正常圖像。因此,如何獲得足夠的平衡圖像數據已成為提高模型質量和性能的關鍵因素。

有多種數據增強方法可用於克服足夠數據的問題。這些方法可以分為傳統方法(改變旋轉,對比度,亮度等)和高級方法(紋理和樣式轉換等)兩類。高級方法包括不同的學習模型和耗時的方法,而傳統方法則成本低廉且易於應用。

傳統的數據增強通常用於解決數據不平衡問題。通過隨機刪除樣本更多的類的數據來解決數據不平衡問題。但是,這種方法不會增加稀有類的學習能力。

另外,一種新的方法稱為特徵表示和相似度矩陣的統一學習,該方法使用單個深度卷積神經網絡(CNN)對種子標記的數據集進行訓練,以從大型未標記的數據集中為每個類別推薦最相似的圖像,以供醫學專家驗證,並將其包含在種子標記的數據集中。它的真實數據增強功能大大減少了昂貴的手動標記時間。它很容易擴展到其他醫學圖像分類問題。但是,該方法的應用範圍有限,算法過於複雜,推薦效率不如我們期望的高。

因此,在本文中,我們從傳統擴增技術中選擇了無損變換和非剛性變換,以及先進增強技術(如 GAN,SMOTE,AutoAugment)在數據集上生成足夠且平衡的圖像。同時,我們使用 DeepGini 得分和分類精度作為度量標準,評估擴增數據集的質量並與原始數據集進行比較。

與僅使用傳統數據擴增技術的其他方法相比,我們將當前流行的數據擴增方法也加入系統。與單純刪除部分數據相比,我們的方法不僅解決了數據不平衡的問題,而且使數據更加豐富。我們的方法具有以下優點:

  • 與使用單一方法生成擴增圖像的其他方法相比,我們的方法將多種常規圖像數據擴增方法與先進圖像擴增方法結合在一起。在此過程中成功生成圖像數據的概率將增加。
  • 通過使用我們的圖像數據擴增方法,不僅可以生成足夠的醫學圖像數據,而且可以解決原始圖像數據集中數據不平衡的問題。
  • 對於醫學專家而言,手動梳理龐大的未標記數據集以獲得稀有類別的足夠代表性示例可能是不可行的。與人工標記的數據相比,我們的方法不需要大量的人力和資源來標記數據。
  • 我們的方法在獲取醫學圖像數據的同時也保護了患者的隱私。

二、相關工作

在相關工作中,我們主要介紹 GAN 在傳統領域中數據增強中的應用。在 DOPING 中,作者將注意力集中在無監督的異常檢測上,並提出了針對此任務進行了優化的新型生成數據增強框架。為了應對這一挑戰,他們建議使用稱為對抗自動編碼器(AAE)的 GAN 變體,將高維多峰數據分佈轉換為具有明確尾部概率的低維單峰潛勢分佈。在 DADA 中,作者提出了一種深層對抗數據增強(DADA)技術來解決該問題,在該技術中,他們精心地將數據增強公式化為訓練類條件和監督型生成對抗網絡(GAN)的問題。具體而言,提出了一種新的鑑別器損失,以適應數據擴充的目標,通過該損失,實數樣本和擴充樣本都將被強制執行,從而有助於並一致地找到決策邊界。

三、 方法

該系統包括擴增模塊和質量評估模塊。首先,將醫學圖像數據集輸入到系統中,然後擴增模塊使用不同擴增方法來擴展原始數據集。最後,將該數據集輸入到質量評估模塊,並使用 DeeiGini 得分和神經網絡的分類精度作為度量來評估擴增數據集。

TauMed:醫學診斷領域中的圖像分類測試數據擴增

圖 1 系統工作流


  1. 擴增模塊

對於具有很多重要信息的圖片(例如醫學圖像),最好執行不會增加或丟失圖片信息的圖像增強變換。因此,我們選擇使用無損變換、非剛性變換和先進擴增技術來完成醫學圖像擴增。

TauMed:醫學診斷領域中的圖像分類測試數據擴增

圖 2 擴增模塊


1) 無損變換

無損變換是通過 albumentations 實現的,具體方法說明如下:

水平翻轉。在水平翻轉中,翻轉後圖像的每個像素的橫座標相對於圖像的垂直中心線對稱於翻轉前相應像素的橫座標。

TauMed:醫學診斷領域中的圖像分類測試數據擴增

垂直翻轉。與水平翻轉類似,翻轉後圖像的每個像素的橫座標相對於垂直翻轉中圖像的水平中心線對稱於翻轉前相應像素的橫座標。

TauMed:醫學診斷領域中的圖像分類測試數據擴增

我們在此模塊中同時執行水平翻轉和垂直翻轉。儘管在常規圖像擴展中未使用垂直翻轉(如顛倒的狗可能不會對模型訓練產生影響),但由於醫學圖像的特殊性,這種方式可能仍然有意義。

隨機旋轉。通過變換矩陣實現旋轉:

TauMed:醫學診斷領域中的圖像分類測試數據擴增

首先,將座標的原點從左上角變換到圖像的中心。然後,以旋轉中心為原點,將圖像旋轉角度

TauMed:醫學診斷領域中的圖像分類測試數據擴增

。旋轉完成後,座標原點恢復到旋轉圖像的左上角。

在我們的項目中,我們將輸入圖像隨機旋轉 90 度零次或多次,即 0、90、180 和 270 度。

轉置。轉置轉換是交換行和列。

TauMed:醫學診斷領域中的圖像分類測試數據擴增

TauMed:醫學診斷領域中的圖像分類測試數據擴增

圖 3 無損變換


2) 非剛性變換

非剛性變換描述了更改大小但不改變形狀的圖像的任何變換。拉伸或擴張是非剛性類型的轉換的示例。在醫學圖像問題中,非剛性變換有助於增強數據。

彈性變換。彈性變換是為像素的每個維度生成一個隨機的標準偏差(-1,1)間隔,然後使用高斯濾波(0,sigma)過濾每個維度的偏差矩陣,最後控制偏差範圍放大係數 alpha。最後,從 A(x,y)獲得 A'(x + deltaX,y + deltaY)。A'的值替代原始 A 位置的值。一般而言,alpha 越小,sigma 越大,偏差就越小,並且離原始圖像越近。

網格失真。失真是一種場像差,它會在全局範圍內影響圖像的外觀,而與影響細節的模糊相反。畸變可以定義為整個像場中放大率的變化。失真的主要且最廣為人知的效果是,原始圖像中的直線在變換後的圖像中將變得彎曲。

光學失真。失真是指光學系統在物體上形成的圖像相對於物體本身的失真程度。光學畸變是指通過光學理論計算出的畸變程度。

TauMed:醫學診斷領域中的圖像分類測試數據擴增

圖 4 非剛性變換


3) 先進擴展技術

GAN。生成對抗網絡(GAN)的原理是:網絡中有兩個角色,並且這兩個角色相互博弈。在神經網絡的訓練過程中,兩個網絡相互配合以提高網絡的性能。GAN 具有兩個主要組件,生成器神經網絡和鑑別器神經網絡。生成網絡使用隨機輸入,嘗試輸出數據樣本,並將生成的數據發送到鑑別器網絡 D(x)。鑑別器網絡的任務是預測輸入是真實的還是生成的。

在訓練中,它分兩個階段進行。第一階段是學習鑑別器。此時,生成器的權重不變,並且僅鑑別器的權重被更新。在訓練過程中,分別從噪聲分佈和真實分佈中選擇 m 個噪聲輸入樣本和 m 個真實信號樣本,並通過最大化損失函數來更新鑑別器的權重。第二階段是訓練 Generator。此時,損失被最小化以更新生成器的權重。

TauMed:醫學診斷領域中的圖像分類測試數據擴增

圖 5 通過 GAN 生成的擴增圖像


SMOTE。SMOTE 是一種用於處理樣本類別不平衡的數據集的算法。它的全名是 Synthetic Minority Over-sampled TEchnique。它可以為小樣本類別合成新樣本。首先,定義特徵空間,並確定採樣倍率 N。然後為幾個類採樣點(x,y)找到 K 個最近的鄰居樣本,隨機選擇一個最近的鄰居

TauMed:醫學診斷領域中的圖像分類測試數據擴增

和新的樣本點滿足

TauMed:醫學診斷領域中的圖像分類測試數據擴增

在兩點線上。

Fast AutoAugment。AutoAugment 是 Google 對自動選擇最佳數據增強程序的研究,這是無監督數據增強的重要研究方向。其基本思想是利用強化學習從數據本身中找到最佳的圖像轉換策略,並針對不同任務學習不同的強化方法。與 AutoAugment 相比,Fast AutoAugment 使用更有效的基於密度匹配的搜索策略來學習增強策略,因此它可以在保持可比性能的同時將搜索時間提高几個數量級。

  1. 質量評估模塊

我們使用深度學習神經網絡對原始圖像數據集和擴增圖像數據集進行測試,以獲取分類結果和準確率。同時,我們將使用 DeepGini 處理分類結果以獲得相應數據集的 DeepGini 得分。然後,我們將兩個指標結合起來以比較測試集的質量。最後,輸出最高質量的數據集。

DeepGini 得分。給定一個測試 t 和一個輸出的 DNN,並且 n 是類數,則將 t 的錯誤分類概率定義為:

TauMed:醫學診斷領域中的圖像分類測試數據擴增

對於整個數據集

TauMed:醫學診斷領域中的圖像分類測試數據擴增

,其中 n 是樣本數,我們將 DeepGini 得分定義為:

TauMed:醫學診斷領域中的圖像分類測試數據擴增

四、 用法

為了詳細說明整個系統的用法和操作過程,我們選擇 GON 數據集作為原始數據集,並使用 resnet-50 作為深度神經網絡模型進行圖像分類。由於我們找不到用於 GON 數據集的任何預訓練 DNN 模型,因此我們使用自己訓練的 resnet-50 模型。

數據集。醫學數據集的類型非常廣泛。在本項目中,我們僅以 GON 數據集為例來說明系統。 GON 是來自非青光眼受試者(佔 90%)和青光眼患者的大量眼底照片數據集,其中青光眼是目前世界上不可逆失明的主要原因。該數據集中總共提供了 800 張彩色眼底照片,並將其按 1:1 比例分為 2 個子集進行訓練和測試,分層後具有相等的青光眼存在百分比。將提供總共 400 張彩色眼底圖像的訓練集以及相應的青光眼狀態和統一的手動像素級註釋。

選擇擴增技術。用戶將原始數據集輸入系統中,然後選擇系統提供的任何擴增方法來擴增原始數據集。然後,系統將使用用戶選擇的方法來擴增數據集,並將擴增後的數據集傳遞給 DNN 模型。

訓練模型。使用原始數據集訓練 DNN 模型。

數據集評估。系統使用擴增的數據集測試模型以獲得準確性和分類結果。然後系統根據分類結果計算每個圖像的誤分類概率,並從數據集中刪除小於 0.05 的圖片。同時,系統會計算整個數據集的 DeepGini 得分,並將其用作數據集質量的度量。最後,將模型的分類準確性和數據集的 DeepGini 分數用作評估數據集準確性和多樣性的標準。如果評估結果良好,則系統將輸出擴展的數據集。但如果評估結果不夠好,系統將提示用戶選擇一種新的增強方法。

TauMed:醫學診斷領域中的圖像分類測試數據擴增

五、 結論

在本文中,我們開發了用於醫學數據集的圖像擴增集成系統。通過使用我們的系統,用戶可以自由選擇他們想要實現醫療數據集擴增的方式。此外,由於醫學圖像的精確性和信息豐富性,我們選擇了無損變換、非剛性變換和先進的增強技術,這些技術不會在很大範圍內改變圖像內容以增強原始數據集。

致謝

本文由南京大學軟件學院 2019 級碩士王黛薇翻譯轉述。

感謝國家自然科學基金(61932012,61802171,61772014)支持!


分享到:


相關文章: