張仲圓,劉淑慧
(大連交通大學(xué)電氣信息工程學(xué)院,遼寧大連 116028)
在催化材料領(lǐng)域,基于原位電鏡納米材料圖像的識(shí)別與追蹤是表征材料結(jié)構(gòu),進(jìn)而了解材料性能的一個(gè)重要環(huán)節(jié)。在原位電鏡中可以實(shí)時(shí)看到化學(xué)反應(yīng)過程,相比靜態(tài)顯微圖像,會(huì)產(chǎn)生海量視頻數(shù)據(jù),因此,在化學(xué)反應(yīng)過程中高效、可靠的實(shí)現(xiàn)追蹤與信息提取是決定原位電鏡應(yīng)用于催化材料領(lǐng)域的關(guān)鍵要素。在傳統(tǒng)納米材料圖像的數(shù)據(jù)分析中,通常采用專業(yè)軟件進(jìn)行人工標(biāo)注和人工追蹤的方法,這種方法非常耗時(shí)和繁瑣,且標(biāo)注的數(shù)量有限,獲得數(shù)據(jù)結(jié)果有所不足,無(wú)法有效挖掘整個(gè)化學(xué)反應(yīng)過程中納米材料的有用信息。因此,需要一體化、自動(dòng)的方法來(lái)識(shí)別和追蹤納米顆粒。在計(jì)算機(jī)視覺領(lǐng)域中,目標(biāo)識(shí)別和目標(biāo)追蹤的發(fā)展很快,很大程度上受強(qiáng)大的深度學(xué)習(xí)的影響,比如FAST-RCNN[1]、FASTER-RCNN[2]和YOLO[3]算法等用于目標(biāo)識(shí)別和目標(biāo)追蹤,這些算法在計(jì)算機(jī)視覺領(lǐng)域得到了廣泛的應(yīng)用[4-5]。基于卷積神經(jīng)網(wǎng)絡(luò)的圖像算法在自然場(chǎng)景等領(lǐng)域得到了廣泛的應(yīng)用,但針對(duì)納米材料圖像,文獻(xiàn)多用分水嶺分割[6]、Markov 隨機(jī)場(chǎng)[7]等傳統(tǒng)算法來(lái)嘗試圖像識(shí)別。針對(duì)納米顆粒原位電鏡視頻數(shù)據(jù)分析,需要精確的實(shí)例分割與追蹤,進(jìn)而完成化學(xué)反應(yīng)過程中納米顆粒有用信息的提取,如納米顆粒的直徑、面積等變化,這些任務(wù)目前來(lái)說(shuō)是具有很大挑戰(zhàn)性的。
基于此,文中將深度學(xué)習(xí)方法遷移到催化材料領(lǐng)域來(lái)進(jìn)行原位電鏡視頻圖像納米顆粒的識(shí)別與追蹤,驗(yàn)證算法的有效性。算法主要由兩部分組成:實(shí)例分割模塊和目標(biāo)追蹤模塊。實(shí)例分割模塊采用MASK-RCNN,產(chǎn)生納米顆粒圖像的掩膜,實(shí)現(xiàn)納米顆粒與背景的分割。同時(shí),開發(fā)了一個(gè)基于Trackpy開源軟件包的具有圖形界面的納米顆粒追蹤器,便于納米顆粒的追蹤過程展示和數(shù)據(jù)信息統(tǒng)計(jì),為科研人員分析納米材料化學(xué)反應(yīng)過程提供詳細(xì)的信息并指導(dǎo)材料的制備。
此次實(shí)驗(yàn)采用納米顆粒催化劑材料視頻圖像如圖1 所示,分為兩部分,淺色部分為背景,深色部分為催化劑,即納米顆粒,由貴金屬組成。原位電鏡圖像均是灰度圖像,背景部分與前景部分對(duì)比度不高,紋理信息不豐富,無(wú)法靠人工提取特征。該實(shí)驗(yàn)提出一種基于深度學(xué)習(xí)的實(shí)例分割與追蹤算法,對(duì)原位電鏡視野中納米顆粒在整個(gè)化學(xué)反應(yīng)過程中進(jìn)行目標(biāo)的識(shí)別和追蹤。
圖1 納米顆粒圖像
納米顆粒識(shí)別與追蹤流程如圖2 所示,首先通過原位電鏡獲取化學(xué)反應(yīng)過程中的視頻圖像,然后標(biāo)準(zhǔn)納米顆粒數(shù)據(jù)集,最后對(duì)MASK-RCNN 實(shí)例分割網(wǎng)絡(luò)[9]進(jìn)行訓(xùn)練,完成對(duì)視頻圖像中所有幀的納米顆粒分割,輸出MASK 掩膜圖像。同時(shí),開發(fā)了一個(gè)基于Trackpy 的納米顆粒追蹤器,將納米顆粒追蹤過程進(jìn)行界面顯示,最后對(duì)輸出的識(shí)別跟蹤結(jié)果進(jìn)行信息統(tǒng)計(jì)與分析。
圖2 納米顆粒識(shí)別與追蹤流程
MASK-RCNN 實(shí)例分割算法主要是由目標(biāo)檢測(cè)部分和MASK 分割部分組成,目標(biāo)檢測(cè)部分實(shí)現(xiàn)了對(duì)納米顆粒的識(shí)別和定位,分割部分通過全卷積網(wǎng)絡(luò)[10](Fully Convolutional Network,F(xiàn)CN)生成了掩膜區(qū)域,實(shí)現(xiàn)了對(duì)納米顆粒的準(zhǔn)確分割,MASK-RCNN實(shí)例分割算法可以達(dá)到像素級(jí)別的實(shí)例分割效果。
文中采用的MASK-RCNN算法的整體框架如圖3所示。首先,特征提取網(wǎng)絡(luò)會(huì)對(duì)納米顆粒圖像進(jìn)行特征的提取和融合,得到對(duì)應(yīng)納米顆粒的特征圖,采用區(qū)域建議網(wǎng)絡(luò)[11](Region Proposal Network,RPN)在其特征圖上生成先驗(yàn)框來(lái)進(jìn)行匹配區(qū)域[12](ROI Align)和篩選來(lái)得到較準(zhǔn)確的建議框,然后,對(duì)建議框和實(shí)際框進(jìn)行對(duì)比得到預(yù)測(cè)框,接著對(duì)預(yù)測(cè)框作出分類和定位,并結(jié)合納米顆粒圖像的識(shí)別結(jié)果得到納米顆粒圖像對(duì)應(yīng)的MASK 掩膜圖像,最終得到了對(duì)納米顆粒圖像的實(shí)例分割結(jié)果。
圖3 MASK-RCNN算法整體框架
1.1.1 RPN網(wǎng)絡(luò)
RPN 網(wǎng)絡(luò)通過比例不一致的窗口在納米顆粒特征圖上進(jìn)行滑動(dòng)從而生成候選區(qū)域。RPN 包含三個(gè)長(zhǎng)寬比例分別為1∶1、1∶2、2∶1 的窗口,RPN 利用該尺度窗口對(duì)特征圖進(jìn)行滑窗,當(dāng)交并比[13](Intersection over Union,IoU)大于或等于0.5 時(shí),認(rèn)為其為正例,并對(duì)其進(jìn)行回歸。
交并比計(jì)算如式(1)所示:
式中,A為RPN 網(wǎng)絡(luò)生成的先驗(yàn)框,B為訓(xùn)練集中正確的真實(shí)框,SA∩B為A、B的重疊面積,SA∪B為A、B的并集面積。
1.1.2 ROI Align層
ROI Align 層對(duì)ROI 特征圖進(jìn)行池化的操作,可以將不同大小的納米顆粒特征圖通過該層池化為固定大小的特征圖,ROI Align 算法流程如圖4 所示。
圖4 ROl Align算法流程
ROI Align 層采用的是雙線性插值的方法,主要特點(diǎn)是保留了浮點(diǎn)型坐標(biāo)系,這可以避免產(chǎn)生量化誤差,使得納米顆粒圖像和特征圖進(jìn)行一對(duì)一匹配。該算法如式(2)-(4)所示:
1)對(duì)x方向進(jìn)行線性插值:
2)對(duì)y方向進(jìn)行線性插值:
1.1.3 損失函數(shù)定義
MASK-RCNN 算法主要對(duì)以下三個(gè)部分進(jìn)行實(shí)例分割,即納米顆粒的目標(biāo)檢測(cè)定位、納米顆粒和背景的分類、納米顆粒和背景的分割。因此,損失函數(shù)包括目標(biāo)檢測(cè)定位損失、納米顆粒和背景的分類損失和分割損失。因此,損失函數(shù)如式(5)所示:
納米顆粒和背景的分類損失如式(6)所示:
目標(biāo)檢測(cè)的定位損失如式(8)所示:
納米顆粒和背景的分割損失即MASK 掩膜損失,使用該類別的交叉熵作為誤差值進(jìn)行計(jì)算,其計(jì)算如式(10)所示:
1.1.4 訓(xùn)練過程
該實(shí)驗(yàn)的實(shí)例分割模型在Window10 操作系統(tǒng)下進(jìn)行,使用Pycharm 集成開發(fā)環(huán)境對(duì)代碼進(jìn)行編寫與調(diào)試,實(shí)驗(yàn)環(huán)境配置如表1 所示。
表1 實(shí)驗(yàn)環(huán)境配置
利用原位電鏡獲取納米顆粒結(jié)構(gòu)特征的成本較高,調(diào)試時(shí)間較長(zhǎng),因此納米顆粒圖像數(shù)據(jù)集的圖像數(shù)量有限,為了提高納米顆粒的實(shí)例分割精度,需要對(duì)納米顆粒圖像數(shù)據(jù)集進(jìn)行旋轉(zhuǎn)、移位、縮放等數(shù)據(jù)增強(qiáng)的操作。納米顆粒圖像的像素大小為256×256,原始數(shù)據(jù)集的張數(shù)為283 張,利用數(shù)據(jù)增強(qiáng)對(duì)該數(shù)據(jù)集進(jìn)行數(shù)據(jù)擴(kuò)充,可擴(kuò)展到三千余張。其中,將80%的數(shù)據(jù)作為測(cè)試集,20%的數(shù)據(jù)作為驗(yàn)證集。
深度學(xué)習(xí)框架為Tensorflow 和Keras,該深度學(xué)習(xí)框架是使用數(shù)據(jù)流圖進(jìn)行數(shù)值運(yùn)算的代碼庫(kù),具有很好的通用性,常應(yīng)用在機(jī)器學(xué)習(xí)等領(lǐng)域。本實(shí)驗(yàn)使用NVIDIA 的GPU 版本,利用GPU 的性能優(yōu)勢(shì)加速提高實(shí)例分割網(wǎng)絡(luò)模型的訓(xùn)練效率。
實(shí)驗(yàn)所需其他相關(guān)的包和模塊主要有OpenCVpython 和Numpy 庫(kù),其中OpenCV 是常用于圖像處理的開源函數(shù)庫(kù),近年來(lái)在目標(biāo)檢測(cè)、物體識(shí)別等領(lǐng)域應(yīng)用較多,Numpy 庫(kù)是用Python 實(shí)現(xiàn)科學(xué)計(jì)算的擴(kuò)展程序庫(kù),運(yùn)行速度快,為大量矩陣運(yùn)算和維度數(shù)組提供數(shù)學(xué)函數(shù)庫(kù),該文實(shí)驗(yàn)使用OpenCV 和Numpy庫(kù)進(jìn)行圖像預(yù)處理等圖像處理操作。
MASK-RCNN 實(shí)例分割算法可以識(shí)別和分割出納米顆粒,同時(shí)每個(gè)納米顆粒都擁有一個(gè)唯一的標(biāo)識(shí)(Identity Document,ID),連續(xù)圖像中的ID 被鏈接并在追蹤模塊中進(jìn)行追蹤。在Trackpy 中,納米顆粒的位置、直徑、周長(zhǎng)等數(shù)據(jù)特征作為追蹤參數(shù)。Trackpy 庫(kù)中使用其默認(rèn)的最近鄰搜索算法,即K 維樹算法[15](K-dimension tree algorithm)來(lái)搜索實(shí)驗(yàn)中每個(gè)連續(xù)掩碼中屬于同一納米顆粒的ID。文中基于PyQt 和PyQtGraph 庫(kù)的追蹤模塊GUI 開發(fā)的圖形用戶界面[16](Graphical User Interface,GUI)提供手動(dòng)數(shù)據(jù)驗(yàn)證,以識(shí)別出納米顆粒分割和追蹤中的潛在錯(cuò)誤。通過手動(dòng)合并兩個(gè)ID 來(lái)糾正錯(cuò)誤分割為兩個(gè)ID 的顆粒。相比于傳統(tǒng)手工追蹤,此次實(shí)驗(yàn)采用的納米材料追蹤模型大大減少了勞動(dòng)量。同時(shí),采用scikit-image 庫(kù)提取具有有效軌跡的每個(gè)納米顆粒的形態(tài)學(xué)參數(shù),如半徑、周長(zhǎng)和面積等數(shù)據(jù)信息。
追蹤模塊GUI 圖形用戶界面如圖5 所示,左側(cè)面板用于顯示原始圖像,右側(cè)面板用于顯示實(shí)例分割圖像,最右側(cè)用于顯示每個(gè)顆粒的ID,對(duì)于追蹤效果不理想的納米顆??墒謩?dòng)去除。同時(shí)將追蹤結(jié)果保存到文件中,用于提取納米顆粒的直徑、面積、周長(zhǎng)等數(shù)據(jù)信息。
圖5 追蹤模塊GUI的圖形用戶界面
利用訓(xùn)練好的模型,預(yù)測(cè)整個(gè)化學(xué)反應(yīng)過程納米顆粒的分割結(jié)果,測(cè)試圖像識(shí)別結(jié)果如圖6 所示??梢钥闯觯舜螌?shí)驗(yàn)的算法在完成納米顆粒目標(biāo)框定位的同時(shí),實(shí)現(xiàn)了對(duì)納米顆粒精確定位與實(shí)例分割。
圖6 識(shí)別結(jié)果
為驗(yàn)證納米顆粒追蹤器的精確性和實(shí)用性,將納米顆粒圖像的識(shí)別結(jié)果導(dǎo)入到追蹤器中,連續(xù)圖像中的納米顆粒ID 被鏈接并在追蹤模塊中進(jìn)行實(shí)時(shí)追蹤,同時(shí)GUI圖形用戶界面為科研人員提供手動(dòng)的數(shù)據(jù)驗(yàn)證及顯示不同幀的跟蹤結(jié)果。如圖7 所示,分別顯示了視頻數(shù)據(jù)每一幀的原圖像和追蹤圖像。
圖7 追蹤結(jié)果
追蹤完成后,GUI 圖形用戶界面的數(shù)據(jù)處理模塊根據(jù)追蹤結(jié)果生成每個(gè)時(shí)間納米顆粒的位置坐標(biāo)、直徑、面積和周長(zhǎng)等數(shù)據(jù)信息,以供科研人員進(jìn)行數(shù)據(jù)分析。對(duì)所有納米顆粒進(jìn)行數(shù)據(jù)統(tǒng)計(jì),得到的數(shù)據(jù)結(jié)果如圖8 所示。
圖8 納米顆粒追蹤結(jié)果
根據(jù)圖8 的數(shù)據(jù)信息,材料領(lǐng)域科研人員可以對(duì)納米顆粒在化學(xué)反應(yīng)過程隨時(shí)間變化的結(jié)構(gòu)、大小、面積、軌跡等進(jìn)行分析,實(shí)時(shí)分析納米顆粒的變化,將納米材料結(jié)構(gòu)實(shí)時(shí)演變與催化性能之間進(jìn)行關(guān)聯(lián),進(jìn)一步揭示了納米材料結(jié)構(gòu)對(duì)催化性能的影響,進(jìn)而指導(dǎo)材料的制備與研究。
該文實(shí)驗(yàn)為納米顆粒的分割和追蹤提供了可靠的定量解決方案,對(duì)納米顆粒圖像無(wú)需特殊處理,其輪廓就能被自動(dòng)分割和追蹤。與傳統(tǒng)的手工追蹤方法相比,大大節(jié)約了工作量。通過手動(dòng)校驗(yàn)功能,科研人員可以對(duì)追蹤數(shù)據(jù)進(jìn)行校驗(yàn),確保數(shù)據(jù)的有效性。這使得科研人員能夠以現(xiàn)有軟件無(wú)法提供的便利性,分析納米材料結(jié)構(gòu)與催化性能之間的構(gòu)效關(guān)系。