天天看點

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

雷鋒網按:目前全球範圍内大約有 4.15 億的糖尿病患者,單是中國就有 1.1 億左右,而糖尿病視網膜病變緻盲問題也愈發受到人們的關注。

據悉,隻要在發病初期定期進行眼底檢查,失明風險可下降 94.4%。但由于眼底病竈微小,部分醫生經驗不足等原因,使得診斷中可能出現漏診、誤診的情況,是以,借助 ai 輔助診斷是未來的一大趨勢。

那麼如何将人工智能應用在眼底檢測當中,雷鋒網(公衆号:雷鋒網)邀請醫療影像公司肽積木ceo柏文潔做了一期以《探讨醫療人工智能之眼科ai的真實應用場景》為主題的公開課,從算法、工程、産品、業務等多個角度進行剖析。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

柏文潔,肽積木科技

ceo。畢業于中國科技大學,香港浸會大學通路研究助理。共發表論文 12 篇,1 作 4 篇,引用次數過千次。ai

算法工程師,研究方向主要集中在算法、非線性科學領域,擅長數學模組化,獨創的 lp-net 算法在病竈識别方面取得國際領先水準。

此外,柏文潔還是大資料領域的連續創業者,是大資料公司信柏科技、時趣互動營運核心創始成員,在大資料、人工智能産品、營運、推廣等業務環節有豐富經驗。柏文潔創立的醫療人工智能公司肽積木科技,已推出醫療影像診斷機器人與醫療大資料人工智能訓練平台。

本次公開課包括以下内容:

糖網眼底篩查為什麼成為了熱點

應用于眼底判斷的機器學習和深度學習技術

目前的分類算法在實際解決眼底判讀問題時面臨的挑戰

工程化解決眼底應用判讀

眼底産品營運環節遇到的挑戰以及推進思路

以眼底為代表的篩查類型ai判讀發展趨勢

(注:本次雷鋒網硬創公開課中,柏文潔展示大量的案例,并回答多位讀者的精彩問題,是以推薦優先觀看視訊。)

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

今天有機會來跟大家一起探讨一下醫療人工智能在眼科ai的真實應用場景。我是來自肽積木的柏文潔,肽積木是專門緻力于醫療影像和ai結合的公司,今天我向大家詳細介紹一下ai醫療影像的現狀與總結。

首先其實跟大家聊一聊,為什麼糖網眼底篩查成為目前的熱點,其實我們知道最有名的人工智能公司——deepmind其實已經在做糖網的相關工作,google前一段時間和學術機構聯合釋出了在糖網篩查糖網分級診斷成果。

國内就我們所知道的情況不下十家在做這塊的内容,首先想給大家簡單解釋一下為什麼它會這麼熱。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

我們先來看一張眼底圖,給大家做一下簡單的科普,我們看到這張眼底圖就是從瞳孔拍過去的,從視覺裡能夠看到的情況,中間圓圓的部分是我們的視盤,也就是眼部神經集中的出口,旁邊相對暗一些的是黃斑區域,它是眼部接受神經視覺最敏感的區域。我們這張圖選擇了最典型、有各種各樣病竈類型的一張眼底,也就是有糖網問題的一個眼底。首先包括了硬性滲出,像右上角它其實是有蛋白質的産生,右邊有棉絮斑,下方有出血點,左邊也有一些微動脈血管瘤。

在醫生的實際診斷過程當中,醫生一方面需要能夠看出病人的病竈到底在什麼區域,同時需要告訴病人大概的病程。初步病程可能隻會看到一些微動脈血管瘤,再往後發展會發現滲出,包括棉絮斑,甚至到出血等比較嚴重的問題。

實際我們在做眼底篩查過程當中最核心的問題其實是分級,同時包含能不能把病竈給标出來,讓大家知道處于什麼樣的狀态。

回到剛才那個問題,為何眼底這麼熱?

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

核心原因在于眼科醫生資源極度匮乏,因為隻有匮乏的地方,ai才能夠幫助到大家,才有可能産生巨大的市場機會。這一點上,中國是擁有最多糖尿病高血壓慢病人群的國家,我們國家有2.8億的高血壓患者和1.1億的糖尿病患者。1億多的糖尿病患者中80%以上其實都有可能患有糖網病,其中3000萬患者患有糖網病。

目前我們差不多有3000萬的糖網病患者,而其中1100萬已經發展成為視力受損的糖尿病患者。

這些糖尿病群體都應該定期去做眼底篩查,尤其已經發展出來的可能每隔三個月就得做一次糖網篩查。中國目前的眼科大夫隻有3萬多人,眼科門診量有8000萬人次。在這麼大的市場需求下,我們隻有很少的眼科大夫資源,這中間存在着嚴重的不對稱。

