一种图像区域特征提取及特征匹配的方法与流程

文档序号:11952037阅读:617来源:国知局
一种图像区域特征提取及特征匹配的方法与流程

本发明涉及图像处理技术领域,尤其涉及一种图像区域特征提取及特征匹配的方法。



背景技术:

目前的图像特征按性质分有颜色,纹理,形状,空间关系,边缘,角点,区域,脊等等。人的视觉是先从形状,区域和颜色纹理特征快速判断目标,然后再从边缘,脊,角点细节上分析判断目标,如果还分析不出,就会动用大脑从空间关系特征进行综合分析。如果关注某个目标,则会以背景,颜色,纹理,形状,区域等特征过滤环境中的干扰目标区域,直接提取相关目标进行细节特征分析。对于模糊目标,就会动用大脑对目标进行空间关系分析。

目前连通域方法无法提取出蛛网的连通域,导致连通域特征分裂,另外目前的特征点提取方法,如sift,surf运算都相对复杂,导致很多应用环境的实时性无法保证。目前图像提取连通域的方法先提取二值图像,然后再作连通域分析,这样会导致二次扫描图像增加运算。和其他特征提取方法不同,本发明的特征提取方法是一次遍历图像就可以提取出特定区域的连通域和角点特征。使用通道适配器对像素点的各个通道数值进行分析,没有二次扫描,降低运算量。

本发明使用通道适配和区域适配分析出连通域和特征点。连通域特征可以从外形颜色快速识别目标。特征点可以从细节识别目标,通道适配器和区域适配器可以过滤干扰目标和噪点区域,这使得本发明在复杂背景的条件下提取特定目标成为可能。另外本发明只遍历一次图像,减少计算复杂度,提高图像视频分析的实时性。图像特征点形成的空间关系在图像的缩放和旋转中,变化小,稳定。因此,本发明依靠特征点的近邻关系来提取信息。根据近邻点位置来描述特征,没有梯度运算,运算量小,适合实时图像视频处理。



技术实现要素:

针对现有图像提取需要二次扫描增加运算的问题,本发明目的在于提供一种基一种图像区域特征提取及特征匹配的方法。

为解决上述问题,本发明提供一种图像区域特征提取及特征匹配的方法,其主要内容包括:

(一)通道适配器分析组成线域

(二)区域创建,生长,分裂,合并,提取分裂合并点

(三)检测封闭区域和区域适配器过滤区域

(四)区域的后合并

(五)检测分裂合并点性质

(六)提取特征集合

(七)进行特征匹配

其中,通道适配器分析组成线域,采用通道适配器对图像逐行扫描,自定义像素点各通道过滤规则,将灰度图转换为二值图像,分析出连续的有效点,满足最小连接数,就组成线域,否则作为噪点丢弃。扫描过程使用横向不连接数和纵向不连接数来调整图像的连通性,用最小连接数确定噪点。

进一步地,其中概念的定义分别为:

a)有效点:通过通道适配函数的像素点是有效点

b)无效点:没有通过通道适配函数的像素点

c)最小连接数:横向扫描过程中,线域的最小长度,否则是噪点

d)横向不连接数:横向扫描过程中,允许的连续无效点数,否则视为线域连接中断,用来控制线域的连通性

e)纵向不连接数:区域生长过程中,停止生长的扫描次数。用来控制区域的上下连通性

f)创建线域:记录线域的左右位置和行位置,统计线域的重量,有效点数,长度,和总的灰度值,以便以后这些数据提供给区域,作为区域特征

g)重量计算公式:Q=(∑x,∑y);x,y是有效点在图像中的坐标位置。图像左顶(0,0)为基准。

其中,区域创建,生长,分裂,合并,提取分裂合并点,线域组成区域,区域分裂与合并,并提取分裂合并特征点过程。主要步骤为:

1)线域归属标记

通道适配器扫描一行图像,将获取的线域按扫描顺序排列成组。循环各线域,在未封闭区域中反向循环查找分析其范围和线域范围,有相交就标记线域属性标记为区域的编号,否则线域无归属。一线多区,将标记最右的区为归属。一区多线,将标记该区为各线域归属。

2)区域创建,生长,分裂,提取分裂点

