宋立新,王仁杰
(1.中國電建集團中南勘測設計研究院有限公司,湖南 長沙 410014;2.上海易清智覺自動化科技有限公司,上海 201802)
砂石骨料是混凝土的主要成分,混凝土在生產和運用的過程中,砂石骨料起著填充和骨架作用,砂石骨料的質量直接影響混凝土強度、變形、滲透性、抗凍性、耐久性等性能。
在巖石分類的研究上,最為傳統的做法就是在偏光顯微鏡下對巖石薄片圖像進行人工鑒定,這種做法不僅需要較強的專業技能,并且耗時耗力易受主觀因素影響[1]。劉鳳英等[2]利用人工神經網絡BP網絡建立火成巖巖石化學分類模型。Kamani等[3]利用巖石強度試驗來估計聚集物降解特性的可能性,對巖石進行初步分類,研究出不同類型巖石的強度與聚集物降解之間的關系。Singh等[4]利用不同巖石的點載荷強度指數與單軸抗壓強度之間的關系,得到巖石強度與種類之間的關系。袁穎等[5]采用主成分分析法從影響火成巖分類的眾多氧化物評價指標中提取主成分,再結合支持向量機算法建立火成巖巖石分類的 PCA-GA-SVM模型。Harmon等采用激光誘導擊穿光譜系統(LIBS)采集巖石光譜數據,通過對最小二乘支持向量機的訓練,得到基于粒子群算法的灰色支持向量機和最小二乘支持向量機的組合模型,結合偏最小二乘判別分析法(PLS-DA)識別火山巖的類型。
隨著人工智能飛速發展,深度學習的應用越來越廣泛,在不同的領域中發揮著越來越重要的作用,本文將使用一種改進的深度學習算法對砂石骨料進行分類識別。
深度學習是機器學習領域中的一個新的研究方向,它被引入機器學習使其更接近于最初的目標人工智能[6]。深度學習是以神經網絡為基礎,將其擴展成多層網絡,通過建立多層神經網絡,對提取出的淺層特征進行組合以形成更加抽象的高層特征,是一種模仿人腦機制來對原始數據進行分析和解釋的學習算法,從而發現數據更深層次的分布特征。深度學習網絡的關鍵主要是利用算法自動尋找特征信息,通過計算數據樣本特征之間的關系,進而更加準確地尋找更重要的特征。深度學習憑借著強大的學習分類能力,在不同的領域中都取得了優于以往的成績,如圖像的識別檢測、分類等。
本文主要研究的深度學習模型為卷積網絡模型CNN[7],與傳統BP神經網絡相比,卷積神經網絡擅長提取輸入數據之間的抽象特征,其學習能力、容錯能力、泛化能力等各方面的性能都優于傳統BP神經網絡。卷積神經網絡是一種特殊的前饋神經網絡,其基本結構包括一種特殊的深層前饋網絡,主要是由一個或多個卷積層、池化層、全連接層以及一個輸出層構成,其中,卷積層能提取相鄰像素之間的共同特性,池化層主要是對圖像進行降采樣處理。
卷積神經網絡主要是卷積層和池化層交替連接,經過多次卷積和池化后,再由全連接層處理進而得到整個卷積神經網絡的輸出。為了使運算更加簡便,網絡結構中每層內的神經元權值共享,在卷積的過程中使用不同的卷積核得到上一層特征圖的不同特征,再將這些不同特征的特征圖作為下一層網絡的輸入數據。CNN結構示意如圖1所示。

