边缘检测是什么

边缘识别又称边缘检测,是模仿人类视觉的一个过程。在检测物体边缘时, 先对其轮廓点进行粗略检测, 然后通过链接规则把原来检测到的轮廓点连接起来, 同时也检测和连接遗漏的边界点及去除虚假的边界。

边缘识别又称边缘检测,是模仿人类视觉的一个过程。在检测物体边缘时, 先对其轮廓点进行粗略检测, 然后通过链接规则把原来检测到的轮廓点连接起来, 同时也检测和连接遗漏的边界点及去除虚假的边界。边缘检测的目的是去发现图像中关于形状和反射或透射比的信息, 是图像处理、图像分析、模式识别、计算机视觉以及人类视觉的基本步骤之一。

简介

图像的边缘是图像最基本也是最重要的特征之一。边缘检测一直是计算机视觉和图像处理领域的经典研究课题之一。图像分析和理解的靠前步常常是边缘检测。边缘检测的目的是去发现图像中关于形状和反射或透射比的信息,是图像处理、图像分析、模式识别、计算机视觉以及人类视觉的基本步骤之一。其结果的正确性和可靠性将直接影响到机器视觉系统对客观世界的理解。

人类视觉系统认识目标的过程分为两步:首先,把图象边缘与背景分离出来;然后,才能知觉到图象的细节,辨认出图象的轮廓。计算机视觉正是模仿人类视觉的这个过程。因此在检测物体边缘时,先对其轮廓点进行粗略检测,然后通过链接规则把原来检测到的轮廓点连接起来,同时也检测和连接遗漏的边界点及去除虚假的边界点。

边缘识别的实质是采用某种算法来提取出图像中的对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以利用局部图像微分技术获得边缘检测算子。

图像边缘

图像的大部分信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,即图像中灰度变化比较剧烈的地方。因此,我们把边缘定义为图像中灰度发生急剧变化的区域边界。根据灰度变化的剧烈程度,通常将边缘划分为阶跃状和屋顶状两种类型。阶跃边缘两边的灰度值变化明显,而屋顶边缘位于灰度值增加与减少的交界处。那么,对阶跃边缘和屋顶边缘分别求取一阶、二阶导数就可以表示边缘点的变化。因此,对于一个阶跃边缘点,其灰度变化曲线的一阶导数在该点达到极大值,二阶导数在该点与零交叉;对于一个屋顶边缘点,其灰度变化曲线的一阶导数在该点与零交叉;二阶导数在该点达到极大值。

边缘识别步骤及要求

边缘识别的步骤

边缘识别主要包括以下四个步骤:

(1)图像滤波

边缘检测算法主要是基于图像亮度的一阶和二阶导数,但是导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。

(2)图形增强

增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域强度值有显著变化的点突出显示。

(3)图像检测

在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,应该用某些方法来确定那些是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。

(4)图像定位

如果某一应用场合要求确定边缘位置,则边缘的位置可以在子像素分辨率上来估计,边缘的方位也可以被估计出来。

边缘识别要求

对于图像的边缘检测来说,一般在识别过程中有如下的要求:

(1)首先能够正确的检测出有效的边缘;

(2)边缘定位的精度要高;

(3)检测的响应最好是单像素的;

(4)对于不同尺度的边缘都能有较好的响应并尽量减少漏检;

(5)对噪声应该不敏感;

(6)检测的灵敏度受边缘方向影响应该小。

这些要求往往都很矛盾,很难在一个边缘检测器中得到完全的统一。判断边缘检测器性能的方法是先看边缘图像,再评价其性能,边缘检测器的响应中主要有三种误差:丢失的有效边缘、边缘定位误差和将噪声误判断为边缘。为了定量的评价边缘检测器的性能,1991 年 Pratt 提出了一种综合考虑上述三种因素的品质因数因素公式—Pratt 品质因数

其中 IA,II,d,α分别是检测到的边缘、理想边缘、实际边缘与理想边缘间的距离和用于惩罚错误边缘的设计常数。但是由于包括了丢失的边缘点、边缘点的位置和错误的边缘,因此,只能用于有限的几种图像。

传统边缘识别方法

边缘识别的实质是采用某种算法来提取出图像中的对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以利用局部图像微分技术获得边缘检测算子。经典的边缘检测方法是对原始图像中像素的某小邻域来构造边缘检测算子。

基于灰度直方图

基于灰度直方图门限法的边缘检测是一种最常用、最简单的边缘检测方法。对检测图像中目标的边缘效果很好。图像在暗区的像素较多,而其他像素的灰度分布比较平坦。为了检测出图像物体的边缘,把直方图用门限 T 分割成两个部分,然后对图像 f(i,j)实施以下操作:

(1)扫描图像 f(i,j)的每一行,将所扫描的行中每一个像素点的灰度与 T 比较后得 g1(i,j);

(2)再扫描图像 f(i,j)的每一列,将所扫描的列中每一个像素点的灰度与 T 比较后得 g2(i,j);

(3)将 g1(i,j)与 g2(i,j)合并,即得到物体的边界图像 g(i,j)。

在以上过程中,门限 T 的选择将直接影响边缘检测的质量。由于直方图往往很粗糙,再加上噪声的影响更是参差不齐。这样就使得求图像极大、极小值变得困难。因此,可以用两条二次高斯曲线对目标和景物所对应的峰进行拟合,然后求二者的交点,并作为谷底,选取对应的灰度值为门限 T,或用一条二次曲线拟合直方图的谷底部分,门限 T 可取为 T=-b/2a。

基于梯度

梯度对应一阶导数,梯度算子就是一阶导数算子。在边缘灰度值过渡比较尖锐,且在图像噪声比较小时,梯度算子工作的效果较好,而且对施加的运算方向不予考虑。对于一个连续图像函数 f(x,y),其梯度可表示为一个矢量

