• 官方微信

    CA800二维码微平台 大视野

  • 工控头条

    CA800二维码工控头条App

当前位置:自动化网>自动化文库>应用案例>一种改善的基于支持向量机的图像边缘检测算法

一种改善的基于支持向量机的图像边缘检测算法

发布时间:2012-12-11 来源:中国自动化网 类型:应用案例 人浏览
分享到:
关键字:

分类 边缘检测 支持向量机

导读:

边缘是图像的重要特征之一。

1  引言
边缘是图像的重要特征之一。所谓边缘,是指周围像素灰度又有节约变化或屋顶变化的哪些像素的集合[1],反映了图像灰度的不连续性。边缘检测主要是图像的灰度变化的度量、检测和定位。图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础。目前它已成为机器视觉以及人工智能研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。
大多数传统的边缘检测方法[2-5],都是基于零交叉或梯度的算法,需要用图像与相应的核进行卷积计算出相应的零交叉点和梯度。然后根据计算的结果进一步判断一个像素点是否为边缘点。还有些方法[6-10]先对图像进行滤波处理,从而改善边缘检测的性能和消除粗糙边缘、噪声边缘和不准确边缘等缺点。但当噪声为脉冲噪声时,这种处理效果不是很好。
文中提出了一种支持向量机的边缘检测方法。该检测方法对图像中的边缘点和非边缘点进行分类,而不是用传统的基于零交叉点或图像梯度的方法。与Prewitt算法的性能进行了比较,边缘检测性能得到提高。

2  支持向量机
2.1  SVM原理
支持向量机的基本原理是将一个超平面作为决策平面,不但要将分类中的两类样本正确分开(训练错误率为0),而且使分类间隔最大,即将优化问题转化为一个凸型的二次规划问题,由 标准的拉格朗日乘子法解得为全局最优解,且具有很高的精度。支持向量就是能够最大限度区分两类样本,且是平行于最优超平面且距离这个最优超平面最近的训练样本,支持向量机由两类样本组成,所以“支持向量”决定了最优超平面的位置,且代表了各自类的边缘,因此,可以进行图像的边缘检测,见图1。

利用支持向量机的两类分类算法,求出支持向量,也就是获得了图像的边缘点。确定是哪一类是关键。鉴于图像中处于目标或背景内部相邻像素间的灰度值是高度相关的,但出于目标和背景交界、处两边的像素的灰度值有很大的差别。
设给定的训练集为

设训练集可被一个超平面线性划分;为了使数据在特征空间中线性分类,判决函数必须满足以下约束条件,最优化问题为:

其中是为解决线性不可分情况而被引入的非负松弛变量,是自定义的惩罚系数,保持分类最大间隔与分类误差之间的平衡。
为了解决这个约束优化问题,引入如式(3)所示的拉格朗日函数

对式(3)分别对最求偏微分并令其为0,便可以把如式(2)所示的最优化问题转化为简单的对偶问题。

其中,是满足Mercer定理的核函数。
是式(4)的最优解,分别为相应的权值和偏值。根据Karush-Kuhn-Tucker 最优化条件,最优问题(4)的解必须满足:

式中不为零的对应的向量子集称为支持向量。
相应的最优决策函数为:

通常样本空间中,大部分输入数据不能被线性分类或近似线性分类,应该通过非线性映射,把样本空间映射到一个高维特征空间,并在特征空间中构造最优分类面。因此,在低维空间中不能解决的问题,通过核函数的转换,在高维空间中可以被解决。进而,核函数是支持向量机解决非线性问题的关键。
常见的核函数有:
(1)  线性核函数

(2)  多项式核函数

以上核函数中,高斯径向基核函数具有较好的学习能力[11],因此,本研究选用径向基函数作为支持向量机的核函数。

3  算法描述
3.1  算法的提出
经典算子在理想场景的效果很好,但在处理复杂场景时,很难再提取边缘的同时有效抑制图像噪声,也基本不能选择提取图像中具有特定形状的边缘,因此只能应用于有限的较理想场合。故经典算子失效时,基于支持向量机学习的边缘检测方法就显示出其优势来,为了实现边缘检测,本文将图像的边缘点看作一类,其他像素点看作另一类,利用分类算法建模后,对图像中全部像素进行处理,提取相应边缘。
边缘检测算法流程的具体描述为:
(1)  构建训练样本。通过提供不同的训练数据改变检测模型的性能,不同目的的训练数据经学习后得到的模型具有不同的分类目的。本文对理想图像图2进行边缘检测,如图2所示。

