郝雪麗,李玉峰,裴莉莉,李 偉,石 麗,曹 磊
(1. 長安大學信息工程學院,陜西西安 710064;2. 安徽科力信息產(chǎn)業(yè)有限責任公司智能交通安徽省重點實驗室,安徽合肥 230088)
集料在瀝青路面中起關鍵性的骨架與填充作用,對于集料生產(chǎn)企業(yè),傳送帶上集料粒徑檢測的準確與否對于集料的生產(chǎn)效率及生產(chǎn)質量的評價起著決定性作用[1]。然而,傳送帶上集料常常處于黏結狀態(tài)。在集料圖像分割時將黏結在一起的多顆集料識別為一顆,對后期集料自動分析中的級配與粒形判斷造成較大影響。因此,實現(xiàn)黏結集料圖像的自動分割對于道路路面施工與集料生產(chǎn)具有重要的實際應用價值[2-3]。對于單顆集料,在經(jīng)過三維重構技術及噪聲處理等預處理后,使用區(qū)域生長算法對集料三維圖像進行分割[4]。裴莉莉等[5]提出基于反向神經(jīng)網(wǎng)絡的集料粒徑快速檢測方法,但該方法僅適用于非黏結狀態(tài)下的集料粒徑檢測。傳送帶上集料普遍存在黏結現(xiàn)象,因此對黏結集料圖像進行準確分割是開展后續(xù)分析的前提。
國內(nèi)外學者對黏結集料圖像分析進行了廣泛研究,但黏結集料圖像的分割效果還有待進一步提高[6]。Amankwah 等[7]將均值漂移與分水嶺算法的融合算法作為圖像分割模型對黏結集料圖像進行分割。Malladi等[8]提出了一種基于形態(tài)學的超像素分割(SUM)算法,可對分水嶺變換方法進行置換,以有效地分割復雜的塊狀巖石圖像。Sulaiman 等[9]采用圖像處理技術研究河床砂石集料粒徑分布,獲得了小質量樣本的粒徑統(tǒng)計信息。Xu 等[10]使用大津算法進行瀝青灰度圖像的分割處理,并采用最小二乘法對數(shù)據(jù)進行離散化,實現(xiàn)了對不同低溫條件下瀝青與集料之間的內(nèi)聚力和黏合強度的定量分析。Wang 等[11]基于圖像預處理方法分離礦石圖像中的前景圖像和背景圖像,并采用自適應結構要素優(yōu)化的分水嶺算法實現(xiàn)了礦石圖像分割。Li等[12]用標注的黏結礦石圖像數(shù)據(jù)集訓練整體嵌套邊緣檢測(HED)模型,通過HED模型提取具有較強魯棒性的礦石圖像邊緣特征,再使用查表算法提取細化邊緣,最終通過標記連通子塊得到分割結果。滿新耀等[13]使用工業(yè)電子計算機斷層掃描儀(CT)對瀝青試件和路面面層試件進行掃描,從黏結點數(shù)量、面積和角度3 個方面提取形態(tài)特征參數(shù),用以表征瀝青試件及面層試件內(nèi)部集料的黏結特征。Rajan等[14]使用2種集料破碎機生產(chǎn)的4.75、9.50、12.50 mm 三檔集料,通過集料圖像測量系統(tǒng)(AIMS)測量集料尺寸,對2 種集料破碎機制進行綜合評價。Ma 等[15]提出了一種基于卷積神經(jīng)網(wǎng)絡和數(shù)字圖像處理技術的帶狀礦石圖像分割算法,通過過程控制系統(tǒng)(PCS)采集礦石圖像數(shù)據(jù),從粗糙圖像(CIS)與精細圖像(FIS)兩方面對礦石圖像進行分割。
分水嶺算法、自適應閾值分割算法、基于集料邊緣的分割算法等雖然能夠實現(xiàn)對黏結集料圖像的基本分割,但是不能滿足復雜環(huán)境下的精細分割需求。同時,這些算法還存在參數(shù)復雜度較高或需指定分割閾值等問題。因此,提出了Multi-ResUnet 模型,實現(xiàn)對黏結集料較為準確的分割。
Unet 模型是一種基于全卷積神經(jīng)網(wǎng)絡(FCN)的改進的網(wǎng)絡模型[16],所需的訓練集少且分割精度較高,較少的數(shù)據(jù)集就能實現(xiàn)對集料圖像較為精確的分割。Unet 模型的U 型結構包括收縮路徑與擴展路徑兩部分。收縮路徑用來提取黏結集料圖像中的語義信息,由編碼器組成;擴展路徑用來精確定位,由解碼器組成。Unet 模型網(wǎng)絡結構如圖1所示。
圖1 Unet模型網(wǎng)絡結構Fig.1 Structure of Unet network
圖1中,左側為收縮路徑,激活函數(shù)為修正線性單元(Relu),在收縮路徑的每個編碼器中編碼后圖像特征通道的數(shù)量均增加1 倍。右側為擴展路徑,在擴展路徑的每個解碼器中首先通過2×2的反卷積將特征通道的數(shù)量減半,之后通過跳層連接將反卷積的輸出與對應層級采樣的特征矩陣結合,最后再將結合后的特征圖進行卷積計算。在網(wǎng)絡結構的結尾采用全連接層(FC)將每個特征向量映射到輸出層。
Unet模型通過數(shù)據(jù)增強應對可用訓練數(shù)據(jù)集較少的情況,而數(shù)據(jù)增強主要通過隨機彈性變形對訓練樣本進行增廣,因此Unet模型不需要在圖像標簽集中應用隨機彈性變形。對于集料形態(tài)的多樣性以及相互遮擋情況下集料的復雜性,隨機彈性變形可以有效模擬集料形態(tài)的真實變化,因此可將Unet模型應用于黏結集料圖像分割。此外,Unet 模型網(wǎng)絡結構使用加權l(xiāng)oss 函數(shù),可以給黏結集料背景部分的loss 函數(shù)賦以更大的權重,將復雜的黏結集料圖像與背景準確分割,實現(xiàn)對圖像中集料部分和背景部分的精確區(qū)分。
Unet 模型中,同一級別編碼器和解碼器通過跳層連接進行特征的融合,如在第1 次池化操作之前第1個跳層連接將編碼器與最后一個反卷積操作之后的解碼器橋接在一起,使網(wǎng)絡能夠將池化操作期間丟失的空間特征信息從收縮路徑傳播到擴展路徑。然而,這種結構也有弊端。編碼器提取的特征是在網(wǎng)絡的較低層進行計算的,而解碼器提取的特征是在網(wǎng)絡的較深層中進行計算的,簡單地合并2組特征可能會產(chǎn)生語義鴻溝,因此對來自底層網(wǎng)絡結構的特征進行更多的處理來解決語義鴻溝問題。
Szegedy 等[17]在Inception 架構中引入Inception塊,Inception 塊利用并行變化的卷積核來提取不同比例圖像中的特征信息,不同尺度下獲得的特征信息可一起傳遞到更深層的網(wǎng)絡中。
集料形狀通常是不規(guī)則的且尺寸大小也不盡相同。形狀大致可分為角形、立方形、細長形、片形、細長片形和不規(guī)則形6 類[18-19],如圖2 所示。在尺寸上粗集料有4.75、9.50、13.20、16.00 mm 四檔,如圖3所示。適用于黏結集料圖像分割任務的網(wǎng)絡應該能夠應對不同情況下的集料對象,具有一定的魯棒性和泛化能力。
圖2 不同形狀集料二值化圖Fig.2 Binarization images of aggregates in different shapes
圖3 不同尺寸集料二值化圖Fig.3 Binarization images of aggregates in different sizes
Unet 模型的網(wǎng)絡結構中,每個收縮路徑的池化層和擴展路徑的轉置卷積層后都有2 個3×3 的卷積層,實際上類似于一個5×5 的卷積運算?;贗nception 網(wǎng)絡思想,可以使用多分辨率分析功能增強來優(yōu)化Unet 模型的網(wǎng)絡結構。具體做法是將3×3、5×5 與7×7 卷積運算并行進行,從而使網(wǎng)絡能夠從不同比例的圖像中學習到特征。Inception網(wǎng)絡的計算原理如圖4所示。
圖4 Inception塊計算原理示意圖Fig.4 Schematic diagram of Inception block calculation principle
Multi-ResUnet模型使用一系列更輕量的3×3卷積塊對更復雜的5×5和7×7卷積塊進行分解重構,如圖5所示。第2個和第3個3×3卷積塊的輸出等效于5×5和7×7的卷積運算,因此從3個卷積塊中獲取輸出并將其串聯(lián)在一起就可實現(xiàn)對Inception塊的分解重構,從而使網(wǎng)絡具備從不同尺度提取空間特征的能力。
圖5 Inception塊重構Fig.5 Inception block refactoring
在網(wǎng)絡中加入一個殘差連接可使網(wǎng)絡能夠學習到多個空間維度的特征,最終構建的網(wǎng)絡結構如圖6所示,將這種結構稱為MultiRes塊。
圖6 MultiRes塊Fig.6 MultiRes block
通常,在深度學習中網(wǎng)絡拓撲越深,可從圖像中提取出的特征就越具代表性,但一味地增加網(wǎng)絡深度也會導致梯度消失與梯度爆炸。使用殘差學習替代原始數(shù)據(jù)學習可以有效地防止這個問題。一般情況下的殘差結構如圖7所示。
圖7 殘差結構示意圖Fig.7 Schematic diagram of residual structure
圖7中,x是殘差結構的輸入,F(xiàn)(x)是殘差結構要學習到的殘差,殘差結構的輸出結果為h(x),而h(x)=F(x)+x,在殘差結構中把學習目標F(x)從h(x)轉換為h(x)?x。
對于Unet模型中的語義鴻溝問題,可以在跳層連接中加入一些卷積層(即殘差連接)以提高跳層連接前編碼器提取特征的復雜度,在特征上附加的非線性變換能夠在一定程度上平衡語義鴻溝。因此,殘差連接可以使網(wǎng)絡更加容易地學習到圖像特征。殘差連接結構如圖8所示。
在圖8中,卷積層的3×3過濾器與1×1過濾器組成了殘差連接,將這種結構稱為Res路徑。
圖8 殘差連接Fig.8 Residual connection
采用Inception網(wǎng)絡和殘差連接對Unet模型進行優(yōu)化,得到Multi-ResUnet模型,即將卷積層的2個卷積計算替換為基于Inception網(wǎng)絡的MultiRes塊,而Unet模型中的4個跳層連接被替換為基于殘差結構的Res路徑,Multi-ResUnet模型的網(wǎng)絡結構如圖9所示。
圖9 Multi-ResUnet模型的網(wǎng)絡結構Fig.9 Network structure of Multi-ResUnet model
圖9中的網(wǎng)絡結構同時保留了Inception網(wǎng)絡與殘差連接的優(yōu)點,既可學習到不同尺寸的特征,又可避免梯度消失或爆炸,加快了網(wǎng)絡學習的速度。在Unet模型中,編碼器和解碼器特征圖間的語義鴻溝隨著網(wǎng)絡朝內(nèi)部的快捷路徑移動而減小。因此,在Multi-ResUnet模型的網(wǎng)絡結構中也逐漸減少沿Res路徑的卷積塊數(shù)量,即沿著4個Res路徑分別使用4、3、2、1個卷積塊。另外,考慮到編碼器-解碼器中的特征圖數(shù)量,分別在4個Res路徑的塊中使用32、64、128、256個濾波器。
表1 描述了Multi-ResUnet 模型網(wǎng)絡結構的細節(jié)。除輸出層外,該網(wǎng)絡中所有卷積層均通過Relu激活函數(shù)激活,并進行批量標準化。類似于Unet模型,輸出層由Sigmoid激活函數(shù)激活。
表1 Multi-ResUnet模型網(wǎng)絡結構細節(jié)Tab.1 Details of Multi-ResUnet network structure
使用三維數(shù)據(jù)采集設備Gocator 3110 采集4.75、9.50、13.20、16.00 mm四檔共2 550個黏結集料的三維點云圖像,采集設備如圖10所示。采集到黏結集料的三維點云數(shù)據(jù)后對其背景高度值進行去除以突出圖像主體,并將集料圖像的深度轉換為灰度以得到二維黏結集料圖像,圖像的原始尺寸為576×832像素,圖像數(shù)量為60張。在數(shù)據(jù)集中以5∶1的比例選擇50張黏結集料圖像作為訓練集,10張作為測試集,并通過手工繪制集料顆粒的邊緣輪廓制作標簽集。圖11為圖像數(shù)據(jù)樣本及其標簽。
圖10 黏結集料圖像采集設備Fig.10 Image acquisition equipment for cohesive aggregates
圖11 黏結集料圖像樣本及其標簽示例Fig.11 Sample image and label example of cohesive aggregates
試驗在Windows 10系統(tǒng)下進行,網(wǎng)絡模型的架構通過基于TensorFlow 后臺的Keras 環(huán)境實現(xiàn),訓練 環(huán) 境 的CPU 為Intel core i7-8700,GPU 為NVIDIA 2080Ti,RAM 為32 GB。網(wǎng)絡超參數(shù)的設置為:根據(jù)圖片尺寸選擇的輸入維度為(256,256),選擇下降速度最快、效果最好的自適應矩估計(Adam)優(yōu)化器,綜合考慮模型的分割精度和顯卡性能,選擇每次訓練的樣本數(shù)(batch-size)為10,選取修正線性單元Relu作為激活函數(shù)(見圖12),損失函數(shù)采用二元交叉熵損失。損失函數(shù)表達式如下所示:
圖12 Relu激活函數(shù)Fig.12 Activation function Relu
式中:n為樣本數(shù)量;yi為樣本i的標簽;P(y)為n個樣本都為正的預測概率。
從精確率(precision)、召回率(recall)和準確率(accuracy)3 個性能指標表達黏結集料圖像分割精度,從而對模型性能進行客觀評價[20]。將圖像分割模型的輸出二值圖作為輸出圖,人工繪制的集料輪廓圖作為標準圖。3個評價指標的計算式如下所示:
式中:P表示精確率;R表示召回率;A表示準確率;T表示預測像素與真實像素均為1的像素點數(shù);N表示預測像素為1但真實像素為0的像素點數(shù);F表示預測像素為0但真實像素為1的像素點數(shù);M表示預測像素與真實像素均為0的像素點數(shù)。
Multi-ResUnet 模型訓練和測試過程中的損失函數(shù)曲線和準確率曲線如圖13、14所示。
圖13 損失函數(shù)曲線Fig.13 Loss function curve
從Multi-ResUnet模型的損失曲線可以看出,在訓練后期模型達到了較為穩(wěn)定的狀態(tài)。由圖14 可知,經(jīng)過訓練模型準確率也達到了一個較高的水平且趨于平穩(wěn),同時Multi-ResUnet模型在測試集上的準確率略高于訓練集,表明模型并沒有發(fā)生過擬合現(xiàn)象并具有較好的泛化性。
圖14 準確率曲線Fig.14 Accuracy curve
batch-size 對模型的訓練結果有重要影響,主要體現(xiàn)在每輪的訓練時長和每次迭代的平滑度上,每輪迭代次數(shù)由全量樣本和batch-size 決定。batchsize設置過小會導致迭代梯度不平滑,模型訓練的損失值發(fā)生振蕩,不利于模型的收斂。小的batch-size可以更好地獲得個體差異性,因此具有更高的精度。batch-size 過大則容易陷入局部最優(yōu),不能準確地收斂于最小值,而且容易忽視數(shù)據(jù)中的個體差異性,使模型的訓練精度下降。模型的學習率決定了尋找最優(yōu)參數(shù)的快慢,較大的學習率使得網(wǎng)絡訓練的速度更快,但可能無法找到最優(yōu)解,達不到最優(yōu)效果。較小的學習率則會導致網(wǎng)絡訓練速度變慢,還可能使網(wǎng)絡陷入局部最優(yōu)解,找不到全局最優(yōu)解。在模型訓練中常常會出現(xiàn)過擬合和欠擬合的情況,訓練輪數(shù)過小會導致模型訓練欠擬合,得不到最優(yōu)解,訓練輪數(shù)過大則容易產(chǎn)生過擬合問題,在訓練集上得到的模型無法在測試集上達到相近的測試效果,使模型的泛化能力變差。從圖13、14 可以看到,訓練輪數(shù)超過100后曲線基本不再變化。在進行多次參數(shù)調整后,獲得了最優(yōu)分割精度,設置batch-size為10,學習率為0.0167,訓練輪數(shù)為100。
為進一步驗證Multi-ResUnet模型的性能,選取Unet 模型和基于形態(tài)學的分水嶺算法在10 張測試集上進行對比試驗,并通過精確率、召回率、準確率指標來評估分割效果,各模型的分割結果如圖15所示。
圖15 各模型分割結果Fig.15 Segmentation results of different models
從工程指標上分析,對測試集中的10張黏結集料圖像進行了處理,共265顆集料,Multi-ResUnet模型可以將其中253 顆集料的邊緣分割出來,準確率達到95.47%?;谛螒B(tài)學的分水嶺算法可以將黏結集料與背景進行有效分割,但在分割時需對算法的開閉結構要素大小進行不斷調整以找到最優(yōu)值,而且易將黏結的多個集料分割為一個顆粒。從圖15c可以看到,分水嶺算法將黏結集料分割成了4塊集料,效率較低。Unet 模型對黏結集料進行了較好的分割,但仍然存在集料邊緣不連續(xù)與過分割的問題,如圖15b 所示。為了更好地量化分割結果,3 種算法在10 張測試圖片上的分割性能如表2 及圖16所示。
表2 3種算法的性能指標Tab.2 Performance metrics of three algorithms
圖16 各模型在測試集上的性能表現(xiàn)Fig.16 Performance of models on test set
由表2 及圖16 可知,分水嶺算法在3 種性能指標上均表現(xiàn)較差,而Multi-ResUnet 模型在3 種性能指標上均表現(xiàn)優(yōu)異。Multi-ResUnet 模型相較于分水嶺算法和Unet 模型,在精確率上分別提升了30.46%和2.11%,在召回率上分別提升了4.68%和1.85%,在準確率上分別提升了25.95% 和2.47%。在錯誤評價方面,虛警率=1?精確率,Multi-ResUnet模型虛警率均值為0.066 4,分水嶺算法虛警率均值為0.371 0,Unet 模型虛警率均值為0.087 5。Multi-ResUnet 模型虛警率相比分水嶺算法下降了30.46%,相比Unet 模型下降了2.11%。因此,Multi-ResUnet模型可顯著優(yōu)化分割結果。
提出了基于Inception 塊與殘差連接優(yōu)化的Multi-ResUnet 模型。采用Multi-ResUnet 模型對黏結集料圖像進行分割,并與Unet模型和分水嶺算法的分割結果進行對比。結果表明,Multi-ResUnet模型可以更加準確地將黏結集料的邊緣進行分割,并且可以有效抑制集料邊緣不連續(xù)與過分割。同時,Multi-ResUnet 模型在3 個性能指標上的表現(xiàn)也最優(yōu),分割精確率可以達到0.933 6,證明了該模型的優(yōu)越性。
作者貢獻聲明:
郝雪麗:提出研究方案,設計論文框架,審閱論文,提供技術及經(jīng)費支持。
李玉峰:調研及文獻整理,參與數(shù)據(jù)預處理及程序編寫,起草并修訂論文。
裴莉莉:調研及文獻整理,參與算法開發(fā)及方法驗證,修訂論文。
李 偉:指導研究方案,審閱論文,提供技術及經(jīng)費支持。
石 麗:實施現(xiàn)場試驗,構建數(shù)據(jù)集,參與數(shù)據(jù)分析和處理,驗證算法。
曹 磊:實施現(xiàn)場試驗,參與算法設計實現(xiàn),模型訓練,論文寫作及修訂。