吳立韜,孫 嘯,田正宏
(河海大學(xué)水利水電學(xué)院,江蘇 南京 210024)
渠道護(hù)坡常常采用預(yù)制塊進(jìn)行鋪裝保護(hù)。預(yù)制塊主要由混凝土制成,其獨(dú)特的連鎖式設(shè)計(jì)[1]對(duì)于防止水浪沖刷具有良好的整體穩(wěn)定性。預(yù)制塊外形不規(guī)整、質(zhì)量大、鋪裝精度要求高、間隙咬合緊密的特點(diǎn)導(dǎo)致預(yù)制塊鋪裝施工困難。目前預(yù)制塊的鋪設(shè)主要由人工來完成,存在工作強(qiáng)度大、效率低、安全性低的問題。如何根據(jù)現(xiàn)場(chǎng)情況設(shè)計(jì)實(shí)時(shí)調(diào)整鋪裝動(dòng)作的自動(dòng)化鋪裝機(jī)械,是解決人工鋪裝弊端的有效方式。
自動(dòng)化鋪裝機(jī)械的設(shè)計(jì)模式多樣,設(shè)計(jì)限制由所處的環(huán)境決定。對(duì)于室內(nèi)鋪裝,環(huán)境變化較小,對(duì)鋪裝機(jī)械的體形限制較大;對(duì)于室外鋪裝,環(huán)境變化大,對(duì)鋪裝機(jī)械的環(huán)境適應(yīng)性限制就高。近年來,在自動(dòng)化鋪裝機(jī)械領(lǐng)域已有學(xué)者進(jìn)行相關(guān)的研究。2010年,tinger-stone自動(dòng)鋪路機(jī)在荷蘭問世,利用磚塊自身重力碼放,需要工作人員協(xié)助裝料。2013年程明等[2]提出一種集運(yùn)磚、刷漿、鋪磚、壓磚等多道工序于一體的自動(dòng)化鋪磚解決方案。Usmanov等[3]提出了一個(gè)通用的方法來創(chuàng)建一個(gè)磚砌墻建筑系統(tǒng),該系統(tǒng)提出了機(jī)器人系統(tǒng)在施工物體內(nèi)部的最佳位置,即,使機(jī)器人的運(yùn)動(dòng)距離最小化,從而減少施工過程的電力消耗。Wu等[4]以實(shí)際砌磚工程為例,利用概率路徑方法對(duì)六軸機(jī)器人進(jìn)行運(yùn)動(dòng)規(guī)劃。Yu等[5]對(duì)基于最優(yōu)布局方式和軌跡算法的機(jī)械手集成移動(dòng)系統(tǒng)進(jìn)行研究,采用“快速算法”設(shè)計(jì)了模式生成器,并采用“重疊法”開發(fā)了機(jī)器人軌跡生成算法。但是現(xiàn)有的智能化鋪磚機(jī)械適用于平整且相對(duì)結(jié)實(shí)的地面路基,鋪裝的對(duì)象以方磚為主,磚塊之間卡接順暢,基底平整無變形無坡腳。采用這類機(jī)械式自動(dòng)化鋪磚方法與機(jī)械,無法有效解決斜坡面松軟墊層面、重型大尺寸、互相咬合砌塊的精準(zhǔn)對(duì)位和高效鋪裝問題。
對(duì)于磚塊檢測(cè)識(shí)別,Chattopadhyay等[6]設(shè)計(jì)一種基于動(dòng)態(tài)視頻流的實(shí)時(shí)圖像分割方案,用于移動(dòng)機(jī)器人中的目標(biāo)定位,算法具有很高的時(shí)間效率,適用于兩個(gè)移動(dòng)機(jī)器人實(shí)現(xiàn)多智能體交互協(xié)調(diào),如比賽、目標(biāo)跟蹤和砌磚等。Zandavali等[7]提出了一種基于圖像到圖像翻譯的機(jī)器學(xué)習(xí)自動(dòng)磚瓦加工框架。該框架包括創(chuàng)建數(shù)據(jù)集、為每個(gè)紐帶訓(xùn)練模型以及將輸出圖像轉(zhuǎn)換為機(jī)器人裝配的矢量數(shù)據(jù)。Malakhov等人[8]提出采用數(shù)字驅(qū)動(dòng)以及優(yōu)化設(shè)計(jì)和算法解決方案被認(rèn)為是提高移動(dòng)砌磚機(jī)器人能源效率的手段。然而,在渠道預(yù)制塊鋪裝機(jī)械領(lǐng)域,圖像處理和定位技術(shù)尚未得到成熟的運(yùn)用,針對(duì)現(xiàn)有對(duì)渠道預(yù)制塊鋪裝研究的不足,本文設(shè)計(jì)渠道預(yù)制塊鋪裝機(jī)械所需的檢測(cè)定位技術(shù),將圖像處理系統(tǒng)、定位計(jì)算系統(tǒng)與機(jī)械系統(tǒng)相結(jié)合,實(shí)現(xiàn)對(duì)預(yù)制塊鋪裝點(diǎn)的精準(zhǔn)預(yù)測(cè)與順利鋪裝。
本文研究內(nèi)容:①使用圖像預(yù)處理后的目標(biāo)檢測(cè)算法,結(jié)合點(diǎn)云計(jì)算實(shí)現(xiàn)對(duì)預(yù)制塊檢測(cè)和定位。②根據(jù)預(yù)制塊模型建立數(shù)據(jù)集,實(shí)現(xiàn)對(duì)預(yù)制塊鋪裝點(diǎn)的預(yù)測(cè)。④設(shè)計(jì)預(yù)制塊鋪裝機(jī)械的機(jī)械系統(tǒng),并進(jìn)行鋪裝試驗(yàn)。
渠道預(yù)制塊鋪裝機(jī)械包含圖像處理系統(tǒng)、定位計(jì)算系統(tǒng)、機(jī)械系統(tǒng)。圖像處理系統(tǒng)獲取預(yù)制塊圖像,對(duì)限制待鋪裝位預(yù)制塊的相鄰預(yù)制塊坐標(biāo)進(jìn)行計(jì)算,并將數(shù)據(jù)傳輸給定位計(jì)算系統(tǒng)。定位計(jì)算系統(tǒng)根據(jù)輸入數(shù)據(jù),對(duì)待鋪裝位置計(jì)算,再將待鋪裝預(yù)制塊的坐標(biāo)傳輸給機(jī)械控制系統(tǒng),機(jī)械控制系統(tǒng)根據(jù)坐標(biāo),將預(yù)制塊放置于預(yù)定位置。
圖像處理系統(tǒng)通過結(jié)構(gòu)光相機(jī)采集彩色圖和點(diǎn)云圖,圖像處理系統(tǒng)采用PDN700結(jié)構(gòu)光相機(jī),采用850 mm的光源,工作距離為300~700 mm,近端視場(chǎng)為265 mm×235 mm,Z軸精度在0.1 mm,對(duì)深度圖的分辨率在1 280×1 024,對(duì)彩色圖的分辨率在1 280×1 024,采集時(shí)間在1 s左右。
圖像處理系統(tǒng)的總體流程如圖1所示:①結(jié)構(gòu)光相機(jī)采集彩色圖和點(diǎn)云圖。②目標(biāo)檢測(cè)算法對(duì)彩色圖進(jìn)行目標(biāo)檢測(cè)。③計(jì)算彩色圖中目標(biāo)區(qū)域的范圍。④根據(jù)彩色圖中目標(biāo)區(qū)域的范圍提取點(diǎn)云中的目標(biāo)區(qū)域。⑤計(jì)算預(yù)制塊的中心坐標(biāo)點(diǎn)。
圖1 圖像處理系統(tǒng)總體流程
1.1.1 目標(biāo)檢測(cè)算法
(1)圖像預(yù)處理。圖像預(yù)處理可有效改善原始圖像質(zhì)量,突出檢測(cè)目標(biāo)。目前常用的圖像預(yù)處理手段有灰度變換、濾波去噪、圖像銳化等。渠道預(yù)制塊鋪裝機(jī)械處于室外開放環(huán)境中,存在太陽直射、目標(biāo)物不清晰、目標(biāo)物背景復(fù)雜等問題。因此采用多種圖像預(yù)處理方式,減小背景物的干擾,強(qiáng)化目標(biāo)物體的輪廓,目標(biāo)檢測(cè)算法的訓(xùn)練精度和速度。圖像預(yù)處理步驟效果如圖2所示,具體流程為:①使用Canny[9]對(duì)原始圖像2a處理,通過高斯濾波、非極大值像素梯度抑制等算法檢測(cè)圖像邊緣、將非圖像邊緣抑制,處理效果如圖2b所示。②預(yù)制塊的材質(zhì)、灰塵、污漬使得Canny算法對(duì)圖像的處理效果未達(dá)到預(yù)期,使用Dilated[10]繼續(xù)處理。通過10×10的內(nèi)核對(duì)圖像處理,取核中像素值的最大值代替錨點(diǎn)位置的像素值,將圖像中的高亮區(qū)域膨脹,使得預(yù)制塊邊緣部分更加明顯,處理效果如圖2c所示。③經(jīng)過Dilated處理后的圖像,仍不能將目標(biāo)物和背景較為清晰地區(qū)別開來,使用Thresholding[11]繼續(xù)處理,設(shè)置閾值將圖像分成二值圖像,處理效果如圖2d所示。④處理后的圖像除了預(yù)制塊的輪廓外,還存在較多干擾點(diǎn),使用Eroded[12]繼續(xù)處理。通過5×5的內(nèi)核對(duì)圖像處理,取核中像素值的最小值代替錨點(diǎn)位置的像素值,將圖像中的白色部分縮減細(xì)化,得到目標(biāo)物更加凸顯的圖像,處理效果如圖2e所示。
圖2 圖像預(yù)處理各步驟效果
(2)YOLOv5s結(jié)構(gòu)。YOLOv5s[13]算法主要結(jié)構(gòu)分為主干特征提取網(wǎng)絡(luò)、加強(qiáng)特征提取網(wǎng)絡(luò)、目標(biāo)檢測(cè)分類器。主干網(wǎng)絡(luò)主要由Conv、C3、SPPF3個(gè)模塊組成,將輸入圖片轉(zhuǎn)為特征集合。輸入圖像數(shù)據(jù)大小為640×640×3,使用圖像預(yù)處理后,圖像通道數(shù)降低,圖像大小為640×640×1,可以提高模型的運(yùn)行速度。加強(qiáng)特征提取網(wǎng)絡(luò)采用FPN+PAN[14]結(jié)構(gòu),通過80×80、40×40、20×20等3個(gè)尺度對(duì)目標(biāo)進(jìn)行檢測(cè),經(jīng)過NMS(非極大值抑制)按照概率值篩選剔除冗余的預(yù)測(cè)框,最終輸出置信度最高的預(yù)測(cè)類別和邊界框的位置坐標(biāo)。
1.1.2 目標(biāo)定位算法
根據(jù)彩色圖的目標(biāo)區(qū)域?qū)ι疃葓D目標(biāo)區(qū)域劃分后,計(jì)算預(yù)制塊的中心坐標(biāo)和旋轉(zhuǎn)角度。目標(biāo)定位算法如圖3所示。目標(biāo)定位算法的流程為:
圖3 目標(biāo)定位算法各步驟示意
(1)使用Pass Through算法[15]與Ransac算法[16],將原始點(diǎn)云圖像的z方向設(shè)定數(shù)值段以外的點(diǎn)全部去除。在圖像采集時(shí),預(yù)制塊與深度相機(jī)的距離固定,因此,只需保留固定距離的點(diǎn)云,去除噪聲,提升速度和精度。再對(duì)濾波后的深度圖提取平面,在深度圖中隨機(jī)選取3個(gè)點(diǎn),計(jì)算其他點(diǎn)到該平面的距離,若小于設(shè)定的閾值則認(rèn)為屬于同一個(gè)平面。如此往復(fù)迭代直到所有點(diǎn)滿足,處理效果見圖3b。
(2)使用Boundary Estimation算法[17],對(duì)平面提取后的深度圖進(jìn)行邊界提取,先進(jìn)行局部采樣獲取局部平面,以最小二乘法擬合該局部平面,并將其向微切平面投影,根據(jù)采樣點(diǎn)與其近鄰所對(duì)應(yīng)投影點(diǎn)連線的最大夾角識(shí)別散亂點(diǎn)云邊界特征,處理效果如圖3c所示。
(3)預(yù)制塊的深度圖像中,有4條直線靠近圖像中心,兩兩相交。提取出4條直線,并計(jì)算出4條直線的表達(dá)式。根據(jù)4條直線的表達(dá)式,計(jì)算出直線的交點(diǎn),取交點(diǎn)橫縱坐標(biāo)的平均值為預(yù)制塊的中心點(diǎn)。根據(jù)直線的斜率,計(jì)算直線的傾角與45°、135°的差值,從而計(jì)算預(yù)制塊的旋轉(zhuǎn)角度,處理效果如圖3d所示。
定位計(jì)算系統(tǒng)通過建立預(yù)制塊的模型,并通過調(diào)整預(yù)制塊間距和旋轉(zhuǎn)角度模擬鋪裝來獲取試驗(yàn)數(shù)據(jù)。根據(jù)不同的工況采用其對(duì)應(yīng)的算法,輸出待鋪預(yù)制塊的鋪裝坐標(biāo)信息。
1.2.1 模型參數(shù)
根據(jù)現(xiàn)場(chǎng)測(cè)繪建立預(yù)制塊模型,如圖4a所示,預(yù)制塊有兩個(gè)凸塊部分和兩個(gè)凹槽部分,形狀與大小完全一致。預(yù)制塊的鋪裝要求鋪裝的預(yù)制塊的凸塊與相鄰預(yù)制塊的凹槽相契合。為了保證鋪裝時(shí)預(yù)制塊間不會(huì)相互碰撞摩擦,以預(yù)制塊凸塊在相鄰預(yù)制塊的凹槽中,且凸塊與凹槽的間距最大為佳,可將模型簡化為預(yù)制塊間凸塊和凹槽的位置關(guān)系,如圖4b所示。為了限制住凸塊處于凹槽的包圍中,根據(jù)預(yù)制塊模型建立凸塊點(diǎn)模型和凹槽線模型,計(jì)算出凹槽包圍的范圍內(nèi)點(diǎn)的取值范圍,以限制凸塊的位置。若凸塊點(diǎn)模型超出取值范圍,將舍去該數(shù)據(jù)。
圖4 預(yù)制塊鋪裝示意
預(yù)制塊間凸塊與凹槽的間距受預(yù)制塊間的相對(duì)位移和相對(duì)角度共同影響,如圖4c所示,對(duì)于①②兩塊預(yù)制塊,在相對(duì)旋轉(zhuǎn)角度為α的情況下,②號(hào)預(yù)制塊沿x方向的位移dx和沿y方向的位移dy與②③兩塊預(yù)制塊,在相對(duì)角度為α,③號(hào)預(yù)制塊沿x方向的位移-dy,沿y方向位移預(yù)制塊間距一致。因此,只需對(duì)①②兩塊預(yù)制塊的不同相對(duì)位置和旋轉(zhuǎn)角度下的工況模擬即可推出①②③3塊預(yù)制塊間不同相對(duì)角度和位移下的間距。
對(duì)凸塊點(diǎn)模型沿x方向位移dx,沿y方向位移dy和旋轉(zhuǎn)α角度操作,若初始點(diǎn)坐標(biāo)為(x,y),經(jīng)過位移、旋轉(zhuǎn)后的點(diǎn)坐標(biāo)(rmx,rmy)為
(1)
(2)
對(duì)于點(diǎn)總數(shù)為n的凸塊點(diǎn)模型,凸塊上第i個(gè)點(diǎn)pi到凹槽線模型最小間距為
dpi=min(dl,dc),(1≤i≤n)
(3)
計(jì)算所有點(diǎn)到凹槽線模型的最小間距,其最小值即為凸塊至凹槽的最小間距為
d=min(dp1,dp2,…dpi…,dpn),(1≤i≤n)
(4)
1.2.2 工況模擬
預(yù)制塊鋪裝過程分為單邊限制和雙邊限制2種工況。當(dāng)渠道預(yù)制塊鋪裝機(jī)械進(jìn)行每一列(第一列除外)預(yù)制塊中第一塊預(yù)制塊的鋪裝時(shí),待鋪預(yù)制塊只受到單邊限制。當(dāng)鋪裝機(jī)械在完成每一列第一塊預(yù)制塊的鋪裝后,繼續(xù)往下鋪裝時(shí),待鋪預(yù)制塊受到雙邊限制。
(1)單邊限制。待鋪裝預(yù)制塊為②預(yù)制塊,對(duì)其單邊限制的預(yù)制塊為①預(yù)制塊。當(dāng)預(yù)制塊間的夾角為0°,預(yù)制塊間間距為l時(shí),①預(yù)制塊與②預(yù)制塊的間距最大,此坐標(biāo)點(diǎn)作為②預(yù)制塊的鋪裝坐標(biāo)。根據(jù)①預(yù)制塊相對(duì)鋪裝機(jī)械的坐標(biāo)x1、y1、α1,計(jì)算出②預(yù)制塊的中心坐標(biāo)為(x1-lcosα,y1-lsinα)。
(2)雙邊限制。待鋪裝預(yù)制塊為②預(yù)制塊,對(duì)其雙邊限制的預(yù)制塊為①③預(yù)制塊。設(shè)置②和③預(yù)制塊相對(duì)①預(yù)制塊的位移量和旋轉(zhuǎn)角度分別為x2、y2、α2和x3、y3、α3。③預(yù)制塊相對(duì)于②預(yù)制塊的旋轉(zhuǎn)角度為(α3-α2),x方向位移為(x3-x2),y方向位移為(y3-y2)。將②預(yù)制塊x方向位移m1次,y方向位移m2次,計(jì)算每次位移時(shí),其與相鄰預(yù)制塊①和③預(yù)制塊的間距d1和d3。再計(jì)算②預(yù)制塊與相鄰預(yù)制塊最小間距
dk=min(d1,d3)
(5)
以①和③預(yù)制塊的相對(duì)旋轉(zhuǎn)角度和相對(duì)位移為前提,計(jì)算②預(yù)制塊相對(duì)①預(yù)制塊不同旋轉(zhuǎn)角度和相對(duì)位移下,①②③預(yù)制塊的間距,取其間距最大情況下的旋轉(zhuǎn)角度和位移點(diǎn),視為最佳旋轉(zhuǎn)角度和位移點(diǎn),即
dkbest=max(dk1,dk2,…,dki,…,dkn)
(6)
1.2.3 蜣螂算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)
基于蜣螂算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)(DBO-BP)用于對(duì)雙邊限制條件下的預(yù)制塊鋪裝位置的預(yù)測(cè),是將蜣螂算法[18]和BP神經(jīng)網(wǎng)絡(luò)[19]相結(jié)合的算法。BP神經(jīng)網(wǎng)絡(luò)是以梯度下降的方法獲取最終解,但是梯度下降的方法與梯度下降的初始值有較大關(guān)系,而導(dǎo)致最終解為局部最優(yōu)的情況。蜣螂算法模擬蜣螂動(dòng)作,將最優(yōu)解通過迭代的方式留下。為此,將蜣螂算法和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,可以彌補(bǔ)BP神經(jīng)網(wǎng)絡(luò)的不足,如圖5所示。該算法具體步驟如下:
圖5 蜣螂算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)示意
(1)將護(hù)坡上③預(yù)制塊與①預(yù)制塊間的相對(duì)角度α3和相對(duì)位移x3、y3作為輸入層神經(jīng)元參數(shù),將待鋪裝的②預(yù)制塊的與①預(yù)制塊間的相對(duì)角度α2和相對(duì)位移x2、y2為輸出層神經(jīng)元參數(shù),劃分完數(shù)據(jù)集后對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。將護(hù)坡上③預(yù)制塊與①預(yù)制塊間的相對(duì)角度α3和相對(duì)位移x3、y3作為輸入層神經(jīng)元參數(shù),將待鋪裝的②預(yù)制塊的與①預(yù)制塊間的相對(duì)角度α2和相對(duì)位移x2、y2為輸出層神經(jīng)元參數(shù),劃分完數(shù)據(jù)集后對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。
(2)確定BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和相關(guān)參數(shù)(神經(jīng)網(wǎng)絡(luò)的迭代次數(shù)、目標(biāo)誤差的閾值、學(xué)習(xí)率和適應(yīng)度函數(shù))。其中適應(yīng)度函數(shù)fit(s,t)將輸出值和預(yù)期值之間的差值的絕對(duì)值進(jìn)行累積。
(7)
(3)將BP神經(jīng)網(wǎng)絡(luò)各層神經(jīng)元的權(quán)值和閾值編碼,組成遺傳算法的種群,以BP神經(jīng)網(wǎng)絡(luò)根據(jù)不同種群的權(quán)值和閾值計(jì)算得出的輸出值和期望值的誤差帶入適應(yīng)度函數(shù)計(jì)算,通過滾球行為、繁殖行為、覓食行為、偷竊行為的算子,使得BP神經(jīng)網(wǎng)絡(luò)向誤差更小的方向進(jìn)化。
(4)將誤差最小的BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值保留下來,作為BP神經(jīng)網(wǎng)絡(luò)的參數(shù),將測(cè)試集數(shù)據(jù)輸入檢驗(yàn)神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確度,通過迭代次數(shù)、誤差范圍來評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)。
模型訓(xùn)練環(huán)境:處理器為Intel(R)Core(TM)i5-10200H CPU@2.40GHz,顯卡為NVIDIA GeForce GTX1650,操作系統(tǒng)為Windows10,深度學(xué)習(xí)框架為Pytorch1.6.0,語言環(huán)境為python3.7,使用CUDA10.2和Cudnn7.6.5對(duì)GPU加速。部分試驗(yàn)參數(shù)如表1所示。
表1 試驗(yàn)參數(shù)
采用現(xiàn)場(chǎng)實(shí)拍的方式收集了某渠道工程的預(yù)制塊圖像。經(jīng)過篩選,選用100張1 920×1 440的預(yù)制塊圖像。通過開源標(biāo)注工具LabelImg手工標(biāo)注原始圖像中的預(yù)制塊,制作標(biāo)簽文件,得到的預(yù)制塊目標(biāo)分布和尺寸如圖6所示。由圖6a知,數(shù)據(jù)集的圖像主要集中分布于0.25~0.45之間,目標(biāo)長與寬基本一致。由圖6b知,標(biāo)簽分布情況比較分散,在取得的彩色圖中各個(gè)部分均有分布。
圖6 預(yù)制塊目標(biāo)分布與尺寸
根據(jù)渠道現(xiàn)場(chǎng)實(shí)地測(cè)量,預(yù)制塊的尺寸為l×l×h=615 mm×615 mm×120 mm,凹槽長56.75 mm,凸塊長47.75 mm,凸塊和凹槽斜邊的角度相等,均為45°。為了便于試驗(yàn)驗(yàn)證,等比例縮放至1/4。根據(jù)公式l′=l×s可以計(jì)算出縮放后的預(yù)制塊尺寸為153.75 mm×153.75 mm×30 mm,模型凹槽長14.19 mm,凸塊長11.19 mm,凹槽深15.5 mm,凸塊深14.5 mm。若預(yù)制塊的中心位于坐標(biāo)原點(diǎn),預(yù)制塊凹槽的限制范圍表達(dá)如下
(8)
(9)
2.3.1 圖像處理系統(tǒng)
2.3.1.1 目標(biāo)檢測(cè)算法
目標(biāo)檢測(cè)算法對(duì)圖像的處理效果如圖7所示,目標(biāo)檢測(cè)算法首先對(duì)原始彩色圖進(jìn)行預(yù)處理,再運(yùn)行YOLOv5s_6模型,識(shí)別出預(yù)制塊中心區(qū)域。將預(yù)制塊中心區(qū)域的范圍保存,用以分割點(diǎn)云圖,定位預(yù)制塊中心坐標(biāo)。
圖7 目標(biāo)檢測(cè)算法運(yùn)行效果
目標(biāo)檢測(cè)算法運(yùn)行效果如表2所示。表中,P為精確率;R為召回率;MAP_0.5指的是GIoU閾值取0.5時(shí)的均值平均精度MAP值,MAP_0.5-0.95指的是GIoU閾值取0.5~0.95、步長為0.05時(shí)的MAP值,使用權(quán)重大小作為模型是否輕量化易于工程部署的評(píng)價(jià)標(biāo)準(zhǔn),使用訓(xùn)練時(shí)間和檢測(cè)時(shí)間作為模型運(yùn)行效率的評(píng)價(jià)標(biāo)準(zhǔn)。
表2 原始模型與改進(jìn)后的模型性能比較
從表2可知,改進(jìn)后的模型相較于原始模型,各參數(shù)都有一定程度的提升,增強(qiáng)了對(duì)預(yù)制塊識(shí)別的精度。由于并未對(duì)模型結(jié)構(gòu)進(jìn)行調(diào)整,改進(jìn)YOLOv5s模型較原模型迭代過程指標(biāo)相近,精確率、召回率、MAP_0.5值和MAP_0.5-0.95值分別提高1.05%、2.2%、2.4%和2.03%;雖然模型大小略有增加(權(quán)重文件僅增加7KB),但模型效率能夠有效提高,訓(xùn)練時(shí)間和檢測(cè)時(shí)間分別減少0.051 h和0.043 s。
隨著訓(xùn)練進(jìn)行,訓(xùn)練的進(jìn)行置信度損失值迅速下降并趨于穩(wěn)定,精度不斷增加,模型逐漸達(dá)到最優(yōu)性能。原始模型與改進(jìn)后的模型訓(xùn)練過程對(duì)比如圖8所示。改進(jìn)后的模型執(zhí)行都損失值一直低于原始模型,MAP值在0~27次迭代波動(dòng)較明顯,且從第22次迭代開始一直高于原始模型。綜上,在略微增加模型規(guī)模的前提下,可提高模型的識(shí)別精度和速度,滿足預(yù)制塊鋪裝高效率的要求。
圖8 原始模型與改進(jìn)后模型訓(xùn)練過程對(duì)比
2.3.1.2 目標(biāo)定位算法
根據(jù)預(yù)制塊等比例縮放模型尺寸,使用3D打印技術(shù)制作模型,模擬鋪裝過程中渠道上預(yù)制塊的擺放位置,結(jié)構(gòu)光相機(jī)采集圖像。圖像經(jīng)過目標(biāo)檢測(cè)算法處理,目標(biāo)定位算法計(jì)算預(yù)制塊中心和偏轉(zhuǎn)角度,將計(jì)算數(shù)據(jù)與實(shí)際預(yù)制塊的中心和偏轉(zhuǎn)角度比較,以模擬現(xiàn)場(chǎng)鋪裝工況,以十字線確定預(yù)制塊的中心位置,紅點(diǎn)為定位計(jì)算系統(tǒng)的計(jì)算結(jié)果,試驗(yàn)如圖9所示。經(jīng)試驗(yàn),目標(biāo)定位算法的坐標(biāo)定位和角度計(jì)算均與實(shí)際值偏差0.1 mm,達(dá)到預(yù)期效果。
圖9 鋪裝圖像采集模擬試驗(yàn)
2.3.2 定位計(jì)算系統(tǒng)
將遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(GA-BP)[20]與蜣螂算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)(DBO-BP)比較。對(duì)GA-BP和DBO-BP使用相同的數(shù)據(jù)集和測(cè)試集進(jìn)行訓(xùn)練和仿真預(yù)測(cè),將1900個(gè)數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集,將100個(gè)數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的測(cè)試集,分別導(dǎo)入DBO-BP神經(jīng)網(wǎng)絡(luò)和GA-BP神經(jīng)網(wǎng)絡(luò),比較神經(jīng)網(wǎng)絡(luò)的性能。比較兩種神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)輸出在預(yù)測(cè)的準(zhǔn)確性和訓(xùn)練過程中的收斂性能,結(jié)果見表3。表3中,MAE為平均絕對(duì)誤差,MSE為均方誤差。
表3 GA-BP與DBO-BP性能比較
從表3可以看出,GA-BP的測(cè)試集數(shù)據(jù)比訓(xùn)練集數(shù)據(jù)高0.024,而DBO-BP的測(cè)試集數(shù)據(jù)比訓(xùn)練集數(shù)據(jù)高0.005;平均誤差兩者相差不大,因此DBO-BP的訓(xùn)練效果更好,對(duì)數(shù)據(jù)預(yù)測(cè)效果更精確。DBO-BP神經(jīng)網(wǎng)絡(luò)對(duì)訓(xùn)練集數(shù)據(jù)預(yù)測(cè)的平均絕對(duì)誤差值和均方誤差值均小于GA-BP,故使用DBO-BP,比GA-BP對(duì)預(yù)制塊鋪裝所用的數(shù)據(jù)集有更好的適應(yīng)性。
分別使用GA-BP和DBO-BP從數(shù)據(jù)集中挑選100組數(shù)據(jù)進(jìn)行仿真模擬,模擬結(jié)果如圖10所示。從圖10可以看出,DBO-BP的最大預(yù)測(cè)誤差百分值為0.134,最小預(yù)測(cè)誤差百分值為0.001;GA-BP的總體預(yù)測(cè)效果誤差較大,最大誤差百分值為0.280,最小誤差百分值為0.005。DBO-BP的預(yù)測(cè)誤差百分值比GA-BP的預(yù)測(cè)誤差百分值平均低0.056;在第99次仿真預(yù)測(cè)模擬,DBO-BP與GA-BP預(yù)測(cè)精度相差最大為0.220。試驗(yàn)結(jié)果表明,DBO-BP有更加良好的預(yù)測(cè)精度,且預(yù)測(cè)值與真實(shí)值誤差較小,表明DBO-BP對(duì)鋪裝狀況能夠?qū)崟r(shí)調(diào)整,預(yù)測(cè)出合理的預(yù)制塊鋪裝位置。
圖10 神經(jīng)網(wǎng)絡(luò)仿真模擬結(jié)果
隨著訓(xùn)練進(jìn)行,目標(biāo)函數(shù)值迅速下降并趨于穩(wěn)定,精度不斷增加,模型逐漸達(dá)到最優(yōu)性能。GA-BP和DBO-BP模型訓(xùn)練過程對(duì)比如圖11所示。從圖11可知,DBO-BP的均方誤差一直低于GA-BP;GA-BP的均方誤差值初始值較高,在前9次迭代范圍內(nèi),均方誤差下降幅度較大,最佳性能狀態(tài)為第53次,均方誤差為0.019;DBO-BP的均方誤差初始值較低,在前12次迭代范圍內(nèi),均方誤差變化幅度較小,最佳性能狀態(tài)為第53次,均方誤差為0.004。在前7次迭代,GA-BP與DBO-BP的誤差差值在逐漸降低,在第8次至第10次迭代,GA-BP與DBO-BP,逐漸增大,在第10次迭代往后,GA-BP與DBO-BP的均方誤差均在緩慢下降,DBO-BO的均方誤差下降幅度略大。由此可知,遺傳算法優(yōu)化后的初始權(quán)重參數(shù)對(duì)神經(jīng)網(wǎng)絡(luò)的適應(yīng)性不如蜣螂算法優(yōu)化的權(quán)重參數(shù)。在進(jìn)行7次神經(jīng)網(wǎng)絡(luò)迭代時(shí),兩者性能相近,隨著迭代次數(shù)增加,DBO-BP提高模型準(zhǔn)確度要比GA-BP高。
圖11 神經(jīng)網(wǎng)絡(luò)均方誤差變化結(jié)果
(1)本文通過圖像預(yù)處理,優(yōu)化YOLOv5模型,可以在一定程度上提高預(yù)制塊的識(shí)別精度,同時(shí)能有效提升模型訓(xùn)練和目標(biāo)檢測(cè)的速度,減少訓(xùn)練和檢測(cè)所用時(shí)間,對(duì)提高鋪裝工作效率有重要意義。
(2)將點(diǎn)云處理算法和目標(biāo)檢測(cè)算法相結(jié)合,為預(yù)制塊鋪裝機(jī)械識(shí)別、定位預(yù)制塊提供有效解決途徑。對(duì)預(yù)制塊的坐標(biāo)計(jì)算效果良好,精度高,滿足鋪裝要求。
(3)通過現(xiàn)場(chǎng)采集數(shù)據(jù),建立數(shù)值模型,先進(jìn)行數(shù)值模擬試驗(yàn),獲取試驗(yàn)數(shù)據(jù)后,使用蜣螂算法,實(shí)現(xiàn)輸入預(yù)制塊間的相對(duì)位移、旋轉(zhuǎn)角度后輸出預(yù)制塊的鋪裝坐標(biāo)。滿足預(yù)制塊鋪裝對(duì)鋪裝點(diǎn)較高精度計(jì)算的需要。