周淑娟,張 崳,張 恒,王 琦,劉光潔,朱金龍
(長春師范大學計算機科學與技術學院,吉林 長春 130032)
英國曼徹斯特大學于2010年憑借其突破性的石墨烯試驗榮獲諾貝爾物理獎[1]。此后對于納米技術的研究達到了高潮。納米材料的粒度在1~100 nm之間,由于其微粒的大小與物質玻爾半徑相近,因此,納米材料具有很強的化學活性[2]和很高的吸附能力[3]。正是由于納米材料在涂料、催化、新能源等領域特殊的物理、化學性質,使納米材料在工業生產中有著廣泛的應用前景[4]。
在納米粒子的檢測中,傳統的測量技術是以數字圖像為基礎。在邊緣的處理上,劉冕[5]在2014年提出了一種基于形態學的邊緣檢測方法,并使用了一種新的形態尺度算子對圖像進行提取。2017年,MIRZAEI等[6]利用改進的霍夫圓變換(Circular Hough Transform,CHT)技術改善TEM圖像中納米顆粒的敏感性和特異性,從而實現了對納米顆粒圖像的精確探測。在區域檢測方面,魏本征等[7]在2018年提出了一種新的基于局部特征限制的圖像分割方法。
近年來,隨著深度學習的深入和遷移學習的深入,在圖像識別和物體檢測等領域中,深度學習的應用也日益廣泛[8-10],該方法具有較強的特征抽取和非線性擬合功能,因此能夠有效地應用于各種場合。為此,有學者將深度學習技術引入納米顆粒檢測中。2019年,張芳等[11]提出了一種利用U-net卷積神經網絡實現粒子的精確測量,實驗結果表明,該算法能夠精確地分割出圖像中的納米粒子,并對邊緣模糊、亮度不均勻的納米粒子進行有效的分割。2021年,劉淑慧等[12]利用深度學習方法對TEM納米顆粒的大小和形狀進行識別與粒徑統計。
目前對納米顆粒的大量研究是對粒子本身的分割和檢測,而在功能催化下納米級材料中納米粒子在催化劑表面成有序排列,形成各種結構圖案[13]。本文使用Faster R-CNN模型對納米顆粒形成的結構圖案進行目標檢測,并在此基礎上對數據集進行數據增強,同時使用一階段的YoloV3模型進行對比驗證。
本實驗的主要困難在于TEM影像均是灰度圖像,各部分的反差較大,除了背景部分受到核外殼的干擾外,其紋理信息也不豐富,而且目前尚無通用且標記好的納米材料數據庫,因此必須進行自行標記和預處理。另外,在以往的實驗中,對于納米顆粒的實驗大多數是對納米顆粒本身的研究,而對于納米顆粒結構的研究很少,所以本實驗具有一定的挑戰性。
2015年,REN等[14]提出了Faster R-CNN的網絡架構,Faster R-CNN模型包括四大模塊:數據集、特征提取、RPN(Region Proposal Network)和ROIPooling四個部分,模型架構見圖1,首先將數據集圖片放到特征提取模塊中進行特征提取,然后將提取到的特征輸入到RPN網絡中,篩選目標候選框,最后將所有的候選框輸入到ROIPooling中,對目標進行分類和識別。在數據集格式上,主要有基于VOC和COCO的數據集格式,本文采用的是VOC格式。特征提取模塊是從CNN中抽取圖像的特征,在REN等[14]提出的Faster R-CNN模型中使用的是ZF和VGG16模型,本文進行了改進,以ResNet50網絡模式為基礎對特征進行提取,ResNet50的網絡結構見圖2,在ResNet50網絡結構中,首先進行一層普通的卷積與池化,然后使用BottleNeck進行卷積處理。BottleNeck的構造見圖3,BottleNeck的網絡結構是先通過1*1的卷積對特征圖像進行降維,做一次3*3的卷積操作,再通過1*1卷積恢復維度,后面跟著BN和ReLU層,然后進行連接;FasterR-CNN體系架構的一個重要創新之處是RPN,它的作用是提供備選區域(每個圖表大約有2 000個候選框),其架構見圖4,主要結構為將特征圖經過一個3*3的卷積之后分別進入了不同的分支,對應不同的1*1卷積。第一個卷積為定位層,輸出候選框的4個坐標偏移。第二個卷積為分類層,輸出候選框的前后景概率。ROIPooling將會對ROIs進行歸類和調整,并根據RPN發現的ROIs來判定該ROIs是否包括了一個對象,并修改了該塊的位置和坐標,最后通過全連接層進行分類與回歸預測量的計算。

圖1 Faster R-CNN網絡結構圖

圖2 ResNet50網絡結構

圖3 BottleNeck模塊

