?

復雜環境下結構光中心線提取算法

2018-09-21 10:03楊鎮豪陳建政
計算機技術與發展 2018年9期
關鍵詞:中心線極值灰度

楊鎮豪,楊 柳,李 輝,陳建政

(1.四川大學 計算機學院,四川 成都 610064; 2.西南交通大學 牽引動力國家重點實驗室,四川 成都 610031)

0 引 言

在三維測量(three-dimensional measurement)圖像處理系統中,線結構光測量技術是一種應用廣泛、測量有效的光學測量方法,其原理是線光源激光器產生的光束投射到待測工件表面,用CCD相機拍攝調制后的激光光帶圖像,然后根據光帶中心位置的偏移計算出測量物體的三維信息。

由于測量系統中的激光光束質量、測量環境和待測物體表面的光學性質都會對攝像機采集到的光帶圖像造成影響,從而對中心線的提取帶來各種問題,所以如何精確快速地提取圖像中線結構光光帶中心線,是整個測量系統測量精度的關鍵。多年來,國內外學者就此問題提出了多種方法,比較常見的主要有極值法、幾何中心法、灰度重心法和Steger法等[1-2]。極值法與幾何中心法通過尋找圖像灰度值的極值與幾何中心計算光帶中心線,原理簡單,運算速度較快,但是精度只能達到像素級別,難以滿足工業測量的要求?;叶戎匦姆ɡ眉す夤鈳芰款愃聘咚狗植嫉奶匦杂嬎愎鈳е行?,穩定性優于極值法,但其準確性易受圖像高頻噪聲和光帶非正態分布的影響,僅適用于圖像光帶質量較好的場合[3-4]。Steger法利用Hessian矩陣獲取激光光帶像素點的法線方向,通過法線方向上的極值點計算出亞像素光帶中心線,精度高,但是對光帶寬度敏感,且運算量大[5-8]。

實際工程應用中,一般使用的激光器是普通的激光器,投射出來的光帶質量穩定性、均勻性不高,此外,某些工件部分表面存在腐蝕或污染,導致激光反射率不均勻,造成光帶圖像離散性較大;或者工件表面的金屬材料導致的反光嚴重,造成光帶圖像受環境影響大,質量低。針對上述應用背景,文中提出了一種結合極值法與Steger法的中心線提取算法,以消除或減弱復雜環境對算法提取中心線帶來的影響。

1 基本原理

1.1 結構光光帶特性

激光器產生激光的基本原理是大量粒子的受激輻射現象,光學共振腔中的粒子受到入射光子感應或激勵,持續輻射出與入射光子特征完全相同的大量光子就是激光[9]。一般的線激光光源是由點激光光源穿過柱面鏡和球面鏡組合產生,其光束橫截面上的光強能量呈高斯分布,因此調制到圖像傳感器上的光帶截面灰度值可用近似高斯模型來描述:

(1)

現有結構光光帶中心線提取算法主要分析光帶的三個特性,即光帶中心點位于光帶橫截面的灰度零階極大值,一階過零點,二階極小值處(如圖1所示)[10]。

圖1 結構光帶截面灰度值的零階、一階、二階特征

1.2 極值法

極值法是簡單的光帶中心線提取算法,利用光帶中心點位于光帶橫截面灰度的極大值處這一特性,找到光帶橫截面極大值即可獲得光帶中心(見圖2)。該算法快速簡單,能達到像素級的精度。

1.3 基于Hessian矩陣的Steger算法

Steger算法將圖像看成二維函數,在光帶法線方向上將光帶灰度分布按泰勒多項式展開,求取多項式的極大值所在位置,即為光帶中心。為了得到圖像的泰勒多項式,需要獲得圖像的偏導數,圖像的偏導數rx,ry,rxy,rxx,ryy通過圖像分別與下面式子中的高斯核進行卷積獲得[11]。

圖2 極值法受噪聲的影響

(2)

(3)

(4)

(5)

(6)

則對于某一像素(x0,y0),圖像二階泰勒展開有:

