基于隨機森林算法的肝臟平掃ct圖像病變識別方法
【專利摘要】本發明公開了一種基于隨機森林算法的肝臟平掃CT圖像病變識別方法,包括以下內容:提取肝臟平掃CT圖像病變區域的圖像灰度紋理特征作為圖像特征向量表示,然后采用隨機森林算法對肝臟CT圖像病變區域圖像特征向量進行特征選擇,選擇出最有效的特征組合,然后對最有效特征數據集進行訓練和學習,并對隨機森林的決策樹進行識別能力均衡優化,得到最終的病變識別模型。
【專利說明】
基于隨機森林算法的肝臟平掃CT圖像病變識別方法
技術領域
[0001] 本發明涉及一種基于隨機森林算法的肝臟平掃CT圖像病變識別方法,特別涉及了 最有效特征選擇方法的引入和隨機森林算法的改進。
【背景技術】
[0002] 隨著醫學成像技術的發展和成熟,醫學影像在肝臟疾病診斷中的起到了重要的作 用。目前,肝癌已經成為世界上致死率最高的疾病之一,因為治療手段的缺乏以及早期肝癌 病理指標不太明顯,可能會造成誤診,從而錯過了最佳的治療時間。肝癌的確診主要依賴肝 臟穿刺活檢技術,但該技術對患者肝臟會造成一定的損傷,加之實施難度比高、術后恢復 慢,因此,目前對于肝臟疾病的診斷主要還是依賴于醫學影像,如肝臟CT。
【發明內容】
[0003] 本發明要解決的技術問題是提供一種基于隨機森林算法的肝臟平掃CT圖像病變 識別方法。
[0004] 為了解決上述技術問題,本發明提供如下技術方案:
[0005] 本發明要實現的是肝臟平掃CT圖像局部病變識別方法,具體為提取肝臟平掃CT圖 像病變區域的圖像灰度紋理特征作為圖像特征向量表示,然后采用隨機森林算法對肝臟CT 圖像病變區域圖像特征向量進行特征選擇,選擇出最有效的特征組合,然后對最有效特征 數據集進行訓練和學習,并對隨機森林的決策樹進行識別能力均衡優化,得到最終的病變 識別模型。
[0006] 病變識別模型建立的框圖如附圖1所示,具體分為如下步驟:
[0007] 1)肝臟CT圖像病變區域特征數據集建立
[0008] 對于圖像灰度紋理特征,在圖像處理領域有灰度直方圖、灰度共生矩陣和灰度梯 度共生矩陣三種特征表示方法。從醫生標注的肝臟平掃CT圖像中提取出醫生標注的病變區 域,以能覆蓋病變區域的矩形框作為病變特征提取區域,對病變特征提取區域提取基于灰 度直方圖、灰度共生矩陣和灰度梯度共生矩陣的圖像特征。
[0009] a.灰度直方圖特征提取
[0010] 灰度直方圖用于表示圖像的灰度分布和統計特性,基于灰度直方圖的圖像特征包 含均值、方差、歪斜度、峰態,能量,熵等。
[0011] b.灰度共生矩陣特征提取
[0012] 灰度共生矩陣用于描述灰度圖像中相鄰像素的灰度關系,基于灰度共生矩陣的圖 像特征包含角二階矩、對比度、逆差矩、熵、相關等。
[0013] c.灰度梯度共生矩陣特征提取
[0014]灰度梯度共生矩陣刻畫了圖像像素點灰度值和梯度值的相互關系,描繪了圖像內 部像素點灰度和梯度的分布情況,而且也體現了個像素點與其鄰域內像素點的空間局部信 息,能很好的表達圖像的紋理特征,基于灰度梯度共生矩陣的圖像特征包含小梯度優勢、大 梯度優勢、灰度分布的不均勻性、梯度分布的不均勻性、能量、灰度平均、梯度平均、灰度均 方差、梯度均方差、相關度、灰度熵、梯度熵、混合熵、慣性、逆差矩等。
[0015]組合上述三種類型的圖像特征,并結合圖像的病變類型標簽作為特征向量數據集 D〇
[0016] 2)選擇最有效特征
[0017]在步驟1)中提取的這三類特征中,共包含26個特征值,這26個特征值并不是所有 特征都能體現肝臟平掃CT圖像局部病變特征的特異性,所以在選擇特征時,可能因為選擇 了不好的特征導致得到的識別模型識別效果較差,所以有效特征的選擇對于建立好的識別 模型至關重要,而且可以減少算法的計算量。
[0018]本發明采用的隨機森林算法可以給出特征向量中每個特征的重要性程度,通過循 環迭代剔除最不重要特征,并對剔除特征后的剩余特征建立新的隨機森林模型,找出泛化 誤差最低的模型對應的特征組合,即為最有效的特征組合,詳細迭代過程見具體實施方案。 [0019 ] 3)隨機森林病變識別模型的建立和改進
[0020] 針對2)步驟得到的最有效特征屬性組合,從原始特征數據集中篩選出最有效特征 數據集。用最有效特征數據集建立隨機森林模型,并對隨機森林模型中的決策樹進行優化 和均衡,得到最終的隨機森林病變識別模型。具體優化方法見具體實施方案。
[0021] 在生成的隨機森林模型中,包含多棵決策樹,在這些決策樹中,有些決策樹模型識 別效果較好,有些決策樹模型識別效果較差,因此可以剔除那些識別效果較差的決策樹,但 本發明考慮到在篩選性能較高的決策樹時,由于不同種類肝臟局部病變的分類識別精度不 同,在篩選決策樹時,不從整體00B估計出發,而是從單類樣本識別效果的00B估計出發,對 每種類型病灶特征,選擇同等數量的對單類分類性能最高的決策樹,用這些決策樹組成新 的隨機森林。以生成40棵決策樹的隨機森林為例,在40棵決策樹中,有10棵是對正常類型肝 臟特征識別00B估計最優的決策樹,有10棵是對肝血管瘤類型病變特征識別00B估計最優的 決策樹,有10棵是對肝囊腫類型病變特征識別00B估計最優的決策樹,有10棵是對肝癌類型 病變特征識別00B估計最優的決策樹,經過決策樹選擇優化和均衡以后,可以避免全局篩選 決策樹造成某種類型病變特征識別精度偏低的缺陷。
[0022] 本發明實現的是對肝臟平掃CT圖像局部病變的自動識別,主要研究肝癌、肝血管 瘤、肝囊腫等幾種病變類型,病變區域與正常區域的圖像差異體現在灰度變化和紋理變化 上,目前圖像灰度紋理特征常用的是基于灰度直方圖、灰度共生矩陣和灰度梯度共生矩陣 的圖像特征,通過提取疑似病變感興趣區域作為圖像的特征表示,在此基礎上,根據特征提 取算法得到數值化特征數據,然后采用改進的隨機森林分類算法對圖像特征進行訓練、學 習和預測,識別結果能給予醫生一些診斷建議,雖然輔助診斷結果不能作為診斷標準,但可 以與醫生個人經驗結合得到更科學的診斷,從而減少診斷的錯誤率,這對于肝癌的早期診 斷具有巨大的醫學價值。
[0023]本發明采用的隨機森林算法是一種集成學習方法,與貝葉斯、神經網絡、決策樹、 支持向量機等單分類器機器學習算法相比,不容易出現過擬合問題,單分類器模型的學習 能力局限于整體數據樣本,雖然能很好地學習到整個數據樣本的數據特征,但不能保證較 強的泛化能力,即對未知的數據樣本缺乏很好的預測能力。相比之下,隨機森林算法可解決 這個問題,通過集成多個弱分類器,克服了單一分類器學習能力的缺陷,使用bagging技術 使得每一個單決策樹分類器擁有部分特征較強的學習能力,即每個單分類器具有局部特征 的強學習能力,而不是整體特征的學習能力,每個單分類器負責學習部分特征,組合了多個 單分類器的隨機森林算法便具有更強的學習能力,因此單分類器算法可以比作一個綜合能 力較強的學習機器,而隨機森林相當于多個專家組成的聯合學習機器,在數據樣本有限的 情況下,隨機森林算法具有明顯優勢,故本發明采用隨機森林算法作為病變識別的分類學 習器。
[0024]本發明的創新點在于最有效特征選擇方法的引入、決策樹選擇優化和決策樹識別 能力均衡等改進方法,改進的方法對于肝臟平掃CT圖像局部病變的識別具有更好的識別準 確率。
【附圖說明】
[0025]下面結合附圖對本發明的【具體實施方式】作進一步詳細說明。
[0026]圖1是隨機森林病變識別模型;
[0027]圖2是特征重要性程度排序;
[0028]圖3是特征選擇對00B估計的影響;
[0029] 圖4是改進的隨機森林與原始算法分類性能比較;
[0030] 圖5是肝臟CT圖像病變識別操作流程。
【具體實施方式】
[0031] 為實現本發明的肝臟平掃CT圖像局部病變識別,采用如下兩個階段進行。
[0032] 第一階段:基于隨機森林算法的病變識別模型建立
[0033] 1.肝臟平掃CT圖像局部病變區域圖像特征數據集建立:
[0034]本發明采用來自杭州某醫院標注的3000張肝臟平掃CT圖像,大小均為512*512,包 含正常、肝癌、肝血管瘤和肝囊腫等幾種類型,提取能夠覆蓋標注的病變區域的矩形框作為 感興趣區域,這樣得到3000個病變區塊圖像。
[0035] 對每個病變區域區塊,計算病變區塊圖像的灰度直方圖、灰度共生矩陣和灰度梯 度共生矩陣。
[0036] 對于病變區塊圖像,灰度直方圖矩陣H計算方法如下:
[0038] 其中N為病變區塊圖像像素數量,L為灰度級,本發明取值為256,m表示病變區塊 圖像中灰度級為i的像素個數,灰度直方圖H(i)表示具有某灰度級的像素個數占圖像像素 總數的比例,表示了圖像的全局特征描述,H矩陣的大小為256*1。
[0039] 對于病變區塊圖像,灰度共生矩陣P的計算方法如下:
[0040] P(li ,I2)=Pl(ll J2)+P2(ll J2)+P3(ll J2)+P4(ll ,12)
[0041]其中Ii,I2為像素灰度值,灰度級另UL取256^(1^12)表示病變區塊圖像中水平距 離為1且兩點像素灰度值分別為1^12的像素點個數占像素值對總數的比例,表示 病變區塊圖像中對角線距離為1且兩點像素灰度值分別為Ii,I 2的像素點個數占像素值對總 數的比例,表示病變區塊圖像中垂直距離為1且兩點像素灰度值分別為Ii,I2的像 素點個數占像素值對總數的比例,表示病變區塊圖像中反對角線距離為1且兩點 像素灰度值分別為Ii,I2的像素點個數占像素值對總數的比例,計算公式分別如下:
[0042] 水平
[0043] 對角
[0044] 垂直
[0045] 反對
[0046]灰度共生矩陣Pai,I2)則表示病變區塊圖像中距離為1的且灰度值分別為Ii,I2的 兩個像素點對的個數占距離為1的像素點對總數的比例。本發明取灰度級為256,則距離為1 的像素對總數為65536,P矩陣的大小為256*256。
[0047]對于病變區塊圖像,灰度梯度共生矩陣T的計算方法如下:
[0049]灰度值灰度級別Lf取256,對于一個像素點(i,j),梯度計算方法如下: _0] g(ij) = [§|-f5|f2
[0051] gx(i,j)=f(i+l,j-l)+2f(i+l,j)+f(i+l,j+l)-f(i-l,j-l)-2f(i-l,j)-f(i_l,j +1)
[0052] gy(i,j)=f(i-l,j+l)+2f(i,j+l)+f(i+l,j+l)-f(i-l,j+l)-2f(i,j-l)-f(i + l, i_l)
[0053]歸一化的梯度矩陣G為:
[0054] G(i,j) = INT(g(i,j) XLg/gM)+l
[0055]其中梯度級數目為Lg,本發明取值為32,圖像最大梯度值為gM,INT為取整運算,像 素點的梯度值即通過梯度矩陣G定義,G矩陣的大小為256*32。
[0056]根據以上得到的病變區塊圖像的灰度直方圖矩陣H、灰度共生矩陣P和灰度梯度共 生矩陣T,計算基于這三種矩陣的圖像灰度紋理特征,計算方法分別如下三個表格所示: [0057]表1灰度直方圖特征度量
[0060]表2灰度共生矩陣特征度量
[0062]表3灰度梯度共生矩陣特征度量
[0065] 這樣便得到了病變區塊圖像的特征向量:
[0066] [fl,f2,f3,f4,f5,f6,f7,f8,f9,fl0,fll,fl2,fl3,fl4,fl5,fl6,fl7,fl8,fl9, f20,f21,f22,f23,f24,f25,f26,label]
[0067] label為病變標簽,1表示正常,2表示肝癌,3表示肝血管瘤,4表示肝囊腫,5表示其 他病變類型。對所有3000個病變區塊圖像提取特征向量,得到訓練和測試數據集。
[0068] 2.選擇最有效特征
[0069]為選擇出最有效特征,首先需要建立基本的隨機森林模型,取第1步中的3000條特 征向量數據,作為模型訓練數據,隨機森林的構建過程為:
[0070] 1)定義隨機森林要建立的CART決策樹數量為40,重復2)、3)步驟40次,生成40棵 CART決策樹分類模型;
[0071] 2)通過有放回的抽樣方法從訓練數據集中抽取一組樣本,樣本數量與原始訓練集 一樣;
[0072] 3)從26個樣本屬性中隨機選擇10個屬性,為2)中抽取的子決策樹訓練數據集以選 擇的10個屬性建立分類決策樹。
[0073] CART決策樹采用Gini指數作為分裂準則,假設節點數據集T有K個類,樣本點屬于 第k類的概率為pk,對于節點T對應的數據集,G i n i指數計算如下:
[0074] Giniif) = ^ /^(1 - p) = 1 - Y, pk k~\ k -1
[0075] 對于CART決策樹,訓練集T如果不滿足"T都屬于同一類別or T中只剩下一個樣 本",則此節點為非葉節點,所以嘗試根據樣本的每一個屬性及可能的屬性值,對樣本的進 行二元劃分,假設分類后T分為A和B,其中A占 T中樣本的比例為p,B為q(顯然p+q = l)。則雜 質改變量:Gini(T)-p*Gini(A)-q*Gini(B),對每個屬性值嘗試劃分的目的就是找到雜質該 變量最大的一個劃分,該屬性值劃分子樹即為最優分支。每次都對節點對應的數據集尋找 雜質改變量最大的分裂特征屬性及特征屬性值進行節點分裂,直到節點中的樣本都屬于同 一類為止,通過這樣的遞歸分裂節點得到決策樹模型。CART算法為已有算法,這里不再詳細 說明。
[0076] 在建立隨機森林的CART決策樹時,會從原始特征數據集中以可放回的方式隨機選 擇與原始特征數據集相同數量的樣本集,沒有被抽取過的樣本稱為袋外數據,簡稱00B,而 00B數據對隨機森林模型的測試誤差可以用來衡量隨機森林模型的泛化誤差,該泛化誤差 稱為00B估計,是每棵決策樹00B泛化誤差的平均值。通過隨機森林算法的00B,可以得到樣 本特征屬性的重要性程度,對于樣本中某個屬性X,重要性計算方法如下:
[0077] 1)對于隨機森林中的每一棵決策樹,使用00B數據對決策樹模型進行測試,計算測 試誤差errOOBl;
[0078] 2)隨機地對00B中所有樣本的屬性X加入干擾噪聲,即隨機改變樣本在屬性X處的 值,然后重新計算00B的泛化誤差err00B2;
[0079] 3)設隨機森林決策樹數量為k,取k = 40,則對于屬性X的重要性計算公式如下:
[0080] imp〇r tan = ^(errOOBl, ~ errOOBX,)! k i-1
[0081] 通過上述表達式作為屬性X的重要性度量值,因為若給屬性X隨機加入噪聲導致 00B的泛化誤差降低很多,說明該屬性X對于樣本的分類精度影響很大。
[0082] 在構建隨機森林的過程中,對于26個特征屬性按照上述方法分別計算重要性程 度,得到重要性程度向量:
[0083] [ importance 1,importance2,......,importance26]
[0084] 針對基于灰度直方圖、灰度共生矩陣、灰度梯度共生矩陣的圖像特征中有些度量 指標對于肝臟CT圖像局部病變識別是無效指標,因此可以通過特征選擇優化來改進隨機森 林算法的分類精度,隨機森林算法模型可以給出樣本每個屬性的重要性程度,針對肝臟病 變區域特征數據,用序號1~26表示26個圖像特征,得到的特征重要性排序結果見附圖2所 示,26個特征按照特征重要性程度排序結果為:
[0085] fl5,f22,fl9,f9,fl4,f2,f6,f5,f8,f4,f25,f3,f26,fl,fl7,f21,f25,f7,fl6, fll,fl2,fl0,fl8,f20,f23,fl3
[0086]最有效特征選擇的步驟如下:
[0087] 1)對訓練樣本集建立隨機森林,并計算00B估計和每個特征屬性的重要性程度,按 重要性程度進行特征屬性排序。
[0088] 2)剔除最不重要的特征,對訓練樣本集的該特征屬性進行剔除,得到新的訓練樣 本集,用新的樣本構建隨機森林并計算00B估計。
[0089] 3)重復執行2 ),找出00B估計最小的隨機森林模型對應的特征屬性集,作為最有效 特征數據屬性組合。
[0090] 根據最有效特征選擇方法,oob估計平均誤差值隨著特征選擇數量改變的變化趨 勢見附圖3所示。由附圖3可知,當特征數量為19時,oob估計平均誤差值最小,因此選擇按重 要性程度排序的26個特征的前19個特征作為最有效特征組合,特征屬性如下:
[0091] fl5,f22,fl9,f9,fl4,f2,f6,f5,f8,f4,f25,f3,f26,fl,fl7,f21,f25,f7,fl6
[0092] 這19個特征分別為基于灰度直方圖的均值、方差、歪斜度、峰態、能量、熵特征,基 于灰度共生矩陣的角二階矩、對比度、逆差矩特征,和基于灰度梯度共生矩陣的灰度分布不 均勻性、梯度分布不均勻性、能量、灰度平均、灰度均方差、相關、灰度熵、混合熵、慣性、逆差 矩特征。
[0093] 3.隨機森林病變識別模型的建立和改進。
[0094] 由步驟2中得到的最有效特征屬性組合,從原始特征數據集中的每條特征數據篩 選出最有效特征數據,形成新的特征數據集,對新的特征數據集建立隨機森林模型,并對隨 機森林模型進行決策樹選擇優化和識別能力均衡,步驟如下:
[0095] 1)對特征數據集中每條樣本的26個特征屬性里選取步驟2中得到的最有效的19個 特征屬性,建立包含400棵決策樹的隨機森林模型,記為hi(x),h2(x),. . .,h4Q〇(x);
[0096] 2)對這400棵決策樹,用測試數據集進行測試,針對測試數據集中的正常肝臟特征 數據,400棵決策樹的預測誤差由小到達排序為每以),璉(x), 衫@0),針對測試數據集 中的肝癌特征數據,400棵決策樹的預測誤差由小到達排序為每(勾,續〇?),...,續針 對測試數據集中的肝血管瘤特征數據,400棵決策樹的預測誤差由小到達排序為 衫(X),每%),…,拉城彳>),針對測試數據集中的肝囊腫特征數據,400棵決策樹的預測誤差 由小到達排序為域敘
[0097] 3)選擇旮治>,每(⑷,.鱘sC辦辯_,喊W,,峨⑶,峨幻,蛣⑶,.路if_:, fefCx〕,,..,的&(.幻這些決策樹作為最終的隨機森林模型。在這些決策樹中,可能包含重復的 決策樹,這類重復的決策樹對于多種肝臟病變類型都有很好的識別準確率,該類決策樹是 最應該被選擇出的決策樹,這樣的選擇方法相當于增加了該類高分類性能決策樹的權重, 最終的隨機森林病變識別模型便具有了更優的識別性能。
[0098] 用改進的隨機森林模型對測試集進行測試,預測誤差得到了一定程度降低,預測 誤差隨決策樹數量增加的變化趨勢對比如附圖4所示,偏上方的星號線為原隨機森林算法 的預測誤差隨決策樹數量的變化曲線,偏下方的叉線為經過新的決策樹選擇優化后算法模 型的預測誤差隨決策樹數量的變化曲線。
[0099]第二階段:肝臟平掃CT圖像病變識別
[0100]對于給定的一張肝臟平掃CT圖像,首先需要劃取需要識別的疑似病變區域,通過 圖片工具劃取CT圖像上疑似病變的矩形框區域,作為疑似病變區域的圖像。
[0101] 1)針對第一階段得到的最有效特征屬性,提取肝臟CT圖像疑似病變區域的19個最 有效特征屬性作為特征向量;
[0102] 2)采用第一階段得到的隨機森林病變識別模型,對每個決策樹對1)步驟提取的特 征向量進行病變類型預測,對所有決策樹的預測投票結果進行統計,選擇預測類型最多的 病變類型,作為最終的病變識別結果。
[0103] 具體病變識別操作流程如圖5所示。
[0104]最后,還需要注意的是,以上列舉的僅是本發明的若干個具體實施例。顯然,本發 明不限于以上實施例,還可以有許多變形。本領域的普通技術人員能從本發明公開的內容 直接導出或聯想到的所有變形,均應認為是本發明的保護范圍。
【主權項】
1. 基于隨機森林算法的肝臟平掃CT圖像病變識別方法,其特征是包括以下內容: 提取肝臟平掃CT圖像病變區域的圖像灰度紋理特征作為圖像特征向量表示,然后采用 隨機森林算法對肝臟CT圖像病變區域圖像特征向量進行特征選擇,選擇出最有效的特征組 合,然后對最有效特征數據集進行訓練和學習,并對隨機森林的決策樹進行識別能力均衡 優化,得到最終的病變識別模型。2. 根據權利要求1所述的基于隨機森林算法的肝臟平掃CT圖像病變識別方法,其特征 是:病變識別模型建立,包括如下步驟: 1 )、肝臟CT圖像病變區域特征數據集建立: 包括: a. 灰度直方圖特征提取; b. 灰度共生矩陣特征提取; c. 灰度梯度共生矩陣特征提取; 組合上述三種類型的圖像特征,并結合圖像的病變類型標簽作為特征向量數據集D; 2) 、選擇最有效特征: 采用隨機森林算法給出特征向量中每個特征的重要性程度,通過循環迭代剔除最不重 要特征,并對剔除特征后的剩余特征建立新的隨機森林模型,找出泛化誤差最低的模型對 應的特征組合,即為最有效的特征組合; 3) 、隨機森林病變識別模型的建立和改進 針對2)步驟得到的最有效特征屬性組合,從原始特征數據集中篩選出最有效特征數據 集;用最有效特征數據集建立隨機森林模型,并對隨機森林模型中的決策樹進行優化和均 衡,得到最終的隨機森林病變識別模型。
【文檔編號】G06T7/00GK105931224SQ201610231280
【公開日】2016年9月7日
【申請日】2016年4月14日
【發明人】金心宇, 武海濤, 金奇樑, 劉帆
【申請人】浙江大學