为图像特征点确定比较点对及二进制描述子的方法及系统与流程

文档序号:17282558发布日期:2019-04-03 01:16阅读:287来源:国知局
为图像特征点确定比较点对及二进制描述子的方法及系统与流程

本发明涉及基于内容的图像检索技术,尤其涉及二进制图像特征提取方法。



背景技术:

互联网图像等视觉信息的迅速增长,给信息的组织与管理带来了巨大挑战,对海量图像进行内容分析与检测的需求越来越大,图像拷贝检测、图像索引和基于内容的图像搜索引擎等技术应运而生。目前这些技术中通常使用局部特征点(Local feature point)特征作为图像内容的特征。局部特征就是从图像的局部结构出发,用局部信息来构造出具有光照、几何变换不变性的描述子,局部特征不依赖于图像分割的结果因而其对于遮挡,重叠等情况具有良好的鲁棒性,由此局部特征也成为了目前特征提取领域的主流算法。

局部特征主要分为特征检测子和特征描述子两部分,特征检测子主要用来在图像中定位出感兴趣的点,这些点往往有较强的区分性,在图像中往往是变化剧烈的点或者其他有特色的点,例如角点,斑点和T型交叉点,总之这些点能有效地区分不同的图像。特征描述子是用来描述所定位出的每个兴趣点的特征,从而形成一个特征向量,表示图像特定区域的信息。检测子往往拥有位置,主方向,尺度等信息,而描述子常用一个高维向量表示(也称为特征向量)。局部特征的基本原理是首先检测出图像的特征点,而后基于特征点和它的邻域信息构造出稳健的特征向量(即描述子),最后将图像匹配的问题转换为特征向量的度量问题。根据局部特征理论两幅图像之间的相似度可以用两幅图像的特征向量之间的距离来度量。简言之,两幅图像间匹配成功的特征点数目越多这两幅图像之间的相似度也就越高。

常见的局部特征检测子主要有SIFT,SURF,FAST,AGAST等,其中SIFT由于对图像的大小旋转无关,对光线、噪声以及微小的视角变换容忍度也相当高,所以广泛的应用在图像检索领域中,然而其计算量相当大,不适合在CPU中实时计算,SURF是对其的改进,但依然消耗大量的计算资源。FAST和AGAST虽然效果不及前两者,但是其计算速度极快,适合对计算速度要求较高的嵌入式平台以及实时监控平台。

常见的局部特征描述子主要分为两种,实数描述子和二进制描述子。实数描述子的代表主要有SIFT,SURF等,实数描述子的每个特征分量都是一个实数,所以描述范围广,区分度高,但是其计算量大,且在后续的特征匹配时计算复杂,算法难度高,不适合实时性要求高的应用场景。二进制描述子的代表主要有ORB,BRIEF,BRISK,FREAK等,二进制描述子由于每个特征分量都是简单的01二进制,虽然单个描述分量的区分力不大,但是由于其计算简单且占用的存储空间小,可以计算多组特征分量,从而提高描述力。现有的局部特征点的二进制描述子通常是基于灰度值比较来获取的,对于那些在灰度上相近而在其他细节上有差别的图像很容易产生误匹配。



技术实现要素:

因此,本发明的目的在于克服上述现有技术的缺陷,提供了利用多维属性的二进制图像特征提取方法。

本发明的目的是通过以下技术方案实现的:

在一个方面,本发明提供了一种用于为图像特征点确定比较点对的方法,该方法包括:

构建训练数据集,所述训练数据集包括多个被标记为“相同”或“不相同”的图像区块对,每个图像区块的大小与图像特征点的邻域大小相同;

以各图像区块中心点为特征点,并为各特征点确定比较点及每个比较点的多个比较属性的值;

将每两个位置的比较点作为一个比较点对,对于该比较点对的每种比较属性,在每个图像区块上比较这两个位置的比较点的属性值,如果在标记为“相同”的两个图像区块上比较结果相同,则将该种比较属性的得分递增一,若在标记为“不相同”的两个图像区块上比较结果不同,则将该种比较属性的得分递增一;

将各个比较属性的得分进行排序,选择前N个最高的得分对应的比较属性及其所属比较点对的位置作为最终选定的比较点对位置及其比较属性,其中N预先设定的图像特征点的二进制描述子的长度。

