嚴婷婷,李 鋒,王 琦
(江蘇科技大學 電子信息學院,江蘇 鎮(zhèn)江 212003)
線結(jié)構(gòu)光視覺測量系統(tǒng)[1]具有主動可控、精度高、低成本以及能夠快速獲取物體的三維信息的優(yōu)點,具有廣泛的應用前景,已被應用于道路障礙物探測與識別[2]、路面缺陷檢測[3]等。其中線結(jié)構(gòu)光光條中心提取是線結(jié)構(gòu)光視覺系統(tǒng)測量過程中關(guān)鍵的步驟。
傳統(tǒng)的結(jié)構(gòu)光條紋中心的提取方法可以分為基于光條形態(tài)特征和基于光條灰度分布特征兩個方向?;诮Y(jié)構(gòu)光條形態(tài)特征的提取方法,其主要思想是利用光條圖像的形態(tài)學特征、光條曲線自身幾何特征進行光條中心提取。代表的方法有幾何中心法[4]、閾值法[5]等。幾何中心法確定光條中心速度快,但是當激光條紋圖像中條紋出現(xiàn)缺失時,該方法提取的光條中心精度差,無法獲取準確的中心位置;閾值法易受外界噪聲的影響,提取效果較差,其改進方法如多閾值法[6]、自適應閾值法[7]等,一定程度上改善了傳統(tǒng)閾值法提取的光條精度,但仍未能滿足高精度要求。
基于結(jié)構(gòu)光條灰度分布特征的提取方法,其主要原理是利用光條曲線截面內(nèi)灰度值呈高斯分布這一特性,實現(xiàn)光條中心提取。代表的方法有極值法、灰度鄰域?qū)傩苑?、灰度重心法[8,9]、方向模板法[10]、Steger方法[11,12]等。極值法選擇每個光條截面上灰度值最大的像素點作為中心點,算法簡單,計算效率高,但是精度低,對噪聲點敏感;灰度屬性鄰域法具有一定的精度、抗噪性和魯棒性;灰度重心法處理速率快,易受環(huán)境噪聲影響,因此有學者提出了自適應二維灰度重心法[13],該方法在一定程度上改善了灰度重心法的易受環(huán)境噪聲影響的缺陷;方向模板法具有抑制白噪聲和小斷線修補的能力,但處理速度慢;Steger方法精度高,但運算量很大,很難實現(xiàn)結(jié)構(gòu)光條紋實時性提取。線結(jié)構(gòu)光光條中心提取的現(xiàn)有算法已經(jīng)達到了亞像素的精度,但仍存在無法兼顧精度與實時性[14,15]的問題。為了解決上述問題,本文結(jié)合高斯擬合法[16]和灰度重心法,提出一種高斯加權(quán)的二維灰度重心法。
要得到準確的光條中心,首先對光條圖像進行中值濾波;然后通過閾值法減少復雜背景灰度值的干擾,從而減少后續(xù)圖像數(shù)據(jù)的計算量;其次采用灰度鄰域?qū)傩苑ㄟM行光條中心的粗提取,并求出條紋各列的法向?qū)挾戎?;最后利用高斯加?quán)的二維灰度重心法提取激光條紋中心。該算法的流程如圖1所示。
圖1 算法流程
在實際測量中,由于外界因素的干擾,在攝像機拍攝得到的圖像中摻入各種各樣的噪聲信號,這些噪聲會給后續(xù)的圖像處理,特別是對光條中心提取帶來比較大的影響。采集到的光條紋受噪聲影響,總是存在不光滑、亮度不均勻等問題,因此在提取光條中心之前需要將這些光條紋圖像做去噪聲處理。常用的去噪方法有均值濾波、自適應維納濾波、中值濾波等,而中值濾波可以做到既去除噪聲又能保護圖像的邊緣,所以本文采用中值濾波來實現(xiàn)噪聲去除。
通過統(tǒng)計濾波后圖像的灰度直方圖,由式(1)得到閾值
(1)
式中:Ia為灰度直方圖最大的灰度值,Ib為灰度直方圖最高波峰的灰度值。
由于激光條紋圖像中的條紋及背景灰度強度各異,本文采用閾值法處理濾波后的圖像,這樣可以減少復雜背景灰度值的干擾,同時減少圖像數(shù)據(jù)計算量,提高接下來激光條紋圖像處理的速度和準確度。
初始激光條紋中心通過灰度鄰域?qū)傩苑ㄌ幚淼玫?。灰度鄰域?qū)傩苑ń柚叶揉徲虻奶匦?,來清除孤點噪聲。設(shè)攝像機采集的激光條紋圖像的大小為M×N,某個像素的下標為(i,j):
(1)對于每一列上的每個點,由式(2)得到A(i,j)
(2)
(2)依(1)計算此列中所有像素點的灰度鄰域?qū)傩訟(i,j),若A(i,j0)=max[A(i,j),j=1,2,3,…],則將(i,j0)作為該列光條的中心點。
(3)按列掃描時,只要滿足A(i,j)>ε,則該點為有效點,否則就不是有效點,然后計算出該列滿足A(i,j)>ε的像素個數(shù)作為該列的寬度值。此處取A(i,j)>ε能夠濾除孤立噪聲點的干擾。
(4)如果該列激光條紋斷裂,那么令該列條紋寬度Wi等于上一列的條紋寬度Wi-1。
(5)對其它列重復(1)到(4),直到求出所有列的中心點和條紋寬度。
(6)根據(jù)每一列的寬度值W,求取光條ROI區(qū)域,提高改進的灰度重心法的運算速度。
經(jīng)過條紋中心的粗提取,得到了初始激光條紋中心、激光條紋寬度以及光條ROI區(qū)域,這為后續(xù)條紋中心的精確提取提供準備,大大減少了后續(xù)提取光條中心的計算量。
理想的激光條紋在法線方向上灰度應滿足正態(tài)高斯分布,而實際中采集的光條灰度分布并不滿足。高斯擬合法可改善這種情況,但其精度不滿足要求,擬合過程較為復雜。而傳統(tǒng)的灰度重心法,其計算公式如式(3)所示,它在行坐標方向上光條選定的區(qū)域內(nèi)用灰度重心表示該橫截面中光條的中心位置,如圖2(a)中的虛線框所示。當前存在的問題是根據(jù)采集的激光條紋圖像進行光條中心線提取,它按照豎直方向計算,但在實際情況下光條的法線方向并不是豎直方向。并且由于復雜的背景下噪聲的隨機性和較難消除性,在進行提取時通常因為激光條紋截面像素點參與計算數(shù)量不同、干擾點灰度值有較大隨機性,導致得到的中心點會出現(xiàn)沿坐標軸方向的偏移誤差。用傳統(tǒng)的灰度重心法方法會產(chǎn)生較大的誤差,如圖2(a)所示,上面黑點表示理想的光條中心,下面黑點表示傳統(tǒng)的灰度重心法提取的中心點,出現(xiàn)了較大偏差。同時也會出現(xiàn)較為明顯的間斷現(xiàn)象,如圖2(b)所示
圖2 灰度重心法提取的光條中心
(3)
式中:I(i,j)表示(i,j)處的灰度值,I0表示條紋中心的坐標,S表示灰度重心提取的區(qū)域。
因此本文根據(jù)二維灰度重心能抑制光條走向干擾的特性,結(jié)合高斯擬合法和灰度重心法,提出一種改進的光條中心提取算法,即高斯加權(quán)的二維灰度重心法。以初始條紋中心點為灰度重心提取區(qū)域的中心,提取區(qū)域的邊長為每列寬度的兩倍,進行灰度重心計算獲取高精度的光條中心結(jié)果。由于背景噪聲等干擾因素,光條在豎直方向上灰度分布不符合光條截面模型,從而造成誤差。本文方法以初始條紋中心的周圍幾行和幾列的灰度值求取光條局部區(qū)域質(zhì)心位置,并在列的方向上進行了高斯加權(quán)。這樣既減少了不必要的誤差,又避免了高斯擬合法的復雜擬合過程,同時也減少了計算量,提高了激光條紋中心提取精度。其計算公式為
(4)
(5)
其中,S為灰度重心提取的區(qū)域,區(qū)域大小為2W×2W,I(i,j)為(i,j)處的灰度值,(i0,j0)為初始條紋中心,(x0,y0)為提取出的重心坐標,δ為1。圖3為修正后的光條圖,如該圖3(a)部分所示,此時提取的光條中心更接近理想情況;同時如該圖3(b)部分所示,本文方法可實現(xiàn)對細小缺口的填補。
圖3 本文方法提取的光條中心
為了驗證本文改進算法的可行性,采用FU650L200-BD22一字線激光器和Manta G-125B工業(yè)相機采集如圖4所示的分別在亮環(huán)境和暗環(huán)境下大小為1292×964的激光條紋圖像。采用的GPU類型為Intel(R) Core(TM) i5-4200U,具有4個處理核心,內(nèi)存為4 G。
圖4 部分激光條紋
首先對圖像進行預處理,減少復雜背景的干擾,然后用灰度鄰域?qū)傩苑▽D像進行處理,得到每列的初始激光條紋中心和條紋寬度,并根據(jù)寬度得到ROI區(qū)域。其中在亮環(huán)境下得到的激光條紋圖像掃描后得到的部分激光條紋如圖4所示,由于復雜背景的影響,導致圖中激光條紋寬度不均勻。采集的圖像如圖5所示復雜的背景導致同一幅圖像中光條亮度差異大。最后用高斯加權(quán)的二維灰度重心法處理條紋圖像,根據(jù)激光條紋寬度,選擇不同大小的窗口,遍歷條紋圖像,得到條紋中心。
圖5 不同環(huán)境下采集的激光條紋圖像
為了驗證本文方法的性能,用本文方法與傳統(tǒng)的灰度重心法、方向模板法以及自適應二維灰度重心法進行了實驗對比。圖6給出了在亮環(huán)境下各算法提取結(jié)果,并在表1中對其提取效果和運行時間做了對比分析。
圖6 亮環(huán)境下各算法提取結(jié)果
表1 亮環(huán)境下各算法提取結(jié)果
在暗環(huán)境下,各算法提取結(jié)果如圖7所示,由于在暗環(huán)境下采集的圖像,減少了復雜的背景對光條的影響。各算法提取的結(jié)果變好,總體上與亮環(huán)境下各算法提取效果類似。
圖7 暗環(huán)境下各算法提取結(jié)果
本文選取450個數(shù)據(jù)點進行曲線擬合,并通過對相關(guān)系數(shù)R2、和方差SSE以及殘差均值的比較,衡量各激光條紋中心提取方法的效果。R2越接近于1,光條提取穩(wěn)定性越高;SSE越接近于0,曲線擬合程度越好;殘差均值越小,光條中心提取精度越高。在暗、亮環(huán)境下各算法提取的光條中心擬合結(jié)果分別見表2、表3。
表2 暗環(huán)境下各算法提取的光條中心擬合結(jié)果
表3 亮環(huán)境下各算法提取的光條中心擬合結(jié)果
由表2可知,暗環(huán)境下,灰度重心法、方向模板法擬合的相關(guān)系數(shù)較低,自適應二維灰度重心法和本文方法擬合的相關(guān)系數(shù)較高。相比于自適應二維灰度重心法,本文方法SSE擬合誤差減少33%。說明在暗環(huán)境下本文方法的擬合程度較好。
由表3可知,亮環(huán)境下,灰度重心法、方向模板法受光照影響,擬合得到的相關(guān)系數(shù)降低,特別是灰度重心法,相關(guān)系數(shù)下降明顯,擬合結(jié)果偏差較大。受灰度分布的影響,自適應二維灰度重心法擬合得到的相關(guān)系數(shù)有所降低,相比于自適應二維灰度重心法,本文方法SSE擬合誤差減少35%,說明在亮環(huán)境下本文方法的擬合程度較好。
不同背景環(huán)境下各算法的殘差均值分別為:0.76 pixels、0.62 pixels、0.45 pixels、0.26 pixels。通過對比可知,本文方法在不同背景環(huán)境下均有較高的精度。
由于復雜的背景環(huán)境,導致激光投射面反射率不一致,激光條紋會出現(xiàn)明顯的不均勻現(xiàn)象,因此本文提出了一種高斯加權(quán)的二維灰度重心法。該方法將初始條紋中心點作為灰度重心提取區(qū)域的中心,提取區(qū)域的邊長值為每列寬度值的兩倍,進行灰度重心計算,并在列的方向上進行了高斯加權(quán),從而減少條紋中心點在豎直方向上的偏移誤差,減少了復雜背景下的灰度值干擾,提高了激光條紋中心提取精度。實驗結(jié)果表明,無論在亮環(huán)境或暗環(huán)境下,本文方法提取的光條中心的精度和實時性均優(yōu)于傳統(tǒng)的灰度重心法、方向模板法和自適應二維灰度重心法,且具有較強的穩(wěn)定性和魯棒性。