作者whs2009 (歐森)
看板medstudent
標題Re: [新聞] 肺癌預測的人機對決 谷歌AI贏過6位放射專
時間Thu May 30 14:51:53 2019
借題發揮一下XD 也順便簡介一下AI在醫療臨床可以的應用(純個人經驗)
也希望臥虎藏龍的板上可以提供建議或是討論(OwO)
小弟廢廢病理科R1 手上跟AI有關的主題有3-4個
也參與系統開發和優化 在邊做邊學中
使用語言主要是R 因為R的作圖和視覺化功能強大
再加上向量分析運算的效率可以跟C媲美 也是我最熟悉的語言XD
但是因為某些AI model建立或是為了底層運算提速
在某些地方程式碼會改成python或C
使用的backend是tensorflow 或是直接用keras完成 端看model需要
自己的參考書目如下:
http://imgur.com/a/69zaalu
==================================================================
目前處理過的資料大至可以分成兩類 圖像和文字
1.圖像分析
在圖像分析中可以再細分成兩個領域 圖像處理和AI模型
a.圖像處理指單純透過色塊的filter 透明度調整 對比調整
顏色深淺調整等等像是photoshop圖片處理的功能
將圖片有意義的部分萃取出 甚至是分類
b.AI模型大部份指的是CNN的模型 有training和validation
當然還包括其他像是SVM, K-means clustering等等的分析或分類
畢竟machine learining不是只有deep learning的神經網絡而已
小弟目前做過或是正在做的主題有的主題有
a.acid fast stain找出TB的位置
(single object detection)
此主題已接近完成 剩下只是模組持續的優化和好的介面系統而已
利用初步影像處理把紅色物體挑出
再利用自己設計的CNN model 把是TB的部分identify出來
b.H&E染色中 辨認出tumor的位置 並且計算mitosis在tumor中的比例
(combine U-net and single object detection)
此部分目前以GIST還有其他soft tissue tumor為處理大宗
正在case蒐集還有自己胸口碎大石一個一個標記腫瘤位置
細胞核位置 還有mitosis的地方 XDD
因為特徵相對明顯 所以可以在初步標完一部分之後
就可以先train一個比較廢的model 讓他做screen和pre-label
我再去調整結果 再丟回去train 效率會快很多 XDD
c.Synaptophycin-Ki67 double stain分析出tumor cell實際染上ki的比例
(pure image processing)
此主題也接近完成 以NET或NEC的處理為大宗
利用單純的圖像處理
用紅色filter把double stain中tumor的位置標出
再透過藍色和褐色的filter把細胞核的位置標出 (配合大小來篩選出真正的細胞核)
最後計算tumor中實際有染上Ki67的比例
此部分之後有會朝向AI分析方式轉變
因為有些細胞核或是Ki67染色在pure image processing會出現問題
AI model是可以隨著資料量增加而慢慢進步的
所以會開始像b.一樣慢慢自己annotation再丟進去training
d.腎臟biopsy中 辨認出絲球和動脈的位置以及之後的分析
(combine U-net and multiclass classification)
目前在設計annotation system
讓我或是其他使用者可以在玻片viewer中標記出絲球和動脈
之後訓練方式類似b. 只不過分類上改成multiclass classification的輸出
2.文字分析
小弟文字分析參予的不多 目前只有兩個小專題在自己玩而已XD
a.cytology報告和surgical報告的匹配程度
(text classification, word embeded-LSTM-1DCNN model)
病人來醫院健檢有許多項目是cytology的
如果有問題之後可能會再開刀 所以會有另一個surgical的報告
此處主要是蒐集病人的cytology報告和surgical最終結果
判斷cytology當下是unrelated, under diagnosis, overdiagnosis 或是 match
例如cytology HSIL而surgical下來是LSIL 就是overdiagnosis
或是cytology carcinoma而surgical開下來是adenocarcinoma就是 match
如果cytology cervix HSIL而surgical是口腔 severe displasia 就是 unrelated
採用bidirectional LSTM和 1DCNN 嵌合的自設model完成
目前accuracy大概在95% 還在調整model看會不會有更好的performace中
b.乳癌文字報告轉變成格式化的form
(named entity recognition, word embeded-LSTM-(1DCNN)-CRS model)
乳癌文字報告中 透過NLP方式 把有臨床意義的內容結取出來
例如:ER,PR,Her2強弱 百分比; cancer histology type; size;
margin condition; leagth near margin;
tumor-infiltrating lymphocytes (TIL) 比例等等
把各種文字報告經過NLP處理之後 一個一個標註其位置.... <--- 目前進度XD
例如哪個字是ER強度 哪幾個字是tumor大小 哪個字是tumor和margin的距離
然後用自建的model來嘗試看哪種model performance最佳
=================================================================
關於病理圖像處理的心得
病理玻片動不動一張3-5GB....
若完整打開解壓縮變成可運算的向量矩陣約會變成150GB-250GB (="=)
儲存格式各廠商又都不一樣.....
所以在處理上需要用到許多的open source
或是直接逼廠商交出SDK = =+ (喔不是 是跟業界好友交流交流....)
在底層操作會用到幾個概念
1.如何節取一張超大圖片的其中一個小區域 而不把整張圖片打開
-利用廠商的SDK
-採用C的libtiff package
-採用R的raster package, rbioformats package(最近在修正java integrade bug)
-採用python的 openslide package
2.如何在系統上做記憶體分配和運算加速
-利用多核心處理 盡可能平均的把運算分給每個CPU 或GPU
-把程式碼慢慢改成C <---痛苦根源....
-必要時可以出借部分RAM當成GPU記憶體 或是固態硬碟當成RAM
(會減速 但在記憶體不足時也只能這樣Orz)
3.降低不必要的運算次數 能向量化運算的盡量使用向量化運算 (R運算特色)
另外 玻片viewer其實就像是我們使用google map那種感覺
分不同層可以zoom in和zoom out
設計上需要把不同層之間的座標位置好好對應(projection設好)之後
viewer再依據使用者看到的位置打開相對應的層數和座標的圖片
https://imgur.com/DUd4VUo
也要讓使用者能圈出自己有興趣的地方
https://imgur.com/TYVaJuV
結論:需要有一個server機台來處理以上零零總總運算 然後其他電腦連過去使用看片
https://imgur.com/nN45ZxX
=================================================================
總歸來說 AI可以很好的輔助臨床判讀
以設計找TB為例
雖然AI可以很有效率的把覺得非常像TB的位置標示出來
(一張3~5GB玻片平均約13-15分鐘)
https://imgur.com/kMOKOFh
https://imgur.com/qP6lfDN
可以省去醫師慢慢找的時間
但是
實際在玻片上會有很多東西跟TB非常像也是紅色
例如 汙染的渣渣 碎掉的紅血球 掃片時沒擦乾淨玻片表面的灰塵偏光
染色液有結晶 等等
也都有可能變成紅色條狀 (O~O)
所以也不太可能完全依靠AI來發報告
但是
他可以把有可能的部分detect出來 讓醫師來判斷
也因為標記出來了 實際拿玻片找也很快
這步驟其實省去很多時間 XD
不過最重要的是
for fun!!!
在設計還有訓練的過程中都非常有趣!!!
學了很多東西XDDDD
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.246.52
※ 文章網址: https://www.ptt.cc/bbs/medstudent/M.1559199115.A.CBE.html
推 asdfg012345 : Julia不好嗎QQ 05/30 15:14
推 Assisi : 這些可以一個人在 R1 弄ㄛ 好厲害ㄚ 05/30 15:15
推 Tosca : 病理科R1就是閒 反觀內外科R1被操到要死不活 05/30 15:22
推 martinlin77 : 樓主去UCSF啦,不要留在國內 05/30 15:26
推 loserfatotak: 把檢體弄成播片的作業不是超費工的嗎?會閒? 05/30 15:28
推 holyhelm : 你的R1過的好充實R 05/30 15:29
→ inconspicous: 住院醫師最忙的一群好嗎,有些人不懂愛嘴 05/30 16:05
推 aneshsiao : 快推,別人才不會說我看不懂 05/30 16:42
推 jugularnotch: 同時作這麼多專題好強!是說敝院的影像報告也已經紅 05/30 16:59
→ jugularnotch: 字把tumor跟atypical等等關鍵字標出來了,似乎還是 05/30 16:59
→ jugularnotch: 圖像AI比較有研究意義一些 05/30 16:59
→ jugularnotch: 我同學也在作影像方面的AI論文,不過卡在python轉C 05/30 17:00
→ jugularnotch: ... 05/30 17:01
推 flycatchertw: 這篇,要推! 05/30 17:19
推 herculus6502: 這水好深啊…推個 05/30 17:20
推 vfgce : 1F,Julia太新,套件較少,用的人少,沒有比較好... 05/30 17:38
推 giveUstars : 好厲害 05/30 18:51
推 xious325 : 朝聖 05/30 20:18
推 scott112 : 雖然看不懂 但是推一個 05/30 20:34
推 clsiesta : 同學給推,研究底 非常深厚的神人! 05/30 20:40
推 ck030561 : 好屌 05/30 21:06
推 codaine : 好強,推 05/30 21:28
推 xadery1010 : 同學推,從以前就又強又認真! 05/30 22:02
推 howard790606: 雲象科技在做病理AI分析,可以跟他們合作 05/30 22:20
推 dannyliou3 : 林口長庚痛失英才 05/30 22:23
推 hchs11403 : 朝聖天才工程醫師 05/30 23:18
推 twodoors1175: 豪猛r 05/30 23:23
推 kevinlee075 : 真是神人啊,樓主確定不考慮去矽谷的醫院? 05/31 00:31
推 abby2007 : 報告長官,我什麼都看不懂(掩面 05/31 00:49
推 a156712 : 想問可以用GAN生成一堆false image來練習判讀嗎XD 05/31 00:58
推 pasin : 真神人 05/31 01:30
推 mvb : 勸原po去念個PhD 然後去矽谷的儀器醫療診斷公司發展 05/31 01:34
推 soredia : 不推一下人家以為我看不懂 05/31 01:40
推 jerryXDXDXD : 林口長庚痛失英才 05/31 01:42
→ jerryXDXDXD : 在酸的某樓可以滾嗎 05/31 01:42
推 WINONIA : AI研究接段很有趣,不過最後會不會走到大公司壟斷.. 05/31 07:03
推 tccl : 推一個林長痛失英才 啊哈哈哈哈 05/31 09:13
推 Rogozov : 好猛 05/31 10:09
推 Stunts : 屌欸 05/31 12:41
推 enamelcord : 有神必須推!完全看不懂(炸) 05/31 15:27
推 changmada : 抱歉都看不懂 05/31 17:28
→ martinlin77 : 雲象葉董就是樓主同行啊...... 05/31 19:22
推 jai166 : 猛喔 一個檔案這麼大要讀很久吧 05/31 23:16
推 paulloxa : 比較好奇的兩個問題,pgy, intern 比較少run到病理 06/01 06:27
→ paulloxa : 病理科的journal現在對AI相關文章的接受度如何?再 06/01 06:27
→ paulloxa : 醫院有提供gpu之類的運算資源嗎?還是都是自己出錢X 06/01 06:27
→ whs2009 : 其實我並沒有非常注意這塊的journal是不是很熱門XD 06/01 07:34
→ whs2009 : 至於電腦資源 是我老師自己出錢的 真的非常感謝他 06/01 07:34
→ whs2009 : 無論是windows或是linux的多核心系統 gpu 高階固 06/01 07:34
→ whs2009 : 態硬碟 大容量ram等等 06/01 07:34
→ whs2009 : 回應a15672 有試過用GAN 但是training時就像教科書 06/01 07:52
→ whs2009 : 說的 notoriously slow..... XDDD或以後來就放棄他 06/01 07:52
→ whs2009 : 了 06/01 07:52
推 shinwilliam : 推一個 06/01 12:46
推 etpig007 : 有人支持真好,我還自己花錢買張RTX2070... 06/01 23:12
推 jeff11194 : 太神拉!! 06/01 23:31
推 rukill : 推 林長痛失英才 06/03 00:09
推 sherrycatcat: 有神必須推! 06/04 01:57