張 柏,苑哲源,顏丙生*,楊明超,李 莎
(1.河南工業(yè)大學(xué) 機(jī)電工程學(xué)院,河南 鄭州 450001;2.廣東省特種設(shè)備檢測研究院 珠海檢測院,廣東 珠海 519000)
隨著我國經(jīng)濟(jì)的發(fā)展,起重機(jī)械在工業(yè)、交通、能源等各個領(lǐng)域的應(yīng)用愈加廣泛,起重機(jī)械數(shù)量也在不斷地增加。
《中華人民共和國特種設(shè)備安全法》規(guī)定,每臺起重機(jī)械在投入使用前都要進(jìn)行監(jiān)檢(或首檢),使用期間也要定期檢修[1]。其中,由于起重機(jī)主梁下?lián)隙葘ζ渲髁航Y(jié)構(gòu)和承載能力、行車安全等均有重要影響,額定載荷下起重機(jī)主梁下?lián)隙葴y量是檢測中的重要項目。
目前,國內(nèi)外行業(yè)內(nèi)常采用懸線法、標(biāo)尺法等主要依靠技術(shù)人員手動操作的測量方法,這些方法需要技術(shù)人員爬上起重機(jī)主梁布置懸線或標(biāo)尺,操作過程危險且繁瑣。另外,行業(yè)內(nèi)新興的使用經(jīng)緯儀或水平儀等測量下?lián)隙鹊姆椒?需要將測量設(shè)備置于起重機(jī)主梁正下方,雖然測量精度上較懸線法、標(biāo)尺法等有所提高,但操作過程依然具有一定的不安全因素,操作方法也相對復(fù)雜且受外界的影響較大。加之起重機(jī)在這項檢驗中所需費(fèi)的用昂貴[2],所以,提出并建立一種安全、快捷、準(zhǔn)確且經(jīng)濟(jì)的起重機(jī)主梁下?lián)隙确椒?具有重要意義。
近年來,機(jī)器視覺成為工業(yè)檢測的研究熱點(diǎn)[3]。利用機(jī)器視覺代替人工視覺,對目標(biāo)進(jìn)行識別、檢測和測量[4],不僅能在不適合人工操作的復(fù)雜、危險環(huán)境中進(jìn)行作業(yè),還能極大提高生產(chǎn)效率和自動化程度。由于在測量起重機(jī)下?lián)隙鹊倪^程中,其主梁形態(tài)會隨著下?lián)隙戎档母淖兌淖?若通過圖像處理對主梁形態(tài)邊緣進(jìn)行提取分析,基于機(jī)器視覺的測量方法將具有可行性。
當(dāng)前,基于Canny邊緣檢測算法的機(jī)器視覺檢測已廣泛應(yīng)用于邊界識別測量等工業(yè)檢測領(lǐng)域。但Canny邊緣檢測算法需有適應(yīng)性地改進(jìn)和優(yōu)化,才能滿足不同工業(yè)測量環(huán)境下的使用需求。張洪等[5]利用改進(jìn)Canny算法搜索了密封圈的毛刺。吳房勝等[6]利用改進(jìn)Canny算子檢測了焊縫的邊緣。黎浩等[7]對Canny算法進(jìn)行了閾值優(yōu)化,以檢測帶鋼表面缺陷。
若將Canny算法運(yùn)用于機(jī)器視覺測量起重機(jī)下?lián)隙戎?在實際工況環(huán)境下,會存在著過濾掉一些有用的重要孤立邊緣和弱邊緣的問題,因此,也有必要對該算法進(jìn)行適應(yīng)性的改進(jìn)與優(yōu)化。
本研究提出基于機(jī)器視覺測量起重機(jī)下?lián)隙鹊姆椒?針對在圖像處理過程中Canny邊緣檢測算法在實際工況下存在的問題,對Canny算法進(jìn)行改進(jìn),利用LabVIEW平臺開發(fā)一套起重機(jī)下?lián)隙葴y量系統(tǒng),并進(jìn)行測試檢測。
起重機(jī)主梁下?lián)隙仁侵冈陬~定載荷下主梁跨中部位較空載時的位置向下位移的距離。
筆者采用機(jī)器視覺的方法測量下?lián)隙?需先在主梁跨中部位用一激光點(diǎn)進(jìn)行標(biāo)記,作為不動點(diǎn)參考;對起重機(jī)空載時和加載額定載荷時各拍攝一張圖像,利用開發(fā)的軟件測量出兩幅圖像中激光點(diǎn)與主梁下邊緣的距離后,計算兩次距離的差值的絕對值即為所求下?lián)隙取?/p>
測量方法示意圖如圖1所示。
(a)主梁空載
由圖1可知,相對位移即下?lián)隙戎礚為:
L=l2-l1
(1)
式中:l1—加載前起重機(jī)主梁下邊緣距離激光標(biāo)記點(diǎn)距離;l2—加載后起重機(jī)主梁下邊緣距離激光標(biāo)記點(diǎn)距離。
在系統(tǒng)中,則需要通過改進(jìn)的Canny邊緣檢測算法對激光點(diǎn)和起重機(jī)下邊緣進(jìn)行邊緣檢測提取,而后將圖像中的相對位移測量出來,根據(jù)主梁上如腹板、型鋼等已知尺寸的部位在圖像中的像素寬度與實際寬度的比值得到換算比例,進(jìn)而計算出實際的下?lián)隙戎怠?/p>
Canny邊緣檢測算法是一種定位精度高、抗噪性能好的單像素邊緣計算方法[8]284。該算法分為高斯濾波、計算梯度、非極大抑制和雙閾值處理4個步驟[9]:
(1)高斯平滑濾波器卷積降噪
將圖像與高斯函數(shù)做卷積以提高算法的抗噪能力(高斯濾波是一種低通加權(quán)均值濾波,即將一個模板內(nèi)的所有像素點(diǎn)的灰度值求加權(quán)平均值[10]),然后將該值賦給模板內(nèi)的中心像素點(diǎn)。
高斯濾波器的卷積核為:
(2)
(2)圖像梯度方向和強(qiáng)度的計算
由于灰度化圖像可以看作是一個二元函數(shù)I(x,y),函數(shù)值表示坐標(biāo)(x,y)上像素點(diǎn)的灰度值。當(dāng)搜索該圖像的邊緣時,需要對各像素點(diǎn)及其附近的像素點(diǎn)灰度值進(jìn)行梯度強(qiáng)度和方向的計算。Canny邊緣檢測算法中進(jìn)行梯度計算時可選用Roberts、Prewitt和Sobel等梯度算子。
如圖像I與Sobel算子進(jìn)行梯度的卷積運(yùn)算,其結(jié)果Gx、Gy可分別表示為:
(3)
則有中心像素處的梯度方向角θ和像素梯度幅值G如下:
(4)
其中:近似計算時梯度方向可認(rèn)為是0°、45°、90°、135° 4個方向之一。
(3)沿梯度方向的梯度幅值非極大值抑制
若計算得到的像素梯度值是沿著梯度方向的最大值時,說明該像素點(diǎn)是邊緣像素點(diǎn),否則是偽邊緣點(diǎn)。Canny邊緣檢測算法中的非極大值抑制過程實現(xiàn)了該判定,當(dāng)像素梯度幅值是沿著梯度方向的極大值時,保留該像素值,或設(shè)置為一設(shè)定的固定灰度值(如70);否則記其值為0,對該非極大值進(jìn)行抑制。
(4)雙閾值邊緣二值化
雙閾值邊緣二值化,是先設(shè)定高、低兩個閾值,當(dāng)需要判定的邊緣像素點(diǎn)的像素值高于高閾值時該點(diǎn)保留,低于低閾值時該點(diǎn)舍棄;當(dāng)像素值處于高低閾值之間時,僅當(dāng)該點(diǎn)與一高于高閾值的像素點(diǎn)相連接時才會被保留。這樣可以濾除一些由其他原因造成的偽邊緣,更為準(zhǔn)確、有效地確定待測圖像邊緣。
Canny邊緣檢測算法先通過高斯平滑濾波[11]高效地去除待測圖片中的噪聲,而后經(jīng)圖像梯度方向和強(qiáng)度計算找到可能的邊緣點(diǎn),再通過非極大值抑制和雙閾值邊緣二值化去除偽邊緣點(diǎn)和虛假邊緣。
雖然高斯平滑濾波能夠有效地去除噪聲,但這不可避免地會減弱圖像的邊緣信息[12],特別是一些孤立邊緣和不明顯的弱邊緣。這些減弱后的邊緣信息會在Canny算法后續(xù)處理中被過濾掉[13],這對以后的特征分析和測量計算不利。
門式起重機(jī)工作場合環(huán)境復(fù)雜,如室內(nèi)時常伴隨著粉塵、光污染,室外時常伴隨著陰雨、大霧天氣,這些工況環(huán)境使得門式起重機(jī)成像質(zhì)量差,一些具有參考價值的邊緣會因?qū)Ρ榷炔患训纫蛩乇蝗趸?最后被Canny邊緣檢測算法忽略。
為解決以上問題,可以根據(jù)原有Canny邊緣檢測算法流程,在高斯平滑濾波之前增加可調(diào)節(jié)的圖像灰度變換和圖像二值化過程。圖像灰度變換的主要作用是調(diào)整圖像亮度、增強(qiáng)圖像對比度和壓縮擴(kuò)展圖像高低灰度,以突出圖像中的重要信息[8]260(即圖像邊界),以便于以后的圖像特征分析和計算機(jī)測量計算。
其具體實現(xiàn)過程為:設(shè)輸入圖像為函數(shù)Src,輸出圖像為函數(shù)Dst,灰度變換函數(shù)為GST,有:
D(x,y)=GST(b,c,g)·Src(x,y)
(5)
式中:x—圖像中像素點(diǎn)橫坐標(biāo);y—圖像中像素點(diǎn)縱坐標(biāo);b—亮度值;c—對比度值;g—伽馬值。
當(dāng)圖像中像素點(diǎn)坐標(biāo)(x,y)確定時,由二元函數(shù)Src(x,y)、Dst(x,y)既可確定輸入、輸出圖像中像素點(diǎn)的像素值;而三元函數(shù)GST(b,c,g)是由亮度b(brightness)、對比度c(contract)和伽馬變換g3個變量決定的,當(dāng)變量b、c和g確定時,變換函數(shù)GST(b,c,g)的值確定。
顯然,該過程能夠?qū)D像中高低灰度進(jìn)行壓縮或擴(kuò)展,但不會改變圖像中像素點(diǎn)之間的位置關(guān)系。圖像二值化過程是通過將像素點(diǎn)灰度值與設(shè)定的閾值進(jìn)行對比判斷,將圖像中邊界與非邊界區(qū)域明顯區(qū)分開來[14]。改進(jìn)的算法流程的Canny算法步驟如下:
(1)可調(diào)節(jié)的灰度變換;
(2)圖像二值化;
(3)高斯平滑濾波降噪;
(4)計算圖像梯度強(qiáng)度和方向;
(5)非極大值抑制;
(6)雙閾值邊緣二值化;
(7)判斷所得邊緣二值化圖像是否理想,不理想需重復(fù)步驟(1)操作。
在系統(tǒng)中通過當(dāng)前所顯示的圖像的二值化邊緣效果,實時動態(tài)調(diào)節(jié)圖像灰度參數(shù)以保持和增強(qiáng)那些重要的弱邊緣和孤立邊緣,而后進(jìn)行一次Canny邊緣檢測算法,循環(huán)數(shù)次,直至顯示的二值化邊緣圖像達(dá)到預(yù)期,能夠順利進(jìn)行后續(xù)的特征分析為止。
為測試改進(jìn)后算法的可行性,筆者在實驗室中搭建了模擬起重機(jī)測量平臺。針對在模擬粉塵工況下所截取的模擬起重機(jī)主梁的一部分圖像,利用改進(jìn)前和改進(jìn)后Canny算法檢測邊緣,檢測結(jié)果如圖2所示。
圖2 邊緣二值化圖像對比
由圖2可以看出:由于粉塵環(huán)境下模擬主梁邊界是弱邊緣,不夠清晰,利用改進(jìn)前的Canny邊緣檢測算法得到的二值化邊緣圖像相對應(yīng)部分很模糊,甚至未檢測到邊緣;通過改進(jìn)算法流程的Canny邊緣檢測算法得到的二值化圖像比使用常規(guī)Canny算法所得到的圖像要清晰,包括弱邊緣在內(nèi)的邊緣特征更加明顯,證明該改進(jìn)算法能夠達(dá)到預(yù)期效果,具有可行性。
測量系統(tǒng)硬件部分的主要功能是實現(xiàn)門式起重機(jī)在為測量下?lián)隙榷虞d額定載荷前后形態(tài)的拍攝和數(shù)據(jù)傳輸。該部分所需要的硬件主要包括:三腳架、高清攝像頭、激光定位器和計算機(jī)。
實物圖如圖3所示(其中,激光定位器單獨(dú)放置)。
圖3 測量系統(tǒng)硬件組裝結(jié)構(gòu)實物圖
在硬件選擇方面,要求三腳架能夠固定攝像頭,并能夠在一定范圍內(nèi)調(diào)節(jié)攝像頭空間位置,使其能夠準(zhǔn)確、穩(wěn)定地獲取到門式起重機(jī)的形態(tài)圖像。高清攝像頭選用的型號為Gsou極速A20。
激光定位器選用紅點(diǎn)式激光定位器,該定位器使用方便、不占用空間、可定位距離遠(yuǎn),在各種光源環(huán)境下的定位斑點(diǎn)清晰、形態(tài)特征好。
測量系統(tǒng)的軟件部分主要是對硬件部分進(jìn)行控制,并將由攝像頭獲取的目的圖像進(jìn)行圖像處理和測量計算。筆者基于NI公司的LabVIEW平臺開發(fā)了一套起重機(jī)主梁下?lián)隙戎禍y量系統(tǒng)。
3.2.1 軟件總體流程
系統(tǒng)軟件的核心是程序。該程序部分分為:圖像獲取存儲模塊、圖像特征提取模塊、圖像特征測量模塊和計算模塊4部分。其中,圖像特征提取模塊中包含圖像重點(diǎn)區(qū)域剪切和改進(jìn)算法流程的Canny邊緣檢測。
具體程序流程圖如圖4所示。
圖4 測量系統(tǒng)程序流程圖
3.2.2 圖像重點(diǎn)部分剪切
在對獲得的圖像進(jìn)行可控的Canny邊緣檢測之前,為了避免程序?qū)φ鶊D像無差別處理,需要先對圖像進(jìn)行剪切。
剪切程序段如圖5所示。
通過“IMAQ Extract2.vi”將圖像上所需處理的重點(diǎn)部分剪切下來,利用生產(chǎn)者消費(fèi)者隊列結(jié)構(gòu)送入下一模塊,這樣既避免了后續(xù)模塊對無關(guān)部分圖像的處理,又降低了圖像所占用的內(nèi)存,可極大地提高程序的處理效率。
3.2.3 改進(jìn)算法流程的Canny邊緣檢測
圖像處理模塊如圖6所示。
圖6 圖像處理模塊
由生產(chǎn)者消費(fèi)者隊列中輸出的重要部分圖像數(shù)據(jù),經(jīng)過默認(rèn)灰度變換函數(shù)“IMAQ BGCLookkup.vi”、圖像二值化函數(shù)“IMAQ Threshold.vi”和已設(shè)定初始值的Canny邊緣檢測函數(shù)“IMAQ CannyEdgeDetection.vi”后,在前面板上顯示出默認(rèn)處理的效果;
操作人員可根據(jù)默認(rèn)處理的效果,在前面板上調(diào)節(jié)灰度變換中的“Brightness”、“Contrast”和“Gamma”值,根據(jù)實時反饋的處理效果圖像以確定最佳的二值化邊緣圖像。這里對Canny預(yù)設(shè)高斯濾波上閾值為0.7,下閾值為0.2。處理后的邊緣二值化圖像將保存至指定文件夾。
3.2.4 像素距離測量
通過預(yù)設(shè)參數(shù)和測量顯示方式的“IMAQ Clamp Vertical Max.vi”,可根據(jù)鼠標(biāo)劃定的矩形范圍內(nèi)測量兩邊界之間的像素距離。
該段程序如圖7所示。
圖7 像素距離測量模塊
這里主要是測量處理得到的二值化邊緣圖像中激光點(diǎn)至起重機(jī)主梁下邊緣的像素距離,及圖中主梁腹板的像素距離;再根據(jù)測量得到的像素距離和輸入的主梁腹板實際寬度值,通過比例換算便可計算出目的下?lián)隙戎怠?/p>
采集到的數(shù)字圖像中包含著機(jī)器視覺系統(tǒng)所需要的信息,且這些信息是以像素形式存在的。若實現(xiàn)系統(tǒng)軟件對圖像的準(zhǔn)確處理與測量,就必須讓視覺系統(tǒng)使用真實世界的坐標(biāo)系和測量單位[15,16]。因此,要事先得到相機(jī)圖像像素坐標(biāo)和真實世界坐標(biāo)系之間的映射關(guān)系,才能使得最后得到的結(jié)果正確。
利用軟件中的校準(zhǔn)模塊,能夠快速地得到攝像機(jī)中的畸變參數(shù),以確定相機(jī)坐標(biāo)系與真實世界坐標(biāo)系的映射關(guān)系。筆者選擇圓心距為12 mm的校準(zhǔn)點(diǎn)陣為校準(zhǔn)過程提供輸入,校準(zhǔn)系統(tǒng)將根據(jù)由相機(jī)采集到的校準(zhǔn)點(diǎn)陣圖像,根據(jù)最小二乘法確定畸變模型參數(shù),以完成校準(zhǔn)過程,實現(xiàn)坐標(biāo)系統(tǒng)一。
此外,由于起重機(jī)主梁下?lián)隙戎抵皇侵髁褐休S線在豎直方向上的位移,沒有第二方向的坐標(biāo)轉(zhuǎn)換,只需要根據(jù)所測起重機(jī)主梁腹板在豎直方向的實際寬度值與采集到的圖像中相應(yīng)像素尺寸進(jìn)行比例換算,就可完成該步校準(zhǔn),獲得統(tǒng)一的測量單位。
在某起重機(jī)裝載卸載工地,筆者進(jìn)行了起重機(jī)主梁下?lián)隙葴y量的實際測試,通過系統(tǒng)前面板獲取起重機(jī)加載額定載荷主梁形態(tài)圖像后,截取重點(diǎn)測量部分的圖像區(qū)域。
起重機(jī)加載前重點(diǎn)部分圖像處理界面如圖8所示。
圖8 起重機(jī)加載前重點(diǎn)部分圖像處理界面
在圖像處理界面,需要在控制面板中動態(tài)調(diào)節(jié)參數(shù),以獲取滿意的激光點(diǎn)和起重機(jī)主梁下邊緣二值化邊緣圖像,而后進(jìn)入測量計算模塊。
參數(shù)調(diào)節(jié)界面如圖9所示。
圖9 參數(shù)調(diào)節(jié)界面
測量計算模塊如圖10所示。
圖10 二值化邊緣圖像像素單位測量界面
最后測得主梁上已知尺寸的型鋼像素寬度為24.920 9。結(jié)合型鋼實際寬度100 mm,經(jīng)程序計算可得到本次下?lián)隙葴y量的換算比例為4.012 7;測得基于激光定點(diǎn)的加載前后圖像中下邊緣的像素位移為7,結(jié)合換算比例計算得到的下?lián)隙葹?8.088 8 mm。
該臺起重機(jī)使用傳統(tǒng)方法手動測量值為28 mm,則系統(tǒng)測量與傳統(tǒng)測量的相對誤差為0.32%。
此外,為了進(jìn)一步驗證該系統(tǒng)的可靠性,筆者對另外兩種型號的門式起重機(jī)進(jìn)行了系統(tǒng)測量和傳統(tǒng)方法測量結(jié)果的對比,其結(jié)果如表1所示。
表1 系統(tǒng)測量與傳統(tǒng)方法測量結(jié)果對比
從表1中可以看出:對于不同型號起重機(jī)的下?lián)隙?系統(tǒng)測量值與傳統(tǒng)方法測量值的相對誤差值均小于0.5%,由此可證明所開發(fā)的測量系統(tǒng)具有較強(qiáng)的穩(wěn)定性和可靠性,能夠滿足起重機(jī)下?lián)隙葴y量工程應(yīng)用的需求。
筆者通過LabVIEW平臺開發(fā)了一套測量起重機(jī)下?lián)隙鹊南到y(tǒng),改進(jìn)了Canny邊緣檢測算法,提出了利用機(jī)器視覺測量起重機(jī)下?lián)隙鹊姆椒?并構(gòu)建了基于該方法的測量系統(tǒng),進(jìn)行了實際測試。
研究結(jié)果表明:
(1)該系統(tǒng)的測量相對誤差小于0.5%,精度滿足起重機(jī)下?lián)隙裙こ虦y量要求,測量方法安全、快捷、經(jīng)濟(jì),具有一定的工程應(yīng)用價值;
(2)實現(xiàn)了對復(fù)雜工況環(huán)境下起重機(jī)主梁弱邊緣和孤立邊緣的檢測和提取,得到的邊緣二值化圖像邊界清晰(精確測量距離的前提),具有一定的參考價值和學(xué)術(shù)意義。
在后續(xù)的研究中,筆者將以該系統(tǒng)為基礎(chǔ),對其進(jìn)行適應(yīng)性改進(jìn)與優(yōu)化,以實現(xiàn)對廠房主梁、橋梁等大跨度結(jié)構(gòu)物體的撓度值測量。