我們如何在醫院打造即時醫療影像AI平台

Abstract

本場演講將以胸部X光腫瘤辨識應用為例,分享我們醫院如何利用 Python 相關技術開發「醫療影像標註系統」、「即時醫療影像辨識AI平台」的經驗。
演講內容將會包含:
- 醫學影像標註系統的設計考量:標註肺部腫瘤需要領域專家的參與,將分享如何設計一個流程及標註系統(Flask, Vue.js)以產生高品質的標註資料集。
- 深度學習模型封裝及佈署:以 AI Model/API/Client 的架構(PyTorch, Flaskrestful api, docker),讓資料科學家可以方便的佈署訓練好的 AI Model,並讓 AI 平台具備橫向擴展性
- 即時胸部X光腫瘤AI平台:
+ 如何利用 micro service 架構串接 data pipeline 各個模組
+ 串接線上的X光影像PACKS系統:
* 整合 APScheduler進行事件排程及觸發
* 整合 PyDicom 進行影像檔案解析
內容會比較著重於如何將深度學習模型包裝成線上服務的經驗,而不會探討深度學習的模型及訓練細節。

備註:建議聽眾朋友有一點機器學習背景(入門課程)與略有後端開發經驗(半年+)

Description

本演講的大綱如下: - 醫學影像標註系統的設計考量:標註肺部腫瘤需要專業的領域知識,就胸部X光影像來說需要的是放射師及放射科醫師來標註,一張胸部X光影像是否有肺部腫瘤可能二位醫師就有會不同的看法,我們也設計了一個流程及標註系統(Flask, Vue.js)來以產生比較正確的標註資料集。 - 深度學習模型封裝及佈署: 會訓練 deep learning model 的 scientist 通常不了解如何將 AI model 包裝成線上服務,我們參考了 AI Model/API/Client 的架構,利用 Flask 將 AI model 包裝成一個 restful API,並以 docker image 的方法來佈署;資料科學家可以方便的佈署訓練好的 AI Model,也讓 AI 平台達成個別 AI model 的橫向擴展性 至於佈署的方法是以 [Ansible playbook](https://chusiang.github.io/ansible-docs-translate/playbooks_intro.html) 來實現一鍵佈署 - 即時胸部X光腫瘤AI平台: + 如何利用 micro service 的架構串接 data pipeline 各個模組 * 將介紹 PCAKS -> image server --> inference server --> AI model --> HIS 各個模組的串接。每個 micro service 都是以 flask 包裝 restful api, 再以 docker image 的機制作佈署 + 串接線上的X光影像PACKS系統: * 利用 [APScheduler](https://pypi.org/project/APScheduler/) 進行事件排程及觸發:以 Polling 機制跟 PACKS 溝通是否有新的胸部X影像,然後會往下觸發 inference server (Flask, Celery) 的排程。 * 醫院中所有的醫療影像(ex. X光, 電腦斷層, 核磁共振..) 都是以 DICOM 的格式儲存於 PACS 系統,因此要落地的AI應用一定要能介接 PACS 以及解析DICOM。 我們整合 [PyDicom package](https://pydicom.github.io/) 來進行影像檔案解析,再儲存到 AI 專用的影像資料庫 - 未來可能的改善作法:ex. 目前影像資料庫儲存機制還是採用傳統的NAS,之後有打算實驗 object storage (ex. [MinIO](https://min.io/)) 若有新的進展,也會加入分享內容。 本演講內容將會聚焦於醫療領域應用的實務需求考量,另外再簡介團隊實作的機器學習與 Backend 技術。 註: [PACS(醫學影像存檔與通信系統)及 DICOM 簡介](https://zh.wikipedia.org/wiki/%E9%86%AB%E7%99%82%E5%BD%B1%E5%83%8F%E5%84%B2%E5%82%B3%E7%B3%BB%E7%B5%B1)

Slides

https://www.slideshare.net/maxcclai/pycontw2020-ai

Speaker

Max Lai

• Taichung.py 組織者
• 專長是電腦視覺,機器學習與敏捷開發,業餘的時間也嘗試研究 Python 與 IoT 領域相關的 project.