張 柏,苑哲源,顏丙生*,楊明超,李 莎
(1.河南工業(yè)大學(xué) 機(jī)電工程學(xué)院,河南 鄭州 450001;2.廣東省特種設(shè)備檢測(cè)研究院 珠海檢測(cè)院,廣東 珠海 519000)
隨著我國(guó)經(jīng)濟(jì)的發(fā)展,起重機(jī)械在工業(yè)、交通、能源等各個(gè)領(lǐng)域的應(yīng)用愈加廣泛,起重機(jī)械數(shù)量也在不斷地增加。
《中華人民共和國(guó)特種設(shè)備安全法》規(guī)定,每臺(tái)起重機(jī)械在投入使用前都要進(jìn)行監(jiān)檢(或首檢),使用期間也要定期檢修[1]。其中,由于起重機(jī)主梁下?lián)隙葘?duì)其主梁結(jié)構(gòu)和承載能力、行車安全等均有重要影響,額定載荷下起重機(jī)主梁下?lián)隙葴y(cè)量是檢測(cè)中的重要項(xiàng)目。
目前,國(guó)內(nèi)外行業(yè)內(nèi)常采用懸線法、標(biāo)尺法等主要依靠技術(shù)人員手動(dòng)操作的測(cè)量方法,這些方法需要技術(shù)人員爬上起重機(jī)主梁布置懸線或標(biāo)尺,操作過(guò)程危險(xiǎn)且繁瑣。另外,行業(yè)內(nèi)新興的使用經(jīng)緯儀或水平儀等測(cè)量下?lián)隙鹊姆椒?需要將測(cè)量設(shè)備置于起重機(jī)主梁正下方,雖然測(cè)量精度上較懸線法、標(biāo)尺法等有所提高,但操作過(guò)程依然具有一定的不安全因素,操作方法也相對(duì)復(fù)雜且受外界的影響較大。加之起重機(jī)在這項(xiàng)檢驗(yàn)中所需費(fèi)的用昂貴[2],所以,提出并建立一種安全、快捷、準(zhǔn)確且經(jīng)濟(jì)的起重機(jī)主梁下?lián)隙确椒?具有重要意義。
近年來(lái),機(jī)器視覺(jué)成為工業(yè)檢測(cè)的研究熱點(diǎn)[3]。利用機(jī)器視覺(jué)代替人工視覺(jué),對(duì)目標(biāo)進(jìn)行識(shí)別、檢測(cè)和測(cè)量[4],不僅能在不適合人工操作的復(fù)雜、危險(xiǎn)環(huán)境中進(jìn)行作業(yè),還能極大提高生產(chǎn)效率和自動(dòng)化程度。由于在測(cè)量起重機(jī)下?lián)隙鹊倪^(guò)程中,其主梁形態(tài)會(huì)隨著下?lián)隙戎档母淖兌淖?若通過(guò)圖像處理對(duì)主梁形態(tài)邊緣進(jìn)行提取分析,基于機(jī)器視覺(jué)的測(cè)量方法將具有可行性。
當(dāng)前,基于Canny邊緣檢測(cè)算法的機(jī)器視覺(jué)檢測(cè)已廣泛應(yīng)用于邊界識(shí)別測(cè)量等工業(yè)檢測(cè)領(lǐng)域。但Canny邊緣檢測(cè)算法需有適應(yīng)性地改進(jìn)和優(yōu)化,才能滿足不同工業(yè)測(cè)量環(huán)境下的使用需求。張洪等[5]利用改進(jìn)Canny算法搜索了密封圈的毛刺。吳房勝等[6]利用改進(jìn)Canny算子檢測(cè)了焊縫的邊緣。黎浩等[7]對(duì)Canny算法進(jìn)行了閾值優(yōu)化,以檢測(cè)帶鋼表面缺陷。
若將Canny算法運(yùn)用于機(jī)器視覺(jué)測(cè)量起重機(jī)下?lián)隙戎?在實(shí)際工況環(huán)境下,會(huì)存在著過(guò)濾掉一些有用的重要孤立邊緣和弱邊緣的問(wèn)題,因此,也有必要對(duì)該算法進(jìn)行適應(yīng)性的改進(jìn)與優(yōu)化。
本研究提出基于機(jī)器視覺(jué)測(cè)量起重機(jī)下?lián)隙鹊姆椒?針對(duì)在圖像處理過(guò)程中Canny邊緣檢測(cè)算法在實(shí)際工況下存在的問(wèn)題,對(duì)Canny算法進(jìn)行改進(jìn),利用LabVIEW平臺(tái)開(kāi)發(fā)一套起重機(jī)下?lián)隙葴y(cè)量系統(tǒng),并進(jìn)行測(cè)試檢測(cè)。
起重機(jī)主梁下?lián)隙仁侵冈陬~定載荷下主梁跨中部位較空載時(shí)的位置向下位移的距離。
筆者采用機(jī)器視覺(jué)的方法測(cè)量下?lián)隙?需先在主梁跨中部位用一激光點(diǎn)進(jìn)行標(biāo)記,作為不動(dòng)點(diǎn)參考;對(duì)起重機(jī)空載時(shí)和加載額定載荷時(shí)各拍攝一張圖像,利用開(kāi)發(fā)的軟件測(cè)量出兩幅圖像中激光點(diǎn)與主梁下邊緣的距離后,計(jì)算兩次距離的差值的絕對(duì)值即為所求下?lián)隙取?/p>
測(cè)量方法示意圖如圖1所示。

