本发明涉及一种数字图像处理领域,具体说是一种用于从局部不变特征点中提取直线的方法。
背景技术:
局部不变特征点是指对图像的各种变化,例如几何、光照、模糊、视点等变化保持不变的局部特征点,局部不变特征点通常存在着一个局部支撑区域,它与图像分割不同,可以是图像的任何子集,其边界不一定要对应图像属性(如颜色和材质)的变化,而且多个不变特征区域间可能有交叉。局部不变特征点的检测具有重要的意义,不仅可以提高处理速度,同时还是一种新的图像表述方法,使得图像不进行分割就可以描述物体或局部。利用提取的局部不变特征点难以直接用于目标的识别,需要通过将其组成一定的曲线或区域才能作为目标的主要特征,经过多年的发展,出现了一系列在局部不变特征点基础进一步提取形状的方法,但就己发表的成果来看,这些方法还存在以下问题:
(1)有效的局部特征点容易受周围异常点的干扰,导致提取的特征对目标识别的作用大大降低;
(2)提取的结果与目标实际的形状存在较大的误差。
技术实现要素:
本发明提供了一种用于从局部不变特征点中提取直线的方法,通过对局部不变特征点进行密度估计,运用方格单元分割的方法,能够有效地去除干扰特征点的影响,方法简单易行,输出结果可靠。
为实现本发明的目标所采用的技术方案是:方法包括以下步骤:
步骤1:利用局部不变特征点提取算法提取输入图像的局部不变特征点,结果记为I0,局部不变特征点的数量记为M;
步骤2:从I0中循环选取两点Pi和Pj,i∈[1,M],j∈[i,M],计算Pi和Pj之间的欧氏距离Dij,当Dij小于阈值TD时,更新Pi和Pj并继续步骤2,当Dij大于等于阈值TD时,进入步骤3;
步骤3:以Dij为长边,W0为短边构造包含Pi和Pj的矩形R0;
步骤4:为了估计局部特征点密度ρ,以Dij为长边,W1为短边在矩形R0的两侧分别构造矩形R1和R2,且矩形R1和R2的长边分别与矩形R0的长边重合;
步骤5:统计矩形R0、R1和R2中的特征点数,分别记为M0、M1和M2,并对矩形R0周围的特征点数NL用以下公式进行估计:
NL=2max(M1,M2)+M0 (1)
式(1),max为求最大值函数;
步骤6:用以下公式计算局部特征点密度ρ:
式(2),和分别为矩形R1和R2的面积;
步骤7:对矩形R0进行k等分,得到k个等面积的方格单元,记为rt,t∈[1,k],利用以下公式计算每个方格单元rt至少包含一个局部特征点的概率:
式(3),Sr和分别为方格单元rt和矩形R2的面积;
步骤8:统计包含局部特征点的方格单元的数量C;
步骤9:用以下公式计算k个方格单元中至少有C个方格单元包含特征点的概率P0:
步骤10:用以下公式计算虚警数NFA:
步骤11:将虚警数NFA小于阈值δ的矩形R0包含的局部特征点判定为直线,更新Pi和Pj并继续步骤2,直到遍历所有局部特征点。
所述的步骤1中的局部不变特征点提取算法是指SIFT算法、SURF算法、Harris算法和SUSAN算法。
所述的步骤2中的循环选取方法指的是由i∈[1,M]和j∈[i,M]构成内外双重循环,遍历所有局部不变特征点,共有M(M-1)/2组局部不变特征点对。
本发明的有益效果是:能够准确的局部不变特征点集中的直线,可以应用于包含直线边缘的目标提取。
附图说明
图1是本发明的总体处理流程图。
具体实施方式
下面结合附图详细描述本发明的具体实施方式。
在步骤101,输入待处理图像I0。
在步骤102,对步骤101的待处理图像I0利用SURF局部不变特征点提取算法提取局部不变特征点,结果记为I0,并将局部不变特征点的数量记为M。
在步骤103,判断收否遍历所有特征点对,如果是,则算法流程结束,进入步骤116,否则进入步骤104。
在步骤104,从M(M-1)/2组局部不变特征点对中选取两点Pi和Pj,i∈[1,M],j∈[i,M]。
在步骤105,计算步骤104中的Pi和Pj之间的欧氏距离Dij。
在步骤106,判断步骤105中Pi和Pj之间的欧氏距离Dij是否大于阈值TD时,如果是,则进入步骤107,否则进入步骤103,为了排除短直线的干扰,将阈值TD设置为10个像素。
在步骤107,以Dij为长边,W0为短边构造包含Pi和Pj的矩形R0,以Dij为长边,W1为短边在矩形R0的两侧分别构造矩形R1和R2,且矩形R1和R2的长边分别与矩形R0的长边重合,为了使提取的直线与物体的实际边界保持一致,将W0将设置为为了对矩形R0周围的特征点数做出更为准确的估计,将W1设置为
在步骤108,统计矩形R0、R1和R2中的特征点数,分别记为M0、M1和M2,并对矩形R0周围的特征点数NL用以下公式进行估计:
NL=2max(M1,M2)+M0 (6)
式(6),max为求最大值函数。
在步骤109,用以下公式计算局部特征点密度ρ:
式(7),和分别为矩形R1和R2的面积。
在步骤110,对矩形R0进行k等分,得到k个等面积的方格单元,记为rt,t∈[1,k],利用以下公式计算每个方格单元rt至少包含一个局部特征点的概率:
式(8),Sr和分别为方格单元rt和矩形R2的面积。
在步骤111,统计包含局部特征点的方格单元的数量C。
在步骤112,用以下公式计算k个方格单元中至少有C个方格单元包含特征点的概率P0:
在步骤113,用以下公式计算虚警数NFA:
在步骤114,判断虚警数NFA是否小于阈值δ,如果是,则进入步骤115,否则进入步骤103。为了保证提取结果的准确性,将阈值δ设置为2。
在步骤115,输出局部不变特征点中直线。
在步骤116,算法结束。