王德才



摘要:肺癌作為全球發病率最高和死亡率最高的惡性腫瘤,提高肺癌患者存活率最有效的方法就是及早發現、及早診斷、及早治療。通過人為的觀察CT掃描圖像,極易出現漏判、誤判的情形,計算機輔助診斷(CAD)具有高準確率、高效率的特點,這里本文提出了一種基于機器學習的肺癌檢測方法,以肺部圖像數據庫聯盟(LIDC)作為計算機視覺分析圖像模型,通過比較各類有效的圖像特征,以圖像的LBP直方圖的方法來表示訓練集以及待檢測圖像的特征,提取肺癌ROI區域及相應病變的特征,引入CART分類器作為弱分類器,然后通過AdaBoost算法對肺結節進行分類學習,構建分類可疑肺癌的AdaBoost分類器,再采用遷移學習的方法將構建好的分類器模型遷移到實際臨床CT肺部影像來幫助模型進行訓練學習。通過實驗數據發現,以上方法對肺癌的識別率能夠93.2%,無論對醫生還是患者來說都具有很大的現實意義。
關鍵詞:計算機輔助診斷(CAD);肺部圖像數據庫聯盟(LIDC);CART分類器;AdaBoost分類器;遷移學習
中圖分類號:TP391 文獻標識碼:A 文章編號:1007-9416(2020)01-0085-05
0 引言
近些年來,環境污染問題和食品安全問題已經嚴重威脅到人們的健康,多數城市PM2.5居高不下,引發了大量的肺炎和肺癌等多種肺部疾病。據不完全統計,空氣重的細小顆粒物是誘發肺癌的主要原因。除了改善生活環境以外,對于肺癌來說,早發現、早診斷、早治療也是提高患者存活率的一種重要手段。肺癌在臨床醫學上表現極其復雜的特征,患者發病時間較短,呈現惡性的概率也更高,一旦發現,患者多處于病變晚期,治愈率極低。
肺癌在醫學和臨床上的組織解剖診斷方法依據主要的特點就是根據組織學和肺癌的影像解剖學來對肺癌進行臨床診斷。肺癌的組織解剖學的診斷方法主要的特點包括了肺癌的支氣管鏡解剖學檢查、活檢組織解剖學檢查和痰液癌細胞解剖學檢查等,盡管這類的診斷方法都可以在痰液中作為診斷和檢測早期肺癌的依據和標準,但是對于那些處于不同早期患病的階段和不同生活類型的肺癌患者來說,癌細胞并不一定都可以出現在自己的痰液中。而肺癌的影像解剖學的診斷方法主要的特點就是通過利用計算機的斷層掃描和肺癌的x射線解剖學檢查診斷方法來直觀的了解和觀察癌細胞和人體的肺部病變活檢組織的大小、形態和其位置,此診斷方法有效的避免了癌細胞活檢的組織給肺癌病人身體帶來的干擾和傷害。現如今,影像解剖學進行肺癌診斷的方法已經是目前肺癌的診斷方法中應用最廣泛的一種診斷方法。
近些年來,隨著斷層掃描技術的不斷發展,該技術已經成為了最有效的肺癌檢驗方法。肺部CT圖像是一種單通道高位圖像,醫生通過觀察胸腔掃描的CT圖像,然后結合病人的臨床癥狀可以發現癌癥的發病區域以及其良/惡性。正是由于胸腔CT掃描變得越來越普遍,給醫生也帶來十分巨大的閱片壓力,醫生在憑借個人工作經驗以及相關知識閱片的過程中,難免會出現漏判和誤判的情形,這對于患者的診斷和治療都是極為不利的。所以利用計算機技術來對肺部CT圖像模型來進行處理,這可以大大的提高閱片的速度和精確性,這也是近年來肺癌檢測診斷的一個熱門研究方向[1]。
深度學習是一個快速發展的領域,對醫學成像領域有很多影響。當前,醫學圖像由放射科醫生,醫師等進行診斷。但是這種診斷變得非常主觀。放射科醫生通常必須仔細檢查大量的這些圖像,長期檢查這些圖像可能會導致疲勞并導致錯誤。因此,需要對此進行自動化。諸如支持向量機之類的機器學習算法通常用于檢測和分類腫瘤。但是它們通常受到定義要素時所做假設的限制。這導致靈敏度降低。但是,深度學習可能是理想的解決方案,因為這些算法能夠從原始圖像數據中學習特征。實現這些算法的挑戰之一是缺乏標記醫學圖像數據。盡管這是對深度學習的所有應用程序的限制,但由于患者的機密性,對醫學圖像數據的限制更大。在本文中,將通過以CART為弱分類器,Adaboost為強分類器,對其進行訓練分類,并使其檢測肺結節。本文所使用的數據來自肺影像數據庫協會和傳染病研究所的數據(LIDC/IDRI)數據庫[2]。
基于這種深度機器學習的肺癌早期檢測分析方法主要的特點是通過對肺部CT的圖像通過計算機系統及其輔助的診斷系統進行分析得到的圖像分析提取其包含的圖像中肺結節特征,然后對獲得的圖像中可能包含的早期肺部結節特征進行了檢測、分割、分類等技術研究,最終可以確診并判斷出患者的肺結節是否可能患有了肺癌。其中,系統的性能主要是體現在對檢測早期的肺結節以及其危險嚴重程度正確進行分類的能力上。本文中的肺癌實驗早期檢測數據主要來自于LIDC-IDRI一個開源用于肺部檢測的CT圖像數據庫,該圖像數據庫中已經包含了大量的早期肺結節樣本以及其對應的肺結節標簽。因此,LIDC-IDRI這個數據庫經常被研究者用來作為驗證對肺結節良/惡性情況正確分類的模型,包括肺結節分類器主要優化的模型和分類器的圖像特征提取。對于肺結節良/惡性的圖像進行分類主要目的是為了給肺結節的醫生和患者提供一個更加科學的、可靠的輔助分類的結果,使他的診斷和治療過程更加的精準,并且這樣能夠有效的幫助患者減少肺結節醫生的臨床檢查閱片和工作量。在運用肺結節分類優化算法的圖像優化過程中,分類算法的過程我們需要首先分析和計算這些圖像的類型和圖像特征,然后對分析得到的不同類型圖像的特征分別打上不同的分類標簽,接下來我們結合分類器對樣本集的特征進行了訓練和測試。常見的肺結節分類器主要優化模型包括KNN、ANN、SVM、Random Forest、CART、Adaboost、模糊C均值等。常用于數據的肺結節良/惡性圖像分類的肺結節圖像灰度特征模型主要包括肺結節圖像的灰度幾何的特征、紋理的特征和肺結節灰度密度分布的特征等。本文就是通過從圖像中提取500組的肺結節良惡性圖像來分析數據的LBP特征,然后以分類器CART為弱惡性分類器,Adaboost為強分類器。本文進行了實驗來對數據的肺結節良惡性圖像進行了分類將數據LIDC-IDRI數據庫圖像中的肺結節數據和樣本準確地分為良性和惡性兩類,其最優的AUC值分別達到了0.9615。經過長期的對比結果分析該方法相較單獨的分類器CART為弱分類器和傳統的Adaboost分類器魯棒性更高,分類處理效果也相對更好。
1 基于LBP的特征提取方法
LBP(Local Binary Patterns)特征即中心像素局部二值成像模式的特征,獲取的特征是中心圖像的局部旋轉和紋理狀態特征,具有局部旋轉不變性和局部灰度不變性等一系列顯著的紋理特征,最早是由T.Ojala,M.Pietikaiunen和D.Harwood在1994年提出,由于LBP特征提取方法簡單、描述效果良好,因此在機器學習和視覺的諸多應用領域中心像素得到了廣泛地研究和應用,其中最為著名的兩種應用方式是中心像素人臉識別和目標像素檢測。原始的中心像素LBP特征算子定義在像素3×3的鄰域以內,以鄰域中心像素為閾值,相鄰的8個像素的灰度值與鄰域周圍中心的二進制像素灰度值進行了比較,若周圍的鄰域中心像素灰度值大于鄰域中心像素的閾值,則其在該像素點的位置被標記為1,否則為0。這樣,3×3鄰域內的8個二進制焦點像素經過比較可以直接產生8位的二進制像素數,將這8位的二進制像素數依次排列形成一個8位二進制的數字,這個二進制數字就是中心像素的LBP值,LBP值特征共有28種的可能,因此局部LBP值特征有256種。中心像素的局部LBP值特征反映了該中心像素周圍各個區域的局部紋理狀態信息[3]。
上面描述的過程用數學函數可以表示為:
(公式1)
式中,中心像素坐標(xc,yc)的灰度值為;表示為3×3 鄰域內除中心像素外的其它像素點處的灰度值;S 所滿足的函數關系如下公式2所示:
(公式2)
如圖1所示是LBP特征描述的示意圖。
基本的圓形LBP算子最大的優點和缺陷之處在于它僅能直接覆蓋一個固定的半徑和角度范圍內的小尺度紋理區域,這顯然不代表它能夠更好地滿足不同的尺寸和頻率圓形紋理的應用需要。為了更好地適應多尺度的圓形紋理區域特征以及對實現紋理灰度不變性的基本要求,T.Ojala等對圓形LBP算子模型進行了改進,將其中的算子稱為“圓形LBP算子”。該種改進后的算子將3×3鄰域的擴展縮小到了任意鄰域,并用圓形鄰域的像素點替代了算子原有的正方形鄰域,使得該種改進后的圓形LBP算子更好地實現了在采樣點的半徑和角度為r的任意多個圓形鄰域范圍內有任意多個圓形像素點,從而實現了一種以圖2為例的一個含有任意p個采樣點的圓形LBP算子,圖2中字母上標可以表示采樣點的半徑,下標可以表示任意多個采樣點。本文中所采用的即是一個圓形的LBP算子[4]。
通過上述LBP特征提取方法對(LIDC/IDRI)數據庫中的影像數據提取特征結果如圖3如下。
通過圖3可以看出,肺部影像數據經過LBP特征提取后具有鮮明的輪廓和紋理特征,這為肺癌的診斷分類提供了較大的幫助。
2 基于AdaBoost的肺結節良惡性分類方法
本文中使用了來自肺影像數據庫協會和傳染病研究所的數據[(LIDC/IDRI)數據庫],由于這些映像很大(124GB),因此本文最終使用了可用于LUNA16的重新格式化版本。該數據集由888個CT掃描組成,并帶有描述坐標和地面真相標簽的注釋。第一步是創建一個圖像數據庫進行培訓。圖像被格式化為.mhd和.raw文件。標頭數據包含在.mhd文件和多維圖像中數據存儲在.raw文件中。本文中使用SimpleITK庫讀取.mhd文件。每個CT掃描的尺寸為512x512xn,其中n是軸向掃描的數量。每次CT掃描大約有200張圖像。共有551065個注釋。在提供的所有注釋中,有1351被標記為結節,其余被標記為陰性。這樣就出現了階級大失衡。處理它的簡單方法是通過旋轉圖像對多數階層進行采樣并增加少數階層。因此,本文中圍繞注釋中提供的坐標裁剪圖像。注釋以笛卡爾坐標提供。因此必須將其轉換為體素坐標。圖像強度也以Hounsfield比例定義。因此,出于圖像處理目的,必須對其進行縮放。下面的腳本將生成50x50灰度圖像,用于訓練,測試和驗證數據集在訓練上仍然非常不平衡[5]。所以本文通過旋轉圖像來增強訓練集。如圖4所示為對影像數據進行不同角度旋轉所得到的特征圖譜。
3 弱分類器的構成
3.1 強弱分類器概述
Adaboost(Adaptive Boosting)算法是一種通過將多個簡單的、弱的分類器線性組合的一種方式將訓練集構建起來組成一個強的訓練分類器的線性化算法。其基本的思想其實就是針對不同的訓練集分別訓練同一個強的分類器(弱的分類器),然后把這些不同分類在訓練集上的樣本所得到的分類器和訓練集聯合了起來,構成一個最終的強分類器。Adaboost這種算法中不同的分類和訓練集權重是通過設計和調整每個分類器的樣本訓練集對應的分類器權重來設計和實現的。算法開始時,初始的樣本對于u1的每個分類器和樣本訓練集對應的分類器權重都是相同的,對于弱的分類器對于h1分類錯誤的每個樣本,加大其訓練集對應的分類器權重,而對于一個分類正確的樣本,降低其分類權重,這樣易于分錯的樣本就被弱分類器突出了出來,從而可以得到一個新的樣本分布u2。在新的樣本分布下,再次對弱分類器的權重進行了訓練,得到弱的強分類器h2。依次以此類推,經過t次的循環,得到了t個弱的強分類器,把這t個弱的強分類器按一定的分類權重比例疊加了起來,得到最終的強分類器。采用線性集成的強分類器的主要錯誤率優于單個集成分類器,假設一個線性集成的強分類器中至少包含了n個集成分類器,每個集成分類器進行分類的錯誤率均為0,如果只是采用單個集成分類進行線性的分類,錯誤的概率大約為0;而如果只是采用多個集成分類器進行線性的集成可以構建一個強大的分類器,并且線性選擇多半分類器的預測結果作為最終的結果,即線性選出不小于n/2的分類作為預測結果,則這個強分類器的錯誤率如式[6]。
(公式3)
3.2 Adaboost算法實現過程
Adaboost算法實現的具體流程如下[7-8]:
(1)對于給定的N個訓練樣本數據(xi,yi),其中樣本的特征向量為xi,yi是其對應樣本的標簽。
(2)首先對訓練樣本設置一個初始的權重。每個樣本的初始權重必須相同,即wi=1/N,i=1,2…N。
(3)然后將各個單個的弱分類器器對加權樣本進行訓練。這里假設有M個弱分類器,接下來將對當前的M個弱分類器進行如下的分類訓練。
1)首先,對使用當前第m(m=1,2,3,…,M)個弱分類器對初始化權值的樣本數據進行訓練。假設弱分類器fm(x)∈{-1,1}。
2)然后對相應分類器分類后得到的錯誤率和比例因子進行計算。錯誤率errm和比例因子cm的計算公式如(公式4)和(公式5)所示。其中錯誤率代表的是對正樣本檢測的錯誤率,比例因子代表的是當前弱分類器在最后的分類器中的重要程度。
errm=P[(fm(xi)≠yi]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (公式4)
cm=log()? ? ? ? ? ? ? ? ? ? ? ? ? ? (公式5)
3)重新更新訓練樣本的樣本權值,并根據(公式6)重新設定樣本權值,然后根據(公式7)對權值做歸一化操作。
wi′=wiexpcm? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(公式6)
∑iwi′=1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (公式7)
4)最后,利用現有訓練好的弱分類器進行線性組合得到相應的強分類器。得到的強分類器即是最終的分類器。強分類器的線性組合公式如(公式8)所示,得到的強分類器的表達式如(公式9)所示。
g(x)=cmfm(x)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (公式8)
f(x)=sign(g(x))=sign(cmfm(x))? ? ? ? ? ? ? ?(公式9)
在使用Adaboost分類算法的過程中需要注意一下幾點[9-10]:①在步驟3)中,如果某個樣本已經分類準確,那么在構造下一個訓練集的過程中,我們需要將該樣本被選中的概率降低;反之,如果某一樣本分類效果較差,那么我們需要相應的提高該樣本的權重,以此通過訓練來提高該樣本的識別率。②通過計算可得,比例因子的值會隨著錯誤率的減小而不斷增大,這就表示此弱分類器在最終的分類器中會起到較大的作用。③每一次分類后重新對樣本權值進行更新使得分類誤差大的弱分類器的樣本權值變大,而分類效果較好的弱分類器的樣本權值減小。通過這種方式,可以使得Adaboost分類器把分類重點著重關注在那些不易區分的樣本上面。
在本文中,我們是以CART決策樹作為弱分類器來使用的,最后通過Adaboost算法將各個弱分類器進行線性組合即可得到最終的強分類器。如圖5所示為單一的CART弱分類器訓練后得到的預測結果與測試集對比的效果圖。
如圖6所示為以CART弱分類器為基礎構造的Adaboost強分類器的預測結果效果圖。可明顯看出最終構造出的Adaboost強分類器的分類效果明顯優于單一的CART弱分類器的分類效果。
如圖7所示為Adaboost分類器對應的AUC曲線。
4 遷移學習與結論
以上實驗過程以(LIDC/IDRI)數據庫為基礎并通過Adaboost算法訓練得到現有的Adaboost分類器,為檢測分類器的分類效果,下面將以臨床肺部影像對現有的分類器進行測試。如圖8所示是對臨床肺部影像提取的LBP特征圖譜,通過特征提取可清晰的對肺部輪廓和特征進行提取。
在提取出LBP特征圖譜以后,將特征值數據輸入到Adaboost分類器中進行分類,如圖9所示為Adaboost分類器對臨床肺部影像的預測結果。
通過以上實驗我們可以得出如下結論:通過LBP特征提取方法,我們可以對肺部結節的輪廓和紋理特征進行準確的提取,然后通過深度學習的方法可以肺癌檢測工作提供可靠的參考性,可減少醫生閱片的工作量。通過實驗可看出,本文所提出的以CART決策樹為弱分類器構造出Adaboost強分類器的肺癌檢測方法對肺部良/惡性腫瘤檢測分類是有效可行的,同時也為肺部良/惡性腫瘤檢測分類提供了一種新的思路。
參考文獻
[1] 2012年中國腫瘤登記年報[M].上海醫藥,2013.
[2] 趙強.X線計算機斷層成像設備[J/OL].醫學影像設備,2011年3月4日.
[3] 張永強,夏順仁,陳興燦,等.基于CT圖像的肺結節分割算法研究[J].醫療衛生裝備,2012,33(11):19-22.
[4] 田苗,林嵐,張柏雯,等.深度學習在神經影像中的應用研究[J].中國醫療設備,2016,31(12):4-9.
[5] 張柏雯,林嵐,吳水才,等.深度學習在輕度認知障礙轉化與分類中的應用分析[J].醫療衛生裝備,2017,38(9):105-111.
[6] 姜婷,襲肖明,岳厚光.基于分布先驗的半監督FCM的肺結節分類[J].智能系統學報,2017,12(5):729-734.
[7] 郭薇.基于多維圖像信息的肺結節良惡性鑒別方法[J].沈陽航空航天大學學報,2016,33(3):67-72.
[8] REVEL,MARIE P.Subsolid lung nodule classification:a CT criteri·on for improving interobserver agreement[J].Radiology,2017,286(1):316-325.
[9] SUI X,MEINEL F G,SONG W,et al. Detection and size measure·ments of pulmonary nodules in ultra-low-dose CT with iterative recon·struction compared to low dose CT[J].European Journal of Radiolo·gy,2016,85(3):564-570.
[10] LIAW,ANDY,MATTHEW W. Classification and regression by Ran-dom Forest[J].R News,2002,2(3):18-22.