在对理想图像图2进行边缘检测时,由于Prewitt算子在无噪声污染时边缘提取效果较好,故认为由Prewitt算子得到的图像边缘是图像中像素灰度有阶跃变化或屋顶变化的像素集合,因此将这些像素点作为正样本点,如图3所示;其他像素点作为负样本。

(2)  训练分类器。实验选用OSU-SVM3.0工具箱,利用径向基核函数训练SVM分类器,通过k重交叉验证的验证方法确定惩罚参数C和RBF核参数r的值,然后建立样本图像的24邻域分类模型。
(3)  测试环节。利用训练环节得到24邻域检测模型分别对被测图像逐像素进行分类,得到测试像素的边缘像素。
3.2  分类模型中的训练策略
SVM分类模型的建立需要通过学习训练。在应用中,如果训练样本已经确定,则该过程是对惩罚因子C和核函数参数的选择过程,实验采用重交叉验证的验证方法,即训练时将N个样本分为个子集,其中的个子集构成训练集,剩余的1个子集作为测试集;验证步骤重复进行此,使所有样本子集都参加过测试,试验中选取
4  仿真验证
实验通过24邻域边缘检测模型进行训练得到图标1所示的参数集,表1中,惩罚函数C和RBF核参数r都在3重交叉验证下对应于最高分类识别率参数集。
检测结果如下
模型的检测结果以及与传统算子Prewitt算子比较如图4所示。由图4可以看出,利用Prewitt算子对图像进行检测的效果较好,但存在伪边缘。而24邻域模型的检测结果并没有出现伪边缘,这说明利用本文提出的基于支持向量机的边缘检测算法可以很好地提取边缘。边缘检测的性能得到提高。

5  结束语
本文提出利用支持向量机对图像进行边缘检测,介绍了算法在图像边缘检测时对模型的构建方法,说明了检测算法的训练策略。从仿真结果可以看出:本文提出的检测算法在与传统检测算法例如Prewitt算法相比时,边缘检测性能得到提高。

参考文献:
[1] 徐彤阳,姚跃华,朱志勇.一种基于支持向量机的图像边缘检测方法[J].计算机发展与应用,2005,15(1):87-90.
[2] 张学工.关于统计学习理论与支持向量机[J].自动化学报,2000,26(1):34-42.
[3] S.KONISHI,L.A.YUILLE,J.M.COUNGHLAN.A Statistical Approach to Multi-scale Edge Detection[J].Image Vision Comput,2003,21(1):37-48.
[4] 王玉震,李雷.基于SVR的图像增强方法[J].计算机技术与发展,2009,19(1):60-62.
[5] 周德龙.图像模糊边缘检测的改进方法[J].中国图像图形学报,2001,23(4):34-48.
[6] P.ELI.Feature detection algorithm based on a visual system model[J].Proceedings of the IEEE,2002,90(1):78-94.
[7] J.A.SUYKENS,J.Vandewale.Least squares support vector machine classifiers[J].Neural Porcessing Letter,1999,9(3):293-300.
[8] G.H.MORENO,M.S.Bascon.Edge detection in noise images using the support vector machine[M].Lecture Note on Computer Science.Heidelberg:Springer-Verlag,2001:685-692.
[9] R.RISHI and P.CHAUDHURI.Thresholding in edge detection: a statistical approach[J].IEEE Tran on Image Processing,2004,13(7):927-936.
[10] Burges.A tutorial on support vector machine for pattern recognition[J].Data Maining and Knowledge Discovery,1998,2(2):121-127.
[11] 吴涛.核函数的性质、方法机器在障碍检测中的应用[D].北京:国防科技大学,2003:27-32.

作者简介:吴鹏(1980-),男,工学博士,讲师,研究方向:非线性控制、鲁棒控制。

本文地址:本文地址: http://www.ca800.com/apply/d_1nrutga2l2e00_1.html

拷贝地址

上一篇:自来水厂监控系统

下一篇:小型港口电力设施防盗视频监控系统建设

免责声明:本文仅代表作者个人观点,与中国自动化网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容!