循环各线域,在未封闭区域中正向循环查找分析其范围和线域范围,有相交,就让该区域生长。对于无相交的线域,新建生长区域和区域编号,区域属性等于线域属性,区域生长范围等于线域范围和扩展范围。

将多区多线分解为一线多区和一区多线的情况分析;对于一区多线的情况,先分裂,第一线域会先进入区域生长,其区域生长范围修改为该线域的范围,因此,后续的线域在与区域生长范围分析时,会判断为无相交的情况,变成新建生长区域,但是由于前期做了线域归属标记,该新建区域比完全新建区域的归属表多一个归属区标记,类似原区域分裂出一个新区域。分裂过程提取后续线域左位置为分裂点。

3)区域按生长范围从左至右的排序

由于封闭区域的生长范围清零,噪点区域的生长范围为负数,因此会排序到前面,以便前面两步可以循环未封闭区域。另外也方便合并区域时,顺序是从左区合并右区,不会漏合并。

4)合并区域,提取合并点

循环各线域,在未封闭区域中正向循环查询分析其范围和线域范围,记录所有和线域相交区域个数。如果有超过两个区域,从左至右进行两两区域合并操作。同时提取合并点的位置,行坐标取两合并区域的左区域的生长右范围-扩展范围,纵坐标取当前扫描行-1。合并不能完全合并先分裂的新区,因此需要在扫描结束后作后合并。进一步地,其中概念的定义分别为:

a)区域生长范围:使用上区下线的方式来分析连通关系。生长的区域在上,每次新扫描的线域在下,区域的生长范围等于区域底部的左右范围和扩展范围之和(针对应用场景不同,用该参数调控区域的连通性。扩展范围值越大,连通性越好,否则分割性越好,扩展范围默认等于横向不连接数),其与线域的左右范围相交,说明线域和区域是连通的,说明线域属于区域生长范围。

b)区域生长:当线域范围落在区域范围中,且上下距离不超过纵向不连接数,区域整合线域的范围(顶左底右位置),灰度,重量,有效点和连接点数,并修改区域的生长范围为线域范围和扩展范围。

c)区域封闭:区域在多次扫描过程没有生长,次数超过纵向不连接数,区域就被封闭停止生长。

d)一线多区:合并的情况,一个线域横跨多个区域。

e)一区多线:分裂的情况,一个区域包含多个线域。

f)多线多区:分裂和合并混合的情况。分解为一线多区和一区多线的情况。

g)区域合并:整合两个区域的归属表,范围,重量,灰度,有效点和无效点数,区域生长范围。

h)先分裂:针对一区多线的情况,区域生长使用第一个线域后,生长范围就改成了该线域的范围,导致了其他线域无法进入原区域生长范围进行生长。因此分裂产生新区域。和其他新创建区域不同,它有区域属性,以后可以根据属性进行区域整合。

i)区域的产生,合并,分裂对属性表操作:线域新建区域生成原始的序列标识属性,区域分裂新建的区域不仅有序列标识,同时还有分裂前原区域属性标识。区域合并时,两个合并的区域属性表整合。

其中,检测封闭区域和区域适配器过滤区域,为了减少下一轮扫描的区域查询运算量,封闭和过滤一些区域。采用区域适配器自定义过滤区域的规则,用于过滤噪点区域和干扰区域。主要步骤如下:

1)循环未封闭区域,如果当前扫描行-区域底>纵向不连接数,说明该区域已经停止生长,可以封闭,进入2。否则继续1。

2)区域适配器检测该封闭区,如果是噪点或干扰区域,而且归属表长度小于2,将该区域清零封闭,区域生长范围置为-2,返回1。否则进入3。

3)对于有2个及以上归属的过滤区域,考虑最后合并区域的作用和其他封闭区一起处理,直接将该区域生长范围置为-1,排序时排列到噪点区域和干扰区域前面。

其中,区域的后合并,根据归属表,将没有合并的分裂区域重新整合。包括根据预定的深度分辨率以及检测获取的人脸特定区域位置进行数据映射的模块。针对一区多线产生的分裂区,在扫描过程中没有被合并,在扫描结束后进行整合。与一线多区的合并区别,一个是在扫描过程中合并,根据范围相交合并,并有合并特征点产生。一个是扫描结束后的合并,根据归属表属性配对合并,没有合并特征点的产生。主要步骤为:

