第二节 边缘和线特征提取
线特征提取算子 线特征是指图像的“边缘”与“线” “边缘”可定义为图像局部区域特征不相同的那些区域间的分界线,而“线”则可以认为是具有很小宽度的其中间区域具有相同的图像特征的边缘对 常用方法有差分算子、拉普拉斯算手、LOG算子等
边缘(线)的灰度特征
一、微分算子 1.梯度算子
差分算子 -1 1 近似 -1 1 对于一给定的阈值T,当大于T时,则认为像素(i,j)是边缘上的点。
Roberts梯度算子 -1 1 -1 1
Sobel算子 考察它上下、左右邻点灰度的加权差。与之接近的邻点的权大: i, j
Prewitt算子与Sobel算子 Prewitt算子 Sobel 算子 加大模扳抑制噪声 -1 1 -1 1 -1 -2 1 2 -1 1 1 -1 1 Prewitt算子 -1 -2 1 2 -1 1 -2 2 Sobel 算子 加大模扳抑制噪声
二. 二阶差分算子
二阶差分算子 1.方向二阶差分算子 i, j i, j
方向二阶差分算子 i, j
拉普拉斯算子(Laplace) i, j
拉普拉斯算子(Laplace) 卷积核掩膜 取其符号变化的点,即通过零的点为边缘点,因此通常也称其为零交叉(zero-Crossing)点
拉普拉斯算子(Laplace) 6 -6 3 -3
高斯一拉普拉斯算子(LOG) 首先用高斯函数先进行低通滤波,然后利用拉普拉斯算子进行高通滤波并提取零交叉点, 高斯函数 低通滤波 边缘提取
高斯一拉普拉斯算子(LOG) 以LOG算子为卷积核,对原灰度函数进行卷积运算后提取零交叉点为边缘
LoG边缘检测算法 基本特征: 平滑滤波器是高斯滤波器. 采用拉普拉斯算子计算二阶导数. 边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值. 使用线性内插方法在子像素分辨率水平上估计边缘的位置. (Marr & Hildreth)
LoG边缘检测算法 墨西哥草帽算子: 5X5拉普拉斯高斯模板
Canny 边缘检测器(1986,PAMI) 算法步骤: 为什么用高斯滤波器? 1. 用高斯滤波器平滑图像. 1. 用高斯滤波器平滑图像. 2. 用一阶偏导有限差分计算梯度幅值和方向. 3. 对梯度幅值进行非极大值抑制 . 4. 用双阈值算法检测和连接边缘. 为什么用高斯滤波器? 平滑去噪和边缘检测是一对矛盾,应用高斯函数的一阶导数,在二者之间获得最佳的平衡。
步1. 图像与高斯平滑滤波器卷积: 步2. 使用一阶有限差分计算偏导数阵列P与Q: 步3. 计算梯度幅值与方向角:
步4. 非极大值抑制(NMS ) : * 方向角离散化: * 抑制,得到新幅值图: 去掉幅值局部变化非极大的点. * 将梯度角离散为圆周的四个扇区之一,以便用3×3的窗口 作抑制运算 * 方向角离散化: * 抑制,得到新幅值图:
步5. 阈值化 取高低两个阈值作用于幅值图N[i,j],得到两个边缘图:高阈值和低阈值边缘图。连接高阈值边缘图,出现断点时,在低阈值边缘图中的8邻点域搜寻边缘点。 Why? * 阈值太低假边缘; * 阈值太高部分轮廊丢失. * 选用两个阈值: 更有效的阈值方案.
边缘检测算子比较结果 Sobel
Prewitt Roberts
Laplacian of Gaussian Canny
Sobel Roberts Prewitt Canny Laplacian of Gaussian 原始图像
边缘提取只能在灰度空间下吗?
三. 基于边缘检测的边界提取方法 利用LOG算子,Canny边缘检测器等完成边缘检测. 如果图像中存在噪声时,用算子得到的边缘常常是孤立的或者非连续的. 采用边缘闭合的方法进行处理,得到各个区域的边界,实现图像分割.
边界跟踪 方法:从灰度图像中的一个边缘出发,依次搜索并连接相邻边缘点,从而逐步检测出边界 步骤: 1.确定搜索的起始点 2.采取合适的数据结构和搜索机理,确定新边界 3.确定搜索终结准则或停止条件 方法:8邻域搜索法,跟踪虫搜索法,边界分段拟和
跟踪虫搜索算法
四.Hough变换 用于检测图像中直线、圆、抛物线、椭圆等 图像空间
对于图像空间直线上任一点(x,y)变换将其映射到参数空间(,)的一条正弦曲线上
图像空间 参数空间 映射 正弦曲线 正弦曲线共线点
Hough变换步骤 对图像进行预处理提取特征并计算其梯度方向. 将(,)参数平面量化,设置二维累计矩阵H(i,j). 边缘细化,即在边缘点的梯度方向上保留极值点而剔除那些非极值点. 对每一边缘点,以其梯度方向为中心,设置一小区间[-o,+o].在此小区间内的量化值计算相应的值,并给相应的累计矩阵元素加一个单位值
Hough变换 对累计矩阵进行阈值检测,将大于阈值的点作为备选点. 取累计矩阵中备选点中的极大值点为所需的峰值点,即所检测直线的参数。 (,)
五 消失线
Is this parachuter higher or lower than the person taking this picture? Lower—he is below the horizon
投影平面 齐次坐标系 用于表示无穷远处的点,即消失点 消失点具有单应性 图像中的一个点对应于投影空间的一条射线 y (sx,sy,s) (x,y,1) (0,0,0) x z image plane 图像平面上每个点 (x,y) 对应于一条射线 (sx,sy,s) 射线上所有点在齐次坐标系下是等价的: (x, y, 1) (sx, sy, s)
直线的投影 图像中的一条直线对应于投影空间中的什么呢? l p 直线对应于一个通过初始直线的平面(由无数条射线构成) 每条射线 (x,y,z)满足: ax + by + cz = 0 一条直线也可以表示为一个三维向量 l l p
点与直线的二元性质 直线l 是一个齐次的三维向量 它 于直线上的每个点(射线)p : l p=0 可以得出结论: l 于 p1 和 p2 l = p1 p2 l 是平面的法线 假设有两条直线 l1 and l2 ,其交点对应于平面内一点P p 于 l1 和 l2 p = l1 l2 所以,点和直线在投影空间内具有二元性
理想的点和直线 理想点 (“无穷远处的点”) p (x, y, 0) – 平行于图像平面 坐标无穷大 理想直线 (sx,sy,0) y x z image plane 理想直线 l (a, b, 0) – 平行于图像平面 (a,b,0) y x z image plane 理想点 (“无穷远处的点”) p (x, y, 0) – 平行于图像平面 坐标无穷大 对应于图像中的一条直线 (坐标空间有限)
消失点 消失点 无穷远点在图像平面上的投影 由理想直线引起 image plane vanishing point camera center ground plane 消失点 无穷远点在图像平面上的投影 由理想直线引起
消失点(2D) image plane vanishing point camera center line on ground plane
消失点 性质 两条平行线具有同一个消失点 由 C点到v点的射线平行于地平面上的直线 一幅图像可能含有多个消失点 image plane vanishing point V line on ground plane camera center C line on ground plane 性质 两条平行线具有同一个消失点 由 C点到v点的射线平行于地平面上的直线 一幅图像可能含有多个消失点
消失线 v1 v2 多个消失点 平面上每组平行线定义一个消失点 所有消失点的集合构成地平线,也就是消失线 不同的平面定义了不同的消失线
消失线 多个消失点 平面上每组平行线定义一个消失点 所有消失点的集合构成地平线,也就是消失线 不同的平面定义了不同的消失线
计算消失点 Properties P is a point at infinity, v is its projection D Properties P is a point at infinity, v is its projection They depend only on line direction Parallel lines P0 + tD, P1 + tD intersect at P
计算消失线 C l ground plane Properties l is intersection of horizontal plane through C with image plane Compute l from two sets of parallel lines on ground plane All points at same height as C project to l points higher than C project above l Provides way of comparing height of objects in the scene