HTML
-
密度聚类属于非监督式机器学习算法,该法假设样本点分布的紧密程度决定聚类结构,从样本密度的角度考察样本点之间的连通性,并基于可连样本扩展聚类簇以获得最终聚类结果。具有噪声的基于密度的聚类方法(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聚类算法的聚类性能和时间复杂度,都远远优于其它算法。
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 1. Clustering results on different test data
-
在图像预处理阶段,采用中值滤波对图像进行处理,为满足实时性的需要,且不丢失图像细节,采用小窗口(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,数学形式表示为:
式中,xi,yi表示真实中心线上像素点的图像横、纵坐标,${{\hat x}_i},{{\hat y}_i}$表示提取到的中心线上像素点的图像横、纵坐标,Ω表示中心线上各像素点的图像横坐标集合,n表示中心线上像素点的数量,并对比运行时间,根据表 2可知,与传统灰度重心法相比,密度聚类重心法在高亮度各向异性光斑、高亮度小面积光斑、高亮度点噪声图像的均方根误差分别降低了12.59pixel, 15.12pixel和83.36pixel,时间复杂度分别提高了0.383s, 0.412s和0.416s, 该方法提取精度较高,对高亮度点噪声、高亮度小面积光斑以及高亮度各向异性光斑均具有良好鲁棒性,且两者时间复杂度近似。
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 Table 2. Comparison of experimental results