1)图像最后一行扫描分析完成后,对所有区域排序。噪点和干扰区域排列到前面。这里暂时将非噪点和非干扰区域定义为后合并区域。

2)在后合并区域中遍历,两两区域的进行区域归属表查询,如有归属属性相同就进行区域合并操作

3)后合并区域中会包含有未封闭区域,因图像最后一行扫描不一定封闭了所有区域。因此封闭未关闭区域,使用区域适配器检测清零噪点和干扰区域。

4)提取连通区域,计算重心,输出到图特征中。

重心计算公式:G=Q/num;Q是区域重量,num是区域有效点数目。

其中,检测分裂合并点性质,根据分裂合并点属性计算检测矩阵,统计无效点数,分析出毛刺和角点。其中概念的定义分别为:

a)检测矩阵:以特征点为中心的矩阵,矩阵大小=(角点检测范围的两倍+1)×(角点检测范围的两倍+1)。合并点取上半部分矩阵,分裂点取下半部分矩阵。如果矩阵范围超过区域范围,需要截取超出部分。

b)毛刺点数:两倍的角点检测范围。

c)角点检测:统计矩阵的无效点数大于毛刺点数,小于矩阵像素总数-毛刺点数就是角点,否则是毛刺。

其中,提取特征集合,可以在区域生长合并时把线域添加到集合中,提取出图像边缘和脊特征。另外,还可以在各种条件下,用本方法多次提取的特征组合:

1)旋转0至180度(图像旋转180度提取特征,特征不变化),得到的分裂合并点序列是不同的。用本发明提取图像不同旋转角度的特征组成集合。

2)不同的通道适配规则,形成的区域和特征点序列都不同,用本发明在多种通道过滤规则下提取特征集合。例如,多级灰度范围的通道适配规则下提取的特征集合。

3)不同的对比度亮度级别下,用本发明提取的特征集合。

4)多尺度图像用本发明提取的特征集合,用于多尺度图像分析。多尺度下参数需要相应比例调整。多尺度可以通过通道适配器来实现,指针隔点移动取值。

5)区域中提取区域特征,例如先用肤色建模提取区域特征,在区域特征范围再次眼球建模提取眼睛区域特征。

其中,进行特征匹配,主要步骤为:

1)目标区提取一个特征点,遍历匹配区所有特征点一一匹配,计算特征描述子的差,保留差最小的匹配点。每个特征描述子包含k组16维数据,因此每次匹配需比较k*k次。

2)匹配区有重复就选择差小的点。

3)重复1过程,直到最后一个目标区的特征点取完

4)其特征匹配算法为:

Disj=argmini∈nd(Fj-Fi');j=0,1,...m,i=0,1,...n.

Pj=i;

Disj是目标区第j个特征点的最小匹配差。d(Fj-Fi')是两个匹配点的特征描述子差。

Fj是目标区第j个特征点描述子,Fi'是匹配区各特征点描述子。

m是目标区特征点总数,n是匹配区的特征点总数。

Pj是目标区第j个特征点的最佳匹配特征点在匹配区的标记。

附图说明

图1是本发明一种图像区域特征提取及特征匹配的方法的系统流程图。

图2是本发明一种图像区域特征提取及特征匹配的方法的通道适配器分析组成线域的流程图。

图3是本发明一种图像区域特征提取及特征匹配的方法的区域创建,生长,分裂,合并,提取分裂合并点的流程图。

图4是本发明一种图像区域特征提取及特征匹配的方法的区域生长方法示意图。

图5是本发明一种图像区域特征提取及特征匹配的方法的区域封闭示意图。

图6是本发明一种图像区域特征提取及特征匹配的方法的一线多区示意图。

图7是本发明一种图像区域特征提取及特征匹配的方法的一区多线示意图。

图8是本发明一种图像区域特征提取及特征匹配的方法的多线多区示意图。

图9是本发明一种图像区域特征提取及特征匹配的方法的一线多区的分裂示意图。

图10是本发明一种图像区域特征提取及特征匹配的方法的一线多区的合并示意图。

图11是本发明一种图像区域特征提取及特征匹配的方法的区域合并示意图。

图12是本发明一种图像区域特征提取及特征匹配的方法的先分裂示意图。

图13是本发明一种图像区域特征提取及特征匹配的方法的检测封闭区域和区域适配器过滤区域的流程图。

图14是本发明一种图像区域特征提取及特征匹配的方法的角点检测示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。

图1是本发明一种图像区域特征提取及特征匹配的方法的系统流程图。如图1所示,本发明提出的一种图像区域特征提取及特征匹配的方法,其主要内容包括:

(一)通道适配器分析组成线域

(二)区域创建,生长,分裂,合并,提取分裂合并点

(三)检测封闭区域和区域适配器过滤区域

(四)区域的后合并

(五)检测分裂合并点性质

(六)提取特征集合

(七)进行特征匹配。

图2是本发明一种图像区域特征提取及特征匹配的方法的通道适配器分析组成线域的流程图。如图2所示为本发明的通道适配器分析组成线域,通道适配器对图像逐行扫描,分析出连续的有效点,满足最小连接数,就组成线域,否则作为噪点丢弃。通道适配器对外提供的编程接口,可以自定义像素点各通道过滤规则。图像颜色空间有rgb、yuv、hsv等等,通过对像素点的通道设置规则,可以将灰度图转换为二值图像,例如rgb形式,每个像素点有红绿蓝三通道,提取红色通道数据50~90之间的像素点或提取肤色像素点,就可以获取相应目标区域的二值图像。其中概念的定义分别为:

a)有效点:通过通道适配函数的像素点是有效点。

b)无效点:没有通过通道适配函数的像素点。

c)最小连接数:横向扫描过程中,线域的最小长度。否则是噪点。

d)横向不连接数:横向扫描过程中,允许的连续无效点数。否则视为线域连接中断。用来控制线域的连通性。

e)纵向不连接数:区域生长过程中,停止生长的扫描次数。用来控制区域的上下连通性。

f)创建线域:记录线域的左右位置和行位置,统计线域的重量,有效点数,长度,和总的灰度值,以便以后这些数据提供给区域,作为区域特征。

g)重量计算公式:Q=(∑x,∑y);x,y是有效点在图像中的坐标位置。图像左顶(0,0)为基准。

图3是本发明一种图像区域特征提取及特征匹配的方法的区域创建,生长,分裂,合并,提取分裂合并点的流程图。如图3所示为本发明中区域创建,生长,分裂,合并,提取分裂合并点。主要步骤为:

1)线域归属标记

通道适配器扫描一行图像,将获取的线域按扫描顺序排列成组。循环各线域,在未封闭区域中反向循环查找分析其范围和线域范围,有相交就标记线域属性标记为区域的编号,否则线域无归属。一线多区,将标记最右的区为归属。一区多线,将标记该区为各线域归属。

2)区域创建,生长,分裂,提取分裂点

循环各线域,在未封闭区域中正向循环查找分析其范围和线域范围,有相交,就让该区域生长。对于无相交的线域,新建生长区域和区域编号,区域属性等于线域属性,区域生长范围等于线域范围和扩展范围。

将多区多线分解为一线多区和一区多线的情况分析;对于一区多线的情况,先分裂,第一线域会先进入区域生长,其区域生长范围修改为该线域的范围,因此,后续的线域在与区域生长范围分析时,会判断为无相交的情况,变成新建生长区域,但是由于前期做了线域归属标记,该新建区域比完全新建区域的归属表多一个归属区标记,类似原区域分裂出一个新区域。分裂过程提取后续线域左位置为分裂点。

3)区域按生长范围从左至右的排序。

由于封闭区域的生长范围清零,噪点区域的生长范围为负数,因此会排序到前面,以便前面两步可以循环未封闭区域。另外也方便合并区域时,顺序是从左区合并右区,不会漏合并。

4)合并区域,提取合并点

循环各线域,在未封闭区域中正向循环查询分析其范围和线域范围,记录所有和线域相交区域个数。如果有超过两个区域,从左至右进行两两区域合并操作。同时提取合并点的位置,行坐标取两合并区域的左区域的生长右范围-扩展范围,纵坐标取当前扫描行-1。合并不能完全合并先分裂的新区,因此需要在扫描结束后作后合并。