(a)主梁空載
由圖1可知,相對(duì)位移即下?lián)隙戎礚為:
L=l2-l1
(1)
式中:l1—加載前起重機(jī)主梁下邊緣距離激光標(biāo)記點(diǎn)距離;l2—加載后起重機(jī)主梁下邊緣距離激光標(biāo)記點(diǎn)距離。
在系統(tǒng)中,則需要通過(guò)改進(jìn)的Canny邊緣檢測(cè)算法對(duì)激光點(diǎn)和起重機(jī)下邊緣進(jìn)行邊緣檢測(cè)提取,而后將圖像中的相對(duì)位移測(cè)量出來(lái),根據(jù)主梁上如腹板、型鋼等已知尺寸的部位在圖像中的像素寬度與實(shí)際寬度的比值得到換算比例,進(jìn)而計(jì)算出實(shí)際的下?lián)隙戎怠?/p>
Canny邊緣檢測(cè)算法是一種定位精度高、抗噪性能好的單像素邊緣計(jì)算方法[8]284。該算法分為高斯濾波、計(jì)算梯度、非極大抑制和雙閾值處理4個(gè)步驟[9]:
(1)高斯平滑濾波器卷積降噪
將圖像與高斯函數(shù)做卷積以提高算法的抗噪能力(高斯濾波是一種低通加權(quán)均值濾波,即將一個(gè)模板內(nèi)的所有像素點(diǎn)的灰度值求加權(quán)平均值[10]),然后將該值賦給模板內(nèi)的中心像素點(diǎn)。
高斯濾波器的卷積核為:
(2)
(2)圖像梯度方向和強(qiáng)度的計(jì)算
由于灰度化圖像可以看作是一個(gè)二元函數(shù)I(x,y),函數(shù)值表示坐標(biāo)(x,y)上像素點(diǎn)的灰度值。當(dāng)搜索該圖像的邊緣時(shí),需要對(duì)各像素點(diǎn)及其附近的像素點(diǎn)灰度值進(jìn)行梯度強(qiáng)度和方向的計(jì)算。Canny邊緣檢測(cè)算法中進(jìn)行梯度計(jì)算時(shí)可選用Roberts、Prewitt和Sobel等梯度算子。
如圖像I與Sobel算子進(jìn)行梯度的卷積運(yùn)算,其結(jié)果Gx、Gy可分別表示為:
(3)
則有中心像素處的梯度方向角θ和像素梯度幅值G如下:
(4)
其中:近似計(jì)算時(shí)梯度方向可認(rèn)為是0°、45°、90°、135° 4個(gè)方向之一。
(3)沿梯度方向的梯度幅值非極大值抑制
若計(jì)算得到的像素梯度值是沿著梯度方向的最大值時(shí),說(shuō)明該像素點(diǎn)是邊緣像素點(diǎn),否則是偽邊緣點(diǎn)。Canny邊緣檢測(cè)算法中的非極大值抑制過(guò)程實(shí)現(xiàn)了該判定,當(dāng)像素梯度幅值是沿著梯度方向的極大值時(shí),保留該像素值,或設(shè)置為一設(shè)定的固定灰度值(如70);否則記其值為0,對(duì)該非極大值進(jìn)行抑制。
(4)雙閾值邊緣二值化
雙閾值邊緣二值化,是先設(shè)定高、低兩個(gè)閾值,當(dāng)需要判定的邊緣像素點(diǎn)的像素值高于高閾值時(shí)該點(diǎn)保留,低于低閾值時(shí)該點(diǎn)舍棄;當(dāng)像素值處于高低閾值之間時(shí),僅當(dāng)該點(diǎn)與一高于高閾值的像素點(diǎn)相連接時(shí)才會(huì)被保留。這樣可以濾除一些由其他原因造成的偽邊緣,更為準(zhǔn)確、有效地確定待測(cè)圖像邊緣。
Canny邊緣檢測(cè)算法先通過(guò)高斯平滑濾波[11]高效地去除待測(cè)圖片中的噪聲,而后經(jīng)圖像梯度方向和強(qiáng)度計(jì)算找到可能的邊緣點(diǎn),再通過(guò)非極大值抑制和雙閾值邊緣二值化去除偽邊緣點(diǎn)和虛假邊緣。
雖然高斯平滑濾波能夠有效地去除噪聲,但這不可避免地會(huì)減弱圖像的邊緣信息[12],特別是一些孤立邊緣和不明顯的弱邊緣。這些減弱后的邊緣信息會(huì)在Canny算法后續(xù)處理中被過(guò)濾掉[13],這對(duì)以后的特征分析和測(cè)量計(jì)算不利。
門式起重機(jī)工作場(chǎng)合環(huán)境復(fù)雜,如室內(nèi)時(shí)常伴隨著粉塵、光污染,室外時(shí)常伴隨著陰雨、大霧天氣,這些工況環(huán)境使得門式起重機(jī)成像質(zhì)量差,一些具有參考價(jià)值的邊緣會(huì)因?qū)Ρ榷炔患训纫蛩乇蝗趸?最后被Canny邊緣檢測(cè)算法忽略。
為解決以上問(wèn)題,可以根據(jù)原有Canny邊緣檢測(cè)算法流程,在高斯平滑濾波之前增加可調(diào)節(jié)的圖像灰度變換和圖像二值化過(guò)程。圖像灰度變換的主要作用是調(diào)整圖像亮度、增強(qiáng)圖像對(duì)比度和壓縮擴(kuò)展圖像高低灰度,以突出圖像中的重要信息[8]260(即圖像邊界),以便于以后的圖像特征分析和計(jì)算機(jī)測(cè)量計(jì)算。
其具體實(shí)現(xiàn)過(guò)程為:設(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—對(duì)比度值;g—伽馬值。
當(dāng)圖像中像素點(diǎn)坐標(biāo)(x,y)確定時(shí),由二元函數(shù)Src(x,y)、Dst(x,y)既可確定輸入、輸出圖像中像素點(diǎn)的像素值;而三元函數(shù)GST(b,c,g)是由亮度b(brightness)、對(duì)比度c(contract)和伽馬變換g3個(gè)變量決定的,當(dāng)變量b、c和g確定時(shí),變換函數(shù)GST(b,c,g)的值確定。
顯然,該過(guò)程能夠?qū)D像中高低灰度進(jìn)行壓縮或擴(kuò)展,但不會(huì)改變圖像中像素點(diǎn)之間的位置關(guān)系。圖像二值化過(guò)程是通過(guò)將像素點(diǎn)灰度值與設(shè)定的閾值進(jìn)行對(duì)比判斷,將圖像中邊界與非邊界區(qū)域明顯區(qū)分開(kāi)來(lái)[14]。改進(jìn)的算法流程的Canny算法步驟如下:
(1)可調(diào)節(jié)的灰度變換;
(2)圖像二值化;
(3)高斯平滑濾波降噪;
(4)計(jì)算圖像梯度強(qiáng)度和方向;
(5)非極大值抑制;
(6)雙閾值邊緣二值化;
(7)判斷所得邊緣二值化圖像是否理想,不理想需重復(fù)步驟(1)操作。
在系統(tǒng)中通過(guò)當(dāng)前所顯示的圖像的二值化邊緣效果,實(shí)時(shí)動(dòng)態(tài)調(diào)節(jié)圖像灰度參數(shù)以保持和增強(qiáng)那些重要的弱邊緣和孤立邊緣,而后進(jìn)行一次Canny邊緣檢測(cè)算法,循環(huán)數(shù)次,直至顯示的二值化邊緣圖像達(dá)到預(yù)期,能夠順利進(jìn)行后續(xù)的特征分析為止。
為測(cè)試改進(jìn)后算法的可行性,筆者在實(shí)驗(yàn)室中搭建了模擬起重機(jī)測(cè)量平臺(tái)。針對(duì)在模擬粉塵工況下所截取的模擬起重機(jī)主梁的一部分圖像,利用改進(jìn)前和改進(jìn)后Canny算法檢測(cè)邊緣,檢測(cè)結(jié)果如圖2所示。

