許丹丹,馬增強,2,錢榮威,周 涵,李俊峰
(1.石家莊鐵道大學電氣與電子工程學院,石家莊 050043;2.石家莊鐵道大學省部共建交通工程結(jié)構(gòu)力學行為與系統(tǒng)安全國家重點實驗室,石家莊 050043;3. 廣州理工學院電氣與電子工程學院,廣州 510540 )
在光學測量中,激光光斑檢測具有重要應用價值,是光學檢測系統(tǒng)的關(guān)鍵技術(shù)[1-2],尤其在遠距離測量中。隨著檢測距離的增加會給采集到的光斑圖像帶來更多的噪聲干擾,尤其是在較強光照條件下,對光斑中心的檢測精度影響十分明顯。傳統(tǒng)的激光光斑檢測方法包括灰度重心法[3-4]、質(zhì)心法[5-6]、空間中心矩法[7]等。使用灰度重心法及質(zhì)心法進行光斑中心檢測時要求激光光斑圖像均勻分布且邊緣清晰,否則會導致較大的誤差,而實際工況下因為光照等噪聲的存在很難滿足這一要求。在空間中心矩算法中,它利用邊緣的灰度空間矩來檢測具有亞像素位置的邊緣。但計算過程包含多次卷積,運算量較大實時性較低。在實際測量環(huán)境中光斑投射點一般暴露在室外條件下,其噪聲干擾大部分是由光照條件變化引起。當光照較弱時光斑與背景對比度較低圖像較為模糊,無法分清前景與背景。當光照較強時,背景光影響的程度更為嚴重,極大的影響了光斑中心的準確提取。本文主要研究強光照條件的光斑中心提取,采用算法優(yōu)化的方法來解決問題。
在野外進行測試時,受到強烈太陽光的影響,靶面上成像的光斑圖像會嚴重退化,使得光斑的亮度低于周圍亮度、光斑邊緣不清晰、圓形光斑形變等。在光照較為均衡的情況下對光斑圖像進行閾值分割可較好分理出前景與背景。但在光照較強時,背景光的影響較為嚴重使得二值化后的部分光斑信息丟失,使得圖像處理算法無法準確地提取出光斑中心。
為更好說明不同光照對光斑圖像的影響,選取不同光照條件下采集的光斑圖像(63像素×63像素)如圖1所示來進行說明。若想定位激光光斑的中心,典型方法是找到復雜背景下圓形區(qū)域,之后對圖像進行二值化找到邊緣,進行圓擬合獲得中心坐標。由圖1a可知,光照均衡下的光斑圖像在進行閾值分割后,可較好地將光斑從背景中分割出來;但是在光照較強的情況下,二值化后的光斑信息部分丟失與背景融為一體,極大地影響了后續(xù)的光斑中心點提取,因此對強光照下光斑中心提取的研究十分必要。
(a) 光照均衡 (b) 強光照
為了解決強光下光斑中心檢測產(chǎn)生誤差這一難題,本文提出了一種基于SSIM的自適應ROI算法,核心是利用結(jié)構(gòu)相似度匹配出強光下的光斑最小外接矩形區(qū)域。強光下光斑中心檢測的總體流程如圖2所示。首先在無光照影響的條件下采集光斑圖像進行二值化處理,將獲取的光斑作為匹配模板保存到預設(shè)文件夾中,其次是采集室外環(huán)境下的光斑圖像并保存到與模板相同的文件夾中,在程序中設(shè)置相應的初始化信息,按照流程圖進行,獲得需要的光斑感興趣區(qū)域,對采集到的最小ROI進行二值化和圓擬合算法處理,記錄光斑中心坐標。
圖2 強光下光斑中心檢測流程圖
人是通過圖像中的結(jié)構(gòu)輪廓識別信息的,SSIM算法(structural similarity index)[8]就是以人眼系統(tǒng)為基礎(chǔ)的,認為兩幅圖像像素間具有結(jié)構(gòu)相似性、有很強的結(jié)構(gòu)相關(guān)性,是一種衡量兩幅圖像相似度的指標。該指標首先由德州大學奧斯丁分校的圖像和視頻工程實驗室(Laboratory for Image and Video Engineering)提出。該算法從亮度、對比度、結(jié)構(gòu)三方面比較兩幅圖像,并度量兩者的相似程度。
SSIM算法框圖如圖3所示。圖像I和O分別代表輸入圖像和輸出圖像,尺寸均為H*W,通過亮度相似度l(I,O)、對比度相似度c(I,O)和結(jié)構(gòu)相似度s(I,O)來計算兩幅圖像的相似度度量SSIM,定義如下:
SSIM(I,O)=l(I,O)·c(I,O)·s(I,O)
(1)
其中,l代表亮度,c代表對比度,s代表結(jié)構(gòu),即:
(2)
(3)
(4)
其中,C1、C2和C3為固定正數(shù),是為了避免分母出現(xiàn)0的情況,通常取C1=(K1*N)2,C2=(K2*N)2,C3=C2/2(K1=0.01,K2=0.03,N=255),μI、μO分別表示圖像I和O的均值,δI、δO分別表示圖像I和O的標準方差,δIO表示圖像I和O的協(xié)方差,即:
(5)
(6)
(7)
(8)
SSIM的取值范圍為[0,1]數(shù)值越大,表示兩幅圖像越相似。
圖3 SSIM實現(xiàn)框圖
SSIM算法常用于圖像的質(zhì)量評價[9],主要依靠采集的圖像雖然部分信息丟失,但總體輪廓變化不大這一特點。本文的光斑檢測通過結(jié)構(gòu)相似度和模板匹配相結(jié)合,將光斑感興趣區(qū)域提取問題轉(zhuǎn)化為強光下光斑失真圖像與暗背景模板間結(jié)構(gòu)相似度問題,匹配得到的最相似區(qū)域即為包含光斑的最小的ROI。
自適應ROI算法是一種高精度、高運算速度的方法,用來獲取強光照背景下的光斑的最小ROI。圖4所示為自適應ROI算法的步驟流程。首先是獲取原始圖像,該圖像要求沒有光照噪聲的影響,對其進行二值化清晰地分離出光斑獲得匹配模板并記錄模板的尺寸。其次是采集實際工況下的光斑,將其與匹配模板進行循環(huán)的結(jié)構(gòu)相似度的測量,記錄最大結(jié)構(gòu)相似度的位置并提取,如圖4c所示,圖中矩形框的尺寸等于匹配模板的尺寸,研究這一包含激光光斑的矩形框區(qū)域以計算光斑中心,這一區(qū)域即為本文所提的自適應ROI。獲得的自適應ROI圖像如圖4d所示,該圖像包含一個沒有強光背景的清晰激光光斑。
(a) 暗背景圖(b) 亮背景圖(c) 匹配結(jié)果(d) ROI圖
其中,光斑ROI提取的理論依據(jù)是:將采集到的光斑圖像與光斑模板圖像進行循環(huán)匹配:在采集的光斑圖像中通過比較其與光斑模板的結(jié)構(gòu)相似度,獲得光斑在圖像中的位置。如圖5所示,設(shè)光斑模板O(r0,c0)大小為w×h,采集的圖I(r1,c1)大小為W×H,將光斑模板疊放在大圖上進行平移,覆蓋大圖的區(qū)域部分與光斑模板做結(jié)構(gòu)相似度計算,得到判斷矩陣R,R中SSIM值越大說明此坐標位置與理想光斑越相似,ROI的提取效果越好。其中判斷矩陣R定義為:
R(r,c)=SSIM[I(r1,c1),O(r0,c0)]
(9)
如果輸入圖像I的大小是(W×H),理想光斑圖像的大小是(w×h),輸出的結(jié)果的R的大小就是(W-w+1,H-h+1)。其中,R為歸一化矩陣,可將尺度變換為[0,255]進行可視化顯示。遍歷R中每一個像素點,找到最大值并得到坐標(rm,cm):
rm,cm=argr,c∈[W-w+1,H-h+1]max[R(r,c)]
(10)
即為待提取ROI的左頂點坐標,選取ROI尺寸得到所需的ROI區(qū)域:
ROI=I[rm:rm+h+1,cm+w+1]
(11)
圖5 匹配算法
其中,匹配算法利用模板在全圖中進行搜索,計算步長不同獲得的精度也就不同。為了提高匹配的精度并提高計算速度,需要根據(jù)SSIM反饋以調(diào)整計算步長,既能夠保證精確度,又能提高運算速度。自適應ROI在計算步長和結(jié)構(gòu)相似度計算之間存在反饋通道,根據(jù)SSIM的結(jié)果對步長進行動態(tài)調(diào)整。
自適應ROI能夠去除圖像中絕大部分不利光照。圖6a所示為強曝光背景下采集的激光光斑圖像,以及采用三種不同閾值對圖像進行分割處理所得二值化光斑圖,由分割結(jié)果可知:直接對強光下的光斑圖像進行處理均不能準確地將激光光斑和背景完全分離。圖6b所示ROI圖像是對圖6a曝光圖進行SSIM匹配后的結(jié)果圖,對結(jié)果圖再次進行上述不同閾值分割處理,由分割圖可知:激光光斑采用自適應ROI算法,將光斑最小外接矩形提取后,能將絕大部分的強光噪聲剔除,采用不同的閾值均能很好地將光斑從背景中分割出來。
(a) 原圖像
以下進一步說明改進算法在計算精度和運算速度方面的優(yōu)勢。光斑圖像直方圖對比如圖7所示。圖7a是圖6a中曝光圖的直方圖,也即強光下采集的光斑原始圖像的直方圖,由圖可知像素值為180~200占的比重很大,并且整幅圖像的像素值幾乎均勻地分布在200~250,沒有明顯的分界線,無明顯的雙峰分布規(guī)律,這就導致采用不同的閾值無法準確將光斑圖像與背景分離。圖7b是圖6b中ROI圖像的直方圖,也即經(jīng)自適應ROI算法處理后光斑圖像的直方圖,可以看出像素值約為220和250時比重很大,像素值約為240時比重很小,即處理后的光斑圖像直方圖具有明顯的雙峰和低谷,十分契合閾值分割的理念,通過選取合適的閾值便可較好的將圖像的前景與背景分離開來。通過直方圖對比可知本文算法能夠適應不同強度光照,提供了精確檢測光斑中心的有效手段。
(a) 原始直方圖 (b) 自適應ROI直方圖
圖8是加入反饋通道后的自適應ROI算法和傳統(tǒng)模板匹配算法的運行時間的對比圖。
圖8 自適應ROI與模板匹配的運算速度對比
由圖可知,傳統(tǒng)匹配算法和本文自適應ROI算法運行時間都會隨圖像尺寸的增大而增加,但是尺寸越大,本文算法的優(yōu)勢愈加明顯。原因在于傳統(tǒng)模板匹配隨圖像尺寸的增加而成倍地增加卷積次數(shù),本文算法根據(jù)SSIM來調(diào)整步長,當SSIM較小時,說明定位區(qū)域較此位置較遠,通過反饋增加步長,達到快速計算的目的;反之SSIM較大時,說明要定位的區(qū)域就在附近,通過減小步長來進行搜索。極大地提高了運算速度。因此從定性與定量的綜合角度上,本文所提出的自適應ROI算法在進行光斑的提取中具有明顯優(yōu)勢。
圖9 光斑中心檢測
前文通過類間方差最大化得到光斑二值圖,清晰地區(qū)分出光斑和背景,此時需要獲取光斑的中心。本文采用圓擬合算法進行檢測,其依據(jù)是:采用最小二乘法的原理(殘差平方和最小)來逼近激光光斑的輪廓[10-11]。此方法計算速度快、精度高,適用于實際工況下的實時檢測系統(tǒng)。圖9是標注在ROI圖像中的檢測結(jié)果,光斑中心坐標為(32,32)。
圖10 實驗設(shè)備 圖11 不同光照條件下的光斑圖像
表1 自適應ROI光斑中心檢測方法誤差
由表1可知,隨著LED光源對光斑的影響增加,圖像的平均像素強度也在增加,當像素強度在230以下時,自適應ROI的方法能夠無誤差地檢測出中心坐標;當像素強度超過230并在240以內(nèi)時,自適應ROI方法出現(xiàn)了測量誤差但保證在0.05%之內(nèi);然而當光源過亮遮擋住光斑,即平均像素強度超過245時已經(jīng)無法檢測光斑中心。這便是本文算法的限制條件,這同樣也是現(xiàn)有算法中無法解決的問題。
在上述限制條件下,又進行了大量實驗,結(jié)果表明自適應ROI方法能夠在不利光照下檢測光斑中心,并能與實際光斑中心保持高度一致,能夠避免實際工況中不利光照引起的較大測量誤差。
在需要激光光斑進行光學檢測系統(tǒng)中,隨著檢測距離和光照強度的增加會給采集到的光斑圖像帶來更多的噪聲干擾,導致檢測結(jié)果出現(xiàn)錯誤。本文在結(jié)構(gòu)相似度的基礎(chǔ)上提出了一種自適應ROI的光斑中心檢測算法,提取到的光斑圖像不易受背景光的影響有利于后續(xù)的圓心檢測。實驗結(jié)果表明,在平均像素強度低于240時,該方法能更好地適應光照影響且計算誤差均在0.05%以內(nèi),具有較高的精度,能夠適用于實際工況下微小位移的測量。