基于DBSCAN算法的边缘检测研究
2021-05-14
(贵州大学大数据与信息工程学院 贵州·贵阳 550025)
0 引言
随着计算机、通信技术和人工智能的快速发展,从1965年的Roberts算子被提出,到现在已经发展的Sobel、Prewitt和Kirsh等许多经典边缘检测算子。基于边缘检测的图像特征提取及算法应用越来越广。然而当检测图像噪声过大时,这些算法对图像边缘信息的提取效果不佳,进而会影响后续的图像处理工作。
上述问题的出现,促使许多学者加强开展研究。赵凤娇针对水下图像边缘检测不稳定的问题,提出了k-means聚类算法,该方法应用到水下图像边缘检测中取得了很好的效果;赵凤娇等提出基于混合滤波和DBSCAN(Density-basedspatial clusteringofapplicationswithnoise)的点云去噪算法,进一步提高点云去噪效率;MARTIN等针对GAN网络训练不稳定的问题,提出了WGAN(Wasserstein GAN),该方法使用Earth-Mover距离代替JS散度作为判别器D的目标函数,使得训练稳定性得到有效提升。Zhu等人为解决GAN网络的一些限制,提出了循环一致性对抗网络(CycleGAN)网络,该网络能够根据不成对的数据集训练出能够满足不同风格的图像的转换。
为此,我们提出一种新的DBSCAN算法和梯度幅值距离相结合的算法,该个算法可以减少图像的噪声,提高边缘信息提取的质量,大大增强了图像边缘信息提取的抗噪能力。
1 边缘检测算法
边缘是图像中灰度突变最明显的区域,因此在数学上的数学意义也是该点的一阶导数是处于最大值。故运用此原理,我们可以对其图像进行微分,进而求得该点的一阶导数值。由于图像是离散的,故我们提出了Sobel算子进行边缘检测。
Sobel算子卷积核是3*3的矩阵。通常在使用Sobel算子卷积模板时,会有两种模板形式,分别为水平方向模板和垂直方向模板,这两种模板从水平方向和垂直方向分别对图像进行边缘检测。
Sobel的两个不同卷积模板Gx,Gy如下:
2 梯度的定义
3 DBSCAN算法
DBSCAN算法的主要步骤如下:
(1)对于像素点p,其半径R范围内的像素点不为0的数目多于最小阈值Minpts,则称p为核心点。
(2)对于某个像素点集合M,若像素点q在核心点p的半径R内,则称点p-q直接密度可达。
(3)对于一组点P(p1,p2,…,pm),如果其中点 密度直接可达,则 为密度可达。
(4)对于像素点集合M中的点s,其可以将点p和q实现密度可达,则p和q密度连通。
(5)对于n,如果不满足于上诉条件,则将其判别为噪点。
4 实现边缘检测
5 实验与结果分析
本实验中以lene作为实验图,在图片中加入高斯噪声,噪声均值为0,噪声方差为0.01。Sobel算子阈值为0.13。
实验分析:在本实验中我们可以看到,原图加入高斯噪声后图像显得较为粗糙。使用算子得到的边缘检测图中,有许多均匀分布在图像中的噪声点,使得(b)图像看上去特别的混乱,这对于处理图像的计算机十分不友好。在使用本文算法的(c)、(d)、(e)、(f)图中,许多不正确的边缘点都被较好地抑制掉,边缘检测图像被计算机正确地识别处理的概率大大提高。观察后面四幅图,(f)图的边缘检测效果最好,由噪声引起的边缘点大部分被消除。同时对比(b)图,(b)图的左下角中的边缘点已经被噪声点完全覆盖,无法正确分类边缘点和噪声点。但是在后面四幅图中,右下角的边缘点依然有一部分被有效分离并保留,其中(f)图的效果最好。对比后四幅图,(c)、(d)、(e)三幅图中都具有较为明显的噪声点,但是在第四幅图中噪声点最少,图像最为干净。
6 结语
通过实验,我们可以明显的观察到DBSCAN算法对边缘检测具有较好的边缘点寻找,DBSCAN算法对于非边缘点具有较好的识别功能。DBSCAN算法对于离群的边缘点具有较好的抑制作用,因而在图中我们可以很好地去掉离群点。在实际应用中,我们需要多次实验才能找到较好的阈值从而得到较为完美的边缘检测图。但是也有不足的是对于图像中非边缘点聚集较为密集的地方,DBSCAN算法不能很好地完成边缘检测。