陳宗元, 張磊磊, 趙寧寧, 蘇明旭
(上海理工大學(xué) 能源與動力工程學(xué)院,上海 200093)
顆粒特性研究在工農(nóng)業(yè)生產(chǎn)、環(huán)境檢測以及生物醫(yī)學(xué)等領(lǐng)域具有非常重要的意義,顆粒的數(shù)目、粒徑分布和形狀特征直接影響著顆粒的重要特性[1~4]。顆粒測量方法中,圖像法因過程最為直觀,能同時獲取顆粒數(shù)目、粒徑并作形貌特征分析而被廣泛應(yīng)用[5~7]。由于顆粒空間上粘連、相機角度、景深等原因,圖像往往呈現(xiàn)多個顆粒重疊情形,如粘連的細胞、農(nóng)作物顆粒等。將顆粒從背景中識別并分割為單獨個體是對其準確測量的前提,分割效果將直接影響顆粒特征的后續(xù)分析與研究。
重疊顆粒的人工分割方法大多借助于圖像分析軟件手動交互處理,效率低且?guī)в休^大的主觀性。國內(nèi)外學(xué)者基于閾值、形態(tài)學(xué)、邊緣跟蹤、聚類等原理開展了自動分割算法研究。Miao H S等[8]分段采用基于距離變換的標記分水嶺算法研究血液涂片中的細胞分割問題,該法對白細胞與紅細胞嚴重重疊、圖像質(zhì)量不高時分割效果不佳;蔡改貧等[9]提出了一種形態(tài)學(xué)優(yōu)化處理的標記分水嶺算法,其特征須依賴人工閾值與結(jié)構(gòu)元素參數(shù)的選?。还^凱等[10]提出一種改進FAST特征點檢測與分水嶺算法結(jié)合方法,但對粘連程度高的圖像效果仍不夠理想;Zafari[11]采用曲率尺度空間方法提取凹凸特征點,檢測出正確的凹點對重疊輪廓分段再作橢圓擬合,依據(jù)預(yù)設(shè)規(guī)則選擇正確分割結(jié)果,對重疊目標分割效果較好,但要求目標形狀大小基本一致,對不規(guī)則物體易出現(xiàn)誤分割。
目前,圖像法顆粒測量正趨于自動化、智能化發(fā)展,較少的人工參與、處理速度提升和準確度提高尤為重要。本文引入基于深度學(xué)習(xí)的顆粒分割方法,針對重疊顆粒特征加以改進,結(jié)合顆粒粒徑分布、數(shù)目以及分類,通過實驗開展對比研究,并將方法應(yīng)用于結(jié)晶過程的圖像法在線監(jiān)測,最后探討了結(jié)晶后期顆粒重疊及氣泡干擾的消除問題。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)是一種深度學(xué)習(xí)網(wǎng)絡(luò),通過自動提取淺層特征形成抽象的深層特征,避免了人工特征設(shè)計的不確定性與繁雜性,從而使圖像分割與分類方法得到突破性發(fā)展?;诰矸e神經(jīng)網(wǎng)絡(luò)的圖像分割算法包括全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional networks,FCN)、SegNet網(wǎng)絡(luò)、U-Net網(wǎng)絡(luò)和Mask R-CNN網(wǎng)絡(luò)[12~15]等。其中Mask R-CNN網(wǎng)絡(luò)作為實例分割算法,不僅將顆粒從背景中分離識別,還可將顆粒分割為單獨個體并進行分類,實現(xiàn)對重疊顆粒的分類和像素級分割等任務(wù)。
2.1.1 網(wǎng)絡(luò)結(jié)構(gòu)
Mask R-CNN算法主要由骨干網(wǎng)絡(luò)、區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)以及結(jié)果輸出網(wǎng)絡(luò)3部分組成:
(1) 骨干網(wǎng)絡(luò):使用殘差網(wǎng)絡(luò)ResNet-101[16]與特征金字塔網(wǎng)絡(luò)(feature pyramid networks,FPN)[17]結(jié)合作為骨干網(wǎng)絡(luò),提取并融合圖像的多尺度特征。
(2) RPN其本質(zhì)是基于滑動窗口的無類別目標檢測器,在特征圖上生成錨框映射回原圖,遍尋所有可能包含目標區(qū)域。
(3) 結(jié)果輸出網(wǎng)絡(luò)通過一個全卷積網(wǎng)絡(luò)并行分支輸出目標的掩碼,由兩個全連接層進行目標的分類和邊界框回歸。
本文將Mask R-CNN網(wǎng)絡(luò)引入顆粒圖像分析,根據(jù)顆粒特征信息,對網(wǎng)絡(luò)結(jié)構(gòu)進行調(diào)整,重疊顆粒分割算法總體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 重疊顆粒分割算法網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of overlapped particle segmentation algorithm
2.1.2 骨干網(wǎng)絡(luò)調(diào)整
采用ResNet-101來提取圖像特征信息,鑒于重疊顆粒的特征相對簡單但目標數(shù)量較多,為加快模型訓(xùn)練速度,提高預(yù)測效率,本文對ResNet-101的conv3_x和conv4_x的結(jié)構(gòu)配置進行調(diào)整,見表1。如表1所示,在conv3_x、conv4_x層相對原始結(jié)構(gòu)分別減少了1個和3個卷積塊。為防止模型過擬合,在全連接層部分添加了dropout層。
2.1.3 雙向FPN結(jié)構(gòu)
小顆粒檢測是圖像法測量難點之一,小顆粒分辨率低,所占像素少,不易獲得與大顆粒等量的特征與定位信息,檢測準確率經(jīng)常不及后者的一半。本文基于Mask R-CNN檢測架構(gòu),提出采用一種改進的雙向FPN結(jié)構(gòu),通過添加一條自下而上的通路將底層定位信息融入到高層語義信息中,構(gòu)成雙向特征金字塔,克服原FPN中單向融合缺少定位信息的缺點并實現(xiàn)全局特征融合。改進后的雙向特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 改進雙向特征金字塔網(wǎng)絡(luò)Fig.2 Improved double FPN structure
改進的雙FPN結(jié)構(gòu)使每個階段的特征圖都獲得了全局的語義和定位信息,并且可以提升訓(xùn)練的速度和穩(wěn)定性,能夠有效地加強小顆粒的定位和檢測準確率,在重疊顆粒分割任務(wù)中,可以降低對小顆粒的漏檢。
2.1.4 Soft-NMS算法
NMS(non-maximum suppression,非極大值抑制)算法是RPN網(wǎng)絡(luò)的重要組成部分,文獻[15]中給出NMS算法表達式為:
(1)
式中:si為當前目標框所屬類別的置信度;M為包含同一目標的所有目標框中置信度最高的目標框;bi為當前目標框;IoU(intersection over union)為當前目標框與置信度最高的目標框的交并比;Nt為交并比閾值。
由于NMS算法在邊界框與置信度最高的邊界框交并比高于閾值時會直接刪除該邊界框,造成漏檢。本文進一步引入Bodla[18]提出的Soft-NMS(soft-non-maximum suppression)算法替代傳統(tǒng)NMS算法。如式(2)所示,Soft-NMS算法使用線性的置信度重置函數(shù),根據(jù)交并比值進行置信度衰減處理而非直接刪除邊界框,降低了重疊顆粒的漏檢。
(2)
2.1.5 算法流程與參數(shù)優(yōu)化
圖3所示為基于深度學(xué)習(xí)重疊顆粒分割算法流程,編號并標注顆粒重疊圖像獲得訓(xùn)練集,由ResNet-101+FPN組成的骨干網(wǎng)絡(luò)提取圖像特征,RPN網(wǎng)絡(luò)獲得顆粒的目標框,利用ROIAlign特征池化,在損失層計算總體的損失,待達到最大迭代次數(shù)時結(jié)束訓(xùn)練并保存模型。顆粒圖像原始分辨率為 2 448 pixel×2 048 pixel,將其統(tǒng)一縮放至768 pixel×642 pixel加快訓(xùn)練與測試速度,經(jīng)模型訓(xùn)練與優(yōu)化,將圖像的錨框數(shù)量上限設(shè)為800,非極大值抑制閾值設(shè)置為0.75,對比損失函數(shù)變化,選取學(xué)習(xí)率為0.001。
圖3 基于深度學(xué)習(xí)重疊顆粒分割算法流程Fig.3 Flow chart of overlapped particle segmentation algorithm
為與基于深度學(xué)習(xí)的分割算法對比,設(shè)計了基于傳統(tǒng)圖像處理的顆粒分割方法,見圖4。使用維納濾波去除圖像噪點,以自適應(yīng)閾值方法實現(xiàn)圖像的二值化,對顆粒二值化圖像進行形態(tài)學(xué)處理和孔洞填充,分別設(shè)計了Hough圓變換與分水嶺算法分割球形重疊顆粒,對于混合顆粒,則采用分水嶺算法分割后結(jié)合支持向量機(support vector machine,SVM)算法處理,圖5給出顆粒圖像的處理示例。
分水嶺(watershed)算法借鑒測地學(xué)拓撲地貌,以圖像像素灰度值表示該點海拔高度,每一局部極小值及其影響區(qū)域稱為集水盆,其邊界則形成分水嶺,實現(xiàn)圖像分割,由圖5(f)可以看出,球形顆粒得到了較好的分割。由于混合顆粒圖像的總體信息無法體現(xiàn)分割算法性能,通過SVM分類處理,SVM是一種常用的基于小樣本學(xué)習(xí)的模式識別方法,其基本思想是求解能夠正確劃分訓(xùn)練數(shù)據(jù)集且?guī)缀伍g隔最大的分離超平面,再統(tǒng)計每類顆粒的信息。
圖4 傳統(tǒng)圖像算法流程Fig.4 Flow chart of traditional image algorithm
圖5 處理后的顆粒圖像Fig.5 Images of particles processed by different methods
圖6所示,本文設(shè)計了一種循環(huán)流動裝置拍攝顆粒的動態(tài)圖像,裝置包括可調(diào)光強的鹵素?zé)?、燒杯、固定支架、樣品池、攪拌器、蠕動泵、CCD相機以及計算機。CCD相機為FLIR公司的GS3-U3-50S5M-C工業(yè)相機,像素尺寸為3.45 μm,分辨率為 2 448 pixel×2 048 pixel,配備2倍光學(xué)鏡頭。實驗采用背光照明方式,光源與相機位于樣品池兩側(cè),3者處于同一水平軸。
圖6 顆粒重疊圖像采集系統(tǒng)Fig.6 Overlapped particle image acquisition system
以多分散球形聚甲基丙烯酸甲酯(polymethyl methacrylate,PMMA)顆粒與多分散不規(guī)則聚氯乙烯(polyvinyl chloride,PVC)顆粒作為實驗樣品,分別配置PMMA-水懸濁液與PVC-PMMA-水懸濁液。實驗時,待測樣品置于燒杯中,使用電磁攪拌器確保溶液中顆粒分布均勻,防止大顆粒沉淀,通過蠕動泵使懸浮液循環(huán)流動。相機實時拍攝待測區(qū)域,分別采集球形顆粒圖像、球形與不規(guī)則形混合顆粒圖像用于后續(xù)分析。
將采集顆粒圖像篩選、編號,獲得球形顆粒重疊圖像220張,混合顆粒重疊圖像100張,每張圖像包含100~400個顆粒。標注圖像中的球形顆粒類別標簽為“cir”,不規(guī)則顆粒類別標簽為“ir”,獲得2個數(shù)據(jù)集,用于模型的訓(xùn)練、測試、評估,精細標注測試集獲得實際值。圖7為處理獲得的顆粒掩碼圖像。
圖7 顆粒掩碼圖像Fig.7 Particle image mask
定義顆粒重疊度參數(shù)O以表征圖像中顆粒的重疊程度:
(3)
式中:Noverlop為重疊顆粒數(shù)目;Nall為顆??倲?shù)。經(jīng)分析,實驗采集單一球形顆粒圖像顆粒重疊度為70.5%,混合顆粒圖像重疊度為45.3%,均屬于高度重疊顆粒圖像。
3.3.1 球形顆粒圖像
圖8分別給出按改進深度學(xué)習(xí)算法、分水嶺算法和Hough圓變換方法分割球形顆粒重疊圖像。對比發(fā)現(xiàn):分水嶺算法出現(xiàn)了大量的過分割與欠分割;Hough圓算法基本識別出了所有顆粒,但將部分背景污點、雜質(zhì)識別為小顆粒;Mask R-CNN算法存在少量漏檢,但被識別出的顆粒特征更接近實際值。
圖8 分割處理后重疊球形顆粒圖像Fig.8 Images of overlapped particles processed by different segmentation algorithms
圖9給出對球形顆粒粒徑累積分布及與實際值對比。可見3種方法粒徑累計分布曲線趨勢接近,深度學(xué)習(xí)算法與Hough圓變換算法的分割結(jié)果與實際值基本吻合,在累計頻率低于0.5時略低于實際值;分水嶺算法因出現(xiàn)大量過分割,顆粒數(shù)目高于實際值,同時欠分割導(dǎo)致其結(jié)果中最大顆粒粒徑大于實際值。結(jié)合圖8和圖9分析,3者對球形顆粒圖像分割性能差別不大,即便分割效果最差的分水嶺算法,經(jīng)計算,數(shù)目統(tǒng)計誤差為6.4%,數(shù)目中位徑誤差為5.6%。對于形狀規(guī)則、特征簡單的單一球形顆粒,因其分割難度不大,并不易評價分割算法的性能優(yōu)劣,但對于高度重疊的混合顆粒圖像其分割難度較大。
圖9 不同方法得到的球形顆粒當量直徑累積分布Fig.9 Cumulative distributions of equivalent diameters of spherical particles obtained by various segmentation algorithms
3.3.2 混合顆粒圖像
鑒于混合顆??傮w粒徑分布難以反映每類顆粒實際特征,須在分割基礎(chǔ)上探究每類顆粒的粒徑分布,本文對比深度學(xué)習(xí)算法和分水嶺算法+SVM對混合顆粒重疊圖像處理效果。深度學(xué)習(xí)算法能同時實現(xiàn)分割與分類,而傳統(tǒng)算法須先由分水嶺分割,再由SVM對結(jié)果分類單獨統(tǒng)計。從重疊分割與顆粒分類兩方面對算法進行評估,結(jié)合目標檢測算法的評價指標,定義準確率P反映模型正確分類的效果,召回率R反映模型的漏檢情況:
(4)
(5)
式中:Nture是正確識別的顆粒數(shù);Npredict為所有被識別出的顆粒數(shù);Nall是圖像中所有顆粒數(shù)。
圖10為不同方法分割與分類后的混合顆粒重疊圖像,測試得到分水嶺算法+SVM的分類準確率與召回率均為86%,深度學(xué)習(xí)算法分類準確率為91%,召回率為92%。
圖10 分割分類后混合顆粒重疊圖像Fig.10 Images of mixed-overlapped particles processed by different segmentation and classification algorithms
圖11為不同方法得到的混合顆粒當量直徑累積分布。對于球形顆粒,分水嶺算法+SVM方法分布在累積頻率超過0.6后,分布曲線逐漸偏離實際值,而深度學(xué)習(xí)算法粒徑曲線總體吻合較好;對不規(guī)則狀顆粒的結(jié)論相似,在累積頻率超過0.5后,分水嶺算法+SVM方法給出粒徑大于實際值,且誤差逐漸擴大。
表2給出顆粒特征粒徑數(shù)據(jù),表中DN50稱為數(shù)目中位徑,指大于或小于該直徑的顆粒數(shù)各占顆??倲?shù)50%,DN10、DN90由其類推,Dmax稱最大顆粒粒徑。
由表2可以看出,雖然分水嶺+SVM方法DN10、DN50略優(yōu)于深度學(xué)習(xí)算法,但其DN90、Dmax和顆粒數(shù)誤差為12.5%、21.0%、-40.6%,整體粒徑分布已遠遠偏離實際;深度學(xué)習(xí)算法獲得球形顆粒粒度特征參數(shù)最大誤差僅為6.4%(DN10),顆粒數(shù)誤差為1.8%。對于不規(guī)則顆粒,最大特征參數(shù)誤差為-9.5%(Dmax),顆粒數(shù)誤差為-5.1%,與實際值更吻合??梢妭鹘y(tǒng)的分水嶺算法+SVM方法存在欠分割,致使DN50曲線往右偏移,球形顆粒被SVM誤檢為不規(guī)則顆粒,導(dǎo)致球形顆粒數(shù)目遠低于實際值。深度學(xué)習(xí)算法因獲得重疊圖像的深層特征,以雙FPN結(jié)構(gòu)和Soft-NMS避免小顆粒和高重疊度顆粒的漏檢,經(jīng)驗證與兩類顆粒實際值吻合較好。
結(jié)晶是一種晶態(tài)化學(xué)品分離純化技術(shù),結(jié)晶過程晶體粒度分布(crystal size distribution,CSD)的圖像法監(jiān)測對結(jié)晶演變研究和產(chǎn)品質(zhì)量非常重要。但是在結(jié)晶過程后期,采集圖像中結(jié)晶顆粒數(shù)目眾多、重疊嚴重,又由于攪拌、溫度變化等原因,其中往往存有數(shù)目不一的氣泡,極大地增加了圖像分析尤其是圖像分割難度?;谇笆龇椒?,本文對結(jié)晶過程圖像法在線測量進行研究,實驗對象為在30 ℃配置體積分數(shù)65%的一水檸檬酸溶液,實驗裝置與過程見文獻[19],降溫速率為0.3 ℃/min,攪拌速率為 200 r/min,為探討氣泡干擾問題,實驗中通過注氣增加溶液中氣泡。圖12為溫度為13.4 ℃時采集的結(jié)晶圖像,實驗圖像的顆粒重疊度達到42.7%。
圖12 13.4 ℃時結(jié)晶圖像Fig.12 Image of crystal particles at 13.4 ℃
分析并統(tǒng)計粒徑與數(shù)目信息,圖13給出了結(jié)晶顆粒和氣泡的粒徑累積分布曲線。分水嶺+SVM方法獲得的結(jié)晶顆粒粒徑累積分布曲線僅在累積頻率低于0.4時與實際值吻合,之后出現(xiàn)了明顯的偏離,因其誤檢率高、誤差過大而對于此類結(jié)晶圖像處理效果不佳。深度學(xué)習(xí)算法得出粒徑分布與實際值總體吻合度高。由表3給出了顆粒數(shù)和特征粒徑分析,深度學(xué)習(xí)算法不僅準確地識別并區(qū)分氣泡,粒徑特征參數(shù)和數(shù)目也較好吻合,對于結(jié)晶顆粒DN50誤差僅為3.8%,顆粒數(shù)誤差-1.3%。有利于解決氣泡對結(jié)晶過程監(jiān)測的干擾以及結(jié)晶后期圖像分析乏力的問題。
圖13 結(jié)晶顆粒粒徑累積分布曲線Fig.13 Cumulative distribution curves of crystal particle size
表3 不同方法獲得的結(jié)晶與氣泡的特征粒徑Tab.3 Crystal and bubble particles sizes measured by different methods
研究了圖像法中重疊顆粒的分割問題,在傳統(tǒng)圖像分割與分類方法的基礎(chǔ)上,引入基于CNN的深度學(xué)習(xí)顆粒分割方法;搭建顆粒重疊圖像采集系統(tǒng),采集到重疊度較高的單一球形顆粒、球形與不規(guī)則混合重疊圖像并進行了結(jié)晶顆粒的圖像法測量。通過從顆粒粒徑分布、數(shù)目、分類準確率等方面對比分析,結(jié)果表明:
(1) 包括Hough圓變換[20]的3種方法均可較好地分割單一球形顆粒重疊圖像。其中分水嶺算法由于過分割與欠分割,效果略差;深度學(xué)習(xí)方法對于傳統(tǒng)分割方法的優(yōu)勢不明顯。
(2) 對于混合顆粒重疊圖像,深度學(xué)習(xí)方法分類準確率為91%,召回率為92%,獲得的球形顆粒DN50誤差為0.9%,顆粒數(shù)誤差為1.8%,對不規(guī)則顆粒DN50誤差為-1.1%,顆粒數(shù)誤差為-5.1%,整體優(yōu)于分水嶺+SVM方法。后者綜合粒徑參數(shù)偏離實際值,分割與分類效果不佳。
(3) 對于一水檸檬酸結(jié)晶過程的測量,深度學(xué)習(xí)算法顆粒圖像分析與實際情況基本吻合,結(jié)晶顆粒DN50誤差為3.8%,數(shù)目誤差為-1.3%,較好地解決了圖像法對結(jié)晶過程中氣泡的干擾以及結(jié)晶后期監(jiān)測乏力的問題。
本文基于深度學(xué)習(xí)方法設(shè)計的顆粒重疊分割算法克服了傳統(tǒng)算法的不足,對顆粒重疊圖像的分割取得了較好的效果,該方法可應(yīng)用于結(jié)晶過程的在線測量,具有一定的工業(yè)應(yīng)用價值。