?

復雜背景下的結構光條紋中心提取算法研究

2024-04-29 08:27高秋玲成巍李文龍戈海龍侯興強宋汝暉魏佳潔賈天爍蔡馨燕
山東科學 2024年2期
關鍵詞:最短路徑

高秋玲 成巍 李文龍 戈海龍 侯興強 宋汝暉 魏佳潔 賈天爍 蔡馨燕

摘要:線結構光三維掃描建模系統中最關鍵的一步是提取光條中心線,但環境中各種因素的干擾給中心線提取帶來困難。針對線結構光條紋圖像存在光斑干擾、光強分布不均、光條寬度差別大、背景復雜等多種問題,提出解決方案。首先采用Otsu對結構光圖像二值化;其次采用改進DBSCAN(density-based spatial clustering of applications with noise)算法保留核心點,去除邊界點和噪聲點;最后將核心點作為輸入,構建圖數據結構,采用適用于線結構光條紋圖像的最短路徑搜索算法得到光條中心線。實驗結果表明,該算法運行時間在150 ms以內,誤差在0.2 像素以內,并適用于多種復雜環境,滿足實時性、準確性和穩定性的要求。

關鍵詞:復雜背景;線結構光;中心線提??;DBSCAN算法;最短路徑

中圖分類號:TN249?? 文獻標志碼:A?? 文章編號:1002-4026(2024)02-0065-09

Centerline extraction algorithm of structured light streak

in a complex background

Abstract∶The most critical step in a line-structured light three-dimensional scan modeling system is to extract the centerline of the light stripe, but the interference of various environmental factors makes this extraction difficult. Several problems exists in a line-structured light streak image issues such as light spot interference, uneven distribution of light intensity, large differences in the width of the light bars, and complex background. This paper proposed a solution to overcome these problems. First, the structured light image is binarized using the Otsu method. Then, the improved density-based spatial clustering of applications with nose (DBSCAN) algorithm is used to retain the core points and remove the boundary and noise points. Finally, the core points are used as inputs to construct the graph data structure, and the shortest path search algorithm that fits the line-structured light streak image is used to obtain the center-line of the light streak. The experimental results show that the algorithm of this paper runs within 150 ms and the error is within 0.2 pixels. Moreover, this algorithm is applicable to various complex environments, meeting the requirements of real-time calculations, accuracy, and stability.

Key words∶complex background; line-structured light; centerline extraction; DBSCAN algorithm; shortest path

基于單目線結構光的三維掃描建模系統結構簡單、制造費用低、滿足實時建模的需求,采用合適的算法可以在多種環境下達到較高的建模精度,因此被廣泛應用于各種工業加工中的建模場景[1]。在建模過程中,提取光條紋中心線是關鍵,它決定著圖像二維坐標到真實世界三維坐標轉換的輸入,因此需要提高線結構光條紋中心提取算法的實時性、準確性和穩定性[2]。

傳統的結構光條紋中心提取算法主要分為基于幾何中心、基于能量中心和基于光條方向中心三大類[3]?;趲缀沃行氖且杂嬎愕玫降墓鈼l的幾何中心作為中心線,包括邊緣法、細化法和幾何中心法[4],這類算法速度快、但易受噪聲影響?;谀芰恐行膭t是依據光條的灰度分布特性進行光條紋中心提取,包括極值法、曲線擬合法和灰度重心法[4],這類算法在光條紋灰度滿足高斯分布時提取效果較好,同時易受噪聲干擾?;诠鈼l方向中心在提取中心時考慮光條紋的方向性,包括Steger法和方向模板法[4],這類算法精度較高,但是計算量大,速度慢,且對光條質量有較高的要求。

在實際工業應用中,由于設備采集和傳輸存在噪聲、環境光照不均勻、工件表面復雜等原因[5],致使采集到的結構光條紋圖像中包含復雜背景,難以提取出有效的光條中心,進而增大建模誤差。經典的結構光條紋中心提取算法無法區分出圖像上的光條和干擾因素,會將干擾因素當作光條一并處理,從而造成較大誤差,因此無法滿足存在復雜背景的情形。為此,一些學者針對特定情況提出改進思路,在一定程度上克服了干擾因素的影響。郭宏陽等[6]利用高斯混合模型法分割強光干擾下的焊縫圖像,得到圖像中的高亮區域,之后采用面積過濾和形態學閉操作消除背景噪聲干擾,但是該方法穩定性差;周淵等[7]使用密度聚類算法對激光條紋像素點分類,接著采用拓撲排序算法獲得激光條紋中心線,能在光斑干擾下有效提取激光條紋中心線,但是當激光條紋傾斜且較粗時,精度大大下降;章秀華等[8]采用紅外線結構光投射在礦石表面,能夠有效避免太陽輻射對礦石表面結構光成像的干擾,并提出鄰域累積差分特征分析方法,通過快速定位光條邊界點來提取結構光光條中心,依賴于光條邊界定位是否準確;差分法[9]也是常用的去除圖像背景信息的方式,將投射激光前后的圖像作差得到僅包含激光條紋的圖像,但是在動態光照環境下或者被測物體處于運動狀態時,此方法得到的圖像仍含有背景信息。方夏章等[10]提出了一種結合閾值法、邊緣檢測以及灰度分布特征的方法來確定激光條紋,但是隨著光強的增大,提取準確率有所下降?,F有方法只能處理一種特定干擾情況,缺乏通用性。

