宋立新,王仁杰
(1.中國電建集團(tuán)中南勘測設(shè)計(jì)研究院有限公司,湖南 長沙 410014;2.上海易清智覺自動(dòng)化科技有限公司,上海 201802)
砂石骨料是混凝土的主要成分,混凝土在生產(chǎn)和運(yùn)用的過程中,砂石骨料起著填充和骨架作用,砂石骨料的質(zhì)量直接影響混凝土強(qiáng)度、變形、滲透性、抗凍性、耐久性等性能。
在巖石分類的研究上,最為傳統(tǒng)的做法就是在偏光顯微鏡下對巖石薄片圖像進(jìn)行人工鑒定,這種做法不僅需要較強(qiáng)的專業(yè)技能,并且耗時(shí)耗力易受主觀因素影響[1]。劉鳳英等[2]利用人工神經(jīng)網(wǎng)絡(luò)BP網(wǎng)絡(luò)建立火成巖巖石化學(xué)分類模型。Kamani等[3]利用巖石強(qiáng)度試驗(yàn)來估計(jì)聚集物降解特性的可能性,對巖石進(jìn)行初步分類,研究出不同類型巖石的強(qiáng)度與聚集物降解之間的關(guān)系。Singh等[4]利用不同巖石的點(diǎn)載荷強(qiáng)度指數(shù)與單軸抗壓強(qiáng)度之間的關(guān)系,得到巖石強(qiáng)度與種類之間的關(guān)系。袁穎等[5]采用主成分分析法從影響火成巖分類的眾多氧化物評價(jià)指標(biāo)中提取主成分,再結(jié)合支持向量機(jī)算法建立火成巖巖石分類的 PCA-GA-SVM模型。Harmon等采用激光誘導(dǎo)擊穿光譜系統(tǒng)(LIBS)采集巖石光譜數(shù)據(jù),通過對最小二乘支持向量機(jī)的訓(xùn)練,得到基于粒子群算法的灰色支持向量機(jī)和最小二乘支持向量機(jī)的組合模型,結(jié)合偏最小二乘判別分析法(PLS-DA)識別火山巖的類型。
隨著人工智能飛速發(fā)展,深度學(xué)習(xí)的應(yīng)用越來越廣泛,在不同的領(lǐng)域中發(fā)揮著越來越重要的作用,本文將使用一種改進(jìn)的深度學(xué)習(xí)算法對砂石骨料進(jìn)行分類識別。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域中的一個(gè)新的研究方向,它被引入機(jī)器學(xué)習(xí)使其更接近于最初的目標(biāo)人工智能[6]。深度學(xué)習(xí)是以神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),將其擴(kuò)展成多層網(wǎng)絡(luò),通過建立多層神經(jīng)網(wǎng)絡(luò),對提取出的淺層特征進(jìn)行組合以形成更加抽象的高層特征,是一種模仿人腦機(jī)制來對原始數(shù)據(jù)進(jìn)行分析和解釋的學(xué)習(xí)算法,從而發(fā)現(xiàn)數(shù)據(jù)更深層次的分布特征。深度學(xué)習(xí)網(wǎng)絡(luò)的關(guān)鍵主要是利用算法自動(dòng)尋找特征信息,通過計(jì)算數(shù)據(jù)樣本特征之間的關(guān)系,進(jìn)而更加準(zhǔn)確地尋找更重要的特征。深度學(xué)習(xí)憑借著強(qiáng)大的學(xué)習(xí)分類能力,在不同的領(lǐng)域中都取得了優(yōu)于以往的成績,如圖像的識別檢測、分類等。
本文主要研究的深度學(xué)習(xí)模型為卷積網(wǎng)絡(luò)模型CNN[7],與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)相比,卷積神經(jīng)網(wǎng)絡(luò)擅長提取輸入數(shù)據(jù)之間的抽象特征,其學(xué)習(xí)能力、容錯(cuò)能力、泛化能力等各方面的性能都優(yōu)于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)是一種特殊的前饋神經(jīng)網(wǎng)絡(luò),其基本結(jié)構(gòu)包括一種特殊的深層前饋網(wǎng)絡(luò),主要是由一個(gè)或多個(gè)卷積層、池化層、全連接層以及一個(gè)輸出層構(gòu)成,其中,卷積層能提取相鄰像素之間的共同特性,池化層主要是對圖像進(jìn)行降采樣處理。
卷積神經(jīng)網(wǎng)絡(luò)主要是卷積層和池化層交替連接,經(jīng)過多次卷積和池化后,再由全連接層處理進(jìn)而得到整個(gè)卷積神經(jīng)網(wǎng)絡(luò)的輸出。為了使運(yùn)算更加簡便,網(wǎng)絡(luò)結(jié)構(gòu)中每層內(nèi)的神經(jīng)元權(quán)值共享,在卷積的過程中使用不同的卷積核得到上一層特征圖的不同特征,再將這些不同特征的特征圖作為下一層網(wǎng)絡(luò)的輸入數(shù)據(jù)。CNN結(jié)構(gòu)示意如圖1所示。
圖1 CNN結(jié)構(gòu)示意
MobileNeV3網(wǎng)絡(luò)結(jié)構(gòu)是深度學(xué)習(xí)中的一種輕量型的網(wǎng)絡(luò)結(jié)構(gòu)。2019年,Google發(fā)布了MobileNet系列的最新成果MobileNetV3。MobileNetV3作為新一代輕量級深度卷積神經(jīng)網(wǎng)絡(luò),在繼承了MobileNetV1和MobileNetV2的特性的同時(shí),又擁有許多新的特性。
在最初的MobileNetV1[8]中,引入了深度可分離卷積(depthwise separable convolution,DSC)來代替?zhèn)鹘y(tǒng)卷積。深度可分離卷積則是將標(biāo)準(zhǔn)卷積分解為一個(gè)深度卷積和一個(gè)點(diǎn)卷積,深度卷積過程是將輸入的每個(gè)通道各自與其對應(yīng)的卷積核進(jìn)行卷積,點(diǎn)卷積是將深度卷積的結(jié)果作為輸入,對每個(gè)像素點(diǎn)在不同的通道上進(jìn)行線性組合。深度可分離卷積與標(biāo)準(zhǔn)卷積的效果相近,并且能大幅地降低計(jì)算量和參數(shù)量。
若第i層的傳統(tǒng)標(biāo)準(zhǔn)卷積
L=h×w×d
(1)
式中,L為卷積出來的結(jié)果;h為長度;w為寬度;d為深度。
卷積核
K∈Rk×k×di×dj
(2)
式中,K為卷積核;R為實(shí)空間符號;k為卷積核維數(shù);di第i層深度。
則輸出
Li=hi×wi×dj
(3)
式中,Li為第i層卷積出來的結(jié)果;hi為第i層的長度;wi為第i層的寬度;dj為第j層的深度。
那么傳統(tǒng)標(biāo)準(zhǔn)卷積的計(jì)算消耗為
hi×wi×di×dj×k×k
(4)
深度可分離卷積計(jì)算消耗為
h×w×d(k2+d)
(5)
若取卷積核大小為3×3,深度可分離卷積相對于傳統(tǒng)標(biāo)準(zhǔn)卷積能減少約8~9倍的計(jì)算量。
MobileNetV2是根據(jù)MobileNetV1的基本概念上構(gòu)建的,它將MobileNetV1和殘差網(wǎng)絡(luò)ResNet的殘差單元結(jié)合起來,引入線性瓶頸層和反轉(zhuǎn)殘差層[9]。在低維度的張量上進(jìn)行ReLU等非線性變換時(shí)會(huì)造成大量信息的遺漏,MobileNetV2為了彌補(bǔ)這一不足,使用線性變換代替Bottleneck的激活層,這種結(jié)構(gòu)能更好地利用低維度信息使整個(gè)網(wǎng)絡(luò)更加高效。
MobileNetV3的內(nèi)部結(jié)構(gòu)既繼承了原有網(wǎng)絡(luò)結(jié)構(gòu),又添加了Squeeze and Excitation結(jié)構(gòu),通過訓(xùn)練過程中自行分配權(quán)重在特征圖上,從而能達(dá)到更好的效果。MobileNetV3還設(shè)計(jì)了一種能有效改進(jìn)網(wǎng)絡(luò)精度的非線性激活函數(shù)h-swish。
(6)
h-swish非線性激活函數(shù)會(huì)產(chǎn)生短暫的延遲,網(wǎng)絡(luò)的前半部分采用ReLU激活函數(shù),后半部分采用h-swish非線性激活函數(shù)。由于MobileNetV2網(wǎng)絡(luò)結(jié)構(gòu)的末端計(jì)算量比較大,故使用Avg-Pooling代替計(jì)算量大的部分,不僅可減少計(jì)算量且精度損失不會(huì)增加。
本文主要是使用MobileNetV3卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對砂石骨料的分類,將得出的砂石骨料分類系統(tǒng)訓(xùn)練模型運(yùn)用到現(xiàn)場生產(chǎn)環(huán)境中,完成工業(yè)生產(chǎn)的需求。
數(shù)據(jù)的采集主要是利用機(jī)器視覺技術(shù)結(jié)合相機(jī)對砂石骨料進(jìn)行圖片采集,采集砂石骨料現(xiàn)場為江西省九江市共青城萬年青商品混凝土有限公司地磅現(xiàn)場,當(dāng)裝有砂石骨料的貨車過磅時(shí),后臺(tái)算法控制相機(jī)采集砂石骨料圖片。
本文的實(shí)驗(yàn)環(huán)境為Windows 10系統(tǒng),Intel core i7-8700kCPU,內(nèi)存為16 GB,選用型號為500萬像素的面陣相機(jī)。采集的數(shù)據(jù)集涵蓋平均直徑為16~31.5 mm大石頭,10~20 mm小石頭,5~10 mm瓜子片,2.8~3.6 mm粗砂,0.8~2.0 mm細(xì)砂,0~0.16 mm石粉等6種不同類型的骨料,文中使用MobileNetV3卷積神經(jīng)網(wǎng)絡(luò)主要是對這6種不同類型的骨料進(jìn)行分類,如圖2所示。
圖2 6種類型骨料
本次采集的數(shù)據(jù)集包含4 800張圖片,每種砂石骨料各800張圖片,本次對砂石骨料圖像的采集是在現(xiàn)場露天環(huán)境下完成的,因此,每種砂石骨料的圖片類型豐富,不同天氣情況下圖片顏色、形狀、粘黏程度都有所差異,為深度學(xué)習(xí)的訓(xùn)練提供了豐富的素材,本次采集的砂石骨料圖片的像素分辨率一致為2 496×2 048。
本文主要是利用MobileNetV3卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對6種不同種類的砂石骨料進(jìn)行識別并分類。數(shù)據(jù)集共采集4 800張圖片,選取其中3 780張圖片,每種砂石骨料分別選取630張,以此作為訓(xùn)練集圖片;選取其中420張圖片,每種砂石骨料分別為70張,以此作為驗(yàn)證集圖片;選取其中600張圖片,每種砂石骨料分別選取100張,以此作為測試集圖片。
在訓(xùn)練之前,對數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),將每張圖片裁剪成5×5份,訓(xùn)練集圖片變?yōu)? 780×25共計(jì)94 500份,驗(yàn)證集圖片由420張變?yōu)?20×25共計(jì)10 500張圖片。由于原圖片分辨率為2 496×2 048,將圖片縮放至320×320分辨率能加快訓(xùn)練速度并減少計(jì)算量。添加一個(gè)灰度級的灰度通道使原有RGB三通道圖片轉(zhuǎn)變成四通道,這樣使數(shù)據(jù)集更加豐富、全面,同時(shí)能通過灰度的方差變化反應(yīng)不同種類砂石骨料的差異。因此,文本以320×320×4作為MobileNetV3網(wǎng)絡(luò)結(jié)構(gòu)的輸入端,為使訓(xùn)練速度進(jìn)一步加快,計(jì)算量進(jìn)一步減少,將圖像分辨率進(jìn)一步縮小,在MobileNetV3原有的網(wǎng)絡(luò)結(jié)構(gòu)下添加一個(gè)卷積層和一個(gè)池化層。部分網(wǎng)絡(luò)結(jié)構(gòu)所對應(yīng)的參數(shù)和計(jì)算量如表1所示。
聘請行業(yè)相關(guān)高層管理人員、專家擔(dān)任兼職導(dǎo)師,邀請他們?yōu)閷W(xué)生講授行業(yè)動(dòng)態(tài),企業(yè)需求等,開闊學(xué)生視野。比如邀請有留學(xué)經(jīng)歷的行業(yè)精英為學(xué)生講解留學(xué)規(guī)劃、細(xì)分行業(yè)領(lǐng)域和工作性質(zhì),職業(yè)晉升路線等具體資訊,幫助學(xué)生了解行業(yè)信息,做好個(gè)體職業(yè)生涯規(guī)劃。
表1 部分網(wǎng)絡(luò)參數(shù)及計(jì)算量
文中主要使用改進(jìn)的MobileNetV3卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對6種不同類型的砂石骨料進(jìn)行分類。訓(xùn)練集每張圖片分為25份之后,圖片由3 780張變?yōu)?4 500張圖片,每種類型的砂石骨料分別有15 750張圖片,驗(yàn)證集每張圖片分成25份之后,圖片由420張變?yōu)?0 500張圖片,每種類型的砂石骨料變?yōu)? 750張圖片。在訓(xùn)練的過程中,采用自適應(yīng)學(xué)習(xí)率,學(xué)習(xí)率會(huì)根據(jù)訓(xùn)練狀態(tài)自動(dòng)調(diào)節(jié)至最佳值,使用tensorboard對loss值進(jìn)行可視化監(jiān)控。
本次網(wǎng)絡(luò)訓(xùn)練方法采用監(jiān)督訓(xùn)練方法,在訓(xùn)練過程中訓(xùn)練集的損失函數(shù)收斂如圖3所示。損失函數(shù)損失率接近0.005時(shí)開始收斂,訓(xùn)練集準(zhǔn)確率函數(shù)收斂如圖4所示。從圖4可以看出,準(zhǔn)確率達(dá)到0.998開始收斂。
圖3 訓(xùn)練集損失函數(shù)收斂
圖4 訓(xùn)練集準(zhǔn)確率函數(shù)收斂
訓(xùn)練完成后,對驗(yàn)證集圖片進(jìn)行驗(yàn)證,為驗(yàn)證集損失函數(shù)收斂如圖5所示。從圖5可以看出,驗(yàn)證損失函數(shù)接近0.055時(shí)開始收斂。驗(yàn)證集準(zhǔn)確率函數(shù)收斂如圖6所示。從圖6可以看出,準(zhǔn)確率函數(shù)接近0.99時(shí)開始收斂。
圖5 驗(yàn)證集損失函數(shù)收斂
圖6 驗(yàn)證集準(zhǔn)確率函數(shù)收斂
從以上分析結(jié)果可知,訓(xùn)練和驗(yàn)證過程中訓(xùn)練集和驗(yàn)證集的損失函數(shù)和準(zhǔn)確率函數(shù)都收斂于一個(gè)值,說明本文提出的改進(jìn)的MobileNetV3卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對砂石骨料分類的訓(xùn)練模型狀態(tài)穩(wěn)定,訓(xùn)練達(dá)到良好的效果。
訓(xùn)練和驗(yàn)證完成后,利用訓(xùn)練模型對砂石骨料測試集圖片進(jìn)行分類測試,共分為兩組實(shí)驗(yàn)測試,一組是基于概率最大值把圖片分成25份對圖片進(jìn)行測試;另一組是傳統(tǒng)的測試方法,直接將圖片帶入訓(xùn)練模型,對圖像不做任何分割處理,直接由訓(xùn)練模型測出結(jié)果。
基于概率最大值就是把圖片分成5×5共計(jì)25份進(jìn)行測試,本次測試對圖片進(jìn)行5×5的分割,圖片中砂石骨料分布均勻,分割成25份后每份圖片基本保留了原始圖片的特征。利用訓(xùn)練好的模型做一個(gè)25次的循環(huán)測試,分別對每一份圖片做一次測試,測試結(jié)果會(huì)是6種砂石骨料中的一種,這種砂石骨料對應(yīng)的概率為1/25,當(dāng)對25份圖片全部測試完之后,哪種砂石骨料對應(yīng)的概率最大,該張圖片測試的結(jié)果就為此種砂石骨料。由于砂石骨料顆粒度直徑相差比較小,各種砂石骨料之間可能部分混料,因此,對砂石骨料圖片的分割也是一種增大容錯(cuò)率的分割方法。
本次測試集圖片共有600張,每種砂石骨料的圖片分別有100張。2組測試方法下對應(yīng)的每種砂石骨料的測試準(zhǔn)確率如表2所示。
從表2可以看出,基于概率最大值對砂石骨料的分類方法測試出的每種砂石骨料的準(zhǔn)確率都較傳統(tǒng)測試方法的準(zhǔn)確率高。
表2 2組測試方法測試準(zhǔn)確率對比 %
本文主要利用MobileNetV3卷積神經(jīng)網(wǎng)絡(luò)對砂石骨料進(jìn)行分類,對MobileNetV3卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)加了一層卷積層和一層池化層,從而減少了計(jì)算量并加快了訓(xùn)練速度。在圖片中砂石骨料分布均布情況下,分割成25份后,每份圖片基本保留了原始圖片的特征,在此基礎(chǔ)上提出了一種基于概率最大值對砂石骨料進(jìn)行分類方法,較傳統(tǒng)的測試方法具有更高的準(zhǔn)確率及較強(qiáng)的容錯(cuò)性,更加適用于工業(yè)生產(chǎn)的需求。