圖1 CNN結構示意
MobileNeV3網絡結構是深度學習中的一種輕量型的網絡結構。2019年,Google發布了MobileNet系列的最新成果MobileNetV3。MobileNetV3作為新一代輕量級深度卷積神經網絡,在繼承了MobileNetV1和MobileNetV2的特性的同時,又擁有許多新的特性。
在最初的MobileNetV1[8]中,引入了深度可分離卷積(depthwise separable convolution,DSC)來代替傳統卷積。深度可分離卷積則是將標準卷積分解為一個深度卷積和一個點卷積,深度卷積過程是將輸入的每個通道各自與其對應的卷積核進行卷積,點卷積是將深度卷積的結果作為輸入,對每個像素點在不同的通道上進行線性組合。深度可分離卷積與標準卷積的效果相近,并且能大幅地降低計算量和參數量。
若第i層的傳統標準卷積
L=h×w×d
(1)
式中,L為卷積出來的結果;h為長度;w為寬度;d為深度。
卷積核
K∈Rk×k×di×dj
(2)
式中,K為卷積核;R為實空間符號;k為卷積核維數;di第i層深度。
則輸出
Li=hi×wi×dj
(3)
式中,Li為第i層卷積出來的結果;hi為第i層的長度;wi為第i層的寬度;dj為第j層的深度。
那么傳統標準卷積的計算消耗為
hi×wi×di×dj×k×k
(4)
深度可分離卷積計算消耗為
h×w×d(k2+d)
(5)
若取卷積核大小為3×3,深度可分離卷積相對于傳統標準卷積能減少約8~9倍的計算量。
MobileNetV2是根據MobileNetV1的基本概念上構建的,它將MobileNetV1和殘差網絡ResNet的殘差單元結合起來,引入線性瓶頸層和反轉殘差層[9]。在低維度的張量上進行ReLU等非線性變換時會造成大量信息的遺漏,MobileNetV2為了彌補這一不足,使用線性變換代替Bottleneck的激活層,這種結構能更好地利用低維度信息使整個網絡更加高效。
MobileNetV3的內部結構既繼承了原有網絡結構,又添加了Squeeze and Excitation結構,通過訓練過程中自行分配權重在特征圖上,從而能達到更好的效果。MobileNetV3還設計了一種能有效改進網絡精度的非線性激活函數h-swish。
(6)
h-swish非線性激活函數會產生短暫的延遲,網絡的前半部分采用ReLU激活函數,后半部分采用h-swish非線性激活函數。由于MobileNetV2網絡結構的末端計算量比較大,故使用Avg-Pooling代替計算量大的部分,不僅可減少計算量且精度損失不會增加。
本文主要是使用MobileNetV3卷積神經網絡實現對砂石骨料的分類,將得出的砂石骨料分類系統訓練模型運用到現場生產環境中,完成工業生產的需求。
數據的采集主要是利用機器視覺技術結合相機對砂石骨料進行圖片采集,采集砂石骨料現場為江西省九江市共青城萬年青商品混凝土有限公司地磅現場,當裝有砂石骨料的貨車過磅時,后臺算法控制相機采集砂石骨料圖片。
本文的實驗環境為Windows 10系統,Intel core i7-8700kCPU,內存為16 GB,選用型號為500萬像素的面陣相機。采集的數據集涵蓋平均直徑為16~31.5 mm大石頭,10~20 mm小石頭,5~10 mm瓜子片,2.8~3.6 mm粗砂,0.8~2.0 mm細砂,0~0.16 mm石粉等6種不同類型的骨料,文中使用MobileNetV3卷積神經網絡主要是對這6種不同類型的骨料進行分類,如圖2所示。

圖2 6種類型骨料
本次采集的數據集包含4 800張圖片,每種砂石骨料各800張圖片,本次對砂石骨料圖像的采集是在現場露天環境下完成的,因此,每種砂石骨料的圖片類型豐富,不同天氣情況下圖片顏色、形狀、粘黏程度都有所差異,為深度學習的訓練提供了豐富的素材,本次采集的砂石骨料圖片的像素分辨率一致為2 496×2 048。
本文主要是利用MobileNetV3卷積神經網絡結構對6種不同種類的砂石骨料進行識別并分類。數據集共采集4 800張圖片,選取其中3 780張圖片,每種砂石骨料分別選取630張,以此作為訓練集圖片;選取其中420張圖片,每種砂石骨料分別為70張,以此作為驗證集圖片;選取其中600張圖片,每種砂石骨料分別選取100張,以此作為測試集圖片。
在訓練之前,對數據集進行數據增強,將每張圖片裁剪成5×5份,訓練集圖片變為3 780×25共計94 500份,驗證集圖片由420張變為420×25共計10 500張圖片。由于原圖片分辨率為2 496×2 048,將圖片縮放至320×320分辨率能加快訓練速度并減少計算量。添加一個灰度級的灰度通道使原有RGB三通道圖片轉變成四通道,這樣使數據集更加豐富、全面,同時能通過灰度的方差變化反應不同種類砂石骨料的差異。因此,文本以320×320×4作為MobileNetV3網絡結構的輸入端,為使訓練速度進一步加快,計算量進一步減少,將圖像分辨率進一步縮小,在MobileNetV3原有的網絡結構下添加一個卷積層和一個池化層。部分網絡結構所對應的參數和計算量如表1所示。
聘請行業相關高層管理人員、專家擔任兼職導師,邀請他們為學生講授行業動態,企業需求等,開闊學生視野。比如邀請有留學經歷的行業精英為學生講解留學規劃、細分行業領域和工作性質,職業晉升路線等具體資訊,幫助學生了解行業信息,做好個體職業生涯規劃。