r(x,y)=r(x0,y0)+[(x-x0)(y-

(7)

該點的Hessian矩陣為:

(8)

該點法線方向(nx,ny)及該方向的二階導數,分別為該點Hessian矩陣的最大絕對特征值和相應的特征向量。

光帶圖像r(x,y)中,在光帶方向上的一階方向導數為0,且二階方向導數取負的極小值點,位于光帶中心上。設光帶方向n(x,y)用單位向量(nx,ny)表示,則式7沿光帶方向(nx,ny)可以表示為:

r(x0+tnx,y0+tny)=r(x0,y0)+tnxrx(x0,y0)+

(9)

因光帶方向上的一階導數為零,則有:

(10)

由式9和式10可得:

(11)

則圖像灰度的極值點為(px,py)=(x0+tnx,y0+tny),即光帶中心的一階導數過零點,且(nx,ny)方向上的二階方向導數小于指定閾值,則點(px,py)為光帶的中心點[12-13]。

2 改進的極值法與自適應線寬Steger法中心線提取

為了處理光帶離散性差、線寬不均勻、高反光的激光圖像,算法運用運算量少的極值法確定出光帶每一行截面寬度,得到粗略的光帶區域;然后再結合自適應線寬Steger法計算出光帶中心的亞像素位置。

2.1 光帶圖像預處理及ROI提取

線結構光投射器將激光投射到被測物體表面,利用CCD相機采集圖像。通常情況下,因為環境的復雜性,往往會給提取激光光帶帶來一定的干擾。為了防止這些環境所帶來的干擾,往往用CCD相機連續采集多張測量圖像,通過圖像序列做差獲得只有激光光帶的測量圖像,避開了環境復雜性的干擾。

這時得到的激光光帶的圖像通常具有較高的對比度,因此采用基于大津法(Otsu算法)[14]選擇適應的閾值,然后用這個閾值對圖像進行二值化處理,并且再進行一系列的腐蝕和膨脹操作,把感興趣區域(ROI)從背景中提取出來。不僅能有效減少環境噪聲對后續光帶中心提取的影響,而且能明顯提高光帶提取速度,滿足測量系統對實時性的要求。

2.2 粗略光帶區域提取

在現實環境下,被測物體表面往往有缺陷、環境反光等干擾因素,得到的激光光帶圖像的光帶寬度很有可能不一致,所以直接進行光帶中心線提取達不到精度要求。為了解決這個問題,首先運用改進的極值法粗略提取光帶區域,然后再精確提取光帶中心。文中算法首先通過尋找每一行最大像素值和最大像素值0.9倍所在的坐標,通過這兩個坐標計算出光帶粗略中心;然后算法設定最大光帶寬度閾值為40個像素值,排除反光現象造成的錯誤光帶,具體方法是光帶寬度大于40的部分進行截斷,其他正常光帶部分尋找到最低光帶邊緣后左右再增加5個像素點的值,以保證光帶包含全部光帶區域。

再采用參數為5個像素的中值濾波(median filtering)對粗略光帶區域進行處理,以解決由于光帶離散性差和反光帶來的光帶寬度差異太大的問題;最后對光帶區域每行用參數σ=0.5,窗口寬度為3的高斯核進行高斯濾波,去除光帶中的雜點和高頻噪聲。經過上述一系列圖像處理,得到了最佳的光帶區域。

2.3 光帶中心亞像素提取

w(i)=

(12)

其中,M,N為光帶行號。

觀察Steger推導公式不難發現,每個點都要進行5次(rx,ry,rxy,rxx,ryy)二維高斯卷積,會導致算法運算量很大。從式2~6可以看出,二維高斯核可以等效分解為一次高斯行卷積和一次高斯列卷積,這樣對于大模板的卷積計算將會從根本上減小計算量。

3 實驗分析

為了驗證算法的有效性和準確性,實驗利用基于三角測量法的線結構光測量系統,選取兩種表面平整的平面物體作為測量對象,分別對其表面進行光帶中心線提取。實驗拍攝到的光帶圖像如圖3所示。圖(a)表示測量物體表面光滑、反射率均勻,無反光現象,可以看到激光圖像質量較好;圖(b)表示測量物體表面反射率不均勻、存在較嚴重的反光現象,可以看到激光光帶圖像比較離散,反光較為嚴重,質量不高。

圖3 平面物體實驗圖像

采用相同線寬和其他濾波參數對兩幅光帶圖像進行預處理,然后分別用灰度重心法、基于Hessian矩陣的Steger方法和文中算法對圖3所示圖像提取光帶中心。由于實驗采用的測量對象是物體平面,因此分別對結果直線擬合,計算所有數據點到擬合直線的均方差。在同樣測量條件下,若各數據點到擬合直線距離的均方差較大,則表明測量精度較低,說明算法提取光帶中心相對不準確;反之,如果數據點到擬合直線距離的均方差較小,則說明算法提取光帶中心相對準確[15]。表1為運用三種算法對兩種實驗光帶圖像進行多次中心線提取,計算得到的數據點到擬合直線均方差的平均值。

表1 三種算法均方差對比

從表1可以看出,對于亮度均勻、質量較好的光帶,三種算法求出的數據點到擬合直線距離的均方差較小且差別不大,提取到的光帶中心線較準確;而對于光帶較離散、質量較差的情況,灰度重心法的均方差已偏離很大,而文中算法的均方差優于其他兩種方法,能比較精確地提取光帶中心線。

為了進一步驗證該算法對復雜環境的適應性,將其應用到存在高反光特性的金屬測量工件。圖4(a)為測量工件不同平面在CCD相機中調制得到的光帶圖像,離散性差,且表面存在的高反光特性導致光帶截面不再呈高斯分布。圖4(b)為算法第一步處理得到的光帶二值化圖像。圖4(c)為算法得到的最佳光帶區域圖像。圖4(d)為利用文中算法得到的結構光光帶中心。

圖4 實驗結果圖像

4 結束語

實際工程應用中,針對三維測量圖像處理系統中結構光光源質量、物體表面反光,或攝像機采集圖像質量等環境因素對結構光中心線提取的影響,提出了一種結合極值法與Steger法的中心線提取算法。該算法首先利用極值法初步確定光帶區域,然后利用自適應線寬的Steger法計算出光帶中心亞像素位置。實驗結果表明,該算法能快速有效地提取光帶中心,具有良好的測量精度和穩定性,在光帶圖像質量低、測量物體存在反光現象等復雜環境下仍能比較準確地提取光帶中心位置。該算法為后續的各種圖像測量系統提供了良好的精度保障,具有一定的實用價值。

猜你喜歡
中心線極值灰度
采用改進導重法的拓撲結構灰度單元過濾技術
極值(最值)中的分類討論
極值點帶你去“漂移”
天津港智慧工作平臺灰度發布系統和流程設計
Bp-MRI灰度直方圖在鑒別移行帶前列腺癌與良性前列腺增生中的應用價值
通過函數構造解決極值點偏移問題
極值點偏移問題的解法
淺析某船重要設備底座與基準平臺偏差的糾正措施
Arduino小車巡線程序的灰度閾值優化方案
樹葉競技場
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合