圖2 邊緣二值化圖像對(duì)比
由圖2可以看出:由于粉塵環(huán)境下模擬主梁邊界是弱邊緣,不夠清晰,利用改進(jìn)前的Canny邊緣檢測(cè)算法得到的二值化邊緣圖像相對(duì)應(yīng)部分很模糊,甚至未檢測(cè)到邊緣;通過(guò)改進(jìn)算法流程的Canny邊緣檢測(cè)算法得到的二值化圖像比使用常規(guī)Canny算法所得到的圖像要清晰,包括弱邊緣在內(nèi)的邊緣特征更加明顯,證明該改進(jìn)算法能夠達(dá)到預(yù)期效果,具有可行性。
測(cè)量系統(tǒng)硬件部分的主要功能是實(shí)現(xiàn)門式起重機(jī)在為測(cè)量下?lián)隙榷虞d額定載荷前后形態(tài)的拍攝和數(shù)據(jù)傳輸。該部分所需要的硬件主要包括:三腳架、高清攝像頭、激光定位器和計(jì)算機(jī)。
實(shí)物圖如圖3所示(其中,激光定位器單獨(dú)放置)。

圖3 測(cè)量系統(tǒng)硬件組裝結(jié)構(gòu)實(shí)物圖
在硬件選擇方面,要求三腳架能夠固定攝像頭,并能夠在一定范圍內(nèi)調(diào)節(jié)攝像頭空間位置,使其能夠準(zhǔn)確、穩(wěn)定地獲取到門式起重機(jī)的形態(tài)圖像。高清攝像頭選用的型號(hào)為Gsou極速A20。
激光定位器選用紅點(diǎn)式激光定位器,該定位器使用方便、不占用空間、可定位距離遠(yuǎn),在各種光源環(huán)境下的定位斑點(diǎn)清晰、形態(tài)特征好。
測(cè)量系統(tǒng)的軟件部分主要是對(duì)硬件部分進(jìn)行控制,并將由攝像頭獲取的目的圖像進(jìn)行圖像處理和測(cè)量計(jì)算。筆者基于NI公司的LabVIEW平臺(tái)開(kāi)發(fā)了一套起重機(jī)主梁下?lián)隙戎禍y(cè)量系統(tǒng)。
3.2.1 軟件總體流程
系統(tǒng)軟件的核心是程序。該程序部分分為:圖像獲取存儲(chǔ)模塊、圖像特征提取模塊、圖像特征測(cè)量模塊和計(jì)算模塊4部分。其中,圖像特征提取模塊中包含圖像重點(diǎn)區(qū)域剪切和改進(jìn)算法流程的Canny邊緣檢測(cè)。
具體程序流程圖如圖4所示。

