[發明專利]一種基于CNN和NLSTM神經網絡應用于CT影像的顱內出血檢測方法有效
| 申請號: | 202010785690.1 | 申請日: | 2020-08-06 |
| 公開(公告)號: | CN111932512B | 公開(公告)日: | 2022-08-05 |
| 發明(設計)人: | 劉萍萍;石立達;朱俊杰;陳儇;劉鵬程;周求湛;金百鑫 | 申請(專利權)人: | 吉林大學 |
| 主分類號: | G06T7/00 | 分類號: | G06T7/00;G06V10/764;G06K9/62;G06V10/82;G06V10/774;G06N3/04;G06N3/08 |
| 代理公司: | 哈爾濱龍科專利代理有限公司 23206 | 代理人: | 高媛 |
| 地址: | 130012 吉林*** | 國省代碼: | 吉林;22 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 cnn nlstm 神經網絡 應用于 ct 影像 內出血 檢測 方法 | ||
1.基于CNN和NLSTM神經網絡應用于CT影像的顱內出血檢測方法,其特征在于:所述方法為:
步驟一:從dicom格式的醫學CT影像得到CT圖像值:
dicom格式的圖片要轉化成CT圖像值,轉化公式如下:
imagehu=pixel×Rescaleslope+Rescaleintercept
其中,imagehu為CT圖像值,又稱hu值;pixel為dicom影像的像素值,Rescaleslope為縮放斜率,Rescaleintercept為縮放截距;
步驟二:Windowing操作
對步驟一得到的CT圖像值進行Windowing操作,使用的窗口如下:Brain window:[40,80],Subdural window:[80,200],Bone window:[40,380],其中,方括號內第一位數字表示窗位,第二位數字表示窗寬;
步驟三:轉化成jpg圖像
Windowing操作完之后再進行歸一化使得圖像的像素值在[0,1]之間,將圖片的像素值與255相乘得到[0,255]之間的值,隨后使用opencv的imwrite()函數生成.jpg圖像;
步驟四、訓練CNN神經網絡
預訓練網絡模型是ResNeXt101神經網絡,數據集使用步驟三得到的jpg圖像,并且在訓練過程中對jpg圖像做Flip、Normalize或RandomCrop的數據增強處理,使用的函數庫為Albumentations函數庫;
在訓練過程中使用的損失函數是交叉熵損失,其公式如下:
其中,L為交叉熵損失,N為一個batchsize的樣本數量,i為樣本,yi為第i個樣本的標簽,xi為當前模型第i個樣本的預測值;
使用的深度學習框架是Pytorch,使用的是torch.nn.BCEWithLogitsLoss()函數,該函數包括了交叉熵損失和SIGMOD函數;通過計算損失反向傳播調整網絡參數,得到訓練好的網絡參數;
步驟五:提取圖片的embedding
通過步驟四中訓練好的網絡結構和參數,提取圖片的embedding,將圖片進行特征提取,從而將每一張圖片映射成一個2048維的向量,并保存到.npz文件中,另外,將dataloader數據幀信息也保存到文件中;
步驟六:創建序列信息
根據數據集中給定的圖像的數據標簽創建序列信息,序列信息包括以下幾個字段:PatientID,SliceID,Image,seq,PatientID代表病人的ID,是每個病人的唯一標識,SliceID代表CT圖像的序列ID,每個病人對應一個sliceID,Image代表圖片的ID,是每張圖片的唯一標識,seq代表該圖片的序列信息,seq為0代表的是這張圖片是該序列的第一張CT影像,范圍為[0,60];
步驟七:讀取數據幀信息和embedding并生成dataloader
將步驟四中保存下來的數據幀信息和embedding讀取出來,生成新的dataloader,以一個序列作為NLSTM的輸入,對于序列長度不同的batch,使用零位虛擬embedding進行填充到相同的長度,在損失函數計算之前將虛擬信息清除掉;
步驟八:訓練NLSTM網絡
在NLSTM中,使用一個新的內部記憶函數mt得到ct,新的ct函數的公式為:
ct=mt(ft⊙ct-1,it⊙gt)
其中,ct為t時刻的細胞狀態,ft為遺忘門控,⊙為矩陣點乘即兩個矩陣對應元素的相乘,ct-1為上一個時刻的細胞狀態,ft⊙ct-1決定哪些信息需要遺忘,it為輸入門控,對輸入xt進行選擇記憶,xt為t時刻的輸入,gt為拼接向量乘以權重矩陣之后再通過tanh激活函數轉換到-1到1之間的值;mt為記憶函數狀態m在t時刻的內部記憶,通過這個函數狀態得到ct和mt+1,mt+1是記憶函數狀態m在時間t+1的內部記憶,使用另一個LSTM實現這個內部記憶函數,并設定這樣就形成了Nested LSTM,簡稱NLSTM;
NLSTM中的內部記憶函數的輸入和隱藏狀態為:
其中,為內部記憶函數的隱層傳遞狀態,為內部記憶函數的輸入,σc為tanh函數,Wxc為外部xt的權重,ht-1為t-1時刻的隱層傳遞狀態,Whc為ht-1的權重,bc為偏置項;
在訓練過程中使用和訓練CNN網絡相同的損失函數torch.nn.BCEWithLogitsLoss()作為損失計算,在訓練過程中,用一個序列作為一個batch,當loss不再下降時,NLSTM網絡訓練完成;
步驟九:生成預測文件
網絡訓練好了之后,針對測試集,生成預測的csv文件,進行指標測試。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于吉林大學,未經吉林大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010785690.1/1.html,轉載請聲明來源鉆瓜專利網。





