?

LIDC-IDRI肺結節數據集解析及對構建中醫共享數據集的意義

2024-04-18 06:00李旖旎劉子晴成福春姚政上海中醫藥大學附屬岳陽中西醫結合醫院上海200437
中國醫療器械信息 2024年5期
關鍵詞:像素結節卷積

李旖旎 劉子晴 成福春 姚政 上海中醫藥大學附屬岳陽中西醫結合醫院 (上海 200437)

內容提要:通過搭建環境運行lidc_nodule_detection_master項目,對LIDC-IDRI數據集進行解析,并利用卷積神經網絡、長短時記憶網絡等對已標注的肺結節計算機體層成像醫學影像進行訓練,并用相關的測試數據集進行驗證。該項目,對于中醫共享數據集的構建,如類似DICOM文件的生成(舌像圖、脈象圖等),相關屬性及特征的標注,XML文件的構建,相關算法的開發等,具有重要的參考借鑒意義。

當前,肺結節的發病機制尚未完全清楚,但是通過對肺結節的早期診斷和管理,盡早發現是否惡性腫瘤,對于促進患者的生命健康有著積極的意義。肺結節的早期發現,主要來自臨床影像檢測。本文主要通過lidc_nodule_detection_master開源項目的實際運行,對LIDC-IDRI肺結節數據集進行解析,對構建中醫共享數據集的意義進行探討。

1.肺結節的定義及其臨床意義

肺結節是指肺部影像上各種大小、邊緣清楚或模糊、直徑≤3cm的局灶性圓形致密影[1]。肺結節事實上是一種影像的描述,根據影像特點不同,又可以分為實性結節和亞實性結節。其中亞實性結節又分為部分實性結節和磨玻璃樣密度的結節。大多數肺結節都是良性病變。有少部分肺結節可能是肺惡性腫瘤的早期表現,包括腺癌、鱗癌及其他原發腫瘤轉移至肺內的征象[2]。

2.LIDC-IDRI數據集簡介

LIDC-IDRI由美國國家癌癥研究所(National Cancer Institute)發起收集,目的是為了研究高危人群早期癌癥檢測。該數據集由胸部醫學圖像文件(.dcm)如計算機體層成像(Computed Tomography,CT)、X射線片和對應的診斷結果病變標注(.xml)組成,共收錄了1018個研究實例。對于每個實例中的圖像,都由4位經驗豐富的胸部放射科醫師進行兩階段的診斷標注。在第一階段,每位醫師分別獨立診斷并標注患者位置,其中會標注三種類別:≥3mm的結節,<3mm的結節,≥3mm的非結節。在隨后的第二階段中,各位醫師都分別獨立復審其他三位醫師的標注,并給出自己最終的診斷結果。這樣的兩階段標注可以在避免強制一致的前提下,盡可能完整地、獨立地標注所有結果。

數據集可于美國國家癌癥研究所官網下載,需要倫理審核及數據不濫用等相關承諾。針對此數據集,有一個名為肺結節檢測lidc_nodule_detection_master的項目,源代碼可于GitHub上下載,此項目的深度學習環境,基于Python TensorFlow 1.0平臺。此項目并非一鍵可以運行,其中關系到基礎深度學習運行環境平臺的搭建,基本訓練數據集的準備、數據文件的解析以及供訓練的標準格式的生成等。

3.關鍵技術

3.1 項目運行環境的搭建

硬件環境:MacBook Pro筆記本電腦,16G內存,2T硬盤。軟件環境:Python 2.7,TensorFlow 1.0,TensorBox,Pydiom,NumPy等相應模塊。

此項目主要分為api_lidc(應用程序接口模塊),負責數據的預處理,如XML文件的讀取,及BMP文件的生成等;cnn_3d,三維卷積神經網絡;CNN_LSTM,卷積長短時記憶網絡;pylung,關于肺實質的切割等。此項目的重點部分,主要在于CNN_LSTM的具體實現。

3.2 XML文件的讀取與肺結節的標注文件生成

LIDC-IDRI數據集共收錄了1018個研究實例。一般而言,每個實例包含兩個子文件夾,其中一個文件夾包含幾個DICOM文件與一個XML文件,檢查類型為CXR(Chest X-Ray,胸部X射線檢查);而另一個文件夾由若干個DICOM文件與一個XML文件組成,檢查類型為CT。此項目研究,主要基于CT文件夾中的相關文件進行處理。XML文件為樹狀結構,由帶尖括號的標簽對與相應的值構成。XML文件適合于表達層次型、樹狀、以及相對復雜的數據結構。

此項目通過讀取XML 文件,提取出相應的信息,如Nodules的位置、大小信息等,形成相應的PKL、JSON、TXT等格式的文件,供后期訓練及驗證使用。

