鄧杰航,郭文權(quán),陳漢杰,顧國生*,劉景建,杜宇坤,劉超,康曉東,趙建
(1.廣東工業(yè)大學計算機學院,廣州 510006;2.廣東工業(yè)大學自動化學院,廣州 510006;3.法醫(yī)病理學公安部重點實驗室(廣州市刑事科學技術(shù)研究所),廣州 510442)
硅藻是一類很重要的浮游植物,硅藻檢測是溺水診斷中常用的一種重要診斷方法[1]。當法醫(yī)診斷從水中打撈起來的尸體是屬于溺水而亡還是死后拋尸時,法醫(yī)需要借助硅藻在尸體器官內(nèi)的含量和種類進行輔助判斷。在人體溺水的過程中,硅藻會隨著水流被人體吸入肺中,并通過血液循環(huán)流到其他器官,如大腦和骨髓[2]。而當人體是死后被拋入水中時,人體停止了呼吸和血液循環(huán),僅有少量的硅藻流入人體內(nèi)。另外,硅藻的種類和數(shù)量會受到水質(zhì)環(huán)境的影響,即不同的水質(zhì)環(huán)境存在不同種類和數(shù)量的硅藻,法醫(yī)可以根據(jù)這個關(guān)系推斷出尸體的落水點。因此,硅藻檢測為診斷溺水案件提供可靠的診斷依據(jù)。
硅藻檢測一直以來都是一個具有挑戰(zhàn)性的任務(wù)。傳統(tǒng)的硅藻檢測方法是由人工透過顯微鏡觀察硅藻細胞并計數(shù),不僅耗時耗力,還需要熟悉硅藻細胞的專家來執(zhí)行,因為大部分的法醫(yī)不具備硅藻分類的專業(yè)知識。為了提高法醫(yī)對溺水診斷的速度,亟須一種使用計算機代替人工對硅藻進行識別與分類的方法。
隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)的快速發(fā)展,圖像分類和目標檢測任務(wù)的性能得到了飛速提升。借助于CNN 強大的特征提取能力,Pedraza 等[3]把CNN應(yīng)用到硅藻分類任務(wù)中并取得很好的分類效果。Zhou 等[4]為了充分利用人工智能和傳統(tǒng)硅藻檢測方法的優(yōu)點,設(shè)計了一個結(jié)合傳統(tǒng)硅藻檢測方法的人工智能系統(tǒng)對硅藻進行識別,該系統(tǒng)的識別性能與5 位具有豐富硅藻檢測經(jīng)驗的法醫(yī)學家的識別效果相媲美[5]。應(yīng)用目標檢測模型Faster R-CNN(Faster Regional CNN)[6]對硅藻進行識別與定位,相較于傳統(tǒng)的識別方法大幅提高了識別準確率。為了設(shè)計一種用于硅藻統(tǒng)計的工具,Krause 等[7]應(yīng)用全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Neural network,F(xiàn)CN)[8]對硅藻進行計數(shù);Yu等[9]使用RetinaNet[10]對硅藻進行自動搜索。這些方法雖然從不同方面對硅藻檢測進行了研究,但它們都需要大量的訓練樣本。然而,由于溺水案件涉及倫理問題且實際上殘留在尸體器官內(nèi)的硅藻數(shù)量不多,硅藻圖像的獲取相當困難。即使能夠獲得大量的硅藻圖像數(shù)據(jù),圖像標注工作也需要專家花費大量的時間完成。因此,提出面向小樣本的硅藻檢測。
小樣本目標檢測方法可以分為四類,分別是元學習、度量學習、遷移學習和微調(diào)方法?;谠獙W習的方法[11-13]通過設(shè)計大量的相同視覺任務(wù),使檢測模型學習如何學習檢測的能力。Kang 等[11]提出了一個元模型,該模型可以對從已標注的輸入圖像提取的特征進行重新加權(quán)。模型預(yù)測器可根據(jù)重新加權(quán)的特征有效地對只有少量樣本的類別進行分類和定位?;诙攘繉W習的方法[14-15]利用待預(yù)測圖像與參考圖像之間的距離,判斷待預(yù)測圖像的種類。Karlinsky 等[15]提出了一個度量學習模塊,該模塊評估每個預(yù)測框里的特征與從少量標記圖像中提取的特征的相似度,并用這個度量學習模塊取代了Faster R-CNN 的分類分支?;谶w移學習的方法[16-17]將從源域中學習到的預(yù)訓練權(quán)重泛化到目標域,其中,源域具有大量的訓練樣本,目標域僅有少量可用的訓練樣本。Chen 等[17]提出了遷移知識正則化和背景抑制正則化以解決直接在少量標記圖像上訓練時的過擬合問題?;谖⒄{(diào)的方法[18-19]主要關(guān)注模型對小樣本訓練集的微調(diào)過程。微調(diào)技術(shù)實現(xiàn)簡單,且通過對模型進行簡單微調(diào)即可在Pascal VOC(Visual Object Classes)2007 數(shù)據(jù)集[20]的小樣本設(shè)置上顯著提高檢測精度,并且優(yōu)于基于元學習的方法。因此,本文選擇基于微調(diào)的方法作為小樣本硅藻檢測的基線模型。
TFA(Two-stage Fine-tuning Approach)[18]是一個基于微調(diào)方法的兩階段模型,只需微調(diào)模型的最后一層且模型的訓練策略簡單,在Pascal VOC[20]數(shù)據(jù)集和MS COCO(Common Objects in COntext)[21]數(shù)據(jù)集上的檢測性能都比基于元學習的方法[11-13]好。因此,本文基于TFA 提出一種融合多尺度多頭自注意力(Multi-scale Multi-head Self-attention,MMS)和在線難例挖掘策略(Online Hard Example Mining,OHEM)[22]的小樣本硅藻檢測(MMS and OHEM based Few-shot Diatom Detection,MMSOFDD)模型。該模型針對小樣本的硅藻識別問題,將基于CNN 的ResNet-101[23]的最后三個空間3 × 3 卷積替換為多頭自注意力,形成一個基于Transformer[24]的特征提取網(wǎng)絡(luò) BoTNet-101(Bottleneck Transformer Network-101)[25]。通過改進其中的多頭自注意力為多尺度多頭自注意力,稱之為多尺度BoTNet-101。由多尺度BoTNet-101 生成的特征圖經(jīng)過池化等處理后,在嵌入OHEM的模型預(yù)測器中進行預(yù)測。采用從高清電鏡下采集的復(fù)雜背景硅藻圖像進行實驗,驗證了本文模型對小樣本硅藻檢測的有效性。
在本文中,為了實現(xiàn)小樣本硅藻目標檢測,在少量硅藻訓練樣本的情況下,基于TFA 模型提出了融合多尺度多頭自注意力和OHEM 的小樣本硅藻檢測模型MMSOFDD。該模型的總體架構(gòu)如圖1 所示。
圖1 MMSOFDD的總體架構(gòu)Fig.1 Overall architecture of MMSOFDD
從圖1 中可以看出,MMSOFDD 模型的總體架構(gòu)采用Faster R-CNN[6]的架構(gòu),主要的組成部分包括特征提取器、區(qū)域生成網(wǎng)絡(luò)RPN(Region Proposal Network)、RoI(Region of Interest)池化、全連接層和預(yù)測器。在MMSOFDD 中,特征提取器是一個基于Transformer 的多尺度BoTNet-101,其內(nèi)部結(jié)構(gòu)如圖2 所示。區(qū)域生成網(wǎng)絡(luò)RPN 的作用主要是通過卷積運算對圖像錨框進行前景和背景的分類及對錨框位置的粗調(diào)整。預(yù)測器分為目標分類器和邊界框回歸器。在目標分類器中,使用余弦相似度計算預(yù)測值與目標值之間的距離,使用交叉熵損失函數(shù)計算分類損失。交叉熵損失函數(shù)的定義如下:
其中:C為類別數(shù);gi為真實標簽,表示當前的真實類別為第i類;pi為模型輸出的預(yù)測值,表示預(yù)測為類別i的概率。
邊界框回歸器對錨框的位置進行細調(diào)整,使錨框更加準確地把圖像目標標記出來,使用SmoothL1損失函數(shù)計算回歸損失,定義如下:
其中:x表示預(yù)測邊界框的坐標向量與真實邊界框的坐標向量的差,坐標向量包含邊界框的中心坐標、寬度和高度。
圖1 中的圓角虛線框表示本文的主要改進工作,分別是多尺度BoTNet-101 和嵌入OHEM 的預(yù)測器。
BoTNet-101 是一個基于Transformer 的新型骨干網(wǎng)絡(luò),通過把圖2(a)ResNet-101 結(jié)構(gòu)的Block 5 的3 × 3 卷積替換成圖2(b)中Block 5 的多頭自注意力(Multi-Head Self-Attention,MHSA)而形成,該模型架構(gòu)簡單但功能強大。將圖2(b)BoTNet-101 的多頭自注意力改進為多尺度多頭自注意力,即可得到多尺度BoTNet-101,如圖2(c)所示。在多尺度BoTNet-101 中,同時使用CNN 和多頭自注意力機制提取圖像特征,能夠有效地結(jié)合圖像的局部特征和全局特征。其中:Block 1、Block 2、Block 3 和Block 4 使用CNN 處理大尺度圖像并提取局部特征信息,生成低分辨率的特征圖;Block 5 則基于多頭自注意力對低分辨率特征圖的全局信息進行聚合。多尺度BoTNet-101 把CNN 和Transformer 的優(yōu)勢結(jié)合起來,提升骨干網(wǎng)絡(luò)的特征提取能力。多頭自注意力的運算過程如圖3 所示,其中,⊕表示逐元素相加,?表示矩陣乘法。
圖2 特征提取網(wǎng)絡(luò)的結(jié)構(gòu)變化Fig.2 Structure change of feature extraction network
在圖3 中,輸入特征圖與1 × 1 卷積核WQ、WK、WV相乘分別得到特征圖q、k、v。Rh和Rw分別是使用二維相對位置自注意力[26-27]計算得到的垂直和水平方向上的相對位置信息,將Rh和Rw調(diào)整大小并相加融合得到位置編碼r。通過計算qkT+qrT得到空間敏感的相似性特征,讓多頭自注意力機制關(guān)注合適區(qū)域,其中T 表示矩陣的轉(zhuǎn)置運算。注意力得分由空間敏感的相似性特征經(jīng)過Softmax 運算得到,并與v相乘作為多頭自注意力的輸出。
圖3 多尺度多頭自注意力的運算過程Fig.3 Multi-scale multi-head self-attention calculation process
在多頭自注意力機制中,要求輸入固定尺寸的特征圖。因此,訓練樣本在輸入后需要縮放到固定的尺寸。檢測模型基于該縮放尺度生成相應(yīng)的預(yù)測框,當這些預(yù)測框在原始圖像上標定目標時,預(yù)測框的位置和大小會出現(xiàn)偏差。另外,由于骨干網(wǎng)絡(luò)對單尺度圖像提取到的特征信息不夠豐富,模型容易出現(xiàn)對圖像目標的誤檢和漏檢的情況,導(dǎo)致模型的檢測精度下降。因此,本文根據(jù)硅藻圖像的特性,設(shè)計并收集硅藻圖像采集的所有尺寸,在模型訓練的過程中,根據(jù)當前的圖像大小選擇對應(yīng)的多頭自注意力層,即多尺度多頭自注意力。多尺度多頭自注意力可以兼容CNN 對不同尺寸的輸入圖像生成的特征圖,使特征提取網(wǎng)絡(luò)能夠提取更加豐富的圖像特征。
在小樣本目標檢測中,可用的訓練資料有限,檢測模型不能利用大量的訓練樣本逐步更新模型參數(shù),所以每一次的參數(shù)更新都至關(guān)重要。在小樣本硅藻檢測中,硅藻目標與背景存在類別不平衡,為了讓少量的硅藻訓練樣本得到高效利用,在模型預(yù)測器中嵌入OHEM。通過挖掘難以識別的目標區(qū)域并基于此更新參數(shù),模型的檢測性能可以得到有效提升。
OHEM 是一種能夠自動選擇難以識別的樣本進行訓練的方法,可用于解決簡單樣本和難識別樣本之間的類別不平衡問題。OHEM 的基本結(jié)構(gòu)如圖4 所示,由特征提取器和RPN 運算輸出的N個感興趣區(qū)域RoIs 作為輸入,分別經(jīng)過分類損失計算和邊界框損失計算,得到每個RoI 的分類損失值和回歸損失值。將分類損失值與回歸損失值之和從大到小排序,損失值之和大的為難識別樣本。由于位置上相鄰的RoI 會輸出相近的損失值,其表示的實際上是同一個目標實例。因此,OHEM 使用非極大值抑制(Non-Maximum Suppression,NMS)算法[28]移除交并比(Intersection over Union,IoU)大于一定閾值的RoI。最后選擇B個損失值最大的RoI 作為難例樣本,剩下的RoI 則作為非難例樣本。難例樣本將用于反向傳播進行參數(shù)更新。
圖4 OHEM結(jié)構(gòu)Fig.4 Structure of OHEM
2.1.1 Pascal VOC數(shù)據(jù)集
為了讓模型學習類不可知的特征,使用Pascal VOC 2007+2012 的train/val 數(shù)據(jù)集中的15 個類別作為基礎(chǔ)訓練階段的訓練集,其中包含aeroplane、bicycle、boat、bottle、car、cat、chair、diningtable、dog、horse、person、pottedplant、sheep、train、tvmonitor。每一個類別的圖像數(shù)量以及實例個數(shù)如表1所示。
表1 Pascal VOC數(shù)據(jù)集的15類分類明細Tab.1 Classification details of 15 classes in Pascal VOC dataset
2.1.2 硅藻數(shù)據(jù)集
為了有效評估本文模型在僅用少量訓練樣本的條件下,對硅藻進行識別與定位的性能,通過高分辨率掃描電子顯微鏡對硅藻進行成像并構(gòu)建了一個硅藻數(shù)據(jù)集。數(shù)據(jù)集包含的硅藻種類及其對應(yīng)的數(shù)量如表2 所示。其中,硅藻圖像的種類分別有小環(huán)藻、舟形藻、菱形藻、針桿藻、異極藻、橋彎藻、卵形藻和直鏈藻,總量為2 606 張。小環(huán)藻、舟形藻、菱形藻和直鏈藻各有400 張,針桿藻有280 張,異極藻有220 張,橋彎藻有346 張,卵形藻有160 張。實例表示硅藻目標,一張硅藻圖像中可存在多個實例。在本文所構(gòu)建的硅藻數(shù)據(jù)集中,硅藻實例的總量為2 652 個,其中小環(huán)藻有417 個,舟形藻有404 個,菱形藻有407 個,針桿藻有283 個,異極藻有222個,橋彎藻有347 個,卵形藻有161 個,直鏈藻有411 個。各類硅藻圖像如圖5 所示。
圖5 硅藻樣本圖像Fig.5 Diatom sample images
表2 硅藻數(shù)據(jù)集統(tǒng)計信息Tab.2 Diatom dataset statistics
本文研究的是10-shot 硅藻檢測,即從每一類硅藻圖像中選擇10 個硅藻實例作為訓練樣本。通過設(shè)置固定的隨機種子,在每一類硅藻圖像中隨機選擇10 個硅藻實例,共80個,小樣本硅藻訓練集數(shù)據(jù)分布如表3 所示。測試集是由除訓練集以外的所有硅藻實例組成,具體分布如表4 所示。
表3 小樣本硅藻訓練集Tab.3 Few-shot diatom training set
表4 硅藻測試集Tab.4 Diatom test set
在本文中,硅藻小樣本目標檢測的實驗設(shè)置遵循由Wang 等[18]所提TFA 的實驗設(shè)置。在小樣本目標檢測中,數(shù)據(jù)集可以分為基類Cb和新類Cn?;愂蔷哂写罅靠捎糜柧殬颖镜念悇e,一般用于預(yù)訓練目標檢測模型。新類,也稱為未知類,指在基類預(yù)訓練中沒有參與訓練的類別,即Cb∩Cn=?,而且新類中每一類只有K(K一般小于等于10)個可用標注樣本。小樣本目標檢測的目標是把模型從大量的基類中學習到的知識泛化到新類,使新類在少量訓練樣本的條件下能夠獲得一個檢測性能良好的目標檢測模型。因此,本文的基類設(shè)置采用TFA 中使用的Pascal VOC 數(shù)據(jù)集的15 個類別,新類設(shè)置為8 類硅藻。
原始TFA 的訓練策略分為兩個階段:1)基礎(chǔ)訓練階段,使用大量的訓練數(shù)據(jù)訓練整個模型并輸出預(yù)訓練權(quán)重用于小樣本微調(diào)階段的初始化;2)小樣本微調(diào)階段,固定特征提取器,使其不進行參數(shù)更新,只微調(diào)模型的最后一層。在基類為Pascal VOC 數(shù)據(jù)集的15 個類別、新類為8 類常見硅藻的設(shè)置下,將原始TFA 的訓練策略應(yīng)用到小樣本硅藻檢測中,得到的平均精度均值(mean Average Precision,mAP)約為27.60%。導(dǎo)致硅藻類別的檢測精度低的原因是硅藻圖像與Pascal VOC 數(shù)據(jù)集的圖像存在較大的差異,在特征提取器固定的情況下,檢測模型無法學習硅藻目標的特征表示,從而出現(xiàn)使用舊的知識難以預(yù)測新的類別的情況。因此,本文模型對原始TFA 模型的訓練策略進行改進。通過開啟骨干網(wǎng)絡(luò)和RPN 的參數(shù)更新,特征提取網(wǎng)絡(luò)能夠在模型訓練的過程中學習硅藻的特征表示,從而使檢測模型在預(yù)測的過程中能夠準確地識別硅藻,提高檢測模型對硅藻的檢測精度。
模型的訓練過程分為兩個階段:1)模型基礎(chǔ)訓練階段,該階段涉及的網(wǎng)絡(luò)模塊如圖6 灰色模塊所示;2)模型微調(diào)訓練階段,該階段涉及的網(wǎng)絡(luò)模塊為圖6 中的所有模塊。在圖6 中,灰色模塊參與了模型基礎(chǔ)訓練。整個網(wǎng)絡(luò)參與了模型的微調(diào)訓練。
1)為了使模型學習類不可知的特征,即與類別不相關(guān)的特征,在模型基礎(chǔ)訓練階段,使用大型圖像數(shù)據(jù)集Pascal VOC 的15 個類別共20 335 張圖像,34 084 個目標實例作為訓練集。該階段使用的檢測模型是Faster R-CNN,其組成部分有骨干網(wǎng)ResNet-101、區(qū)域提議網(wǎng)絡(luò)RPN、RoI 池化、全連接層以及由分類器和邊界框回歸器構(gòu)成的預(yù)測器。其中ResNet-101 由5 個Block 組成,每個Block 各有1、9、12、69、9層卷積層,共100 層。在模型預(yù)測器中,分類器網(wǎng)絡(luò)由全連接層和分類函數(shù)組成,邊界框回歸網(wǎng)絡(luò)由全連接層和回歸函數(shù)組成。通過大型圖像數(shù)據(jù)集Pascal VOC 對整個模型進行訓練,圖6 中灰色模塊的參數(shù)基本固定,即圖像的類不可知特征。對于預(yù)測器學習到的參數(shù),在模型微調(diào)階段將會被隨機初始化。
2)為了充分利用硅藻圖像的局部和全局信息以及解決簡單樣本和難識別樣本之間的類別不平衡問題,在模型微調(diào)訓練階段,把圖6 骨干網(wǎng)的Block5 的3 × 3 卷積層替換為多尺度多頭自注意力機制,以及在模型預(yù)測器中引入OHEM 策略,形成MMSOFDD 模型。在此階段,訓練集更改為8 類硅藻圖像數(shù)據(jù)集,其中每一類硅藻只有10 個實例用于訓練,共80個。在微調(diào)模型進行訓練之前,為了保留基礎(chǔ)訓練得到的與目標類別不相關(guān)的特征,將基礎(chǔ)訓練階段的結(jié)果對MMSOFDD 模型進行初始化,即保持圖6 灰色模塊的卷積層參數(shù)不變。為了避免基礎(chǔ)訓練的Pascal VOC 的15 個類別分類特征對微調(diào)訓練8 類硅藻類別特征造成負面影響,隨機初始化分類器與回歸器的參數(shù)權(quán)值,同時調(diào)整學習率、迭代次數(shù)等超參數(shù)。由于硅藻圖像的目標與背景的概貌和細節(jié)與Pascal VOC 數(shù)據(jù)集的圖像之間相差巨大,因此,在微調(diào)階段,網(wǎng)絡(luò)所有的參數(shù)都需要更新。模型微調(diào)階段開始訓練,硅藻圖像經(jīng)過放縮后,多尺度BotNet-101 對其進行特征提取。首先,通過多尺度BotNet-101 的Block1、Block2、Block3 和Block4 的卷積層獲取硅藻目標的局部特征信息并生成低分辨率的特征圖;其次,通過Block5 的多尺度多頭自注意力提取該低分辨率的特征圖的全局特征信息得到特征圖;然后,通過RPN 和RoI 池化處理后,得到包含硅藻目標信息的RoI;分別計算這些RoI 的分類損失值與邊界框回歸損失值的和,采用OHEM 策略,選擇損失值和最大的若干個RoI 進行參數(shù)更新;最后,確定MMSOFDD 模型的參數(shù)。
圖6 網(wǎng)絡(luò)訓練結(jié)構(gòu)Fig.6 Structure of network training
本文實驗基于64 位操作系統(tǒng)Ubuntu 18.04 和PyTorch 框架完成,處理器型號為Intel Core i9-10900X,16 GB 內(nèi)存。顯卡型號為Nvidia GeForce GTX 3090,24 GB 內(nèi)存,采用Nvidia CUDA 11.0 加速工具箱。
在訓練過程中,輸入數(shù)據(jù)的批大小設(shè)置為8,使用隨機梯度下降優(yōu)化器(Stochastic Gradient Descent,SGD)進行訓練,其中,權(quán)重衰減為0.000 1,動量參數(shù)為0.9;學習率策略為step,其中基礎(chǔ)學習率是0.000 5,學習率調(diào)整倍數(shù)γ 是0.1,學習率變化步長為18 000,最大迭代次數(shù)為20 000,當訓練迭代次數(shù)小于18 000 時,學習率為0.000 5,訓練迭代次數(shù)大于等于18 000 時,學習率為0.000 05。
為了驗證本文實驗的有效性,本文采用Pascal VOC 標準的平均精度(Average Precision,AP)、平均精度均值(mAP)和8 類常見硅藻的檢測精度的標準差作為小樣本硅藻檢測實驗的評價指標。
為了驗證新增模塊在MMSOFDD 模型中具有提升模型檢測性能的作用,分別獨立引入多尺度多頭自注意力和嵌入OHEM 進行實驗,并結(jié)合兩個模塊進行實驗以探索兩者之間的相互作用。實驗定性結(jié)果如圖7 所示,其中:改進方法1 表示只引入多尺度多頭自注意力而沒有嵌入OHEM;改進方法2 表示只嵌入OHEM 而不引入多尺度多頭自注意力;MMSOFDD 表示同時引入多尺度多頭自注意力和嵌入OHEM,紅色矩形框表示識別錯誤,綠色矩形框表示識別正確。以下實驗均在調(diào)整訓練策略后進行。
在圖7 的例圖1 中,圖像背景非常粗糙,存在很多大小不一且不同形狀的干擾,這些干擾的分布隨機,亮度變化沒有規(guī)律。其中有一個小環(huán)藻在中央,小環(huán)藻的部分邊緣被遮擋導(dǎo)致部分紋理缺失。從圖7 可以看出:改進方法1 能夠充分提取圖像的特征提高TFA 的識別能力,從而正確識別硅藻。雖然改進方法2 漏檢了圖7 中例圖1 的硅藻,但當改進方法1和改進方法2 結(jié)合在一起時,MMSOFDD 既能夠正確檢測也能夠提高識別準確率。在圖7 的例圖2 中,菱形藻的形狀比較扁,內(nèi)部紋理非常模糊且圖像背景復(fù)雜。TFA 算法和改進方法1 把菱形藻誤識別為舟形藻,改進方法2 和MMSOFDD則檢測正確且MMSOFDD 的識別準確率更高,說明嵌入OHEM 既能夠正確識別TFA 中難識別的硅藻目標,也能夠與多尺度多頭自注意力相互作用,提高識別準確率。圖7 中的例圖3 的硅藻目標清晰度低且紋理丟失,與背景十分相似且圖像左上角有大面積的白色干擾,圖7 中的例圖4 硅藻目標雖然形狀完整,但背景十分復(fù)雜,亮度分布不均勻。TFA 方法對圖7 中的例圖3 和例圖4 中的硅藻都識別錯誤,改進方法1 和改進方法2 對其都識別正確,而MMSOFDD 對硅藻識別正確且準確率比改進方法1 和改進方法2 都高。因此,改進方法1 和改進方法2 都能夠有效提高TFA 的檢測精度,結(jié)合兩者能夠起到相互增益的作用,互補雙方的檢測能力,MMSOFDD 可以獲得更高的檢測性能。
圖7 不同模塊在消融實驗中定性結(jié)果Fig.7 Qualitative results of different modules in ablation experiment
實驗定量結(jié)果如表5 所示。
表5 不同模塊的mAP比較Tab.5 Comparison of mAP of different modules
為了進一步定量地檢驗?zāi)P偷男阅?,統(tǒng)計了不同模塊的mAP 值,如表5 所示。從表5 中可以看出,引入多尺度多頭自注意力后,圖像的局部信息和全局信息得到有效利用,改進方法1 的mAP 比TFA 提升了1.47 個百分點,精度達到65.18%。改進方法2 基于ResNet-101 提取圖像特征,在預(yù)測器中嵌入OHEM 解決前景目標和背景之間的不平衡問題,檢測精度達到66.83%,比TFA 提升了3.12 個百分點。從改進方法1 和改進方法2 中可以看出,多尺度多頭自注意力和OHEM 都對模型的檢測精度有所提升,因此,MMSOFDD 把多尺度多頭自注意力和OHEM 結(jié)合起來進行實驗,得到檢測精度69.60%。與TFA、改進方法1 和改進方法2 相比,MMSOFDD 分別提升了5.89、4.42 和2.77 個百分點,證明結(jié)合多尺度多頭自注意力與OHEM 對模型的檢測效果的提升有相互增益的作用。上述實驗結(jié)果表明,本文提出的MMSOFDD 能夠在少量訓練樣本的條件下有效提升硅藻的檢測精度。
為了進一步驗證MMSOFDD 能夠在訓練樣本量少的條件下獲得較高檢測精度,將其與FSRW(Few-Shot Re-Weighting)[11]、Meta R-CNN[13]、FSIW(Few-Shot In Wild)[12]、Context-Transformer[16]、MPSR(Multi-scale Positive Sample Refinement)[29]、DeFRCN(Decoupled Faster R-CNN)[30]、FSCE(Few-Shot object detection via Contrastive proposals Encoding)[19]小樣本目標檢測模型在10-shot 的訓練集設(shè)置下進行比較分析。實驗結(jié)果如表6 所示。
從表6 可以看出:
1)在8 類硅藻中,小環(huán)藻、針桿藻、卵形藻和直鏈藻在所有模型上的精度都比較高,而舟形藻、菱形藻、異極藻和橋彎藻的精度都比較低。因此,保證小環(huán)藻、針桿藻、卵形藻和直鏈藻的檢測精度的同時提升舟形藻、菱形藻、異極藻和橋彎藻的檢測精度是關(guān)鍵。MMSOFDD 對舟形藻、菱形藻和異極藻的檢測精度分別是55.37%、59.1%和62.60%,是所有模型中最高的,對比其他模型都有大幅度的提升。橋彎藻的檢測精度相較于Meta R-CNN、FSIW、Context-Transformer 和MPSR 也有較大的提升。從評價指標平均精度均值mAP 來看,MMSOFDD 達到69.60%,相較于FSRW、Meta R-CNN、FSIW、Context-Transformer、MPSR、DeFRCN 和FSCE,分別提高了2.71、8.00、8.70、56.02、8.69、4.96 和8.34 個百分點,說明MMSOFDD 對硅藻檢測的綜合性能更高。
2)從算法的魯棒性上看,魯棒性越好的模型,對不同硅藻的識別率AP 的標準差越接近零。表6 中統(tǒng)計了不同模型對不同硅藻的識別率AP 的標準差。雖然Context-Transformer模型獲得AP 的標準差達到4.42,但其各類硅藻的檢測精度較低,mAP 只有13.58%,不宜用于硅藻檢測。MMSOFDD 的標準差為14.67,低于除Context-Transformer 以外的所有對比模型,說明MMSOFDD 模型對8 類硅藻的檢測精度更為平衡,模型的魯棒性更好,在實際應(yīng)用中的應(yīng)用范圍更加廣泛。
表6 不同模型對8類硅藻的AP、mAP和AP標準差的比較Tab.6 Comparison of AP,mAP and standard deviation of AP among different models for 8 species of diatoms
因此,在法醫(yī)診斷溺水案件中,即使硅藻圖像的獲取和標注困難,MMSOFDD 能夠利用少量的硅藻樣本訓練得到一個精度較高的硅藻檢測器,有助于提高法醫(yī)的診斷速度。
把小樣本目標檢測應(yīng)用到硅藻檢測中,能夠有效解決硅藻樣本獲取困難的問題,有助于提高法醫(yī)診斷溺水案件的速度,但目前小樣本目標檢測仍然是一個挑戰(zhàn)。本文基于兩階段微調(diào)方法TFA 進行改進,引入基于Transformer 的特征提取網(wǎng)絡(luò)BoTNet 并將其改進為多尺度BoTNet-101,在預(yù)測器中嵌入OHEM 提出一個融合多尺度多頭自注意力和OHEM 的小樣本硅藻檢測模型MMSOFDD。實驗結(jié)果表明,多尺度BoTNet-101 結(jié)合了CNN 和Transformer 的優(yōu)勢,同時使用圖像的局部特征和全局特征,在訓練樣本量少的條件下能夠充分地利用訓練樣本。同時,多尺度BoTNet-101 中的多尺度多頭自注意力能夠處理CNN 輸出的不同尺寸的特征圖,從而提取更加豐富的信息。在預(yù)測器中加入OHEM 可以自動選擇出難識別的樣本并針對其進行訓練,有效解決前景目標與背景之間的類別不平衡問題。通過與其他小樣本目標檢測模型進行對比實驗驗證了MMSOFDD 有效地提高對硅藻的檢測能力,在10-shot 的條件下能夠達到較好的檢測效果,未來可以基于MMSOFDD 繼續(xù)提高對其他硅藻的檢測精度。