本發明涉及肺結節診斷,具體涉及一種基于雙模態極限學習機的肺結節診斷方法。
背景技術:
在已有的肺結節輔助診斷系統中,主要還是依靠單一模態的圖像特征(比如ct、mri)進行結節的良惡性分類,依靠單一特征會帶來誤診的風險。
已有的自編碼網絡中,初始權重都是隨機生成并且采用的都是無監督的學習,由此得到的圖像特征區分性不強,不利于分類。
為了解決上述問題,本發明中使用pet-ct圖像,結合兩種模態圖像特征進行肺結節的診斷,并且,在自編碼網絡中采用限制差分和有監督編碼方式進行自編碼算法優化。
技術實現要素:
本發明所要解決的技術問題是針對現有技術的不足提供一種基于雙模態極限學習機的肺結節診斷方法。
本發明的技術方案如下:
一種雙模態極限學習機的肺結節診斷方法,包括訓練階段和測試階段:
訓練階段:
(a1)標注肺結節的pet-ct圖像,根據肺結節良惡性標記pet-ct圖像,在待訓練的肺結節pet-ct圖像中專門開辟出一行或者一列,用來存儲圖像的標簽信息,將標簽信息作為像素值插入到圖像中;
(a2)分別對pet-ct圖像進行深層自編碼,不同模態圖像的自編碼流程相同,輸入圖像不同,深度自編碼后的輸出就是高層圖像特征;
第一層自編碼網絡編碼流程:
(a21)、從訓練樣本中挑選出相同數量的良性和惡性的樣本xc1和xc2,并將兩個樣本作差,xc2-xc1;
(a22)、根據歸一化樣本間差異
(a23)、將ω和b作為第一層自編碼網絡的輸入權值和偏置向量;
(a24)、對輸入訓練樣本x,激活函數為sigmoid函數
(a25)、利用標準極限學習機算法計算輸出權重
(a26)、輸出權重β0包含輸入數據的分布信息,因此將β0的轉置β0t作為深層極限學習機自編碼的輸入權重,取代隨機生成的權重;則第一層自編碼網絡隱含層的輸出
第二層自編碼網絡編碼流程:
(a27)、將第一層自編碼網絡的隱含層輸出
(a28)、第二層自編碼網絡的隱含層輸出
(a29)、對于第n層自編碼網絡的隱含層
(a3)特征融合
經過深層自編碼之后分別獲得肺結節pet-ct圖像的高層特征f(pet)、f(ct),為了使得不同模態的圖像對分類性能都具有貢獻,采用特征融合策略,將ct和pet特征進行融合,將兩種特征進行線性組合:
f(fusion)=αf(ct)+(1-α)f(pet)
其中,系數α控制兩種特征的貢獻度;
(a4)特征分類
最后利用融合特征對肺結節良惡性進行分類,采用極限學習機作為分類算法,具體過程如下:
(a41)隨機初始化輸入權重k和偏置c,
(a42)由訓練階段的融合特征向量ftrain(fusion)以及確定的激活函數
(a43)根據訓練數據的良惡性生成診斷標簽g=[1,1,-1,...,-1,1],其中1表示良性結節,-1表示惡性結節;最后利用隱含層輸出h計算網絡輸出權重
測試階段:
(b1)讀取肺結節的pet-ct圖像測試樣本;
(b2)利用訓練階段n層自編碼得到的權值βii=0,1,...,n-1計算n層深度自編碼的隱含層輸出;第一個隱含層的輸出
(b3)特征融合
經過深層自編碼之后分別獲得肺結節pet-ct圖像的高層特征f(pet)、f(ct),為了使得不同模態的圖像對分類性能都具有貢獻,采用特征融合策略,將ct和pet特征進行融合,將兩種特征進行簡單的線性組合:
f(fusion)=αf(ct)+(1-α)f(pet)
其中,系數α控制兩種特征的貢獻度;
(b4)特征分類
最后利用融合特征對肺結節良惡性進行分類,采用極限學習機作為分類算法,具體過程如下:
(b41)輸入測試樣本的融合特征ftest(fusion);
(b42)利用訓練時的輸入權重k、偏置c和激活函數
(b43)由訓練階段得到的輸出權重β計算測試樣本的類別g=hβ,向量g的值介于-1到1之間,本發明中判定小于0的值對應的肺結節屬于惡性,大于等于0的值對應的肺結節屬于良性。
所述的方法,所述步驟(1)中,將原圖的第一行用來存放訓練數據的標簽;具體操作如下:如果肺結節為惡性,該肺結節的pet-ct圖像的第一行像素的像素值設置為0,如果肺結節為良性,該肺結節的pet-ct圖像的第一行像素的像素值設置為255;然后讀取標注后的肺結節pet-ct圖像訓練樣本。
所述的方法,所述步驟(25)中,λ取10e8。
所述的方法,所述特征融合步驟中α取0.5。
與現有技術相比,本發明的有益效果為:
1、本發明克服現有技術中的缺陷,方法簡單、易于實現,且整個網絡的訓練速度是基于bp網絡自編碼的10倍。
2、通過使用本發明的技術,能準確高效地區分肺結節的良惡性,為醫師的診斷提供很好的參考。
3、本專利采用的是有監督的自編碼方式,與已有的無監督自編碼方式不同的是,有監督自編碼將樣本的標簽信息加入到訓練樣本中,具體過程為在待訓練的肺結節pet-ct圖像中專門開辟出一行(或者一列),用來存儲圖像的標簽信息,將標簽信息作為像素值插入到圖像中,比如將原圖的第一行用來存放訓練數據的標簽,如果訓練圖像是良性肺結節,則圖像第一行的像素值設置為255,如果訓練圖像是惡性肺結節,則圖像第一行的像素值設置為0(圖像中灰度的取值范圍為0~255)。在自編碼網絡中,使用帶有標簽信息的圖像作為期望輸出來訓練每個編碼模塊。
附圖說明
圖1是本發明肺結節診斷方法流程圖。
圖2是本發明深度自編碼總體實現框圖;(a)第一層自編碼示意圖,(b)第i層自編碼示意圖,(c)深層自編碼示意圖。
圖3是本發明中有監督自編碼過程中輸入樣本標記圖;(a1)惡性結節圖像,(a2)標記后的惡性結節,(b1)良性結節,(b2)標記后的良性結節
圖4是本發明中特征融合方法示意圖。
圖5是本發明中的方法與已有方法的受試者工作特性曲線。
具體實施方式
以下結合具體實施例,對本發明進行詳細說明。
深度極限學習機自編碼是由n層網絡所構成,其中包括一個輸入層和n-1個隱含層,輸入層神經元的個數取決于輸入圖像的大小,本發明中使用線性插值方法將數據集中的pet-ct圖像統一大小為30×30,因此輸入層神經元個數為900。隱含層神經元個數可以隨機給定,本發明中隱含層設定1800個神經元,采用sigmoid函數作為隱含層的激活函數。對于不同模態的圖像,整個深度網絡層數也不同,ct圖像對應的深度網絡層數為7層,pet圖像對應的深度網絡層數為5層。
本發明雙模態極限學習機的肺結節診斷方法過程主要分為訓練階段和測試階段。
訓練階段:
參照圖1,本發明方法訓練階段實現流程如下:
(1)參照圖3,標注肺結節的pet-ct圖像,根據肺結節良惡性標記pet-ct圖像,在待訓練的肺結節pet-ct圖像中專門開辟出一行(或者一列),用來存儲圖像的標簽信息,將標簽信息作為像素值插入到圖像中,比如將原圖的第一行(列)用來存放訓練數據的標簽;具體操作如下:如果肺結節為惡性,該肺結節的pet-ct圖像的第一行像素的像素值設置為0,如果肺結節為良性,該肺結節的pet-ct圖像的第一行像素的像素值設置為255;然后讀取標注后的肺結節pet-ct圖像訓練樣本。
(2)參照圖2,分別對pet-ct圖像進行深層自編碼,不同模態圖像的自編碼流程相同,輸入圖像不同,深度自編碼后的輸出就是高層圖像特征。
第一層自編碼網絡編碼流程:
a、從訓練樣本中挑選出相同數量的良性和惡性的樣本xc1和xc2,并將兩個樣本作差,xc2-xc1;
b、根據歸一化樣本間差異
c、將ω和b作為第一層自編碼網絡的輸入權值和偏置向量;
d、對輸入訓練樣本x,激活函數為sigmoid函數
e、利用標準極限學習機算法計算輸出權重
f、輸出權重β0包含輸入數據的分布信息,因此將β0的轉置β0t作為深層極限學習機自編碼的輸入權重,取代隨機生成的權重。則第一層自編碼網絡隱含層的輸出
第二層自編碼網絡編碼流程:
g、將第一層自編碼網絡的隱含層輸出
h、第二層自編碼網絡的隱含層輸出
i、對于第n層自編碼網絡的隱含層
(3)特征融合
參照圖4,經過深層自編碼之后分別獲得肺結節pet-ct圖像的高層特征f(pet)、f(ct),為了使得不同模態的圖像對分類性能都具有貢獻,采用特征融合策略,將ct和pet特征進行融合,本發明將兩種特征進行線性組合:
f(fusion)=αf(ct)+(1-α)f(pet)
其中,系數α控制兩種特征的貢獻度,本專利α取0.5。
(4)特征分類
最后利用融合特征對肺結節良惡性進行分類,采用極限學習機作為分類算法,具體過程如下:
a隨機初始化輸入權重k和偏置c,
b由訓練階段的融合特征向量ftrain(fusion)以及確定的激活函數
c根據訓練數據的良惡性生成診斷標簽g=[1,1,-1,...,-1,1],其中1表示良性結節,-1表示惡性結節。最后利用隱含層輸出h計算網絡輸出權重
測試階段:
(1)讀取肺結節的pet-ct圖像測試樣本;
(2)利用訓練階段n層自編碼得到的權值βii=0,1,...,n-1計算n層深度自編碼的隱含層輸出。第一個隱含層的輸出
(3)特征融合
經過深層自編碼之后分別獲得肺結節pet-ct圖像的高層特征f(pet)、f(ct),為了使得不同模態的圖像對分類性能都具有貢獻,采用特征融合策略,將ct和pet特征進行融合,本發明將兩種特征進行簡單的線性組合:
f(fusion)=αf(ct)+(1-α)f(pet)
其中,系數α控制兩種特征的貢獻度,本專利α取0.5。
(4)特征分類
本專利最后利用融合特征對肺結節良惡性進行分類,采用極限學習機作為分類算法,具體過程如下:
a輸入測試樣本的融合特征ftest(fusion);
b利用訓練時的輸入權重k、偏置c和激活函數
c由訓練階段得到的輸出權重β計算測試樣本的類別g=hβ,向量g的值都是介于-1到1之間,本發明中判定小于0的值對應的肺結節屬于惡性,大于等于0的值對應的肺結節屬于良性。
實驗效果:
實驗中將目前已有的深度學習框架的方法與本發明的方法進行比較,目前已有的方法包括稀疏自編碼、深度信念網和卷積神經網絡三種,這三種方法都是以肺結節ct圖像作為輸入,所有的方法實驗環境是matlab2012b,pc處理器為intelcorei7-3770,主頻3.40ghz,內存8gb。由表1可以看出,本發明的雙模態深度自編碼方法的分類準確率、敏感性和特異性都高于已有的診斷框架,并且參照圖5可以看出這四種方法的受試工作者特性曲線,本發明的方法具有較好的診斷性能。
表1不同深度框架分類性能的比較
該方法應用基于雙模態圖像的深度學習技術,通過深度有監督自編碼網絡抓取肺結節pet-ct圖像的高層特征,然后將兩個特征進行線性融合,最后采用極限學習機對融合后的特征進行分類。
應當理解的是,對本領域普通技術人員來說,可以根據上述說明加以改進或變換,而所有這些改進和變換都應屬于本發明所附權利要求的保護范圍。