周淑娟,張 崳,張 恒,王 琦,劉光潔,朱金龍
(長春師范大學(xué)計算機科學(xué)與技術(shù)學(xué)院,吉林 長春 130032)
英國曼徹斯特大學(xué)于2010年憑借其突破性的石墨烯試驗榮獲諾貝爾物理獎[1]。此后對于納米技術(shù)的研究達到了高潮。納米材料的粒度在1~100 nm之間,由于其微粒的大小與物質(zhì)玻爾半徑相近,因此,納米材料具有很強的化學(xué)活性[2]和很高的吸附能力[3]。正是由于納米材料在涂料、催化、新能源等領(lǐng)域特殊的物理、化學(xué)性質(zhì),使納米材料在工業(yè)生產(chǎn)中有著廣泛的應(yīng)用前景[4]。
在納米粒子的檢測中,傳統(tǒng)的測量技術(shù)是以數(shù)字圖像為基礎(chǔ)。在邊緣的處理上,劉冕[5]在2014年提出了一種基于形態(tài)學(xué)的邊緣檢測方法,并使用了一種新的形態(tài)尺度算子對圖像進行提取。2017年,MIRZAEI等[6]利用改進的霍夫圓變換(Circular Hough Transform,CHT)技術(shù)改善TEM圖像中納米顆粒的敏感性和特異性,從而實現(xiàn)了對納米顆粒圖像的精確探測。在區(qū)域檢測方面,魏本征等[7]在2018年提出了一種新的基于局部特征限制的圖像分割方法。
近年來,隨著深度學(xué)習(xí)的深入和遷移學(xué)習(xí)的深入,在圖像識別和物體檢測等領(lǐng)域中,深度學(xué)習(xí)的應(yīng)用也日益廣泛[8-10],該方法具有較強的特征抽取和非線性擬合功能,因此能夠有效地應(yīng)用于各種場合。為此,有學(xué)者將深度學(xué)習(xí)技術(shù)引入納米顆粒檢測中。2019年,張芳等[11]提出了一種利用U-net卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)粒子的精確測量,實驗結(jié)果表明,該算法能夠精確地分割出圖像中的納米粒子,并對邊緣模糊、亮度不均勻的納米粒子進行有效的分割。2021年,劉淑慧等[12]利用深度學(xué)習(xí)方法對TEM納米顆粒的大小和形狀進行識別與粒徑統(tǒng)計。
目前對納米顆粒的大量研究是對粒子本身的分割和檢測,而在功能催化下納米級材料中納米粒子在催化劑表面成有序排列,形成各種結(jié)構(gòu)圖案[13]。本文使用Faster R-CNN模型對納米顆粒形成的結(jié)構(gòu)圖案進行目標檢測,并在此基礎(chǔ)上對數(shù)據(jù)集進行數(shù)據(jù)增強,同時使用一階段的YoloV3模型進行對比驗證。
本實驗的主要困難在于TEM影像均是灰度圖像,各部分的反差較大,除了背景部分受到核外殼的干擾外,其紋理信息也不豐富,而且目前尚無通用且標記好的納米材料數(shù)據(jù)庫,因此必須進行自行標記和預(yù)處理。另外,在以往的實驗中,對于納米顆粒的實驗大多數(shù)是對納米顆粒本身的研究,而對于納米顆粒結(jié)構(gòu)的研究很少,所以本實驗具有一定的挑戰(zhàn)性。
2015年,REN等[14]提出了Faster R-CNN的網(wǎng)絡(luò)架構(gòu),F(xiàn)aster R-CNN模型包括四大模塊:數(shù)據(jù)集、特征提取、RPN(Region Proposal Network)和ROIPooling四個部分,模型架構(gòu)見圖1,首先將數(shù)據(jù)集圖片放到特征提取模塊中進行特征提取,然后將提取到的特征輸入到RPN網(wǎng)絡(luò)中,篩選目標候選框,最后將所有的候選框輸入到ROIPooling中,對目標進行分類和識別。在數(shù)據(jù)集格式上,主要有基于VOC和COCO的數(shù)據(jù)集格式,本文采用的是VOC格式。特征提取模塊是從CNN中抽取圖像的特征,在REN等[14]提出的Faster R-CNN模型中使用的是ZF和VGG16模型,本文進行了改進,以ResNet50網(wǎng)絡(luò)模式為基礎(chǔ)對特征進行提取,ResNet50的網(wǎng)絡(luò)結(jié)構(gòu)見圖2,在ResNet50網(wǎng)絡(luò)結(jié)構(gòu)中,首先進行一層普通的卷積與池化,然后使用BottleNeck進行卷積處理。BottleNeck的構(gòu)造見圖3,BottleNeck的網(wǎng)絡(luò)結(jié)構(gòu)是先通過1*1的卷積對特征圖像進行降維,做一次3*3的卷積操作,再通過1*1卷積恢復(fù)維度,后面跟著BN和ReLU層,然后進行連接;FasterR-CNN體系架構(gòu)的一個重要創(chuàng)新之處是RPN,它的作用是提供備選區(qū)域(每個圖表大約有2 000個候選框),其架構(gòu)見圖4,主要結(jié)構(gòu)為將特征圖經(jīng)過一個3*3的卷積之后分別進入了不同的分支,對應(yīng)不同的1*1卷積。第一個卷積為定位層,輸出候選框的4個坐標偏移。第二個卷積為分類層,輸出候選框的前后景概率。ROIPooling將會對ROIs進行歸類和調(diào)整,并根據(jù)RPN發(fā)現(xiàn)的ROIs來判定該ROIs是否包括了一個對象,并修改了該塊的位置和坐標,最后通過全連接層進行分類與回歸預(yù)測量的計算。
圖1 Faster R-CNN網(wǎng)絡(luò)結(jié)構(gòu)圖
圖2 ResNet50網(wǎng)絡(luò)結(jié)構(gòu)
圖3 BottleNeck模塊
圖4 RPN網(wǎng)絡(luò)結(jié)構(gòu)
本次實驗的數(shù)據(jù)集來自BOIKO[13]使用顯微鏡得到的有序數(shù)據(jù)集dataset1,其中包含750幅代表主要有序納米結(jié)構(gòu)的TEM圖像,每個圖像的大小為1 280×1 024像素,本實驗中主要識別含有circle結(jié)構(gòu)的圖像,因此,從數(shù)據(jù)集中篩選出77張帶有circle標簽的圖片,并使用數(shù)據(jù)增強擴充數(shù)據(jù)集到847張,其中,training dataset為679張,Eval dataset為84張,Test dataset為84張。
1.2.1 數(shù)據(jù)集標注
由于目前沒有公開的納米顆粒結(jié)構(gòu)的數(shù)據(jù)集,因此本實驗需要自行對數(shù)據(jù)集進行手動標記,在本次數(shù)據(jù)集標注使用的軟件為labelimg,標注完生成xml文件,作為mask文件。使用的深度學(xué)習(xí)模型為Faster R-CNN,數(shù)據(jù)集格式為VOCdevkit2007格式,其中,Annotations文件中存放標注生成的mask文件,JPEGImages文件中存放原始的圖片文件。
1.2.2 數(shù)據(jù)增強
在原始數(shù)據(jù)集中,篩選77張圖片用于模型的訓(xùn)練、驗證和測試,但是通過實驗發(fā)現(xiàn),其實驗結(jié)果并不理想。在表1中,可以看到模型Faster R-CNN的實驗結(jié)果,其map值(mean average precision)為56.872 4,因此對實驗圖片進行了數(shù)據(jù)增強,本實驗中數(shù)據(jù)增強方法有橫向翻轉(zhuǎn)加強、豎向加強、鏡像對稱加強、仿射改變、旋轉(zhuǎn)、高斯加噪聲、對比度改變、尺度轉(zhuǎn)換和平移,使每幅圖像隨機增加10幅,從原始的77幅增加到847幅,并將其分成訓(xùn)練集、驗證集和測試集,分割比例為8∶1∶1,最終,訓(xùn)練集為677張,驗證集為5張,測試集為85張。
表1 各模型的實驗結(jié)果
在實驗中,訓(xùn)練的參數(shù)有:學(xué)習(xí)率learning_rate;優(yōu)化器進行預(yù)訓(xùn)練過程的步數(shù)warmup_steps;優(yōu)化器訓(xùn)練的起始學(xué)習(xí)率warmup_start_lr;優(yōu)化器的學(xué)習(xí)率衰減輪數(shù)lr_decay_epochs;nms_threshold為RCNN部分在進行非極大值抑制時,用于剔除檢測框所需的IoU閾值,所有參數(shù)具體設(shè)置如表2所示。
表2 實驗參數(shù)
在實驗中使用目標檢測領(lǐng)域常用的評價指標map來衡量算法的性能。AP是指一個類別的平均精度,它表示模型在某一個類別上的效果。map是所有類別AP的平均值,表示模型在所有類別上的整體效果,召回率為在[0,1]范圍內(nèi)的平均AP值。在二分類問題中,分類器的結(jié)果在測試數(shù)據(jù)上通常有三種情況:T(True Positive)、F(False Positive)和M(False Negative),其中,P代表AP值,R代表召回率。
P=T/(T+F),
(1)
R=T/(T+M).
(2)
本文使用BOIKO[13]通過顯微鏡得到的數(shù)據(jù)集進行算法訓(xùn)練與測試,圓形納米顆粒結(jié)構(gòu)的檢測結(jié)果如圖5所示,其中,圖5(a)(c)(e)是原始圖像預(yù)處理圖,圖5(b)(d)(f)是使用改進后的Faster R-CNN模型的檢測結(jié)果圖;在圖5(b)(d)(f)的結(jié)果圖中,檢測框上的數(shù)字代表置信度,如圖5(b)中,上方寫的circle 1.00代表目標為circle的置信度為1,表示將目標完全檢測了出來。在本實驗中,RCNN部分在進行非極大值抑制時,設(shè)置剔除檢測框所需的IoU閾值為0.5,過濾掉低置信度邊界框所需的置信度閾值設(shè)置為0.05。從實驗結(jié)果圖可以看出來,使用改進后的Faster R-CNN模型可以準確識別出圖像中帶有圓形的目標結(jié)構(gòu)。
(a)
(b)
(c)
(d)
(e)
(f)
將改進后的算法與YoloV3模型進行對比,如表1所示。實驗結(jié)果如下:改進的算法Faster R-CNN_data_agu_Res在訓(xùn)練次數(shù)為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%,因此改進算法的性能更好。
綜上所述,本文提出了一種基于深度學(xué)習(xí)的納米顆粒結(jié)構(gòu)識別的方法,使用Faster R-CNN網(wǎng)絡(luò)對納米結(jié)構(gòu)進行識別,避免了傳統(tǒng)方法對顆粒結(jié)構(gòu)識別費事且費力的缺點,可以更高效地進行目標檢測。此外,對數(shù)據(jù)集進行了數(shù)據(jù)增強,使實驗結(jié)果更加準確,其map值變高。在實驗中與一階段的YoloV3方法進行了比較,發(fā)現(xiàn)對于納米顆粒結(jié)構(gòu)的識別Faster R-CNN表現(xiàn)出了更好的實驗效果。將目標檢測和手動指導(dǎo)標注結(jié)果作為標準進行相比,map值達到了98.663 1,實驗結(jié)果證明了本文方法準確可靠。