其中概念的定义分别为:

a)区域生长范围:如图4所示,使用上区下线的方式来分析连通关系。生长的区域在上,每次新扫描的线域在下,区域的生长范围等于区域底部的左右范围和扩展范围之和(针对应用场景不同,用该参数调控区域的连通性。扩展范围值越大,连通性越好,否则分割性越好,扩展范围默认等于横向不连接数),其与线域的左右范围相交,说明线域和区域是连通的,说明线域属于区域生长范围。

b)区域生长:当线域范围落在区域范围中,且上下距离不超过纵向不连接数,区域整合线域的范围(顶左底右位置),灰度,重量,有效点和连接点数,并修改区域的生长范围为线域范围和扩展范围。

c)区域封闭:如图5所示,扫描出3个区域,区域在多次扫描过程没有生长,次数超过纵向不连接数,区域就被封闭停止生长。图像的连通域如果是凸的,上述定义的方法没有问题。而对于一些凹形的连通域,存在一区多线和一线多区的情况,就不能简单的用上述定义方法来分析了。

d)一线多区:合并的情况,一个线域横跨多个区域。如图6所示,最后一行*是新扫描出的线域,两个小区域合并为一个大区域,同时记录下合并点位置。

e)一区多线:分裂的情况,一个区域包含多个线域。如图7所示,第1段线被纳入区域的生长,第2,3个线段被分裂为新的区域,同时记录分裂点位置,标记原区域属性标识。

f)多线多区:分裂和合并混合的情况。分解为一线多区和一区多线的情况。如图8所示,第一行扫描,可以获取两个线域,由于没有生长区域,两个线域都新建为生长区域。第二行扫描,获取的两个线域分别和生长区域的生长范围比较。可以看出左起第一个线域横跨两个生长区域,属于一线多区,而2区覆盖两个线域,属于一区多线。两区两线的这种交织状态,是无法用树结构进行分析的。用图结构分析,无疑运算量更大。

本发明的方法是先分裂后合并。先对一区多线的情况做分裂处理,把区域2分割为AB两个区域,如图9所示AB两区域归属表都标记区域2的属性,这时有3个生长区域。然后对1A两个区域做一线多区的合并处理,如图10所示,合并时拷贝A区的归属表。此时就剩下AB两个区域,它们都包含区域2属性。

第三行扫描获取到三个线域。如图11所示,A区域包含前两个线域。最后一个属于B区域生长范围。同样先分裂处理获得AC区域,然后B区域生长。

完成扫描后,目前剩下ABC三个区域。此时进行后合并处理,后合并主要根据属性表进行合并操作,C区带有A区的归属,会与A区合并,B区和A区都有区域2的归属,也会合并。因此最终三个区合并为一个完整的连通域。

g)区域合并:整合两个区域的归属表,范围,重量,灰度,有效点和无效点数,区域生长范围。

h)先分裂:针对一区多线的情况,区域生长使用第一个线域后,生长范围就改成了该线域的范围,导致了其他线域无法进入原区域生长范围进行生长。因此分裂产生新区域。和其他新创建区域不同,它有区域属性,以后可以根据属性进行区域整合。

如图12所示,第一个线进入2区的生长后,2区的生长范围修改为箭头指向范围,这样线域2在范围检测时,就不会和区2相交,分裂产生新区。

i)区域的产生,合并,分裂对属性表操作:线域新建区域生成原始的序列标识属性,区域分裂新建的区域不仅有序列标识,同时还有分裂前原区域属性标识。区域合并时,两个合并的区域属性表整合。

图13是本发明一种图像区域特征提取及特征匹配的方法的检测封闭区域和区域适配器过滤区域的流程图。为了减少下一轮扫描的区域查询运算量,封闭和过滤一些区域。区域适配器对外提供的编程接口,可以自定义过滤区域的规则,用于过滤噪点区域和干扰区域。

