皮膚疾病種類繁多(約6000餘類),發病率高(全球約11%人口患有各種皮膚疾病),已成爲困擾全社會的重大公共衛生問題。據統計,我國註冊的皮膚科專業醫生僅2萬餘人,醫患比例極其懸殊。隨着人工智能技術的進步,各種計算機輔助診斷系統是解決上述醫療供需不平衡問題的一條有效途徑。「人工智能+醫療」,或簡稱智慧醫療,已經成爲當下人工智能領域最具發展潛力和應用前景的交叉學科之一。git
據《小程序2019年中報告》,微信小程序的累計用戶數達到8.4億,日活達到3.5億。其中,提供健康諮詢以及健康內容服務的小程序也迎來了大批量的用戶,包括提供皮膚疾病健康情況監測的小程序。在此類小程序中,用戶能夠拍照上傳皮損處的圖片,經過AI智能診斷疾病並得到該疾病的相關科普。可是,根據測試,市面上此類產品依舊存在病種覆蓋面不廣、近似皮膚疾病區分準確度不夠高等問題。經分析致使這些問題的緣由主要有兩個方面:github
1)皮膚疾病的圖像分類屬於細粒度分類,分類難度大(尤爲是超多分類狀況下),即便是同種皮膚疾病,在不一樣的患病時期以及不一樣的拍攝條件下都會獲得不一樣的視覺呈現;算法
2)在皮膚病學上,皮膚病分類的依據並非徹底按照視覺特徵來的,好比感染源、感染途徑等均可以做爲病種區分的依據,這些都從根本上決定了單純從視覺上進行皮膚疾病分類的侷限性。小程序
本團隊與中南大學湘雅醫院皮膚科創建了長期的合做夥伴關係,擁有多位臨牀一線的皮膚科專家指導,已開展了多項皮膚疾病輔助診斷課題的研究,並在科研和應用落地方面都取得了一系列的成績。從最大程度上還原皮膚疾病臨牀診斷的角度出發,經過百度飛槳開源深度學習平臺的助力,推出告終合多維度醫學數據輸入的皮膚疾病全病種分類系統,即AI知膚寶。咱們但願AI知膚寶能克服以上所敘述的本行業目前面臨的瓶頸,爲廣大用戶提供真實、可靠的皮膚健康監測服務。微信小程序
下載安裝命令
## CPU版本安裝命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle
## GPU版本安裝命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu
本項目應用的圖像分類及目標檢測模型架構,詳見百度飛槳開源框架項目地址:微信
目標檢測Faster R-CNN、SSD以及YOLO:網絡
https://github.com/PaddlePaddle/PaddleDetection架構
圖像分類:框架
https://github.com/PaddlePaddle/PaddleClas學習
接下來,咱們將爲你們解析AI知膚寶智能輔助診斷皮膚病的過程。
01 整體技術路線
AI知膚寶的目標是對皮膚疾病的全病種進行分類。按照學術上的分類,算上很是罕見的皮膚病,皮膚疾病一共有6000多種。可是從文獻報道的發病率上看,常見的300種皮膚疾病就能涵蓋99%以上的發病率了。
本項目的數據來自於合做醫院——湘雅醫院,目前擁有44,108張臨牀圖像,涵蓋541類皮膚疾病(數據集樣圖見圖一),且每張臨牀圖像都能找到病人的病史文件,所以咱們徹底有開展此項研究的數據基礎。從臨牀實際診斷的角度出發,本項目構建了一個基於臨牀圖像和病史數據的皮膚疾病分類系統,並以此開發微信小程序——AI知膚寶,依託用戶量龐大的微信小程序爲廣大用戶提供皮膚健康的在線測試服務。
圖一 數據集樣圖
實現這個目標包含以下研究內容:
1)基於目標檢測方法的皮膚疾病病變區域提取;
2)基於臨牀圖像的皮膚疾病初級分類;
3)基於臨牀圖像和病史數據的皮膚疾病次級分類;
4)小程序「AI知膚寶」的設計與實現。
整體技術路線如圖二所示:
圖二 AI知膚寶技術路線
02 基於目標檢測方法的皮膚疾病病變區域提取
首先,咱們完成了數據集的標註。通過標註以後,本數據集的44,108張原臨牀圖像獲得了150,100個病變區域,其中包含42,535個Normal標籤,107,565個Lesion標籤,與原圖片文件一一對應。基於此數據集,咱們按照訓練集和測試集爲3:1的比例進行實驗。
從現有的飛槳目標檢測模型中One Stage(SSD、YOLOv3)和Two Stage(Faster R-CNN)的方法中,選擇對比了SSD、Faster R-CNN和Yolo V3這三個目標檢測算法,保持backbone均採用ResNet50,均導入ImageNet上的預訓練權重,均採用了水平翻轉、垂直翻轉和旋轉90°等數據加強手段,均採用相同的最大訓練次數等,均採用mAP做爲評價指標,實驗結果如表1所示。
表1 三種目標檢測算法進行病變區域檢測實驗對比
03 基於臨牀圖像的皮膚疾病初級分類
咱們完成了皮膚疾病初級分類的數據整理,而後基於上個步驟標記後獲得的541個類別,107,565張的病變區域圖像,咱們按照既定的23個大的類別進行歸類整理。基於此數據集,咱們按照4折交叉驗證的方式進行實驗,對比了VGG1六、ResNet50和InceptionV4這三個卷積神經網絡。爲了公平比較,咱們一樣保持一些基本的訓練參數和手段不變,採用Top-1和Top-5的準確率做爲評價指標,實驗結果如表2所示。
表2 三種卷積神經網絡進行皮膚疾病初級分類實驗對比
04 基於臨牀圖像和病史數據的皮膚疾病次級分類
前面已經講到了,因爲整理這些多維度數據須要大量的時間和人力,所以,咱們截止目前只完成了皮膚腫瘤和大皰性皮膚疾病的次級分類任務。
1)皮膚腫瘤
咱們選取了皮膚腫瘤類底下的基底細胞癌、色素痣、黑素瘤、鱗狀細胞癌和脂溢性角化這5類皮膚疾病進行鑑別。詢問的病史問題包括患者年齡、性別、皮損發生部位、病變區域的形態特色等。整理出數據集中這5類皮膚疾病的病史+圖像數據共1011例,而後按照4折交叉驗證的方式進行實驗,對比了純圖片以及病史+圖片的多模態模型,採用敏感度、特異度、準確率以及AUC做爲評價指標,結果如表3所示。
2)大皰性皮膚疾病
咱們選取了大皰性皮膚疾病底下的天皰瘡、類天皰瘡這2類皮膚疾病進行鑑別。詢問的問題包括患者年齡、性別、皮損發生部位、水皰特色以及是否有瘙癢和疼痛的感受等。咱們整理出數據集中的天皰瘡和類天皰瘡的圖像數據和對應的病史數據共364例,咱們按照4折交叉驗證的方式進行實驗,對比了純圖片以及病史+圖片的多模態模型,採用敏感度、特異度、準確率以及AUC做爲評價指標,結果如表4所示。
05 小程序「AI知膚寶」的設計與實現
初步完成了小程序「AI知膚寶」的V1.0.0版本,將上述的3個最優算法集成到本系統,本系統的操做流程簡述以下:
1)病變區域檢測:用戶拍照上傳本身的臨牀圖像,系統利用當前檢測效果最優的模型進行病變區域檢測,並將檢測結果呈現給用戶。如圖三所示的 3 種狀況:
①:對於沒有檢測到任何結果的,系統給出的提示爲「這好像不是皮膚」,提供返回首頁功能;
②:對於只檢測到了正常皮膚的,系統給出的提示爲「正常皮膚」,一樣是提供返回首頁功能。
③:對於檢測獲得病變區域的,系統將選取置信度最高的病變區域進行顯示,並對該病變區域繼續進行後續識別。
圖三 「AI 知膚寶」中進行病變區域檢測結果示例
2)皮膚疾病初級分類:對於步驟 1 檢測到的病變區域圖像,系統利用當前分類效果最優的模型進行皮膚疾病初級分類。如圖四所示,若是分類結果不是皮膚腫瘤類或者大皰性皮膚疾病類,則結束當前流程,不然才繼續到步驟 3。
圖四 「AI 知膚寶」中進行皮膚疾病初級分類結果示例
3)皮膚疾病次級分類:對於步驟 2 中檢測結果爲皮膚腫瘤和大皰性皮膚疾病,系統將會進入到對應的次級分類頁面。如圖五中的①和②分別表明皮膚腫瘤和大皰性疾病的多維度模型識別過程,先經過設計好的病史問題進行臨牀特徵採集,再結合前面檢測獲得的病變區域圖像,便可調用多模態分類模型進行次級分類,並將結果顯示在分類結果頁面。
圖五 「AI 知膚寶」中進行皮膚疾病次級分類結果示例
「AI 知膚寶」操做簡單,沒有使用門檻,具備至關好的普及性。經過百度飛槳開源深度學習平臺的助力,設計的系統診斷耗時較短,且還能保持較高的準確率,能夠極大地方便用戶自檢,解決看病難的問題,提升現有科室診斷工做的效率,對將來的智能醫療發展有着很是重要的意義。
另外,經過對目前市面上的相關同類型產品的調研,基於同類產品目前還存在的皮膚疾病覆蓋面不廣,準確度不夠等問題,提出了「先檢測,後分類,先粗分,再細分」的技術思路,結合臨牀圖像和病史問診的形式構建了一個多維度的皮膚疾病全病種的分類系統,從實際測試效果來看解決了以上問題。
最後,咱們擁有很好的醫生和醫院團隊合做基礎。本團隊與中南大學湘雅醫院有密切合做,咱們合做完成的多項醫學 AI 產品已經在湘雅醫院進行臨牀試驗。
咱們所構想的本項目的商業模式能夠兼容 To B 和 To C,現將咱們的落地轉化可行性介紹以下:
1)供廣大患者進行看病前的自檢(To C):患者在就醫前可使用本產品進行自檢,初步瞭解本身所患疾病,指導患者就醫的選擇(選擇本身所患皮膚疾病種類診斷水平更高的醫院和醫生);
2)供普通羣衆進行皮膚健康的監測(To C):這裏是指沒有患病的普通的羣衆平常生活中也可使用本產品進行皮膚健康的按期監測與管理,用於瞭解本身皮膚健康情況,實現皮膚疾病的早診早治,防患未然;
3)輔助基礎地區的醫院和醫生診斷(To B):輔助基層地區的皮膚科醫生進行各種型皮膚疾病的診斷,提高基層地區醫生的診斷水平,緩解醫生的診斷壓力。
AI知膚寶小程序還在持續優化中,還沒有上線。
下載安裝命令
## CPU版本安裝命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle
## GPU版本安裝命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu
>> 訪問 PaddlePaddle 官網,瞭解更多相關內容。