耿方圓, 高 堯, 李 偉, 裴莉莉, 袁 博
(長安大學 信息工程學院, 西安 710064)
機制砂是天然巖石經(jīng)開采除土、人工機械破碎及篩分得到的粒徑小于2.36 mm 的顆粒碎塊[1], 是機制砂混凝土的細骨料, 其質(zhì)量對機制砂混凝土的性能影響十分顯著, 特別的是機制砂生產(chǎn)過程中容易引入石粉,較高或較低的石粉含量對機制砂混凝土的強度、工作性、耐久性和經(jīng)濟性都會有不良影響[2-5]. 目前對于機制砂表面石粉含量的測定一般為亞甲藍試驗[6], 但該方法需稱重、攪拌、烘干、冷卻等步驟, 程序繁瑣且時間久, 由于人為的觀察、環(huán)境及其他因素, 導(dǎo)致該檢測方法的準確性和高效性難以保證.
故智能化、高效化的檢測方法被迫切需求, 而就當下技術(shù)的飛快發(fā)展, 機制砂表面的石粉檢測也可以利用圖像處理的方法實現(xiàn). 針對本文的分割對象, 具體實現(xiàn)思路是對輸入的機制砂圖像進行分割, 需將石粉區(qū)域和無石粉區(qū)域這兩類(即前景和背景)分割開來,這樣就能夠使用圖像處理中的語義分割技術(shù)解決機制砂表面石粉區(qū)域的檢測及定量分析問題.
目前, 關(guān)于機制砂, 大多數(shù)人研究的是機制砂對混凝土的影響, 而對于機制砂含泥量的檢測還是比較少的, 現(xiàn)在的檢測方法依然停留在裝置類檢測和圖像的顏色轉(zhuǎn)換, 韋健等人[7]公開一種機制砂泥粉含量的快速檢測裝置, 主要包括風干系統(tǒng)、兩個點擊攪拌系統(tǒng),內(nèi)設(shè)小圓篩, 且兩攪拌葉轉(zhuǎn)動方向相反. 孟書靈等人[8]可根據(jù)石粉密度, 顆粒形貌與機制砂細顆粒的不同, 使用風選方法將機制砂細粉中石粉剔除, 以計算其石粉含量, 使用的測定裝置, 主要包括進料裝置, 篩網(wǎng)、底座裝置和通風設(shè)置. 胡雪婷[9]以傳統(tǒng)吸藍量測定方法為核心, 利用圖像處理代替人眼識別的功能, 通過嵌入式微處理器與上位PC 機通信, 研發(fā)集自動移液滴定,圖像采集識別, 分析等功能于一體的測定儀. 馬旭梁等人[10]使用圖像處理的方法, 對傳統(tǒng)吸藍量測定方法得到原砂的濁液圖像進行預(yù)處理并轉(zhuǎn)換成Lab 顏色模型,使用構(gòu)建的數(shù)學模型擴算原砂的含泥量.
鑒于深度神經(jīng)網(wǎng)絡(luò)的諸多優(yōu)點以及其在不同領(lǐng)域的廣泛應(yīng)用. 如2014 年, Rahebi 等人[11]發(fā)現(xiàn)能夠根據(jù)對比度的差異來區(qū)分視網(wǎng)膜圖像中的血管和非血管區(qū)域, 并利用視網(wǎng)膜圖像中的灰度共生矩陣法提取到的特征進行訓(xùn)練, 得到一種合成視網(wǎng)膜圖像的技術(shù).2015 年, Ronneberger 等人[12]提出一種訓(xùn)練所需數(shù)據(jù)少且速度快的網(wǎng)絡(luò), 該網(wǎng)絡(luò)包括收縮路徑和擴展路徑,能夠準確識別并定位特征信息, 取得了神經(jīng)元結(jié)構(gòu)分割比賽中最佳成績. 2018 年, 王達磊等人[13]提出一種檢測并量化鋼表面銹蝕的方法, 該方法分為上采樣和下采樣兩部分, 通過合適的分割準則實現(xiàn)圖像圖像中銹蝕像素點和非銹蝕像素點的分類, 比傳統(tǒng)方法效率高, 且能實現(xiàn)銹蝕的定量分析. 2018 年, Qin 等人[14]提出快速下采樣FD-MobileNet, 該網(wǎng)絡(luò)的下采樣策略是在12 層中執(zhí)行32 次下采樣, 改善后的網(wǎng)絡(luò)只有MobileNet原始網(wǎng)絡(luò)的一半層, 用于非常有限的計算預(yù)算, 能夠降低工作量, 并提高效率. 2019 年, 柳小波等人[15]針對傳送帶礦石圖像提出一種基于UNet 和Res_UNet 模型的分割方法, 可以有效地避免粘連和邊緣模糊對分割結(jié)果的的不良影響, 以提高分割的準確性和有效性.Fu 等人[16]根據(jù)自我注意機制, 構(gòu)建兩層注意網(wǎng)絡(luò), 分別是空間和通道維度, 并且兩者的語義相關(guān)聯(lián), 即一種雙注意網(wǎng)絡(luò)(DANet)來捕捉更多的上下文內(nèi)容來實現(xiàn)場景分割任務(wù). Feng 等人[17]結(jié)合多目標單發(fā)多盒檢測器(SSD)的優(yōu)點, 提出一種基于深度卷積神經(jīng)網(wǎng)絡(luò)融合模型的路面裂縫識別方法.
綜上所述, 若將深度神經(jīng)網(wǎng)絡(luò)應(yīng)用到機制砂石粉分割, 將可以很好地解決機制砂石粉檢測程序繁雜、效率低、耗時間等問題. 故本文針對機制砂顆粒小、邊緣模糊、石粉分布不規(guī)律等特征提出一種改進的UNet 分割網(wǎng)絡(luò)來解決機制砂石粉分割效率、準確率及量化難題.
傳統(tǒng)的UNet 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示. 圖1 的左側(cè)是4 次下采樣, 包括卷積和最大池化層來提取特征; 右側(cè)是上采樣, 先進行反卷積還原圖像尺寸和分辨率, 利用跳躍連接與相應(yīng)特征圖融合后再進行卷積. 網(wǎng)絡(luò)最后一層Sigmoid 將特征向量映射到輸出層. 具體如下:
1)激活函數(shù)ReLU
原始的神經(jīng)網(wǎng)絡(luò)的輸出都是輸入的線性組合, 缺乏復(fù)雜的映射關(guān)系, 而激活函數(shù)ReLU 的引入會使之增加非線性轉(zhuǎn)換, 以增強網(wǎng)絡(luò)的表達能力.
2)卷積層
可將卷積看做濾波操作, 卷積核即為濾波器, 卷積與網(wǎng)絡(luò)的訓(xùn)練相輔相成, 用于提取機制砂圖像的數(shù)據(jù)信息.
3)池化層
在卷積神經(jīng)網(wǎng)絡(luò)中, 為匯總提取到的特征平面, 池化層是必不可少的. 在卷積層之間加入池化層, 把一塊區(qū)域壓縮到一個值, 減少特征參數(shù)數(shù)量, 緩解模型過擬合問題, 而且池化值不會受特征的位置影響, 具有平移不變性; 不但能對輸入的特征圖進行壓縮, 還可以更好地提取主要特征、簡化網(wǎng)絡(luò)計算的復(fù)雜度.
4)上采樣和跳躍連接
每次下采樣圖像的尺寸和分辨率都會縮減, 為保證模型的輸出圖像尺寸等于輸入圖像尺寸, 故會進行相同次數(shù)的上采樣. 上采樣模塊使用的是轉(zhuǎn)置卷積, 通過卷積運算來實現(xiàn)圖像尺寸和分辨率的還原, 卷積運算過程中有權(quán)重參數(shù), 所以可訓(xùn)練、可學習.
UNet 在4 次上采樣過程中使用了跳層連接, 將反卷積的輸出與下采樣同尺寸的特征圖進行拼接, 使網(wǎng)絡(luò)學習到更多的特征, 有利于網(wǎng)絡(luò)學習能力和準確率的提高.
本文模型針對機制砂顆粒小、邊緣模糊、石粉分布不規(guī)律等特征在UNet 網(wǎng)絡(luò)基礎(chǔ)上進行了改進: 加入批量標準化BN、優(yōu)化卷積層、加入殘差模塊和注意力模塊. 基于改進的UNet 機制砂石粉圖像分割方法主要由下采樣與上采樣兩大部分構(gòu)成, 將UNet 原始的卷積替換為組合卷積, 將殘差模塊加入網(wǎng)絡(luò)的下采樣部分解決梯度消失現(xiàn)象, 跳躍連接部分加入注意力機制,使得特征圖在上采樣過程中分別與下采樣對應(yīng)部分進行同尺寸特征圖融合. 此方法使得能夠結(jié)合底層和高層的信息提取集料特征, 同時對應(yīng)編碼器特征圖包含更多空間信息. 整體網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示.
圖2 改進的UNet 整體網(wǎng)絡(luò)結(jié)構(gòu)圖
1)批量標準化BN
BN 層主要是對網(wǎng)絡(luò)的數(shù)據(jù)進行歸一化處理, 在網(wǎng)絡(luò)的每層輸入前都加入BN 層, 這樣網(wǎng)絡(luò)進行訓(xùn)練時,每一層的數(shù)據(jù)分布都是穩(wěn)定的, 某層數(shù)據(jù)的變化不會被累加放大到下一層, 且該BN 層是可學習、有參數(shù)的, 能夠有效提高網(wǎng)絡(luò)的泛化能力. BN 公式如下.
2)卷積層
卷積層貫穿著整個網(wǎng)絡(luò), UNet 網(wǎng)絡(luò)的卷積層較單一, 能夠?qū)W習到的特征信息較少, 對于本文的機制砂圖像來說, 石粉散落不規(guī)律, 缺少對細微石粉特征信息的學習, 故如圖3 所示, 本文使用3×3, 5×5, 7×7 卷積核按照并行地合并進行組合來代替原先單一的3×3 卷積核,組合卷積的步長為1, 此組合融合了不同尺寸的卷積和, 能夠?qū)W習到更大感受野范圍內(nèi)的特征信息.
圖3 組合卷積核(Conv_Plus)
3)深度卷積殘差模塊
在圖像的分類與分割中, 為提升網(wǎng)絡(luò)訓(xùn)練效果, 傳統(tǒng)方法一般是加深網(wǎng)絡(luò)層, 但隨著網(wǎng)絡(luò)的加深會帶來嚴重的梯度消失問題, 網(wǎng)絡(luò)學習率變低. 為解決此類問題, 2016 年, He 等人[18]提出的152 層ResNet, 使得卷積網(wǎng)絡(luò)在具有“深度”的同時不失高精準度, 是ILSVRC比賽的最佳識別網(wǎng)絡(luò). 原理是通過在淺層網(wǎng)絡(luò)上添加一個恒等映射, 直接跳過中間層傳輸?shù)胶竺娴木W(wǎng)絡(luò)層,通過快捷連接將某段神經(jīng)網(wǎng)絡(luò)的輸入疊加到其輸出中作為下層網(wǎng)絡(luò)的輸入, 輸出y(x)=F(x)+x, 把學習的目標由F(x) 轉(zhuǎn)換為F(x)+x, 能夠保證加深深度的同時不會增加計算復(fù)雜度, 故而簡化了網(wǎng)絡(luò)訓(xùn)練, 并加快信息的傳遞, 其中一個殘差單元如圖4 所示.
圖4 殘差單元
殘差單元公式為:
采用全收尿法收集試驗第71 d到80 d每頭牛每天全部尿樣,測量體積后,按1%的比例取樣,試驗結(jié)束后,以牛為單位混勻10 d全部尿樣[16],按凱氏定氮法測定其中氮含量[15]。
其中,x和y分別為該層網(wǎng)絡(luò)的輸入和輸出,F(x,{ωi})為殘差映射, ωi是 卷積操作, ωix是將輸入進行參數(shù)變換, 使之與前面的輸出形狀相同.
為提高網(wǎng)絡(luò)的泛化力, 從機制砂圖像中提取出更多細粉的細節(jié)信息及緩解復(fù)雜背景和細粉區(qū)域欠分割的問題, 本文將UNet 的編碼器和解碼器中原有的卷積層替換為優(yōu)化后的殘差模塊, 結(jié)構(gòu)如圖5(b)所示, 相對于傳統(tǒng)的殘差模塊, 深度卷積殘差模塊在每個卷積層之前增加BN 層和ReLU 激活函數(shù), 還在輸入X上另加一個1×1 的卷積層和BN 層. 這種在特征上所附加的非線性變換可以讓網(wǎng)絡(luò)隨深度增加而不退化, 有助于解決梯度消失與梯度爆炸的問題, 還能促進特征信息的傳遞, 進而提升網(wǎng)絡(luò)學習率.
圖5 原始卷積模塊和深度殘差模塊對比圖
4)通道注意力模塊
該模型在跳躍連接中加入注意力模塊, 即在特征圖上采樣的過程中, 先和下采樣中對應(yīng)的部分進行融合, 在融合的過程中加入注意力機制, 使學習到的特征圖增加空間上的信息, 然后再進行上采樣.
通道注意力模塊的結(jié)構(gòu)如圖6 所示, 通道注意力模塊的輸入是下采樣得到的尺寸為H×W×C的特征圖,將其進行兩次Reshape 操作分別得到尺寸為(H×W)×C和C×(H×W)的特征圖, 然后將這兩個結(jié)果特征圖進行矩陣相乘, 此時得到的是尺寸為C×C的特征圖, 同樣將C×C與(H×W)×C的特征圖進行矩陣相乘得到與原尺寸相等的特征圖, 最終將此結(jié)果與原特征圖相加即為該注意力模塊的輸出.
圖6 注意力模塊
原始UNet 為避免在下采樣時丟失大量的空間精確細節(jié)信息, 增加了跳躍連接部分, 但是這種直接將信息合并的方法會導(dǎo)致大量低價值特征信息被學習. 故本文在UNet 網(wǎng)絡(luò)中加入通道注意力機制, 快速定位不同通道的特征的高價值信息, 防止過擬合. 即在避免大量重復(fù)計算低價值信息的同時, 減少網(wǎng)絡(luò)訓(xùn)練時的硬件資源開銷, 提高網(wǎng)絡(luò)的訓(xùn)練效率及泛化力.
圖7 機制砂顆粒實際尺寸圖
圖8 光學顯微鏡采集設(shè)備
共采集機制砂圖像60 張, 原始圖像尺寸是1536×1024, 訓(xùn)練時將原圖和標注圖裁成240 張768×512 的小圖, 考慮到數(shù)據(jù)量不足的原因, 在送入網(wǎng)絡(luò)前還會進行一定量的平移、旋轉(zhuǎn)、縮放等操作進行數(shù)據(jù)增廣,將數(shù)據(jù)集擴充到1 200 張. 針對增廣后的數(shù)據(jù)集使用精靈助手進行像素級標注, 得到高質(zhì)量的機制砂圖像標注數(shù)據(jù), 原始圖像和label 標注圖如圖9 所示.
圖9 機制砂原圖和label 標注圖
由于機制砂數(shù)據(jù)采集效果主要受背景環(huán)境, 采集角度, 光照強度以及光照均勻程度影響, 帶有強噪聲的數(shù)據(jù)對后期實驗的特征提取部分有較大影響. 針對上述問題, 本實驗采用圖像預(yù)處理方法對數(shù)據(jù)進行早期處理. 實驗選取了圖像增強、查找表算法, 去噪等方法,分別對機制砂數(shù)據(jù)進行處理, 具體如下:
(1)圖像增強參數(shù)包括: 亮度、對比度、Gamma值. 用來改善機制砂圖像的清晰度, 增大石粉與背景特征之間的差別, 亮度減弱、對比度增強、Gamma 值為1.25, 如圖10(b)所示, 圖像增強后的效果是由這3 個參數(shù)共同作用的結(jié)果.
圖10 預(yù)處理效果圖
其中,T(x)是傳遞函數(shù),x是輸入的灰度級值,Rmin是指定范圍的最小值,Rmax是 最大值,Dmin是動態(tài)(dynamic)最小值. 此處用的傳遞函數(shù)是冪值函數(shù)T(x)=x1.78, 目的是減少黑暗區(qū)域的對比度.
(3)由于顯微鏡的放大作用, 會有一些細微的背景雜質(zhì)存在, 故需要去噪操作. 主要包括坑洞填充、腐蝕、去除小物體和快速傅里葉變換濾波器. 其中濾波器使用的是低通濾波器, 圖像信息通過的頻率會隨著截斷頻率百分比增加而增多, 保留的信息也越多, 為保留較多的信息, 截斷頻率百分比是80%, 能夠有效濾除劃痕和一些背景雜質(zhì). 效果圖如圖10(d)所示.
將預(yù)處理之后的機制砂圖像按照8:2 的比例劃分為訓(xùn)練集和測試集. 在訓(xùn)練過程中, 采用Adam 優(yōu)化器更新參數(shù); 并用Keras 中的回調(diào)函數(shù)ModelCheckpoint來保存最優(yōu)模型, 訓(xùn)練和測試的Bath_size 都為2, 共訓(xùn)練200 輪.
對于本文的分割網(wǎng)絡(luò)(即像素級二分類問題), 使用的是交叉熵損失函數(shù), 有利于解決機制砂圖像中石粉相對于背景占比小及平滑梯度的問題. 網(wǎng)絡(luò)的最后一層是Sigmoid 函數(shù), 將網(wǎng)絡(luò)的輸出映射到(0, 1), 1 是機制砂圖像中像素為石粉的部分, 0 是背景, 則交叉熵損失函數(shù)的標準形式是:
其中,n表示圖像的總數(shù)量,x表示機制砂圖像,y表示機制砂圖像中像素為石粉的部分,a是預(yù)測為石粉的概率.
訓(xùn)練集和驗證集的準確率和loss曲線如圖11, 可以看出經(jīng)過200 輪的訓(xùn)練后, 網(wǎng)絡(luò)的訓(xùn)練集和驗證集準確率逐漸上升并分別趨于穩(wěn)定值95.2%和95.94%,說明網(wǎng)絡(luò)的學習能力較強, 且驗證集的準確率高于訓(xùn)練集, 表明模型并沒有發(fā)生過擬合的現(xiàn)象且具有很好的泛化性; 網(wǎng)絡(luò)的訓(xùn)練集和驗證集loss值逐漸下降并分別趨于穩(wěn)定值0.12、0.13, 且下降的過程梯度變化較平滑, 沒有出現(xiàn)梯度消失與梯度爆炸的問題, 收斂效果比較好
圖11 訓(xùn)練集和驗證集的準確率和loss 曲線
對于機制砂石粉的分割網(wǎng)絡(luò), 可將石粉區(qū)域的檢測理解為對輸入圖像上的每個像素點進行分類, 共分成兩類: 一類是石粉, 另一類為背景, 主要工作是判斷每個像素點是否為石粉, 并將預(yù)測結(jié)果與實際的label標注圖做對比.
為評價該圖像分割算法的性能, 將預(yù)測的結(jié)果與真實的標簽作對比, 采用3 個評價指標: 精確率(Precision)、準確率(Accuracy)、召回率(Recall). 精確率是被正確預(yù)測為石粉的像素數(shù)占預(yù)測石粉像素總數(shù)的比例. 準確率是被正確預(yù)測為石粉的像素數(shù)占機制砂圖像像素總數(shù)的比例, 召回率和準確率越大越好. 召回率是被正確預(yù)測為石粉的像素數(shù)占石粉像素總數(shù)的比例.
由于最后一層是Sigmoid 操作, 故預(yù)測的結(jié)果是一張概率圖, 本文在與其相應(yīng)的label 圖做對比時進行了OTSU 閾值分割操作, 使評價參數(shù)的結(jié)果更接近于實際值. 表1 為本文模型的混淆矩陣.
表1 二分類混淆矩陣
其中, 真陽性(TP)表示將石粉預(yù)測正確的像素點數(shù);真陰性(TN)表示將背景預(yù)測正確的像素點數(shù); 假陽性(FP)表示將背景預(yù)測錯誤的像素點數(shù); 假陰性(FN)表示將石粉預(yù)測錯誤的像素點數(shù).
本文在測試時利用滑動窗口來彌補機制砂圖像邊緣較弱部分的預(yù)測, 窗口尺寸為256×256, 步長為64.其中部分分割結(jié)果圖如圖12(d)所示, 白色部分即為機制砂石粉部分, 黑色部分即為背景, 從左到右分別是機制砂圖像, 石粉label 標注圖, 原始UNet 石粉預(yù)測二值圖, 本文模型石粉預(yù)測二值圖, 本文預(yù)測圖二值圖疊加到label 標注圖的效果, 紅色部分是石粉預(yù)測圖, 綠色部分是石粉label 標注圖, 其疊加的顏色為黃色. 從圖12中可以明顯看出原始的UNet 對石粉分割的結(jié)果與標注圖相比缺少了大量細節(jié)特征信息, 甚至還有一些誤檢信息, 而該模型的分割效果與標注圖很接近.
圖12 模型預(yù)測效果圖
本文與傳統(tǒng)的UNet、FCN、ResUNet 方法進行對比[19,20], 對比結(jié)果如表2 所示, 從準確率(Accuracy)、召回率(Recall)、精確率(Precision)性能的比較可以看出本文算法對機制砂石粉分割的結(jié)果有很大幅度的提升, 更加接近石粉的實際分布情況.
表2 本文模型與其他模型對比(%)
傳統(tǒng)的檢測方法只能對機制砂石粉進行定性分析,本文的檢測方法在定性的基礎(chǔ)上進一步實現(xiàn)了定量分析的功能. 將預(yù)測圖送入本文模型, 可從預(yù)測輸出結(jié)果中得到每張圖像的石粉區(qū)域的像素總數(shù), 記為a1, 如圖13(b)所示; 然后將對應(yīng)的測試圖的原圖進行形態(tài)學處理, 包括圖像增強、Gamma 運算、孔洞填充、去除小物體等, 得到了機制砂區(qū)域的像素總數(shù), 記為b1, 如圖13(c)所示, 此時該圖像的石粉面積占機制砂的面積的比例即為該圖像的石粉含量(百分比)為a1/b1. 為反映整批機制砂的石粉含量, 使用式(8), 即所有石粉占所有機制砂像素的比例, 如下所示.
圖13 原圖及結(jié)果圖
其中,n表示該批次機制砂圖像的數(shù)量,an為第n個機制砂圖像的石粉像素數(shù)量,bn為第n個機制砂圖像中機制砂的像素數(shù)量.
依次測得每個機制砂圖像的石粉像素數(shù)量, 表3為部分石粉區(qū)域的定量分析值. 此時, 該批次機制砂的石粉含量難以量化的問題被迎刃而解.
表3 部分石粉區(qū)域定量分析(%)
本文以機制砂表面附著的石粉為研究對象, 基于深度神經(jīng)網(wǎng)絡(luò)對機制砂石粉圖像分割與量化問題展開研究, 主要結(jié)論如下:
1)利用光學顯微鏡采集機制砂圖像, 并進行圖像增強、查找表算法等預(yù)處理, 優(yōu)化網(wǎng)絡(luò)的卷積層、引入殘差模塊和注意力模塊部分, 使得該網(wǎng)絡(luò)模型訓(xùn)練集和驗證集準確率達到了95.20%和95.94%, 實現(xiàn)對機制砂石粉的準確分割, 能夠替代繁瑣、效率低的傳統(tǒng)亞甲藍檢測方法.
2)針對傳統(tǒng)的檢測方法只能對機制砂石粉進行定性分析的問題, 而本文的檢測方法能夠?qū)崿F(xiàn)對機制砂石粉含量的定量分析, 即石粉含量百分比, 通過該指標來體現(xiàn)機制砂質(zhì)量的優(yōu)劣.
本文對機制砂石粉進行準確分割與量化對機制砂應(yīng)用領(lǐng)域具有重要意義. 但由于機制砂數(shù)據(jù)集不夠完善且顆粒比較小, 石粉區(qū)域較難分辨, 使得人工標注的結(jié)果會有一定的誤差, 因此豐富數(shù)據(jù)集和改進人工標注結(jié)果是之后的工作重點.