3.3 DICOM文件的讀取

醫學數字成像和通信[標準](Digital Imaging and Communications in Medicine,DICOM),是指醫療數字影像傳輸協定,用于醫學影像處理、儲存、打印、傳輸的一組通用的標準協定。它包含了文件格式的定義以及網絡通信協議。兩個能接受DICOM格式的醫療儀器間,可通過DICOM格式的文件,來接收與交換影像及患者資料。目前,DICOM被廣泛應用于放射醫療、心血管成像以及放射診療診斷設備(X射線、CT、核磁共振、超聲等)。DICOM文件,主要由標簽對構成。

3.4 CT值與灰度值的轉換

Dicom數據的原始像素值是沒有實際意義的,所以常用的是Dicom數據的輸出像素,即(CT值)。CT值的單位是Hounsfield,簡稱為HU,范圍是-1024-3071。用于衡量人體組織對X射線的吸收率,設定水的吸收率為0HU。原始掃描出的Dicom數據并不是規則的矩形,為了后續分析,構建一個長方體,無效區域填充了-2000,但是邊界會有一些噪聲,CT值處于有效值最小~-3024,但數量很少。并且這樣算出的CT值最小值會很小,沒有實際意義,所以最終的方案是CT值小于-1024的都置成-1024(-1024往往是無效的數據,所以分割組織時一般不考慮)。在DICOM圖像讀取的過程中,圖像的像素值有可能不是這個范圍,通常是0-4096,這個值就是常見到的像素值或者灰度值。

此項目通過PyDicom模塊讀取DICOM文件,獲得基本信息及圖像像素,并另存為BMP文件,供訓練使用。這里面發生了CT像素值(0-4096)向BMP像素值的轉換(0,255),自然也就存在著信息的丟失。

3.5 反向傳播及匈牙利算法與LSTM

長短時記憶網絡(Long short-term memory,LSTM)是一種特殊的RNN,主要是為了解決長序列訓練過程中的梯度消失和梯度爆炸問題。簡單來說,就是相比普通的RNN,LSTM能夠在更長的序列中有更好的表現[3]。

此項目通過OverFeat進行特征的提取,通過OverFeat算法,用于定位肺結節,返回矩形框位置參數,實現肺結節矩形框的預測。并通過匈牙利算法匹配預測框與真實框。匈牙利算法(Hungarian Algorithm)用來解決多目標跟蹤中的數據關聯問題,而數據關聯問題,亦可轉化為求解二分圖的最大匹配問題。Hungarian算法是一種組合優化算法,它是解決多項式時間復雜度問題的較快方法,廣泛應用在運籌學領域[4]。

匈牙利算法模塊是用C++語言編寫的,因此,此項目的運行,需要先行編譯該算法,供Python環境調用。

4.項目結果

4.1 通過訓練后得到的結果如下

訓練很快即可達到較高的準確率,但是,隨著訓練次數的增加,準確率并不是趨向于收斂的,甚至還有一定反復。這與訓練過程中,隨機丟棄某些數據,確保生成模型的健壯性,是有關系的,目的是避免過擬合。隨著訓練次數的增加,累積準確率逐步提升,并趨于穩定。

4.2 部分圖像的肺結節標注

部分圖像的肺結節標注見圖1。

圖1.部分圖像的肺結節標注(注:圖片采自于該項目)

5.討論

5.1 對深度學習所提取的特征內涵的理解

深度學習的過程,是通過反向傳播,去擬合相應的特征向量集。卷積神經網絡中,一般用卷積核去提取特征,這些初始化的卷積核會在反向傳播的過程中,在迭代中被一次又一次的更新,無限地逼近真實解。深度學習本質沒有對圖像矩陣求解,而是初始化了一個符合某種分布的特征向量集,然后在反向傳播中更新這個特征集,讓它能無限逼近數學中的那個概念上的特征向量。

特征,在于能夠區分,在于能夠分類,在于能夠在相應坐標上準確地表示,可以將相應事物的本質表示出,可以將此事物與彼事物分開,而不是重疊或模糊。特征的表示,與坐標系的選擇有關。坐標系的選擇有多種,坐標系定下來之后,有唯一的標識。特征,若認為所分析的數據為向量的話,求特征,就是求主軸,求距離,求相應的維度。若能對維度進行充分地分解,簡化,則可以得出相應的特征。特征是相關冗余的剔除。特征是分解到最小的粒度與最小的單位,正如數軸上連續的點一樣,特征,從某種意義上說,就是尋找具體的點,具體的數值,此數值與彼數值的不同。

5.2 主要的挑戰