我們前段時間通過市場調研,看到基層一些社群醫院甚至沒有相應的眼底裝置進行篩查,有着巨大的資源缺口。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

眼底受到如此大的關注,還有一個很重要的原因是相對而言,它有比較豐富的物料,國際上各種各樣的公開資料集上均有着比較多的資料,如x光、ct在内的學習物料。

最著名的其實是kaggle比賽,之前一次有8萬張片子的比賽資料集,而且包含不少分類。除了kaggle之外,其他比較知名的包括adcis、druve、stare、hrf、drions、diare資料庫,也在做相應的整理。

可以看到整個公開市場和行業内找到的資料集也接近有十萬張片子。這其實為我們很多深度學習或者說人工智能提供了一個相對好的資料集,而且我們可以直接将我們的技術應用在環節中。

是以我們解釋了為什麼眼底是一個比較熱門的點,我們接下來看一看應用在眼底判斷當中的機器學習和深度學習到底是一個什麼樣的狀态。

通常來講,它沒有非常大規模的物料,在kaggle的資料集出現之前,其實在眼底方面很難去做比較好的分類,就包括國際的一些公開标準,整個分類的過程可能都是我去數對應病竈的數目,然後數大概會在幾個象限有相應的病竈分布,是以在傳統方裡面解決的通常都是病竈識别。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

這裡面包含了二維高斯的濾波識别血管、canny算子識别視盤,應用最典型、也最多的是拓撲學的方法。拓撲學方法我們會用多個形态學去找出血點和微動脈血管瘤。

不久前研究者開始用拓撲學去找血管,但對于眼底圖檔來講,雖然人眼看過去差不多,但它其實是有一個非常大的分布。實際我們看到拓撲學找血管這塊,在局部它可能會有比較好的效果,但是換到另一次元上效果可能就不是很好。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

我們可以看到之前有學者利用傳統方法做精度統計,從2000年以後這些學術結果都釋出在相關的paper上,我們整體看到大家也會比較投機取巧,很少有同時去彙報精度accuracy和sensitivity或者specificity。通常都是偶見精确度,基本上沒有超過90%的。

在另外一個次元,它的召回率也普遍隻有80%,難以達到實際工程化的水準。

上圖右側是之前在學術文章中發表的統計圖,我們可以看到基本上在80%左右待定的區間搖晃。事實上我們看到它一些針對性的結果,通常也都是針對比較小的資料集。像adcis其實也隻有幾十到一百張的量級,實際上我們在真實使用的場景裡很難達到工程化的水準和效果。

接下來我們看看在實際商用情況下,國内一些軟體企業的應用進展。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

根據我們之前調研的情況來看,國内軟體的功能其實也基本上以滲出或者以出血點判斷為主,做診斷的比較少。當然因為最近整個發展過程可能相對來講會有一些診斷,但之前基本上都比較一緻,以判斷滲出和出血點為主。沒有标記的平時基本上耗時在半分鐘左右,有标記的處理時間差不多在三分鐘到五分鐘之間,實測下來針對特定的場景比較有效,但依然依賴于醫生的判讀。醫生的判讀時間大約耗時五分鐘,這其實也取決于我們實際拍攝的情況和環境到底會是一個什麼樣的狀态。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

上圖是我們之前看到的對接基層醫院的友商的截圖,可以看到基本上在滲出和出血點這兩塊。這是另外一個,也是在講出血點,包括他的這個像素、占比之類的相關資訊。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

傳統的分類方法基本上是利用傳統方法識别出病竈數量的多少,然後利用一定的門檻值直接來做回歸,判斷我到底如何去做分類。沒有kaggle資料集之前因為沒有足夠的物料,是以基本上沒有人用深度學習的方法在做這塊的東西,有了kaggle資料集後大家才開始用深度學習,也在該過程當中取得了較好的效果。

剛才我們首先展示了眼底到底是一個什麼樣的問題,然後我們看到傳統的機器學習方法或者其他傳統方法它其實解決了哪些問題,但是它又存在怎樣的現狀?

我們看到目前的分類算法在實際問題當中會遇到一些挑戰,即使我把剛才的算法本身做得很好,但是我在實際解決實際問題,在解決工程問題的時候,它又會有哪些不一樣的挑戰和變化。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

舉一個簡單例子,因為肽積木在做這件事情的過程當中,從基層醫院收集了大量的眼底資料。我們可以看到,基層醫生包括社群醫生拍出來的片子實際上和大家看到像教科書一樣的片子其實有非常大的差異。

如何在過程當中解決掉這些問題?我們首先得來看一看它們到底會是什麼樣的情況。