表1 部分網絡參數及計算量
文中主要使用改進的MobileNetV3卷積神經網絡結構對6種不同類型的砂石骨料進行分類。訓練集每張圖片分為25份之后,圖片由3 780張變為94 500張圖片,每種類型的砂石骨料分別有15 750張圖片,驗證集每張圖片分成25份之后,圖片由420張變為10 500張圖片,每種類型的砂石骨料變為1 750張圖片。在訓練的過程中,采用自適應學習率,學習率會根據訓練狀態自動調節至最佳值,使用tensorboard對loss值進行可視化監控。
本次網絡訓練方法采用監督訓練方法,在訓練過程中訓練集的損失函數收斂如圖3所示。損失函數損失率接近0.005時開始收斂,訓練集準確率函數收斂如圖4所示。從圖4可以看出,準確率達到0.998開始收斂。

圖3 訓練集損失函數收斂

圖4 訓練集準確率函數收斂
訓練完成后,對驗證集圖片進行驗證,為驗證集損失函數收斂如圖5所示。從圖5可以看出,驗證損失函數接近0.055時開始收斂。驗證集準確率函數收斂如圖6所示。從圖6可以看出,準確率函數接近0.99時開始收斂。

圖5 驗證集損失函數收斂

圖6 驗證集準確率函數收斂
從以上分析結果可知,訓練和驗證過程中訓練集和驗證集的損失函數和準確率函數都收斂于一個值,說明本文提出的改進的MobileNetV3卷積神經網絡結構對砂石骨料分類的訓練模型狀態穩定,訓練達到良好的效果。
訓練和驗證完成后,利用訓練模型對砂石骨料測試集圖片進行分類測試,共分為兩組實驗測試,一組是基于概率最大值把圖片分成25份對圖片進行測試;另一組是傳統的測試方法,直接將圖片帶入訓練模型,對圖像不做任何分割處理,直接由訓練模型測出結果。
基于概率最大值就是把圖片分成5×5共計25份進行測試,本次測試對圖片進行5×5的分割,圖片中砂石骨料分布均勻,分割成25份后每份圖片基本保留了原始圖片的特征。利用訓練好的模型做一個25次的循環測試,分別對每一份圖片做一次測試,測試結果會是6種砂石骨料中的一種,這種砂石骨料對應的概率為1/25,當對25份圖片全部測試完之后,哪種砂石骨料對應的概率最大,該張圖片測試的結果就為此種砂石骨料。由于砂石骨料顆粒度直徑相差比較小,各種砂石骨料之間可能部分混料,因此,對砂石骨料圖片的分割也是一種增大容錯率的分割方法。
本次測試集圖片共有600張,每種砂石骨料的圖片分別有100張。2組測試方法下對應的每種砂石骨料的測試準確率如表2所示。
從表2可以看出,基于概率最大值對砂石骨料的分類方法測試出的每種砂石骨料的準確率都較傳統測試方法的準確率高。

表2 2組測試方法測試準確率對比 %
本文主要利用MobileNetV3卷積神經網絡對砂石骨料進行分類,對MobileNetV3卷積神經網絡結構加了一層卷積層和一層池化層,從而減少了計算量并加快了訓練速度。在圖片中砂石骨料分布均布情況下,分割成25份后,每份圖片基本保留了原始圖片的特征,在此基礎上提出了一種基于概率最大值對砂石骨料進行分類方法,較傳統的測試方法具有更高的準確率及較強的容錯性,更加適用于工業生產的需求。