圖4 RPN網絡結構
本次實驗的數據集來自BOIKO[13]使用顯微鏡得到的有序數據集dataset1,其中包含750幅代表主要有序納米結構的TEM圖像,每個圖像的大小為1 280×1 024像素,本實驗中主要識別含有circle結構的圖像,因此,從數據集中篩選出77張帶有circle標簽的圖片,并使用數據增強擴充數據集到847張,其中,training dataset為679張,Eval dataset為84張,Test dataset為84張。
1.2.1 數據集標注
由于目前沒有公開的納米顆粒結構的數據集,因此本實驗需要自行對數據集進行手動標記,在本次數據集標注使用的軟件為labelimg,標注完生成xml文件,作為mask文件。使用的深度學習模型為Faster R-CNN,數據集格式為VOCdevkit2007格式,其中,Annotations文件中存放標注生成的mask文件,JPEGImages文件中存放原始的圖片文件。
1.2.2 數據增強
在原始數據集中,篩選77張圖片用于模型的訓練、驗證和測試,但是通過實驗發現,其實驗結果并不理想。在表1中,可以看到模型Faster R-CNN的實驗結果,其map值(mean average precision)為56.872 4,因此對實驗圖片進行了數據增強,本實驗中數據增強方法有橫向翻轉加強、豎向加強、鏡像對稱加強、仿射改變、旋轉、高斯加噪聲、對比度改變、尺度轉換和平移,使每幅圖像隨機增加10幅,從原始的77幅增加到847幅,并將其分成訓練集、驗證集和測試集,分割比例為8∶1∶1,最終,訓練集為677張,驗證集為5張,測試集為85張。

表1 各模型的實驗結果
在實驗中,訓練的參數有:學習率learning_rate;優化器進行預訓練過程的步數warmup_steps;優化器訓練的起始學習率warmup_start_lr;優化器的學習率衰減輪數lr_decay_epochs;nms_threshold為RCNN部分在進行非極大值抑制時,用于剔除檢測框所需的IoU閾值,所有參數具體設置如表2所示。

表2 實驗參數
在實驗中使用目標檢測領域常用的評價指標map來衡量算法的性能。AP是指一個類別的平均精度,它表示模型在某一個類別上的效果。map是所有類別AP的平均值,表示模型在所有類別上的整體效果,召回率為在[0,1]范圍內的平均AP值。在二分類問題中,分類器的結果在測試數據上通常有三種情況:T(True Positive)、F(False Positive)和M(False Negative),其中,P代表AP值,R代表召回率。
P=T/(T+F),
(1)
R=T/(T+M).
(2)
本文使用BOIKO[13]通過顯微鏡得到的數據集進行算法訓練與測試,圓形納米顆粒結構的檢測結果如圖5所示,其中,圖5(a)(c)(e)是原始圖像預處理圖,圖5(b)(d)(f)是使用改進后的Faster R-CNN模型的檢測結果圖;在圖5(b)(d)(f)的結果圖中,檢測框上的數字代表置信度,如圖5(b)中,上方寫的circle 1.00代表目標為circle的置信度為1,表示將目標完全檢測了出來。在本實驗中,RCNN部分在進行非極大值抑制時,設置剔除檢測框所需的IoU閾值為0.5,過濾掉低置信度邊界框所需的置信度閾值設置為0.05。從實驗結果圖可以看出來,使用改進后的Faster R-CNN模型可以準確識別出圖像中帶有圓形的目標結構。

(a)

(b)

(c)

(d)

(e)

(f)
將改進后的算法與YoloV3模型進行對比,如表1所示。實驗結果如下:改進的算法Faster R-CNN_data_agu_Res在訓練次數為70后,損失loss值為0.094 8,目標框的map值達到98.663 1。相比之下,未改進的Faster R-CNN模型的loss值為0.217 6,map值為56.872 4,一階段的YoloV3算法的loss值為0.012 6,map值為87.484 7。改進模型與一階段的YoloV3算法相比,其map值提升了大約11%,比最原始的Faster R-CNN算法的map值提升了大約41%,因此改進算法的性能更好。
綜上所述,本文提出了一種基于深度學習的納米顆粒結構識別的方法,使用Faster R-CNN網絡對納米結構進行識別,避免了傳統方法對顆粒結構識別費事且費力的缺點,可以更高效地進行目標檢測。此外,對數據集進行了數據增強,使實驗結果更加準確,其map值變高。在實驗中與一階段的YoloV3方法進行了比較,發現對于納米顆粒結構的識別Faster R-CNN表現出了更好的實驗效果。將目標檢測和手動指導標注結果作為標準進行相比,map值達到了98.663 1,實驗結果證明了本文方法準確可靠。