首页> 中国专利> 基于图像轮廓尖锐度的自适应角点检测方法

基于图像轮廓尖锐度的自适应角点检测方法

摘要

本发明涉及一种基于图像轮廓尖锐度的自适应角点检测方法,首先利用边缘检测算子提取图像边缘,计算边缘上各点的尖锐度;对于每一条边缘,以边缘上各点的尖锐度的均值作为阈值,选取尖锐度大于该阈值的点作为候选角点;然后在候选角点的支撑区域内将候选角点向支撑边缘的拟合直线进行投影,计算此候选角点与其投影点之间的距离,对该距离设定一个阈值,小于该阈值的点作为凸出点予以滤除;最后当有多个候选角点相邻接时,根据连接权值最大优先,尖锐度最大次之的原则将多个候选角点合并为一个角点,得到最终的图像角点。本发明检测准确度高,抗干扰能力强,并且在检测圆形边界时不会检测出伪角点,可应用于3D重建、视觉的定位和测量等方面。

著录项

  • 公开/公告号CN101887586A

    专利类型发明专利

  • 公开/公告日2010-11-17

    原文格式PDF

  • 申请/专利权人 上海交通大学;

    申请/专利号CN201010241223.9

  • 申请日2010-07-30

  • 分类号G06T7/00(20060101);

  • 代理机构31201 上海交达专利事务所;

  • 代理人毛翠莹

  • 地址 200240 上海市闵行区东川路800号

  • 入库时间 2023-12-18 01:05:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-21

    未缴年费专利权终止 IPC(主分类):G06T7/00 授权公告日:20121121 终止日期:20150730 申请日:20100730

    专利权的终止

  • 2012-11-21

    授权

    授权

  • 2010-12-29

    实质审查的生效 IPC(主分类):G06T7/00 申请日:20100730

    实质审查的生效

  • 2010-11-17

    公开

    公开

说明书

技术领域

本发明涉及一种基于图像轮廓尖锐度的自适应角点检测方法,可应用于光流计算、运动估计、目标追踪、形状分析、相机标定、3D重建等方面。属于图像处理技术领域。

背景技术

角点是图像的一种重要局部特征,角点在保留了图像中物体的重要特征信息的同时有效地减少了信息的数据量,使得对图像处理时运算量大大减少。由于角点集中了图像上的很多重要的形状信息,角点具有旋转不变性,因此角点几乎不受光照条件的影响。在基于特征的图像配准、图像理解及模式识别等领域中,角点提取具有十分重要的意义。

到现在为止产生了大量的角点检测算法,这些算法大致可分为如下几类:

(1)基于模板匹配的角点检测

基于模板匹配的角点检测的原理是:确定一个给定的模板与图像内与模板大小相同的所有区域的相关性和相似性。因为角点拥有大量的特征,不可能设计出大量模板来匹配所有类型的角点,所以在复杂图像中这种方法实施起来比较困难。

(2)基于灰度变化的角点检测

基于灰度变化的角点检测方法的特点是不依赖于目标的其它局部特征,利用角点本身的特点直接提取角点,实践证明这类算法速度快、实时性强。这类方法中比较经典的算法有Harris算法,Susan算法等。Harris算法是由C.Harris和M.J.Stephens提出的一种基于信号的点特征提取算法,这种算法受信号处理中自相关函数的启发,给出与自相关函数相联系的矩阵M。M阵的特征值是自相关函数的一阶曲率,如果两个特征值曲率值都高,那么就认为该点是特征点。Harris算法很稳定,但由于采用了高斯滤波器使得该算法复杂、费时。Susan算法采用圆形模板来检测图像中的角点。Susan算法的优点在于在角点检测时不需计算梯度,不需插值而且不依赖于前期图像分割的结果,直接对像素的邻域灰度值比较即可检测出角点。Susan角点检测的不足在于采用固定的阈值,不适合用于一般的情况,需要用自适应阈值来改进此算法。

发明内容

本发明的目的在于针对现有方法的不足,提出一种基于图像轮廓尖锐度的自适应角点检测方法,以便快速而准确的检测出角点。

为实现上述目的,本发明基于图像边缘的几何结构特征进行角点检测,首先利用边缘检测算子提取图像边缘;然后计算边缘上各点的尖锐度;接着对于每一条边缘,以边缘上各点的尖锐度的均值作为阈值,选取尖锐度大于该阈值的点作为候选角点;随后在候选角点的支撑区域内将候选角点向支撑边缘的拟合直线进行投影,计算此候选角点与其投影点之间的距离,对该距离设定一个阈值,小于该阈值的点作为凸出点予以滤除;最后当有多个候选角点相邻接时,根据连接权值最大优先,尖锐度最大次之的原则将多个候选角点合并为一个角点,得到最终的图像角点。

