劉乾宇
(1.北京郵電大學 軟件學院,北京 100876;2.北京郵電大學可信分布式計算與服務教育部重點實驗室,北京 100876)
瘧疾是由瘧原蟲屬寄生蟲所致,自2000年以來,世界在減少瘧疾病例和死亡總數方面取得了顯著進展。但瘧疾患病及死亡人數仍然居高不下,每兩分鐘就有一名兒童死于這種可防治的疾病。每年報告的新發(fā)病例超過2億。據世界衛(wèi)生組織頒發(fā)的《2018年世界瘧疾報告》,2017年,估計在87個國家有2.19億瘧疾病例。2015年至2017年期間沒有在減少瘧疾病例方面取得明顯進步。全球瘧疾應對工作面臨眾多挑戰(zhàn),及時診斷和治療是防止瘧疾輕癥發(fā)展為嚴重疾病和死亡的最有效手段。寄生于人體的瘧原蟲有四種,即間日瘧原蟲、三日瘧原蟲、惡性瘧原蟲和卵形瘧原蟲。其中惡性瘧原蟲和間日瘧原蟲危害最大。瘧原蟲的生命周期很復雜,包括環(huán)狀體(rings)、滋養(yǎng)體(trophozoites)、裂殖體(schizonts)和配子體(gametocytes)。瘧疾血涂片鏡檢法是檢測瘧原蟲和瘧疾病例診斷依據的最直接和最重要的方法,是由世界衛(wèi)生組織推薦用于瘧疾檢測的金標準[1]。由于近些年國內瘧疾的防治和減少,基層醫(yī)院與疾病控制機構不再重視瘧疾血涂片的鏡檢,從而導致瘧疾血涂片鏡檢水平不斷下降[2-4],產生瘧疾的漏診和誤診[5]。因此使用計算機輔助診斷方法自動識別細胞并識別其疾病種類,進而實現自動細胞分類和計數,由于其相較人工更快更準確的定量結果,將對瘧疾疾病的檢測帶來重要意義。
針對瘧疾血涂片細胞分類以及計數問題存在的不足與經驗,該文提出了一種基于Faster R-CNN模型的瘧疾細胞檢測算法,對網絡結構做出優(yōu)化和修改,增加卷積濾波器層,并對特征提取網絡進行優(yōu)化從而提高瘧疾圖像的檢測效果。
隨著計算機視覺技術的發(fā)展,深度學習在學術界受到了廣泛的關注,也對醫(yī)療影像檢測領域產生了巨大的影響。基于機器學習的SVM等算法解決大規(guī)模訓練樣本的圖像分類尤其是多分類問題較為困難。基于深度學習的算法,尤其以卷積神經網絡(convolutional neural network,CNN)[6]為基礎的算法在物體檢測任務中被廣泛應用。Girshick等[7]提出R-CNN解決了圖像目標檢測問題,該算法首先對圖片中的物體畫框,再判斷框出的物體類別。R-CNN采用選擇性搜索(selective search)方法生成大約2 000個方框,用已訓練好的CNN對每一個方框內的圖片提取出特征,再放入SVM進行分類,同時將特征放入回歸器中得到更精確的候選框。由于R-CNN太多的候選框存在重疊的問題,需要大量重復計算,隨后Fast R-CNN[8]合并了R-CNN中用CNN提取特征、SVM分類、回歸這三個過程,形成端到端整體的模型,并且引入感興趣區(qū)域池化層(ROI pooling)共享特征,速度和準確率都得到了提升。但Fast R-CNN采用的選擇性搜索方法進行特征提取仍然非常耗時,而Faster R-CNN[9]在Fast R-CNN基礎上引入了RPN(region proposal network)改善了這一問題,進一步提高了檢測速度,并在檢測精度和速度上達到了較好的平衡,實現了端到端網絡結構[10]。除了上述以R-CNN為代表的基于區(qū)域提案(region proposal)的目標檢測算法,還有一類基于回歸的目標檢測算法,如YOLO[11]把目標檢測問題轉化為回歸,采用一個完整的端到端網絡,由輸入的原始圖像直接輸出目標位置和分類的檢測結果,網絡更輕訓練速度更快。但YOLO對小樣本群體檢測效果不好,泛化能力偏弱。為了解決這些缺點,SSD[12]整合了YOLO中的回歸思想和Faster R-CNN中的anchor思想,在不同尺度的特征圖進行目標位置和類別的訓練和預測,從而達到多尺度檢測的目的,提高了模型的泛化能力,同時保證了檢測速度。
近年來,人工智能技術與醫(yī)療健康領域的融合不斷加深,人工智能逐漸成為影響醫(yī)療行業(yè)發(fā)展,提升醫(yī)療服務水平的重要因素。醫(yī)療影像輔助診斷是一個熱點內容。過去已經進行了許多關于使用自動化方法進行瘧疾血涂片檢測的研究。常用的方法是數字圖像處理技術。一些研究者開發(fā)了輔助診斷工具,例如使用粒度分析法來估計細胞大小[13],或使用基于形態(tài)學算子的自動閾值檢測來分析感染的血細胞圖像[14],但是由于使用了體外培養(yǎng)標本而不是實際的外周血,未從根本解決瘧疾檢測的任務。Raviraja等人[15]提出了一種從感染的血液圖像中自動分離出寄生蟲(滋養(yǎng)體,裂殖體和配子體細胞)的方法。使用顏色、形狀和大小的信息,然后通過縮放,整形以重建圖像,將圖像與受感染的圖像進行比較。對返回的圖像進行統(tǒng)計分析并進行比較,此外還評估了寄生蟲細胞核的大小和形狀。Savkare等人[16]開發(fā)了一種系統(tǒng),該系統(tǒng)可根據感染者血液中的瘧原蟲顏色和形態(tài)特征快速準確地診斷人類血液介質中的瘧疾紅細胞。Snehal Suryawanshi等人[17]提出了用于瘧疾寄生蟲檢測的增強技術,其中細胞分割包括多個步驟,例如使用基于泊松分布的最小誤差閾值對圖像進行二值化,然后在形態(tài)學上進行細化,最后使用支持向量機(SVM)作為分類器進行分類,與基于歐氏距離分類器的精度相比更高。雖然研究者們使用圖像處理的技術對瘧疾檢測進行了廣泛研究,但是受瘧疾感染血液的顯微鏡圖像在顯微鏡照明強度、細胞形狀、密度和顏色由于樣品制作的過程的細微差異而不同,并且其中個別類別即使是專家也很難識別。另外有學者嘗試自動化識別并量化瘧疾[18-20]的過程使用一組預定的測量(強度、形狀和紋理)中的要素,使用復雜的工作流進行圖像處理和機器學習分類。然而,由于缺乏通用性,這些方法都沒有獲得很大反響。因此,該文嘗試針對圖像預處理進行改進,增強瘧原蟲的可檢測性,提高算法模型的可靠性。
Faster R-CNN在Fast R-CNN的基礎上引入區(qū)域候選網絡,用RPN來提取預測框,使得RPN和Fast R-CNN模型能夠共享卷積后的特征。這樣特征圖同時作為RPN和Fast R-CNN的輸入,提高了性能。Faster R-CNN模型結構如圖1所示。首先Faster R-CNN使用卷積層提取特征,該特征圖被共享用于后續(xù)RPN層和全連接層,RPN用于生成區(qū)域候選框,并且通過對錨點(anchors)分類以及邊界框回歸(bounding box regression)修正anchors以獲得精確的區(qū)域候選框。隨后傳入感興趣區(qū)域池化層(regions of interest pooling,RoI Pooling),進一步提取特征,進入全連接層判定目標類別,同時再次通過邊界框回歸以獲得檢測框最終的精確位置。
圖1 Faster R-CNN基本結構
相對于傳統(tǒng)的滑動窗口和選擇性搜索算法,Faster R-CNN采用RPN生成目標區(qū)域候選框提高了候選框的生成速度,用于對目標識別、分類以及邊界框回歸?;貧w層用于估計目標原始的位置,分類層用于對目標區(qū)域進行分類,得出目標屬于某類的概率。每一個滑動窗口,同時預測9個候選框,一般由3種面積128×128、256×256、512×512,3種比例1∶1、1∶2、2∶1組成,最終輸出為多個候選框和該候選框被判斷為目標的得分。
感興趣區(qū)域池化層是對空間金字塔池化層(spatial pyramid pooling,SPP)的改進。由于全連接層中圖像維度的約束,SPP層使用金字塔結構處理圖像尺寸不同的問題,RoI Pooling通過下采樣、上采樣的方法,將非均勻尺寸的輸入,即不同候選區(qū)域的特征圖執(zhí)行最大池化,轉換成固定大小的特征圖。此處固定大小的選擇是由該網絡的超參數預定義的。主要目的是為了加快訓練與測試時間,優(yōu)化性能,采用端到端聯合的方式訓練整個系統(tǒng)。
2.2.1 卷積濾波器
濾波是對于圖像的每一個像素點,計算它的鄰域像素和濾波器矩陣的對應元素的乘積,然后加起來,作為該像素位置的值。而基于核的濾波器被稱為卷積濾波器,核也成為卷積矩陣,其有奇數行、奇數列,中心的元素對應于感興趣的像素,其他的元素對應于這個像素周圍的鄰近像素,每個元素都有一個整數或浮點數的值,這些值是應用在像素上的權重。
針對瘧疾血涂片細胞的特點,細胞數量多且細胞邊緣與內部細節(jié)不夠清晰,故在Faster R-CNN共享卷積層之前加入卷積濾波器層,該層的網絡結構為自定義的一個3×3和一個5×5的核,分別為H1、H2。首先使用H1對圖像進行平滑處理,再使用H2增強圖像的細節(jié),得到較原圖更為清晰的圖片。
如圖2所示,經卷積濾波器層處理過的圖像輸入到Fast R-CNN網絡中進行進一步的特征提取。
圖2 文中模型基本結構
2.2.2 殘差網絡
原始的Faster R-CNN采用了VGG16[21]作為特征提取網絡。VGG16采用堆積的小卷積核,其網絡架構如圖3所示。
圖3 VGG16網絡結構
VGG16前幾層使用3×3卷積核,通過最大池化(max pooling)層減少神經元數量,最后增加2個全連接層和1個歸一化指數函數(softmax)層。而隨著網絡深度的增加,網絡的準確度應該同步增加,但增加網絡深度后,梯度反向傳播過程中會逐漸減小,造成梯度消失,導致網絡退化。
該文引入殘差網絡(ResNet)[22]以優(yōu)化上述問題。ResNet通過引入殘差學習單元,允許前面輸入的信息直接傳到后面的層中,使新添加的層只需要學習上一個網絡輸出的殘差,可以使網絡在深度增加的情況下不退化,訓練效果更好。
圖4 ResNet中殘差學習單元
如圖4所示,殘差學習單元除了正常的卷積層輸出外,還有一個分支把輸入直接連到輸出上,該輸出和卷積的輸出做算術相加得到最終的輸出,用公式表達就是H(x)=F(x)+x,其中x是輸入,F(x)是卷積分支的輸出,H(x)是整個結構的輸出。對于一個堆積層結構,當輸入為x時其學習到的特征記為H(x),若想學習到殘差F(x)=H(x)-x,則原始的學習特征是F(x)+x。相比原始特征,殘差學習更加容易。當殘差為0時,此時堆積層僅僅做了恒等映射(identity mapping),網絡性能至少和淺層網絡性能一樣,且殘差不會為0,使得堆積層在輸入特征基礎上學習到新的特征,從而擁有更好的性能,有效緩解網絡退化問題。
該文采用的數據集為間日瘧原蟲(瘧疾)感染人血凃片數據集[23],圖像為PNG和JPG格式,由1 364張圖像組成,總計約80 000個細胞,用Giemsa試劑染色。該數據集由兩類未感染細胞即紅細胞(red blood cells)和白細胞(leukocytes)和四類感染細胞即配子體(gametocytes)、環(huán)狀體(rings)、滋養(yǎng)體(trophozoites)和裂殖體(schizonts)組成。數據集的標注信息包括以上全部類別,其中一些識別困難的細胞被標注為困難(trouble)類型。每張圖片分辨率為1 600×1 200,在人工標注的細胞中,Ground Truth框的面積(分辨率)大小多為100×100左右。
實驗基于TensorFlow框架,采用的系統(tǒng)為Linux,GPU為Tesla P100。數據集中,訓練驗證集占80%,測試集占20%。訓練驗證集中訓練集占80%,驗證集占20%。其中標注為困難的類型不參與訓練。
在瘧疾血涂片細胞數據中,針對單個類別,使用平均精度(average precision,AP)作為評價指標,對于各個類別,分別計算AP,取所有類別的AP平均值為mAP(mean average precision),用來衡量文中模型在所有類別上識別效果的好壞。
深度卷積神經網絡的參數數量巨大,需要數量足夠多的數據才能滿足訓練要求,而文中采用的數據集相對來說非常有限。為了能夠增加訓練的數據量,以提高神經網絡模型的泛化能力,文中采用對訓練集圖像進行垂直翻轉、水平翻轉以及逆時針旋轉90度的方法,對現有的數據集進行擴充。
實驗部分采用三組對比實驗,實驗一僅加入卷積濾波器層,而不采用ResNet特征提取網絡和修改的錨點框尺度比;同理,實驗二僅采用ResNet進行特征提取,實驗三僅采用修改的錨點框尺度比;最后綜合實驗一、二、三的改進,得出一個綜合的輸出結果。
圖5 卷積濾波器層輸出特征圖
圖5為瘧疾血涂片數據集中的圖像經過卷積濾波器層的輸出結果。對比圖5(a)與圖5(b)不難看出圖5(b)中細胞的結構與邊緣更加明顯,圖像更清晰,該層的輸出特征圖作為Faster R-CNN的輸入數據。
實驗結果表明,經過數據擴充的訓練集在添加了卷積濾波器層并且優(yōu)化過的Faster R-CNN模型訓練后,測試集的mAP為79.56%,能夠達到輔助檢測的效果,而對于原始Faster R-CNN模型的測試結果,測試集的mAP為70.72%,實驗一只加入卷積濾波器層提高了1.64%,實驗二采用ResNet進行特征提取mAP提高了4.57%,實驗三通過修改錨點框尺寸使mAP提高了2.72%,綜合所有改進的模型實驗結果使mAP提高了8.84%(見表1)。文中綜合方法部分測試圖像效果如圖6所示,其中圖6(a)、圖6(c)為在原始Faster R-CNN模型下的測試結果,圖6(b)、圖6(d)為在文中方法下的測試結果,相同血涂片檢測結果中圖6(b)相對于圖6(a)多檢測出了滋養(yǎng)體類型的細胞,圖6(d)相對于圖6(c)在檢驗細胞數量和準確率均得到了提高,文中方法在瘧疾血涂片細胞檢測中的效果更好。
表1 實驗結果mAP對比
圖6 原始Faster R-CNN與文中模型實驗結果對比
將深度學習應用于生物醫(yī)學領域有廣闊的前景,在原始Faster R-CNN的基礎上提出了一種改進的Faster R-CNN瘧疾血涂片細胞的檢測與識別算法。通過試驗,相比于原始Faster R-CNN模型,文中方法結合ResNet殘差網絡解決了網絡退化問題,并通過添加卷積濾波器層等方式在間日瘧原蟲(瘧疾)感染人血凃片數據集的檢測中提升了檢測效果。采用文中方法,在檢測人員的鏡檢水平參差不齊的環(huán)境下,可以大大提高識別率,同時降低了對原始圖像的質量要求,以及訓練樣本數量的要求,在醫(yī)學領域尤其是醫(yī)療診斷方面具有重要意義。在未來的研究中,將繼續(xù)優(yōu)化模型,用來幫助研究人員對視野圖像中的細胞進行自動分類和分階段,并識別和區(qū)分受感染階段的特征。另外需要測試不同來源的瘧疾血涂片樣本來測試算法,以拓展此算法的應用場景。