区域的后合并,根据归属表,将没有合并的分裂区域重新整合。包括根据预定的深度分辨率以及检测获取的人脸特定区域位置进行数据映射的模块。针对一区多线产生的分裂区,在扫描过程中没有被合并,在扫描结束后进行整合。与一线多区的合并区别,一个是在扫描过程中合并,根据范围相交合并,并有合并特征点产生。一个是扫描结束后的合并,根据归属表属性配对合并,没有合并特征点的产生。主要步骤为:

1)图像最后一行扫描分析完成后,对所有区域排序。噪点和干扰区域排列到前面。这里暂时将非噪点和非干扰区域定义为后合并区域。

2)在后合并区域中遍历,两两区域的进行区域归属表查询,如有归属属性相同就进行区域合并操作

3)后合并区域中会包含有未封闭区域,因图像最后一行扫描不一定封闭了所有区域。因此封闭未关闭区域,使用区域适配器检测清零噪点和干扰区域。

4)提取连通区域,计算重心,输出到图特征中。

重心计算公式:G=Q/num;Q是区域重量,num是区域有效点数目。

检测分裂合并点性质,根据分裂合并点属性计算检测矩阵,统计无效点数,分析出毛刺和角点。其中概念的定义分别为:

a)检测矩阵:以特征点为中心的矩阵,矩阵大小=(角点检测范围的两倍+1)×(角点检测范围的两倍+1)。合并点取上半部分矩阵,分裂点取下半部分矩阵。如果矩阵范围超过区域范围,需要截取超出部分。

b)毛刺点数:两倍的角点检测范围。

c)角点检测:统计矩阵的无效点数大于毛刺点数,小于矩阵像素总数-毛刺点数就是角点,否则是毛刺。如图14所示,假定角点检测距离为5,检测范围是以特征点为中心,大小=11*11的矩阵。红色分裂点的检测矩阵取上半部分,就是6*11的矩阵。绿色分裂点的检测矩阵取下半部分,由于矩阵越过区域范围,截取超出部分,其范围是4*11的矩阵;毛刺点数=10。统计红色分裂点矩阵无效点数=33,总像素点=55,10<33<55-10因此属于角点。统计绿色分裂点矩阵无效点数=16,总像素点数=44,10<16<44-10,因此也属于角点。

提取特征集合,可以在区域生长合并时把线域添加到集合中,提取出图像边缘和脊特征。另外,还可以在各种条件下,用本方法多次提取的特征组合:

1)旋转0至180度(图像旋转180度提取特征,特征不变化),得到的分裂合并点序列是不同的。用本发明提取图像不同旋转角度的特征组成集合。

2)不同的通道适配规则,形成的区域和特征点序列都不同,用本发明在多种通道过滤规则下提取特征集合。例如,多级灰度范围的通道适配规则下提取的特征集合。

3)不同的对比度亮度级别下,用本发明提取的特征集合。

4)多尺度图像用本发明提取的特征集合,用于多尺度图像分析。多尺度下参数需要相应比例调整。多尺度可以通过通道适配器来实现,指针隔点移动取值。

5)区域中提取区域特征,例如先用肤色建模提取区域特征,在区域特征范围再次眼球建模提取眼睛区域特征。

其中,进行特征匹配,主要步骤为:

1)目标区提取一个特征点,遍历匹配区所有特征点一一匹配,计算特征描述子的差,保留差最小的匹配点。每个特征描述子包含k组16维数据,因此每次匹配需比较k*k次。

2)匹配区有重复就选择差小的点。

3)重复1过程,直到最后一个目标区的特征点取完

其特征匹配算法为:

Disj=argmini∈nd(Fj-Fi');j=0,1,...m,i=0,1,...n.

Pj=i;

Disj是目标区第j个特征点的最小匹配差。d(Fj-Fi')是两个匹配点的特征描述子差。

Fj是目标区第j个特征点描述子,Fi'是匹配区各特征点描述子。

m是目标区特征点总数,n是匹配区的特征点总数。

Pj是目标区第j个特征点的最佳匹配特征点在匹配区的标记。

对于本领域技术人员,本发明不限制于上述实施例的细节,在不背离本发明的精神和范围的情况下,能够以其他具体形式实现本发明。此外,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,这些改进和变型也应视为本发明的保护范围。因此,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

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