我們現在看的是同一個人在同一個時間拍出來的不同的眼底照片。第一張很明顯,大家可以看到欠曝,就是它沒有曝光到位,基本上到下半部就已經變得相當的模糊,而且上半部分反而又有點過曝。

第二張圖檔顯然沒有對準焦,而且整體上右偏就沒有對得很清楚。

第三張圖檔這個人在拍攝的過程中眼珠轉了一下,它其實沒有拍在一個比較正位的位置,因為沒有視盤作為參照系,是以基本上不知道它在拍什麼。

第四張照片是很典型的過曝。所有的這些場景在我們實際工程化處理的過程當中必須把它清掉,要不然對實際的判讀會有非常大的影響。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

另外一個次元,我們也找了其他的片子,即使看到一個人都可能拍出不同的這種感覺和效果之外。基層大夫很有可能幹的事情我沒有把這個相機推到足夠的眼底深處,是以我拍出來是一隻眼睛,就是我們左上角第一張圖的這個效果。

第二張圖就很明顯看到這是一張拍糊了的眼底;左下角這一張它的整個右下角,其實是出現了僞影,而且出現了比較大面積的鏡頭不幹淨。右下角的就直接幹脆就過曝了,這個過曝和剛才那個完全不一樣,它是漏光漏了好大一塊。

像剛才那一類片子我們還能勉強進行判讀,但是對比這幾類片子,我們必須在實際的篩查過程當中就能把它去掉。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

除了這些會造成我們在算法應用過程當中的一些問題和困難之外,不同的眼底裝置也會出現不一樣的效果。這裡我們選擇了三家三個典型的眼底圖檔,第一個是國産的,可以看到顔色比較灰暗,這個是縮小的效果,把它放大之後看,整體就不是很清楚。

第二張是台灣生産的手持裝置,整體偏黃,當我們把它放到比較大的時候,會有比較明确的噪點,而這些噪點,容易幹擾機器是不是微血管瘤或者其他的效果。

最右邊是佳能相機,是醫院裡面用的主流裝置之一。

拍出來這些結果相對來說效果會比較細膩完整一些,我們在公開資料集裡擷取的圖像都會是右邊這一類組成的。

是以在這個過程中,我們要把眼底診斷的圖檔做成一個能夠工程化應用的邏輯,同時應對幾種場景。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

另外,像我們看到kaggle資料很典型:左眼一隻,右眼一隻,然後組合起來做一些分級診斷。目前的實際情況,在基層醫院大夫能拍好就已經很難得了,基本上是拍正位的眼球。

實際上大家可以想象一下,人體眼球是一個球形物體,透過瞳孔看進去的時候,隻能看到一個區域。而整個眼底其實都應該被觀察到,在這個過程當中一些有經驗的大夫,會讓你同時上下左右來看前方,他就能夠透過瞳孔看到你全部的眼底情況。

按照嚴格标準的眼科大夫去拍圖的話,他是要能夠從多個次元去進行拍攝,最後拼成一張像我們看到的左邊這張圖,由右邊四張圖拼出來的圖景,用這樣的方式我們就能夠看到完整的情況。這一點我們看到有些醫院做了,有些醫院沒有做,而且有些醫院可能照出來的情況它也是一張圖,但它隻有一個側位,因為它會有重點地去往邊上看。

在這個次元上我們如何去整合這些資料其實也一樣,也在實際過程當中需要去解決的一些問題。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

總結一下我們在實際工程應用場景過程當中遇到的這個資料問題已經包含了很多種。第一個就是的拍攝範圍是不是隻是兩張正對視盤的圖檔,還是說我有多張照片的組合,還是說有實際情況,我根據他這個去調整,這會對我們的結果産生什麼樣的影響。

還有在醫生手法上,因為他手法的不足,可能造成模糊或者過曝或者曝光不足等等,這一系列方法到底要怎麼樣去解決。包括鏡頭的問題、包括僞影、包括噪點這一系列的問題。在這個過程當中,簡單來講,我們可以最簡單最粗暴的方法,把不合格的都去掉,同時算法能夠把它在整個過程當中能夠有足夠的泛化效果。

不能像我們傳統做法那樣做,隻能接受局部的,或者說比較少量的情況。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

除了我們所面臨資料問題之外,其實在标注上也有非常多的問題。

我們在醫療或者醫療影像這個判讀過程當中标注的問題要遠遠大過資料的問題。

第一,像最知名的kaggle的資料集,它的标注其實有非常多的差異性。另外一個diare資料庫能夠看到的醫生标注的差異性其實是非常大的。

國内的醫生其實沒有特别統一的标準,實際上我們有時候通過各種各樣方式獲得醫生的标注往往是年輕大夫,而這點上不夠充分。

