您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 北邮计算机视觉chp06
2020年9月16日星期三北京邮电大学自动化1边缘检测Chapter6EdgeDetection第6章2020年9月16日星期三北京邮电大学自动化2•边缘(edge)是指图像局部强度变化最显著的部分.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,•图像分割、纹理特征和形状特征等图像分析的重要基础.•图像强度的不连续可分为:(1)阶跃不连续,即图像强度在不连续处的两边的像素灰度值有着显著的差异;(2)线条不连续,即图像强度突然从一个值变化到另一个值,保持一较小行程后又回到原来的值.1、边缘检测的基本定义2020年9月16日星期三北京邮电大学自动化3两种常见的边缘一阶导数和二阶导数示意图(a)阶跃函数(b)线条函数理论曲线实际曲线2020年9月16日星期三北京邮电大学自动化4边缘点(Edgepoint):在亮度显著变化的位置上的点.边缘段(Edgesegment):对应于边缘点坐标及其方位.边缘检测器(Edgedetector):从图像中抽取边缘集合的算法.轮廓(Boundary):边缘列表或一条表示边缘列表的拟合曲线.边缘连接(Edgelinking):从无序边缘表形成有序边缘表的过程.边缘跟踪(Edgetracking):一个用来确定轮廊的图像搜索过程.2、术语定义2020年9月16日星期三北京邮电大学自动化53、梯度梯度是一阶导数的二维等效式,定义为矢量yfxfyxGGyxG),((1)向量的方向就是函数增大时的最大变化率方向;(2)梯度的幅值和方向:22|),(|yxGGyxGyxGGyxG|),(|),max(|),(|yxGGyxG)/arctan(),(xyGGyxa2020年9月16日星期三北京邮电大学自动化6用差分来近似梯度:j对应于x轴方向,i对应于y负轴方向,用简单卷积模板表示:],1[],[],[]1,[jifjifGjifjifGyx采用上面公式计算的梯度近似值Gx和Gy并不位于同一位置,Gx实际上是内插点[i,j+1/2]处的梯度近似值,Gy是内插点[i+1/2,j]处的梯度近似值.由于这个缘故,人们常常使用一阶差分模板(而不用或模板)来求x和y的偏导数。2221122020年9月16日星期三北京邮电大学自动化7基本步骤:(1)滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能.需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折衷.(2)增强:增强边缘的基础是确定图像各点邻域强度的变化值.增强算法可以将邻域(或局部)强度值有显著变化的点突显出来.边缘增强一般是通过计算梯度幅值来完成的.(3)检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点.最简单的边缘检测判据是梯度幅值阈值判据.(4)定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来.4、边缘检测算法2020年9月16日星期三北京邮电大学自动化8(1)Roberts算子用卷积模板表示:]1,[],1[]1,1[],[],[jifjifjifjifjiG梯度交叉算子梯度幅值计算近似方法:2020年9月16日星期三北京邮电大学自动化9(2)Sobel算子梯度幅值:其中的偏导数用下式计算:c=2用卷积模板来实现22yxssM)()()()(456210670432acaaacaasacaaacaasyx请注意:Sobel算子把重点放在接近于模板中心的像素点.Sobel算子是边缘检测器中最常用的算子之一.2020年9月16日星期三北京邮电大学自动化10(3)Prewitt算子与Sobel算子的方程完全一样,但c=1该算子没有把重点放在接近模板中心的像素点.2020年9月16日星期三北京邮电大学自动化11(4)各种算法的比较图6.2用于边缘检测的测试图像(a)原始图像(b)7x7高斯滤波的图像2020年9月16日星期三北京邮电大学自动化12图6.3各种边缘检测器对未经滤波的图像进行边缘检测的比较.(a)Roberts交叉算子.(b)Sobel算子.(c)Prewitt算子.2020年9月16日星期三北京邮电大学自动化13图6.4各种边缘检测器对滤波后的图像进行边缘检测的结果.(a)Roberts交叉算子.(b)Sobel算子.(c)Prewitt算子2020年9月16日星期三北京邮电大学自动化145、二阶微分算子如果所求的一阶导数高于某一阈值,则确定该点为边缘点.这样做会导致检测的边缘点太多.一种更好的方法就是求梯度局部最大值对应的点,并认定它们是边缘点,通过去除一阶导数中的非局部最大值,可以检测出更精确的边缘.一阶导数的局部最大值对应着二阶导数的零交叉点.这样,通过找图像强度的二阶导数的零交叉点就能找到边缘点.2020年9月16日星期三北京邮电大学自动化15(1)拉普拉斯算子拉普拉斯算子是二阶导数的二维等效式:22222yfxff],[])1,[2]2,[(],[]1,[]),[]1,[(22jifjifjifxjifxjifxjifjifxGxfx这一近似式是以点[i,j+1]为中心的.用j-1替换:2020年9月16日星期三北京邮电大学自动化16用算子表示:希望邻域中心点具有更大的权值0101410102141420414122020年9月16日星期三北京邮电大学自动化17(2)二阶方向导数已知图像曲面,方向导数为cos),(sin),(yyxfxyxff二阶方向导数为222222222cos),(cossin),(2sin),(yyxfyxyxfxyxff在梯度方向上的二阶导数为22222222222yfxfyfyfyfxfyxfxfxff2020年9月16日星期三北京邮电大学自动化18拉普拉斯的二阶方向导数算子在机器视觉中并不常用,因为任何包含有二阶导数的算子比只包含有一阶导数的算子更易受噪声的影响.甚至一阶导数很小的局部峰值也能导致二阶导数过零点.为了避免噪声的影响,必须采用特别有效的滤波方法.下面我们讨论高斯滤波与二阶导数相结合的边缘检测方法.2020年9月16日星期三北京邮电大学自动化196、LoG算法基本特征:•平滑滤波器是高斯滤波器.•增强步骤采用二阶导数(二维拉普拉斯函数).•边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值.•使用线性内插方法在子像素分辨率水平上估计边缘的位置.Marr和Hildreth将高斯滤波和拉普拉斯边缘检测结合在一起,形成LoG(LaplacianofGaussian)算法,也称之为拉普拉斯高斯算法.2020年9月16日星期三北京邮电大学自动化20LoG算子的输出是通过卷积运算得到的hxygxyfxy(,)[(,)(,)]2根据卷积求导法有其中:hxygxyfxy(,)[(,)](,)22222422222gxyxyexy(,)两种方法在数学上是等价的:1.求图像与高斯滤波器卷积,再求卷积的拉普拉斯变换.2.求高斯滤波器的拉普拉斯变换,再求与图像的卷积.2020年9月16日星期三北京邮电大学自动化212222422222gxyxyexy(,)一维和二维高斯函数的拉普拉斯变换图的翻转图,其中=2.称之为墨西哥草帽算子2020年9月16日星期三北京邮电大学自动化225X5拉普拉斯高斯模板2020年9月16日星期三北京邮电大学自动化23拉普拉斯高斯边缘检测结果2020年9月16日星期三北京邮电大学自动化247、Canny边缘检测器检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点.检测阶跃边缘的大部分工作集中在寻找能够用于实际图像的梯度数字逼近.图像梯度逼近必须满足两个要求:(1)逼近必须能够抑制噪声效应,(2)必须尽量精确地确定边缘的位置.抑制噪声和边缘精确定位是无法同时得到满足的,也就是说,边缘检测算法通过图像平滑算子去除了噪声,但却增加了边缘定位的不确定性;反过来,若提高边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感性.有一种线性算子可以在抗噪声干扰和精确定位之间提供最佳折衷方案,它就是高斯函数的一阶导数。2020年9月16日星期三北京邮电大学自动化252/])1,1[]1,[],1[],[(],[2/]),1[]1,1[],[]1,[(],[jiSjiSjiSjiSjiQjiSjiSjiSjiSjiP3)幅值和方位角:22],[],[,jiQjiPjiM)],[/],[(arctan],[jiPjiQji],[];,[],[jiIjiGjiS2)使用2x2一阶有限差分计算偏导数的两个阵列P与Q:1)求图像与高斯平滑滤波器卷积:2020年9月16日星期三北京邮电大学自动化264)非极大值抑制(Non-MaximaSuppression,NMS):幅值图像阵列M[i,j]的值越大,其对应的图像梯度值也越大,但这还不足以确定边缘,因为这里仅仅把图像快速变化的问题转化成求幅值阵列M[i,j]的局部最大值问题.为确定边缘,必须细化幅值图像中的屋脊带(Ridge),即只保留幅值局部变化最大的点.这一过程叫非极大值抑制(Non-MaximaSuppression,NMS),它会生成细化的边缘.2020年9月16日星期三北京邮电大学自动化27*方向角:j])[i,Sector(],[ji非极大值抑制通过抑制梯度线上所有非屋脊峰值的幅值来细化M[i,j]中的梯度幅值屋脊.这一算法首先将梯度角θ[i,j]的变化范围减小到圆周的四个扇区之一,如图所示。四个扇区的标号为0到3,对应着3x3邻域内元素的四种可能组合,任何通过邻域中心的点必通过其中一个扇区.2020年9月16日星期三北京邮电大学自动化28*幅值:)],[],,[NMS(,jijiMjiN算法使用一个3x3邻域作用于幅值阵列M[i,j]的所有点.在每一点上,邻域的中心像素M[i,j]与沿着梯度线的两个元素进行比较,其中梯度线是由邻域的中心点处的扇区值ζ[i,j]给出的.如果在邻域中心点处的幅值M[i,j]不比沿梯度线方向上的两个相邻点幅值大,则M[i,j]赋值为零.这一过程可以把M[i,j]宽屋脊带细化成只有一个像素点宽.在非极大值抑制过程中,保留了屋脊的高度值.表示非极大值抑制过程.N[i,j]中的非零值对应着图像强度阶跃变化处的对比度.尽管在边缘检测的第一步对图像进行了平滑,但非极大值抑制幅值图像N[i,j]仍会包含许多由噪声和细纹理引起的假边缘段.2020年9月16日星期三北京邮电大学自动化295)阈值化*将低于阈值的所有值赋零值,得到图像的边缘阵列.*阈值τ太低假边缘。*阈值τ太高部分轮廊丢失.*选用两个阈值:更有效的阈值方案.基本思想:①取高低两个阈值t1,t2作用在幅值图N[i,j],t1=2t2;②得到两个边缘图,高阈值和低阈值边缘图;③连接高阈值边缘图,出现断点时,在低阈值边缘图中的8邻点域搜寻边缘点。2020年9月16日星期三北京邮电大学自动化30算法6.1Canny边缘检测(1)用高斯滤波器平滑图像;(2)用一阶偏导有限差分计算梯度幅值和方向;(3)对梯度幅值应用非极大值抑制;(4)用双阈值算法检测和连接边缘.2020年9月16日星期三北京邮电大学自动化317X7高斯滤波模板13X13高斯滤波模板2020年9月16日星期三
本文标题:北邮计算机视觉chp06
链接地址:https://www.777doc.com/doc-6965308 .html