-
灰度重心法[9]根据激光光条横截线上各点的灰度值与位置信息来确定中心线的位置,具体来说,该方法根据预先选定的灰度阈值gth对光条横截线上各点的灰度值g进行阈值选取:
$ g' = \left\{ \begin{array}{l} 0,(g \le {g_{\rm th}})\\ g - {g_{\rm th}},({\rm else}) \end{array} \right. $
(1) 式中,g′表示经阈值选取得到的灰度值,灰度重心的计算方法可以表示为:
$ x = \sum\limits_{i = l}^u {{x_i}{g_i}} /\sum\limits_{i = l}^u {{g_i}} $
(2) 式中,gl, gu表示经剪切后的光条横截线上的灰度范围,xl, xu分别表示gl, gu所对应的图像横坐标,作为一种亚像素精度提取方法,该方法计算简单、提取精度较高,且充分考虑到图像的灰度信息,即使光条灰度分布不均匀也能够达到较高的提取精度,但当阈值gth选取不当且图像噪声较大时,灰度重心的计算会引入噪声误差,导致最终提取到的光条中心线与实际值具有较大偏差,其次在处理具有复杂形状光条的区域时,该法极易产生偏差,需要借助特定的图像预处理技术。
-
密度聚类属于非监督式机器学习算法,该法假设样本点分布的紧密程度决定聚类结构,从样本密度的角度考察样本点之间的连通性,并基于可连样本扩展聚类簇以获得最终聚类结果。具有噪声的基于密度的聚类方法(density-based spatial clustering of applications with noise,DBSCAN)[19]作为密度聚类中的代表性算法,该算法对数据集中某样本点x的ε领域进行定义,其中,ε领域被定义为以x为中心、ε为半径的(超)球形区域,邻域中所含样本点数量决定x是否为核心对象,并根据样本点与核心对象之间的关系定义密度直达、密度可达和密度相连,数据集中所有样本点被划分为3类:(1)核心点:核心点即核心对象;(2)边界点:位于核心对象的ε领域上和领域中的样本点;(3)噪声点:非核心点、非边界点的样本点。簇的定义为:数据集中由密度可达关系导出的密度相连样本的最广泛集合,并满足以下两条属性:(1)连接性:簇中任意两点均密度可达;(2)最大性:所有密度可达的点必定位于同一个簇中。
DBSCAN具有Ο(m2)的时间复杂度,其中m是数据集的样本点数,使用类似k-D树的处理方式,其时间复杂度可以降至Ο(m×log2 m),DBSCAN仅需存储数据集中各样本点的类型(核心点、边界点或噪声点),因此具有Ο(m)的空间复杂度。
分别在带噪声的圆形数据、带噪声的月牙形数据、各向异性分布数据、不同方差的气泡形数据、相同方差的气泡形数据上执行上述各种聚类算法,并使用“调整后德兰系数”(adjusted Rand index,ARI)作为性能度量标准,样本点数m=1500时,DBSCAN与k均值聚类(k-means)、凝聚层次聚类(aggregation level clustering)、谱聚类(spectral clustering)的ARI和运行时间如表 1所示。可以明显看出,除某些特定分布的数据集以外,DBSCAN聚类算法的聚类性能和时间复杂度,都远远优于其它算法。
Table 1. Clustering results on different test data
double loop data double crescent data anisotropic distribution data bubble shaped data with different variances bubble shaped data with the same variance ARI run time/s ARI run time/s ARI run time/s ARI run time/s ARI run time/s k-means -0.0002 0.01 0.4840 0.01 0.5926 0.01 0.8194 0.02 1.0 0.01 aggregation level clustering 0.9973 0.08 1.0 0.10 0.4230 0.21 0.9261 0.39 1.0 0.09 spectral clustering 1.0 0.46 1.0 0.92 0.9568 0.28 0.9413 0.14 1.0 0.24 DBSCAN 1.0 0.01 1.0 0.01 0.9749 0.01 0.5501 0.01 1.0 0.02 -
传统灰度重心法根据预先设定好的灰度阈值,对激光光条横截线上各像素点进行“清洗”,即在计算灰度重心时,仅考虑灰度值高于阈值的像素点,该法存在如下弊端:(1)受物体表面反射率和环境光影响,激光光条横截线上各像素点灰度不会呈现规则的高斯分布,因此, 执行阈值选取极易导致提取到的中心线存在偏差; (2)阈值选取不能消除高灰度值噪声点的影响,因此在计算灰度重心时会带入噪声误差,从而导致提取精度降低。针对传统灰度重心法阈值选取的弊端,密度聚类重心法丢弃阈值选取过程,并根据光条横截线的灰度分布,将光斑噪声和目标光条的中心线同时从背景中分别提取,密度聚类重心法的中心线预提取整体处理流程如图 1所示。
-
激光光条与噪声光斑在原始图像中近乎处于同一个水平范围内,取该部分图像的水平横截线会发现,横截线上的灰度分布呈现出多个可以被划分的像素点集,各点集均隶属于目标光条或某个噪声光斑,且各点集的灰度值由中心向两边逐渐降低。根据上述特点,中心线预提取的第一步即依据光条横截线灰度分布图中的“波峰”与“波谷”,将灰度值不为零的像素点集划分为两个或多个连通区域,这些区域分别隶属于光斑噪声和目标光条,图像横截线上各像素点灰度值分布如图 2所示。其中,纵坐标表示各像素点灰度值,灰度值范围由0~255,两波峰间存在明显的波谷,因此横截线上的像素点集被划分为两个连通区域。在上述点集划分过程中,“波峰”和“波谷”的确定至关重要,一般来说,欧氏空间中2维连续函数的波峰和波谷即为函数极值点,在图像处理中,假设横截线上像素点灰度分布符合x轴上的连续分布G(x),那么在2阶导数存在时可以通过下述条件判断波峰与波谷:
$ \left\{ \begin{array}{l} G'({x_i}) = 0\\ G''({x_i}) \ne 0\\ G'({x_i}) = \mathop {\rm \lim }\limits_{{x_i} - {x_{i - 1}} \to 0} \frac{{G({x_i}) - G({x_{i - 1}})}}{{{x_i} - {x_{i - 1}}}}\\ G''({x_i}) = \mathop {\rm \lim }\limits_{{x_i} - {x_{i - 1}} \to 0} \frac{{G'({x_i}) - G'({x_{i - 1}})}}{{{x_i} - {x_{i - 1}}}} \end{array} \right. $
(3) 式中,xi表示横截线上第i个像素点的图像横坐标,G(xi)表示第i个像素点的灰度值,G′(xi)表示第i个像素点在图像横轴上的1阶导数,G″(xi)表示第i个像素点在图像横轴上的2阶导数。在光条横截线上各像素点灰度满足离散分布、均不可导,且呈梯形分布时,单个波峰可能含有多个像素点,因而不能仅依据极值点定义考察某点与近邻点间的关系对波峰、波谷进行判断,上述方法在处理这类问题时不具可行性。
为解决上述问题,密度聚类重心法从灰度值增量的角度出发,对各像素点灰度增量给出如下数学定义:
$ \Delta G({x_i}) = G({x_i}) - G({x_{i - 1}}) $
(4) 式中,ΔG(xi)表示横截线上第i个像素点的灰度增量。由灰度增量可知,波峰上必存在一点,使得该点左近邻点的增量不小于零且右近邻点的增量小于零,而波谷上必定存在一点,使得该点右近邻点的增量大于零且左近邻点的增量不大于零,数学形式定义为:
$ G({x_i}) \in \left\{ \begin{array}{l} {\rm crest},(\Delta G({x_{i - 1}}) \ge 0,\Delta G({x_{i + 1}})<0)\\ {\rm trough},(\Delta G({x_{i - 1}}) \le 0,\Delta G({x_{i + 1}})>0) \end{array} \right. $
(5) 以图 3所示2维阶梯型离散分布为例,使用G(x)表征纵坐标y,得到ΔG(3)=1, ΔG(5)=-1,ΔG(10)=0, ΔG(12)=-1,ΔG(7)=-1, ΔG(9)=1,可以判定(4, G(4)), (11, G(11))为波峰,而(8, G(8))为波谷。在得到上述波峰、波谷后,即可对部分邻接的目标光条区域与噪声光斑区域进行边界划分,从而保证噪声光斑的高亮度像素点不会对目标光条产生影响,以便光条中心线预提取过程的进一步处理。
-
获取到每根光条横截线的划分边界点后,横截线上的整个像素点集被划分多个子集,各子集都分别隶属于目标光条或噪声光斑,考虑到传统灰度重心法使用阈值选取的弊端,在提取中心时忽略阈值选取过程,对各个子集直接计算灰度重心,从而保证目标光条的低亮度边缘不会由于阈值选取而丢失。中心线预提取阶段最终得到的图像中,目标光条和噪声光斑中心线均被完整保存,且目标光条不受噪声光斑影响。
-
经中心线预提取阶段得到的图像中虽然存在一部分光斑中心线,但原始光斑区域得以大大缩减,光斑像素点数量与激光光条像素点数量间的比例下降,且激光中心线的细节得到了完整保持,至此光斑剔除问题转化为中心线选取问题。DBSCAN算法具有良好的时间复杂度和聚类精度,且算法本身不受簇形状影响,在激光中心线的最终提取阶段,将预提取得到的图像中各像素点的图像坐标作为聚类特征,并使用欧氏距离进行可连性分析,激光中心线具有更高的可连性,而噪声光斑中心线可连性低、像素点少,因而DBSCAN将激光中心线上各点聚类为一个簇,而噪声光斑中心线上各点被作为异常点剔除。通过密度聚重心法最终提取得到的图像中,噪声光斑中心线被完整剔除,且激光中心线的细节得到较好保持,密度聚类重心法的激光中心线最终提取流程如图 4所示。
-
在图像预处理阶段,采用中值滤波对图像进行处理,为满足实时性的需要,且不丢失图像细节,采用小窗口(3×3)进行滤波处理,如图 5a所示。受环境光以及物体表面反射率影响,滤波后的图像仍存在对比度低、整体亮度高等问题,伽马校正在提高高亮度区域对比度的同时,可有效降低图像整体亮度,从而解决上述问题,采用该方法对图像进行增强处理,其中伽马系数置为γ=3,处理结果如图 5b所示。经伽马校正后的图像可明显区分目标与背景,但背景中仍存在灰度值较高的像素点,需要对图像进行阈值分割,考虑到各种分割算法的特点,分别采用迭代法、最大熵法[20]和大津法[21]对图像进行对比处理,处理结果如图 6所示。迭代法和大津法的分割精度较高,而最大熵法将一部分灰度值较高的背景区域误划分为目标,另外,迭代法需要手动设置阈值、时间复杂度高,因而最终采用大津法进行阈值分割处理。经大津法分割后的图像存在大量高亮度噪声,为方便后续提取中心线,需要采用小窗口(3×3)对图像进行闭运算形态学处理,图像预处理最终结果如图 7所示。
-
经预处理后的图像,图像细节和处理过程的实时性均得到保证,但受被测物表面反射率的影响而产生的大面积高亮度光斑噪声仍然存在,部分光斑噪声及其近邻像素点灰度分布如图 8所示。采用密度聚类重心法中的预提取过程对中心线进行提取,预提取图像如图 9所示。其中光条中心线并未受光斑噪声影响而出现部分缺失,但图中仍存在光斑噪声中心线,需要进一步提取,在密度聚类重心法的最终提取过程中,通过对预提取图像上各像素点的位置特征进行密度聚类,距光条中心线较远且包含像素点稀少的光斑噪声中心线被完整剔除,通过密度聚类重心法和传统灰度重心法分别提取到的光条中心线如图 10所示。可以明显看出,传统灰度重心法受光斑噪声影响,提取到的光条中心线严重偏离实际位置,而密度聚类重心法具有更高的提取精度。
-
向大小为600pixel×600pixel的图像中加入光条得到原始光条图像,图像中光条呈现左右不对称的高斯分布,光条及其真实中心线如图 11所示。分别向上述图像加入低亮度光斑、高亮度点噪声、高亮度小面积光斑、高亮度各向异性光斑进行仿真实验,观察实验结果如图 12~图 16所示。将提取精度定义为提取到的中心线与真实中心线之间各点的均方根误差(root mean square error,RMSE)eRMSE,数学形式表示为:
$ {e_{{\rm{RMSE}}}} = \sqrt {\frac{{\sum\limits_{i \in \Omega ,{{\hat y}_i} = {y_i}} {({{\hat x}_i} - {x_i})} }}{n}} $
(6) 式中,xi,yi表示真实中心线上像素点的图像横、纵坐标,${{\hat x}_i},{{\hat y}_i}$表示提取到的中心线上像素点的图像横、纵坐标,Ω表示中心线上各像素点的图像横坐标集合,n表示中心线上像素点的数量,并对比运行时间,根据表 2可知,与传统灰度重心法相比,密度聚类重心法在高亮度各向异性光斑、高亮度小面积光斑、高亮度点噪声图像的均方根误差分别降低了12.59pixel, 15.12pixel和83.36pixel,时间复杂度分别提高了0.383s, 0.412s和0.416s, 该方法提取精度较高,对高亮度点噪声、高亮度小面积光斑以及高亮度各向异性光斑均具有良好鲁棒性,且两者时间复杂度近似。
Table 2. Comparison of experimental results
without spot low-brightness isotropic spot high-brightness point noise high-brightness small-area spot high-intensity anisotropic spot RMSE/pixel runtime/s RMSE/pixel runtime/s RMSE/pixel runtime/s RMSE/pixel runtime/s RMSE/pixel runtime/s traditional gray center of gravity method 0 0.032 0 0.032 83.98 0.032 15.74 0.032 13.21 0.032 density clustering gravity method 0.62 0.412 1.54 0.250 0.62 0.448 0.62 0.444 0.62 0.415
基于密度聚类的光条中心线提取方法
Light bar centerline extraction method based on density clustering
-
摘要: 为了解决线结构光3维测量中噪声光斑对提取精度的影响,采用了密度聚类灰度重心提取算法提取激光光条中心线。该方法由中心线预提取以及中心线最终提取两阶段组成,预提取阶段实现对激光与光斑两者中心线的同时提取,最终提取阶段采用基于连通性的密度聚类算法完整保留激光中心线并剔除噪声光斑。在仿真实验阶段,对大小为600pixel×600pixel、含有激光中心线的图像进行了加噪处理,并使用提取结果与真实中心线之间各点的均方根误差以及运行时间作为考察标准进行了实验研究。结果表明,该方法与传统灰度重心法相比,在高亮度各向异性光斑、高亮度小面积光斑、高亮度点噪声图像的均方根误差分别降低了12.59pixel,15.12pixel和83.36pixel,时间复杂度分别提高了0.383s, 0.412s和0.416s。该方法与传统灰度重心法相比具有更高的提取精度、近似的时间复杂度,且对噪声光斑具有较好鲁棒性,可以在噪声光斑图像中完整提取出光条中心线。Abstract: In order to solve the influence of noise spot on extraction accuracy in the online structured light three-dimensional measurement, the center line of laser stripe was extracted by density clustering gray centroid extraction algorithm. The method consists of two stages: The pre-extraction of center line and the final extraction of center line. The pre-extraction stage realizes the simultaneous extraction of the center line of laser and spot. In the final extraction stage, the connectivity-based density clustering algorithm is used to preserve the laser centerline and eliminate the noise spot. In the simulation experiment stage, the image with the size of 600pixel×600pixel and the laser center line was denoised. The root mean square error and the running time of each point between the extracted result and the real center line were used as the inspection criteria. The results show that the root mean square error of high brightness anisotropic spot, high brightness small area spot, and high brightness point noise image was respectively reduced by 12.59pixel, 15.12pixel, and 83.36pixel, and the time complexity was respectively increased by 0.383s, 0.412s, and 0.416s. Compared with the traditional gray centroid method, this method has higher extraction accuracy, approximate time complexity, and better robustness to noise spot.
-
Key words:
- image processing /
- center extraction /
- gray centroid method /
- density clustering /
- structured light
-
Table 1. Clustering results on different test data
double loop data double crescent data anisotropic distribution data bubble shaped data with different variances bubble shaped data with the same variance ARI run time/s ARI run time/s ARI run time/s ARI run time/s ARI run time/s k-means -0.0002 0.01 0.4840 0.01 0.5926 0.01 0.8194 0.02 1.0 0.01 aggregation level clustering 0.9973 0.08 1.0 0.10 0.4230 0.21 0.9261 0.39 1.0 0.09 spectral clustering 1.0 0.46 1.0 0.92 0.9568 0.28 0.9413 0.14 1.0 0.24 DBSCAN 1.0 0.01 1.0 0.01 0.9749 0.01 0.5501 0.01 1.0 0.02 Table 2. Comparison of experimental results
without spot low-brightness isotropic spot high-brightness point noise high-brightness small-area spot high-intensity anisotropic spot RMSE/pixel runtime/s RMSE/pixel runtime/s RMSE/pixel runtime/s RMSE/pixel runtime/s RMSE/pixel runtime/s traditional gray center of gravity method 0 0.032 0 0.032 83.98 0.032 15.74 0.032 13.21 0.032 density clustering gravity method 0.62 0.412 1.54 0.250 0.62 0.448 0.62 0.444 0.62 0.415 -
[1] HAN Q.Three-dimensional measurement technology applied to stomatology[J].Journal of Oral Materials and Devices, 2003, 12(1):39-41(in Chinese). [2] QUAN Y M, LI Sh M, MAI Q Q. On-machine 3-D measurement of workpiece dimensions based on binocular vision[J].Optics and Precision Engineering, 2013, 21(4):1054-1061(in Chinese). doi: 10.3788/OPE.20132104.1054 [3] FU Y J, WENG L X, HU M.Research on key methods of 3-D measurement of large objects based on monocular structure light[J].Journal of Applied Optics, 2018, 39(2):212-219(in Chinese). [4] YANG J, JIA Sh H.A novel method of three dimensional profile measurement[J].Acta Photonica Sinica, 2007, 36(6):972-975(in Ch-inese). [5] YANG X J, CHI M H.An improved method of extracting structured light strip center[J].Applied Science and Technology, 2009, 36(12):41-44(in Chinese). [6] GAO Sh Y, YANG K Zh.Research on central position extraction of laser strip based on varied-boundary Gaussian fitting[J].Chinese Journal of Scientific Instrument, 2011, 32(5):1132-1137(in Chinese). [7] STEGER C.An unbiased detector of curvilinear structures[J].IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(2):113-125. doi: 10.1109/34.659930 [8] van ASSEN H C, EGMONT-PEYERSEN M, REIBER J H C.Accurate object localization in gray level images using the center of gravity measure: Accuracy versus precision[J].IEEE Transactions on Image Processing, 2002, 11(12):1379-1384. doi: 10.1109/TIP.2002.806250 [9] ZHANG X Y, WANG X Q, BAI F Zh, et al.Improved gray centroid method for extracting the center-line of light-stripe[J].Laser & Infrared, 2016, 46(5):622-626(in Chinese). [10] ZHAO X S, ZHANG G X, ZHANG H W. Probe for measuring high reflective surface[J].Journal of Tianjin University, 2004, 37(3):274-277(in Chinese). [11] ZHANG H W, ZHANG G X, LI Zh, et al.Application of non-contact optical probe in measurement of high-reflective metallic surface[J].Journal of Tianjin University, 2004, 37(10):910-913(in Chinese). [12] ZHAO X S, ZHANG G X, LIU Zh, et al.The probe design of for high-reflection sculptured surface measurement[J].Chinese Journal of Scientific Instrument, 2004, 25(2):274-279(in Chinese). [13] ZHAO B H, WANG B X, ZHANG J, et al.Extraction of laser stripe center on rough metal surface[J].Optics and Precision Engineering, 2011, 19(9):2138-2145(in Chinese). doi: 10.3788/OPE.20111909.2138 [14] KOKKU R, BROOKSBY G.Improving 3-D surface measurement accuracy on metallic surfaces[J].Proceedings of the SPIE, 2005, 5856:618-624. doi: 10.1117/12.612243 [15] WANG W Ch, XU J Q, SI Sh Ch.A improved barycenter method used in light-trap center acquiring [J]. Journal of Optoelectronic·Laser, 2005, 16(10):1239-1242(in Chinese). [16] SHI Sh L, YIN D Y.Improved real-time grayscale centroid algorithm[J].Opto-Electronic Engineering, 2013, 40(12):18-24(in Ch-inese). [17] HUANG L F, LIU G D, ZHANG Ch, et al.Laser stripe center extraction algorithm based on gray weight model[J].Laser Technology, 2020, 44(2):190-195(in Chinese). [18] TAO J, ZHANG X.Orientation algorithm of light-spot center subpixel in fiber sensing system[J].Computer Engineering, 2010, 36(19):31-33(in Chinese). [19] ESTER M, KRIEGEL H P, XU X.A density-based algorithm for discovering clusters a density-based algorithm for discovering clusters in large spatial databases with noise[C]//Proceedings of the 2nd International Conference on Knowledge Discovery & Data Mining.Portland, USA: AAAI Press, 1996: 226-231. [20] PUN T.A new method for grey-level picture thresholding using the entropy of the histogram[J].Signal Processing, 1980, 2(3):223-237. [21] OTSU N.A Threshold selection method from gray-level histograms[J].IEEE Transactions on Systems, Man, and Cybernetics, 2007, 9(1):62-66.