董妮 杜淑娟 屈卓軍
摘要:多邊形標注的精確度降低,自由繪畫標注不僅耗時,而且同一個圖像經過不同標記者能夠存在多種標記方式,所以在醫(yī)學圖像標記過程中存在較為嚴重的問題。文章設計了一種基于深層神經網絡的醫(yī)學圖像半自動繪畫標注系統(tǒng)。深層神經網絡在處理圖像上具有較為成熟的應用,于是將其應用到標注系統(tǒng)中。首先對系統(tǒng)進行設計,然后分析實現(xiàn)系統(tǒng)所需要3個方面,分別為客戶端、服務器和數(shù)據庫、深層神經網絡模型,最后將系統(tǒng)運用到醫(yī)學圖像中,結果表明,文章所研究的系統(tǒng)具有更好精確度和效率。
關鍵詞:深層神經網絡;半自動;繪畫標注系統(tǒng);醫(yī)學圖像
中圖分類號:TP391.4I;TP183
文獻標識碼:A
文章編號:1001-5922( 2020)12-0028-05
深層神經網絡使得醫(yī)學圖像處理變得更加的方便和準確,其中典型的卷積神經網絡已經在醫(yī)學中具有深入應用,然而在應用過程中需要大量可靠的數(shù)據作為基礎,獲取這些數(shù)據比較困難,或者會花費大量人力和財力進行自制數(shù)據集,但是由于醫(yī)學圖像的專業(yè)性非常強,對其進行標注時難以保證其精確度,且不同專家標注的結果存在差異,所以醫(yī)學圖像標注工作比較困難[1-3]。
當前也有相關的標注工具,然而在應用過程中存在2個問題,①只支持多邊形標注,如圖1所示,其準確度就會比自由繪畫標注低很多;②沒有深入考慮醫(yī)學圖像標注工作本身具有很強的復雜性[4]。于是文章將基于深層神經網絡設計一種醫(yī)學圖像半自動繪畫標注系統(tǒng),該系統(tǒng)能夠能夠實現(xiàn)自由繪畫和多邊形繪畫標注2種模式,并且使得標注實現(xiàn)半自動化,系統(tǒng)不僅能夠提高工作效率,而且還有助于提高標注準確度。
1 系統(tǒng)設計
1.1 系統(tǒng)構架設計
圖2為醫(yī)學圖像半自動繪畫標注系統(tǒng)的整體架構,其中主要包含瀏覽器、服務器、數(shù)據可和機器學習服務。系統(tǒng)在構建時主要需要選擇3個部分,分別為客戶端、通信方式和機器學習模型??蛻舳诉x擇的是基于Web的網頁應用,這種方式的主要優(yōu)勢在于不需要進行安裝,能夠跨平臺操作,簡單方便,并且更新迭代速度比較快[5]。使用RESTful APl作為服務端和客戶端的通信方式,使用的格式為JSON,這種方式有助于計算機進行處理,而且簡潔、易于閱讀,選擇HTTPS作為通信協(xié)議,因為其安全性更高[6]。機器學習模型使用深層神經網絡中的U-Net模型,該模型的網絡形狀像U,主要有2個組成部分,分別為收縮路徑和擴展路徑[7]。文章所使用的U-Net模型具體參數(shù)如表1所示。
1.2 標注功能設計
由于文章使用的是半自動繪畫標注形式,其中包含多邊形和自由繪畫2種標注形式,這2種標注方式在使用過程中存在差別。在使用自由繪畫標注時,用戶通過控制鼠標畫出曲線進行標注,當把鼠標抬起之后就會形成一個閉合標注區(qū)域。如果在使用多邊形標注時,用戶通過點擊鼠標即可形成一個頂點,于是將多邊形的多個頂點標注出來,系統(tǒng)會自動完成上一個點和下一個點的連接工作。然而需要標注的區(qū)域中存在一個角落,如圖2所示,如果使用多邊形標注方式那么不能得到準確的區(qū)域,而本文所提出的標注方式能夠將整個區(qū)域標注出來,如圖3所示。
選擇JSON作為文件存儲位置,并且在存儲時會將一幅圖像所有的標記都存儲在JSON文件中。當用戶完成標注之后,客戶端會將該內容轉換為JSON文件,然后將存放到服務器中;當用戶需要查看圖像標注時,客戶端會去存儲地質下載JSON標注文件。該工作流程如圖4所示。
系統(tǒng)還提供了關于標注上面的快捷功能,目的在于提高圖像繪畫標注的效率,比如撤銷和反撤銷、刪除單個標注、放大縮小、調整標注等。如果標注工作僅僅只讓一個人完成,不利于標注精確度和效率,于是系統(tǒng)設置了每幅圖像能夠發(fā)布討論,即多個標注者之間可以進行互相討論,該討論含有問題、回復、發(fā)布時間和對應標注區(qū)域,每個用戶能夠發(fā)布不同的討論,有利于提高標注效率和準確度。
1.3 深層神經網絡模型訓練
完成標記的圖像達到數(shù)量之后,然后將其應用到U-Net模型中進行訓練。模型中存在輸出和輸入,首相將變形后大小相同的圖像作為輸入,然后能夠得到二值化掩膜輸出結果,將標注范圍內的像素值設置為1,于是其余的像素值就用0進行表示。模型的損失函數(shù)為交叉熵,其公式如下所示:
然后還會使用Adam優(yōu)化算法進行優(yōu)化。當用戶使用醫(yī)學圖像半自動繪畫標注系統(tǒng)時,該系統(tǒng)中的模型就會自行根據所提供的圖像進行分析和預測,對其進行繪畫標注,將該結果進行轉換為JSON文件然后反饋給用戶,然后用戶再根據該標注結果進行再次修改。于是使用該系統(tǒng)能夠提高標注者的工作效率和準確度。
2 系統(tǒng)的實現(xiàn)
為了實現(xiàn)上述醫(yī)學圖像半自動繪畫標注系統(tǒng),需要實現(xiàn)客戶端、服務器、數(shù)據庫和深層神經網絡模型。于是文章將會使用比較流行的開源技術,從而提高系統(tǒng)的穩(wěn)定性和運作效率。
2.1 客戶端的實現(xiàn)
文章使用React框架進行開發(fā)客戶端,React屬于Web頁面開發(fā)非常受歡迎的技術之一,主要在于其包含3個非常重要的核心技術,分別為響應式Ul、組件化和虛擬文檔對象模型。本系統(tǒng)的設計使用React主要有3點作用:①編寫用戶界面和邏輯,②承接服務器和用戶之間的數(shù)據交換,③處理數(shù)據的展現(xiàn)。使用React進行編寫時,使用單個頁面加載和檢索相關內容,另外,需要將單頁面掛載在DOM節(jié)點上,頁面跳轉是使用推人或者彈出頁面的方式進行。屬于單頁應用,需要在客戶端中安裝一系列路由,如表2所示的9個路由。
與服務器端進行數(shù)據交換時選擇的函數(shù)為React中的fetch函數(shù),另外,系統(tǒng)在運用過程中會存在比較頻繁使用的數(shù)據,為了實現(xiàn)狀態(tài)的持久化,將其存放在瀏覽器的LocalStorage中。
為實現(xiàn)圖像繪畫標注,使用Canvas技術,因為其中包含著JavaScript腳本,其主要作用就是創(chuàng)建動畫、繪制圖形,能夠對實時視頻進行渲染和處理。但是該技術的接口比較低級,為了解決該問題,使用fabric.js封裝過的Canvas技術進行開發(fā),由于將其屬性設置成了true,于是用戶可以在該系統(tǒng)上自由繪畫標記。上文中也提到過系統(tǒng)具有自動閉合功能,該功能的實驗也是因為使用了abric.is。于是可以實現(xiàn)標注功能。并且標注結果如圖5和圖6所示,其中圖5為標注前的工作區(qū),圖6為帶有標注和討論的工作區(qū)。