圖4 測(cè)量系統(tǒng)程序流程圖
3.2.2 圖像重點(diǎn)部分剪切
在對(duì)獲得的圖像進(jìn)行可控的Canny邊緣檢測(cè)之前,為了避免程序?qū)φ鶊D像無(wú)差別處理,需要先對(duì)圖像進(jìn)行剪切。
剪切程序段如圖5所示。
通過(guò)“IMAQ Extract2.vi”將圖像上所需處理的重點(diǎn)部分剪切下來(lái),利用生產(chǎn)者消費(fèi)者隊(duì)列結(jié)構(gòu)送入下一模塊,這樣既避免了后續(xù)模塊對(duì)無(wú)關(guān)部分圖像的處理,又降低了圖像所占用的內(nèi)存,可極大地提高程序的處理效率。
3.2.3 改進(jìn)算法流程的Canny邊緣檢測(cè)
圖像處理模塊如圖6所示。

圖6 圖像處理模塊
由生產(chǎn)者消費(fèi)者隊(duì)列中輸出的重要部分圖像數(shù)據(jù),經(jīng)過(guò)默認(rèn)灰度變換函數(shù)“IMAQ BGCLookkup.vi”、圖像二值化函數(shù)“IMAQ Threshold.vi”和已設(shè)定初始值的Canny邊緣檢測(cè)函數(shù)“IMAQ CannyEdgeDetection.vi”后,在前面板上顯示出默認(rèn)處理的效果;
操作人員可根據(jù)默認(rèn)處理的效果,在前面板上調(diào)節(jié)灰度變換中的“Brightness”、“Contrast”和“Gamma”值,根據(jù)實(shí)時(shí)反饋的處理效果圖像以確定最佳的二值化邊緣圖像。這里對(duì)Canny預(yù)設(shè)高斯濾波上閾值為0.7,下閾值為0.2。處理后的邊緣二值化圖像將保存至指定文件夾。
3.2.4 像素距離測(cè)量
通過(guò)預(yù)設(shè)參數(shù)和測(cè)量顯示方式的“IMAQ Clamp Vertical Max.vi”,可根據(jù)鼠標(biāo)劃定的矩形范圍內(nèi)測(cè)量?jī)蛇吔缰g的像素距離。
該段程序如圖7所示。