这个矢量的幅度和方向角分别为

以上各式的偏导数需对每个像素的位置计算,在实际中常用小区域模板进行卷积来近似计算。对 Gx 和 Gy 各用一个模板,将两个结合起来就构成一个梯度算子。根据模板的大小和元素值的不同,已提出许多不同的算子,常见的有 Roberts 边缘检测算子、Sobel 边缘检测算子、Prewitt 边缘检测算子、Robinson 边缘检测算子等.

1.Roberts 边缘算子

Roberts 边缘检测算子是根据任意一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻像素之差。Roberts 边缘检测算子采用对角线方向相邻像素之差近似检测边缘,定位精度高,在水平和垂直方向效果较好,但对噪声敏感。

2.Sobel 边缘检测算子

将图像中的每个像素的上、下、左、右四邻域的灰度值加权差,与之接近的邻域的权最大。Sobel 算子利用像素的上、下、左、右邻域的灰度加权算法,根据在边缘点处达到极值这一原理进行边缘检测。该方法不但产生较好的检测效果,而且对噪声具有平滑作用,可以提供较为精确的边缘方向信息。但是,在抗噪声好的同时增加了计算量,而且也会检测伪边缘,定位精度不高。如果检测中对精度的要求不高,该方法较为常见。

3.Prewitt 边缘算子

Prewitt 边缘算子是一种边缘样板算子。样板算子由理想的边缘子图像构成,依次用边缘样板去检测图像,与被检测区域最为相似的样板给出最大值,用这个最大值作为算子的输出。

由图所示的两个卷积算子形成了 Prewitt 边缘算子,与使用 Sobel 边缘算子的方法一样,图像中每个像素都用这两个核做卷积,取最大值作为输出,运算结果就是一幅边缘图像。适当取门限 TH,如果 R(i,j)≥TH 则为阶跃边缘点。

Prew itt 边缘算子

Robinson 边缘算子也是一种边缘样板算子,其算法和 Prewitt 边缘算子相似,只是边缘样板不同。

4.Laplacan 边缘算子

Laplacan 算子是二阶微分算子,它具有旋转不变性,即各向同性的性质。数字图像函数的拉普拉斯算法也是借助各种模板卷积实现的。这里对模板的基本要求是对应中心像素的系数应是正的,而对应中心像素临近像素的系数应是负的,且所有系数的和应该是零,这样不会产生灰度偏移,实现拉普拉斯运算的几种模板见图。

Laplacan 边缘算子

拉普拉斯边缘算子的缺点是:由于为二阶差分,双倍加强了噪声的影响;另外它产生双像素宽的边缘,且不能提供边缘方向的信息,因此,拉普拉斯算子很少直接用于边缘检测,而主要用于已知边缘像素,确定该像素是在图像的暗区还是在明区。其优点是各向同性,不但可以检测出绝大部分边缘。

5.Canny 边缘检测算子

Canny 算子的基本思想是先将图像使用高斯函数 Gauss 进行平滑,再由一阶微分的极大值确定边缘点。二阶微分的零交叉点不仅对应着一阶导数的极大值,而且也对应着一阶导数的极小值。换句话说,图像中灰度变化剧烈的点与变化缓慢的点都对应着二阶导数零交叉点。因此,Canny 算子可能会引入伪边缘点。

6.LOG 滤波器

LOG 滤波器又称 Marr-Hildreth 模板或算子。

即先对图象平滑,后拉氏变换求二阶微分,等效于把拉氏变化作用于平滑函数,得到 1 个兼有平滑和二阶微分作用的模板,再与原来的图象进行卷积。用 Marr-Hildreth 模板与图象进行卷积的优点在于,模板可以预先算出,实际计算可以只进行卷积。

LOG 滤波器有以下特点:

(1)通过图象平滑,消除了一切尺度小于σ的图象强度变化;

(2)若用其它微分法,需要计算不同方向的微分,而它无方向性,因此可以节省计算量;

(3)它定位精度高,边缘连续性好,可以提取对比度较弱的边缘点。

LOG 滤波器也有它的缺点:当边缘的宽度小于算子宽度时,由于过零点的斜坡融合将会丢失细节。

几种算子的比较

Roberts 算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。Prewitt 算子和 Sobel 算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测的图象边缘可能大于 2 个像素。这两者对灰度渐变低噪声的图象有较好的检测效果,但是对于混合多复杂噪声的图象,处理效果就不理想了。LOG 滤波器方法通过检测二阶导数过零点来判断边缘点。LOG 滤波器中的σ正比于低通滤波器的宽度,σ越大,平滑作用越显著,去除噪声越好,但图象的细节也损失越大,边缘精度也就越低。所以在边缘定位精度和消除噪声级间存在着矛盾,应该根据具体问题对噪声水平和边缘点定位精度要求适当选取σ。而且 LOG 方法没有解决如何组织不同尺度滤波器输出的边缘图为单一的、正确的边缘图的具体方法。Canny 方法则以一阶导数为基础来判断边缘点。它是一阶传统微分中检测阶跃型边缘效果最好的算子之一。它比 Roberts 算子、Sobel 算子和 Prewitt 算子极小值算法的去噪能力都要强,但它也容易平滑掉一些边缘信息。


免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考;文章版权归原作者所有!本站作为信息内容发布平台,页面展示内容的目的在于传播更多信息;本站不提供任何相关服务,阁下应知本站所提供的内容不能做为操作依据。市场有风险,投资需谨慎!如本文内容影响到您的合法权益(含文章中内容、图片等),请及时联系本站,我们会及时删除处理。


为您推荐