導讀 |近日,雲+社區技術沙龍「騰訊開源技術」圓滿落幕。本次沙龍邀請了多位騰訊技術專家,深度揭祕了騰訊開源項目TencentOS tiny、TubeMQ、Kona JDK、TARS以及MedicalNet。本文是陳思宏老師關於致力於提供基於3D醫療影像大數據的預訓練模型MedicalNet的詳細介紹,編輯:濤濤。git
醫療影像 AI 實際上解決的是「患者看病難,醫生診斷累」的全球廣泛問題。github
因爲培養投入大,週期長,醫護人員的數量在短期內很難大幅度增長,而人工智能技術能夠輔助醫療工做,緩解當前醫護資源不足的情況。算法
人工智能對於醫療領域來講,主要有兩個做用,一個是進行人羣基礎篩查,另外一個是提高診斷質量。網絡
對於一些簡單的疾病,人工智能能達到較高的診斷性能,用於人羣疾病初篩的工做上,在必定程度上緩解缺少醫護人員的問題。而一些治療難度較高的疾病,人工智能能夠爲醫生診斷提供參考依據,起到提醒做用。性能
醫療影像包含豐富的診斷信息,是醫療診斷中很是常見的手段。醫療影像AI的「製造」方法以下:收集標註數據,再經過這些數據來訓練人工智能模型,最終實如今系統中輸入患者影像,得到接近資深醫師的診斷結果。學習
近年來,圖像與視頻識別軟件的發展,爲醫療影像 AI 提供了很大幫助。但醫護人員資源有限,標註數據成爲了困難,致使可用於訓練的同分布標註數據很是少,與數據驅動的深度學習造成矛盾,這就是目前醫療影像 AI 的發展瓶頸所在。大數據
所以對於醫療影像 AI 的研究來講,亟需找到大規模數據集以及相應的模型,爲大部分小數據醫療影像AI應用提供信息支持,而這也正是開發 MedicalNet 的動機。編碼
儘管每一個同分布的醫療3D公開數據集數據量小,但多個醫療場景的數據集集合起來能造成較大規模數據集,MedicalNet 開發團隊就將這些場景的數據集收集起來,用來訓練不一樣的預訓練模型,再開源相關預訓練模型。人工智能
這樣一來,當有用戶須要訓練一個新模型時,就能夠直接用 MedicalNet 模型進行遷移學習,即使新應用中數據量較小,用戶最終仍舊能夠訓練出模型。spa
在 MedicalNet 的實現過程當中,有很多難題須要經過技術來解決。其中包括像素含義不一,範圍差別大,僞影頻繁,成像質量低,邊界模糊,對比度低;不一樣源數據,標註缺失;同一組織分辨率不一致,不一樣組織尺度差別大等等問題。
MedicalNet 開發團隊主要經過兩個方案來解決這些難題。
首先是數據集篩選方案,主要目的是找出具有共通知識的數據集。具體作法以下:從每種場景的數據集中挑選少許數據,造成迷你數據集代理,經過代理快速訓練成小網絡,最後根據迷你數據集分割預測結果的好壞判斷哪些數據集可以保留下來。
篩選完數據集以後,採用聯合訓練方案進行訓練。先對數據進行空間和像素歸一化預處理。爲了獲取更多標註信息,MedicalNet所有采用分割數據集。
MedicalNet由編碼和解碼部分組成,編碼部分爲開源的模型。爲了將更多的信息集中在編碼部分,因此就把大部分參數都集中在了編碼中。爲解決數據集與數據集之間標註不統一的問題,在解碼部分使用多任務形式對多個場景的標註數據進行隔離。
在訓練過程當中,不一樣的skip-connection組合用於緩解梯度消失問題。訓練完成後,編碼部分可遷移到任意分割、分類以及檢測等多種任務的模型中。
最終的實驗結果證實,在3D醫療影像應用中,MedicalNet能幫助小數據場景的網絡加快收斂速度,提高預測性能。
Q:MedicalNet使用代碼是否已開源?MedicalNet有無用到醫院的某個功能上?
A:MedicalNet相關代碼已開源,詳見https://github.com/Tencent/Me...,MedicalNet目前也已經用於多個落地模塊中。
陳思宏,騰訊視覺算法高級研究員,14年起着手醫療影像AI相關工做,在MICCAI、TMI等頂級會議期刊發表過論文。主要致力於深度學習在醫療視頻影像和3D影像的研發與應用。