包括我們之前在一些醫院做測試,這家醫院可能表現已經超過95%了,但是換到另外一家醫院可能隻有80%多。仔細來看,實際上是因為中度和重度、輕度和中度兩可之間的結果會發生一些判讀上的異常。

在這一點上,對我們實際機器學習的過程其實會增加一定的難度,因為我們學習的對象本身就有一定誤差的,另外我們到底用什麼樣的方式去做标注其實也非常關鍵。

就拿眼底來看,有幾類型的标準方式,第一個醫生直接拿着這個眼底圖進行判讀,然後分類。但是這裡面一般有經驗的大夫會在拍眼底照之前就已經用眼科的專用鏡片,看到眼底的實際情況之後,再對眼底照片下結論,這個過程會有一些差異。

同時在眼科判讀,尤其是糖網的判讀過程當中有一個精标準,我用ffa也就是熒光造影去看結果,最終它可能和我們實際擷取的眼底照片會有非常顯著的差異。

這點差異會在我們剛才提到的kaggle資料集或者diare資料集裡面都會有一個明确的展現。

整體上來講,第一我們在目前這個次元上如果是用醫療上的手法、診療上的手法經後期确診之後的結果來進行前期的判讀,雖然嚴格意義上來講它是準确的,但是它會導緻一個問題,當醫生并不是隻用于一個方法進行判讀的時候,會造成我過度在可能不存在這個特征的照片上進行學習。

如果我完全依賴這張照片醫生對他的分析,那又會導緻因為醫生本身就有一定的不确定性,或者說有一定的判斷誤差。甚至會出現一個醫生前後看兩次都會有不一的特點。

但是可能對眼底圖會稍微好一些,不過整體上來講這個标注非常非常的難拿,是以我們接下來也是想給大家分享一下,因為這些資料大家都能下得到,也是想跟大家分享一下,像kaggle資料集和diare的資料庫,我們在這個過程當中實際看到的情況是什麼樣子。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

diare的資料集,左邊這張圖大家應該能看得很清楚,左邊這張是原圖,右邊是醫生的标注結果,diare資料庫挑了很多類别、很多種病竈,會同時讓四五個大夫來标,右邊其實會把每個大夫當時在這張圖上畫的框都框出來。我們選擇的是出血,出血就是圖檔上這些偏紅色成片的,基本上可能就是出血。

大家可以兩邊對照着來看,比較典型的是視盤正下方的區域所有大夫都給它标出來了,這塊就比較典型,包括右下角也是好多大夫都在标注。

可能對于這些明顯的區域來講,大夫可能會比較好辦一些,但是我們看到右邊一些零零散散的地方,可能隻有一個大夫或者兩個大夫給他标出來。是以在我們擷取标注的過程當中,我們其實需要非常準确和靠譜的判斷機器才能夠學,但是實際能夠看到的這個情況我們會有比較大的一個差異。

是以大夫之間的意見首先就是不同意的,而這個資料庫說白了顯然是比較資深的幾位大夫一起來判讀,但依然會有一些差異:包括大夫的一些方式方法、行為特點都會在裡面顯示,對于同樣兩塊區域可能有些大夫一筆就畫過,但有些可能就不是。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

我們回到即使是kaggle資料集,我不知道觀衆朋友們看到這三張片子會是一個什麼樣的感受。這三張片子都屬于非常嚴重的,糖網發生嚴重病變的這三張圖例。

但從這圖檔像我們做了這麼多眼底、看這麼多眼底之後,其實依然不能很明确的判讀這幾張就是有問題有病,尤其到第三張,我們看到基本上是一團黑,kaggle其實有不少這樣類型的片子,這些他們能給出一個明确的判讀說這個是重度病變甚至是增殖性病變,基本上我們可以判斷kaggle一定是用了其他的判讀依據來進行判讀,而不單單是這一張照片。

是以這樣的結果其實會出現我剛才說的那種問題,我可能借助了其他的特征,而這張圖檔上的特征并不足以讓我判斷,是以就會導緻機器去學習一些不必要的特征。

我舉個簡單例子,如果我們在這個健康圖檔裡這種黑色圖檔少一些,而在這種增殖性病變或者重度病變的圖檔裡這種黑色圖檔多一些,機器很自然地就會認為偏黑的圖檔可能會是有增值性的展現,但其實它可能是曝光不足的原因造成的。

而且這裡頭當然也可能有其他的一些原因,就好比說如果我的眼睛已經發生嚴重性問題了,眼部的水晶體已經不太透光了,或者說白内障那種直接就被擋住了。但是整體上因為像kaggle這種公開資料集我們是找不到任何周邊資料的,是以就沒有辦法去針對他進行進一步的細化。實際上我們看到包括在google前一陣子發表在jama的資料分類核心算法,其實就是從我們看過去,包括它也公開了網絡結構。重點是他集合了54位大夫,雖然不是每張圖都是由54位大夫同時讀,基本上每張圖檔在訓練集上有7到8位醫生,在測試集上可能會更多一點。