鑒于前人的不足,本文提出一種新的思路,首先采用Otsu算法對圖像進行二值化,接著運用DBSCAN算法(density-based spatial clustering of application with noise)提取可能構成條紋中心線的核心點,通過改進的最短路徑搜索算法對中心線進行提取。本方法能夠適用于多種干擾情況,具備準確性、實時性和穩定性;其中最短路徑搜索算法考慮了光條方向,當激光條紋傾斜且較粗時提取效果不受影響,且本方法也適用于動態光照環境或者被測物體處于運動狀態時的情形。

1 算法描述

本文算法具體流程如圖1所示,首先對采集到的結構光條紋圖像進行Otsu自適應二值化,獲得可能成為光條紋的所有像素點;其次進行DBSCAN聚類,過濾無關的像素點即噪聲點和邊界點,保留可能成為中心線上的點即核心點;最后連接相鄰核心點構成圖數據結構,采用灰度重心法確定起點和終點,根據光條特性確定兩像素點之間的能量函數,根據提出的適用于光條圖像的最短路徑搜索算法得到光條的最短路徑作為光條的中心線。

1.1 常見干擾類型

在實際三維建模過程中,通常盡可能地控制待重建物體表面材質、環境光照等因素,以獲得光質均勻且穩定的結構光條紋。但對這些外界干擾因素的控制不一定能夠實現,采集的結構光條紋總會受到各種因素的干擾,常見的干擾類型包括以下幾種[11]:

(1)環境中的自然光線或照明設施的不當引入,導致結構光條紋附近出現光斑或部分光條被光斑遮擋,如圖2(a)所示;

(2)待重建物體表面材質和顏色的差別,導致物體對結構光的反射率不同,可能出現光強分布不均、光條紋寬度差別大的情況,如圖2(b)、2(c)所示;

(3)背景雜亂且物體處于運動狀態,無法通過差分法分割出有效的結構光條紋,圖像中存在復雜的背景信息,如圖2(d)所示。

1.2 Otsu二值化

Otsu[12]作為自適應閾值分割算法,操作簡單并能得到有效的分割閾值,其基本原理是采用遍歷的方式得到使類間方差g最大的閾值T,灰度值大于T的像素為前景,灰度值小于T的像素為背景,其公式為:

g=ω0ω1(μ0-μ1),(1)

式中,ω0為前景的像素點數占整幅圖像的比例,μ0為前景像素的平均灰度,ω1為背景的像素點數占整幅圖像的比例,μ1為背景像素的平均灰度。

結構光條紋相較于背景亮度更高,經過二值化后可去除低灰度值的像素點,即背景中無用的像素點。

1.3 線結構光密度聚類

二值化后的圖像中包含眾多與光條紋中心無關的邊緣點和噪聲點,如果直接將二值化圖像作為尋找最短路徑的輸入,會增大算法的復雜度,因此需要在保持光條紋拓撲結構的同時去除這些無關點,分割出條紋中心的候選點。聚類指將沒有分類的數據集依據相似特性分成若干個簇的過程,是一種無監督的分類方法,在聚類過程中可分離出相似性小的數據也就是離群的數據?;诓煌臏蕜t,經典聚類大致可以分為基于劃分的聚類、基于層次的聚類、基于密度的聚類、基于網格的聚類、基于模型的聚類等[13],各聚類方法及特點見表1。