本发明基于图像轮廓尖锐度的自适应角点检测方法具体包括以下几个步骤:

1.读取图像,用边缘检测算子对图像进行处理,得到二值化边缘图像,分别对二值化边缘图像中的每一条边缘进行后述步骤的处理。

2.对于边缘上的每一点,以此点为中心向前和向后各取k个点,共得到2k+1个点,作为该点的支撑区域;由该中心点和支撑区域的两端点进行连线,分别得到两条支撑臂,两支撑臂之间的夹角即为支撑角;由边缘上各点的支撑角来计算边缘上各点的尖锐度;其中,k的取值为3~5。

3.以边缘上各点的尖锐度的均值作为边缘的阈值;若边缘上某一点的尖锐度大于该阈值,则该点被选作候选角点。

4.在候选角点的支撑区域内将候选角点向支撑边缘的拟合直线进行投影,计算候选角点与其投影点之间的距离,对该距离设定一个阈值,小于该阈值的点为凸出点,将它们作为伪角点予以滤除。

5.对滤除凸出点之后的候选角点进行搜索,将相邻的候选角点分为一组;计算每一组候选角点中每一点的八邻域内边缘像素点的个数作为该点的连接权值;对于每一组候选角点,如果该组内仅仅只有一个候选角点具有最大的连接权值,则将该点选定为唯一的角点,该组内的其它角点被作为伪角点予以滤除;如果有两个或两个以上的角点具有最大的连接权值,则比较这些点的尖锐度,如果只有一个点具有最大的尖锐度,则该点被选为角点,其它的点被作为伪角点予以滤除;如果有两个或两个以上的点具有最大的尖锐度,则选择具有优先搜索顺序的点作为唯一的角点,其它的点作为伪角点滤除,从而得到最终的图像角点。

与现有方法相比,本发明的优越性体现在:

(1)仅仅使用了图像边缘的几何结构信息,方法简洁明了;

(2)对图像中的每一条边缘,以边缘上各点的尖锐度的均值作为局部的尖锐度阈值,避免了采用人工指定的全局尖锐度阈值的麻烦,同时也提高了角点检测的正确率;

(3)提供了两个可调的参数,通过调整参数的大小来保证在不同的情况下的角点检测都能够取得良好的效果;

(4)具有较强的抵抗噪声干扰的能力;

(5)对于圆形的边界检测效果良好。

本发明可应用于光流计算、运动估计、目标追踪、形状分析、相机标定、3D重建等方面。

附图说明

图1为基于图像轮廓尖锐度的自适应角点检测方法的流程图。

图2为进行角点检测的原始图像。

图3为对原始图像进行边缘提取后的效果图。

图4为计算尖锐度的原理示意图。

图5为原始图像中提取出的候选角点图。

图6为凸出点示意图。

图7为滤除凸出点的原理图。

图8为合并相邻角点的原理图。

图9为原始图像中检测出的最终角点图。

具体实施方式

为了更好地理解本发明的技术方案,以下结合附图和实施例,作进一步的详细描述。

本发明方法进行图像角点检测的流程图如图1所示,读入图像后提取图像边缘,计算边缘上各点的尖锐度值;对于每一条边缘,计算尖锐度阈值,提取候选角点;滤除边缘上的凸出点;合并相邻的候选角点。

本发明的实施例按附图1所示步骤进行,具体如下:

1.读取图像,提取边缘。

读取的原始图像如图2所示,用边缘检测算子对图像进行处理,得到二值化边缘图像如图3所示,图3为对原始图像进行边缘提取后的效果图。然后分别对二值化边缘图像中的每一条边缘进行后述步骤的处理。

2.计算边缘上各点的尖锐度

对于边缘上的每一点,以此点为中心向前和向后各取k个点,共得到2k+1个点,作为该点的支撑区域;由该中心点和支撑区域的两端点进行连线,分别得到两条支撑臂,两支撑臂之间的夹角即为支撑角;由边缘上各点的支撑角来计算边缘上各点的尖锐度。

图4为计算尖锐度的原理示意图,下面对照图4加以具体的说明。

