跳轉到主要內容
工程的博客

自動化數字病理圖像分析和機器學習數據磚

分享這篇文章
看看我們解決方案加速器自動化數字病理分析或看我們按需網絡研討會要學習更多的知識。

技術進步在成像和新的有效的計算工具的可用性,數字病理舞台的中心在研究和診斷設置。整個幻燈片成像(WSI)一直在這種轉變的中心,使我們能夠迅速數字化病理幻燈片到高分辨率的圖像。通過幻燈片立即共享和可分析的,WSI公司已經改進的再現性和加強教育和遠程病理服務啟用。

今天,整個幻燈片在高分辨率的數字化可能發生以不到一分鍾。因此,越來越多的衛生保健和生命科學組織獲得大規模數字化幻燈片的目錄。這些大型數據集可以用來構建自動化與機器學習診斷,可以將幻燈片或者段劃分為表達一個特定的表型,或直接從幻燈片中提取定量生物標誌物。與機器學習的力量和深度學習成千上萬的數字幻燈片可以解釋在幾分鍾內。這提出了一個巨大的機會,改善病理部門的效率和有效性,臨床醫生和研究人員診斷和治療癌症和傳染病。

3共同挑戰防止更廣泛的采用數字病理工作流

雖然許多衛生保健和生命科學組織認識到人工智能應用的潛在影響整個幻燈片圖像,實現一個自動滑動分析管道仍是複雜的。一個操作WSI管道必須能夠經常處理高吞吐量的數字化儀幻燈片以較低的成本。我們看到三個共同挑戰阻止組織實施自動化數字病理工作流支持數據科學:

  1. 緩慢而昂貴的數據攝取和工程管道:WSI圖像通常是非常大的(通常是0.5每張幻燈片2 GB),需要廣泛的圖像預處理。
  2. 麻煩縮放深度學習tb的圖片:培訓深入學習模型在一個適當大小的數據集和數百名WSIs可以持續數天到數周在單個節點上。這些潛伏狀態防止快速實驗在大型數據集。雖然可以減少延遲並行深度學習工作負載跨多個節點,這是一個先進技術的一個典型的生物數據的科學家。
  3. 確保WSI工作流的再現性:小說的見解時根據患者數據,是非常重要的能夠繁殖的結果。當前的解決方案大多是特別的和不允許高效的方式跟蹤實驗和版本的數據中使用機器學習模型的訓練。

在這個博客,我們將討論如何使用磚統一數據分析平台應對這些挑戰和部署一個端到端的可伸縮的深度學習工作流WSI圖像數據。Beplay体育安卓版本我們將把重點放在一個工作流,火車一個圖像分割模型,識別區域轉移的幻燈片。在這個例子中,我們將使用Apache火花並行化數據準備在我們收集的圖片,使用基於pre-trained熊貓UDF來提取特征模型(轉移學習)在許多節點,和MLflow可再生產地追蹤我們的模型訓練。

WSI公司端到端機器學習

為了演示如何使用磚平台加速WSI公司數據處理管道,我們將使用Beplay体育安卓版本Camelyon16挑戰賽數據集。這是一個開放400全部幻燈片圖像的數據集TIFF格式從乳腺癌組織來演示我們的工作流。Camelyon16數據集的一個子集可以直接從磚下的訪問/ databricks-datasets / med-images / Camelyon16 / (AWS|Azure)。訓練一個圖像分類器來檢測地區包含癌症轉移的幻燈片,我們將執行以下三個步驟,如圖1所示:

  1. 一代補丁:使用坐標標注的病理學家,我們作物圖像陷入同樣大小的補丁。每個圖像能產生成千上萬的補丁,並貼上腫瘤或正常。
  2. 深度學習:我們使用轉移學習使用pre-trained模型從圖像中提取特征補丁,然後使用Apache火花來訓練一個二進製分類器預測腫瘤與正常的補丁。
  3. 得分:然後我們使用訓練模型,記錄使用MLflow項目對一個給定概率熱圖幻燈片。

類似於工作流人類長壽用來預處理放射學圖像,我們將使用Apache火花來操縱我們的幻燈片和注釋。模型訓練中,我們將首先使用pre-trained提取特征InceptionV3從Keras模型。為此,我們利用熊貓udf並行化特征提取。關於這種技術的更多信息參見Featurization轉移學習(AWS|Azure)。注意,這種技術並不是特定於InceptionV3和可以應用於其他pre-trained模型。

圖1:實現端到端解決方案培訓和部署基於WSI DL模型數據

圖像預處理和ETL

使用開源工具等自動滑動分析平台Beplay体育安卓版本,病理學家可以導航WSI在非常高的分辨率和注釋圖像幻燈片標記臨床相關的網站。注釋可以保存為一個XML文件,與多邊形的邊緣的坐標包含網站和其他信息,如縮放級別。訓練模型,使用注釋的地麵實況幻燈片,我們需要加載的每個圖像注釋區域,這些地區加入與我們的圖片,並切除帶注釋的地區。一旦我們完成了這一過程,我們可以使用我們機器學習的圖像補丁。

圖2:WSI可視化圖像數據磚筆記本