在上述方法中,对于训练数据集中各个图像区块,为其特征点选取的比较点的位置是相同的。

在上述方法中,比较点的比较属性包括比较点的灰度值属性、x方向灰度变化率属性、y方向灰度变化率属性、45度方向变化率属性、135度方向变化率属性、和比较点邻域的像素方差属性中的两个或更多。

在上述方法中,对于训练数据集中每个图像区块参考人眼视网膜细胞分布的规律为其特征点确定比较点。

在又一个方面,本发明提供了一种用于为图像特征点确定二进制描述子的方法,该方法包括:

从待处理图像中提取特征点;

对于每个特征点执行:

根据上文提及的用于为图像特征点确定比较点对的方法所选定的比较点对位置及其比较属性来从该特征点周围区域选择相应位置的比较点对及其比较属性;

对于每个比较点对中的两个点,确定并比较这两个点的比较属性的值;以及

以各个比较点对得到的比较结果构成与该特征点对应的二进制描述子。

又一方面,本发明提供了一种用于为图像特征点确定二进制描述子的系统,该系统包括:

特征点提取装置,用于从待处理图像中提取特征点;

描述子计算装置,用于对于每个特征点执行:

根据上文提及的用于为图像特征点确定比较点对的方法所选定的比较点对位置及其比较属性来从该特征点周围区域选择相应位置的比较点对及其比较属性;

对于每个比较点对中的两个点,确定并比较这两个点的比较属性的值;以及

以各个比较点对得到的比较结果构成与该特征点对应的局部特征描述子。

与现有技术相比,本发明的优点在于:

从特征点周围区域中提取最具有区分力的比较点对及比较属性,不同的比较点对可使用不同的属性,以及可综合使用比较点对的多个属性来提取二进制图像特征,具有更强的描述能力和区分能力,计算效率高,描述能力强,非常适合应用于大规模图像实时检索。

附图说明

以下参照附图对本发明实施例作进一步说明,其中:

图1为示例的特征点及比较点对示意图;

图2为根据本发明实施例的二进制图像特征提取方法的流程示意图;

图3为根据本发明实施例的训练数据集的部分数据的示意图;

图4为示例的比较点对及属性示意图;

图5为根据本发明实施例的训练过程示意图;

图6为根据本发明实施例的方法确定最具区分力的属性示意图。

具体实施方式

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

为了更好地理解本发明,首先对典型的二进制描述子的提取过程进行简单介绍,其基本原理是首先从图像中选取特征点,接着在所选取的特征点周围选择比较点,然后构建比较点对,最后在比较点对的基础上生成描述子。更具体地,二进制描述子的提取过程主要包括五个步骤:第一步从图像中选取特征点,例如可以使用FAST或者AGAST角点检测。第二步是比较点的选取,常见的有Brief的随机选取,Brisk的按照内部密集外部稀疏的规则选取,也有参考人眼视网膜选取的Freak。第三步是比较点邻域预处理,其主要是对比较点周围进行高斯模糊,而不同比较点的高斯方差可以像Brief一样都相同,也可以依据特征点的距离由小变大,如Brisk所示,也可以参考人眼视网膜的分布由小变大再变小。第四步是比较点对的选取,将第三步中选取出的比较点按照某种算法进行两两组合,常见的算法有Orb的随机选取。例如可得到如图1中所示的结果,中央的黑点为特征点,周围其余点为比较点,两个比较点之间有连线,表示这两个比较点构成一对比较点对。第五步是描述子的生成,比较点对之间两两进行灰度值的比较;例如,如果差值在一定范围,则比较结果以1表示,否则以0表示。每个比较点对的比较结果以二进制0或1来表示,由此会得到一串由01构成的字符串,即为最终的描述子。可以看出,这样的二进制描述子实际上是基于比较点对灰度值的比较获取的。然而当图像包含大量细节时,灰度值这个单一属性无法对此准确描述,从而容易造成后续图像的误匹配。

图2给出了根据本发明一个实施例的局部特征点的二进制描述子提取方法,该方法主要包括从图像中确定特征点,根据经预先训练得到的比较点对位置及其比较属性来从该特征点周围区域选择相应位置的比较点对及其比较属性;对于每个比较点对中两个点,确定并比较所选择的比较属性的值,各个比较点对得到的比较结果构成与该特征点对应的二进制描述子。

