楊 波,陶青川,董沛君
四川大學(xué) 電子信息學(xué)院,成都 610065
手術(shù)器械包裝檢查是手術(shù)器械管理的關(guān)鍵[1],包裝目的是保障手術(shù)器械與用品經(jīng)過(guò)滅菌程序后,在有效期內(nèi)保持無(wú)菌性,因此包裝前應(yīng)注重器械的檢查。手術(shù)器械作為外科醫(yī)生為患者進(jìn)行手術(shù)治療的重要工具,在手術(shù)過(guò)程中不僅要求器械性能良好,器械準(zhǔn)確性和完整性也非常重要。手術(shù)器械的管理在醫(yī)療過(guò)程中具有重要地位,但是一直以來(lái),手術(shù)器械都用人工方法進(jìn)行分類管理,勞動(dòng)強(qiáng)度大,容易出現(xiàn)漏檢和錯(cuò)誤分類。
越來(lái)越多研究者關(guān)注手術(shù)器械檢測(cè)。左霖等[2]提出射頻識(shí)別技術(shù)應(yīng)用于醫(yī)療器械行業(yè),但射頻識(shí)別技術(shù)對(duì)設(shè)備要求高,成本高,實(shí)施困難且能檢測(cè)的器械種類有限。隨著計(jì)算機(jī)機(jī)器視覺(jué)發(fā)展,梅楊楊等[3]利用雙目圖像傳感器檢測(cè)微小零件,用一種改進(jìn)后的Harris算法用于特征點(diǎn)精確提取,利用歸一化互相關(guān)函數(shù)對(duì)提取的特征點(diǎn)匹配,并用RANSAC 算法對(duì)誤匹配點(diǎn)對(duì)進(jìn)行剔除最終實(shí)現(xiàn)亞像素級(jí)檢測(cè)。張夢(mèng)詩(shī)等[4]基于不同手術(shù)器械的不同邊長(zhǎng)比對(duì)各個(gè)手術(shù)器械注冊(cè)識(shí)別,其次根據(jù)識(shí)別出的結(jié)果利用前后幀的運(yùn)動(dòng)矢量實(shí)現(xiàn)對(duì)各個(gè)手術(shù)器械的實(shí)時(shí)分割檢測(cè)。但傳統(tǒng)機(jī)器視覺(jué)算法,對(duì)光照陰影敏感,易受噪聲影響且提取特征困難,進(jìn)而影響后續(xù)分割識(shí)別。
隨著近年深度學(xué)習(xí)發(fā)展,圖像目標(biāo)識(shí)別和分類應(yīng)用在實(shí)際應(yīng)用中也越來(lái)越廣泛。有許多學(xué)者將神經(jīng)網(wǎng)絡(luò)算法應(yīng)用到醫(yī)學(xué)領(lǐng)域[5-7],而手術(shù)器械領(lǐng)域卻沒(méi)有應(yīng)用到深度學(xué)習(xí),主要原因可能是采集樣本制作數(shù)據(jù)集需要耗費(fèi)大量的人力和成本。而在實(shí)現(xiàn)手術(shù)器械自動(dòng)化管理過(guò)程中,由于包裝盒和手術(shù)器械背景顏色極其相似,現(xiàn)實(shí)環(huán)境中還存在光照不均且可能有陰影遮擋等情況存在,這些因素導(dǎo)致手術(shù)器械檢測(cè)難以實(shí)現(xiàn)。深度學(xué)習(xí)方法,可以直接將圖像作為網(wǎng)絡(luò)的輸入,自學(xué)習(xí)提取重要特征,對(duì)光照與旋轉(zhuǎn)有一定的抗性,并且對(duì)圖片的變形,如平移、比例縮放、傾斜等,具有高度不變形,算法適應(yīng)性強(qiáng)。
綜上,本文提出了一種基于注意力機(jī)制和密集深度分離卷積手術(shù)器械分割算法,目的在于促進(jìn)手術(shù)器械裝包檢查智能化發(fā)展,進(jìn)一步服務(wù)于醫(yī)療領(lǐng)域。
文中手術(shù)器械分割方法主要基于改進(jìn)的Deeplab v3+網(wǎng)絡(luò),首先采集圖像并進(jìn)行樣本擴(kuò)充,利用labelme制作樣本標(biāo)簽建立手術(shù)器械數(shù)據(jù)集,然后將整個(gè)數(shù)據(jù)集作為輸入到改進(jìn)后網(wǎng)絡(luò)進(jìn)行訓(xùn)練,當(dāng)損失值收斂到一定程度時(shí),停止訓(xùn)練。最后在線分割過(guò)程時(shí),用部署好的攝像頭采集RGB 圖像,利用訓(xùn)練好的網(wǎng)絡(luò)模型得到手術(shù)器械預(yù)測(cè)分割結(jié)果。具體流程圖如圖1所示。
圖1 算法流程圖
Deeplab v3+是谷歌2018年開(kāi)發(fā)的一種最新用于語(yǔ)義分割典型網(wǎng)絡(luò)框架[8]。Deeplab v3+模型核心思想是利用端到端的訓(xùn)練方式,網(wǎng)絡(luò)以Xception[9]和ASPP[10]模塊作為編碼端提取特征,其中Xception 為含輸入流,中間流和輸出流的DCNN 網(wǎng)絡(luò),ASPP 則為含多個(gè)空洞卷積擴(kuò)張率的多尺度金字塔特征提取模塊。解碼端以一個(gè)較為簡(jiǎn)易的合并上采樣模塊預(yù)測(cè)輸出分割結(jié)果,融合Xception輸入流模塊1輸出低層特征和編碼端輸出高層特征再進(jìn)行雙線性插值上采樣,能用較少的訓(xùn)練集得到較好的訓(xùn)練分割效果。模型采用了深度分離卷積方式提高編碼-解碼網(wǎng)絡(luò)的運(yùn)行速率和健壯性,利用空洞卷積[11]代替?zhèn)鹘y(tǒng)卷積方式,擴(kuò)大感受野獲取更多的上下文信息來(lái)解決降采樣導(dǎo)致輸出特征分辨率較小的問(wèn)題,以遠(yuǎn)程連接方式將低層特征信息和高層特征信息融合。低層特征信息含有更多的邊緣信息,有利于提高訓(xùn)練精度,高層特征信息提取更復(fù)雜特征,解碼端通過(guò)雙線性插值上采樣的方式恢復(fù)目標(biāo)細(xì)節(jié)信息和空間維度。但該網(wǎng)絡(luò)由于編碼模塊在訓(xùn)練過(guò)程中逐漸縮減輸入數(shù)據(jù)的空間維度導(dǎo)致有用信息丟失,在解碼時(shí)不能很好實(shí)現(xiàn)細(xì)節(jié)恢復(fù)。
一般認(rèn)為特征圖譜的每個(gè)通道上是同等重要的,并沒(méi)有區(qū)分各個(gè)通道的重要程度性,SENet就是通過(guò)自學(xué)習(xí)方式來(lái)學(xué)習(xí)每個(gè)特征通道的重要程度,然后根據(jù)這個(gè)重要性來(lái)增加有用特征和抑制用處不大的特征權(quán)重,聚焦于有用特征通道重要性權(quán)重的學(xué)習(xí),加強(qiáng)有用特征的傳播能力來(lái)提高網(wǎng)絡(luò)模型泛化能力。
CBAM(Convolutional Block Attention Module)是卷積模塊的注意力機(jī)制模塊。在SENet 的通道基礎(chǔ)上提出再結(jié)合空間維度信息,既考慮通道特征相關(guān)性又考慮空間像素特征相關(guān)性[12]。CBAM具體結(jié)構(gòu)圖如圖2所示。CBAM模塊分為兩個(gè)過(guò)程,通道注意力機(jī)制映射過(guò)程和空間注意力機(jī)制映射過(guò)程[13]。
(1)通道注意力機(jī)制模塊主要關(guān)注有用特征,采用并行的全局最大池化和全局平均池化兩種池化方式對(duì)輸入特征圖進(jìn)行空間維度壓縮分別得到背景描述Fcmax和Fcavg,經(jīng)多層感知機(jī)MLP 組成的共享網(wǎng)絡(luò)計(jì)算相加進(jìn)行sigmoid函數(shù)最終獲得通道注意力機(jī)制映射特征圖Mc∈RC×1×1,具體計(jì)算過(guò)程如下式所示:
式中,F(xiàn)表示輸入特征圖,σ表示sigmoid 操作,r表示減少率,W0∈RC/r×C,W1∈RC×r/C。
圖2 CBAM模塊結(jié)構(gòu)
圖3 嵌入CBAM的分離卷積模塊
(2)空間注意力機(jī)制模塊主要關(guān)注像素位置信息。將得到的通道特征圖作為本模塊的輸入特征圖,做基于通道的全局最大池化和全局平均池化得到特征描述Fmsax和Fasvg,并將兩個(gè)特征圖合并,經(jīng)一個(gè)卷積操作降維到1通道,最后經(jīng)sigmoid函數(shù)最終獲得空間注意力機(jī)制映射特征圖Mc∈RH×W,具體計(jì)算過(guò)程如下式所示:
式中,f7×7表示卷積核為7×7,σ 表示sigmoid函數(shù)。
在Deeplab v3+原網(wǎng)絡(luò)上訓(xùn)練手術(shù)器械數(shù)據(jù)集,雖然能分割出手術(shù)器械和背景,但效果一般。在可視化圖中發(fā)現(xiàn)分割手術(shù)器械邊緣存在不平滑,細(xì)節(jié)不夠明顯的問(wèn)題。究其原因,在編碼模塊時(shí)卷積下采樣中導(dǎo)致圖像有用信息丟失,包括了一些邊緣細(xì)節(jié),點(diǎn)、線、面及簡(jiǎn)單的幾何圖形信息。而高層卷積提取的特征圖越小,得到的特征越抽象。在上采樣過(guò)程中不能彌補(bǔ)信息的丟失。為了提高網(wǎng)絡(luò)的分割性能,改善由于逐層卷積下采樣導(dǎo)致的信息丟失導(dǎo)致解碼模塊上采樣后得到邊緣細(xì)節(jié)細(xì)節(jié)不佳的問(wèn)題,由此本文在原Deeplab v3+網(wǎng)絡(luò)框架上做了以下改進(jìn):
1.4.1 嵌入注意力機(jī)制模塊
在編碼模塊中,將SENet 和CBAM 模塊嵌入到Deeplab v3+的特征提取主干網(wǎng)絡(luò)Xception 輸入流,中間流和輸出流,在每個(gè)分離卷積模塊間嵌入注意力機(jī)制模塊。以嵌入CBAM 模塊到Xception 中間流的一個(gè)分離卷積模塊為例,如圖3 所示,原分離卷積模塊只是采用ResNet 結(jié)構(gòu)連接方式,黑色虛線部分為增加的CBAM模塊。在通道注意力機(jī)制中,以深度分離卷積特征圖3×3×728為輸入特征圖,首先經(jīng)兩個(gè)全局池化得到池化特征圖1×1×728,緊接著為兩個(gè)全連接層,這里r減少率設(shè)置為14,設(shè)置兩個(gè)全連接層是為了增加模型的非線性,得到更加豐富抽象的特征,最后將全連接層輸出層相加經(jīng)過(guò)sigmoid 函數(shù)得到通道注意力機(jī)制特征圖,再與原分離卷積特征圖相乘得到通道重標(biāo)定特征圖3×3×728。在空間注意力機(jī)制中,利用重標(biāo)定特征圖作為空間注意力機(jī)制的輸入,經(jīng)全局通道池化將通道壓縮成一維,再將兩個(gè)池化特征圖合并,通道數(shù)變?yōu)?,最后經(jīng)一個(gè)7×7大小的卷積核和sigmoid函數(shù)得到空間注意力機(jī)制特征圖,再與重標(biāo)定圖相乘得到空間重標(biāo)定的特征圖作為模塊輸出。
1.4.2 密集連接方式
原網(wǎng)絡(luò)特征提取網(wǎng)絡(luò)中間流數(shù)據(jù)部分占據(jù)網(wǎng)絡(luò)約一半?yún)?shù)量,每個(gè)分離卷積模塊由基于殘差連接的3個(gè)分離卷積層組成,共8 個(gè)分離卷積模塊,24 個(gè)分離卷積層,為了充分利用中間層特征和加快訓(xùn)練時(shí)的收斂速度和減少冗余運(yùn)算,本文提出密集深度分離卷積網(wǎng)絡(luò)。
設(shè)Xl-1為上層的特征圖輸出,hl為對(duì)分離卷積特征圖做非線性變換,對(duì)于傳統(tǒng)直連方式,第l 層輸出為:
如果采用原網(wǎng)絡(luò)殘差方式連接,則表示為:
本文提出的密集連接網(wǎng)絡(luò)與殘差方式相比,增加旁路和復(fù)用特征,將前面所有層輸出特征圖做通道合并,提高網(wǎng)絡(luò)訓(xùn)練精度,有利于減少冗余計(jì)算,加快收斂時(shí)間。輸出表示為:
改進(jìn)后的中間流模塊如圖4所示。
圖4 中間流改進(jìn)前后分離卷積模塊
1.4.3 多尺度空間融合
在解碼模塊中,原Deeplab v3+僅用輸入流模塊1輸出分辨率為原圖1/4大小的低層特征圖和編碼模塊輸出的高層特征圖合并,再上采樣×4 為原圖分辨率,這樣上采樣后的結(jié)果很粗糙。僅單層次提取目標(biāo)特征易導(dǎo)致小目標(biāo)丟失或大目標(biāo)特征提取冗余,分類算法效果差,因此要引入多尺度特征融合網(wǎng)絡(luò)結(jié)構(gòu),引入低層特征,使用融合不同躍層的特征進(jìn)行結(jié)果分類。低層特征含豐富的邊緣特征信息,有利于提升分割精度,而高層卷積提取的特征圖越小,得到的特征越抽象,單一尺度特征在上采樣過(guò)程中不能彌補(bǔ)重要特征信息的丟失。改進(jìn)網(wǎng)絡(luò)增在原基礎(chǔ)上采用FCNs網(wǎng)絡(luò)skip-net結(jié)構(gòu),增加輸入流模塊2的輸出和模塊3輸出兩個(gè)不同尺度低層特征輸出,如圖5黑色虛線所示,分別×2和×4上采樣再和模塊1輸出合并,最后與編碼端輸出特征圖合并再進(jìn)行雙線性插值×4上采樣。將不同尺度特征提取層的結(jié)果進(jìn)行上采樣,保留了更多重要特征信息,減少網(wǎng)絡(luò)逐層卷積丟失信息,提高分割精確度。
本文實(shí)驗(yàn)由于沒(méi)有公開(kāi)的手術(shù)器械圖像數(shù)據(jù)集,因此利用固定支架用相機(jī)定點(diǎn)角度從上往下拍攝手術(shù)包裝盒里手術(shù)器械,隨后人工制作語(yǔ)義分割標(biāo)簽得到數(shù)據(jù)集。為了得到更強(qiáng)泛化能力的模型和分割精度,防止因數(shù)據(jù)樣本過(guò)少導(dǎo)致的欠擬合問(wèn)題,本文采用旋轉(zhuǎn)、翻轉(zhuǎn)等操作及提高或降低對(duì)比度和亮度來(lái)模擬不同光照?qǐng)鼍暗确椒ㄟM(jìn)行擴(kuò)充數(shù)據(jù)集,總共2 140張圖像,從中隨機(jī)抽取1 720張作為訓(xùn)練集,420張圖像為驗(yàn)證集。
本文研究針對(duì)手術(shù)器械數(shù)據(jù)集進(jìn)行分割性能評(píng)估,實(shí)驗(yàn)選取均交并比(MIoU)、像素精度(PA)、召回率(Recall)及F值等指標(biāo)評(píng)價(jià)網(wǎng)絡(luò)分割性能,其中MIoU為語(yǔ)義分割實(shí)驗(yàn)中最常用的度量指標(biāo)[14-16]。其取值為先計(jì)算每類上真實(shí)值和預(yù)測(cè)值兩個(gè)集合交集與并集的比值,再求所有類別交并比的平均值,即均交并比。
式中,共有K+1 個(gè)類(本文K 為1,n0為背景,n1為手術(shù)器械),pii為預(yù)測(cè)類i 正確的像素?cái)?shù)量,pij為被預(yù)測(cè)為i 類的像素總量,pji分別表示假正(預(yù)測(cè)為1,真實(shí)為0)和假負(fù)(預(yù)測(cè)為0,真實(shí)為1)。
PA為每類正確分類的像素占標(biāo)記為所屬分類像素總量的比例,即像素精度,具體見(jiàn)下式:
召回率反映真實(shí)標(biāo)簽為手術(shù)器械的樣本被正確分割的比例,衡量了分割手術(shù)器械區(qū)域的完整性:
式(10)中,TP 表示真實(shí)標(biāo)簽為手術(shù)器械且被分割為手術(shù)器械的像素個(gè)數(shù),F(xiàn)P 表示真實(shí)標(biāo)簽為背景但被分割為手術(shù)器械的像素個(gè)數(shù),F(xiàn)N 表示真實(shí)標(biāo)簽為手術(shù)器械但被分割為背景的像素個(gè)數(shù)。
理想中,精度和召回率越高越好,但由于精度和召回率相互制約,一般情況下,往往精度和召回率呈負(fù)相關(guān),考慮召回率和精度的平衡指標(biāo),兼顧分割的精準(zhǔn)程度和完整性,引入F 值,F(xiàn) 值越高分割效果越好。
文中軟件實(shí)驗(yàn)環(huán)境為目前深度學(xué)習(xí)的主流配置,實(shí)驗(yàn)過(guò)程中使用TensorFlow1.11.0、cuda9.0、python3.6、Win10;硬件實(shí)驗(yàn)環(huán)境采用GPU 顯卡為NVIDIA GTX 1080TI,內(nèi)存8 GB,i5-6500處理器。
2.3.1 實(shí)驗(yàn)參數(shù)設(shè)置
本文實(shí)驗(yàn)采用動(dòng)量因子設(shè)為0.9的帶動(dòng)量梯度下降方法訓(xùn)練網(wǎng)絡(luò),為了保證模型的非線性,更好地挖掘相關(guān)特征擬合訓(xùn)練數(shù)據(jù),卷積層采用ReLU 作為激活函數(shù),由于硬件內(nèi)存限制,batchsize 設(shè)置為4,為了保證網(wǎng)絡(luò)學(xué)習(xí)時(shí)的效率,學(xué)習(xí)速率初始值設(shè)為0.01,全局訓(xùn)練步長(zhǎng)設(shè)置為20萬(wàn)步。
2.3.2 網(wǎng)絡(luò)訓(xùn)練結(jié)果
本文實(shí)驗(yàn)網(wǎng)絡(luò)訓(xùn)練結(jié)果如圖6,Deeplab v3+、嵌入SENet 模塊和CBAM 模塊的損失值隨迭代次數(shù)變化過(guò)程,紅色為Deeplab v3+,藍(lán)色為SENet_Deeplab v3+,黑色為CBAM_Deeplab v3+,三者損失值隨步長(zhǎng)增加逐漸趨于穩(wěn)定,而CBAM_Deeplab v3+收斂速度最快,這是由于CBAM 模塊有效結(jié)合空間和通道維度,重標(biāo)定中間特征的內(nèi)容和位置和中間流密集連接方式加強(qiáng)特征傳播,使得網(wǎng)絡(luò)冗余計(jì)算量減少,收斂更快。
圖6 網(wǎng)絡(luò)訓(xùn)練結(jié)果曲線
2.3.3 分割性能對(duì)比
對(duì)比實(shí)驗(yàn)中,利用平臺(tái)固定好的工業(yè)相機(jī)拍攝新的手術(shù)器械圖片,且每張圖片都包含各類手術(shù)器械及手術(shù)包裝盒背景。本文實(shí)驗(yàn)中對(duì)比了編碼端嵌入SENet 和CBAM 模塊對(duì)手術(shù)器械分割的影響,由表1 可以看出,添加了注意力機(jī)制模塊的SENet_Deeplab v3+和CBAM_Deeplab v3+的MIoU、F 值在原網(wǎng)絡(luò)基礎(chǔ)上有明顯提升。在Deeplab v3+上嵌入輕量級(jí)注意力機(jī)制CBAM模塊,相較原網(wǎng)絡(luò)以較小參數(shù)量代價(jià)顯著提升了模型分割準(zhǔn)確率,提高了網(wǎng)絡(luò)性能。
表1 不同注意力機(jī)制模塊性能比較
為了驗(yàn)證中間流改進(jìn)方式有效性,本文在原網(wǎng)絡(luò)上比較了不同連接方式的分割性能,如表2所示。
表2 中間流不同連接方式性能比較
從表2中可以看出,采用殘差或密集的方式都能提高像素分類的準(zhǔn)確度和分割性能,本文提出的殘差+密集的連接方式在性能表現(xiàn)方面最優(yōu)。
為了證明分割有效性,選取主流語(yǔ)義分割網(wǎng)絡(luò)PSPNet、Segnet、Unet、Deeplab v3+和本文算法做實(shí)驗(yàn)對(duì)比。利用相同數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò),以及訓(xùn)練好的不同網(wǎng)絡(luò)進(jìn)行對(duì)比分割實(shí)驗(yàn),部分預(yù)測(cè)結(jié)果圖如圖7所示。依據(jù)表3,從本文提出的4 個(gè)指標(biāo)來(lái)看,Unet、Segnet 和PSPNet 分割性能差距不大,PSP-Net 在性能指標(biāo)上略有優(yōu)勢(shì),Deeplab v3+網(wǎng)絡(luò)與Unet、SegNet 和PSP-Net 相比分割性能有明顯提高,而本文算法在MIoU、PA、Recall 和F 值方面表現(xiàn)更為突出,分別為0.854,0.874,0.872 和0.873。實(shí)驗(yàn)數(shù)據(jù)證明,本文網(wǎng)絡(luò)相對(duì)其他網(wǎng)絡(luò)在手術(shù)器械分割性能上更具有優(yōu)勢(shì)。
圖7 不同分割網(wǎng)絡(luò)預(yù)測(cè)對(duì)比圖
表3 不同分割網(wǎng)絡(luò)性能比較
本文提出了一種基于注意力機(jī)制和密集深度分離卷積的手術(shù)器械分割算法。網(wǎng)絡(luò)模型在編碼端嵌入注意力機(jī)制模塊和密集分離卷積特征提取網(wǎng)絡(luò)逐漸縮減輸入數(shù)據(jù)的空間維度提取特征,解碼端增加不同尺度低層特征并融合高層特征信息逐步恢復(fù)目標(biāo)細(xì)節(jié)信息和相應(yīng)的空間維度,最終得到手術(shù)器械分割預(yù)測(cè)圖。實(shí)驗(yàn)結(jié)果證明,相對(duì)于其他算法,本文算法在手術(shù)器械分割任務(wù)上有更高的分割準(zhǔn)確精度,能實(shí)現(xiàn)對(duì)手術(shù)器械的準(zhǔn)確分割。本文算法雖提升了分割精度,但密集連接方式和嵌入注意力機(jī)制模塊增加了參數(shù),降低了分割實(shí)時(shí)性。今后,為提高模型實(shí)時(shí)性,將進(jìn)一步精簡(jiǎn)分割模型,為手術(shù)器械包裝管理及自動(dòng)化識(shí)別提供新的測(cè)量工具。