周衛(wèi)元,武坤秀,張 拓,毛 嚴(yán),武佳男,毛科技,何文秀
(1.浙江開放大學(xué),蕭山學(xué)院,浙江 杭州 312000;2.浙江工業(yè)大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023;3.浙江工業(yè)大學(xué)之江學(xué)院,浙江 紹興 312030)
評估兒童和青少年發(fā)育情況,骨齡是重要依據(jù)[1]。 通過評估骨齡在不同階段的不同發(fā)育形態(tài),對診斷和治療生長障礙相關(guān)疾病起輔助作用。 此外,我們可以使用骨齡來預(yù)測兒童的身高,來了解兒童的身高發(fā)展?fàn)顩r。 由于手腕部集中了大量的長骨、短骨和圓骨,反映了全身骨骼生長和成熟狀況,且方法簡便,結(jié)論準(zhǔn)確,所以利用專業(yè)設(shè)備拍攝的手腕部X 光片在骨齡評估領(lǐng)域中最為常用。 計分法和圖譜法是評估骨齡最常用的方法。 由于采用中國兒童青少年的骨齡評估方法——CHN(Chinese Wrist Bone Development Standard)方法評估得到的骨齡來對身高進(jìn)行預(yù)測是目前預(yù)測我國兒童身高最準(zhǔn)確的方法之一,所以本文針對參與CHN 法骨齡評估的參照骨進(jìn)行感興趣區(qū)域提取,CHN 法評估骨齡首先需要評估圖1 所示的X 光片中14 塊參照骨的成熟度發(fā)育等級,并為每塊參照骨分配成熟度得分。將每塊參照骨計算的得分總和,最終映射到對應(yīng)的骨齡。 因此,準(zhǔn)確地將14 塊參照骨提取出來是使用CHN 法進(jìn)行骨齡評估的關(guān)鍵。
圖1 手腕骨關(guān)鍵點分布
文獻(xiàn)[2]使用Canny 邊緣識別算法對圖像進(jìn)行預(yù)處理以獲得X 光片的手部輪廓,然后使用灰度邊沿篩等算法識別骨骼的邊緣線,并通過多項式擬合手指骨,通過Gabor 紋理分析提取出13 個骨骼生長中心。 文獻(xiàn)[3]使用局部自適應(yīng)閾值來提取對象,并使用自適應(yīng)Canny 邊緣檢測器獲得對象的邊緣圖。 該方法通過將邊緣圖和基于區(qū)域的分割相結(jié)合,來分割腕骨等參照骨。 文獻(xiàn)[4]使用中值濾波算法消除圖像的噪聲,然后使用Softmax 回歸模型擬合最優(yōu)閾值。 利用該最優(yōu)閾值對圖像進(jìn)行二值化處理,然后對采用區(qū)域生長法提取到的手形進(jìn)行歸一化處理,對骨骼進(jìn)行分割。 文獻(xiàn)[5] 提出了Hoteling T2 模型,使用小波包變換進(jìn)行噪聲抑制并利用圖像的紋理特征進(jìn)行背景抑制。 從手部X 射線圖像中裁剪EROI,再通過直方圖均衡增強(qiáng)EROI,最后使用改進(jìn)的聚類方法分割感興趣的骨骺區(qū)域。
上述分別采用閾值分割、邊緣檢測的傳統(tǒng)圖像分割算法,運(yùn)算復(fù)雜度高,難以重現(xiàn)。 而且這些方法對X 光片圖像的質(zhì)量要求也很嚴(yán)格。
隨著計算機(jī)視覺相關(guān)算法的發(fā)展以及智慧醫(yī)療的推廣,許多研究人員已經(jīng)開始通過視覺相關(guān)算法來分割和識別醫(yī)學(xué)圖像,其中目標(biāo)檢測算法最為基礎(chǔ)。目標(biāo)檢測算法主要分為兩階段目標(biāo)檢測算法和一階段目標(biāo)檢測算法。 兩階段目標(biāo)檢測算法需要先用特征提取器生成一系列可能包含待檢物體的預(yù)選框,然后使用一定的篩選規(guī)則對預(yù)選框進(jìn)行篩選,然后再在預(yù)選框上面進(jìn)行物體檢測,例如一系列的R-CNN 算法(R-CNN[6]、Fast R-CNN[7]、Faster R-CNN[8])。 相比于二階段,單階段目標(biāo)檢測算法直接在網(wǎng)絡(luò)中提取特征來預(yù)測物體分類和位置,例如YOLO[9]和SSD[10]。 為了更高的精度,許多學(xué)者會使用二階段目標(biāo)檢測技術(shù)來對醫(yī)學(xué)圖像進(jìn)行分割。
文獻(xiàn)[11]為醫(yī)學(xué)圖像分割制定了一個邊界感知上下文神經(jīng)網(wǎng)絡(luò)(BA-Net),以捕獲更豐富的上下文并保留精細(xì)的空間信息,該網(wǎng)絡(luò)結(jié)合了編碼器-解碼器架構(gòu)。 文獻(xiàn)[12]提出了一種基于深度學(xué)習(xí)的骨齡評估方法, 通過集成 Tanner-Whitehouse(TW3)方法和基于提取的感興趣區(qū)域(Regions of Interest,ROI)的深度卷積網(wǎng)絡(luò),使用Faster-RCNN 和Inception 進(jìn)行檢測和分類。 文獻(xiàn)[13]通過圖像均衡化和二值化定位關(guān)鍵點,并基于中華05 方法將13 個ROI 區(qū)域分類為4 個ROI 收集區(qū)域(ROI-C)。之后使用YOLOv3 訓(xùn)練ROI-C 數(shù)據(jù)集以檢測實際的ROI 區(qū)域。 這種方法需要兩個步驟來完成任務(wù),增加了模型的計算復(fù)雜度。 文獻(xiàn)[14]利用點分布模型和輪廓模型分割骨部分進(jìn)行骨年齡評估。
文獻(xiàn)[15]將腕骨作為X 光片中的ROI,然后使用滑動窗口來獲取腕骨ROI,將其作為骨齡評估的基礎(chǔ)。 文獻(xiàn)[16]通過優(yōu)化的U-Net 模型對拇指遠(yuǎn)端指骨、中指骨、第三掌骨、橈骨和尺骨5 個區(qū)域進(jìn)行分割。 使用Deep CNN 評估骨齡來檢查所提出方法的分割效率,與傳統(tǒng)方法的性能對比顯示了其優(yōu)越性。 文獻(xiàn)[17]提出了一種注意力引導(dǎo)的方法來自動定位感興趣區(qū)域以進(jìn)行骨齡評估,通過學(xué)習(xí)感興趣區(qū)域的注意力圖,來找到最具辨別力的區(qū)域(腕骨)和下一個最具辨別力的區(qū)域(掌骨),該方法無需任何額外的注釋。
本文提出了一種基于優(yōu)化YOLOv5 的參照骨區(qū)域提取方法IM-YOLO,在自制數(shù)據(jù)集上達(dá)到了檢測速度快、精度高的效果。 每塊參照骨的檢測精度都達(dá)到99%以上,F(xiàn)PS 指數(shù)為16。
YOLO 是一種用于目標(biāo)檢測的網(wǎng)絡(luò),核心是采用卷積神經(jīng)網(wǎng)絡(luò)將目標(biāo)檢測問題轉(zhuǎn)換為回歸問題,基于一個單獨的端到端網(wǎng)絡(luò),完成從原始圖像的輸入到物體位置和類別的輸出。 目前在YOLO 系列中,最新的目標(biāo)檢測框架為YOLOv5,它通過數(shù)據(jù)加載器傳遞每一批訓(xùn)練數(shù)據(jù),并同時增強(qiáng)訓(xùn)練數(shù)據(jù)。 在COCO 數(shù)據(jù)集上的平均精度比YOLOv3 提高了10%。 此外,由于YOLOv5s 是YOLOv5 算法中網(wǎng)絡(luò)深度和特征圖寬度均為最小的模型,該模型的權(quán)重文件大小僅有27 MB。 所以,為了使手腕骨ROI 區(qū)域檢測網(wǎng)絡(luò)在實際應(yīng)用中部署更加方便,我們選擇YOLOv5s 作為本文的基礎(chǔ)網(wǎng)絡(luò),在下文中簡稱YOLOv5。
YOLOv5 的網(wǎng)絡(luò)結(jié)構(gòu)主要由Backbone 組件,Neck組件和Predict 組件三個組件構(gòu)成。 在Backbone 組件中,使用CSPDarknet53 網(wǎng)絡(luò)(C3)提取圖像的特征信息。 在Neck 組件中,YOLOv5 使用PAnet[18]結(jié)構(gòu)和增強(qiáng)模塊SPP[19]對特征進(jìn)一步融合。 而PAnet 是以特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[20]為基礎(chǔ)進(jìn)行改進(jìn)得到的網(wǎng)絡(luò)。 FPN 將高層的特征上采樣與低層次特征進(jìn)行相加,使用低層次特征包含的紋理和細(xì)節(jié)信息,進(jìn)一步對高層特征做補(bǔ)充,豐富了融合后的特征圖信息。 因為淺層特征中包含大量邊緣形狀等特征,對實例分割這種像素級別的分類任務(wù)起到至關(guān)重要的作用,因此PANet 在FPN層后加入了一個自底向上的特征金字塔以保留更多的淺層信息。 Predict 組件負(fù)責(zé)對目標(biāo)的邊界框和分類類別進(jìn)行回歸預(yù)測,一共有三個檢測頭,每個檢測頭對應(yīng)一個錨框,其中最小的特征圖對應(yīng)尺寸最大的目標(biāo),中等的特征圖對應(yīng)尺寸中等的目標(biāo),最大的特征圖負(fù)責(zé)檢測尺寸最小的目標(biāo)。
在進(jìn)行下采樣的過程時,不可避免地伴隨信息丟失,尤其是在分割任務(wù)要經(jīng)歷下采樣編碼和上采樣解碼的過程。 針對此問題,YOLOv5 模型提出了Focus 模塊,通過切片操作對輸入圖像進(jìn)行裁剪,以減少下采樣過程中的信息丟失,增大深層特征圖的感受野并提高精度。 針對X 光片圖像中各個參照骨的比例不確定,形狀不規(guī)則,本文將Focus 模塊中的卷積替換為可變形卷積[21],為了更好地提取不規(guī)則ROI 的特征信息。 改進(jìn)后的Focus 模塊被命名為DC-Focus 模塊,如圖2 所示。
圖2 DC-Focus 模塊結(jié)構(gòu)圖
在DC-Focus 模塊中,使用大小為640×640×3的圖像作為輸入。 首先,將輸入圖像的四個副本通過切片操作,即隔行下采樣,轉(zhuǎn)換為四個大小為320×320×3 的切片。 然后將得到的四個切片進(jìn)行拼接,得到大小為320×320×12 的特征圖,之后將其輸入DC-Convolution 模塊,通過可變卷積進(jìn)一步提取圖像特征信息。
可變形卷積在正常卷積的采樣坐標(biāo)上增加了一個偏移變量Δpn,如式(1)所示:
偏移量Δpn是通過卷積層學(xué)習(xí)得到的。 為了有效地學(xué)習(xí)該偏移量,網(wǎng)絡(luò)的梯度信息通過雙線性運(yùn)算反向傳播。
如圖3 所示,相比于傳統(tǒng)卷積核,可變卷積核在不同的采樣點位置會根據(jù)圖像內(nèi)容自適應(yīng)地變化。因此,采用可變卷積可以使得特征提取聚焦于有效的信息區(qū)域內(nèi),從而實現(xiàn)對圖像特征信息更加準(zhǔn)確提取。 模塊最后加入Batch-Norm 層和Leaky-Relu層,大小為320×320×32 的特征圖通過該層后,將映射得到的結(jié)果作為下一個卷積層的輸入。
圖3 傳統(tǒng)卷積和可變卷積圖
對于整張X 光片圖像需要使用的參照骨區(qū)域僅占據(jù)一小部分,其余皆為背景、組織等無關(guān)信息。而且因為中指和無名指的參照骨的形狀信息十分相似,在對手腕骨ROI 區(qū)域進(jìn)行提取時,模型對于區(qū)分中指和無名指參照骨容易出現(xiàn)誤判,如圖4 所示。
圖4 中指和無名指的遠(yuǎn)節(jié)指骨、中節(jié)指骨和近節(jié)指骨
因此,本文在Backbone 組件中的C3 結(jié)構(gòu)之后加入坐標(biāo)注意力機(jī)制[22],以提高模型對ROI 區(qū)域的定位和識別的精度。 相比于SENet[23]注意力機(jī)制只考慮空間注意力,卷積注意力模塊(Convolutional Block Attention Module,CBAM)[24]將空間注意力和通道注意力剝離開考慮,坐標(biāo)注意力(Coordinate Attention,CA)機(jī)制將通道注意力和空間注意力結(jié)合起來。 通過該注意力機(jī)制既可以沿著一個空間方向捕獲長程相關(guān)性,同時可以沿著另一個空間方向保留精確的位置信息。 因此CA 注意力機(jī)制可以更精確地定位和識別感興趣的目標(biāo)。
如圖5 所示,主要由坐標(biāo)信息嵌入和坐標(biāo)注意力生成兩個模塊對CA 注意力進(jìn)行獲取。 在坐標(biāo)信息嵌入模塊中,使用大小為(H,1)和(1,W)的池化核分別沿著水平和豎直兩個方向?qū)γ總€通道進(jìn)行編碼,編碼結(jié)果為第c個高度為h的通道和第c個寬度為w的通道的輸出,如式(2)和式(3)所示:
圖5 坐標(biāo)注意力模塊結(jié)構(gòu)圖
上述兩種變換沿兩個空間方向聚合輸入特征,生成zh和zw兩個特征圖,以保留準(zhǔn)確的位置信息,這樣就可以得到一對方向敏感和位置敏感的注意力圖,幫助網(wǎng)絡(luò)更準(zhǔn)確地定位感興趣的目標(biāo)。 在坐標(biāo)注意力生成模塊中,拼接坐標(biāo)信息嵌入模塊得到的兩個特征圖,并使用一個1×1 的卷積核進(jìn)行F1變換,在LeakyRelu 激活函數(shù)的作用下得到空間特征信息在水平和豎直兩個方向的特征圖f,如式(4)所示。 將得到的特征圖再沿空間維度切分為兩個單獨的張量fw和fh,并利用兩個1×1 的卷積操作Fh和Fw轉(zhuǎn)換為與輸入圖像具有相同通道數(shù)的特征圖,如式(5)和式(6)所示:
通過對得到的兩個特征圖進(jìn)行拓展,獲得注意力權(quán)重,輸出公式如式(7)所示,其中xc(i,j)表示第c個通道中坐標(biāo)為(i,j)的輸入。
對比X 光片圖像的14 個ROI 區(qū)域,關(guān)節(jié)間隙區(qū)域(如中節(jié)指骨Ⅴ)的尺寸遠(yuǎn)小于腕骨區(qū)域,尺寸比約為1 ∶8[25],但其數(shù)量卻占總數(shù)的4/7。 針對此情況,對于小目標(biāo)特征信息的提取能力的提高在參照骨區(qū)域檢測有著重要作用。 原始的YOLOv5 檢測目標(biāo)時,分別使用20×20、40×40 和80×80 三個不同尺度的特征層。 最小的特征圖負(fù)責(zé)檢測大目標(biāo),中等的特征圖負(fù)責(zé)檢測中等大小的目標(biāo),最大的特征圖負(fù)責(zé)檢測小目標(biāo)[26]。 淺層信息對于小目標(biāo)的位置信息和細(xì)節(jié)特征的檢測具有很重要的作用,但是YOLOv5 的三尺度特征圖由于分辨率低,缺乏低層的特征表示,使得細(xì)粒度特征的表達(dá)能力較弱,所以會丟失小目標(biāo)的特征信息,使小關(guān)節(jié)間隙區(qū)域的提取準(zhǔn)確度降低。
如圖6 網(wǎng)絡(luò)結(jié)構(gòu)所示,本文相較于原來的3 個檢測頭多增加了1 個檢測頭,提高對于小關(guān)節(jié)間隙區(qū)域的檢測精度。 圖像的淺層特征具有較少的語義信息和較強(qiáng)的位置信息,在進(jìn)行8 次下采樣后,我們再通過一層卷積層和上采樣,將得到的大小為160×160 的特征圖與第三層主干網(wǎng)絡(luò)進(jìn)行特征融合,得到分辨率更高的160×160 的特征圖,保留淺層特征,使IM-YOLO 中的特征融合檢測層既能獲取淺層特征的位置信息,又能獲取深層特征的語義信息,幫助網(wǎng)絡(luò)學(xué)習(xí)小關(guān)節(jié)間隙區(qū)域的特征,從而提高對腕骨ROI 的定位和檢測精度。
圖6 IM-YOLO 的網(wǎng)絡(luò)結(jié)構(gòu)圖
YOLOv5 采用廣義完全交并比損失函數(shù)(Generalized Intersection over Union Loss,GIoU Loss)[27]作為邊界框回歸損失函數(shù)[28]。 如式(8)所示,其中C為包含A、B的最小矩形。 由于IoU 是比值的概念,對目標(biāo)物體的scale 是不敏感的,無法直接優(yōu)化沒有重疊的部分。 因此,GIoU 在IoU 的基礎(chǔ)上增加了一個新的懲罰項,它在一定程度上區(qū)分預(yù)測框和目標(biāo)框的交叉區(qū)域相同但交叉模式不同的情況。 與IoU只關(guān)注重疊區(qū)域不同,即使預(yù)測框和目標(biāo)框不相交,也可以使用懲罰項來繼續(xù)優(yōu)化損失函數(shù)。 并且不像IoU 損失函數(shù),一旦預(yù)測框和目標(biāo)框沒有交集,優(yōu)化梯度為0,優(yōu)化便無法繼續(xù)進(jìn)行。
雖然GIoU 損失函數(shù)彌補(bǔ)了IoU 損失函數(shù)的不足,解決了預(yù)測框和目標(biāo)框不相交時梯度無法更新的問題,但GIOU 仍然嚴(yán)重依賴IOU,因此在兩個垂直方向,誤差比較大并且基本很難收斂,具有不穩(wěn)定、回歸精度不夠的不足。 當(dāng)目標(biāo)框與預(yù)測框完全重合時,IoU 和GIoU 的值一樣,都是1,此時GIoU 會退化為IoU,無法區(qū)分其相對位置關(guān)系。 完全交并比損失函數(shù)(Complete Intersection over Union,CIoU)在GIoU 的基礎(chǔ)上通過引入預(yù)測框和目標(biāo)框的中心點距離和縱橫比的差異作為懲罰項,繼續(xù)優(yōu)化邊框損失,如式(9)所示,其中b和bgt表示預(yù)測框與目標(biāo)框的中心點位置,ρ2表示預(yù)測框的中心點與目標(biāo)框的中心點之間距離的平方,c2表示包含預(yù)測框和目標(biāo)框的最小外接矩形框的對角線長度的平方,如圖7所示。α是一個權(quán)衡參數(shù),計算公式如式(10)所示。v是衡量兩個矩形框的相對比例一致性的參數(shù),如式(11)所示,公式中w和wgt表示預(yù)測框與目標(biāo)框的寬度,h和hgt表示預(yù)測框與目標(biāo)框的高度。 式(12)和式(13)分別計算了v相對于w和h的梯度。
圖7 預(yù)測框、目標(biāo)框和同時包含兩者的最小外接矩形框
從上述公式可以看出,CIoU 使用的是寬和高的相對比例,并不是寬和高的值,存在一定的模糊,會造成收斂速度較慢的情況,而且沒有考慮難易樣本的平衡問題。 根據(jù)v的計算公式可以看出,只要預(yù)測框的寬和高滿足式(14)的要求,CIoU 中添加的相對比例的懲罰項將不再起作用。 此外,根據(jù)式(12)和式(13)可以推導(dǎo)出式(15)。
從式(15)可以看出w和h的梯度符號相反,所以CIoU 不能讓w和h同時增加或減少。 因此,本文使用Efficient Intersection over Union Loss(EIOU Loss)[29]作為邊界框回歸損失函數(shù)。 EIoU 在CIoU懲罰項的基礎(chǔ)上將長寬比的影響因子進(jìn)行拆分,分別計算預(yù)測框和目標(biāo)框的長與寬。 EIoU 損失計算分為三個部分,IOU 損失、距離損失和邊長損失。 如式(16)所示,Cw和Ch分別表示最小外接矩形框的寬度和高度。
圖8 展示了三個損失函數(shù)GIoU、CIoU 和EIoU在預(yù)測框和目標(biāo)框完全相同時的收斂情況,其中每個框里面左下角的小正方形代表目標(biāo)框,除了目標(biāo)框及每個框里面右上角的小長方形框以外,其余的為三個損失函數(shù)的預(yù)測框。 可以看出EIoU loss 可以直接使預(yù)測框與目標(biāo)框的寬與高之間的差異達(dá)到最小,解決了GIoU loss 在水平和垂直方向誤差大的問題,加快了收斂速度,提高了回歸精度。
圖8 三個損失函數(shù)GIoU、CIoU 和EIoU 在預(yù)測框和目標(biāo)框完全相同時的收斂情況
本文使用的數(shù)據(jù)來自于浙江省“校園公益行”項目的支持。 采集X 光片圖像使用的是專業(yè)傳感設(shè)備,由于設(shè)備的輻射非常小,對被拍攝的身體健康基本不會造成傷害。 拍攝到的X 光片圖像均為DICOM 格式,像素大小為1 626×2 032,為了方便對采集到的數(shù)據(jù)樣本進(jìn)行研究,本文將DICOM 格式圖像轉(zhuǎn)換為JPG 格式圖像。
我們選擇對10 041 張X 光片圖像進(jìn)行注釋,每張圖像中的每塊參照骨都進(jìn)行標(biāo)定,并利用LabelImg 標(biāo)定工具標(biāo)注出每塊參照骨的寬度、高度、左上角坐標(biāo)以及對應(yīng)的參照骨類別。 在實驗過程中隨機(jī)選取7695 張圖像作為訓(xùn)練集,剩余的圖像作為測試集。
本文使用版本為1.0.1 的PyTorch 深度學(xué)習(xí)框架和2.7 版本的Python 進(jìn)行實驗,實驗中使用的顯卡為GeForce RTX 2080 Ti。 此外,在實驗過程中使用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)算法對模型進(jìn)行了300 個epoch 的訓(xùn)練,batch-size 設(shè)置為64,初始學(xué)習(xí)率為0.01,動量和權(quán)重衰減參數(shù)分別為0.9 和0.0005,并且采用L2 正則化控制模型的復(fù)雜度以減少過擬合。
本文使用四個指標(biāo)來評估IM-YOLO 完成參照骨關(guān)鍵區(qū)域提取任務(wù)時的性能,分別為:Precision、Recall 和mean Average Precision(mAP@.75,mAP@.5:.95)等。 Precision 表示預(yù)測結(jié)果的準(zhǔn)確度。Recall 代表陽性樣本的檢出率,即召回率。 mAP@.75 表示交并比(Intersection over Union,IoU)閾值為0.75 時的平均精度,其中IoU 表示目標(biāo)框G 和預(yù)測框P 的重疊率。 mAP@.5:.95 表示在IoU 閾值從0.5 到0.95,每隔0.5 計算一次模型的mAP,并計算這些mAP 的平均值。
表1 展示了算法在14 塊參照骨提取任務(wù)中的檢測性能。 從表中可以看出利用IM-YOLO 算法對X 光片的14 個ROI 區(qū)域進(jìn)行提取,每塊參照骨的Precision、Recall 和mAP@.75 都達(dá)到了99%以上。所有參照骨的檢測精度達(dá)到了99.8%。
表1 IM-YOLO 的Precision、Recall 和mAP
在YOLOv5 的基礎(chǔ)上,IM-YOLO 提出了4 項優(yōu)化之處:①將Focus 模塊改進(jìn)為DC-Focus,②添加CA 注意力模塊,③特征層擴(kuò)展,④引入EIoU 損失。本文使用消融實驗來驗證每項優(yōu)化之處對模型性能產(chǎn)生的影響,以最初的YOLOv5 作為基準(zhǔn),“+”表示在基礎(chǔ)網(wǎng)絡(luò)中添加不同的模塊進(jìn)行實驗。 如表2 所示,YOLOv5 各項指標(biāo)Precision、Recall、mAP@.75和mAP@.5:.95 分別為0.973、0.971、0.966 和0.65。除了添加CA 注意力模塊外,引入各項改進(jìn)后,模型的各項指標(biāo)都有一定的提升。 盡管CA 注意力模塊的引入降低了精度,但召回率和mAP@.75 分別達(dá)到了0.974 和0.985。 從表中可以看出,EIoU 損失函數(shù)的采用在檢測精度和mAP@.75 上的提升最為明顯,而特征層的擴(kuò)展使模型召回率的提升最為明顯。 實驗結(jié)果表明,DC-Focus、CA 注意力模塊、特征層擴(kuò)展和EIoU 損失的組合優(yōu)化可以有效提高ROI的提取效果。
表2 消融實驗對照表
此外,本文對目前常用的目標(biāo)檢測算法Faster R-CNN、SSD、YOLOv3 和本文提出的IM-YOLO 進(jìn)行對比分析,使用同樣的數(shù)據(jù)集,表3 描述了這4 個模型在14 塊參照骨上的性能,可以看出YOLO-DAFE相比于其他算法在所有參照骨上的檢測精度都是最高。 尤其是在鉤骨、遠(yuǎn)節(jié)指骨Ⅰ、遠(yuǎn)節(jié)指骨Ⅲ、掌骨Ⅴ、遠(yuǎn)節(jié)指骨Ⅴ等參照骨上,IM-YOLO 比其他算法具有優(yōu)越性。
表3 不同目標(biāo)檢測算法的檢測精度
表4 對IM-YOLO 與SSD、、YOLOv3、文獻(xiàn)[30]方法、文獻(xiàn)[31]方法及Faster R-CNN[32]進(jìn)行對比實驗。 文獻(xiàn)[30]提出了一種結(jié)合目標(biāo)檢測和匹配修正的手腕骨感興趣區(qū)域提取方法,使用目標(biāo)檢測算法對手腕骨圖像進(jìn)行候選區(qū)域的分割,并剔除置信度較低的區(qū)域,然后根據(jù)位置點大數(shù)據(jù)樣本,構(gòu)建位置點匹配模型和ROI 分類模型,對剔除的參照骨ROI 進(jìn)行自動填補(bǔ)與修正。 這種方法分為3 個步驟,增加了操作復(fù)雜度,降低了X 光片中參照骨的檢測速度。 文獻(xiàn)[31]提出的優(yōu)化后的AlexNet 和兩類組合模型(the Optimized AlexNet and Two-Class Combined Model,OATC)分為三個步驟:邊界框大小確定、關(guān)鍵點定位和二值模型校正。 與上述方法相比,IM-YOLO 的Precision 分別提高了6.2%、1.9%、5.2%、1.3%、4.2%,在檢測精度方面,IM-YOLO 算法的精度也優(yōu)于其他算法。 此外,本文采用FPS 指標(biāo)來評估目標(biāo)檢測算法的速度,它表示模型每秒可以處理的圖像數(shù)量。 從表中可以看出IM-YOLO 的檢測速度比其他算法快很多,是SSD 的2.3 倍,F(xiàn)aster RCNN的16 倍,是YOLOv3 的1.6 倍,是OATC 的16 倍。
表4 不同模型提取參照骨的精度和FPS 對比表
圖9 顯示了從X 光片圖像中提取14 個ROI 區(qū)域的效果,這四張X 光片中手腕骨的尺寸大小和五個手指的擺放位置不盡相同,其中每個預(yù)測框上方的數(shù)字為該ROI 區(qū)域的目標(biāo)置信度。 從圖中可以看出,IM-YOLO 算法在參照骨ROI 的檢測中有著較高的置信度。 另外,在X 光片圖像中手腕骨的大小、方向和擺放位置的不同,對于參照骨ROI 區(qū)域的提取結(jié)果并沒有影響。
圖9 IM-YOLO 的興趣區(qū)域提取結(jié)果
本章提出一種基于多目標(biāo)檢測的高精度手腕骨ROI 區(qū)域提取方法IM-YOLO,來解決因參照骨形狀尺寸不同、關(guān)節(jié)間隙區(qū)域小而導(dǎo)致的目標(biāo)誤判和漏判問題。 IM-YOLO 在YOLOv5 的基礎(chǔ)上提出了4項優(yōu)化之處:為了更好地提取不規(guī)則參照骨的特征信息,使用DC-Focus 模塊對輸入圖像進(jìn)行下采樣;添加CA 模塊來使模型更準(zhǔn)確地定位和識別參照骨;增加檢測頭來增強(qiáng)低級特征信息的表達(dá),提高小關(guān)節(jié)間隙區(qū)域的特征學(xué)習(xí)能力;采用EIoU 損失作為邊界框回歸損失以提高邊界框檢測的準(zhǔn)確性。 實驗表明IM-YOLO 算法檢測速度快、精度高,所有類型參照骨的檢測精度達(dá)到了99.8%,分別比SSD、Faster RCNN、 YOLOv3 以及OATC 算法提高了6.2%、1.9%、5.2%、4.2%。 同時,該方法的檢測速度也遠(yuǎn)快于其他方法,是SSD 的2.3 倍,F(xiàn)aster RCNN的16 倍,是YOLOv3 的1.6 倍,是OATC 的16 倍。