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