王 靜,孫紫雲(yún),郭 蘋(píng),張龍妹
西安科技大學(xué) 通信與信息工程學(xué)院,西安710054
外周血白細(xì)胞在人體免疫系統(tǒng)中起著不可忽視的作用[1]。白細(xì)胞主要分為嗜酸性粒細(xì)胞、嗜堿性粒細(xì)胞、中性粒細(xì)胞、淋巴細(xì)胞和單核細(xì)胞五種類型[2]。其中嗜中性粒細(xì)胞占50%~70%,淋巴細(xì)胞占20%~40%,單核細(xì)胞占3%~8%,嗜酸性粒細(xì)胞占1%~5%,嗜堿性粒細(xì)胞不超過(guò)1%[3]。當(dāng)人體發(fā)生炎癥或其他疾病時(shí),醫(yī)生通過(guò)對(duì)外周血白細(xì)胞分類和計(jì)數(shù)的結(jié)果,來(lái)輔助判斷所患疾病的種類和嚴(yán)重程度。因此白細(xì)胞檢測(cè)與分類的準(zhǔn)確性和效率對(duì)于疾病輔助診斷非常重要。
目前,傳統(tǒng)的白細(xì)胞檢測(cè)主要是靠人工鏡檢、流式細(xì)胞儀來(lái)完成,存在工作量大、耗時(shí)長(zhǎng)、統(tǒng)計(jì)量小、結(jié)果受主觀影響等問(wèn)題[4]?;谏疃葘W(xué)習(xí)的檢測(cè)方法因不受主觀因素的影響,工作量小,成為醫(yī)學(xué)圖像處理的熱門研究領(lǐng)域。Wang 等人[5]提出一種使用YOLO(you only look once)和SSD(single shot multibox detector)的網(wǎng)絡(luò)對(duì)白細(xì)胞進(jìn)行檢測(cè),平均精度為90.09%。王亞品等人[3]以ResNet 為原型結(jié)構(gòu),設(shè)計(jì)了一種適用于白細(xì)胞顯微圖像分類的深度卷積神經(jīng)網(wǎng)絡(luò),在自建數(shù)據(jù)集上可以達(dá)到95.7%的訓(xùn)練正確率。Shahin等人[6]提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的白細(xì)胞識(shí)別系統(tǒng),在三種不同的公共數(shù)據(jù)集上測(cè)試的總體準(zhǔn)確率達(dá)到96.1%。Li等人[7]提出了一種基于改進(jìn)YOLOv3 的端到端白細(xì)胞定位分類方法,在LISC 數(shù)據(jù)集上識(shí)別準(zhǔn)確率達(dá)到96.4%。楊雪瑩等人[8]搭建了LCNet模型用于外周血白細(xì)胞的分類識(shí)別研究,在自建數(shù)據(jù)集上識(shí)別了八類白細(xì)胞,平均識(shí)別率達(dá)到92.87%。
現(xiàn)有的深度學(xué)習(xí)方法在白細(xì)胞檢測(cè)中取得了較好的檢測(cè)效果,但是依然存在以下幾點(diǎn)問(wèn)題:(1)白細(xì)胞外觀復(fù)雜,類間差別小,檢測(cè)難度高;(2)白細(xì)胞屬于邊界特征模糊的小目標(biāo),識(shí)別困難;(3)公開(kāi)數(shù)據(jù)集白細(xì)胞數(shù)據(jù)樣本少。
針對(duì)以上問(wèn)題,本文提出一種改進(jìn)YOLOv5的白細(xì)胞檢測(cè)算法YOLOv5-CHE,通過(guò)擴(kuò)充白細(xì)胞檢測(cè)數(shù)據(jù)集,使設(shè)計(jì)的算法能夠?qū)W習(xí)到更多的白細(xì)胞特征,以提高算法的泛化能力。通過(guò)增大輸入圖像的尺寸、添加坐標(biāo)注意力機(jī)制、增加多尺度檢測(cè)、引入多尺度融合以及改變邊框回歸損失函數(shù)等方法,提升外周血白細(xì)胞檢測(cè)的精度。改進(jìn)后的YOLOv5-CHE算法在白細(xì)胞公共數(shù)據(jù)集上進(jìn)行訓(xùn)練和驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,YOLOv5-CHE比YOLOv5 平均精度均值提升了3.8 個(gè)百分點(diǎn),精準(zhǔn)率提升了1.8個(gè)百分點(diǎn),召回率提升了1.5個(gè)百分點(diǎn)。
YOLOv5算法由三部分構(gòu)成,整體結(jié)構(gòu)如圖1所示。第一部分為輸入端,訓(xùn)練圖片輸入尺寸為608×608。第二部分為主干網(wǎng)絡(luò),它使用CSPDarkNet53網(wǎng)絡(luò),從輸入圖像中提取豐富的信息特征。第三部分為檢測(cè)層,該部分采用了多尺度進(jìn)行檢測(cè),在特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)(feature pyramid networks,F(xiàn)PN)[9]后加入一種新的自下而上的路徑聚集網(wǎng)絡(luò)結(jié)構(gòu)(path aggregation networks,PAN),實(shí)現(xiàn)了不同尺度特征信息的融合,之后再對(duì)生成的三個(gè)特征圖進(jìn)行預(yù)測(cè)。
圖1 YOLOv5的整體算法結(jié)構(gòu)圖Fig.1 Overall algorithm structure diagram of YOLOv5
YOLOv5 算法的卷積核主要有3×3 或1×1 兩種,卷積結(jié)構(gòu)包含卷積層、批標(biāo)準(zhǔn)化層(batch normalization,BN)[10]和激活函數(shù)層(SiLU)。空間金字塔池化結(jié)構(gòu)(spatial pyramid pooling,SPP)采用1×1、5×5、9×9、13×13的最大池化方式[11]進(jìn)行多尺度融合。另外,YOLOv5繼續(xù)沿用了YOLOv4 多尺度檢測(cè)結(jié)構(gòu)。在主干網(wǎng)絡(luò)提取特征后,進(jìn)行兩次上采樣和三次卷積分別在19×19、38×38和76×76三個(gè)尺度上實(shí)現(xiàn)大中小目標(biāo)類別和位置預(yù)測(cè)。YOLOv5使用自適應(yīng)錨框計(jì)算,針對(duì)不同的數(shù)據(jù)集訓(xùn)練數(shù)據(jù),自適應(yīng)地計(jì)算訓(xùn)練集中的最佳錨框值[12]。
YOLOv5 是一種檢測(cè)精確、速度快的檢測(cè)算法,在開(kāi)源數(shù)據(jù)集上有良好的效果,但是在白細(xì)胞分類識(shí)別任務(wù)上檢測(cè)性能仍需要改進(jìn)。針對(duì)外周血白細(xì)胞數(shù)量少、外觀復(fù)雜、內(nèi)間差別小、邊界特征不明顯、目標(biāo)較小以及背景復(fù)雜等問(wèn)題,本文在YOLOv5的基礎(chǔ)上進(jìn)行改進(jìn)優(yōu)化,提出了一種白細(xì)胞檢測(cè)算法YOLOv5-CHE。實(shí)驗(yàn)和測(cè)試的結(jié)果驗(yàn)證了本文改進(jìn)算法的有效性。
對(duì)于輸入圖像,白細(xì)胞只占據(jù)圖像的較小部分,其余均為背景信息,在卷積時(shí),背景的迭代累積會(huì)形成大量冗余信息,從而淹沒(méi)部分目標(biāo),導(dǎo)致檢測(cè)準(zhǔn)確率不高。為此,本文使用一種將位置信息嵌入到通道注意力的坐標(biāo)注意力機(jī)制(coordinate attention,CA)[13]。此注意力機(jī)制不僅能捕獲跨通道的信息,還能捕獲方向感知和位置感知的信息,使模型更加精準(zhǔn)地定位和識(shí)別感興趣的目標(biāo)。
如圖2所示,CA主要分為兩個(gè)步驟:第一步是坐標(biāo)信息的嵌入。給定輸入X,使用池化層分別沿著水平坐標(biāo)和垂直坐標(biāo)對(duì)每個(gè)通道進(jìn)行編碼,得到一對(duì)方向感知特征圖。第二步是坐標(biāo)信息特征圖的生成。首先將提取到的特征信息進(jìn)行拼接,然后利用一個(gè)1×1卷積變換函數(shù)進(jìn)行信息轉(zhuǎn)換,進(jìn)而得到中間特征圖,并沿著空間維度分解為兩個(gè)單獨(dú)的張量,再利用兩個(gè)卷積變換為具有相同通道數(shù)的張量,最后將輸出結(jié)果進(jìn)行擴(kuò)展,分別作為注意力權(quán)重分配值。
圖2 CA結(jié)構(gòu)Fig.2 CA structure
為了突出目標(biāo)的特征,精準(zhǔn)地識(shí)別和定位白細(xì)胞,提升白細(xì)胞檢測(cè)的準(zhǔn)確率,本文在主干特征提取網(wǎng)絡(luò)CSPDarkNet53 的卷積層之間添加了注意力機(jī)制CA 模塊,將原YOLOv5 算法特征提取網(wǎng)絡(luò)中的10 層網(wǎng)絡(luò)變?yōu)?3 層網(wǎng)絡(luò),優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)如表1 所示,改進(jìn)后的網(wǎng)絡(luò)能更有效地提取檢測(cè)目標(biāo)的特征信息。同時(shí),將輸入圖像的大小設(shè)定為640×640尺度,減少了網(wǎng)絡(luò)下采樣時(shí)小目標(biāo)信息的丟失。
表1 改進(jìn)后CSPDarkNet53網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Network structure of improved CSPDarkNet53
YOLOv5采用三尺度特征層進(jìn)行檢測(cè),尺度大小分別為19×19、38×38和76×76。它在目標(biāo)較大的COCO數(shù)據(jù)集[14]上檢測(cè)效果較好,但對(duì)于體積小的白細(xì)胞圖像,經(jīng)多次卷積后會(huì)丟失較小的目標(biāo)區(qū)域信息,從而導(dǎo)致檢測(cè)率降低。
為了解決上述問(wèn)題,本文將在YOLOv5的檢測(cè)層增加一個(gè)160×160的檢測(cè)尺度,由之前的三尺度檢測(cè)拓展為四尺度檢測(cè),改進(jìn)后的結(jié)構(gòu)如圖3 所示。YOLOv5-CHE中主要的改進(jìn)點(diǎn)為:在80×80特征層之后繼續(xù)增加卷積層和上采樣,再將二倍上采樣特征層與160×160特征層進(jìn)行融合,得到第四個(gè)160×160的檢測(cè)尺度。另外20×20、40×40和80×80的三個(gè)檢測(cè)層與原算法一致。
圖3 多尺度檢測(cè)改進(jìn)結(jié)構(gòu)Fig.3 Improved structure of multi-scale detection
改進(jìn)后的模型對(duì)五類白細(xì)胞目標(biāo)進(jìn)行實(shí)驗(yàn)檢測(cè),結(jié)果表明,相比于YOLOv5算法,本文提出的改進(jìn)算法充分利用了淺層特征信息,減少了卷積過(guò)程中較小目標(biāo)區(qū)域特征的信息丟失,且五個(gè)類別目標(biāo)檢測(cè)精確率均有顯著提高。
YOLOv5中使用自適應(yīng)錨定框(auto learning bounding box anchors)計(jì)算思想,采用K均值(K-Means)聚類算法,根據(jù)標(biāo)注的目標(biāo)框(ground truth)自動(dòng)計(jì)算獲取合適的錨定框。錨定框由訓(xùn)練數(shù)據(jù)自動(dòng)學(xué)習(xí)獲得。
由于自定義數(shù)據(jù)集檢測(cè)目標(biāo)的尺寸與公開(kāi)數(shù)據(jù)集存在差異,YOLOv5 重新自動(dòng)學(xué)習(xí)錨定框的尺寸。YOLOv5依據(jù)COCO數(shù)據(jù)集設(shè)置了九種錨定框,分別是(10,13),(16,30),(33,23),(30,61),(62,45),(59,119),(116,90),(156,198),(373,326)。本文針對(duì)邊界不明顯的小目標(biāo),采用添加三個(gè)檢測(cè)白細(xì)胞小目標(biāo)的錨定框尺寸,分別為(5,6),(8,14),(15,11)。將錨定框按照檢測(cè)層尺度進(jìn)行分配,統(tǒng)計(jì)的錨定框分配如表2 所示,用于檢測(cè)較小的白細(xì)胞。
表2 錨定框分配表Table 2 Anchor box allocation table
YOLOv5 的損失函數(shù)由邊框回歸損失(bounding box regression score)、置信度損失(objectness score)以及分類概率損失(class probability score)三部分組成。在邊框回歸損失中,采用完全交并比損失函數(shù)(complete intersection over union loss,CIOU Loss)[15]實(shí)現(xiàn)預(yù)測(cè),如式(1)所示。
其中,b、bgt分別代表預(yù)測(cè)框和真實(shí)框的中心點(diǎn),ρ代表計(jì)算兩個(gè)中心點(diǎn)間的歐式距離,c代表能夠同時(shí)包含預(yù)測(cè)框和真實(shí)框的最小閉包區(qū)域的對(duì)角線距離,w、wgt分別代表預(yù)測(cè)框和真實(shí)框的寬度,h、hgt分別代表預(yù)測(cè)框和真實(shí)框的寬度,IOU是預(yù)測(cè)框和真實(shí)框之間的交集和并集之比。
CIOU Loss考慮了邊界框回歸的重疊面積、中心點(diǎn)距離和縱橫比,但忽略了寬高分別與其置信度的真實(shí)差異,阻礙了模型優(yōu)化的有效性。針對(duì)這一問(wèn)題,Zhang等人[16]在CIOU Loss的基礎(chǔ)上將縱橫比拆開(kāi),提出了有效交并比損失函數(shù)(efficient intersection over union loss,EIOU Loss)。
EIOU Loss 的懲罰項(xiàng)是在CIOU Loss 的懲罰項(xiàng)基礎(chǔ)上將縱橫比的影響因子拆開(kāi)分別計(jì)算目標(biāo)框和錨框的長(zhǎng)和寬。該損失函數(shù)包含重疊損失、中心距離損失和寬高損失三部分,其中寬高損失直接使目標(biāo)盒與錨盒的寬度和高度之差最小。EIOU Loss如式(5)所示:
其中,cw和ch是覆蓋預(yù)測(cè)框和真實(shí)框的最小外接框的寬度和高度。
在邊框回歸損失中,EIOU Loss中的寬高損失使得收斂速度更快,精度更高,優(yōu)于原網(wǎng)絡(luò)中的CIOU Loss,因此本文采用性能更優(yōu)的EIOU Loss邊框回歸損失函數(shù)。
本文的處理器為Intel?CoreTMi9-10900X CPU@3.70 GHz,32 GB 運(yùn)行內(nèi)存,顯卡為NVIDIA GEFORCE RTX 2080Ti,操作系統(tǒng)為Windows10,64 位。整個(gè)實(shí)驗(yàn)基于深度學(xué)習(xí)框架pytorch 1.7,實(shí)驗(yàn)環(huán)境是python 3.8,GPU加速軟件為CUDA10.0和CUDNN7.6。
LISC 數(shù)據(jù)集[17]和BCCD 數(shù)據(jù)集[18]均是白細(xì)胞檢測(cè)領(lǐng)域的經(jīng)典數(shù)據(jù)集。LISC 數(shù)據(jù)庫(kù)采集了8 名正常受試者的外周血中樣品,獲得242 張白細(xì)胞圖像。BCCD 數(shù)據(jù)集篩選出了352 張白細(xì)胞圖像。五種不同類型的白細(xì)胞圖像如圖4所示。
圖4 五種類型的白細(xì)胞Fig.4 Five types of white blood cell
針對(duì)數(shù)據(jù)樣本量不足的情況,本文對(duì)數(shù)據(jù)集進(jìn)行了擴(kuò)充。訓(xùn)練數(shù)據(jù)集為兩個(gè)數(shù)據(jù)集的樣本總和,并采用平移、旋轉(zhuǎn)、加噪、鏡像和裁剪等方法對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)擴(kuò)充,擴(kuò)充后的樣本數(shù)量是5 940幅圖片。
為了驗(yàn)證YOLOv5-CHE 改進(jìn)算法的性能,本文主要使用精確度(precision,P)、召回率(recall,R)、平均精度(average precision,AP)、平均精度均值(mean average precision,mAP)和每秒檢測(cè)幀數(shù)(frames per second,F(xiàn)PS)[19]等評(píng)價(jià)指標(biāo)。
召回率定義為真陽(yáng)性率與真陽(yáng)性率及假陰性率和之比,如式(6),其中TP代表真陽(yáng)性,F(xiàn)N代表假陰性。精確度定義為真陽(yáng)性率與真陽(yáng)性率及假陽(yáng)性率和之比,如式(7)[19],其中FP代表假陽(yáng)性。mAP 是對(duì)所有類別的平均精度(AP)求取均值后獲得,如式(8)、(9)。
在實(shí)驗(yàn)中,白細(xì)胞數(shù)據(jù)集按照7∶3比例隨機(jī)劃分為訓(xùn)練集和測(cè)試集。訓(xùn)練集和測(cè)試集的數(shù)量分別為4 158和1 782。輸入圖像尺度為640×640,批訓(xùn)練數(shù)據(jù)量為32,訓(xùn)練動(dòng)量為0.9,初始學(xué)習(xí)率設(shè)為0.001,權(quán)重衰減為0.000 5,訓(xùn)練過(guò)程持續(xù)了100 個(gè)批次,采用隨機(jī)梯度下降(stochastic gradient descent,SGD)作為優(yōu)化函數(shù)對(duì)模型進(jìn)行訓(xùn)練。此次實(shí)驗(yàn)總共訓(xùn)練6 個(gè)模型,分別是Faster RCNN、SDD、YOLOv3、YOLOv4、YOLOv5 和本文改進(jìn)模型YOLOv5-CHE。
使用改進(jìn)后YOLOv5-CHE模型在數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)得到的P-R(Precision-Recall)曲線如圖5所示,其橫軸是召回率,縱軸是精確率。由圖5 中P-R 曲線可知,曲線越靠近坐標(biāo)(1,1)位置,算法的性能越好。
圖5 YOLOv5-CHE的P-R曲線Fig.5 P-R curve of YOLOv5-CHE
實(shí)驗(yàn)得到的算法性能結(jié)果如表3 所示。由表3 可知,改進(jìn)YOLOv5-CHE 算法的精準(zhǔn)率、召回率和mAP分別達(dá)到99.4%、99.5%、99.3%。實(shí)驗(yàn)結(jié)果證明,本文改進(jìn)的算法對(duì)白細(xì)胞圖像的分類識(shí)別精度更高。
表3 改進(jìn)算法YOLOv5-CHE的Precision、Recall和mAP的結(jié)果Table 3 Precision,Recall and mAP results of improved model YOLOv5-CHE %
根據(jù)設(shè)置參數(shù)對(duì)白細(xì)胞數(shù)據(jù)集進(jìn)行訓(xùn)練,圖6分別為訓(xùn)練過(guò)程中YOLOv5算法和本文改進(jìn)算法YOLOv5-CHE的邊框回歸損失、分類概率損失和置信度損失對(duì)比曲線。其中綠色線條代表本文改進(jìn)算法YOLOv5-CHE曲線,紅色線條代表的是YOLOv5 原算法,橫坐標(biāo)代表訓(xùn)練次數(shù),縱坐標(biāo)代表Loss值。
圖6 訓(xùn)練損失對(duì)比曲線Fig.6 Training loss comparison curve
由圖6(a)邊框回歸損失曲線可知,訓(xùn)練批次(epochs)數(shù)量在5到10批次之間時(shí),YOLOv5算法和改進(jìn)YOLOv5-CHE算法的邊框回歸損失值比較相近,而在之后的訓(xùn)練批次中,改進(jìn)YOLOv5-CHE 算法的損失值一直都小于YOLOv5算法的損失值,且穩(wěn)定在0.015左右。由圖6(b)分類概率損失可知,改進(jìn)YOLOv5-CHE算法較YOLOv5算法快速收斂,且損失值小于YOLOv5算法。圖6(c)為置信度損失,改進(jìn)YOLOv5-CHE 算法和YOLOv5 算法的置信度損失值相近,且始終小于YOLOv5算法的置信度損失值。由此可知,改進(jìn)YOLOv5-CHE 算法使得最終的損失值小于原算法。
表4 為原YOLOv5 算法和各個(gè)改進(jìn)點(diǎn)對(duì)各類白細(xì)胞的mAP 對(duì)比結(jié)果。其中改進(jìn)點(diǎn)1 是添加注意力機(jī)制CA,改進(jìn)點(diǎn)2 是增加檢測(cè)層,改進(jìn)點(diǎn)3 是改變邊框回歸損失函數(shù)。
表4 各類別目標(biāo)mAP對(duì)比Table 4 Comparison of target mAP by each category%
從表4可以看出,改進(jìn)后算法的平均檢測(cè)精度有明顯的提升,改進(jìn)點(diǎn)1 和改進(jìn)點(diǎn)2 相比于YOLOv5 算法在嗜酸性粒細(xì)胞(Eosi)上分別提升了1.1 個(gè)百分點(diǎn)、1.2 個(gè)百分點(diǎn),與其他種類細(xì)胞相比,提高的平均檢測(cè)精度最高。改進(jìn)點(diǎn)3 比YOLOv5 算法在單核細(xì)胞(Mono)提升了0.8個(gè)百分點(diǎn)。整體來(lái)看,改進(jìn)后的YOLOv5-CHE對(duì)嗜酸性粒細(xì)胞(Eosi)、淋巴細(xì)胞(Lymp)、單核細(xì)胞(Mono)、中性粒細(xì)胞(Neut)這四類細(xì)胞的平均檢測(cè)精度較高,特別是對(duì)于尺度較小單核細(xì)胞(Mono)的平均檢測(cè)精度提升較大,提升了1.2個(gè)百分點(diǎn)。
為了進(jìn)一步分析每個(gè)改進(jìn)點(diǎn)對(duì)YOLOv5-CHE算法的貢獻(xiàn),本文進(jìn)行了消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5 所示。表5是以YOLOv5為標(biāo)準(zhǔn)算法逐步增加改進(jìn)點(diǎn),其中添加注意力機(jī)制、多尺度檢測(cè)改進(jìn)和優(yōu)化錨定框以及邊框回歸損失函數(shù)的改進(jìn)分別對(duì)應(yīng)改進(jìn)點(diǎn)1、2、3。
從表5 中可知,優(yōu)化算法1 在標(biāo)準(zhǔn)算法中加入注意力機(jī)制,提升了mAP,可以使算法更加精準(zhǔn)地定位和識(shí)別白細(xì)胞;優(yōu)化算法2結(jié)合多尺度檢測(cè),提升了精確度、召回率,可以使小目標(biāo)白細(xì)胞檢測(cè)的準(zhǔn)確率升高;優(yōu)化算法3 結(jié)合邊框回歸損失函數(shù),提升了精確度、mAP 和mAP@0.5∶0.95,可以整體提高白細(xì)胞的檢測(cè)性能;將上述三類改進(jìn)點(diǎn)同時(shí)作用于標(biāo)準(zhǔn)的YOLOv5算法時(shí),精確度、召回率、mAP 和mAP@0.5∶0.95 都有提升。實(shí)驗(yàn)結(jié)果表明注意力機(jī)制、多尺度檢測(cè)和邊框回歸損失函數(shù)的共同優(yōu)化可以有效地提升白細(xì)胞檢測(cè)的效果。
表5 消融實(shí)驗(yàn)Table 5 Ablation experiments %
為了更清楚展示在主干網(wǎng)絡(luò)卷積之間添加坐標(biāo)注意力機(jī)制對(duì)原算法的影響,抽取YOLOv5 算法和改進(jìn)YOLOv5-CHE算法中間層的特征圖進(jìn)行比較,如圖7所示。
圖7 YOLOv5與改進(jìn)YOLOv5-CHE算法的中間層特征圖比較Fig.7 Comparison of middle features maps between YOLOv5 and improved YOLOv5-CHE algorithm
在圖7中,第一列圖片為YOLOv5算法中間層特征圖,第二列圖片為改進(jìn)后YOLOv5-CHE 算法中間層特征圖。圖7(a)(b)分別為輸入圖像和標(biāo)注圖;圖7(c)(d)是通過(guò)卷積層后尺度大小為P/2 的中間層特征圖;圖7(e)(f)是通過(guò)卷積層后尺度大小為P/4 的中間層特征圖;圖7(g)(h)是通過(guò)卷積層后尺度大小為P/8 的中間層特征圖;圖7(i)(j)和圖7(k)(l)分別是通過(guò)卷積層后尺度大小為P/16 和P/32 的中間層特征圖。從圖7(c)(d)和圖7(e)(f)可以看出,改進(jìn)后YOLOv5-CHE 算法(右側(cè))提取了更多的淺層特征,可以大概看清細(xì)胞的輪廓;從圖7(g)(h)和圖7(i)(j)可以看出,兩種方法通過(guò)不斷地卷積,提取了語(yǔ)義特征,未看到細(xì)胞的具體特征;從圖7(k)(l)可以看出,添加坐標(biāo)注意力機(jī)制可以清晰地辨別出細(xì)胞的具體位置,這將使最后改進(jìn)算法的檢測(cè)細(xì)胞的置信度高于原算法。
同時(shí),為了展示多尺度檢測(cè)和錨定框改進(jìn),隨機(jī)選取算法不同尺度輸出特征圖和檢測(cè)結(jié)果,結(jié)果如圖8所示。
圖8 輸出特征圖及檢測(cè)結(jié)果Fig.8 Output feature diagrams and detection results
圖8(a)~(d)分別是YOLOv5算法尺度大小76×76、38×38、19×19和檢測(cè)結(jié)果,圖8(e)~(i)分別是YOLOv5-CHE 算法尺度大小160×160、80×80、40×40、20×20 和檢測(cè)結(jié)果。從圖8(e)(f)可以看出,改進(jìn)YOLOv5-CHE算法在160×160、80×80尺度下能提取清晰的細(xì)胞輪廓,使檢測(cè)結(jié)果置信度高于YOLOv5算法。
為了驗(yàn)證YOLOv5-CHE 在白細(xì)胞檢測(cè)中的有效性,與現(xiàn)有的主流目標(biāo)檢測(cè)算法進(jìn)行比較,實(shí)驗(yàn)以精度和FPS作為評(píng)價(jià)指標(biāo)。結(jié)果如表6所示。
表6 與現(xiàn)有算法的對(duì)比Table 6 Comparison with existing models
由表6可知,在相同的公開(kāi)數(shù)據(jù)集上,YOLOv5-CHE算法的檢測(cè)精度為99.4%,相比Faster RCNN、SSD、YOLOv3、YOLOv4 和YOLOv5 算法,精確度分別提高了3.26個(gè)百分點(diǎn)、10.51個(gè)百分點(diǎn)、3.81個(gè)百分點(diǎn)、1.76個(gè)百分點(diǎn)和1.80 個(gè)百分點(diǎn)。從檢測(cè)精度來(lái)看,YOLOv5-CHE算法的精度均優(yōu)于其他算法。
同時(shí),從檢測(cè)速率(FPS)來(lái)看,YOLOv5-CHE 的檢測(cè)速率優(yōu)于Faster RCNN、YOLOv3 和YOLOv4 算法,YOLOv5-CHE 比Faster RCNN 檢測(cè)速率快了44.3 倍,比YOLOv3 和YOLOv4 算法分別快了1.3 倍、2.03 倍。YOLOv5-CHE 與SSD 算法相比,檢測(cè)速率只慢了4 幀,換來(lái)的是檢測(cè)精度大幅度提升,提高了10.51 個(gè)百分點(diǎn)。YOLOv5-CHE 與YOLOv5 算法相比,檢測(cè)速率僅慢了0.5 幀,檢測(cè)精度卻提升了1.80 個(gè)百分點(diǎn)。這表明本文YOLOv5-CHE 算法在檢測(cè)速率未有很大降低時(shí),精確度有一定的提升。
從算法結(jié)構(gòu)上來(lái)看,F(xiàn)aster RCNN算法為雙階段目標(biāo)檢測(cè)代表算法,它主要分兩步:第一步先提取候選框(region proposal),判斷是前景還是背景的問(wèn)題,第二步再分類。因此,F(xiàn)aster RCNN算法檢測(cè)速率比較慢。而YOLO系列和SSD算法為一階段目標(biāo)檢測(cè)算法,直接通過(guò)回歸(regression)一次既產(chǎn)生坐標(biāo),又產(chǎn)生每種類別的概率。其中,SSD 算法主干網(wǎng)絡(luò)的卷積層數(shù)量小于YOLO 系列,精簡(jiǎn)算法的數(shù)據(jù)量,使檢測(cè)速率更快。因此一階段目標(biāo)檢測(cè)算法在候選框數(shù)量和網(wǎng)絡(luò)上的簡(jiǎn)化,導(dǎo)致算法速率大幅度提升。
綜合考慮,改進(jìn)后YOLOv5-CHE 算法可以達(dá)到目標(biāo)檢測(cè)在速率與精度上更好的平衡。
為了展示YOLOv5-CHE算法對(duì)于白細(xì)胞的檢測(cè)效果,從測(cè)試集中隨機(jī)地選取不同種類的白細(xì)胞圖片進(jìn)行測(cè)試,測(cè)試結(jié)果如圖9所示。
本文采用改進(jìn)YOLOv5-CHE算法對(duì)白細(xì)胞圖像進(jìn)行識(shí)別,此算法使用了多個(gè)卷積神經(jīng)網(wǎng)絡(luò),諸如:淺層神經(jīng)網(wǎng)絡(luò)用來(lái)提取圖像的顏色、邊緣、紋理等特征信息,深層神經(jīng)網(wǎng)絡(luò)用來(lái)提取圖像的語(yǔ)義特征。然后使用特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)和路徑聚集網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)了不同尺度特征信息的融合,最終實(shí)現(xiàn)對(duì)五種不同種類細(xì)胞的檢測(cè)。
本文在YOLOv5算法和改進(jìn)YOLOv5-CHE算法上的檢測(cè)效果如圖9 所示。其中圖9(a)是YOLOv5 算法檢測(cè)效果圖,圖9(b)是改進(jìn)算法YOLOv5-CHE 的檢測(cè)效果圖。從第五行中可以明顯看出原始YOLOv5 算法將淋巴細(xì)胞(Lymp)檢測(cè)錯(cuò)誤,但改進(jìn)YOLOv5-CHE 算法將此種類細(xì)胞檢測(cè)正確且提高檢測(cè)的置信度。從全部對(duì)比圖可以看出,改進(jìn)YOLOv5-CHE 目標(biāo)檢測(cè)算法對(duì)于白細(xì)胞檢測(cè)的整體置信度和效果均高于YOLOv5算法。結(jié)果證明改進(jìn)后的模型可以準(zhǔn)確檢測(cè)各種類型白細(xì)胞,能夠很好地實(shí)現(xiàn)對(duì)白細(xì)胞檢測(cè)。
圖9 不同種類細(xì)胞檢測(cè)結(jié)果Fig.9 Detection results of different types of cells
為解決白細(xì)胞外觀復(fù)雜,類間差別小,邊界特征不明顯,檢測(cè)目標(biāo)小,以及白細(xì)胞數(shù)據(jù)樣本少導(dǎo)致的白細(xì)胞檢測(cè)精度低等問(wèn)題,本文通過(guò)添加注意力機(jī)制,增大輸入尺度,采用四種尺度檢測(cè),優(yōu)化錨定框以及改變邊框回歸損失函數(shù)等措施,提出了一種改進(jìn)的白細(xì)胞圖像檢測(cè)算法YOLOv5-CHE。在合并后數(shù)據(jù)集上進(jìn)行大量實(shí)驗(yàn),結(jié)果表明,YOLOv5-CHE算法比YOLOv5在精確度、召回率、mAP和mAP@0.5∶0.95上分別提升了1.8個(gè)百分點(diǎn)、1.5個(gè)百分點(diǎn)、1.0個(gè)百分點(diǎn)和3.8個(gè)百分點(diǎn)。與現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)相比,本文算法對(duì)白細(xì)胞圖像分類識(shí)別的準(zhǔn)確率最高。本文僅僅只是對(duì)白細(xì)胞中的五類進(jìn)行了分類識(shí)別,但是臨床上不同時(shí)期的白細(xì)胞具有不同的狀態(tài),還需要完善數(shù)據(jù)庫(kù),探索更多種類白細(xì)胞的分類識(shí)別。同時(shí)也希望開(kāi)發(fā)出具有完整的界面和軟硬件平臺(tái)的白細(xì)胞分類系統(tǒng),更好地用于輔助醫(yī)生的診斷。