但整體上我相信它能取得那麼好的結果是對這個資料集本身做了非常多的處理和非常多的精挑細選,是以在結果上效果非常好。整體上針對于這些資料,我們的标記其實是一個非常非常大的問題。        

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

我們講了資料問題,講了标注問題,然後在實際應用場景當中當然也有技術問題,技術問題的話就是我們能看到的,像傳統的方法淡化的效果非常差。

今天給大家介紹了非常多不一樣的問題包括不一樣的裝置拍出來場景、不一樣的醫生拍出來不一樣的場景。我們能夠看到傳統問題它針對的都是好大夫、好裝置出現各種各樣的情況。

一旦涉及到問題比較差的可能就得再去調整參數,這一定是我們不能接受的,我們還是得能做出比較通用化的結論出來。

在另外一個點上,我們也能看到在用深度學習來做這件事情的過程當中也有一些有趣的點,我不能叫它是難點,但我認為它們是一些比較有趣的點。

第一個是分類資料集不足, google整理大概是4萬的資料,kaggle的資料集是8萬的資料集。我們看到imagenet或者其他的世界上比較公開的大型資料訓練集基本上都是在百萬量級的。

而且我們要注意的是像imagenet都是非常小的圖檔,眼底其實很大,雖然比病曆還要小一些,但它已經比普通處理圖檔要大。是以它其實包含的特征會更加多,包含特征越多,就需要更多更大量的資料集才能夠學得更好。

我們看到分類資料集不足,在這個過程當中其實眼底沒有必要用那麼深的網絡,但是我們還是需要主要的資料才能夠把特征學習出來。

另外一個點是我們看到的物體的識别,它其實是不适用的,我們之前也有fcn的方法,在圖檔裡面能快速定位物體,包括像汽車、樹、人,但是這種方法基本上在醫學圖檔裡面都不太适用,因為醫學的病竈說實話長得比較“自由奔放”。是以它不會像樹木、汽車有一些比較明顯的這種形态特征。是以在這個過程當中,我們更多是通過經驗來看你和正常的差異到底是多大。

傳統的物體識别那一套方法其實不太适用的。另外一塊,既然物體識别不适用,那我們是不是就用圖像切割的方法,image

segmentation其實也是我們目前深度在這塊用的比較多的一個内容。但事實上我們看像fcn會有一些比較通用的一些問題,包括識别的邊緣不是很清晰,這個點我們可以看到很多這種fcnn網絡做出來的都是看到邊緣,不是很成規則和清楚。另外,它缺少足量的标記。因為像包括像imagenet這一塊就是用來做image

segmentation學習的,基本上數量要少很多。

對于醫療圖檔來講,我們假設說想要用image

segmentation來做的話,我們看到學習的物料非常少。如果讓醫生非常精确地給你标記出來病竈,不僅是标注病病竈這個區域,而且要把它整個連邊緣帶描繪出來其實是非常困難的一件事情,而且當圖檔放大到一定範圍之内,其實有一些邊緣本身就是我們學習對象本身邊緣也不清晰,是以其實在這個過程當中我們可以看到技術在這一塊還是有一些問題需要去突破需要去解決。

當然這和ct或病理切片有一點不一樣。我們簡單舉幾個例子,病理切片因為它圖像比較大,我可能縮成每一小塊,每一小塊去做分類就好了,我最後能拼出來的就像一個圖像切割的圖。

但是眼底不能,因為它就是一張圖,是以它不能再切,它再切其實就看不出來整體的特征。因為它是一個完整構成的圖像,而不像說病理我單獨一塊拿出來,是可以單獨做判讀的,就是沒有特别明顯的位置特征,而眼底有明顯的位置特征。而ct目前大家的研究重點是能不能把一些結節先初篩出來,而不是落實在判讀次元上。

回過來說在眼底,雖然大家直覺地看過去它是一張二維圖,但是在這個次元上我們還是有很多可以判讀的點去參照和思考。

接下來來看一看我們怎麼應用工程化的方法實際來解決眼底應用判讀問題。

首先,在切入實際用深度算法改進技術的同時,我們第一步要做的是優化資料。

我們肽積木收到公開資料集10萬的邊緣,然後包括我們在基層醫院和三甲醫院擷取到差不多10萬的資料源,對于這些資料如何進行預處理,然後加工标記,其實在過程當中非常重要。

剛才看到的那些問題圖檔,這部分目前我們沒有看到對應的醫生,标注是可用還是不可用的邊緣。

