導讀 |近日,雲+社區技術沙龍“騰訊開源技術”圓滿落幕。本次沙龍邀請了多位騰訊技術專家,深度揭秘了騰訊開源項目TencentOS tiny、TubeMQ、Kona JDK、TARS以及MedicalNet。本文是陳思宏老師關於致力於提供基於3D醫療影像大數據的預訓練模型MedicalNet的詳細介紹。
一、醫療影像AI概述
醫療影像 AI 實際上解決的是「患者看病難,醫生診斷累」的全球普遍問題。

由於培養投入大,周期長,醫護人員的數量在短時間內很難大幅度增加,而人工智能技術可以輔助醫療工作,緩解當前醫護資源不足的狀況。

人工智能對於醫療領域來說,主要有兩個作用,一個是進行人群基礎篩查,另一個是提升診斷質量。對於一些簡單的疾病,人工智能能達到較高的診斷性能,用於人群疾病初篩的工作上,在一定程度上緩解缺乏醫護人員的問題。而一些治療難度較高的疾病,人工智能可以為醫生診斷提供參考依據,起到提醒作用。

醫療影像包含豐富的診斷信息,是醫療診斷中非常常見的手段。醫療影像AI的“制造”方法如下:收集標注數據,再通過這些數據來訓練人工智能模型,最終實現在系統中輸入患者影像,獲得接近資深醫師的診斷結果。

二、MedicalNet與醫療影像AI發展的關系
近年來,圖像與視頻識別軟件的發展,為醫療影像 AI 提供了很大幫助。但醫護人員資源有限,標注數據成為了困難,導致可用於訓練的同分布標注數據非常少,與數據驅動的深度學習形成矛盾,這就是目前醫療影像 AI 的發展瓶頸所在。

因此對於醫療影像 AI 的研究來說,亟需找到大規模數據集以及相應的模型,為大部分小數據醫療影像AI應用提供信息支持,而這也正是開發 MedicalNet 的動機。盡管每個同分布的醫療3D公開數據集數據量小,但多個醫療場景的數據集集合起來能形成較大規模數據集,MedicalNet 開發團隊就將這些場景的數據集收集起來,用來訓練不同的預訓練模型,再開源相關預訓練模型。這樣一來,當有用戶需要訓練一個新模型時,就可以直接用 MedicalNet 模型進行遷移學習,即便新應用中數據量較小,用戶最終仍舊可以訓練出模型。

三、MedicalNet的技術實現
在 MedicalNet 的實現過程中,有不少難題需要通過技術來解決。其中包括像素含義不一,范圍差異大,偽影頻繁,成像質量低,邊界模糊,對比度低;不同源數據,標注缺失;同一組織分辨率不一致,不同組織尺度差異大等等問題。

MedicalNet 開發團隊主要通過兩個方案來解決這些難題。首先是數據集篩選方案,主要目的是找出具備共通知識的數據集。具體做法如下:從每種場景的數據集中挑選少量數據,形成迷你數據集代理,通過代理快速訓練成小網絡,最后根據迷你數據集分割預測結果的好壞判斷哪些數據集能夠保留下來。

篩選完數據集之后,采用聯合訓練方案進行訓練。先對數據進行空間和像素歸一化預處理。為了獲取更多標注信息,MedicalNet全部采用分割數據集。MedicalNet由編碼和解碼部分組成,編碼部分為開源的模型。為了將更多的信息集中在編碼部分,所以就把大部分參數都集中在了編碼中。為解決數據集與數據集之間標注不統一的問題,在解碼部分使用多任務形式對多個場景的標注數據進行隔離。在訓練過程中,不同的skip-connection組合用於緩解梯度消失問題。訓練完成后,編碼部分可遷移到任意分割、分類以及檢測等多種任務的模型中。

最終的實驗結果證明,在3D醫療影像應用中,MedicalNet能幫助小數據場景的網絡加快收斂速度,提升預測性能。

四、Q&A
Q:MedicalNet使用代碼是否已開源?MedicalNet有無用到醫院的某個功能上?A:MedicalNet相關代碼已開源,詳見https://github.com/Tencent/MedicalNet,MedicalNet目前也已經用於多個落地模塊中。
講師介紹

陳思宏,騰訊視覺算法高級研究員,14年起着手醫療影像AI相關工作,在MICCAI、TMI等頂級會議期刊發表過論文。主要致力於深度學習在醫療視頻影像和3D影像的研發與應用。