圖7 像素距離測(cè)量模塊
這里主要是測(cè)量處理得到的二值化邊緣圖像中激光點(diǎn)至起重機(jī)主梁下邊緣的像素距離,及圖中主梁腹板的像素距離;再根據(jù)測(cè)量得到的像素距離和輸入的主梁腹板實(shí)際寬度值,通過(guò)比例換算便可計(jì)算出目的下?lián)隙戎怠?/p>
采集到的數(shù)字圖像中包含著機(jī)器視覺(jué)系統(tǒng)所需要的信息,且這些信息是以像素形式存在的。若實(shí)現(xiàn)系統(tǒng)軟件對(duì)圖像的準(zhǔn)確處理與測(cè)量,就必須讓視覺(jué)系統(tǒng)使用真實(shí)世界的坐標(biāo)系和測(cè)量單位[15,16]。因此,要事先得到相機(jī)圖像像素坐標(biāo)和真實(shí)世界坐標(biāo)系之間的映射關(guān)系,才能使得最后得到的結(jié)果正確。
利用軟件中的校準(zhǔn)模塊,能夠快速地得到攝像機(jī)中的畸變參數(shù),以確定相機(jī)坐標(biāo)系與真實(shí)世界坐標(biāo)系的映射關(guān)系。筆者選擇圓心距為12 mm的校準(zhǔn)點(diǎn)陣為校準(zhǔn)過(guò)程提供輸入,校準(zhǔn)系統(tǒng)將根據(jù)由相機(jī)采集到的校準(zhǔn)點(diǎn)陣圖像,根據(jù)最小二乘法確定畸變模型參數(shù),以完成校準(zhǔn)過(guò)程,實(shí)現(xiàn)坐標(biāo)系統(tǒng)一。
此外,由于起重機(jī)主梁下?lián)隙戎抵皇侵髁褐休S線在豎直方向上的位移,沒(méi)有第二方向的坐標(biāo)轉(zhuǎn)換,只需要根據(jù)所測(cè)起重機(jī)主梁腹板在豎直方向的實(shí)際寬度值與采集到的圖像中相應(yīng)像素尺寸進(jìn)行比例換算,就可完成該步校準(zhǔn),獲得統(tǒng)一的測(cè)量單位。
在某起重機(jī)裝載卸載工地,筆者進(jìn)行了起重機(jī)主梁下?lián)隙葴y(cè)量的實(shí)際測(cè)試,通過(guò)系統(tǒng)前面板獲取起重機(jī)加載額定載荷主梁形態(tài)圖像后,截取重點(diǎn)測(cè)量部分的圖像區(qū)域。
起重機(jī)加載前重點(diǎn)部分圖像處理界面如圖8所示。