是以在實際過程當中我們會先去做一些聚類的處理,把這些有問題的先篩出來,把明顯過曝或者明顯過暗的這些片子篩出來。

在這個過程當中,需要收集到足夠多的基層資料,然後在基層資料的基礎之上獲得我們有價值的資料。第二,我們肽積木在這個過程依托于醫療這個大資料平台,建構了一個标記平台。

目的是為了讓大夫更好地幫助我們進行标記,然後進行一些補充和輔助以及人工參與的輔助标記,具體怎麼來操作我會給大家簡單介紹一下。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

這是我們的标記平台,簡單的來講,我會把眼底圖檔放在這個螢幕的中央,大夫可以借助于上面有一個十字,它可以用來畫出病竈的區域,可以比較快的在圖檔上畫病竈,同時給張圖檔貼上我們想要的一些标簽。标簽包括說明圖檔可用不可用、到底處在哪個病程、還有哪些其他的問題和特征。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

這樣的好處是我們能夠收集和擷取更大量的醫生的标記,在該過程當中,我剛才其實也提到像這種病竈類的标記,或許是非常困難的。如果真的讓大夫給你打标簽可能還ok,但如果讓大夫真的手動不停的給你去做一些病竈的标記的話,那難度會非常大。

是以我們在實際過程當中會采用第一種方法是讓機器而先做一層判讀,就像我們現在展示的這張圖檔,它其實是一個很典型的有滲出的情況,我機器會先跑出來一輪,然後醫生在進行校準。我圈出來這塊區域還是有的,然後那塊區域其實沒有。這麼一個處理的方式和方法,會大規模地降低醫生的工作量,然後我們能夠快速擷取更多病竈标記類的片子、邊緣。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

第三種,這張圖大家可能有點眼熟,就是剛才那張我在講diare資料庫有醫生标注差異的一個片子,我們在這個次元上相當于先擷取醫生的标記,在這個過程當中,因為基本上當醫生圈出出血點後,普通的醫生或者說經過訓練的實習生也能夠看得出來這塊其實是出血部分。

醫生的時間成本會比較高,他給我們圈出大概範圍,我們再找相應實習生或者我們内部的員工再對這個資料進行精标注,然後擷取更大量的資料集,這個資料集我們可以用在對于原有資料集的加工上,包括像我們剛才說的diare資料集,我們用這樣的方法就已經經過一輪精加工。在這個次元上,通過一系列标記平台,以及在标記平台上進行各種輔助操作,以及引入第三方人力的方法,我們就獲得了更大量的有精細邊界,比較精确的病竈标記,以及對應到比較大量的标簽。這樣才為接下來的訓練提供了非常好的物料基礎,這是整個過程當中的一個核心和關鍵。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

我們接下來看一看,在實際過程當中對于病竈标記我們采用的是一個什麼樣的網絡,以及如何標明網絡?

首先是fcn網,給大家簡單介紹一下fcn網絡以及眼底病造的應用以及u-net網絡建構的過程。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

首先深度網絡應用在圖像分割和識别過程當中,實作像素級的識别就是semantic

segmentation,也是fully convolutional

network,我在下面貼了兩個非常典型的網絡結構,基本的思路是說我之前的深度網絡是一層一層地把特征往高層提取,在高層我最終利用這個全連接配接我做了一個分類器,然後判斷在每個分類上的機率是什麼樣子,如果把這一層全連接配接拿走,那相對應地會得到一張縮小的圖。看能不能再把它逐漸放大,這樣子就得到一張和原圖等大的圖,能夠實作對每一個像素的判斷。

右面其實是一個更加漂亮的網絡結構。就是conv-conv-pool,conv-conv-pool,其實一層一層的把圖縮到一個比較小的次元上,然後這個時候我們再來up-sampling,然後conv,然後往上層走。是以input的是一張rgb的圖檔,出來的就會是一個segmentation的圖檔。實作了每個像素點上的差別,每個像素點上的特征标記。其實這張例子也能展現我剛才說的,fcn網絡的邊緣有點像『狗啃的』這種感覺。右邊它會把一些高層資訊再落回到低層資訊當中來,雖然左邊這個結構沒有右邊結構那麼優美,但它其實在實際工程當中用的效果會更好一些。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

在這個次元之前我們看到大家很自然地會想到說fcn應該是可以直接用于眼底病竈的切分和處理的,這是我們在一篇理論裡面看到的效果,左邊是原圖,中間是background,右邊是用fcn做出的結果,我相信這應該是他挑的自己做出結果最好的一張圖,因為這張圖的病竈區域比較大。可以看到說它優點其實非常明顯,它比傳統方法要快很多,基于整圖的識别,是以它速度非常快。

