顧益蘭,李鋒
(江蘇科技大學電子信息學院,江蘇鎮(zhèn)江212000)
基于線結構光的各種非接觸式測量設備和技術[1],因低成本、小體積、高精度等諸多優(yōu)勢在三維視覺測量與檢測中應用廣泛。如何準確提取激光線中心點的像素值是研究的主要問題[2-4],三維測量原理是線型激光器將產生的線結構光投射到需測量物體表面上,并通過攝像機得到由物體厚度變化而受到調制的光條圖像,被測物體的三維信息可以由相機位置,光條紋圖像,需測量物體之間關系確定[5]。
線結構光[6-7]是一種單色線激光。激光條的灰度值分布狀態(tài)和高斯分布一致[8-9],灰度值最大的點就是光條中心,光條灰度分布函數(shù)如下式:
式中,a為度分布的幅值;σ為標準差代表曲線跨度;μ是圖像列坐標的平均值,也是要求的中心點。
現(xiàn)有中心提取算法主要有兩大類[10-13]:一是以閾值法、中心法等為代表的幾何中心法;二是以求極值點、重心等為代表的能量中心法。幾何中心法結構簡單,快速,缺點是精度不夠高,容易受各種噪聲和閾值的干擾。在能量中心法中因為重心法的精度比極值法高,速度比極值法快,成為中心提取應用較多的一種方法,但是中心點處的法線方向過程繁瑣,不利于實時處理。
在實際測量時,光源的強弱、被測量物體自身性質等會影響到光條強度的分布情況,其分布情況仍和高斯分布相似,但已不再是標準的高斯分布,這些使確定光條中心過程變得更加困難[14],所以尋找能夠精確快速地提取光條中心的方法是實際測量的重要工作之一。
首先,要找到并確定圖像中有利于中心提取的圖像區(qū)域,對該區(qū)域進行均值濾波減少噪聲;再按照已確定的約束閾值和1×5的可行動模板在圖像行上移動找出粗略的中心點;然后通過高斯函數(shù)的可分離性及對稱性求出Hessian矩陣;最后用泰勒二次展開得到亞像素級中心坐標。如圖1所示的是改進后中心提取流程圖。
圖1 算法的流程圖
在實際測量中,若直接對采集到的圖進行處理會極大影響圖像處理速度,提前確定圖像感興區(qū)域,可減少數(shù)據計算量。然后對圖像進行均值濾波操作可減弱或消除這種噪聲。
用相機分別采集帶有光條紋和沒有光條紋的圖像,兩幅圖像進行做差操作,將差圖像進行灰度映射得到圖像Z。計算Z的灰度值平均值Ze,標準差σ和限制條件閾值在圖像Z中讓每個像素都和用相減并計算出所有差大于零的像素的個數(shù)P'和像素和的個數(shù),可以求出從光條灰度強度分布類似高斯分布可知,在圖像中像素灰度值大于等于的點可以認為是光條粗略中心點具體實現(xiàn)過程如下:1)為了保證中心點提取的精度,先用一個大小為3×3的模板對條紋圖像進行膨脹化處理,保證處理的圖像區(qū)域像素寬度比原來大。2)對一個有M×N個像素的圖像Z,它在第i行j列處像素點的灰度值可以表示成當滿足時,可在i行用1×5的可移動窗口在圖像行上移動,統(tǒng)計可移動窗口下5個像素點灰度值的和,在該行中使5個像素之和最大的點便是該行上光帶中心的粗略位置。3)繼續(xù)找出i+1中符合條件的點,直到i=M終止循環(huán)。
二維圖像的Hessian矩陣[15]可表示為:
已知Hessian矩陣的兩個特征值和圖像灰度函數(shù)的兩個二階方向導數(shù)的極值是一一對應,且極值方向就是特征值對應的特征向量的方向。所以,圖像的法向(nx,ny)就是Hessian矩陣中絕對值最大的特征值對應的特征向量,圖像灰度函數(shù)的二階方向導數(shù)就是Hessian矩陣中絕對值最大的特征值。上面的計算及其與灰度函數(shù)的關系說明,圖像的每個像素點至少要做5次二維高斯卷積才能求出Hessian矩陣,大量的二維高斯卷積運算導致Steger難以運用在實時性要求高的中心線中。因此,必須要努力減少Steger算法的計算量,同時不能犧牲算法的精度。圖像中像素點和一個二維高斯模板做卷積的效果和其同兩個一維的高斯模板效果一樣。但是圖像中一個像素點和n×n的二維高斯模板做一次卷積,需要做n2次乘加,而和二個一維高斯模板做卷積,操作可減少至n+n次。此外如圖2所示,高斯函數(shù)的0階和2階導數(shù)呈偶對稱,而1階奇是對稱的性質,所以上述的模板大小可從n減小為所以充分利用其可分離性和對稱性,可使運算量從5n2次乘加可減少到6n+4次乘加??傔\算量可明顯減少。
二次泰勒多項式可以用來表示一個二維圖像中任意的一個像素點(x0,y0)點的相鄰像素點,具體表達式如下:
二維圖像f(x,y)在邊緣方向n(x,y)上,其1階方向導數(shù)值為零,線條邊緣的中心點是使其二階方向導數(shù)極值的絕對值最大的點,可使用(nx,ny)表示求出的邊緣方向n(x,y),且(nx,ny)的模為1,式(6)沿邊緣方向可用(nx,ny)表示為:
實驗以Visual Studio2010和HALCON作為改進Steger算法的實現(xiàn)平臺。線結構的激光器使用的是String Ray線激光器,攝像機為德國AVT的MantaG-125B/C。本文中高斯函數(shù)標準差σ=2.5,高斯卷積模板大小取n=21,采用本文提出方法處理后得到結果如圖2所示。圖2(a)有光條的測量物體原圖,圖2(b)閾值處理后圖,圖2(c)本文方法實驗結果圖。如圖3所示,與原算法、分離卷積算法和對稱性卷積算法相比,可知改進后的Steger算法顯著地提高了中心提取算法的速度。
圖2 實驗結果圖
圖3 算法運算量比較圖
文中提出一種閾值和Hessian矩陣結合的中心提取改進方法。該算法可大大提高了Hessian矩陣的獲取速度,滿足測量的實時性要求,同時實驗結果還表明該算法能有效地降低噪聲對圖像的影響,精度可達到亞像素級。該方法符合三維曲面快速高精度測量的要求。
[1]Sam Van der Jeught,Joris J.J.Dirckx.Real-time structured light profilometry:a review[J].Optics and Lasers in Engineering,2016.
[2]ZHANG Yu-cun,HAN Jun-xia,F(xiàn)U Xian-bin,et al.An online measurement method based on line laser scanning forlarge forgings[J].The International Journal of Advanced Manufacturing Technology,2014,70(14):439-448.
[4]李丹,耿楠,亢娟娜.復雜背景下光條中心提取算法研究[J].計算機應用與軟件,2013,30(3):271-273.
[5]劉振,李聲,馮常.基于互相關算法的激光條紋中心提取[J].中國激光,2013,40(5):202-207.
[6]徐靜珠.結構光三維測量中光條中心提取方法及其評價的研究[D].南京:南京大學,2012.
[7]郭富強.基于線結構光的顱骨部位三維重建方法研究[D].吉林:吉林大學,2011.
[8]賈衛(wèi)平,王邦國.一種多結構光條紋亞像素中心提取方法[J].機械工程師,2014(10):1-3.
[9]KE Feng-kai,XIE Jing-ming,CHEN You-ping.A flexible and high precision calibration method for the structured light vision system[J].Optik International Journalfor Light and Electron Optics,2016,127(1).
[10]田忠運.基于雙線結構光三維檢測技術研究[D].南京:南京航空航天大學,2012.
[11]李曉春,單梁,李軍.基于最優(yōu)分區(qū)搜索法的線結構激光成像方法研究[J].南京理工大學學報,2015,39(6):680-685.
[12]楊建華,楊雪榮,成思源,等.線結構光三維視覺測量中光條紋中心提取綜述[J].廣東工業(yè)大學學報,2014,31(1):74-78.
[13]趙博華,王伯雄,張金,等.粗糙金屬表面光條中心提取方法[J].光學精密工程,2011,19(9):2138-2144.
[14]冷惠文,徐春廣,肖定國,等.基于線結構光的復雜深孔內輪廓三維測量方法[J].北京理工大學學報,2013,33(2):139-143.
[15]楊尉.結構光光條中心提取方法的研究[D].哈爾濱:哈爾濱工業(yè)大學,2012.
[16]賈衛(wèi)平,王邦國.基于Hessian矩陣的多結構光條紋中心快速提取方法[J].大連大學學報,2014,35(6):34-37.