冀振燕, 宋曉軍, 付文杰, 馮其波,3, 吳夢(mèng)丹
(1.北京交通大學(xué) 軟件學(xué)院,北京 100044; 2.北京交通大學(xué) 理學(xué)院,北京 100044;3.東莞市諾麗電子科技有限公司,廣東 東莞 523050)
視覺測(cè)量是工業(yè)檢測(cè)應(yīng)用中熱門的研究領(lǐng)域之一,廣泛應(yīng)用于缺陷檢測(cè)[1]、目標(biāo)追蹤[2]等場(chǎng)景。線結(jié)構(gòu)光具有精度高、抗干擾能力強(qiáng)的優(yōu)點(diǎn),因此以激光為主的線結(jié)構(gòu)光被廣泛運(yùn)用于視覺測(cè)量領(lǐng)域。理想的激光光條橫截面亮度分布滿足高斯模型,因此可以提取出光條橫截面上最亮的像素點(diǎn),這些像素點(diǎn)就構(gòu)成了激光光條的中心線。中心線兼具了激光光條的局部特性和全局特征,在諸如缺陷檢測(cè)等場(chǎng)景中具有核心作用。
如何精準(zhǔn)、完整地提取投射到物體表面的線結(jié)構(gòu)光是視覺測(cè)量的關(guān)鍵問題,而結(jié)構(gòu)光的中心線提取是重中之重。本文主要目的在于回顧并總結(jié)線結(jié)構(gòu)光中心線提取模型的不同種類及其各自的發(fā)展歷程,并對(duì)比分析不同模型的優(yōu)劣,通過對(duì)當(dāng)前模型的分析展望未來的中心線提取發(fā)展的方向和趨勢(shì)。
最早的線結(jié)構(gòu)光中心線提取經(jīng)常采用一階微分邊緣算子(Sobel算子、Kirsch算子、Canny算子等)和二階微分邊緣算子(Log算子、Laplace算子等),但上述基于邊緣信息的中心線提取算法只能提取到光條的兩條邊緣線,而工業(yè)上的測(cè)量精度要求很高,即使將兩條邊緣線的中心作為中心線也無法滿足測(cè)量精度要求。為了實(shí)現(xiàn)高精度的視覺測(cè)量,激光中心線提取算法的研究成為視覺測(cè)量的研究熱點(diǎn)之一。當(dāng)前圖像光條中心線提取算法主要分為兩類:傳統(tǒng)算法和深度學(xué)習(xí)算法。傳統(tǒng)算法提取速度快、原理簡(jiǎn)單,易于實(shí)現(xiàn),但準(zhǔn)確度和穩(wěn)定性差,易受噪聲干擾且適應(yīng)性差。深度學(xué)習(xí)算法具有強(qiáng)大的圖像特征表示學(xué)習(xí)能力、任意的非線性函數(shù)逼近能力、模型參數(shù)由訓(xùn)練樣本直接學(xué)習(xí)無須人為設(shè)置等特點(diǎn),對(duì)于復(fù)雜變化環(huán)境具有魯棒性,適合處理室外復(fù)雜情況下在線采集的輪對(duì)激光光條圖像數(shù)據(jù)。當(dāng)下在不同具體場(chǎng)景和采集條件下,激光光條圖像數(shù)據(jù)在噪聲和圖像質(zhì)量等方面對(duì)模型提出了不同的需求,因此模型的泛化性和適應(yīng)性是領(lǐng)域內(nèi)最核心的考量性能之一;此外,光條的中心線提取往往在實(shí)際場(chǎng)景中與嵌入式設(shè)備相結(jié)合,因此模型壓縮和實(shí)時(shí)性是另一個(gè)核心的考量性能。
激光光條中心線提取的效果直接影響到后續(xù)故障檢測(cè)等領(lǐng)域的精度,是視覺測(cè)量任務(wù)的基石;并且中心線提取的場(chǎng)景復(fù)雜、噪聲條件多,在泛化性等性能上對(duì)模型有很高的要求。因此該任務(wù)具有很好的實(shí)踐意義和研究?jī)r(jià)值。下面將分別分析傳統(tǒng)的光條中心線提取算法和基于深度學(xué)習(xí)的中心線提取算法。
傳統(tǒng)的光條中心線算法主要可分為極值法、灰度重心法、曲線擬合法(高斯曲線擬合、基于粗定位的曲線擬合)和基于Hessian矩陣的Steger算法。
極值法對(duì)于灰度分布滿足理想高斯分布的光條具有非常好的效果。光條局部的橫截面上亮度的分布近似滿足高斯分布,極值法的基本原理在于從光條局部橫截面上尋找亮度分布的極大值作為中心點(diǎn)。該方法思路簡(jiǎn)潔,計(jì)算速度很快,但是非常容易受到圖像背景噪聲的影響,因此圖像信噪比大時(shí)效果欠佳。為了克服極值法易受噪聲影響的缺點(diǎn),楊雪嬌等[3]提出一種基于極值法的中心提取算法。該方法首先對(duì)極值法獲取的中心點(diǎn)進(jìn)行擬合,并計(jì)算出光條的法線方向,在法線方向上用遺傳算法[4]精確獲取灰度極值點(diǎn),即光條中心。該算法在合適的遺傳算法交叉率和變異率條件下可以獲取更高精度的光條中心。
除了對(duì)算法自身進(jìn)行優(yōu)化,極值法經(jīng)常與其他中心線提取算法結(jié)合使用,利用其他算法的算法優(yōu)勢(shì)彌補(bǔ)極值法的不足。Huang等[5]提出了一種結(jié)合閾值迭代極值法與加權(quán)灰度重心法的提取算法,該算法具有較高的提取效率,并且在不同物體的掃描和測(cè)量上具有廣泛的適用性和可行性。梅峻華等[6]融合了極值法與灰度重心法,增強(qiáng)光條中心灰度對(duì)比度,利用極值法找出每一行的灰度極大值;該方法提取光條中心速度快,與灰度重心法結(jié)合,精度也有所提高。程鑫等[7]將極值法和Hessian矩陣方法相結(jié)合,將膠條激光條圖像線性增強(qiáng)后利用極值法對(duì)條紋中心初步提取,結(jié)合Hessian矩陣提取光條中心坐標(biāo),在保證計(jì)算速度的同時(shí)增強(qiáng)其抗干擾性,實(shí)現(xiàn)光條中心定位。
灰度重心法是一種針對(duì)亮度分布不均勻的光條而提出的算法。該算法基本原理是按照目標(biāo)區(qū)域的光強(qiáng)分布計(jì)算每列橫截面上的光強(qiáng)權(quán)重質(zhì)心坐標(biāo)作為中心點(diǎn)。以尺寸為W×H的圖像為例,每列橫截面上的亮度分布如圖1所示。
圖1 灰度重心法示意圖
所有灰度值超過重心閾值的像素點(diǎn)(包括極大值點(diǎn))皆參與灰度重心的計(jì)算處理,具體的計(jì)算公式如下:
(1)
式中,j為每列的像素點(diǎn)位置(1 不均勻的反射金屬表面對(duì)結(jié)構(gòu)光中心提取的高測(cè)量精度有很大的影響,并且傳統(tǒng)灰度重心法是以縱向/橫向替代光條橫截面執(zhí)行處理過程的。通過分析其表面激光散射和反射模型,Wang等[8]提出了一種具有魯棒性較強(qiáng)的光條中心線提取方法。該方法首先利用差分圖像和區(qū)域增長(zhǎng)減少了不均勻背景和斑點(diǎn)噪聲的影響。噪聲去除后,采用灰度重心法獲取激光條紋的初始中心。Sobel 算子獲取初始光條的法線方向并二次使用灰度重心法確定光條的中心位置,最終利用雙線性插值獲得亞像素坐標(biāo)。該算法能有效消除閃點(diǎn)噪聲的干擾,具有很強(qiáng)的魯棒性。李春明等[9]提出了一種基于均方灰度梯度法的快速中心提取算法。該算法首先用邊緣算子獲取光條邊緣,之后采用均方灰度梯度獲取光條法線方向,最終在法線方向上采用灰度重心法提取中心線。該算法在環(huán)境干擾強(qiáng)、提取不均勻的光條圖像上能實(shí)現(xiàn)亞像素精度。Xi等[10]設(shè)計(jì)了一種卷積模板,通過兩步卷積過程消除光條噪聲,并采取中值濾波器消除背景的隨機(jī)噪聲。消除噪聲后,計(jì)算出光條每個(gè)位置的法線方程并在法線上用灰度重心法計(jì)算亞像素級(jí)別的中心點(diǎn)。熊會(huì)元等[11-12]提出一種基于灰度梯度算法的中心線提取算法。該算法首先通過梯度算子計(jì)算光條上的梯度矢量[Gx,Gy]T,其公式如下: (2) 式中,f(i,j)為光條像素點(diǎn)(i,j)鄰域內(nèi)的灰度值。然后在法線方向上通過灰度重心法提取光條中心線。該算法精確度和穩(wěn)定性較高,且效率較高,適用于在線提取。上述方法[8-12]有效地彌補(bǔ)了傳統(tǒng)灰度重心法不能處理光條法線方向和方向模板法只能獲得光條近似法線方向的不足。 除此之外,許多學(xué)者針對(duì)灰度重心法探索了優(yōu)化策略。王文成等[13]提出了一種改進(jìn)的灰度重心法,不同于傳統(tǒng)方法直接加權(quán)的方式,該算法通過平方加權(quán)的方式增強(qiáng)灰度值大的點(diǎn)對(duì)所求光條中心的影響,使測(cè)量的精度得到提高。Li等[14]提出一種基于移動(dòng)最小二乘法(Moving Least Square,MLS)的灰度重心法。MLS可以獲取局部光條上的法線方向、切線方向和曲率,基于這些信息可以得到一個(gè)矩形區(qū)域,優(yōu)化后的中心點(diǎn)通過在該矩形區(qū)域內(nèi)重新計(jì)算獲得。并采用蒙特卡洛方法對(duì)比所提出算法與傳統(tǒng)灰度重心法的中心不確定性,證明優(yōu)化后的算法比原算法魯棒性更好。張小艷等[15]提出了改進(jìn)的灰度重心法,首先對(duì)得到的光帶進(jìn)行自適應(yīng)二值化處理,該方法降低了激光光帶寬度不均勻?qū)μ崛〗Y(jié)果的影響,提取精度較高,但是該方法仍然無法解決高頻噪聲干擾問題。陳波等[16]提出了一種通過消除條紋灰度退化項(xiàng)的灰度調(diào)整方法,在消除條紋橫截面上的灰度突變時(shí),解決了復(fù)雜物體圖像中因?yàn)榱炼忍投鸬臈l紋中心局部斷線問題。甘宏等[17]提出了改進(jìn)的灰度權(quán)重模型,用于在復(fù)雜背景和噪聲的干擾下進(jìn)行條紋提取。先使用雙濾波對(duì)圖像進(jìn)行預(yù)處理,然后采用改進(jìn)的灰度權(quán)重模型進(jìn)行光條紋提取。該算法具有較高的抗噪性和魯棒性,計(jì)算量也會(huì)隨著模型復(fù)雜度的提升而提升。 Wu等[18]提出了一種三線結(jié)構(gòu)光帶中心的亞像素提取方法,結(jié)合均方灰度梯度法和灰度重心法進(jìn)行球面測(cè)量,該算法速度快、精度高,且達(dá)到了亞像素級(jí)別,測(cè)量穩(wěn)定性強(qiáng)。王勝春等[19]首先利用基于ENet深度學(xué)習(xí)模型來對(duì)光條紋的區(qū)段進(jìn)行分割,然后利用灰度重心法進(jìn)行光條紋中心的亞像素坐標(biāo)提取。該方法提取速度快、抗干擾能力強(qiáng),解決了噪聲問題,但是該算法在處理形狀復(fù)雜、寬度變化的光條紋時(shí)效果不理想。 曲線擬合法的核心原理在于采用多項(xiàng)式曲線來擬合已有的光條,從而用擬合的多項(xiàng)式代替原光條。具體的曲線擬合法主要有兩種思路。 1.3.1 高斯曲線擬合 高斯曲線擬合的主要原理是采用理想的高斯函數(shù)去擬合光條橫截面的實(shí)際光強(qiáng)分布,從而用高斯二項(xiàng)式曲線代替原來的光強(qiáng)分布曲線。 理想光條的橫截面光強(qiáng)分布可以表示為 (3) 式中,yi為橫截面上的灰度值;x0為高斯中心。將式(2)兩邊同時(shí)取對(duì)數(shù)得到: (4) F=a0+a1x+a2x2 (5) 式(4)即為要擬合的曲線,具體擬合過程采用最小二乘法求解,具體如下: (6) 式中,ε2為誤差值;N為橫截面上像素個(gè)數(shù);Ti為像素實(shí)際的灰度值。最終計(jì)算得出參數(shù)a0,a1,a2,即確定了擬合的二項(xiàng)式曲線。 為了證實(shí)高斯曲線擬合的實(shí)用性,劉枝梅等[20]分別使用形態(tài)學(xué)細(xì)化以及高斯曲線擬合對(duì)光條進(jìn)行中心線提取并進(jìn)行對(duì)比。雖然高斯曲線擬合的實(shí)現(xiàn)較為復(fù)雜,但實(shí)驗(yàn)表明高斯曲線擬合在中心線提取的精度上有明顯優(yōu)勢(shì)。 Fasogbon等[21]提出了基于高斯模板的中心提取算法。該算法首先通過預(yù)處理獲取ROI(Region of Interest)區(qū)域,后采用高斯模板對(duì)光條區(qū)域進(jìn)行濾波,削弱光條橫截面上光強(qiáng)分布的不規(guī)則性,最后對(duì)比了3種中心提取算法——高斯擬合、線性擬合和灰度重心。對(duì)比實(shí)驗(yàn)證明高斯曲線擬合的效果最優(yōu)。Liu等[22]利用歸一化相關(guān)系數(shù)(Normalized Correlation Coefficient,NCC)對(duì)圖像中的光條區(qū)域進(jìn)行定位,并引入圖像金字塔概念來加速定位和模板匹配。光條區(qū)域確定后,通過對(duì)目標(biāo)區(qū)域的圖像樣本數(shù)據(jù)進(jìn)行主成分分析(Principal Component Analysis,PCA)得到法線方向,并通過高斯曲線擬合獲取最終的光條中心線。該算法明顯優(yōu)化了提取速度,為了使高斯曲線擬合更加靈活,該算法對(duì)光條寬度相對(duì)不敏感。高世一等[23]提出了變邊限高斯曲線擬合算法。該算法首先結(jié)合極值法和邊緣取中法,獲得光條的近似像素中心位置后對(duì)圖像二值化,確定光條各列的寬度,然后根據(jù)每列元素寬度值和近似中心位置確定恰當(dāng)?shù)臄M合范圍,最后采用高斯曲線擬合求得亞像素級(jí)的光條中心位置。由于每一列的擬合數(shù)據(jù)隨著激光條紋寬度變化而變化,提取寬度不同的激光光條效果很好,具有亞像素級(jí)的精度和較高的魯棒性。 真實(shí)的光條光強(qiáng)分布往往不是理想的高斯模型,其中包含了分布各異的噪聲。真實(shí)的光強(qiáng)分布H(x)與高斯模型G(x)、噪聲分布模型Z(x)之間的關(guān)系如下: H(x)=G(x)+Z(x),x∈P (7) 式中,x為像素點(diǎn);P為光條區(qū)域。 許多研究探索了不同條件下的噪聲模型的處理方案。劉巍等[24]提出了一種新的中心線提取模型。該模型能反映真實(shí)的光條光強(qiáng)分布情況,并且能夠高精度地?cái)M合單峰/雙峰/三峰模式的光強(qiáng)分布。該模型首先使用均值濾波去除散斑噪聲,后利用最大類間方差法(OTSU)對(duì)光條位置進(jìn)行粗定位,最后利用高斯混合模型提取亞像素級(jí)別的中心線。該方法適用于非高斯非對(duì)稱分布的光條。吳慶華等[25]提出了雙頻曲線擬合的亞像素中心提取法。該方法通過在法線方向上進(jìn)行雙頻曲線擬合獲取條紋中心的亞像素坐標(biāo)。該方法精度比高斯曲線擬合法高,速度比Steger方法快,且能消除部分高頻噪聲的干擾。類似于Liu提出的高斯混合模型,李濤濤等[26]提出了一種結(jié)合高斯分量和洛倫茲分量的中心線提取算法。該算法中高斯分量擬合理想光條分布,洛倫茲分量擬合因漫反射、鏡面反射導(dǎo)致的圖像噪聲,因此該算法可以描述更為實(shí)際的光條光強(qiáng)分布。該算法對(duì)不同質(zhì)量的光條圖像適用性強(qiáng)、精確度高,但耗時(shí)較長(zhǎng)。 1.3.2 基于粗定位的曲線擬合 與高斯曲線擬合不同,基于粗定位的曲線擬合不是在法線方向上擬合光條光強(qiáng),該算法的原理是在初始粗略定位光條中心的基礎(chǔ)上對(duì)光條中心線進(jìn)行二項(xiàng)式曲線擬合,從而使中心線更加光滑。 針對(duì)已有中心線提取算法在抗干擾能力、魯棒性和計(jì)算量上的不兼容性,劉振等[27]提出了一種基于互相關(guān)算法的中心線提取算法。該算法在梯度閾值分割的基礎(chǔ)上確定互相關(guān)系數(shù),將加權(quán)的互相關(guān)系數(shù)與灰度值進(jìn)行互相關(guān)運(yùn)算,最終互相關(guān)極大值對(duì)應(yīng)的點(diǎn)即為初始中心線上的點(diǎn)。初始定位中心線后采用曲線擬合方法精確定位?;ハ嚓P(guān)算法在魯棒性、簡(jiǎn)潔性、抗干擾性上都有很好的表現(xiàn),且具有修補(bǔ)斷線的能力。 江永付等[28]提出了一種基于曲線擬合的線結(jié)構(gòu)光光條中心的亞像素提取方法,該方法改善了提取出的光條存在折線缺陷的問題,但是只能達(dá)到像素級(jí)別的提取精度。 為了克服真實(shí)的光強(qiáng)分布不均勻的問題,穩(wěn)定有效地提取光條區(qū)域的中心線,Sun等[29-30]提出了一種基于灰度矩算法的中心提取方法。首先基于均勻分布,構(gòu)建了理想條件下的一維光強(qiáng)模型;然后根據(jù)Legendre矩守恒定律導(dǎo)出從激光條紋到每個(gè)橫截面提取中心的封閉式解;然后采用Reinsch樣條算法擬合得到離散中心點(diǎn)。Reinsch樣條可以消除噪聲點(diǎn)并保持中心線的原始特征。該方法在不同程度的椒鹽噪聲/斑點(diǎn)噪聲中能保持很高的魯棒性。Yin等[31]根據(jù)激光光條的幾何信息和相關(guān)性定義了自適應(yīng)的卷積模板用于對(duì)夾帶噪聲的光條進(jìn)行濾波處理。此外,為了擬合出連續(xù)光滑的光條中心線,采用立方Hermite樣條對(duì)提取到的中心點(diǎn)進(jìn)行分段擬合。該方法可以顯著消除工業(yè)環(huán)境中的噪聲。 Steger算法是由Steger[32-33]最先提出的中心線提取算法。該算法的核心特征是利用Hessian矩陣得到光條的法線方向,在光條圖像中,Hessian矩陣H(x,y)可表示為 (8) 式中,g(x,y)為二維高斯函數(shù);z(x,y)為光條圖像;rxx為x方向的二階導(dǎo)數(shù);ryy為y方向上的二階導(dǎo)數(shù);rxy為二階混合方向?qū)?shù)。圖像中點(diǎn)的法線方向由該點(diǎn)的Hessian矩陣最大特征值的絕對(duì)值對(duì)應(yīng)的特征向量給出,通過在法線方向上求極值點(diǎn)得到光條紋中心的亞像素位置。該算法具有精度高、魯棒性好等優(yōu)點(diǎn),缺點(diǎn)是運(yùn)算量大、難以實(shí)現(xiàn)光條紋中心的快速提取。 Steger算法計(jì)算效率較低,因此大量研究著力于優(yōu)化該算法以提升計(jì)算速度。胡坤等[34]以Steger算法為基礎(chǔ),利用高斯卷積的可分離性將原來單點(diǎn)上5次大模板的二維高斯卷積轉(zhuǎn)換成8次一維卷積,并且在遞歸高斯濾波算法基礎(chǔ)上實(shí)現(xiàn)Hessian矩陣快速計(jì)算,從而使獲得光條中心線的速度大幅提升。周富強(qiáng)等[35]為進(jìn)一步減少計(jì)算量對(duì)Hu等的模型進(jìn)行了優(yōu)化,提出了一種將光條處理限制在ROI區(qū)域中的激光條紋中心提取方法。該算法在計(jì)算Hessian矩陣前對(duì)光條圖像進(jìn)行區(qū)域分割的預(yù)處理并得到光條前景區(qū)域,使得計(jì)算量進(jìn)一步壓縮。因?yàn)镾teger算法里有大量大規(guī)模的卷積運(yùn)算,算法執(zhí)行指令的實(shí)現(xiàn)采用時(shí)鐘順序在實(shí)時(shí)性上仍有不足,因此江潔等[36]在算法實(shí)現(xiàn)上對(duì)Hu等的模型進(jìn)行了優(yōu)化,在其算法基礎(chǔ)上采用大規(guī)模并行算法和串行流水技術(shù),提出了一種串并結(jié)合的處理結(jié)構(gòu)。該模型成為一種突破速度瓶頸的有效方法。 為進(jìn)一步提高光條重心的提取速度,蔡懷宇等[37]提出了一種基于PCA的中心線提取算法。該算法用PCA法替代Hessian矩陣獲取光條的法線方向,與Hessian矩陣相比,PCA只需要進(jìn)行兩次高斯卷積,明顯減少了計(jì)算時(shí)間。并且在PCA處理前對(duì)光條進(jìn)行ROI分割預(yù)處理,從而進(jìn)一步減少了待處理的圖像區(qū)域面積。與傳統(tǒng)Steger算法相比,該算法的速度提高了近3倍。楊尉[38]將脊線跟蹤法與Hessian矩陣法相結(jié)合,提出了一種新的光條中心提取方法。首先,選擇一個(gè)可靠的初步跟蹤點(diǎn);然后,用Hessian矩陣求該點(diǎn)法線方向上的亞像素光條中心,對(duì)所求亞像素光條中心點(diǎn)的坐標(biāo)取整,得到當(dāng)前中心跟蹤點(diǎn),再用Hessian矩陣求得當(dāng)前中心跟蹤點(diǎn)的切線,將當(dāng)前中心跟蹤點(diǎn)在其切線方向上按一個(gè)像素的步長(zhǎng)延伸并取整,得到下一個(gè)初步跟蹤點(diǎn),重復(fù)以上步驟,即可求得光條圖像中所有光條中心點(diǎn)。該方法只對(duì)結(jié)構(gòu)光光條脊線附近的點(diǎn)進(jìn)行運(yùn)算,極大地減少了光條中心提取的冗余計(jì)算。 工業(yè)環(huán)境中視覺測(cè)量的光條存在高動(dòng)態(tài)、低信噪比的特性,嚴(yán)重影響光條的提取精度和測(cè)量的可靠性。因此,Pan等[39]提出了一種高動(dòng)態(tài)圖像的亮度增強(qiáng)算法,采用理論增強(qiáng)低亮度光條區(qū)域的亮度,使橫截面上的灰度值接近理想高斯分布。此外,為了排除亮度差異對(duì)光條分割的不利影響,利用光條反射率對(duì)其進(jìn)行分割,最后采用Steger算法提取光條中心線。該算法使得系統(tǒng)具有很好的魯棒性。在提取速度上,采用多線程流加速和序列化輸出保證實(shí)時(shí)性。 不同于傳統(tǒng)算法在單個(gè)圖像上的光條中心提取,Xu等[40]提出了一種移動(dòng)光條的追蹤中心提取算法。采用卡爾曼濾波算法建立了移動(dòng)光條的追蹤模型,并采取Sigmoid-Gaussian函數(shù)和Hessian矩陣提取中心線。其對(duì)比實(shí)驗(yàn)表明,基于卡爾曼追蹤模型的光條中心提取比單圖像中心提取效率高。 傳統(tǒng)的Steger算法參數(shù)是固定的,缺少應(yīng)對(duì)不同局部光條特性的泛化性。因此南方等[41]提出了一種基于Steger的自適應(yīng)提取算法。該算法利用自適應(yīng)閾值法求出ROI,后通過隨機(jī)霍夫變換得到區(qū)域的邊緣,利用法線計(jì)算局部寬度,并根據(jù)寬度分割光條區(qū)域,設(shè)定不同Steger參數(shù)。該算法與骨架細(xì)化法和傳統(tǒng)Steger算法相比,其精度和穩(wěn)定性得到了提高。此外,為了克服變化的背景光和豐富的物體表面紋理問題,Hu等[42]提出一種基于自適應(yīng)閾值功率變換的中心提取算法。該算法采用基于動(dòng)態(tài)閾值的功率變換增強(qiáng)光條對(duì)比度,進(jìn)一步區(qū)分前景和背景信息;采用動(dòng)態(tài)閾值下的Canny算子進(jìn)行光條邊緣檢測(cè),并采用Steger算法提取最終的光條中心。該算法有較快的提取速度,適合工業(yè)上的實(shí)時(shí)提取。劉劍等[43]提出了一種基于Hessian矩陣與區(qū)域增長(zhǎng)的激光條紋中心提取方法。該算法采用自適應(yīng)閾值法提取圖像的ROI,利用極大值法確定像素級(jí)條紋中心的初始位置,最后利用Hessian矩陣求取到初始點(diǎn)法線方向上的亞像素級(jí)光條中心點(diǎn)。該方法能夠精確地提取條紋中心,但是對(duì)光學(xué)性質(zhì)較強(qiáng)的物體表面不敏感。程鑫等[7]利用Hessian矩陣對(duì)激光條中心進(jìn)行初始定位,再使用高斯函數(shù)擬合出激光條紋的中心。該算法解決了黑色膠條的光條提取速度慢、魯棒性差的缺點(diǎn)。 方向模板法最早由胡斌等[44]提出。結(jié)構(gòu)光條紋的形狀和方向隨著投射物體表面的不同而變化。但在小尺度下,光條形狀可以分為4種:豎直方向、水平方向、右斜上45°方向和左斜上45°方向。4個(gè)基本方向模板示意圖如圖2所示。大尺度下的光條可以微分為大量的上述小尺度模板,從而簡(jiǎn)化了大尺度下的光條分析。該算法的核心原理是用4個(gè)基本方向的局部光條模板近似擬合待處理光條圖像,有一定的抗白噪聲能力和斷線修復(fù)能力。 圖2 4種方向的方向模板示意圖 為了充分發(fā)揮各提取算法在中心線提取上的優(yōu)勢(shì),大量研究將方向模板法與其他算法相結(jié)合進(jìn)行中心提取的任務(wù)。雷海軍等[45]基于閾值法和方向模板提出了一種提取光條中心算法,該算法首先計(jì)算光條圖像的灰度閾值并通過橫截面上像素點(diǎn)的灰度鄰域?qū)傩杂?jì)算初始中心點(diǎn),然后采用可變方向模板法精準(zhǔn)提取激光條紋中心。該算法具有較快的提取速度和較強(qiáng)的穩(wěn)定性,抗干擾能力較強(qiáng)并且具有一定的斷線修補(bǔ)能力。吳慶陽(yáng)等[46]提出了一種基于可變方向模板法和灰度重心法的光條中心提取方法,該方法統(tǒng)計(jì)完整光條圖像的灰度值,利用OTSU計(jì)算圖像閾值并對(duì)圖像進(jìn)行二值化處理。在細(xì)化和剪枝得到的光條骨架基礎(chǔ)上,利用可變方向模板法判斷局部光條的法線方向并采用灰度重心法求出光條中心。該算法相較于灰度重心法有更好的精確度和適應(yīng)性。趙廣杰等[47]將吳慶陽(yáng)等提出的方法進(jìn)行了改進(jìn),用高斯函數(shù)計(jì)算方向模板。該方法有很好的抗噪聲干擾能力,與高斯曲線擬合方法相比,在光條曲率變化時(shí)更具優(yōu)勢(shì)。 為了克服因外界光線等因素導(dǎo)致的光條紋寬度不均勻的問題,王澤浩等[48]提出了自適應(yīng)方向模板線結(jié)構(gòu)光條紋中心提取方法。該算法可以在光條紋不均勻的情況下通過預(yù)處理實(shí)現(xiàn)很好的自適應(yīng),然后進(jìn)行中心線提取。在此基礎(chǔ)上,還探討了不同的方向模板尺寸以及產(chǎn)生模板的高斯分布方差對(duì)自適應(yīng)方向模板法提取的精度影響。 目前,光條中心提取模型在深度學(xué)習(xí)領(lǐng)域還處于起步階段。但是,深度學(xué)習(xí)具有強(qiáng)大的學(xué)習(xí)能力,可以更好地解決傳統(tǒng)算法面臨的受復(fù)雜環(huán)境噪聲影響的問題,具有較強(qiáng)的適應(yīng)性;并且深度模型的執(zhí)行效率相較于大部分傳統(tǒng)算法有優(yōu)勢(shì);此外,深度模型在圖像分割領(lǐng)域較為成熟,可以作為光條中心提取的光條區(qū)域預(yù)分割模型。因此,深度學(xué)習(xí)是光條中心提取發(fā)展的一大方向。深度學(xué)習(xí)的原理和流程如圖3所示。深度學(xué)習(xí)的核心原理是利用已有數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò)的模型參數(shù),達(dá)到網(wǎng)絡(luò)學(xué)習(xí)的目的,進(jìn)而用學(xué)習(xí)好的網(wǎng)絡(luò)對(duì)新數(shù)據(jù)進(jìn)行處理。具體來說,首先要根據(jù)任務(wù)的目的設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù),進(jìn)而采用合適的框架構(gòu)建完整網(wǎng)絡(luò);構(gòu)建之后需要對(duì)訓(xùn)練的參數(shù)進(jìn)行設(shè)定,并且對(duì)訓(xùn)練的數(shù)據(jù)進(jìn)行預(yù)處理,最終輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練;訓(xùn)練結(jié)束后需要對(duì)訓(xùn)練結(jié)果進(jìn)行測(cè)試,進(jìn)而找到問題不斷優(yōu)化模型,最終確定模型。 圖3 深度學(xué)習(xí)模型從設(shè)計(jì)到最終確定的完整流程圖 李玥華等[49]將光條區(qū)域細(xì)化為光條橫截面的集合,利用灰度重心法粗略計(jì)算每列光條橫截面所屬區(qū)域。將該區(qū)域像素輸入到經(jīng)過訓(xùn)練的3層BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network,BPNN),輸出對(duì)應(yīng)的亞像素中心坐標(biāo)。BPNN利用優(yōu)化后的Steger算子提取的中心線作為監(jiān)督信息,提取精度比Steger算法更高,最重要的是在效率上能達(dá)到Steger算法的300多倍。郭雁蓉等[50]采用主流的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)提取光條中心,提出兩段式的編碼-解碼CNN,第一段網(wǎng)絡(luò)負(fù)責(zé)光條的目標(biāo)檢測(cè),第二段網(wǎng)絡(luò)負(fù)責(zé)中心線提取。該網(wǎng)絡(luò)能夠解決提取中心線斷裂的問題,并且相對(duì)于灰度重心法,Hessian矩陣法有較明顯的速度優(yōu)勢(shì)。 傳統(tǒng)的中心線提取算法主要包括極值法、灰度重心法、曲線擬合法、基于Hessian矩陣的Steger算法和可變方向模板法;基于深度學(xué)習(xí)的中心線提取算法近些年也開始被發(fā)掘和研究。不同的算法各有利弊,在實(shí)際場(chǎng)景中多結(jié)合多種算法進(jìn)行綜合提取。表1展示了不同算法在中心線提取上的優(yōu)缺點(diǎn)。 表1 光條中心線提取算法優(yōu)缺點(diǎn)對(duì)比 實(shí)際場(chǎng)景中的激光光條中心提取易受許多環(huán)境因素產(chǎn)生的問題(如截面亮度分布不均、光條寬度分布不均等)影響。單一的模型難以克服光條中心提取所存在的所有問題,往往只能克服其中某些問題。表2總結(jié)了主要的算法模型可以克服的光條中心線提取問題。 表2 解決光條中心線提取問題的主要方法 當(dāng)下的中心線提取算法多是傳統(tǒng)算法,傳統(tǒng)的光條中心線提取算法主要存在以下兩個(gè)問題。 ① 適應(yīng)性不足。由于光條提取處于室外環(huán)境,存在不同強(qiáng)度的外界環(huán)境光,以及投射激光的物體表面紋理各式各樣,會(huì)導(dǎo)致采集的光條圖像包含類型各異的問題,如亮度分布不均勻、背景噪聲等。多數(shù)算法只能解決其中一個(gè)或多個(gè)問題,而不能適用于各種情況下的光條中心線提取。 ② 實(shí)時(shí)性不足。光條中心線提取算法中,極值法和灰度重心法相對(duì)提取時(shí)間較短,但是因其算法簡(jiǎn)單,且相對(duì)更依賴于光條的截面光強(qiáng)分布理想化,因此適應(yīng)性不如其他算法;其他算法提取效率低于極值法和灰度重心法。 因此,未來的光條中心線提取應(yīng)該逐漸轉(zhuǎn)向深度學(xué)習(xí)領(lǐng)域,因?yàn)樯疃葘W(xué)習(xí)具有強(qiáng)大的自適應(yīng)的圖像特征表示學(xué)習(xí)能力、任意的非線性函數(shù)逼近能力、模型參數(shù)由訓(xùn)練樣本直接學(xué)習(xí)無須人為設(shè)置等特點(diǎn),且CNN測(cè)試階段無須迭代計(jì)算,大部分為矩陣運(yùn)算,計(jì)算效率高,采用深度學(xué)習(xí)將提升中心線提取的實(shí)時(shí)性和適應(yīng)性。 本文總結(jié)了激光光條中心線提取領(lǐng)域的算法發(fā)展現(xiàn)狀,將中心線提取算法分為傳統(tǒng)提取算法和基于深度學(xué)習(xí)的提取算法,分別對(duì)極值算法、灰度重心算法、曲線擬合算法、基于Hessian矩陣的Steger算法、可變方向模板算法和基于深度學(xué)習(xí)的提取算法進(jìn)行了闡述,并從優(yōu)缺點(diǎn)和所解決的問題角度對(duì)算法進(jìn)行了分析對(duì)比。不同類型的傳統(tǒng)算法基于不同的場(chǎng)景要求和噪聲條件對(duì)光條進(jìn)行中心線提取,但是較少有傳統(tǒng)算法能夠滿足大部分實(shí)際環(huán)境的要求。通過綜合對(duì)比分析,傳統(tǒng)提取算法在適應(yīng)性和實(shí)時(shí)性方面相較于深度學(xué)習(xí)算法均有明顯不足。因此,未來激光光條中心線提取的研究方向更應(yīng)集中在高效且泛化的深度學(xué)習(xí)領(lǐng)域。1.3 曲線擬合法
1.4 基于Hessian矩陣的Steger算法
1.5 可變方向模板法
2 基于深度學(xué)習(xí)的光條中心提取算法
3 算法總結(jié)與對(duì)比
4 結(jié)束語(yǔ)