張 衡,苗紅霞,2,郭章旺,饒星楠
(1.河海大學 物聯(lián)網(wǎng)工程學院,江蘇 常州 213022; 2.江蘇省輸配電裝備技術(shù)重點實驗室,江蘇 常州 213022)
在光學非接觸式三維測量技術(shù)中,線結(jié)構(gòu)光三維測量技術(shù)因其測量精度適中,實時性好且易于實現(xiàn)的優(yōu)勢,被廣泛地應(yīng)用于醫(yī)療診斷、三維重建、工業(yè)生產(chǎn)現(xiàn)場的表面質(zhì)檢和尺寸測量等領(lǐng)域[1-2]。線結(jié)構(gòu)光三維測量系統(tǒng)主要包括激光器、相機等設(shè)備,使用激光器向被測物體表面投射激光,使用相機拍攝激光條紋圖像,通過對激光條紋圖像的處理和分析,得到被測物體表面的三維信息[3]。在相機所采集的激光條紋圖像中,激光條紋具有一定的寬度,必須提取出激光條紋單像素寬度的中心線,才能精準獲取所需特征點的坐標,此過程被稱為線結(jié)構(gòu)光條紋中心提取[4]。線結(jié)構(gòu)光條紋中心線的提取對整個線結(jié)構(gòu)光三維測量系統(tǒng)至關(guān)重要,它直接決定了二維平面到三維空間坐標轉(zhuǎn)換的輸入,是線結(jié)構(gòu)光三維測量的基礎(chǔ)。因此,需著重提高線結(jié)構(gòu)光條紋中心提取算法的準確性、穩(wěn)定性以及實時性[5]。
當前國內(nèi)外學者對線結(jié)構(gòu)光條紋中心提取算法進行了廣泛地研究。經(jīng)典的線結(jié)構(gòu)光條紋中心提取算法主要分為基于幾何中心和基于能量中心兩類[6]。前者通過分割條紋區(qū)域后計算區(qū)域的幾何中心來確定激光條紋的中心線,主要有幾何中心法、骨架細化法和閾值法等;后者利用激光條紋圖像的灰度分布特性進行條紋中心提取,主要有模板法、灰度重心法、曲線擬合法和Steger法等[7]?;趲缀沃行牡臈l紋中心提取算法提取速度快,但對光條圖像質(zhì)量要求很高[8]。其中,幾何中心法對條紋邊緣分割的精度敏感[9];骨架細化法需要多次迭代,耗時較多且易受噪聲影響;閾值法精度較差且易受椒鹽噪聲干擾[10]。基于能量中心的條紋提取算法考慮了光條灰度分布規(guī)律,相比基于幾何中心的方法在一定程度上提高了算法的精度和穩(wěn)健性,但存在計算量大、適用性弱等缺點[11]。其中,模板法對模板選取質(zhì)量要求較高,且模板不具備普適性,中心提取的穩(wěn)定性較差;灰度重心法計算速度快,可以實現(xiàn)亞像素級別的中心線提取,但易受噪聲干擾,僅適用與光條質(zhì)量較好的場合[12];曲線擬合法和Steger法計算復(fù)雜度較大,難以保證條紋中心提取的實時性[13]。
在經(jīng)典條紋中心提取算法的基礎(chǔ)上,一些學者結(jié)合實際應(yīng)用情況提出了一些改進算法,在一定程度上提高了算法的精度和運行效率。張佳等[14]使用自適應(yīng)寬度的灰度重心法提高了光條中心提取的準確性,并通過計算斜率閾值對光條中心線進行平滑優(yōu)化;周淵等[15]使用密度聚類算法提取激光條紋中心線的候選像素點,然后使用最短路徑搜索算法獲得激光條紋中心線,為激光條紋中心線提取提供了一種新的思路,但是僅能提取像素級別的檢測精度;韓潔等[16]提出了一種適用于激光條紋區(qū)域分割的變閾值分割算法,提高了激光條紋中心線提取的精度;楊毅等[17]使用灰度重心法提取激光條紋初始中心線,然后使用均值平滑以及Savitzky-Golay濾波算法對初始中心線進行平滑處理,減輕了中心線的波動性;李偉明等[18]在傳統(tǒng)灰度重心法的基礎(chǔ)上結(jié)合輪廓跟蹤算法提取激光條紋中心線,實現(xiàn)了對激光條紋中心的快速提??;李濤濤等[19]使用高斯-洛倫茲分峰擬合處理激光條紋橫截面,結(jié)合灰度重心法提取出激光條紋中心,相比傳統(tǒng)灰度重心法其提取精度具有一定的提升。上述算法往往假定光條質(zhì)量較好,光質(zhì)均勻且穩(wěn)定。實際工業(yè)應(yīng)用場景中采集到的激光條紋往往質(zhì)量較差,受到多種外界干擾,加大了激光條紋中心線提取的難度。
為方便從圖像中分割出激光條紋區(qū)域,目前常使用差分法處理投射激光前后的兩幅圖像,直接去除背景信息,從而得到僅包含所投射的激光條紋的圖像,能夠方便的使用相關(guān)圖像分割算法分割出激光條紋區(qū)域。而在實際工業(yè)現(xiàn)場,被測物體通常處于運動狀態(tài),往往不方便同時獲取投射激光的圖像和未投射激光的圖像,只能采集到具有復(fù)雜背景信息的激光條紋圖像。因此需要對采集到的具有復(fù)雜背景信息的激光條紋圖像進行進一步的處理,使其能夠便于提取激光條紋區(qū)域,以滿足動態(tài)測量環(huán)境下進行激光條紋中心線提取的要求。
在實際的工業(yè)現(xiàn)場,由于激光器投射出的激光條紋質(zhì)量不均勻、被測物體表面各部分的反射情況不同以及被測物體表面起伏較大等原因,激光條紋成像可能出現(xiàn)光強分布不均、光帶各部分寬度差別大、激光條紋斷裂等問題,從而加大了條紋中心提取的難度。目前,針對以上問題提出的改進算法較少,并且優(yōu)化效果并不明顯,需要進行進一步研究以滿足動態(tài)測量環(huán)境下對多種復(fù)雜線型的激光條紋的中心線提取。
針對動態(tài)測量環(huán)境下激光條紋圖像存在復(fù)雜背景信息、激光光強分布不均、光帶各部分寬度差別大、激光條紋斷裂等問題,本文研究了一種適用于動態(tài)測量環(huán)境的激光條紋中心線提取方法。本文通過研究線結(jié)構(gòu)光條紋灰度分布特性,分析了影響條紋中心提取的主要因素。通過圖像預(yù)處理以及自適應(yīng)裁剪算法提取出感興趣區(qū)域,其次通過改進型伽馬校正以及改進型變閾值大津閾值分割算法分割出激光條紋區(qū)域,然后使用二維灰度重心法提取初始激光條紋中心線,最終通過二次優(yōu)化算法提取出精確的條紋中心線,并通過具體實驗驗證了本文所提算法的有效性。
本文所提的動態(tài)環(huán)境下線結(jié)構(gòu)光條紋中心提取方法的具體流程如圖1所示。
圖1 激光條紋中心線提取流程
首先對圖像進行RGB通道分離以及小窗口中值濾波,消除圖片中的椒鹽噪聲;其次使用自適應(yīng)裁剪算法分割出原始圖像中的感興趣區(qū)域,減小后續(xù)運算量,提升算法的實時性;再次使用改進型伽馬校正算法對圖像進行灰度編輯,突出激光條紋區(qū)域,將圖像轉(zhuǎn)化為灰度直方圖具有雙峰特點的圖像,以便后續(xù)分割出激光條紋區(qū)域;然后使用改進型變閾值大津閾值分割算法分割出圖像中的激光條紋區(qū)域,通過形態(tài)學變換獲取激光條紋的掩膜圖像,并采用自適應(yīng)寬度的二維灰度中心法提取初始激光條紋中心線;最后使用一種基于Hampel濾波法和均值平滑法的二次優(yōu)化算法對初始激光條紋中心線進行優(yōu)化,實現(xiàn)斷線修補并對中心線進行平滑,從而精確地提取出激光條紋中心線。
在理想情況下,激光條紋截面光強應(yīng)當呈現(xiàn)高斯分布的特點。但在實際工業(yè)生產(chǎn)場景中,由于激光器本身質(zhì)量問題、環(huán)境光干擾以及被測物體表面材質(zhì)等因素的影響,實際采集到的激光條紋圖像的紅色分量灰度圖如圖2(a)所示,該光條截面像素點的灰度分布情況如圖2(b)所示??梢钥闯觯娇拷鈼l中心位置,像素點灰度值越高,中心位置可能有多個灰度飽和值;遠離光條兩邊灰度快速遞減,呈現(xiàn)關(guān)于光條中心線對稱的特征,條紋整體灰度值分布近似呈現(xiàn)平頂高斯分布的特點,且不同位置灰度分布差別較大。
圖2 激光條紋及截面灰度值分布
在實際工業(yè)生產(chǎn)應(yīng)用中,通常應(yīng)盡量控制被測物材質(zhì)、被測物形狀、環(huán)境干擾等因素,從而獲得光質(zhì)均勻且整體穩(wěn)定的激光條紋。但對外界干擾因素的控制并不總是可以實現(xiàn),采集的線結(jié)構(gòu)光條紋圖像的質(zhì)量容易受到各種因素的干擾,且采集的激光條紋的難以保證,從而加大了條紋中心提取的難度。影響條紋中心提取的因素有以下幾個方面:
1)在動態(tài)測量環(huán)境下,被測物處于運動狀態(tài),往往不方便同時獲取投射激光的圖像和未投射激光的圖像,無法使用差分法提取激光條紋,采集到的激光條紋圖像中存在復(fù)雜的背景信息,如圖3(a)所示;
2)不同光照條件下,采集的激光條紋圖像差別較大,對于同一光條提取出的中心線誤差較大,如圖3(b)與3(c)所示;
3)由于被測物表面材質(zhì)以及顏色的差別,激光條紋可能出現(xiàn)光強分布不均、光帶各部分寬度差別大的情況,如圖3(d)所示;
4)由于被測物表面的起伏較大以及激光器和相機安裝位置的影響,圖像中的激光條紋可能出現(xiàn)斷裂,如圖3(e)所示。
圖3 激光條紋圖像實例
在實際采集的圖像中,包含線結(jié)構(gòu)光信息的只是圖像中的一部分,而在提取條紋中心線時需要處理激光條紋區(qū)域中的每一個像素點,為了減小算法計算量,需要對圖像進行裁剪,提取出感興趣區(qū)域(ROI,region of interest)。本文中采集圖像的原始尺寸為720×1 280 pixel,激光器投射紅色激光,圖像中線結(jié)構(gòu)光條紋區(qū)域整體呈縱向分布。由于結(jié)構(gòu)光區(qū)域在圖像中的位置以及面積占比并不固定,結(jié)合線結(jié)構(gòu)光條紋總體呈縱向分布的特點,本文提出了一種自適應(yīng)裁剪算法提取ROI。具體步驟如下:
步驟1:對相機采集的原始圖像進行RGB通道分離,提取紅色分量;
步驟2:對提取出的紅色分量圖像進行小窗口中值濾波,在保留激光條紋邊緣信息的同時,去除椒鹽噪聲對后續(xù)處理的影響;
步驟3:定義W、Q兩個長度為720的一維數(shù)組,W中數(shù)據(jù)的初始值為無窮大,Q中數(shù)據(jù)的初始值為0。由于激光條紋區(qū)域的灰度值要明顯大于背景區(qū)域,故可由像素點的灰度值來粗略判斷結(jié)構(gòu)光條紋區(qū)域。對圖像中的像素點進行逐行遍歷,將第i行第一次遍歷到的灰度值大于250的像素點的列值保存到W[i],繼續(xù)遍歷本行像素點,當再次遍歷到灰度值大于250的像素點時,將像素點的列值保存到Q[i],重復(fù)上述過程來更新Q[i],直至完成遍歷。當?shù)趇行沒有灰度值大于250的像素點時,W[i]、Q[i]保持初始值不變;
步驟4:令數(shù)組W中的最小值為w,數(shù)組Q中的最大值為q,為防止對線結(jié)構(gòu)光條紋區(qū)域的過度分割,同時考慮線結(jié)構(gòu)光條紋的投射寬度,在當前分割邊界的基礎(chǔ)上左右擴充30個像素點,以[w-30,q+30]∈[1,1 280]為ROI邊界裁剪圖像。
裁剪前后的圖像示例如圖4所示,裁剪前圖像尺寸為720×1 280 pixel,裁剪后圖像尺寸為720×117 pixel。經(jīng)過裁剪,需處理的圖像尺寸相比于原圖像明顯減小,從而極大地降低了算法的計算量。
圖4 裁剪前后激光條紋圖像對比
精準提取激光條紋中心線的前提是將圖像中的激光條紋區(qū)域提取出來,以便進行進一步的處理。動態(tài)測量環(huán)境下采集的激光條紋圖像,背景部分完全取決于被測物的紋理和顏色,相比于差分法處理后的圖像,存在背景信息復(fù)雜、背景與前景區(qū)分度小的問題,嚴重影響光條區(qū)域分割的精度。如圖5(a)所示,差分法得到的圖像灰度值較大的部分為激光條紋區(qū)域,背景部分的灰度值接近零。如圖5(d)所示圖像的灰度直方圖呈現(xiàn)雙峰特點,可以方便地使用圖像分割算法分割出激光條紋區(qū)域。
具有復(fù)雜背景的激光條紋圖像及其灰度直方圖如圖5(b)和5(e)所示,難以通過圖像分割算法精確分割出激光條紋區(qū)域。參考屏幕顯像領(lǐng)域常用的對圖像進行灰度非線性編輯的伽馬校正(GC, gamma correction)算法[20-21],本文提出了一種類伽馬校正(STGC,improved gamma correction)算法對激光條紋圖像進行非線性灰度編輯的,檢測出圖像信號中的深色部分和淺色部分,并使兩者比例增大,突出圖像中激光條紋區(qū)域與背景區(qū)域的對比度,使圖像的灰度直方圖呈現(xiàn)雙峰特點。
設(shè)激光條紋區(qū)域中心線附近的灰度閾值為Gth,對ROI裁剪后的圖像中的像素點進行遍歷,當像素點的灰度值小于等于閾值Gth時,對像素點按公式(1)進行灰度變換,對灰度值大于閾值Gth的像素點不作處理。
GIGC(i,j)=
(1)
式(1)中,i和j分別為像素點所屬的行數(shù)和列數(shù),G(i,j)為i和j所標識的像素點初始的灰度值,GIGC(i,j)為G(i,j)經(jīng)過IGC處理后的灰度值。
為減少算法的計算量,提高算法的實時性,預(yù)先建立伽馬校正查找表 (LUT,look up table),為0~255之間的每個整數(shù)執(zhí)行一次預(yù)校正操作,將其對應(yīng)的校正值存入預(yù)先建立的LUT,就可以使用該表對任何像素值在0~255之間的圖像進行非線性灰度編輯。
根據(jù)實拍圖像測試,當gamma為0.5時,校正后的圖像能夠較好的區(qū)分激光條紋區(qū)域和背景區(qū)域,使用IGC前后灰度值的對應(yīng)關(guān)系如圖6所示,灰度值小于Gth時呈指數(shù)級下降,大于Gth時保持原灰度值不變。
圖6 使用IGC前后灰度值的對應(yīng)關(guān)系
通過對多個場景下實測激光條紋圖像進行觀察,可知激光條紋區(qū)域中心的灰度值在240以上,而背景區(qū)域灰度值一般小于240。故設(shè)定gamma為0.5,Gth為240,使用STGC對圖像進行非線性灰度變換,變換后的圖像及其灰度直方圖如圖5(c)和圖5(f)所示。可以看出,變換前圖像的灰度直方圖具有多個峰值,難以分割出激光條紋區(qū)域與背景區(qū)域;校正后圖像的灰度直方圖大體呈現(xiàn)雙峰特點,灰度值較高的峰值為激光條紋區(qū)域灰度峰值。通過圖5(f)可以看出,IGC可以在保留激光條紋區(qū)域信息的基礎(chǔ)上,降低背景部分的干擾,便于對激光條紋區(qū)域進行分割。
實際工業(yè)場景下,由于激光光強分布不均且被測物表面材質(zhì)以及顏色的差別,若對整張圖片使用相同的灰度閾值進行分割,則分割出的激光條紋存在較多分段,缺失部分激光條紋信息。針對實際激光條紋圖像的特點,本文提出了一種改進型變閾值大津閾值分割(IVT-Otsu,improved variable threshold Otsu)算法來分割圖像的激光條紋區(qū)域。
對校正后的激光條紋圖像,本文采用IVT-Otsu算法分割出激光條紋區(qū)域。該算法運用了最大化類間差的思想,在沒有任何先驗知識的前提下,通過對圖像中各像素點進行灰度值統(tǒng)計來確定圖像分割的最佳灰度閾值,使圖像前景與背景兩部分之間的類間方差最大。使用IVT-Otsu算法分割激光條紋區(qū)域的具體步驟如下:
步驟1:統(tǒng)計圖像中每行像素點的灰度直方圖,使用Otsu算法計算每一行像素點的最佳灰度閾值,記圖像共n行像素,可得最佳分割閾值集合K={k1,k2,k3,…,kn};
步驟2:統(tǒng)計集合K的灰度直方圖,使用Otsu算法計算出最佳的分割閾值kth,并且使用kth將集合K分割為K0={ki|ki≥kth,i∈{1,2,3,…,n}}和K1={ki|ki 步驟3:對K1集合的分割閾值重新賦值,按照調(diào)整后的閾值分割出圖像中的激光條紋區(qū)域。 根據(jù)最大類間方差的原理,kth為圖像分割的最佳灰度閾值,但是為了平衡對強弱光條區(qū)域的分割,使分割出的激光條紋區(qū)域能夠在一定程度上維持連通性,在實際分割時對分割閾值進行適當調(diào)整。通過調(diào)整強光條行和弱光條行的分割閾值,減輕光強分布不均對激光條紋區(qū)域分割的影響。經(jīng)過實驗驗證,本文將K1集合中的閾值小于0.4×kth的部分統(tǒng)一重新賦值為0.4×kth,大于0.4×kth的部分統(tǒng)一重新賦值為0.7×kth,既避免了對無光條區(qū)域的錯誤分割,同時又保留了光強較弱部分的光條信息,從而分割出連續(xù)性較好的激光條紋區(qū)域。圖7(a)為原始激光條紋灰度圖像,圖7(b)為使用IVT-Otsu算法分割后得到的二值圖像,白色部分為分割出的激光條紋區(qū)域。通過圖7(a)與圖7(b)的對比可以看出,IVT-Otsu算法能夠精確地分割出激光條紋區(qū)域。 針對獲得的二值圖像,本文還對其進行了形態(tài)學閉運算以及形態(tài)學開運算處理,去除較窄的間斷和細長的溝壑、消除小的孔洞,并去除分割出的較小的噪聲區(qū)域。對二值激光條紋圖像進行形態(tài)學運算,得到的結(jié)果如圖7(c)所示。圖7(d)和圖7(e)分別為圖7(b)和圖7(c)的局部細節(jié)放大圖,可以看出,經(jīng)過形態(tài)學運算激光條紋區(qū)域的細小孔洞以及外部較小的噪聲區(qū)域被基本消除。根據(jù)列坐標由小到大的順序,記錄激光條紋區(qū)域每個橫截面的像素點列坐標記為數(shù)組Hi(i為所在行數(shù),對于非激光條紋區(qū)域的行,記Hi為空數(shù)組),以便進行后續(xù)的中心提取。 圖7 激光條紋圖像及其二值化 理想條件下,激光條紋的截面的能量呈高斯分布,條紋中心點與激光能量最高點相吻合,表現(xiàn)在圖像上為激光條紋橫截面的灰度質(zhì)點即為該激光條紋橫截面的中心點?;叶戎匦姆?GBM, gray barycentric method)就是將每一行激光條紋截面的灰度值分布中的質(zhì)心作為激光條紋的中心。 在實際工業(yè)場景下,由于激光條紋各部分的寬度不一致,光強分布不均,且激光條紋中心位置像素灰度值差距較小,本文采用自適應(yīng)寬度的二維灰度重心法(TD-GBM,two-dimensional gray barycentric method)來提取激光條紋亞像素級中心坐標??紤]激光條紋區(qū)域的灰度連續(xù)性,相鄰橫截面間像素點灰度值存在相關(guān)性,故將灰度質(zhì)心的計算窗口從一維提升為二維,使相鄰橫截面的灰度值參與計算當前橫截面中心點坐標。相比于傳統(tǒng)灰度重心法,變寬二維灰度重心法在提升中心點計算可信度的同時,減小了提取中心線的波動性。對于邊界位置的橫截面,直接使用一維灰度重心法進行處理。計算激光條紋各截面中心坐標的數(shù)學表達式為: 當Hi為非空數(shù)組時, (2) 式(2)中,ai為第i個激光條紋橫截面中心列坐標,Hi為激光條紋區(qū)域第i個橫截面上所有像素點列坐標組成的數(shù)組,ri為Hi中元素的個數(shù),whalf為使用TD-GBM計算中心坐標時向上下拓展的行數(shù),2×whalf+1為使用TD-GBM時的窗口寬度,n為圖像的總行數(shù)。 當Hi為空數(shù)組時, ai=NaN (3) 式中,NaN代表空值。 采用GBM與TD-GBM初步提取出的激光條紋中心線如圖8所示。通過對比圖8(a)與圖8(c)可看出,TD-GBM相較于GBM提取的激光條紋中心線波動性明顯減小,但是初步提取出的條紋中心線仍存在較明顯的波動。如圖8(e)所示,對于激光條紋質(zhì)量不佳的圖像,初步提取出的條紋中心線存在局部明顯異常值以及中心線斷裂的問題,需要進一步優(yōu)化。 圖8 GBM與VT-GBM提取結(jié)果對比 針對提取出的激光條紋中心線存在斷裂以及波動性較大的問題,本文提出了二次優(yōu)化算法對初步提取出的初始激光條紋中心線進行優(yōu)化。 使用Hampel濾波算法[22]進行初次優(yōu)化,檢測出初始中心線上的異常值,并對其進行修正,從而在剔除異常值的前提下實現(xiàn)斷線重連,完成對初始中心線的初次優(yōu)化。設(shè)第i行激光條紋初始中心線的位置為(i,ai),ai為中心點的列坐標,記圖像共有n行像素點,Hampel濾波窗口長度為2M+1,令新的第i行激光條紋中心線的位置為(i,bi),具體步驟如下: 步驟1:在i∈{M+1,M+2,M+3,…,n-M+1}時,以(i,ai)為中心構(gòu)建長度為2M+1的濾波窗口Ai={ai-M,…,ai-1,ai,ai+1,…,ai+M},并根據(jù)公式(4)計算Ai的絕對中位差MADi。 MADi=median(|Ai-median(Ai)|) (4) 步驟2:縮放中位數(shù)絕對偏差以獲得正態(tài)分布標準偏差的估計值di=1.482 6×MADi,并根據(jù)公式(5)對中心點坐標進行修正。若ai與Ai中值之差大于2×di,將bi賦值為Ai的中值;若ai與Ai中值之差不大于2×di,直接將bi賦值為ai; (5) 步驟3:處理步驟1與步驟2未處理的邊界值,在i∈{1,2,3,…,M}∪{n-M+1,n-M+2,n-M+3,…,n}時,同樣以(i,ai)為中心構(gòu)建長度為2M+1的濾波窗口,窗口內(nèi)無值部分補零代替,同樣按照步驟1和步驟2的計算過程完成對邊界點的處理。 經(jīng)過Hampel濾波后的激光條紋中心線如圖9所示,中心線斷裂部分得到了有效的修補,同時消除了初始中心線上較大的毛刺,與實際的激光條紋中心線更加接近。 圖9 初次優(yōu)化前后結(jié)果對比(局部放大) Hampel濾波在實現(xiàn)對初始中心線的斷線修補的同時,還去除了一些明顯的異常值,在一定程度上對中心線進行了平滑處理。為了進一步提高對于激光條紋中心坐標提取的精確度,采用均值平滑法對中心線進行二次優(yōu)化處理。當前第i行激光條紋中心線的位置為(i,bi),采用均值平滑法優(yōu)化后的位置為(i,ci),具體步驟如下: 步驟1:當i∈{N+1,N+2,N+3,…,n-N+1}時,以(i,bi)為中心構(gòu)建長度為2N+1的窗口Bi={bi-N,…,bi-1,bi,bi+1,…,bi+N},并按照公式(6)計算ci; (6) 步驟2:處理步驟1未處理的邊界值,在i∈{1,2,3,…N}∪{n-N+1,n-N+2,n-N+3,…,n}時,將ci直接賦值為bi。 ci=bi (7) 二次優(yōu)化后的激光條紋中心線如圖10所示,可以看出相比初次優(yōu)化,二次優(yōu)化后的中心線更加平滑,基本消除了二維灰度重心法提取的激光條紋中心線波動較大的問題,提高了中心線提取的精度。 圖10 二次優(yōu)化前后結(jié)果對比(局部放大) 為驗證本文所提算法在動態(tài)測量環(huán)境下進行激光條紋中心提取的準確性、穩(wěn)定性以及實時性,本文基于動態(tài)測量環(huán)境搭建了單線結(jié)構(gòu)光視覺測量系統(tǒng),系統(tǒng)示意圖如圖11所示。實驗以中心波長為650 nm、功率為100 mW、線寬為0.1 mm的紅色一字線激光器為光源;以呈像尺寸為1 280×720 pixel的CMOS工業(yè)相機采集圖像。在Windows10操作系統(tǒng)中,以Matlab2019b為開發(fā)環(huán)境進行激光條紋中心線提取。 圖11 單線結(jié)構(gòu)光視覺測量系統(tǒng)示意圖 實驗中,使用一字線激光器向被測對象投射紅色激光。其中,工業(yè)相機、一字激光器以及被測對象這三者之間的位置滿足三角法測量系統(tǒng)的位置分布要求,采集多種復(fù)雜情況下的激光條紋圖像進行中心線提取,以驗證本文算法的有效性。 為了有效驗證本文所提方法的提取效果,選擇將極值法、骨架細化法、GBM和Steger法作為比較算法。將算法應(yīng)用于直線型激光條紋的中心線提取,各算法提取出的激光條紋中心線區(qū)域放大如圖12所示。本文所提算法提取出的激光條紋中心線最接近光條實際的中心位置處,其余算法提取出的中心線均存在不同程度的偏移。 (8) 表1為使用5種算法計算得到的激光條紋中心坐標的標準誤差值。 表1 各算法提取激光條紋中心線的標準誤差 由表1可知,由于其沒有考慮激光條紋的灰度分布特性,極值法與骨架細化法的標準誤差相對較大;GBM按照激光條紋橫截面的灰度分布特性較為精確的提取出中心線,但是存在較大的波動性;Steger法較為平滑的提取了激光條紋中心線,但是整體呈現(xiàn)分段式變化的特點,較大的影響了提取的精確度;本文所提優(yōu)化算法的標準誤差最小,即提取的激光條紋中心的精確度最高。 為進一步驗證本文所提方法對動態(tài)測量環(huán)境下多種復(fù)雜背景的適用性,實驗采集了復(fù)雜背景下多種線型的激光條紋圖像進行中心線提取,使用本文所提方法提取激光條紋中心線,結(jié)果如圖13所示。 圖13(a)反映了對于復(fù)雜背景下線型為曲線的激光條紋圖像的提取效果;圖13(b)反映了對于復(fù)雜背景下線型為折線的激光條紋圖像的提取效果;圖13(c)反映了對于復(fù)雜背景下各部分激光條紋寬度變化較大、光強分布嚴重不均的激光條紋圖像的提取效果;圖13(d)反映了對于復(fù)雜背景下激光投射面各部分反光特性差別較大的激光條紋圖像的提取效果??梢钥闯霰疚乃醿?yōu)化算法能夠較精確地提取各種復(fù)雜情況下的激光條紋中心線,受背景干擾以及激光條紋質(zhì)量的影響較小,適用于復(fù)雜背景下多種線型的激光條紋。 圖13 各線型激光條紋的提取結(jié)果(局部放大) 為驗證本文所提方法的穩(wěn)定性,用工業(yè)相機在同一位置、不同光照條件下采集了四幅激光條紋圖像,如圖14所示。分別使用極值法、骨架細化法、GBM、Steger法以及本文所提算法進行中心提取,并計算中心提取的重復(fù)性誤差。 圖14 不同光照下的激光條紋圖像(從(a)到(d)光照逐漸變?nèi)? 算法的重復(fù)性誤差能夠表征在不同時刻下算法提取激光條紋中心線的偏差大小,也反映了算法對不同光照條件以及隨機噪聲下的適應(yīng)能力。算法提取光條中心點的重復(fù)性誤差記為ER,不同時刻下拍攝的激光條紋圖像總個數(shù)記為P。 (9) (10) 式(9)和式(10)中,ER為算法提取4幅圖像的激光條紋中心線產(chǎn)生的重復(fù)性誤差,ERp為提取第p幅圖像的激光條紋中心線產(chǎn)生的誤差,ci,p為第p幅圖像的第i個激光條紋橫截面的中心坐標。 對于不同時刻下采集的光條圖像,表2為5種算法提取光條中心點的重復(fù)性誤差。與傳統(tǒng)算法相比,本文所提的優(yōu)化算法重復(fù)性誤差數(shù)值最小。這表明在不同光照條件下,本文所提算法提取的激光條紋中心線間的差別最小,具有較高的穩(wěn)定性。 表2 各算法提取激光條紋中心線的重復(fù)性誤差 由于提取激光條紋中心線要求具備實時性的特點,因此需要對中心線提取算法的運行效率進行研究。為了減小誤差,在同一臺計算機上分別采用5種算法對同一組圖像進行20次激光條紋中心線提取,取運行時間的均值作為算法的提取時間。各算法提取激光條紋中心線的提取時間如表3所示。 表3 各算法提取激光條紋中心線的提取時間 由表3可知,Steger法由于需要進行大量的卷積運算,計算復(fù)雜度較高,故其提取中心線的時間花費最大,運行效率最低;骨架細化法由于需要多次迭代運算細化激光條紋區(qū)域來提取激光條紋骨架,時間花費較大,在5種算法中僅次于Steger法,運行效率較低;極值法的時間花費最小,但是其在背景復(fù)雜的情況下提取效果極不穩(wěn)定,一般不能應(yīng)用于實際工業(yè)場景;本文所提算法通過自適應(yīng)裁剪算法降低了后續(xù)的計算量,在與灰度重心法相比花費時間相差不大的前提下,極大地提高了激光條紋中心線提取的準確性,具有更高的實際應(yīng)用價值。 針對實際工業(yè)應(yīng)用場景中存在的動態(tài)測量環(huán)境下激光條紋圖像中存在復(fù)雜背景信息、激光光強分布不均、光帶各部分寬度差別大、激光條紋斷裂等問題,本文提出了一種適用于動態(tài)環(huán)境的激光條紋中心線提取方法。通過自適應(yīng)裁剪算法、改進型伽馬校正以及改進型變閾值大津閾值分割算法來提取出激光條紋區(qū)域,顯著降低了動態(tài)測量環(huán)境下拍攝的激光條紋圖像存在的復(fù)雜背景信息對提取激光條紋中心線造成的影響。通過自適應(yīng)寬度的二維灰度重心法以及后續(xù)的二次優(yōu)化算法,精確地提取出激光條紋中心線。通過多組實驗驗證,算法可以準確而高效地實現(xiàn)動態(tài)測量環(huán)境下的激光條紋中心線提取,能夠在多種復(fù)雜情況下精確地提取激光條紋中心線,具有很強的適應(yīng)性。3 激光條紋中心線提取
3.1 初始中心線提取
3.2 二次優(yōu)化
4 實驗結(jié)果與分析
4.1 準確性分析
4.2 適用性分析
4.3 穩(wěn)定性分析
4.4 提取時間分析
5 結(jié)束語