雖然是開源項目,但是并不像通常意義上理解的一鍵即可運行。由于此次項目運行環境的TensorFlow采用的是1.0版本,而目前普遍的版本均在2.0以上,以及一系列的第三方包如SciPy、NumPy、Cython等,更新迭代速度較快,而在安裝相關包的時候,往往自動安裝最新的版本,版本不一致會導致諸多報錯或無法運行。除了數據集本身,也存在不同的CT廠商所產生的DICOM文件格式、標簽不一致,導致有些內容解析不出或不正確等。也存在著個別的文件標注錯誤。

小尺度目標檢測。對于基于深度卷積神經網絡的目標檢測,由于深度網絡頂層神經元感受野較大,對于小尺度目標信息保存較不完整,故而小尺度目標檢測性能不高。

計算復雜度。目標檢測算法計算復雜度取決于特征提取網絡的前向傳播計算時間。網絡特征表達能力與網絡深度存在較強的關系,一般而言,在一定深度范圍內,網絡越深,表達能力越強,目標檢測算法性能越好,但計算開銷隨之增大。

5.3 下一步可以更加深入分析的內容

原始數據集的圖像信息是以DCM 格式存儲的,一個DICOM文件封裝了諸多的附加信息,這些信息,對于科研工作者而言,是重要的醫學影像研究維度。文件中(7fe0,0010)Pixel Data OW: Array of 524288 bytes,是像素信息,大小為512×512,其中每一個像素點,由兩個字節表示,故總的大小為512×512×2=524288字節。單個像素,難以表達準確的信息,但是通過像素的組合,卻可以表達有效的信息。特征提取,就是確定像素的位置、像素的大?。ň唧w的值),像素之間的關系,像素之間的變化,從而與某一標注或判斷產生具體的關聯,獲得相應的概率。

此次影像文件標注,采用了四位醫師,主要是為了消除偏差,盡可能地客觀。其中對于3~33mm 結節的characteristics,還包含了如下信息:①Subtlety:檢測難度(1~5級,1最難,5最明顯);②internal structure:內部結構(4種,軟組織、液體、脂肪、空氣);③calcification:鈣化(6種情況);④sphericity:球形度(5種程度,但只明確3種);⑤margin:邊緣(5種程度);⑥lobulation:分葉征(5種情況,但只明確2種);⑦spiculation:毛刺征(5種情況,但只明確2種);⑧texture:紋理(5種情況,但只明確3種);⑨malignancy:惡性程度(1~5,1最低,5最高)。

通過這些數據,可以更加深入、更加全面、更加豐富地分析相關內容。

5.4 對中醫科研數據的來源、標注及共享的思考

中醫的核心在于辨證論治,而辨證論治的核心在于中醫證型的判斷。中醫對證型的判斷,類似于肺結節的診斷,但是維度更加豐富,結論更加復雜。對于中醫證型特征及本質等相關數據的分析,應當充分借助于當今先進的科學技術,而深度學習相關方法,是一種很好的借鑒與應用。LIDC-IDRI數據集解析,尤其是利用深度學習方法,對已標注的肺結節進行提取模型特征,并可用新的數據集進行預測判斷,對于數據的日常自動標注,對影像進行初篩與自動化,高效地處理繁瑣的重復的事宜,提高工作效率與準確性等,均具有實際的意義[5]。

但是中醫本身存在自身的問題,如中醫術語標準不統一,中醫術語內涵不準確等[6]。尤其是在癥狀體征的量度刻畫過程中,定性指標多,定量指標少,如結局常用的好轉、輕、中、重等,或者簡單的1~3分,1~7分,甚至1~10分等,過于簡單籠統,不利于數據的精確分析。應從離散型的數據,過渡到連續型的數據,且對于連續型的數據,應對其數據的內涵進行準確的界定,進行數據本身的標準化、規范化。

6.小結

醫院每日產生大量的影像數據,這些海量的醫學數據,是潛在的巨大的科學研究數據源。如何與中醫診療數據相結合,如何提取出這些數據的特征,如何進行中醫臨床療效的評價,得出相應的結論,并反過來指導臨床,是下一階段工作的重點內容。對于構建中醫共享數據集,如類似DICOM文件的生成(舌像圖、脈象圖等),相關屬性及特征的標注,XML文件的構建,相關算法的開發等,該項目提供了一個完整的示例,具有重要的參考借鑒意義。

猜你喜歡
像素結節卷積
趙運哲作品
像素前線之“幻影”2000
基于3D-Winograd的快速卷積算法設計及FPGA實現
肺結節,不糾結
發現肺結節需要做PET/CT嗎?
從氣、虛、痰、瘀辨治肺結節術后咳嗽
“像素”仙人掌
從濾波器理解卷積
體檢查出肺結節,我該怎么辦
基于傅里葉域卷積表示的目標跟蹤算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合