對比這幾種聚類算法,密度聚類算法對噪聲點和離群點具有魯棒性,不受聚類簇形狀的約束,時間復雜度較低。其中,DBSCAN是可以抵抗噪聲的基于密度的聚類方法,本文二值化后的激光條紋圖像中灰度值為255(白色)的像素點作為待聚類的數據點,這些數據點大部分是相鄰的,分布比較集中,可以認為這些數據是密度分布均勻的,只有小部分噪聲點和離群點不相鄰,基于DBSCAN算法本身的特性:對噪聲點和離群點不敏感,即聚類效果不受噪聲點和離群點的影響。因此本文選用DBSCAN來進行聚類。此算法不需要人為設定最終的聚類簇數量,自動把高密度樣本點聚成一簇,忽略低密度區域的點[14]。以數據集中的一個樣本點x為中心,以ε為半徑的球形區域定義為x的ε鄰域,該鄰域內包含的數據點最少數目是MinPoints,由此可將數據集中的點劃分為三類:(1)核心點,該點的ε鄰域內至少包含MinPoints個其它的數據點;(2)邊界點,位于其他核心點的ε鄰域內,但本身不是核心點;(3)噪聲點,既不是核心點也不是邊界點的數據點。

DBSCAN的算法步驟分成兩步:(1)遍歷全部樣本點,對樣本點進行分類,如果是核心點將其納入核心點列表中,每個核心點和其鄰域內的點形成臨時聚類簇;(2)檢查每一個臨時聚類簇中的所有邊界點,如果當前的邊界點是另一個臨時聚類簇的核心點,則將這兩個臨時聚類簇合并,并將此核心點從核心點列表中取出,重復上述操作,直到核心點列表為空,所有臨時聚類簇合并完成得到最終的聚類簇。

取ε=1.5和MinPoints=5,對二值化圖像應用DBSCAN的結果如圖3所示。

傳統的DBSCAN算法需要計算任意兩點之間的距離來判斷樣本點的類別,并且需要合并臨時聚類簇,時間復雜度較高。因此提出改進后的算法,僅檢查每個像素點的鄰域空間,如果該點的鄰域空間內的點數大于設定的最小數,則該點保留,即只保留每個臨時聚類簇的核心點作為后續光條紋中心的候選點,并且不合并臨時聚類簇。改進后的DBSCAN算法可以:(1)去除噪聲和離群點,保證圖像質量;(2)去除光條邊緣點,僅保留核心點作為光條中心線的候選點,保持光條拓撲結構和中心信息的同時降低算法復雜度。如圖4所示是灰度圖像經過改進DBSCAN后的結果,光條像素點數量由57 792減少到55 104,保留了有更大概率成為光條中心線的點,大大減少后續算法的輸入。

1.4 中心線提取

Chen等[15]提出圖像接縫算法可用于結構光條紋提取?;舅枷胧前压鈼l像素點看作節點,連接相鄰的節點構成計算機科學中的圖數據結構,定義節點之間的距離(能量),使用最短路徑搜索算法找到能量最低的路徑,即光條中心線。由于光條中心線是單像素寬度的,即光條每行或每列只有一個像素點,傳統的最短路徑搜索算法可能會出現寬度大于單像素的情況,基于此,提出一種適用于光條圖像的最短路徑搜索算法,步驟包括:

(1)采用灰度重心法確定光條中心線的起點和終點。起點和終點影響節點間能量的計算,因此采用精度較高的灰度重心法來確定。

(2)根據節點之間的能量尋找每行或每列的最短路徑節點。根據光條紋的特性,亮度更高的像素點更有可能位于中心線上,且在光條方向上鄰近像素點更有可能屬于同一條光條紋,任意兩節點之間的能量E(s)定義為:

其中,θ為起點和終點構成的直線與起點和待尋找的節點構成的直線的夾角,k0為起點和終點構成的直線的斜率,k為起點和待尋找的節點構成的直線的斜率,d為當前最短路徑節點和待尋找的節點之間的距離,s為待尋找節點的灰度值。

(3)連接最短路徑節點,得到光條的中心線。

基于以上描述,如圖5所示,首先計算起點start和它下一列所有節點的能量,找到能量最低對應的節點作為當前列的最短路徑節點p1,接著計算p1和它下一列所有節點的能量,得到此列的最短路徑節點p2。遍歷所有節點,得到每列所對應的最短路徑節點{start,p1,p2,…,pn,end},即中心線上的點,圖5中以深色表示,圖6為中心線提取的結果。

2 實驗結果和分析

實驗采用分辨率為2 048 像素×1 536 像素的MER-301-125U3M工業相機和LM6NCL鏡頭采集圖像,波長為650 nm、功率為100 mW的紅光激光器作為線結構光光源,CCS的LFV3-100SW的同軸LED作為照明設備。本文算法實驗在Intel(R) Core(TM) i5-7300HQ CPU@2.50 GHz、內存8 GB、操作系統為Win10的計算機上進行,開發環境為Visual Studio 2019和OpenCV 2.4.10。

