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