方夏章, 李 垚, 方 毅
(中國科學(xué)技術(shù)大學(xué) 電子科學(xué)與技術(shù)系,安徽 合肥 230022)
結(jié)構(gòu)光[1~5]圖像處理的關(guān)鍵在于提取出圖像的光條部分。在簡單背景環(huán)境下,極值法廣泛使用。極值法以圖像的一列(或一行)中灰度最大的點(diǎn)(極值點(diǎn))作為光條的粗略中心,為了提高精度,在極值法的基礎(chǔ)上使用灰度重心法,高斯擬合法等處理方法[6~9]。這些方法以極值法確定粗略中心,并利用極值點(diǎn)附近一定范圍內(nèi)的像素進(jìn)行光條中心精確定位。以上方法在致力于精度的同時(shí)忽略了魯棒性。本文基于室內(nèi)環(huán)境情況復(fù)雜,受被測物體與光源距離、背景灰度變化的影響,整幅圖像中光條的亮度不一,且存在環(huán)境光干擾(光滑表面對(duì)環(huán)境光的反射),這種干擾在圖像上的亮度可能達(dá)到甚至超過光條的亮度,因此,以極值法來提取光條粗略中心變得不可靠。
本文提出了一種適用于室內(nèi)環(huán)境的實(shí)時(shí)光條圖像分割算法。為了便于表達(dá),該算法由閾值法分割圖像,分割結(jié)果包含強(qiáng)光源區(qū)域圖像中光條亮度較高的區(qū)域的光條以及圖像中亮度較高的環(huán)境光干擾;利用邊緣檢測去除分割結(jié)果中的環(huán)境光干擾部分,根據(jù)邊緣檢測的結(jié)果劃分出圖像中的弱光源區(qū)域(圖像中光條亮度較低的區(qū)域);根據(jù)截面灰度分布特征提取出弱光源區(qū)域的光條。
強(qiáng)光源區(qū)域光條亮度大,采用閾值法可分割出強(qiáng)光源區(qū)域的光條。本文提出直方圖最右峰法,可快速自適應(yīng)獲取閾值。該方法的原理為:若光條亮度高,有一定面積,則會(huì)在直方圖最右邊引入一個(gè)峰值。因此可在直方圖中根據(jù)最右邊的峰確定分割閾值,分割出光條部分。
本文使用水平線結(jié)構(gòu)光,為了更好地適應(yīng)背景整體灰度的變化,首先將圖像從左到右分為16個(gè)子圖像,每個(gè)子圖像的寬度為原圖像寬度的1/16。然后為每個(gè)子圖像分別確定分割閾值Gcut:
1)建立子圖像灰度直方圖;
2)找到直方圖最右邊(灰度最大)的峰;
3)找到最右峰左邊第1個(gè)谷,則Gcut為該谷對(duì)應(yīng)的灰度值。
為了初步區(qū)分強(qiáng)弱光源區(qū)域,設(shè)定一個(gè)強(qiáng)光閾值Gstro。對(duì)每個(gè)子圖像,根據(jù)其平均灰度Gavg自適應(yīng)獲得Gstro:Gstro=s×Gavg,s為強(qiáng)光因子,取1.2~1.4。
a.如果Gcut>Gstro,該子圖像可能處于強(qiáng)光源區(qū)域,分割閾值有效;
b.如果Gcut 根據(jù)有效Gcut分割后的圖像也可能包含環(huán)境光干擾,如圖1(a)左下部分。相比真正的光條環(huán)境光的干擾沒有明顯的邊緣特性,因此,采用邊緣檢測法區(qū)分環(huán)境干擾和光條。 圖1 環(huán)境光干擾對(duì)圖像分割的影響 首先用各子圖像的有效Gcut進(jìn)行圖像二值化,然后進(jìn)行連通域標(biāo)記。 連通域標(biāo)記以后,先進(jìn)行面積約束,將面積過小的連通域認(rèn)為是噪聲去除。對(duì)保留下來的連通域,提取其輪廓點(diǎn),分為上輪廓點(diǎn)和下輪廓點(diǎn)。然后將sobel邊緣檢測算子僅應(yīng)用于這些輪廓點(diǎn)在原圖中對(duì)應(yīng)的位置,以減少邊緣檢測的計(jì)算時(shí)間。因?yàn)楸疚闹泄鈼l為水平光條,所以使用縱向的sobel算子。 如圖1(c)顯示圖1(b)中環(huán)境光形成的連通域被去除,強(qiáng)光源區(qū)域光條被準(zhǔn)確提取。弱光源區(qū)域也被準(zhǔn)確劃分出來,即暫時(shí)沒有提取出光條的列都為弱光源區(qū)域。 弱光源區(qū)域一種可能的情況如圖2所示,光條出現(xiàn)在A點(diǎn),但該列灰度最大值出現(xiàn)在B點(diǎn),且整列還有很多點(diǎn)的灰度等于或高于光條所在點(diǎn),極值法,閾值法均難以在弱光源區(qū)域識(shí)別出光條。因此,本文以列為單位分析光條的截面灰度特征,以此來提取出弱光源區(qū)域的光條。 圖2 弱光源區(qū)域某列灰度分布 觀察光條的截面灰度分布,有如下特征:在局部范圍內(nèi),光條中心像素灰度表現(xiàn)為峰值;在光條的范圍內(nèi),光條橫截面灰度分布滿足高斯分布。本文方法的思路為: 1)檢索出符合特征一的像素點(diǎn):將一列的灰度分布看作一條曲線g(y),對(duì)g(y)進(jìn)行1次均值平滑減少噪聲,然后找出曲線中所有的峰值點(diǎn),再對(duì)峰值點(diǎn)進(jìn)行非極大值抑制,如圖2。 2)檢測這些峰值點(diǎn)是否符合特征二,分析高斯分布函數(shù) (1) 用Yc表示峰值點(diǎn)坐標(biāo),Yu和Yd分別代表峰值點(diǎn)上下梯度最大點(diǎn)的坐標(biāo),則條件(a)~條件(c)表示為 (2) 一列中同時(shí)滿足條件(a)~條件(c)的峰值點(diǎn)才是光條中心,找到這個(gè)峰值點(diǎn)并根據(jù)其上下梯度最大的點(diǎn)即可提取出該列的光條。 上述灰度分布特征法兩個(gè)比較關(guān)鍵的閾值Gdiff和Ggrad與影響因子s1,s2的設(shè)定相關(guān)。由于噪聲的影響,會(huì)使得某些列光條的截面灰度分布與高斯分布相似性降低。若影響因子設(shè)定的較為嚴(yán)格,則部分列的光條會(huì)因噪聲影響而被排除,即漏提取;若影響因子設(shè)定較為寬松,則會(huì)加大引入誤提取的可能。 考慮到光條橫向分布的連續(xù)特性:圖像某列存在一個(gè)峰值點(diǎn)B,其相鄰列存在已經(jīng)被確認(rèn)為光條的峰值點(diǎn)A,且A,B點(diǎn)的縱坐標(biāo)很接近,則峰值點(diǎn)B為光條中心的可能性很大。亦即對(duì)于峰值點(diǎn)B,可以適當(dāng)放寬閾值。 本文根據(jù)以上特性,采用雙閾值法,將Gdiff和Ggrad分別擴(kuò)展成1對(duì)閾值,包括1個(gè)寬松閾值和1個(gè)嚴(yán)格閾值。 設(shè)某列一峰值點(diǎn)縱坐標(biāo)為Y,寬度為W(由其邊界點(diǎn)確定),若其相鄰列縱坐標(biāo)在(Y±W)區(qū)間內(nèi)存在光條,則使用寬松Gdiff和Ggrad;否則,使用嚴(yán)格Gdiff和Ggrad。 圖3為使用雙閾值法的結(jié)果,與僅使用單一閾值相比,雙閾值法顯著提高了光條提取的魯棒性。 圖3 雙閾值法提取光條結(jié)果 本文實(shí)驗(yàn)基于主頻為1 GHz的smart—210嵌入式核心板,選取了幾個(gè)典型室內(nèi)場景,如圖4。 圖4 幾種典型室內(nèi)場景 對(duì)于這些場景,極值法和本文方法提取光條的準(zhǔn)確率(準(zhǔn)確提取出光條的列占總列數(shù)的比例)如表1。從表1可以看出,極值法在較簡單的場景(即圖像幾乎全是強(qiáng)光源區(qū)域)下,能夠保持較高的準(zhǔn)確率。但面對(duì)稍復(fù)雜的場景,其準(zhǔn)確率大幅下降。而本文方法在上述4種場景下,均有接近100 %的準(zhǔn)確率,表現(xiàn)良好。 表1 光條提取方法準(zhǔn)確率對(duì)比 圖5為圖4中場景3的圖像處理結(jié)果。對(duì)比極值法可知,本文方法提取的光條與原圖像中的光條幾乎完全重合,且準(zhǔn)確判斷出哪些列存在光條哪些列不存在光條。 此外,本方法處理一幀分辨率為640×240的結(jié)構(gòu)光圖像平均時(shí)間在50 ms左右,滿足實(shí)時(shí)性要求。 圖5 場景3的光條提取結(jié)果 實(shí)驗(yàn)證明,本文提出的方法在復(fù)雜的室內(nèi)環(huán)境下,能準(zhǔn)確快速地提取出光條。另外,本方法還自適應(yīng)地獲取了光條在不同列的寬度,只需在該寬度內(nèi)使用高斯擬合等方法即可精確定位光條中心,因此,本方法同樣適用于對(duì)精度要求高的應(yīng)用場合。1.2 邊緣檢測去除環(huán)境光干擾
2 弱光源區(qū)域光條提取方法
2.1 光條截面灰度分布特征
2.2 雙閾值法
3 實(shí)驗(yàn)與分析
4 結(jié)束語