图4是对图像边缘局部轮廓的模拟,它近似的表达了点Pi的支撑区域,αi为点Pi的支撑角(以角度表示),外围实线为轮廓线,黑点代表像素点,虚线为Pi-k,Pi,Pi+k三点拟合成的圆弧,O点为圆心,Pi Pi-k,Pi Pi+k为支撑臂。k的取值一般应为3~5,点Pi,Pi-k,Pi+k近似为一段圆弧上的三点,它们之间的间隔非常小,则可假设|PiPi-k|=|PiPi+k|,于是有

0<αi<180当Pi,Pi-k,Pi+k在同一条直线上时,αi=180,此时有

当αi趋近于0时,有

定义一个尖锐度变量:

sharp(Pi)表示支撑角的尖锐程度,sharp(Pi)值越大,说明该角越尖锐,根据上式可计算轮廓线上每一点的尖锐度sharp(Pi)。

3.确定每一条边缘上的候选角点

以每一条边缘上各点的尖锐度的均值作为阈值,如果边缘上某一点的尖锐度大于该阈值,则该点被选作候选角点。提取出的候选角点如图5所示,图5为从原始图像中检出的候选角点的效果图,用“*”标示的即为候选角点。

4.滤除边缘上的凸出点

边缘的凸出点是指在一段平滑的边缘上生长方向突然变化的极少数的点。这些点往往被误检为角点,必须予以滤除。图6是凸出点的示意图,图中包含圆圈的方块即为凸出点。滤除凸出点的方法为在候选角点的支撑区域内将候选角点向支撑边缘的拟合直线进行投影,计算此候选角点与其投影点之间的距离,对该距离设定一个阈值,小于该阈值的点为凸出点,将它们作为伪角点予以滤除。图7为滤除凸出点的原理图,下面根据图7以候选点A为例来说明判断一个候选角点是否为凸出点的方法。

在图7中,(a)、(b)、(c)、(d)分别表示当边缘拟合直线的倾斜角在0<α<90,90<α<180,α=0或180,α=90四种不同范围内的情形。在图7中,粗实线MBGHEN模拟的是点A的支撑区域内的一段边缘轮廓,线段GH是由边缘上的少数几个凸出点形成的,点A是其中的一个凸出点。直线MN是边缘MBGHEN的拟合直线,由点A向直线MN作垂线,交直线MN于点D,则点D为点A在边缘拟合直线MN上的投影;由点A向x轴作垂线,交直线MN于点C,交x轴于点F,α表示的的是边缘拟合直线MN与x轴正方向的夹角;虚线段BE表示的是线段GH在边缘拟合直线上的投影。只需计算出线段|AD|的长度,对|AD|设定一个阈值,若|AD|的长度小于该阈值则候选角点A是凸出点,作为伪角点予以滤除。其它点的判断方法与点A相同。对所有的候选角点都要进行此步骤,判断其是否为凸出点。

5.合并多个相邻的候选角点

对滤除凸出点之后的候选角点进行搜索,将相邻的候选角点分为一组;计算每一组候选角点中每一点的八邻域内边缘像素点的个数作为该点的连接权值;对于每一组候选角点,如果该组内仅仅只有一个候选角点具有最大的连接权值,则将该点选定为唯一的角点,该组内的其它角点被作为伪角点予以滤除;如果有两个或两个以上的角点具有最大的连接权值,则比较这些点的尖锐度,如果只有一个点具有最大的尖锐度,则该点被选为角点,其它的点被作为伪角点予以滤除;如果有两个或两个以上的点具有最大的尖锐度,则选择具有优先搜索顺序的点作为唯一的角点,其它的点作为伪角点滤除,从而得到最终的图像角点。图8为合并相邻候选角点的原理图,下面对照图8对此步骤进行详细的说明。

在图8中,共有两组邻接的角点,分别是L1={A,B,C,D,M},L2={E,F,G,H}。它们的连接权值分别为W1={2,2,3,2,2},W2={2,2,2,2}。对于第一组候选角点,因为只有点C具有最大的连接权值,则点C是唯一的角点,其它的点是伪角点;对于第二组候选点而言,因为四个点具有相同的连接权值,所以我们必须比较它们的尖锐度的值,它们的尖锐度为sharp2={0.0267,0.1488,0.1488,0.0267}。因为点F和点G都具有最大的尖锐度值,但是F点具有优先的搜索顺序,则选择F点作为唯一的角点。

经过上面5个步骤即可检测出图像中的角点,如图9所示,图9为原始图像进行角点检测的最终效果图,用“*”标示的即为最终的角点。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号