2.1 算法穩定性分析

為驗證本文所提算法適用于多種復雜干擾環境,采集了復雜干擾情況下的線結構光條紋圖像,運用本文算法進行中心線提取,結果如圖7所示。圖7(a)反映了結構光條紋被環境中光斑遮擋時的光條中心線提取效果;圖7(b)反映了結構光條紋沒有被遮擋、但存在光斑干擾時的光條中心線提取效果;圖7(c)反映了復雜背景下光條為曲線時的中心線提取效果;圖7(d)反映了復雜背景下各部分光條寬度變化較大、光強分布不均時的光條中心線提取效果;圖7(e)反映了復雜背景下物體表面各部分對光的反射率不同時的光條中心線提取效果;圖7(f)反映了背景雜亂、存在其他干擾物時的光條中心線提取效果??梢钥闯?,本文算法適用于多種線型的結構光條紋,在各種復雜背景干擾下都能夠做到準確提取,不受環境和光條質量的影響。

2.2 算法時間分析

采集無干擾、質量較好的線結構光條紋圖像和物體表面各部分對光的反射率不同的線結構光條紋圖像,分別采用極值法、細化法、灰度重心法、Steger算法和本文算法提取光條中心線。提取效果如圖8所示,極值法是取灰度值最大的第一個像素點作為中心,所以出現中心線整體上移的情形;細化法提取的光條中心線會出現毛刺,特別是光條寬度變化較大時毛刺增多;灰度重心法在光條質量較好時提取的中心線較為順滑,在光條寬度變化較大時中心線浮動過大;Steger算法精度最高,在光條寬度變化較大時也能做到準確提取中心線;本文算法提取效果和Steger算法在主觀上并無太大差別,但本文算法能夠克服多種復雜干擾。

線結構光中心線提取算法對時間要求較高,如表2所示,采用上述5種提取算法分別對光質較好的光條圖像1和寬度變化較大的光條圖像2分別運行10次,計算程序運行時間的平均值??梢钥闯?,細化法平均用時最短,效率最高,在100 ms左右,但是在復雜背景下提取效果不穩定;極值法提取時間在170 ms左右;灰度重心法提取時間在270 ms左右;Steger算法由于需要進行大量的卷積運算,計算復雜度較高,故其用時最長,效率最低,在620 ms左右;本文算法運行時間僅次于細化法,在150 ms以內,其效率相較于Steger算法提高了近4倍。原因在于,在DBSCAN階段僅檢查每個像素點的鄰域空間,降低算法的時間復雜度;提出適用于光條紋圖像的更為簡單的最短路徑算法,并且僅把核心點作為輸入,減少程序運行時間。

2.3 算法精度分析

精度是光條中心線提取算法的另一重要指標,由于中心線的實際位置無法確定,且投射線結構光的物體表面平整,通常是以標準差來表征精度,如公式(5)所示,即首先對提取的中心線上的點進行直線擬合,然后計算所有點到擬合直線的距離標準差,越小則精度越高,說明算法提取光條中心相對準確[16]。

如表3所示,采用上述精度表征方法計算5種算法的精度,可以看出:極值法由于其本身的限制,在光條寬度變化較大時精度有所降低;而細化法由于毛刺的存在導致精度大大降低,特別是圖像2,精度超過1 像素;灰度重心法在光條質量較好時提取精度較高,在光條寬度變化較大時由于中心線浮動導致精度較低;Steger算法運用了Hessian矩陣考慮光條的方向性,提取精度最高,在0.15 像素以內;本文算法也考慮了光條的方向性,提取精度高于極值法、細化法和灰度重心法,僅次于Steger算法,對于光條寬度變化較大的光條也能有較高的提取精度,誤差在0.2 像素以內。

3 結論

針對線結構光三維掃描建模過程中光條中心線提取易受到實際工業環境中各種因素干擾的問題,本文從算法層面進行解決。首先采用Otsu算法將光條圖像二值化,去除灰度值較低的像素點;其次采用改進DBSCAN保留核心點,即有更大概率位于中心線上的點,去除噪聲點和邊界點,降低后續算法的復雜度;最后采用提出的適用于光條圖像的最短路徑搜索算法得到圖像的最短路徑節點,即光條中心線上的點,連接構成光條中心線。實驗結果表明,本文算法適用于直線、曲線多種線型,可用于處理光條圖像存在光斑干擾、光條寬度變化大、物體表面反射率不同、背景雜亂等多種復雜背景的情況,且算法運行時間在150 ms以內,誤差在0.2 像素以內,能夠實現在復雜背景下快速、精確提取光條中心線,從而提高三維掃描建模的速度、準確度和適應性。未來還需要考慮室外環境中的影響因素及解決方法,特別是強烈太陽光存在的情況。

