鄒家豪,黃志開*,王 歡,王榮杰,蓋黎霞
(1.南昌工程學(xué)院 信息工程學(xué)院,南昌 330099;2.無錫派克新材料有限公司,無錫 214000)
目前,各領(lǐng)域?qū)τ诖笮铜h(huán)形鍛件的應(yīng)用需求增加,對(duì)精度的要求也日益提高。但鍛件直徑越大,鍛件加工的廢品率越大,降低了企業(yè)的生產(chǎn)效率,因此迫切需要一種更高效的鍛件檢測(cè)方法。如今國內(nèi)外大型鍛件的尺寸檢測(cè)方法可以分為接觸式和非接觸式。接觸式測(cè)量法采用點(diǎn)對(duì)點(diǎn)測(cè)量,但誤差大、精度低,而且對(duì)操作人員的傷害較大。非接觸式測(cè)量法則有效避免操作人員與高溫鍛件直接接觸,提高了測(cè)量精度,因此在學(xué)術(shù)領(lǐng)域成為研究熱點(diǎn)。李雪嬌[1]等人研究了基于機(jī)器視覺的大型零件尺寸測(cè)量系統(tǒng),該系統(tǒng)由小波去噪去除復(fù)雜環(huán)境引起的噪聲,使用SIFT和加權(quán)平均算法進(jìn)行圖像拼接,得到工件的整體圖像,從而實(shí)現(xiàn)對(duì)其尺寸測(cè)量,但其計(jì)算過程復(fù)雜且需要對(duì)新環(huán)境重新標(biāo)定降低了檢測(cè)效率。王邦國等[2]對(duì)大型鍛件的熱態(tài)尺寸測(cè)量系統(tǒng)進(jìn)行了研究,該系統(tǒng)利用光源與熱態(tài)鍛件輻射出射度波長(zhǎng)的關(guān)系確定相機(jī)的光譜,進(jìn)行圖像采集,以主動(dòng)視覺標(biāo)定為基礎(chǔ)解決車間環(huán)境復(fù)雜相機(jī)難以標(biāo)定的問題,但標(biāo)定精度對(duì)尺寸檢測(cè)的精度有較大影響。ZHU S[3]等人研究了基于機(jī)器視覺的大型結(jié)構(gòu)件表面橫切特征點(diǎn)三維坐標(biāo)的測(cè)量方法,該方法采用立體視覺技術(shù)采集檢測(cè)目標(biāo)的左右兩張圖像,實(shí)現(xiàn)對(duì)橫切特征點(diǎn)坐標(biāo)的測(cè)量,但是整個(gè)過程檢測(cè)速度較慢。WANG Z[4]提出的大尺寸工件的尺寸測(cè)量方法,該方法利用圖像拼接技術(shù)獲取大尺寸工件的完整圖像,但受環(huán)境的干擾較大。
橢圓的檢測(cè)一般可為兩類:
1)霍夫變換檢測(cè)圓、橢圓。如連志強(qiáng)[5]等基于霍夫變換算法設(shè)計(jì)了一種自動(dòng)壓鉚對(duì)位系統(tǒng)。但計(jì)算量大且內(nèi)存消耗多,直接應(yīng)用不切實(shí)際。
2)邊緣搜索,其使用了邊緣像素之間的連通性、弧段的凸性和幾何約束,一般先使用Canny[6]或Sobel[7]邊緣檢測(cè)獲得的二進(jìn)制邊緣和相應(yīng)的梯度,然后細(xì)化二進(jìn)制邊緣弧段以進(jìn)行橢圓擬合,但是檢測(cè)較慢。
環(huán)形鍛件檢測(cè)面在不同觀測(cè)角度都可表示為橢圓環(huán),且基于譚仁虎等[8]基于輪廓邊緣的直線擬合算法的研究,本文提出一種基于U-Net網(wǎng)絡(luò)分割與弧支撐線段擬合相結(jié)合的方法,有效且能在線測(cè)量環(huán)形鍛件直徑。
Unet 網(wǎng)絡(luò)以往應(yīng)用在醫(yī)學(xué)細(xì)胞分割中,相比于DeepLab系列等經(jīng)典網(wǎng)絡(luò)其訓(xùn)練數(shù)據(jù)量少且精度高,也可用到鍛件分割領(lǐng)域。Unet網(wǎng)絡(luò)可分為主干特征提取網(wǎng)絡(luò)結(jié)構(gòu)與加強(qiáng)特征提取網(wǎng)絡(luò)結(jié)構(gòu),在主干網(wǎng)絡(luò)中使用3×3卷積+ReLU激活提取特征以及逐步對(duì)特征圖進(jìn)行2×2最大池化下采樣,使得特征圖的尺寸逐漸減小、通道數(shù)逐漸增加。在加強(qiáng)特征提取網(wǎng)絡(luò)中對(duì)特征圖進(jìn)行2×2轉(zhuǎn)置卷積以及1×1卷積,逐步恢復(fù)圖片細(xì)節(jié),使得特征圖的尺寸逐漸增加,通道數(shù)逐漸減少,最終輸出語義分割標(biāo)簽,標(biāo)簽歸一化乘以原圖可分割提取有效區(qū)域。在該分割模型中,特征圖融合由解碼器與編碼器之間跳躍連接實(shí)現(xiàn),其網(wǎng)絡(luò)構(gòu)如圖1所示。
圖1 Unet網(wǎng)絡(luò)結(jié)構(gòu)原理
相對(duì)于RGB空間,HSV空間能夠非常直觀的表達(dá)色彩的明暗,色調(diào),以及鮮艷程度[9]。如圖2所示,HSV色彩空間變化并調(diào)整閾值后圖像二值化,亮度影響減小,使邊緣更加清晰,便于邊緣的線段提取。假設(shè)RGB圖像的閾值范圍為[0,1],Max=max(R,G,B),Min=min(R,G,B),則轉(zhuǎn)換到HSV空間的計(jì)算為式(1)~式(3)接著使用opencv中的inRange函數(shù)調(diào)整閾值:
圖2 HSV空間變換
在經(jīng)過變換后,為精確得到圓環(huán)的直徑,需要對(duì)得到的圖像進(jìn)行尺寸標(biāo)定,為此本文通過計(jì)算圖像中固定參照物的像素尺寸的方法,間接標(biāo)定算出橢圓環(huán)的內(nèi)外徑。
大姐一走了之。妻子心里有氣,專門對(duì)付我。晚上睡覺,妻子的胳膊腿不再搭在我身上,卻要我翻側(cè)身,伸兩只胳膊摟她睡。我說,這樣我的兩只胳膊放松不下來,怎么睡得著?妻子說,剛結(jié)婚那一陣子,哪一夜你不是這樣摟我睡覺。我無話可說。
假設(shè)參照物的實(shí)際長(zhǎng)度與像素長(zhǎng)度分別為l和lp,則標(biāo)定系數(shù)k為式(4):
可在機(jī)床上設(shè)置一固定長(zhǎng)度且區(qū)別于鍛造臺(tái)與目標(biāo)鍛件的直線來作為參照物,在實(shí)際場(chǎng)景中可設(shè)置一根區(qū)別明顯的鋼棒。參照物直線由色彩空間變換得到。具體如圖3所示。
圖3 參照物的提取
提取參照物后,計(jì)算其像素長(zhǎng)度。其計(jì)算流程如圖4所示,其中houghpeaks和houghlines為MATLAB的函數(shù)。
圖4 參照物的尺寸計(jì)算流程
一個(gè)橢圓由若干個(gè)弧支撐線段擬合,這些線段表示為n個(gè)點(diǎn)的集合Γ={(x1,y1),(x2,y2)...,(xn,yn)},首先計(jì)算集合Γ的散點(diǎn)矩陣S=DTD,D如式(5)所示,其次求解廣義特征方程S-1C,其中C是常數(shù)約束矩陣如式(6)所示。得到的具有正特征值的特征向量是點(diǎn)集Γ擬合出橢圓中的幾何參數(shù)。但屬于一個(gè)橢圓的點(diǎn)集有多個(gè),需要計(jì)算這些點(diǎn)集來擬合出最合適的橢圓,計(jì)算過程在之前的計(jì)算結(jié)果上不斷疊加。
鍛件圖像預(yù)處理之后,其直徑檢測(cè)過程及所用參數(shù)說明如下:
1)弧支撐線段提取,先使用Canny算子提取鍛件的若干邊緣,這些邊緣所在的區(qū)域?yàn)榛≈螀^(qū)域。目標(biāo)橢圓的某個(gè)橢圓弧的整體梯度方向和弧支撐區(qū)域方向一致,如圖5(a)所示,則線段極性為正且弧支撐線段上像素點(diǎn)的角度逆時(shí)針改變,如圖5(b)所示,反之相反。設(shè)弧支撐線段質(zhì)心為C如圖5(b)所示,則該區(qū)域的主方向角度∠AB由公式7求得,其中Pi為弧支撐區(qū)域的像素點(diǎn),如圖5(a)水平線角度m為該點(diǎn)梯度方向順時(shí)針旋轉(zhuǎn)90°得到。角度∠AC、∠CB也可由該公式求得。若∠AB、∠AC和∠CB同時(shí)為順或逆時(shí)針變換且{∠AB,∠AC}和{∠AB,∠CB}的角度間隔大于Tai,則弧線段滿足條件被提取為弧支撐線段,其余線段被濾除如圖5(b)的直線AB所示,從邊緣中篩選出若干條有相同方向和極性的弧支撐線段。
圖5 弧支撐線段提取
2)若干個(gè)弧支撐線段組成若干個(gè)弧支撐組。支撐像素點(diǎn)的水平線角度與弧支撐區(qū)域主角度的偏差應(yīng)小于α,具有相同的幾何特性且連續(xù)的弧支撐線段才能形成弧支撐組,兩個(gè)連續(xù)的弧支撐線段主角度偏差小于2α。Si表示弧支撐組中每?jī)蓚€(gè)連續(xù)弧支撐線段的間隔角度累加除360°,Si越大,弧支撐組對(duì)橢圓的顯著性越大,越可能為擬合橢圓的組成部分。
3)若干個(gè)弧支撐組對(duì)擬合出初始橢圓集。TSS表示目標(biāo)橢圓跨越角度除360°,弧支撐組可以優(yōu)先選擇擬合到大于TSS的目標(biāo)橢圓。如跨越角度360°的目標(biāo)橢圓顯著性TSS為1,可優(yōu)先被擬合。兩個(gè)弧支撐組配對(duì),則他們?cè)谙嗷サ挠行^(qū)域內(nèi),滿足式(8),如圖6所示,其中為弧線段首尾組成的向量順時(shí)針旋轉(zhuǎn)90°。
圖6 弧支撐組生成初始橢圓示意
4)橢圓集的聚類,用mean-shift[11]聚類方法去除橢圓集中重復(fù)的橢圓。初始橢圓集的參數(shù)由5維轉(zhuǎn)為3維,在橢圓集的基礎(chǔ)上逐步按中心、方向和長(zhǎng)半軸聚類。
5)橢圓集的驗(yàn)證。聚類后的每個(gè)橢圓,由若干個(gè)弧支撐線段組成,這些弧支撐線段連成的長(zhǎng)度與目標(biāo)橢圓的周長(zhǎng)比為Tr,弧支撐擬合線段連接處角度間隔累加的跨越角度為Tac。L為每個(gè)橢圓上線段長(zhǎng)度之和,S為目標(biāo)橢圓的周長(zhǎng),G為優(yōu)度評(píng)分如式(9)所示,依據(jù)G驗(yàn)證并篩除橢圓集中優(yōu)度評(píng)分較低的橢圓。
6)最終橢圓集由橢圓疊加原理可求出每個(gè)橢圓幾何參數(shù)的特征向量包括長(zhǎng)軸,再經(jīng)過參數(shù)賦值、三角函數(shù)變換將其轉(zhuǎn)換為一般形式,從而得到橢圓的長(zhǎng)軸即鍛件的內(nèi)外環(huán)直徑像素長(zhǎng)度。
橢圓擬合檢測(cè)過程示意如圖7所示。
圖7 檢測(cè)實(shí)例目標(biāo)橢圓擬合的過程
假設(shè)檢測(cè)到和實(shí)際鍛件的直徑為r和R,則他們之間的絕對(duì)誤差可表示為M,如式(10)所示:
模型在Inter酷睿i5-10400F 16GB的CPU和 NVIDIA GeForce RTX3060 12GB的GPU設(shè)備上訓(xùn)練,在windows10系統(tǒng)上配置pthon3.8、torch1.8.0、cuda11.1和cudnn8.0.4。U-Net模型訓(xùn)練使用的是6類不同狀態(tài)290張數(shù)據(jù)集和對(duì)應(yīng)用labelme工具標(biāo)注的標(biāo)簽,按9:1分配訓(xùn)練集和驗(yàn)證集,數(shù)據(jù)集包括實(shí)地鍛造點(diǎn)采集的2類數(shù)據(jù)和模擬場(chǎng)地的4類數(shù)據(jù)。模擬場(chǎng)景中鍛件在700℃~1000℃之間,攝像頭距鍛件約為1.2m。訓(xùn)練過程設(shè)置步長(zhǎng)為12的凍結(jié)階段和解凍階段各300次疊代。測(cè)試集使用的是此6類不同狀態(tài)鍛件的745張圖片,前4類為模擬場(chǎng)景,后2類為實(shí)際場(chǎng)景。其中訓(xùn)練集和測(cè)試集圖片大小均為512×512。該模型在不同亮度場(chǎng)景分割效果較好,如韓振浩等人對(duì)果園路徑的分割[12],因此后面不對(duì)分割指標(biāo)進(jìn)行分析。整個(gè)實(shí)驗(yàn)基本流程如圖8所示。
圖8 基本的橢圓直徑檢測(cè)流程
在測(cè)試集分割出鍛件后,測(cè)算其內(nèi)外直徑,該方法引用LU等人[13],主要參數(shù)設(shè)置如下:
1)Tai為2.25°。2)α設(shè)置為22.5°。3)TSS設(shè)置為0.25。4)ρd固定為-3。5)ε設(shè)置為2個(gè)像素。6)Tr設(shè)為0.2~0.6。7)Tac設(shè)為90°~165°。
流程結(jié)束,6類鍛件檢測(cè)結(jié)果如表1,測(cè)得各類鍛件內(nèi)外徑的像素、實(shí)際長(zhǎng)度和算得內(nèi)外徑絕對(duì)誤差、總時(shí)間均由各類鍛件各自總和取平均值。
表1 鍛件檢測(cè)結(jié)果
與其他方法比較,結(jié)果如圖9所示,除方法4在Visual Studio Code平臺(tái)運(yùn)行,其他方法都在MATLAB平臺(tái)運(yùn)行:
圖9 鍛件檢測(cè)方法的比較
1)LU C等人提出的方法,會(huì)檢測(cè)出多余的鍛件;
2)方法ELSDc[14],只能檢測(cè)出一系列弧段。
3)方法RHT[15],存在鍛件漏檢和誤檢;
4)opencv庫的函數(shù)不能有效檢測(cè)鍛件;
5)本文方法在方法(1)基礎(chǔ)上,加上語義分割和色彩空間變換,可以很好的擬和檢測(cè)出鍛件,且檢測(cè)速度較快。(1)與其他的檢測(cè)方法不同,沒有進(jìn)行色彩空間變換是因?yàn)槠渌姆椒ㄔ赗GB圖像空間的檢測(cè)性能沒有(1)好,而方法(5)在方法(1)上創(chuàng)新,因此(5)方法較其他的方法綜合性能更好。
由以上檢測(cè)結(jié)果可知,檢測(cè)鍛件內(nèi)外環(huán)直徑的絕對(duì)誤差較小,檢測(cè)速度較快。在復(fù)雜的背景下,且鍛件件處于高溫高亮狀態(tài),能較好的剔除背景,提取出鍛件邊緣,非接觸地?cái)M合檢測(cè)出鍛件的直徑。
本文利用U-Net語義分割提取有效區(qū)域,HSV色彩空間變換調(diào)整閾值銳化邊緣,利用弧支撐線段的局部區(qū)域整體梯度方向、弧支撐方向和極性等多種幾何特征對(duì)直線段進(jìn)行濾除,最后利用魯棒性的橢圓疊加擬合原理生成初始橢圓集,提高了鍛件直徑檢測(cè)的效率。橢圓的驗(yàn)證既保證了高的定位精度和魯棒性,又減少了最終橢圓漏檢或誤檢的情況。在實(shí)時(shí)直徑測(cè)量中,無需傳感器和人為的目測(cè),可根據(jù)鍛件的直徑反饋,控制輾環(huán)機(jī)的啟動(dòng)、鍛造力度以及停止。因此在非接觸式鍛件直徑測(cè)量鄰域具有借鑒意義。但在具體的鍛件直徑檢測(cè)過程中,由于參照物與目標(biāo)物存在著圖像景深的差別,所以個(gè)別檢測(cè)出的鍛件直徑存在著一定的誤差,后期會(huì)對(duì)此問題進(jìn)一步研究。