0
雷鋒網按:本文由圖普科技編譯自《Medical Image Analysis with Deep Learning 》,雷鋒網獨家首發。
近年來,深度學習技術一直都處于科研界的前沿。憑借深度學習,我們開始對圖像和視頻進行分析,并將其應用于各種各樣的設備,比如自動駕駛汽車、無人駕駛飛機,等等。
A Neural Algorithm of Artistic Style是一篇最新發表的研究性論文,論文向我們介紹了如何將一種風格和氣質從藝術家身上轉移至一張圖像,并由此創建出另一張新圖像。其他的一些論文,比如Generative Adversarial Networks和Wasserstein GAN,也已經為開發模型鋪平了道路,這個模型能夠創建出與輸入數據相似的新數據。由此,“半監督學習”世界的大門被打開了,未來“無監督學習”的發展也將更加順利。
盡管這些調查研究的對象現在僅限于一般的圖像,但我們的目標是將這些研究運用到醫學圖像中,幫助醫療保健的發展。在本文中,我將從圖像處理和醫學圖像格式數據入手,并對一些醫學數據進行可視化處理。在下一篇文章中,我將進深入剖析一些卷積神經網絡,并將其與Keras聯合,預測肺癌。
OpenCV(開源計算機視覺庫)憑借其大量社區支持,以及對C++,Java和Python的可兼容性,在琳瑯滿目的圖像處理庫中脫穎而出,成為了圖像處理庫的主流。
現在,打開你的Jupyter筆記本,并且確定cv2是能夠導入至筆記本的。你還需要numpy和matplotlib來查看筆記本內的細節內容。

現在,我們來看一下你能不能打開圖片,能不能用下面的代碼在你的筆記本上查看圖片。

接下來,我們要玩些有趣的——檢測人臉。我們將使用一個開源的正臉檢測器來進行人臉檢測,這個檢測器最初是由Rainer Lienhart創建的。下圖這個帖子詳細地介紹了級聯檢測的細節:

在下面的文檔中還有很多使用OpenCV進行圖像處理的例子(點擊鏈接查看文檔http://docs.opencv.org/trunk/d6/d00/tutorial_py_root.html),讀者們可以任意查看。了解了基本的圖像處理以后,接下來我們將開始了解“醫學圖像格式”。
醫學圖像與“數字影像和通訊”(DICOM)一樣,是一個儲存和交換醫學圖像數據的標準解決方案。該標準自1985年第一版發布以來,已經被修改了好幾次。該標準使用的是一個文件格式和一個通訊協議。
文件格式——所有病人的醫學圖像都被保存在DICOM文件格式里。這個格式中保存著病人的受保護健康信息,比如:病人姓名、性別、年齡,還有一些醫療圖像的數據。“醫學成像設備”創建了DICOM文件。醫生們使用DICOM閱讀器和能夠顯示DICOM圖像的電腦軟件應用程序來查看醫學圖像,并且根據圖像的信息作出診斷。
通訊協議——DICOM通訊協議是用來在檔案中搜索影像研究,并將影像研究還原顯示的。所有連接了醫院網絡的醫學成像應用程序都會使用DICOM協議交換信息,這些信息中的大部分是DICOM圖像,不過還包括了一些患者信息和治療方案。還有一些網絡要求是用于控制和跟蹤手術、安排手術日程、報告狀態,以及分擔醫生和成像設備之間的工作量的。
下面的博客詳細地介紹了DICOM標準:
Pydicom是一個相當不錯的、用于分析DICOM圖像的Python工具包。在這個部分,我們將會看到DICOM圖像是如何在Jupyter筆記本上呈現的。
使用pip安裝pydicom下載安裝OpenCV
Pydicom工具包安裝完畢以后,回到Jupyter筆記本。將dicom工具包和下圖中的其他工具包導入筆記本中。

在處理和分析數據時,我們還會用到其他的工具包,比如pandas,scipy,skimage和mpl_toolkit,等等。

網上有很多免費的DICOM數據庫,下面的這些數據庫可能對你有所幫助:
Kaggle競賽和數據庫:這是我個人最喜歡的數據庫。這里面有關于肺癌和糖尿病視網膜病變的數據。
Dicom數據庫:DICOM數據庫是一個免費的線上醫學DICOM圖像或視頻分享的服務器,它主要是以教學和科研為目的的。
Osirix數據庫:這個數據庫向我們提供了大量通過各種成像方式獲得的人類數據。
可視化人體數據集:“可視人計劃”的某些部分是分布于這個數據集的,但是這個數據集中的數據是需要收費的。
Zubal幻影:這個網站提供了關于兩名男性CT和MRI圖像的多個數據庫。
下載dicom文件,并將其上傳至你的jupyter筆記本。

現在,將DICOM圖像加載到一個列表中。


在第一行,我們加載第一個DICOM文件,然后提取文件名在列表中排第一的元數據。
接下來,我們要計算3DNumpy數組的總維數,它等于片中像素的行數x、片中像素的列數x,還有x,y,z軸。最后,我們要用“像素空間”和“SliceThickness”來計算三個軸上像素間的空間距離。我們需要將數組維度保存在ConstPixelDims中,并將空間保存在ConstPixelSpacing中。

第二步:進一步研究DICOM格式的細節CT掃描測量的單元是“胡斯菲爾德單元”(HU),這個單元測量的是放射性密度。為了得到精確的測量結果,CT掃描儀經過了嚴格的校準。下面是關于CT掃描測量的細節內容:
每個像素都會被分配一個數值(CT數),這個數值是相應的voxel內所有衰減值的平均值。這個數字是與水的衰減值相比較得出的,而且是以任意單元的規模顯示的,這個任意單元叫做“胡斯菲爾德單元”(HU),是以Godfrey Hounsfield先生的名字命名的。
這個任意單元的規模將水的衰減值定為零。CT數字的范圍是2000HU,盡管有一些現代掃描儀的HU范圍達到了4000。每個數值都代表了一種灰色陰影,在光譜兩端有+1000白色和-1000黑色。

胡斯菲爾德規模(圖片來自《CT的介紹》)
有些掃描儀是有柱狀掃描邊界的,但是其輸出的圖像確實方形的。在掃描邊界之外的像素將被賦予-2000的定值。

CT掃描儀圖像(圖片來自《CT的介紹》)
第一步通常是將這些值設置為零。接著,我們把得到的數值與重新調節的斜率相乘,再加上截距(通常是記錄在掃描的元數據中的),然后回到HU單元。
在接下來的部分,我們將會使用Kaggle的肺癌數據庫和Keras的卷積神經網絡。我們將根據本文提供的信息,構建下一部分的內容。
雷峰網特約稿件,未經授權禁止轉載。詳情見轉載須知。