劉俊志 朱昆侖 宋笑涵
摘要:乳腺癌是導致女性癌癥死亡的首要原因,嚴重危害廣大女性的身體健康,早期的診斷和治療是防治的關鍵。針對當前乳腺X線圖像人工標注工作量大、數據不易獲取、圖像特征提取耗時且難度大等問題,現以稀疏自編碼網絡為基礎,訓練具有兩個隱含層的神經網絡以對圖像進行有無病變分類。首先,使用自編碼器以無監督方式單獨訓練各隱含層。然后訓練最終Softmax層,并將這些層連接在一起形成堆疊網絡,該網絡最后以有監督方式進行訓練。醫生可通過系統得出的結果對患者是否患有乳腺病變進行診斷。
關鍵詞:乳腺X線圖像;稀疏自編碼器;深度學習;病變檢測;MATLAB
1. 前言
目前國內外學者先后提出了多種乳腺病變檢測系統。Christoyiarni等人提出在腫塊疑似區域上利用獨立元分析方法提取特征辨別腫塊與正常組織,再利用神經網絡方法分類訓練腫塊,能達到較高檢測率同時能區分腫塊的良惡性[1]。盡管特征提取確實得到很大提升,但是CAD系統中的分類器在分類病變圖像的準確度上仍然存在很大缺陷。近年來,深度學習在諸多領域能夠同時進行特征學習和分類,深度學習技術中的無監督特征學習技術已經成功地被應用于計算機視覺領域。因其不需要依賴于先驗知識,可以自適應地構建有效的特征描述,所以靈活性和普遍性較傳統特征提取方法更具有優越性[2]。自編碼器(Auto-encoder,AE)就是深度學習中最流行的代表性學習方法中的一種,該學習方法能實現良好的性能,并具有較少的調節參數和低的迭代次數等優點,在圖像特征表達中得到廣泛的運用[3]。由此設計一個基于自編碼網絡的乳腺病變檢測系統,采用無監督自編碼網絡訓練及有監督的微調,訓練建立能夠區分乳腺X線圖像是否發生病變的神經網絡模型,檢測結果對乳腺癌診斷有很好的參考價值,對促進醫學影像診斷的智能化發展具有重要的意義。
2. 基于自編碼網絡的乳腺病變檢測系統
2.1 數據集加載
本文使用乳腺X線圖像數據進行訓練和測試。每個數據圖像為256×256像素,共有1200張訓練樣本,其中包括1000張正常的乳腺X線圖像和200張已發生病變的乳腺X線圖像。通過for循環依次將1200張訓練數據加載到MATLAB中,然后使用imresize函數把每個數據圖像壓縮為28×28像素,利用rgb2gray函數將真彩色圖像轉換成灰度圖像。
訓練圖像的標簽存儲在一個2×1200的矩陣中,其中每列都有一個元素為1,指示該圖像所屬的類,該列中的所有其他元素為0。數據加載完成后利用for循環查看其中一些圖像,查看效果。
2.2 訓練自編碼網絡
2.2.1 訓練第一個自編碼器
首先在不使用標簽的情況下基于訓練數據訓練稀疏自編碼器。自編碼器是一種神經網絡,該網絡會嘗試在其輸出端復制其輸入。因此,其輸入的大小將與其輸出的大小相同。當隱含層中的神經元數量小于輸入的大小時,自編碼器將學習輸入的壓縮表示。
第一步:顯示設置隨機數生成器種子。
第二步:設置自編碼器的隱含層的大小。
第三步:訓練自編碼器。
第四步:可以使用view函數查看自編碼器的圖。自編碼器由一個編碼器和一個解碼器組成。編碼器將輸入映射為隱含表示,解碼器則嘗試進行逆映射以重新構造原始輸入。
2.2.2 可視化第一個自編碼器的權重
自編碼器的編碼器部分所學習的映射可用于從數據中提取特征。編碼器中的每個神經元都具有一個與之相關聯的權重向量,該向量將進行相應調整以響應特定可視化特征。
自編碼器的隱含層的100維輸出是輸入的壓縮版本,它匯總了對上面可視化的特征的響應。基于從訓練數據中提取的一組向量訓練下一個自編碼器。首先,必須使用經過訓練的自編碼器中的編碼器生成特征。
2.2.3 訓練第二個自編碼器
第二個自編碼器的訓練與第一個類似,主要區別在于將使用從第一個自編碼器生成的特征作為第二個自編碼器中的訓練數據并且將隱含表示的大小減小到50,以便第二個自編碼器中的編碼器學習輸入數據的更小表示。將前一組特征傳遞給第二個自編碼器中的編碼器,以此提取第二組特征。
2.2.4 訓練最終Softmax層
訓練Softmax層以對50維特征向量進行分類。與自編碼器不同,將使用訓練數據的標簽以有監督方式訓練Softmax層。
2.2.5 形成堆疊神經網絡
已單獨訓練了組成堆疊神經網絡的三個網絡:autoenc1、autoenc2和Softmax。
將自編碼器中的編碼器與Softmax層堆疊在一起形成用于分類的堆疊網絡。
2.2.6 微調堆疊神經網絡
為了更好地進行分類,通過以有監督方式基于訓練數據重新訓練網絡來對整個多層網絡執行反向傳播,改進堆疊神經網絡的結果。
2.3 基于自編碼網絡的乳腺病變檢測
本文使用乳腺X線圖像數據進行測試。每個數據圖像為256×256像素,共有1375張測試樣本,其中包括1000張正常的乳腺X線圖像和375張已發生病變的乳腺X線圖像。通過for循環依次將1375張測試數據加載到MATLAB中,然后使用imsize函數把每個數據圖像壓縮為28×28像素,利用rgb2gray函數將真彩色圖像轉換成灰度圖像。數據集加載方式與訓練數據集加載方式類似,可參考前文。
測試圖像的標簽存儲在一個2×1375的矩陣中,其中每列都有一個元素為1,指示該圖像所屬的類,該列中的所有其他元素為0。
2.4 實驗結果分析
在MATLAB command window窗口輸入guide命令查看圖形用戶界面GUI,包括一個可編輯文本;四個按鈕,功能分別是導入訓練數據、訓練網絡、導入測試數據、測試;兩個坐標軸,用于展示訓練集和測試集中的部分乳腺X線圖像。
可以看出目標類加載的1000個正常的測試數據中有988個被正確檢測出,12個被檢測錯誤,第一類數據檢測的準確率為98.8%;加載的1000個正常的測試數據中有988個被正確檢測出,12個被檢測錯誤,第一類數據檢測的準確率為98.8%;目標類加載的375個有病變的測試數據中有350個被正確檢測出,25個被檢測錯誤,第二類數據檢測的準確率為93.3%;輸出類中第一類數據被正確檢測的有988張,錯誤檢測的有25張,檢測的準確率為97.5%;輸出類中第二類數據被正確檢測的有350張,錯誤檢測的有12張,檢測的準確率為96.7%;經過多次測試,整個系統分類的準確率最高達到了97.3%。
3. 結論
在本文完成過程中,做了大量的實驗工作,實現了基于自編碼網絡的方法對乳腺X線圖像中的病變進行檢測。本文將自編碼網絡模型應用在乳腺病變的檢測任務中,提高了計算機輔助診斷系統的精度,測試階段,單幅圖像平均處理時間為0.00236秒。經過多次測試,整個系統分類的準確率最高達到了97.3%。為醫生診斷患者是否患有乳腺癌病變提供了有力的幫助。
參考文獻
[1]? 王金平. 基于深度卷積稀疏自編碼分層網絡的人臉識別技術. 太原理工大學學報,2018,49(05):765~770
[2]? 朱恩澤. 基于深度學習的醫學圖像分割方法. 徐州醫科大學學報,2019,39(2):143~147
[3]? 余立付. 基于深度自編碼網絡的高光譜圖像空譜聯合分類:[碩士學位論文]. 西安:西安電子科技大學,2017