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

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

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

圖3 測量系統硬件組裝結構實物圖
在硬件選擇方面,要求三腳架能夠固定攝像頭,并能夠在一定范圍內調節攝像頭空間位置,使其能夠準確、穩定地獲取到門式起重機的形態圖像。高清攝像頭選用的型號為Gsou極速A20。
激光定位器選用紅點式激光定位器,該定位器使用方便、不占用空間、可定位距離遠,在各種光源環境下的定位斑點清晰、形態特征好。
測量系統的軟件部分主要是對硬件部分進行控制,并將由攝像頭獲取的目的圖像進行圖像處理和測量計算。筆者基于NI公司的LabVIEW平臺開發了一套起重機主梁下撓度值測量系統。
3.2.1 軟件總體流程
系統軟件的核心是程序。該程序部分分為:圖像獲取存儲模塊、圖像特征提取模塊、圖像特征測量模塊和計算模塊4部分。其中,圖像特征提取模塊中包含圖像重點區域剪切和改進算法流程的Canny邊緣檢測。
具體程序流程圖如圖4所示。

圖4 測量系統程序流程圖
3.2.2 圖像重點部分剪切
在對獲得的圖像進行可控的Canny邊緣檢測之前,為了避免程序對整幅圖像無差別處理,需要先對圖像進行剪切。
剪切程序段如圖5所示。
通過“IMAQ Extract2.vi”將圖像上所需處理的重點部分剪切下來,利用生產者消費者隊列結構送入下一模塊,這樣既避免了后續模塊對無關部分圖像的處理,又降低了圖像所占用的內存,可極大地提高程序的處理效率。
3.2.3 改進算法流程的Canny邊緣檢測
圖像處理模塊如圖6所示。

圖6 圖像處理模塊
由生產者消費者隊列中輸出的重要部分圖像數據,經過默認灰度變換函數“IMAQ BGCLookkup.vi”、圖像二值化函數“IMAQ Threshold.vi”和已設定初始值的Canny邊緣檢測函數“IMAQ CannyEdgeDetection.vi”后,在前面板上顯示出默認處理的效果;
操作人員可根據默認處理的效果,在前面板上調節灰度變換中的“Brightness”、“Contrast”和“Gamma”值,根據實時反饋的處理效果圖像以確定最佳的二值化邊緣圖像。這里對Canny預設高斯濾波上閾值為0.7,下閾值為0.2。處理后的邊緣二值化圖像將保存至指定文件夾。
3.2.4 像素距離測量
通過預設參數和測量顯示方式的“IMAQ Clamp Vertical Max.vi”,可根據鼠標劃定的矩形范圍內測量兩邊界之間的像素距離。
該段程序如圖7所示。

圖7 像素距離測量模塊
這里主要是測量處理得到的二值化邊緣圖像中激光點至起重機主梁下邊緣的像素距離,及圖中主梁腹板的像素距離;再根據測量得到的像素距離和輸入的主梁腹板實際寬度值,通過比例換算便可計算出目的下撓度值。
采集到的數字圖像中包含著機器視覺系統所需要的信息,且這些信息是以像素形式存在的。若實現系統軟件對圖像的準確處理與測量,就必須讓視覺系統使用真實世界的坐標系和測量單位[15,16]。因此,要事先得到相機圖像像素坐標和真實世界坐標系之間的映射關系,才能使得最后得到的結果正確。
利用軟件中的校準模塊,能夠快速地得到攝像機中的畸變參數,以確定相機坐標系與真實世界坐標系的映射關系。筆者選擇圓心距為12 mm的校準點陣為校準過程提供輸入,校準系統將根據由相機采集到的校準點陣圖像,根據最小二乘法確定畸變模型參數,以完成校準過程,實現坐標系統一。
此外,由于起重機主梁下撓度值只是主梁中軸線在豎直方向上的位移,沒有第二方向的坐標轉換,只需要根據所測起重機主梁腹板在豎直方向的實際寬度值與采集到的圖像中相應像素尺寸進行比例換算,就可完成該步校準,獲得統一的測量單位。
在某起重機裝載卸載工地,筆者進行了起重機主梁下撓度測量的實際測試,通過系統前面板獲取起重機加載額定載荷主梁形態圖像后,截取重點測量部分的圖像區域。
起重機加載前重點部分圖像處理界面如圖8所示。

圖8 起重機加載前重點部分圖像處理界面
在圖像處理界面,需要在控制面板中動態調節參數,以獲取滿意的激光點和起重機主梁下邊緣二值化邊緣圖像,而后進入測量計算模塊。
參數調節界面如圖9所示。

圖9 參數調節界面
測量計算模塊如圖10所示。

圖10 二值化邊緣圖像像素單位測量界面
最后測得主梁上已知尺寸的型鋼像素寬度為24.920 9。結合型鋼實際寬度100 mm,經程序計算可得到本次下撓度測量的換算比例為4.012 7;測得基于激光定點的加載前后圖像中下邊緣的像素位移為7,結合換算比例計算得到的下撓度為28.088 8 mm。
該臺起重機使用傳統方法手動測量值為28 mm,則系統測量與傳統測量的相對誤差為0.32%。
此外,為了進一步驗證該系統的可靠性,筆者對另外兩種型號的門式起重機進行了系統測量和傳統方法測量結果的對比,其結果如表1所示。

表1 系統測量與傳統方法測量結果對比
從表1中可以看出:對于不同型號起重機的下撓度,系統測量值與傳統方法測量值的相對誤差值均小于0.5%,由此可證明所開發的測量系統具有較強的穩定性和可靠性,能夠滿足起重機下撓度測量工程應用的需求。
筆者通過LabVIEW平臺開發了一套測量起重機下撓度的系統,改進了Canny邊緣檢測算法,提出了利用機器視覺測量起重機下撓度的方法,并構建了基于該方法的測量系統,進行了實際測試。
研究結果表明:
(1)該系統的測量相對誤差小于0.5%,精度滿足起重機下撓度工程測量要求,測量方法安全、快捷、經濟,具有一定的工程應用價值;
(2)實現了對復雜工況環境下起重機主梁弱邊緣和孤立邊緣的檢測和提取,得到的邊緣二值化圖像邊界清晰(精確測量距離的前提),具有一定的參考價值和學術意義。
在后續的研究中,筆者將以該系統為基礎,對其進行適應性改進與優化,以實現對廠房主梁、橋梁等大跨度結構物體的撓度值測量。