内蒙古科技大学本科毕业论文二〇一二年 4 月摘要本文先介绍了一般边缘检测的步骤和灰度图像形态学的主要操作。
着重讨论基于细胞神经网络的一般灰度图像的边缘提取和图像分割。
先陈述了几种传统算法,并比较了各算法的优劣。
通过例举介绍CNN 基本知识,详细描述了用CNN 提取图像边缘的过程,给出算法流程,阐述算法实现中的关键步骤。
对二值图像和灰度图像,分别采用基于CNN 的算法和传统算子(prewitt、sobel、canny)进行边缘提取,给出提取效果图,定性比较两类算法在性能上的优劣。
来直接的了解灰度图像边缘提取的方法。
关键字:灰度图像,边缘提取,分割,CNN算法,传统算子AbstractThis paper first introduces the general steps of gray image edge detection and morphology of the main operation. Focuses on the cellular neural network based general gray image edge extracting and image segmentation. Through the examples of introduction of basic knowledge of CNN, a detailed description of the CNN image edge extraction process, the algorithm process, the key step in the algorithm implementation. On two value image and the gray scale image, which are based on CNN algorithm and the traditional operator ( Prewitt, Sobel, canny ) edge extraction, given the extraction effect chart, qualitative comparison of two algorithms in performance on the quality of. To direct understanding of gray image edge extraction method.Keywords: image, edge detection, segmentation, CNN algorithm, the traditional operator引言 (5)1、灰度图像边缘检测 (6)1.1、边缘检测的步骤 (6)2、几种边缘提取算子 (6)2.1 Roberts算子 (6)2.2、Sobel算子 (7)2.3、Prewitt算子由下式给出 (7)2.4、Canny算子 (8)3.传统算子的优缺点 (8)3.1 Sobel算子 (8)3.2 Robert算子 (8)3.3 Prewitt算子 (8)3.4 Canny算子 (9)4、基于细胞神经网络的灰度图像边缘提取 (9)4.1、CNN 基本知识 (9)4.2、基于CNN 的图像边缘提取 (11)4.3、图像分割的质量评价 (12)4.4、实验分析 (14)结论 (16)参考文献 (17)致谢 (18)图像边缘是图像信息中某种不连续性的表现形式,是图像最基本的特征之一。
在图像处理和模式识别中图像的边缘检测是一个重要的研究课题,也是分析和理解图像的第一步,其检测质量直接影响着后续的图像处理及解译。
传统的图像边缘检测方法主要有基于空间域和空间频率域算法。
基于空间域的典型算法有Robert、Prewitt、Sobel、Canny算子等,图像边缘包含图像的绝大部分有用信息,因而图像识别、匹配等具有很大的研究价值。
灰度图像边缘提取方法综述1、灰度图像边缘检测1.1、边缘检测的步骤1.滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。
需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折中。
2.增强:增强边缘的基础是确定图像各点邻域强度的变化值。
增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。
边缘增强一般是通过计算梯度幅值来完成的。
3.检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。
最简单的边缘检测判据是梯度幅值阈值判据。
4.定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。
在边缘检测算法中,前三个步骤用得十分普遍。
这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向。
边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。
我们将边缘定义为图像中灰度发生急剧变化的区域边界。
图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。
经典的边缘检测方法,是通过对原始图像中像素的某小邻域构造边缘检测算子来达到检测边缘这一目的的。
2、几种边缘提取算子2.1 Roberts算子Roberts算子是一种利用局部差分算子寻找边缘算子,它由下式给出:[][]22yfx•=yyxfyxg (2-1)yffxx+()1,1),(+)1(,1+)+,(+•,()其中)f和)1yx,1f分别为4领域的坐标,(+x+y(+xf、),,,1(yf+、)1x(y且是具有整数像素坐标的输入图像;其中的平方根运算使得该处理类似于视觉系统中发生的过程。
Roberts算子是22⨯算子模版。
图1所示的2个卷积被形成了Roberts算子,图像中的每一个点都用这两个核做卷积。
图1 Roberts 算子2.2、Sobel 算子Sobel 算子是一种一阶微分算子,它是利用像素邻近区域的梯度值来计算1个像素的梯度,然后根据一等的阈值来取舍。
它由下式给出:2122)(dy dx S += (2-2)Sobel 算子是33⨯算子模版。
图2所示的2个卷积核dy dx ,形成Sobel 算子。
一个核对通常的垂直边缘响应最大,而另一个核对水平边缘响应最大。
2个卷积的最大值作为该店的输出值,运算结果是一幅边缘幅度图像。
图2 Sobel 算子2.3、Prewitt 算子由下式给出2122)(dy dx S p += (2-3)Prewitt 算子是33⨯算子模版。
图3所示的2个卷积形成了Prewitt 算子。
与Sobel 算子的方法一样,图形中的每个点都用这2个核进行卷积,取最大值作为输出值。
Prewitt 算子也产生一幅边缘幅度图像。
图3 Prewitt 算子2.4、Canny 算子Canny 算子是一阶算子,其方法的实质是用1个准高斯函数做平滑运算),(),(y x G y x f f s •=,然后以带方向的一阶微分算子定位导数最大值。
平滑后),(y x f s 的梯度可以使用22⨯的一阶有限差分近似式:[]2),1()1,1(),()1,(),(j i f j i f j i f j i f j i P s s s s +-+++-+≈[]2)1,1()1,(),1(),(),(++-+++-≈j i f j i f j i f j i f j i Q s s s s (2-4) 在这个22⨯正方形内求有限差分的均值,便于在图像中的同一点计算x 和y 的偏导数梯度。
幅值和方向角可用直角坐标到极坐标的坐标转化来计算: 22),(),(),(j i Q j i P j i M += []),(),(arctan ),(j i P j i Q j i =θ (2-5)),(j i M 反映了图像的边缘强度;),(j i θ反映了边缘的方向。
使得),(j i M 取得局部最大方向角),(j i θ,就反映了边缘的方向。
Canny 算子也可用高斯函数的梯度来近似,在理论上很接近4个指数函数的线性组合形成的最佳边缘算子。
在实际编程应用中较为复杂且运算较慢。
3.传统算子的优缺点3.1 Sobel 算子由于Sobel 算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数,简单有效,因此应用广泛。
美中不足的是,Sobel 算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel 算子没有基于图像灰度进行处理,由于Sobel 算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。
在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们可以给出阈值化轮廓提取算法,3.2 Robert 算子根据任一相互垂直方向上的差分都用来估计梯度,Robert 算子采用对角方向相邻像素差。
它定位比较精确,但由于不包括平滑,所以对噪声比较敏感。
3.3 Prewitt 算子该算子与Sobel 算子类似,只是权值有所变化,但两者实现起来功能还是有差距的,据经验得知Sobel 要比Prewitt 更能准确检测图像边缘。
3.4 Canny 算子该算子功能比前面几种都要好,但是它实现起来较为麻烦,Canny 算子是一个具有滤波,增强,检测的多阶段的优化算子,在进行处理前,Canny 算子先利用高斯平滑滤波器来平滑图像以除去噪声,Canny 分割算法采用一阶偏导的有限差分来计算梯度幅值和方向,在处理过程中,Canny 算子还将经过一个非极大值抑制的过程,最后Canny 算子还采用两个阈值来连接边缘。
该算法已在数学上证明当像素点满足正态分布时所求解是最优的。
4、基于细胞神经网络的灰度图像边缘提取4.1、CNN 基本知识细胞神经网络是一个大规模非线性模拟系统,结构如图4所示。
细胞神经网络中,任一细胞仅与邻近细胞相连,彼此之间直接影响;但由于细胞神经网络具有连续时间动力性的传递作用,非邻近细胞之间可以间接相互作用。
定义1 一个二维M ×N 细胞神经网络中处于第i 行第j 列的细胞记为C(i ,j)。
图4 细胞神经网络结构定义2 C(i ,j)的r 邻域(影响域)定义为}1,,},max{|),({),(lN lkM r j l i k l k C j i N r --= 式中:r ——正整数。
细胞神经网络的公式推导如下:状态方程:I l k j i B t v l k j i A t v R dt t dv C j i N l k c ykl j i N l k c xij x xij r r +++-=∑∑∈∈),;,()(),;,()(1)(),(),(),(),( (4-1) 输出方程:)1)(1)((21)(--+=t v t v t v xij xij yij N j M i ≤≤≤≤1,1(4-2) 输入方程:ij uij E v = N j M i ≤≤≤≤1,1 (4-3)约束条件:1)0(≤xij v N j M i ≤≤≤≤1,11≤uij v N j M i ≤≤≤≤1,1 (4-4)参数假设:),;,(),;,(j i l k A l k j i A = N j M i ≤≤≤≤1,100>>x R C (4-5)方程(4-1)~(4-5)中各符号定义如下:)(t v xij 、)(t v yij 和)(t v uij 分别是细胞 C(i ,j)的状态、输出和输入信号(或电压);I 是偏差电流(或阈值);C 和Rx 分别是线性电容和电阻;A(i ,j;k ,l)和B(i ,j;k ,l)分别是反馈算子和控制算子;f 为输出函数,由分段线性函数f(v) =0.5(|v+1| |v 1|)给出,其形状如图5 所示。