參考文獻:

[1]HE K J, SUI C Y, LYU C Y, et al. 3D reconstruction of objects with occlusion and surface reflection using a dual monocular structured light system[J]. Applied Optics, 2020,59(29): 9259-9271.

[2]閆光緒,賀賽先. 基于單目便攜式激光掃描的小工件測量[J]. 應用激光,2020, 40(2): 315-322. DOI: 10. 14128/j. cnki. al. 20204002. 315.

[3]冀振燕,宋曉軍,付文杰,等. 激光光條中心線提取研究綜述[J]. 測控技術,2021,40(6): 1-8. DOI: 10. 19708/j. ckjs. 2021. 06. 001.

[4]李瑩瑩,張志毅,袁林. 線結構光光條中心提取綜述[J]. 激光與光電子學進展,2013, 50(10): 13-22. 10. 3788/lop50. 100002.

[5]張衡,苗紅霞,郭章旺,等. 動態環境下的激光條紋中心線提取方法[J]. 計算機測量與控制, 2021,29(12): 226-233. DOI: 10. 16526/j. cnki. 11-4762/tp. 2021. 12. 041.

[6]郭宏陽,周建平,薛瑞雷,等. 強光干擾下的焊縫圖像激光條紋提取算法研究[J]. 組合機床與自動化加工技術,2020(6): 57-60. DOI: 10. 13462/j. cnki. mmtamt. 2020. 06. 014.

[7]周淵,孟祥群,江登表,等. 復雜干擾情況下的結構光條紋中心提取方法[J]. 中國激光,2020,47(12): 172-180. DOI: 10. 3788/CJL202047. 1204004.

[8]章秀華,洪漢玉,徐洋洋,等. 復雜光照條件下礦石三維視覺實時篩選方法[J]. 紅外與激光工程,2021,50(11): 394-404.

[9]JIAN X, CHEN X, HE W P, et al. Outdoor 3D reconstruction method based on multi-line laser and binocular vision[J]. IFAC-PapersOnLine, 2020, 53(2): 9554-9559. DOI: 10. 1016/j. ifacol. 2020. 12. 2436.

[10]方夏章,李垚,方毅. 室內環境下線結構光光條提取方法[J]. 傳感器與微系統, 2018,37(10): 32-34. DOI: 10. 13873/j. 1000-9787(2018)10-0032-03.

[11]SHI X Q, SUN Y Z, LIU H T, et al. Research on laser stripe characteristics and center extraction algorithm for desktop laser scanner[J]. SN Applied Sciences, 2021, 3(3): 1-12. DOI: 10. 1007/s42452-021-04309-w.

[12]牛晗,伍希志,任桂芹,等. 基于Otsu與CANNY算法的竹片缺陷圖像檢測[J]. 森林工程,2022,38(6): 75-81. DOI: 10. 3969/j. issn. 1006-8023. 2022. 06. 010.

[13]赫德軍,武欣嶸,俞璐. 密度聚類方法研究[J]. 通信技術, 2022, 55(2): 135-142. DOI: 10. 3969/j. issn. 1002-0802. 2022. 02. 001.

[14]張朋,李小林,王李妍. 基于DBSCAN的動態鄰域密度聚類算法[J]. 計算機科學, 2023,50(S1): 609-615.

[15]CHEN J S, SU G D, XIANG S B. Robust welding seam tracking using image seam extraction[J]. Science and Technology of Welding and Joining, 2012, 17(2): 155-161. DOI: 10. 1179/1362171811y. 0000000091.

[16]劉宇豪,郭京波,劉文棟,等. 多重干擾下管片端面條紋中心提取優化算法[J]. 應用激光,2021,41(4): 869-875. DOI: 10. 14128/j. cnki. al. 20214104. 869.

猜你喜歡
最短路徑
“互聯網+”時代下滴滴快車補貼方案對打車難問題的影響
Dijkstra算法設計與實現
基于Dijkstra算法的優化研究
圖論最短路徑算法的圖形化演示及系統設計
不確定條件下物流車最優路徑選擇研究
最佳游覽路線生成方案的設計與實現
基于NFC的博物館智能導航系統設計
XML數據公交信息查詢優化算法及實現
基于洪泛查詢的最短路徑算法在智能交通系統中的應用
求所有最小點成本最短路徑算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合