雖然這個工作流通常使用注釋存儲在一個XML文件中,為簡單起見,我們使用的預處理注釋百度的研究團隊,建立了NCRF Camelyon16數據集分類器。這些注釋存儲CSV編碼的文本文件,Apache火花將會被加載進DataFrame。在下麵的筆記本電池,我們裝載注釋對腫瘤和正常的補丁,並分配標簽0到正常片和1腫瘤切片。然後,我們到單個DataFrame工會的坐標和標簽。

雖然許多基於sql的係統限製你內置操作,Apache火花有豐富的支持用戶定義函數(udf)。udf允許您調用一個定製的Scala, Java、Python或R函數對數據在任何Apache DataFrame火花。在我們的工作流程中,我們將定義一個Python UDF使用OpenSlide圖書館從一個圖像特許權給定的補丁。我們定義了一個python函數需要處理WSI公司的名稱,補丁的X和Y坐標中心,和標簽的補丁並創建瓷磚後將用於培訓。

圖3。在不同的縮放級別可視化補丁

然後我們使用OpenSlide庫載入圖像雲存儲,並切出給定坐標範圍。雖然OpenSlide本身並不了解如何讀取數據Amazon S3Azure湖數據存儲,磚文件係統(DBFS)融合層允許OpenSlide直接訪問數據存儲在這些blob存儲沒有任何複雜的代碼更改。最後,我們的函數編寫補丁使用DBFS融合層。

這個命令生成需要大約10分鍾~ 174000補丁Camelyon16磚數據集的數據集。一旦我們的命令已經完成,我們可以加載補丁備份和顯示他們直接嵌套在我們的筆記本。

正常訓練腫瘤/病理學分類器使用學習和MLFlow轉移

在前麵的步驟中,我們生成補丁和相關的元數據,並使用雲存儲存儲生成的圖像塊。現在,我們已經準備好訓練二元分類器預測一段幻燈片是否包含一個腫瘤轉移。要做到這一點,我們將使用學習轉移到從每個補丁使用pre-trained深度提取特征神經網絡然後使用sparkml分類任務。這種技術常常優於從頭訓練對於許多圖像處理應用程序。我們將開始與InceptionV3架構,使用從Keras pre-trained權重。

Apache火花的DataFrames提供一個內置的圖像模式,我們可以直接加載所有補丁DataFrame。然後使用熊貓udf將圖像轉換為功能基於使用Keras InceptionV3。一旦我們featurized每個圖像,我們使用spark.ml以適應之間的邏輯回歸特性和每個補丁的標簽。我們與MLFlow日誌邏輯回歸模型,這樣我們以後可以訪問模型服務。

磚上毫升工作流運行時,用戶可以利用MLFlow管理。用的筆記本和每一次的培訓,MLFlow自動日誌參數,指標和任何指定的工件。此外,它存儲的訓練模型後可以用於預測標簽數據。我們感興趣的讀者參考這些文檔要更多地了解如何利用MLFlow管理完整的磚的ML工作流。

表1顯示了時間的不同部分的工作流程。我們注意到,模型訓練~ 170 k樣本隻需要不到25分鍾的準確性達87%。

工作流 時間
補丁的一代 10分鍾
工程特點和培訓 25分鍾
得分(每個單張幻燈片) 15秒

表1:運行時不同的工作流步驟使用2 - 10 r4.4xlarge工人使用磚毫升6.2運行時,從幻燈片中提取包含在databricks-datasets 170000補丁

因為可以有更多的補丁在實踐中,使用深層神經網絡可以顯著提高分類精度。在這種情況下,我們可以使用分布式訓練技巧培訓規模的過程。在磚平台上,我們打包了Beplay体育安卓版本HorovodRunner工具箱,將培訓任務分布在大型集群很小對ML代碼的修改。這篇博客提供了一個很好的背景如何規模毫升工作流磚。

推理

現在我們已經訓練分類器,我們將使用分類器項目的轉移概率的熱圖幻燈片。要做到這一點,首先,我們應用一個網格在感興趣的領域在幻燈片上然後我們生成patches-similar訓練程序中獲得數據到火花DataFrame可用於預測。然後我們使用MLflow加載訓練模型,它們可以應用作為轉換的DdataFframe計算預測。

重建圖像,我們使用python的公益訴訟庫修改每個瓷磚顏色根據包含的概率轉移網站和補丁一起瓷磚。下麵的圖4顯示了結果的概率預測腫瘤的一個部分。請注意,紅色代表的密度高概率轉移在幻燈片上。

圖4:WSI的預測映射到一個給定的部分

開始使用機器學習在病理圖像

在這個博客中,我們展示了磚連同火花的SQL, SparkML MLflow,可以用來構建一個可擴展的和可再生的機器學習框架病理圖像。更具體地說,我們使用大規模轉移學習訓練分類器預測概率一段幻燈片包含腫瘤細胞,然後用訓練模型檢測和地圖癌生長在一個給定的幻燈片。

首先,注冊一個免費的磚試驗並檢查了解決方案加速器下載筆記本在這個博客。

訪問我們的醫療保健生命科學頁麵來了解我們的其他解決方案。

免費試著磚
看到所有工程的博客的帖子
Baidu
map