圖8 起重機(jī)加載前重點(diǎn)部分圖像處理界面
在圖像處理界面,需要在控制面板中動(dòng)態(tài)調(diào)節(jié)參數(shù),以獲取滿意的激光點(diǎn)和起重機(jī)主梁下邊緣二值化邊緣圖像,而后進(jìn)入測(cè)量計(jì)算模塊。
參數(shù)調(diào)節(jié)界面如圖9所示。

圖9 參數(shù)調(diào)節(jié)界面
測(cè)量計(jì)算模塊如圖10所示。

圖10 二值化邊緣圖像像素單位測(cè)量界面
最后測(cè)得主梁上已知尺寸的型鋼像素寬度為24.920 9。結(jié)合型鋼實(shí)際寬度100 mm,經(jīng)程序計(jì)算可得到本次下?lián)隙葴y(cè)量的換算比例為4.012 7;測(cè)得基于激光定點(diǎn)的加載前后圖像中下邊緣的像素位移為7,結(jié)合換算比例計(jì)算得到的下?lián)隙葹?8.088 8 mm。
該臺(tái)起重機(jī)使用傳統(tǒng)方法手動(dòng)測(cè)量值為28 mm,則系統(tǒng)測(cè)量與傳統(tǒng)測(cè)量的相對(duì)誤差為0.32%。
此外,為了進(jìn)一步驗(yàn)證該系統(tǒng)的可靠性,筆者對(duì)另外兩種型號(hào)的門式起重機(jī)進(jìn)行了系統(tǒng)測(cè)量和傳統(tǒng)方法測(cè)量結(jié)果的對(duì)比,其結(jié)果如表1所示。

表1 系統(tǒng)測(cè)量與傳統(tǒng)方法測(cè)量結(jié)果對(duì)比
從表1中可以看出:對(duì)于不同型號(hào)起重機(jī)的下?lián)隙?系統(tǒng)測(cè)量值與傳統(tǒng)方法測(cè)量值的相對(duì)誤差值均小于0.5%,由此可證明所開(kāi)發(fā)的測(cè)量系統(tǒng)具有較強(qiáng)的穩(wěn)定性和可靠性,能夠滿足起重機(jī)下?lián)隙葴y(cè)量工程應(yīng)用的需求。
筆者通過(guò)LabVIEW平臺(tái)開(kāi)發(fā)了一套測(cè)量起重機(jī)下?lián)隙鹊南到y(tǒng),改進(jìn)了Canny邊緣檢測(cè)算法,提出了利用機(jī)器視覺(jué)測(cè)量起重機(jī)下?lián)隙鹊姆椒?并構(gòu)建了基于該方法的測(cè)量系統(tǒng),進(jìn)行了實(shí)際測(cè)試。
研究結(jié)果表明:
(1)該系統(tǒng)的測(cè)量相對(duì)誤差小于0.5%,精度滿足起重機(jī)下?lián)隙裙こ虦y(cè)量要求,測(cè)量方法安全、快捷、經(jīng)濟(jì),具有一定的工程應(yīng)用價(jià)值;
(2)實(shí)現(xiàn)了對(duì)復(fù)雜工況環(huán)境下起重機(jī)主梁弱邊緣和孤立邊緣的檢測(cè)和提取,得到的邊緣二值化圖像邊界清晰(精確測(cè)量距離的前提),具有一定的參考價(jià)值和學(xué)術(shù)意義。
在后續(xù)的研究中,筆者將以該系統(tǒng)為基礎(chǔ),對(duì)其進(jìn)行適應(yīng)性改進(jìn)與優(yōu)化,以實(shí)現(xiàn)對(duì)廠房主梁、橋梁等大跨度結(jié)構(gòu)物體的撓度值測(cè)量。