袁 哲,張春堂
(青島科技大學(xué) 自動(dòng)化與電子工程學(xué)院,山東 青島 266061)
在超聲引導(dǎo)的穿刺手術(shù)過(guò)程中,準(zhǔn)確判斷超聲影像中穿刺針的位置是非常重要的一環(huán)[1]。由于微創(chuàng)手術(shù)中使用的穿刺針通常較細(xì),所以影像中的穿刺針目標(biāo)小,容易受偽影干擾,醫(yī)生很難及時(shí)判斷穿刺針的行進(jìn)路徑以及到達(dá)位置,一旦判斷有誤則會(huì)引起嚴(yán)重的醫(yī)療事故。傳統(tǒng)的穿刺針位置判斷主要依靠臨床醫(yī)生的個(gè)人經(jīng)驗(yàn),對(duì)醫(yī)生的專業(yè)性要求很高。因此,為了提高手術(shù)成功率和效率,在超聲影像中自動(dòng)地實(shí)時(shí)檢測(cè)穿刺針的位置十分必要。
目前穿刺針檢測(cè)和定位方法可分為基于硬件的方法和基于軟件的方法?;谟布姆椒ㄖ饕姶鸥橻2]、光學(xué)跟蹤[3]和針尖嵌入傳感器[4-5]?;谟布姆椒ǔ杀鞠鄬?duì)較高,而且對(duì)使用環(huán)境要求苛刻?;谲浖姆椒òㄈS超聲[6]、基于投影[7]和直線檢測(cè)[8]等方法,這些方法依賴針體和針頭在影像中的清晰度,檢測(cè)速度較慢,一旦針體和針頭在影像中的呈現(xiàn)質(zhì)量較差,這些方法就變得不可靠。
近年來(lái),隨著深度學(xué)習(xí)的快速發(fā)展,將深度學(xué)習(xí)目標(biāo)檢測(cè)算法應(yīng)用于穿刺針的檢測(cè)已成為主要趨勢(shì)。M. Arif 等人開(kāi)發(fā)了一種基于簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)的實(shí)時(shí)檢測(cè)針尖方法,然而該方法對(duì)運(yùn)動(dòng)偽影的魯棒性較差,而且不能檢測(cè)針體[9];Gao Jun 等人提出了一種新的基于深度學(xué)習(xí)和波束偏轉(zhuǎn)的穿刺針定位與增強(qiáng)算法,該方法提高了穿刺針的檢測(cè)精度,增強(qiáng)了針體的可視化[10]。但是該方法算法較為復(fù)雜,處理時(shí)間相對(duì)較長(zhǎng),在含有其他偽影干擾的情況下,檢測(cè)表現(xiàn)不佳且很難定位穿刺針較短的目標(biāo);Xu 等人提出了一種新的二維超聲圖像中穿刺針的檢測(cè)算法。該方法首先通過(guò)濾波抑制了超聲影像中的散斑,然后利用MLESAC 算法迭代對(duì)針軸位置進(jìn)行識(shí)別和分割,最后在圖像中給出了穿刺針的路徑[11]。該方法并沒(méi)有把針體和針頭區(qū)分開(kāi),也不能很好地輔助臨床醫(yī)生判斷針的位置。
雖然有很多學(xué)者將深度學(xué)習(xí)的方法應(yīng)用于穿刺針的檢測(cè),但大多數(shù)都是在以R-CNN[12-13]為代表的雙階段檢測(cè)算法基礎(chǔ)上進(jìn)行研究的,存在精確率低、魯棒性差的問(wèn)題。以SSD[14]、YOLO[15]等為代表的一階段檢測(cè)算法在穿刺針檢測(cè)的應(yīng)用研究較少。在目標(biāo)檢測(cè)中,YOLO系列算法是應(yīng)用最廣泛的算法,它將整個(gè)圖像作為網(wǎng)絡(luò)的輸入,直接在輸出層對(duì)BBox 的位置和類(lèi)別進(jìn)行回歸,在很多目標(biāo)檢測(cè)的應(yīng)用上,YOLO 的檢測(cè)速度和精度都有很好的表現(xiàn)[16]。
因此,本文提出了一種基于YOLOv5s[17]的穿刺針檢測(cè)方法,并在5 種組織器官的穿刺超聲影像數(shù)據(jù)集上進(jìn)行檢測(cè)實(shí)驗(yàn)。結(jié)果表明,該方法即使在穿刺針目標(biāo)較短和存有較多偽影以及散斑的超聲影像中,也能實(shí)時(shí)、精確地檢測(cè)出穿刺針,魯棒性好,能夠達(dá)到輔助醫(yī)生判斷穿刺針位置的要求,進(jìn)而提高手術(shù)效率。
目前YOLO 系列算法中應(yīng)用最多的是YOLOv5,根據(jù)模型大小,它可分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四種,其網(wǎng)絡(luò)結(jié)構(gòu)相同,網(wǎng)絡(luò)深度和特征圖的寬度依次增加,因此檢測(cè)精度會(huì)逐漸提升,但是推理速度依次變慢。由于穿刺針檢測(cè)對(duì)實(shí)時(shí)性的要求較高,因此本文采用YOLOv5s 作為目標(biāo)檢測(cè)模型。YOLOv5s 模型結(jié)構(gòu)如圖1 所示。
圖1 YOLOv5s 模型結(jié)構(gòu)
Backbone 作為網(wǎng)絡(luò)的主干部分,包括卷積模塊(CBS)、C3 模塊和SPPF 三種模塊。一個(gè)CBS 模塊由Conv2d+Batch Normalization+sigmoid linear unit 共同組成,依次對(duì)輸入進(jìn)行二維卷積、正則化操作和激活操作;C3 模塊是由CBS 模塊與殘差結(jié)構(gòu)模塊構(gòu)成,殘差結(jié)構(gòu)模塊的輸入經(jīng)過(guò)兩次卷積模塊,與原值進(jìn)行加運(yùn)算,在不增加輸出深度的情況下完成殘差特征轉(zhuǎn)移;SPPF 模塊首先對(duì)輸入串行采用3 個(gè)多尺度的最大池化模塊,然后進(jìn)行多尺度融合,最終將輸出恢復(fù)到同輸入大小一致。
Neck 部分采用FPN[18]+PAN[19]的結(jié)構(gòu),具有自上而下、自下而上的特征融合特點(diǎn),把Backbone 輸出的特征信息進(jìn)行上采樣與高層特征信息進(jìn)行融合,再進(jìn)行下采樣聚合淺層的特征信息,豐富了圖像特征信息。
Head 部分同時(shí)輸出三個(gè)尺度的預(yù)測(cè)圖,分別適用于檢測(cè)小、中、大目標(biāo)。以GIoU_loss 作為圖像邊界框回歸的損失函數(shù),然后通過(guò)非極大抑制(NMS)對(duì)產(chǎn)生的目標(biāo)框進(jìn)行篩選,最終輸出置信度最高的預(yù)測(cè)類(lèi)別,并返回邊框坐標(biāo)。
在神經(jīng)網(wǎng)絡(luò)訓(xùn)練的過(guò)程中,模型的優(yōu)化算法選擇直接關(guān)系到最終模型的性能,以及是否能夠使模型快速尋找最優(yōu)解。目前YOLOv5 中常用的優(yōu)化算法為隨機(jī)梯度下降算法(SGD)和自適應(yīng)學(xué)習(xí)Adam 算法。本文在YOLOv5s 中分別使用以上兩種算法,并通過(guò)實(shí)驗(yàn)分析兩者對(duì)模型性能的影響,選擇最優(yōu)算法。
因?yàn)閿?shù)據(jù)特殊,沒(méi)有公開(kāi)數(shù)據(jù)集,所以在超聲科影像醫(yī)師的指導(dǎo)下,分別在牛肉、豬肝、豬肉、豬心、豬腎上模擬人體穿刺手術(shù),獲得超聲影像數(shù)據(jù)。為了盡量模擬手術(shù)中的穿刺方向,從不同角度用穿刺針?lè)謩e在這5 種組織器官中進(jìn)行穿插,最后從每一個(gè)組織器官的穿刺超聲影像中選取500 張超聲影像,一共2 500 張圖像。此外,為了保證樣本的多樣性,以及滿足深度學(xué)習(xí)大量訓(xùn)練樣本的需求,增加模型泛化能力,采用隨機(jī)縮放翻轉(zhuǎn)、亮度增強(qiáng)、對(duì)比度增強(qiáng)的方式進(jìn)行數(shù)據(jù)增強(qiáng),一共得到5 000 張超聲影像。5 種組織器官的穿刺超聲影像示例如圖2 所示。按照4∶1 的比例將數(shù)據(jù)集分為訓(xùn)練集(4 000 張)和測(cè)試集(1 000 張),然后使用Labelimg 軟件包對(duì)圖像中的穿刺針進(jìn)行標(biāo)注,類(lèi)別標(biāo)簽為needle、needlebody,分別表示針頭和針體兩類(lèi)目標(biāo)。
圖2 不同組織器官的穿刺影像示例
本文訓(xùn)練環(huán)境與測(cè)試環(huán)境同為Windows 11 操作系統(tǒng),處理器為英特爾i5-12400F,顯卡為NVIDIA GeForce GTX 3060,顯存為12 GB,運(yùn)行內(nèi)存為16 GB。使用Pycharm 編譯軟件,深度學(xué)習(xí)框架為Pytorch 1.7.1,解釋器為Anaconda Python 3.8,YOLOv5s 的版本為6.0。
YOLOv5s 網(wǎng)絡(luò)模型訓(xùn)練階段,使用YOLOv5 COCO數(shù)據(jù)集上的預(yù)訓(xùn)練模型權(quán)重進(jìn)行初始化,并采用模型優(yōu)化算法進(jìn)行網(wǎng)絡(luò)參數(shù)更新。Batchsize 設(shè)置為16,最大迭代次數(shù)設(shè)置為150,初始學(xué)習(xí)率為0.01,并使用余弦退火(Cosine Annealing)實(shí)時(shí)調(diào)整學(xué)習(xí)率,動(dòng)量因子設(shè)為0.937,置信度閾值設(shè)為0.45,非極大抑制閾值設(shè)為0.25。
訓(xùn)練時(shí),對(duì)YOLOv5s 模型分別采用SGD 和Adam 優(yōu)化算法,在迭代過(guò)程中,模型最終都會(huì)達(dá)到收斂,但是用SGD 算法的模型平均精度均值(mAP)相對(duì)較高,因此,本文給出SGD 優(yōu)化算法的模型損失值和mAP 隨迭代周期的變化情況,如圖3、圖4 所示。
圖3 損失函數(shù)值變化曲線
圖4 mAP 值變化曲線
由圖3、圖4 可知,模型在迭代周期100 次以后損失值下降逐漸平緩,mAP 也逐漸趨于穩(wěn)定,保持在97%左右,且模型沒(méi)有出現(xiàn)欠擬合和過(guò)擬合現(xiàn)象,因此認(rèn)為模型已經(jīng)達(dá)到穩(wěn)定收斂。
為了驗(yàn)證本文所使用的優(yōu)化算法的性能,本次實(shí)驗(yàn)與Adam 優(yōu)化算法做比較,以精確度(P)、召回率(R)和mAP 為評(píng)價(jià)指標(biāo),測(cè)試結(jié)果如表1 和表2 所示。
表1 YOLOv5s+SGD 模型檢測(cè)結(jié)果 %
表2 YOLOv5s+Adam 模型檢測(cè)結(jié)果 %
從表1 和表2 可以看出:對(duì)于needlebody 針體檢測(cè),YOLOv5s+SGD 模型在精確度、召回率和mAP 上比YOLOv5s+Adam 模型分別高0.3%、0.2%和0.1%;對(duì)于needle 針頭檢測(cè),在精確度、召回率和mAP 上比YOLOv5s+Adam 模型分別高1.7%、2.8%和0.4%。
兩種模型在不同組織器官中的超聲影像穿刺針檢測(cè)效果分別如圖5~圖9 所示。
圖5 牛肉中不同優(yōu)化算法檢測(cè)效果對(duì)比圖
圖6 豬肉中不同優(yōu)化算法檢測(cè)效果對(duì)比圖
圖7 豬肝中不同優(yōu)化算法檢測(cè)效果對(duì)比圖
圖8 豬腎中不同優(yōu)化算法檢測(cè)效果對(duì)比圖
圖9 豬心中不同優(yōu)化算法檢測(cè)效果對(duì)比圖
通過(guò)圖5~圖9 中模型檢測(cè)精確度可以看出,本文所提的YOLOv5s+SGD 模型在不同組織器官中對(duì)穿刺針的檢測(cè)效果明顯高于YOLOv5s+Adam 模型。因此,本文所選的SGD 優(yōu)化算法更適合穿刺針的精確檢測(cè)。
為了驗(yàn)證本文所提模型算法的有效性,用該模型與其他基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法進(jìn)行比較分析,主要與Faster-RCNN、SSD、YOLOv3 和YOLOv4 這四種算法對(duì)比。同時(shí)為了驗(yàn)證該模型在YOLOv5 系列中的精度水平,與YOLOv5 系列中在公共數(shù)據(jù)集上檢測(cè)精度最高的YOLOv5x 做比較。本次對(duì)比實(shí)驗(yàn)采用mAP、檢測(cè)速度及訓(xùn)練時(shí)間這3 個(gè)參數(shù)對(duì)模型性能進(jìn)行綜合評(píng)價(jià),對(duì)比實(shí)驗(yàn)結(jié)果如表3 所示。不同檢測(cè)模型對(duì)不同長(zhǎng)度穿刺針的檢測(cè)效果分別如圖10~圖12 所示,圖上的數(shù)值為模型檢測(cè)得出的精確度。
表3 不同檢測(cè)模型性能比較
圖10 較短穿刺針的檢測(cè)效果對(duì)比
圖11 中等穿刺針的檢測(cè)效果對(duì)比
圖12 較長(zhǎng)穿刺針的檢測(cè)效果對(duì)比
由 表3 可 知:本 文 模 型 與Faster-RCNN、SSD、YOLOv3、YOLOv4 模型相比,mAP 分別提高了47.65%、49.4%、4.4%、7.4%;檢測(cè)速度上分別提高了118 f/s、50 f/s、90 f/s 和90 f/s;訓(xùn)練時(shí)間分別節(jié)省了5 h、4 h、3 h 和4 h;與YOLOv5x 模型相比,兩者mAP 只相差1.9%,但是在檢測(cè)速度和訓(xùn)練時(shí)間上,本文模型的性能遠(yuǎn)遠(yuǎn)高于YOLOv5x。
從圖10~圖12 檢測(cè)結(jié)果可知:在不同長(zhǎng)度穿刺針檢測(cè)中,YOLOv3、本文模型與YOLOv5x都能較準(zhǔn)確地檢測(cè)到針體和針頭,但是YOLOv3 檢測(cè)精度相對(duì)較低;YOLOv4、SSD 與Faster-RCNN 都存在漏檢的情況,而且Faster-RCNN 還存在誤判的情況;本文模型的檢測(cè)效果均優(yōu)于YOLOv4、YOLOv3、SSD 和Faster-RCNN,此外,本文模型與檢測(cè)精度最高的YOLOv5x相比,最大誤差不超過(guò)0.1。綜上分析,對(duì)模型平均精度和檢測(cè)速度權(quán)衡以后,本文選擇的YOLOv5s目標(biāo)檢測(cè)算法在所有對(duì)比算法中表現(xiàn)最優(yōu),可以快速準(zhǔn)確地識(shí)別不同組織器官中的穿刺針,能滿足穿刺手術(shù)中對(duì)穿刺針實(shí)時(shí)檢測(cè)的需求。
本文提出一種基于YOLOv5s 目標(biāo)檢測(cè)模型,實(shí)現(xiàn)對(duì)超聲影像中的穿刺針實(shí)時(shí)檢測(cè)。經(jīng)過(guò)與不同模型算法的實(shí)驗(yàn)對(duì)比得出,采用YOLOv5s 作為穿刺針目標(biāo)檢測(cè)模型具有檢測(cè)速度快、精確度高的優(yōu)點(diǎn),有利于輔助臨床醫(yī)生在手術(shù)過(guò)程中判斷針體和針頭的位置。本文實(shí)驗(yàn)所使用的數(shù)據(jù)集都是用動(dòng)物組織器官模擬穿刺手術(shù)得到的,可能會(huì)有一些特征與真實(shí)的人體穿刺超聲影像不符,所以進(jìn)一步研究將在活體的人體組織上進(jìn)行試驗(yàn)驗(yàn)證,并且改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),從而提高檢測(cè)精度和速度。