参考图2,更具体地,在步骤101中,首先从图像中确定特征点,例如可采用目前主流的方法获取特征点位置,主方向等信息,例如,使用FAST或者AGAST角点检测。接着,从该特征点周围区域中选择比较点对及比较属性。在本发明的实施例中,所选择的比较点对的位置及其比较属性是在训练数据集上经预先训练得到的。在一个示例中,该训练数据集是基于论文(Matthew B,Gang H,Simon W.Discriminative learning of local image descriptors.[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2011,33(1):43-57.)中提出的数据集来构建的,这个数据集由两两的图像区块对构成,区块对之间标有“相同”和“不相同”的标签,该数据集中大约有250万相同的区块和250万不相同的区块对,基本涵盖了自然图像中数据分布模式。训练数据集的部分区块如图3所示。

图3中训练数据集的每个图像区块的尺寸是根据特征点的邻域大小来设置的。特征点的邻域例如是以特征点为中心的32*32或64*64个像素大小的区域。特征点的邻域的大小和形状可根据实际情况和具体需求来设置,本发明对此不进行限制。对于训练数据集中每个图像区块,假定以该图像区块中心点为特征点,然后可以利用现有的方法为该特征点确定比较点。对于训练集中各个图像区块,为其特征点选取的比较点的位置是相同的。每个比较点包括多个可用于进行比较的属性(也可简称为比较属性或属性),例如,比较点的灰度值属性、x方向灰度变化率属性、y方向灰度变化率属性45度方向变化率属性、135度方向变化率属性,以及比较点邻域的像素方差属性等等。每个比较点的比较属性可根据实际情况和具体需求来预先设置。在确定了各个图像区块的特征点的比较点的位置之后,将每两个位置的比较点作为一个比较点对,通过将该比较点对的每种属性在训练数据集上个各个图像区块上进行打分来判定该比较点对的最具区分力的属性(也就是最能是特征点与其周围区域相区分的属性),具体打分过程请参见下文图4-6的描述。若该点对的所有属性均不符合预设的条件,则说明在这两个位置的比较点不能作为一个比较点对,可放弃该点对。

为方便举例说明,下面以图4所示的6个比较点,3对比较点,每个比较点对设定3种比较属性为例来对打分过程进行说明。为每个比较点对设置的比较属性可以相同,也可以不相同。在该示例中为简单起见,每个比较点对用于比较的属性都包括灰度值属性、x方向灰度变化率属性、y方向灰度变化率属性。其中灰度属性指比较点的灰度值,灰度变化率属性指比较点的灰度变化率,可使用图像中值差分计算,如公式(1)和公式(2)所示的x方向灰度变化率属性、y方向灰度变化率属性。

其中,i,j分别表示比较点在图像中的横向坐标值和纵向坐标值,I代表图像中某个点的灰度值,例如I(i+1,j)表示图像中坐标为(i+1,j)的点的灰度值。应指出,这里的比较点、比较属性种类和数量仅是为了方便举例说明而非进行任何限制。当然其他实施例中,可能会有上百对的比较点对,几十种比较属性,可以依据不同的应用选取不同数量的比较属性,不同的比较点的比较属性的种类和数量也可以不同。

对于图4中所示的每个比较点对,将其每一种比较属性在打有“相同”标签的图像区块对上比较,如果产生的比较结果相同,则这种比较属性的正向得分(记为SS)递增一(初始为零)。例如,以灰度值属性为例,对于一个打有“相同”标签的图像区块对,在其中一个图像区块上,该位置的比较点对中两个比较点的灰度值属性值比较的结果为1,而在其中另一图像区块上,该位置的比较点对中两个比较点的灰度值属性值比较结果也1,则说明在该图像区块对上产生的比较结果相同,应该将灰度值属性的得分递增一。同时,还会将每一种属性在打有“不相同”标签的图像区块对上比较,如果得到的比较结果不相同,则这种比较属性的反向得分(记为SN)递增一(初始为零)。最后,计算每种比较属性最终的总得分SF=SS+SN。

如图5所示,假设某个比较点对的某一种比较属性,在属于相同区块的第一组区块对中的左图中比较结果为1,在该区块对的右图中比较结果也为1,则该比较属性的得分SS增加。在属于相同区块的第三组区块对中的左图中的比较结果为0,右图中比较结果也为0,即比较结果相同,则该比较属性的得分SS继续增加。而在属于相同区块的第二组区块对的左图中比较结果为1,而右图产生的比较结果为0,即属于相同区块而比较结果不相同,则得分SS不增加。在不相同区块的比较中,如果比较结果不相同,则得分SN增加,如果比较结果相同则得分SN不增加,遍历完训练集中所有的图像区块对后,把该比较属性的得分SS和得分SN相加得到该比较属性对应的总得分SF。

通过上述训练过程可以得到各位置的比较点对的每种比较属性对应的得分情况,然后依据训练数据集上各个比较属性的总得分,选取最具区分能力的比较点对属性。例如选择前N个最高的得分对应的属性作为最后所选择的最具区分力的属性,其中N预先设定的二进制描述子的长度,通常为2的指数幂,比如32、64、128、256等。

仍以图4中给出的3对比较点为例,如图6所示,每个比较点对的每种属性的最终得分在图中右上方所示,其中前三个为1号比较点对三种属性的总得分,中间三个为2号比较点对三种属性的总得分,依次类推。假定二进制描述子的长度N为3,对总得分进行排序,按照总得分高低选取3个最终的比较属性,如图6所示,最终选取了比较点对1的灰度属性,比较点对2的x方向灰度变化率属性,比较点对3的y方向灰度变化率属性。也就是说,对于比较点对1而言,其最具区分力的属性为灰度属性,对于比较点对2而言,其最具区分力的属性为x方向灰度变化率属性,对于比较点对3而言,其最具区分力的属性为y方向灰度变化率属性。而且这三个比较点对都是有效的比较点对。

应指出,在上述训练过程中,某些位置的比较点对的各个属性可能由于得分都比较低而都不会被选中,即舍弃这样的比较点对。反之,也存在可能某些位置的比较点对被选用不止一项属性的情况。仍以图6进行说明,如果预定的二进制描述子的长度为4,那么按照总得分高低选取4个最终的比较属性,图6中比较点对3的x方向灰度变化率属性和y方向灰度变化率属性都会被选为最具区分力的属性。

与现有的为图像特征点选取比较点对的方法相比,本发明实施例的方法通过在训练数据集上的统计和分析,可得到特征点周围区域中最具有区分力的比较点对的位置及在该位置最具区分力的比较属性。而且可训练一次而后存储这些比较点位置及属性,供后续使用,从而节省了每次都需要选择比较点,处理比较点的邻域及构建比较点对的所消耗的计算资源和计算时间。

现回到图2,在根据经预先训练得到的比较点对位置及其比较属性来从正在处理的图像的特征点周围区域选择相应位置的比较点对及其比较属性。接着,在步骤102,对于正在处理的图像中每个比较点对中的两个点,确定其比较属性值并比较这两个点的属性值。最后,在步骤103将各个比较点对得到的比较结果组合成与该特征点对应的二进制描述子。

从上述实施例可以看出,在比较点对属性的选择方面,相比于传统的二进制特征,本发明可以兼顾了比较点对的多维属性(例如,灰度值,x方向灰度变化率,y方向灰度变化率等)等,多维属性具有更强的描述能力和区分能力。接着,在比较点对位置的选择方面,采用本发明的上述训练过程所选择的比较点对的位置及属性,可训练一次而后存储这些比较点位置及属性,便于后续使用。相比传统的二进制特征提取方法,本发明节省了每次都需要选择比较点,处理比较点的邻域及构建比较点对的所消耗的计算资源和计算时间。而且通过本发明的方法计算的比较点的位置及比较属性都是使得特征点更具区分力的比较点位置及属性。相应的实验表明,相比于主流的二进制特征,基于多维属性的二进制特征描述能力提高了10%,相比于实值描述子,计算效率有近2个数量级的提升。可以看出,本发明提出的基于多维属性的二进制图像特征,计算效率高,描述能力强,非常适合应用到大规模图像实时检索系统中。

虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1