對于前期的資訊把握得非常好,但是問題就是說雖然這是它最好表現的一張圖,但它局部特征資訊提取的精度其實非常不足,而且對于一些微小點,尤其到了一些邊緣處,它其實識别得非常不好。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

同時,對于病竈領域,另外一個非常有名的網絡叫u-net,其實它大緻的原理與fcn是一緻的。是它有一點,它認為對于特定病竈的區域的判讀和分割,其實依賴于周圍的資訊,是以它實際上在建構這個網絡的過程當中,我最終可能希望判讀的是中間255×255這塊區域的圖像的分割結果,但是我輸送進去的是一個388×388的圖檔,也就是我一個大圖,然後生成一個中間這部分小圖的結果,是以在他一層一層往下down的過程當中,它會不斷的去掉切掉周圍的一些,因為靠它邊緣的這些它會舍棄,然後當它回來的時候,它會選擇原圖中間那部分來進行合并。

這樣子的網絡結構第一是看上去很優美,但第二個很重要的原因是它其實參考了周圍的資訊。我們看到它底下的切割結果用來做tissue

segmentation其實效果還是蠻不錯,整個它其實做了一個很典型的切分,但是我們實際在應用u-net來做我們眼底的時候我們可以看到它這個網絡還是比較适合于大片的圖像切割。

就像我們看到它當時最典型的問題其實是用于淋巴結的,它其實每個區域都有相應的組織,是以它會把整個圖做一個明确的區分。但是用到眼底過程當中,因為我們的病竈數量太小,分布範圍太少,是以我們會有大量的全黑圖,或者大量沒有病竈的圖,是以導緻的結果就是u-net通常訓練就成了一張全黑的結果,然後它這張全黑的圖依然可以取得比較好的準确率。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

因為我全黑了,它剩下來的隻有少量的判決錯誤,是以u-net其實也不能完全直接應用于眼底圖檔。回顧了我們在用深度學習方法或者深度網絡來進行圖像切割常見的做法和方法之後,肽積木提出了一個lp-net的算子,核心是基于局部資訊的深度神經網絡算子,這個核心的原理是利用基于局部資訊的fcn網絡建構針對單個像素點計算的分類算子。

核心就是,第一它其實還是一個基于fcn為基礎的深度技術,因為看到的就是fcn還是有它非常明顯的優點的,第一個學習能力很強,适應不同的場景,就像剛才我們實測的情況,不同的裝置對于我們的訓練結果不會有特别大的影響和差異,是以它泛化能力很小很好,而且運算速度會非常快。

在這個過程當中還是把它的局部深度學習方法整合成了這個對應的分類算子,這樣的好處就是說我其實是作為一個像素級的區分避免了傳統fcn的邊緣模糊以及小病竈難以識别的問題,

也就是說我其實是一個像素、一個像素看過去的,而且這裡面其實在某種程度上也應用了u-net的一些核心思想,這些核心思想就包括說我要參考周圍的資訊,但是周圍資訊其實也是利用局部資訊來進行自我學習,對于醫生的描述性依賴語言會比較低,然後結合結合周圍的場景,也不僅僅隻看像素點的特點,是以泛化能力整體上還是呈現一個非常好的一個效果。

這是肽積木lp-net算子的運作結果,其實就能夠看到我們的效果還是不錯。這個結果是針對accuracy資料集的一個測試結果,包括說像accuracy到0.91,sensitivity是在0.85,然後整個auc值會非常的高,差不多是0.99。

我們基本上是針對到因為差不多一張原理圖大小可能有不一,我們把它統一在1024×1024的情況之下的話,它的運算時間差不多在13秒到15秒之間。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

我們用的gpu大緻情況會在下面展現,這個是我們在實際用lp-net的算子在标記過程當中樣張的一些呈現,我們可以看到它不會像傳統的fcn方法,周圍的邊緣會非常的不清晰。而整體上它還是比較清晰,還可以看到一些非常小的點,它都能夠準确無誤的給它找到相應的結果。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

除了這些還有包括像這個,剛才那個是大面積病竈,我們翻下來的這張圖,這張圖其實它的病竈的範圍不會特别多,而且這裡面有一個非常典型的混淆點,視盤右下角有一塊黃色的區域,這個其實是棉絮斑,實際在傳統方法的判讀裡面經常會把它誤認為滲出。我們用這樣的一個算子,用深度學習的好處就在于說它各方面各次元的特征都會統一參考,而不僅僅是看我形态特征或者色彩顔色特征,它不僅僅是這樣的一個邏輯。

是以在這個過程當中我們最終選擇了一個工程化的路徑。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

雖然看上去隻是一個簡單的眼底圖,但其實也是需要經過一系列的判讀。首先是包括我是否是眼球,如果不是眼球的話,我們會放到vgg裡面去判讀你到底是什麼,以前有一個笑話說有人去測智商,然後機器告訴他你不要放一個石頭過來測試,我覺得它們這個雖然很蠢,但是它們也是應該用了這樣的一個模式,我首先看看你是不是人的眼球,你不要騙我,是以如果是眼球的話我們再去判斷你是不是健康的眼球,然後生成相應的描述。

這樣的一個好處是我的速度會非常快,就尤其在我們實際選擇工程應用場景裡面去做篩查這個邏輯,如果你是健康的,那其實我不需要花太多時間在你上面,直接得到健康正确的結果就好了。

如果你不是健康的眼球,我們在進行相應的分級算法,包括去判讀你的視盤黃斑區域,然後進行位置标記明确病竈到底在哪,根據這所有的資訊,再去生成對應的描述檔案。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

這是肽積木用眼底生成技術做的一個c端

app——doce,大家可以去測一測,至少目前你們拿一個桔子去測試應該是不會有什麼好的結果的。我們基本上就是利用眼底圖檔能夠快速的定位我們的病情,然後自動生成報告,診斷結果清晰、可讀操作也比較簡單,反正大家在自己手機上也都可以試一下。然後用ai機器人自己自動識别等級,包括标記我都可以給你标注出來,是以準确率高。基本上我們是用的三甲提供的一些資料庫,機器的準确率基本上能持平頂尖的醫生。

最後我給大家簡單講一講,眼底産品營運環節遇到的各種各樣的挑戰以及推進的一些思路。

探讨醫療人工智能之眼科AI的真實應用場景(肽積木CEO柏文潔)丨硬創公開課

實際上我們看到的應用場景來講,其實主要還是包含兩個層面,第一個是診療,第二個是篩查。對于診療來講,是整個我們能夠納入到三甲大夫的操作流程當中,同時也觀察說基層大夫的應用情況,它們兩個會有比較明确的一個差異。

三甲大夫都是會先拿病曆自己去看一遍,然後對有價值的病例再進行相應的操作,而且更多的時候是為了留底。因為說實話比較有意思的一些案例,他拍照片留下來自己以後作為學習或者作為作為教學案例來講會比較有意義一些。

另外一塊我們看到實際基層大夫,他們的拍攝情況之前也給大家做了一個詳細的介紹,其實還是會比較千差萬别。然後篩查領域其實我們可以看到,因為以前有一個眼科大夫一直跟我講眼底是人能夠直接看到的唯一大腦組織,是以它對于一些比較早期的像血管疾病,甚至包括一些特定的疾病包括一些糖尿病,能夠看到比較早期的一些病變,是以用來篩查糖尿病,前期都能夠得到比較好的結果。

我們在整個糖網的這個邏輯體系裡面,大家之是以關注和熱衷,其實還是因為它的應用場景非常的廣泛,是以在這個過程當中,我們其實希望第一,要建立标準。現在其實更多的就是大家通過各種各樣的技術方式和方法都能夠學出一個還不錯,當然這個裡面工程化實際應用會有比較大差異,但是核心是能夠建立一個大部分醫生都認可的眼底篩查的标準會非常重要。

然後在面向基層的重點是實際落地過程當中,要平衡醫療資源,是以我們會面向基層面向社群。在這個過程當中除了這些以外,還可以為提供年輕醫生的學習和教育訓練的相應的工作。

最後簡單講一講,以眼底為代表的像這類篩查類型的ai的判讀的一個發展趨勢到底是什麼樣子。

整體上來講,篩查類型的這個ai判讀可能和輔助分級,可能和做病理切片的判讀不太一樣,它并不核心展現在雖然它也部分地展現在這個診療過程當中,但它并不是作為最終診療判讀的标準和依據,是以我們在這個過程當中更多的是實作和幫助他來進行分級診療。我通過ai能夠做第一層的預篩查,節省醫生大量的時間,有問題的、有針對性的再重新進行引流和配比。

然後第二個就是能夠輔助進行醫生資源的再配置設定。

我們一直在說ai要學習醫生,那學習醫生出來之後,其實就是制作醫生的分身能夠重新把這些醫生的分身放在一些以前可能醫療資源極度缺乏的一個應用場景當中,同時最核心的一個點就是目前我覺得,包括我們看過去很多的ai醫療公司其實并沒有完整的實作商業化場景,而在這個過程當中,大家隻有實作真正的商業應用場景才能夠真正地實作長久的發展。

這是我對整個篩查類ai的發展趨勢的判斷,基本上核心就落在三點:分級診療、資源和資源的再配置設定、以及産業化。

本文作者:亞峰