CN101055620A - 形状比较装置和方法 - Google Patents
形状比较装置和方法 Download PDFInfo
- Publication number
- CN101055620A CN101055620A CNA2006100721316A CN200610072131A CN101055620A CN 101055620 A CN101055620 A CN 101055620A CN A2006100721316 A CNA2006100721316 A CN A2006100721316A CN 200610072131 A CN200610072131 A CN 200610072131A CN 101055620 A CN101055620 A CN 101055620A
- Authority
- CN
- China
- Prior art keywords
- profile
- primitive
- value
- image object
- shape
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 6
- 230000000737 periodic effect Effects 0.000 claims description 5
- 238000000354 decomposition reaction Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 26
- 230000008878 coupling Effects 0.000 description 14
- 238000010168 coupling process Methods 0.000 description 14
- 238000005859 coupling reaction Methods 0.000 description 14
- 238000010606 normalization Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000001149 cognitive effect Effects 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012885 constant function Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 210000003733 optic disk Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于轮廓分解与对应的形状比较装置和形状比较方法。所述装置包括:多边形近似单元,将图像对象轮廓近似为一个多边形,即将所述图像对象轮廓表达为有序的轮廓基元序列;属性生成单元,为轮廓基元以及轮廓基元组合计算属性值;比较单元,建立多边形的对应关系,并由此计算轮廓间的相似度。优选地,还包括:图像对象轮廓提取单元,在输入所述装置的是图像对象而不是图像对象轮廓时,提取输入所述装置的图像对象的图像对象轮廓。
Description
发明领域
该发明涉及一种形状比较装置和形状比较方法,尤其涉及基于轮廓分解与对应的形状识别和比较的装置和方法。
背景技术
在许多应用领域如娱乐、商业、艺术以及工程技术领域,图像的应用变得越来越重要,而且,图像的数目也日益增大,因此,图像识别和基于内容的图像检索在近年来已成为一个重要的研究领域。在图像识别和检索中,其根本问题就是图像比较技术。目前,人们通常采用三种特征对图像进行识别和检索,即:形状、颜色和纹理。近来,一个关于图像检索认知方面的调查显示,人们更倾向于采用形状而不是颜色和纹理对图像进行检索。尽管目标对象的形状信息能够对图像检索和识别提供强有力的支持,然而,目前我们却无法理解人类是如何轻而易举的获取图像对象的内容并基于此进行识别的,所以,依据人类的认知方法进行自动化的检索和识别尚不可行。因此,如何充分有效的描述图像对象的形状特征仍是一个亟待解决的课题。
在许多视频信息处理系统中,如计算机视觉、模式识别及机器人系统,形状匹配都属于核心的问题。形状匹配的应用领域包括工业制品监测、指纹匹配、图像识别以及基于内容的图像检索等。为解决形状匹配中的难题,许多学者已经提出了一些不同的方法。
作为现有的一种形状特征,傅立叶描述子基于频域特征来表达形状轮廓,参见[非专利文档-1]。该方法对图像对象的轮廓作傅立叶变换,并利用变换系数来描述图像对象。然而,傅立叶描述子本身不具有仿射不变的特性。因此,常用的策略是通过抛弃变换结果中的相位信息来达到旋转和起点不变的目的,尺度不变形则通过对变换系数的幅值进行归一化来实现。在相似度计算时,一般通过欧式距离测度来实现。
最为另一种形状特征,Farzin Mokhtarian(参见[非专利文档-2])提出了曲率尺度空间法(Curvature Scale Space,简称CSS)来提取形状特征,该方法在不同的尺度下计算轮廓线的曲率,并根据这些曲率信息来构建形状特征,从而实现了仿射不变性和较好的抗噪性。然而,该方法仅以图像的轮廓作为处理对象,没有考虑轮廓所包含的内容,因此,得到的特征不全面,用这种特征来匹配图像,往往不能得到满意的效果。
在[专利文档-1]中,利用检测到的感兴趣片断的形状属性来表达图像的内容。该方法通过分析图像中的每个片段自动检出一个或者多个从认知上来说比较重要的单元,并利用傅立叶描述子来表达这些单元。通过重复上述过程,图像被转化成一个特性片断集合。基于这些片断的形状特征,该技术可以用于对图像进行存档和检索。
在[专利文档-2]中,为解决姿态旋转下的模式匹配问题,提出了基于顶点区域的匹配方法。首先,用多边形来近似对象模式的内外轮廓,并从中确定具有代表性的多边形顶点来描述模式的姿态旋转。匹配时,通过多边性的顶点而不是基于像素的方式来确定两个多边形的共同区域,从而,得到两个形状的相似度。
在[专利文档-3]中,提出了多尺度空间的方法来描述对象的形状。为了识别一个轮廓曲线,该方法采用一种循环的参数和变换过程来生成一组相互独立的傅立叶描述集,并基于这个描述集空间来表达目标对象的轮廓。据称,基于傅立叶描述集的这种方法能实现有效的识别和压缩。
上述的这些基于全局属性的方法往往不能有效地表达形状的感知特性。近年来,人们把更多的研究重心转移到了基于局部属性的方法,例如:边缘、角点等。这些方法的基本思路为首先从目标对象中提取出从视觉上来说比较重要的部分,接下来,找出与两个目标对象对应的重要部分的对应关系,并基于此计算相似度。
参见[非专利文档-3],Milios和Petrakis根据轮廓上的折点将输入的轮廓形状分割为有序的凹/凸曲线段,并通过建立这些凹/凸曲线段的对应关系计算两个轮廓的相似度。相邻曲线段的合并操作在匹配过程中占有重要的地位,然而,在该方法中,合并操作只能在预先定义的规则下进行。除此之外,各曲线段的几何描述特征也并非十分有效。
[非专利文档-1]H.Kauppinen,T.Seppanen,and M.Pietikainen,“An Experimental Comparison of Autoregressive and Fourier-basedDescriptors in 2-D Shape Classification,”IEEE Transaction onPattern Analysis and Machine Intelligence,vol.17,pp.201-207,1995.
[非专利文档-2]F.Mokhlarian,”Silhouette-Based IsolatedObject Recognition through Curvature Scale Space,”IEEETransaction on Pattern Analysis and Machine Intelligence,vol.17,pp.539-544,1995.
[非专利文档-3]E.Milios,E.Petrakis,“Shape RetrievalBased on Dynamic Programming,”IEEE Transaction on PatternAnalysis and Machine Intelligence,vol.9,pp.141-147,2000
[专利文档-1]Patent Number:US 6,801,661 B1
[专利文档-2]Patent Number:4,783,829
[专利文档-3]Patent Number:6,044,171
发明内容
该发明旨在提供一种形状比较装置,该装置能根据两个目标对象的轮廓信息来计算其相似度。利用该装置,可以实现基于形状特征的图像识别和检索功能。
为了实现本发明的目的,本发明的形状比较装置以图像对象或者图像对象的轮廓作为输入。在以图像对象作为输入的情况下,本装置首先从输入的图像对象中提取其轮廓。这样,输入被归一化为有序的边缘像素坐标序列。根据该发明,首先将轮廓近似为一个多边形,接下来,为每个多边形顶点赋予属性值,从而,将多边形转化为一个属性串。匹配时,利用串匹配技术来建立多边形间的对应关系,并由此计算它们的相似度。
根据本发明,所述的形状比较装置包括:多边形近似单元,将图像对象轮廓近似为一个多边形,即将所述图像对象轮廓表达为有序的轮廓基元序列;属性生成单元,为轮廓基元以及轮廓基元组合计算属性值;比较单元,建立多边形的对应关系,并由此计算轮廓间的相似度。
根据本发明,一种形状比较方法,包括:多边形近似步骤,将图像对象轮廓近似为一个多边形,即将所述图像对象轮廓表达为有序的轮廓基元序列;属性生成步骤,为轮廓基元以及轮廓基元组合计算属性值;比较步骤,建立多边形的对应关系,并由此计算轮廓间的相似度。
多边形近似单元用以将输入的图像对象的轮廓转化为多边形。一些现有的、优化的多边形近似方法都可以应用于该单元。然而,这些方法大都比较费时,尽管如此,由于噪声和图像扭曲所带来的分割不一致性问题依然没有得到彻底解决。由于分解-合并方法具有简单快速的特性,本发明采用了分解-合并方法对图像轮廓进行多边形近似。为了提高该方法的鲁棒性,采用轮廓中曲率值较高的点作为分解-合并方法的初始位置。
通过多边形近似操作,输入轮廓被简化为多边形,而这个多边形可以通过其有序顶点来完全表达。在多边形中,每一个顶点都对应着两个相交的直线段,本发明将一个顶点以及与其对应的两个边定义为一个轮廓基元。在这种方式下,无论一个轮廓基元还是几个相邻的轮廓基元的组合事实上都是折线段。属性生成单元的目的就是为各个轮廓基元以及相邻轮廓基元的组合定义属性值,换言之,就是用几何特征来描述折线段。本发明采用了两种属性:旋转函数(Turning function),折线凹凸性。这两种特征都具有认知的意义,而且,可以快速的从折线段中提取。
经过多边形近似和属性生成,输入图像对象的轮廓自然而然的被转化成一个属性串,其中,每个元素均对应一个基元。在匹配单元中,采用属性串匹配技术(即动态规划技术)来建立折线段(即基元或者基元组合)的对应关系,并由此计算出轮廓间的相似度。为了解决多边形近似单元中轮廓分割的不一致性问题,比较单元中采用了合并操作,即允许一个轮廓基元同多个基元对应或者多个基元同多个基元对应。在以往的方法中,一般通过引入一种基于经验的合并代价值来近似计算合并串之间的距离,因此,距离计算的一致性难以保持。本发明中,实时计算折线段(轮廓基元或者轮廓基元组合)的属性值,因此,具有一致性的距离测度。用属性串来表达二维形状轮廓需要解决的另一个问题是如何确定属性串的起始位置,本发明中,采用了环形串匹配技术来应对这一问题。
附图说明
图1表示基于轮廓分解与对应的形状比较装置的结构图。
图2为多边形近似单元的流程图。
图3A为高曲率点监测结果示例。
图3B为多边形近似结果示例。
图3C给出了组成图3B中所示多边形的所有轮廓基元。
图4展示了两个折线段的旋转函数以及它们之间的距离。
图5用一个样例来说明了一个轮廓基元被歧变成几个轮廓基元的情况。
图6解释了凹/凸度的计算方法。
图7A表示本发明的实施例中两个待比较的形状轮廓。
图7B表示本发明的实施例中两个轮廓的多边形近似结果。
图7C表示本发明的实施例中所涉及到的一个凹/凸度属性计算的例子。
图7D表示本发明的实施例中所涉及到的另一个凹/凸度属性计算的例子。
图7E给出了本发明的实施例中动态规划表的内容。
具体实施方式
下面参照附图,对本发明的具体实施方式进行说明。
图1为本发明的基于轮廓分解和对应的形状比较装置的结构示意图。该装置的输入为图像对象或者图像对象的轮廓,输出为它们的相似度。为了实现这一功能,该装置包含如下3个单元:(1)、多边形近似单元,该单元将输入轮廓近似为一个多边形;(2)、属性生成单元,该单元为轮廓基元以及轮廓基元组合计算属性值;(3)、比较单元,该单元负责建立多边形的对应关系,并由此计算轮廓间的相似度。
根据本发明,该装置的输入只能为图像对象或者图像对象轮廓。这里,图像对象轮廓是指某个对象的轮廓像素的坐标值序列,并且,该坐标值序列为有序的,即轮廓像素的有序的坐标值序列。进一步,本发明的形状比较装置还包括图像对象轮廓提取单元,在输入为图像对象时,需要先提取出该图像对象轮廓,即提取该对象的轮廓像素的有序的坐标值序列。可以采用一些现有的方法来提取图像对象的轮廓,参见:Lucianoda Fontoura Costa and Roberto Marcondes Cesar Jr.,Shape Analysisand Classification:Theory and Practice,CRC Press LLC,page341-347。
1.多边形近似单元
该单元的目的是用多边形来近似表达图像对象的轮廓,即将所述图像对象轮廓表达为有序的轮廓基元序列。可以采用一些现有的多边形近似方法来实现该功能。由于分解-合并方法具有简单和快速的特性,因此,本发明采用该方法来实现多边形近似的目的。参见:L.F.Costa,R.M.Cesar,“Shape Analysis and Classification:Theory and Practice,”CRC Press,pp.354-365。
分解-合并方法通过一个迭代过程来实现轮廓的多边形近似。首先,从轮廓上选取两个初始点将整个轮廓分解为两个曲线段,接下来,将这些曲线段反复分解为较小的曲线段,直到曲线段上的像素点到与该曲线对应的弦的距离小于给定的阈值为止。换言之,就是在可接受的误差范围内,用直线来近似曲线段。分解以后,用一个合并过程来解决分解中产生的错误,尤其是去除多余的顶点。
然而,该方法得到的近似结果同初始点密切相关,因此,需要谨慎选取初始点来尽量减少分解结果的不一致性。本发明中,采用轮廓曲线上具有较高曲率值的点作为分解-合并方法的初始点(也称初始位置),例如:选取曲率值从大到小排在前面的前N个点(即曲率值最大的前N个点),或者选取所有曲率值大于某一阈值的点。
简单的说,多边形近似单元包含两个步骤:(1)计算轮廓上各像素点的曲率值;(2)以具有较高曲率值的点为输入,执行分解-合并过程将输入轮廓近似为多边形。图2给出了该单元执行的操作的流程图。
1.1.曲率计算
可以采用很多方法来计算曲线上某点的曲率值。在本发明的一个实施例中,采用了一种直观的方法直接计算曲率值。设Pi={(xi,yi),i=1,…,N}为图像对象轮廓的坐标序列,轮廓上某点pi的曲率值可以通过与其相邻的轮廓点来计算,如下:
1.计算切线方向
令
点pi的切线方向为:
θi=arctan(dyi/dxi)
2.计算曲率
令
点pi的曲率为:
ci=dθi/dli
本发明中,可以将上述计算过程中参数M的值设置为7。
接下来,选取曲率值较大的点,并以其坐标值作为分解-合并过程的输入。可以采用一些简单的规则来选取曲率值较大的点。本发明中,选取所有曲率值大于阈值0.08的点作为初始点。图3A给出了一个高曲率点检测结果,该图中,用圆圈来标示得到的高曲率点。
上述所得的高曲率点需要排列为有序的形式,并且同轮廓像素点同方向,即:如果图像对象的轮廓像素点为顺时针方向,那么这些点也应该按顺时针方向排列,否则,按逆时针方向排列。
1.2.分解-合并
分解操作是一个迭代的过程,它以初始位置开始,重复检查曲线段上的像素点到与该曲线对应的弦的距离是否大于给定的阈值,如果是,则在最大距离处将该曲线段分解为两个较小的曲线段。
令pi,i=1,…,M表示前面得到的有序的高曲率点。在本发明的一个实施例中,采用两个堆栈来完成分解操作,如下所示:
即,采用两个堆栈closed和opened,首先进行初始化,将第一个高曲率点推入堆栈closed,后M-1个有序的高曲率点推入堆栈open。然后循环执行下述操作:
设A、B分别为堆栈closed和open的最上的高曲率点,并将B从堆栈open中弹出,然后查找弧线
上到弦
AB的垂直距离最大的点(将这个点以及对应的最大距离分别记为C和d(C,
AB))。如果d(C,
AB)的值小于阈值ε,则将B推入堆栈closed。否则将B和C都推入堆栈open。
如此重复进行,直到堆栈open为空。
接下来,执行合并操作来修改分解过程产生的错误,该操作检查相邻的两个直线段并判断是否可以把它们合并近似成一个直线段。设
和为两个相邻的曲线段,该操作首先查找弧线
上的点到弦
AC的最大距离,如果这个距离大于阈值ε,不进行合并操作,否则,合并这两个弧线段,并用弦
AC来近似弧线
,换言之,删除了顶点。
分解-合并是分解、合并的迭代过程:合并操作中保留下来的顶点作为分解操作的初始点被输入分解操作;分解操作得到的顶点被输入合并操作进行检查。该迭代过程一直进行,直到没有顶点的变化为止。
分解-合并模块的具体过程如下所示:
For i=M to 1push(open,pi)EndWhile modified(open)push(closed,pop(open))Split(open)Merge(closed)Move(open,closed)End |
即,采用两个堆栈closed和opened。首先,进行初始化,将有序的高曲率点依次推入堆栈open。接下来,迭代执行分解-合并过程:
分解操作:按照上述分解操作过程中初始化的要求,将第一个顶点从堆栈open中弹出,并推入堆栈closed,并以此作为初始位置循环进行分解操作。
合并操作:分解操作完成后,open堆栈为空,所有的顶点存放于堆栈closed,因此,对closed中的点进行合并操作。之后,将得到的一组新顶点移入堆栈open。
如此重复进行,直到堆栈open中的内容不再发生变化为止。
迭代结束后,最终获得的顶点被存放于堆栈open中。图3B给出了一个多边形近似的例子。
在多边形表达中,每一个多边形顶点都对应着两个相交的多边形的边,本发明将一个顶点以及与其对应的两个边定义为一个轮廓基元。在这种方式下,无论一个轮廓基元还是几个相邻的轮廓基元的组合事实上都是折线段。图3C给出了组成图3B中多边形的所有的轮廓基元。
分解-合并模块保存了轮廓基元的下述信息作为其输出结果:
(1)顶点坐标值。
(2)轮廓基元中两个多边形边的方向。
设pi-1pipi+1为三个相邻的多边形顶点,那么,定义pi的前边方向为从点pi-1指向pi的方向,而pi的后边方向为从点pi指向pi+1的方向。
(3)轮廓基元中两个多边形边的归一化长度。
轮廓基元中两个边的长度定义为从当前顶点到前、后两顶点距离值的一半。此外,要用轮廓的总长度对这些距离值进行归一化。
2.属性生成单元
经多边形近似后,输入图像对象的轮廓被表达成有序的基元序列,而且,不论是单个轮廓基元还是几个相邻基元的组合事实上都是折线段。属性生成单元的目的就是为这些轮廓基元赋予属性值,从而,将它们转化成属性串的方式。本发明中,采用了两种属性:旋转函数(turningfunction)和凹/凸度。这两种属性可以用来描述任意的折线段,因此,同时适用于单个轮廓基元和多个基元组合。
2.1.旋转函数
折线的旋转函数以边的长度为自变量,以折线的各个边与x轴的夹角为值域,记录了轮廓多边形中各个边的旋转情况,当边的旋转方向和轮廓方向一致时,如同为顺时针或者同为逆时针方向时,函数值增加,否则,函数值减小。折线的旋转函数是一个分段常量函数,函数值仅在与折线顶点对应的位置处发生变化,在两个相邻顶点之间,其值为常量。
关于旋转函数,参见:R.C.Veltkamp,M.Hagedoorn,“State-of-the-art in Shape Matching,”in M.Lew(Ed.),Principles of Visual Information Retrieval,Springer,pp.87-119,2001。
正如前面所述,不论是一个轮廓基元还是几个轮廓基元的组合事实上都是折线段,因此,可以通过旋转函数对它们进行描述。在多边形近似单元中,记录了轮廓基元中两个边的方向以及它们的归一化长度,因此,可以很容易的生成对应的旋转函数。
根据旋转函数,可以计算两个折线段的距离。给定两个闭合的形状轮廓A、B,令ai,j和bk,l分别表示从轮廓基元ai、到aj、bk到bl的轮廓基元组合,令Θa(s)和Θb(s)分别表示这两个轮廓基元组合的旋转函数。首先将轮廓函数归一化为单位长度,那么,这两个折线段的基于轮廓函数的距离为:
其中,θ表示使上述积分的值达到最小的旋转角度,如下所示:
显然,这个距离测度具有旋转、尺度和平移不变性,这正是在形状比较中所期望的。
图4给出了两个折线段的旋转函数以及对应的距离计算。
2.2.凹/凸度
在图像对象轮廓的多边形表达中,各轮廓基元可能为凸类型也可能为凹类型。直观上来看,仅在凸(凹)类型之间建立轮廓基元的对应关系似乎更为合理。然而,由于图像噪声以及图像畸变的影响,往往需要建立一对多和多对多的基元对应关系,而且,这些基元可能属于不同的凹凸类型。例如,如图5所示,由于畸变的影响,图像对象轮廓中一个基元对应于另一个图像轮廓中的三个具有不同凹凸类型的基元,在这种情况下,这三个轮廓基元应该合并在一起同第一个图像轮廓中的基元进行匹配。
然而,并非所有的合并匹配都是合理的,有些情况下,合并将会导致错误的结果。本发明中,利用凹凸度来度量合并匹配操作的合理性。该测度的出发点是鼓励那些合理的合并匹配操作,并通过一个较高的惩罚值来抑制不合理的合并匹配操作。
令ai,j表示从轮廓基元ai到aj组成的基元组合,ai,j的凹凸度定义如下:
(1)以点集ai,…,aj为输入,计算其凸壳(convex hull)。
可以采用一些现有的方法来计算点集的凸壳,本发明采用了Graham算法,参见:J.O’rourke,Computational Geometry in C,CambridgeUniversity Press,pp.72-87。
(2)扫描该凸壳的内部区域,并分别计算该区域中位于闭合轮廓内部和外部的面积,记为InA和OutA。该轮廓基元组合的凹凸度为:
c(ai,j)=(InA-OutA)/(InA+OutA)
显然,凹凸度的取值范围为-1到1,其中,极值-1和1分别表示凹、凸基元。而且,凹凸度属性具有旋转、平移和尺度不变性。图6用一个例子显示了该属性的计算过程。
在多边形近似单元中,记录了各个多边形顶点的坐标。利用这些坐标值,可以很容易的通过上述过程来计算轮廓基元的凹凸度。
给定两个闭合的形状轮廓A、B,令ai,j和bk,l分别表示从轮廓基元ai到aj、bk到bl的轮廓基元组合。基于凹凸度属性,这两个折线段的距离为:
Distc(ai,j,bk,l)=|c(ai,j)-c(bk,l)|
本发明还提供了另一种简化的凹凸度计算方法,该方法不需要计算多边形顶点的凸壳,因此,其计算速度大大提高。具体方法如下所示:
正如前面所述,一个轮廓基元由一个多边形顶点和两个多边形的边组成,而且该顶点是这两条边的交点,因此,这个顶点与这两条边的另外两个端点一起组成一个三角形。该方法中,需要预先计算各个轮廓基元对应的三角形的面积,并将凹基元的面积取负值。令ai,j表示从轮廓基元ai到aj的轮廓基元组合,Area(ai)表示与轮廓基元at对应的三角形面积,那么,ai,j的凹凸度定义为:
3.比较单元
本发明中,多边形近似单元将输入的图像对象轮廓转化为有序的轮廓基元序列,属性生成单元为轮廓基元(单个基元或者多个基元的组合)定义了属性。在这种方式下,输入的图形对象轮廓被转化为一个属性串,因此,可以通过建立轮廓基元的对应关系来完成图像对象轮廓相似度的比较。这种对应关系的建立事实上是一个最小化问题,可以通过串匹配技术或者说是动态规划(dynamic programming)来实现。
动态规划通过一个大小为(n+1)×(m+1)的矩阵(动态规划表)来计算两个长度为n和m的串的距离。该表格的每一个格子D(i,j)对应于第一个串中前i个元素组成的子串和第二个串中前j个元素组成的子串之间的距离。在标准动态规划技术中,D(i,j)的值通过与其相邻的前3个格子的值以及这3个格子到当前格子的编辑距离来确定,即:
最后,取上述3个距离和的最小值作为D(i,j)的值。
由于噪声和畸变的影响,多边形近似中总是存在不一致性,例如,第一个轮廓中的一个基元有可能因为畸变而对应于第二个轮廓中的几个基元。标准的串匹配方法(或者动态规划)仅仅利用替换、删除、插入三种基本操作对两个串进行匹配,因此,在上述畸变的情况下往往不能得到较好的效果。本发明的一个实施例中,采用了合并操作来解决这一问题,简言之,在匹配时允许多个基元合并为一个基元参与匹配,因此,实现了基元间的一对多和多对多的对应。与以往的方法所不同的是,本发明实时计算合并基元的属性值来进行匹配,而不是简单的通过一个基于经验的合并代价值来实现,因此,保证了匹配计算的一致性。
用属性串表示二维形状轮廓需解决的另一个问题是串的初始位置问题。直观上看,可以对一个串进行循环移位,再计算移位后的串与另一个串的距离,最后取这些距离中的最小值最为最终的结果。然而,该方法比较费时,其计算复杂度为O(mn2)。本发明中,采用循环串匹配技术来解决这一问题,从而,将计算复杂度降低为O(2mn)。循环串匹配技术的基本思路是利用标准串匹配技术计算串A和串B2的距离,从而实现A和B的循环匹配,这里,B2表示将B周期延拓一次后得到的串。当然,也可以通过周期延拓串A来实现。基于该方法,动态规划表的大小从原来的(n+1)×(m+1)增长为现在的(n+1)×(2m+1)。
关于循环串匹配的更多信息,可以参见:H.Bunke,U.buhler,“Application of Approximating String Matching to 2D ShapeRecognition,”Pattern Recognition,vol.26,pp.1797-1812,1993。
令A=a1,…,an和B=b1,…,bm分别表示两个待匹配的形状,其中,ai和bk表示这两个形状的轮廓基元,令ai,j(bk,l)表示位于基元ai和aj(bk和bl)之间的有序基元组合,si,j(sk,l)为其归一化长度。本发明中,串匹配中的代价函数定义如下:
插入操作c(λ→ai,j)=k*si,j
上式中,k为待定参数。
根据轮廓基元的属性,ai,j和bk,l之间的距离Dist(ai,j,bk,l)由下式计算得到:
Dist(ai,j,bk,l)=Distt(ai,j,bk,l)+α×Distc(ai,j,bk,l)
其中,Distt()和Distc()分别表示对应于旋转函数和凹/凸度的距离值,α为指定系数,一般在0到1之间。
在多边形近似单元中,保存了轮廓基元中两条边的归一化长度,因此,可以轻易得到si,j和sk,l的值。
本发明中,提供了下述方法从理论上估计插入和删除操作中参数k的值。
首先,将插入和删除操作的代价函数扩展为与替换操作类似的形式,如下:
c(λ→ai,j)=(kt+a*kc)*kl*si,j
c(bk,l→λ)=(kt+a*kc)*kl*sk,l
其中,kt、kc和kl分别对应于替换操作中的Distt()、Distc()和基元(基元组合)长度比。下面,用统计的方法来估计这三个参数的值。
kt的值被表达为以轮廓基元数目为自变量的一个函数。给定基元数目N(对于ai,j,N等于j-i+1,对于bk,l,N等于l-k+1),按照均匀分布随机生成两个N+1段分段常量的旋转函数,并计算其距离。重复上述过程(本发明的一个实施例中,重复进行10,000次),从而计算出这些距离值的均值和方差,记为Mt(N)、St(N)。利用二次项近似,可以得到下述关系:
N=1.029*Mt(N)2-0.265*Mt(N)+1.271
N=5.587*St(N)2+3.325*St(N)-2.963
参数kt的值最终定为:kt=Mt(N)+St(N)
假设凹/凸度服从[-1,1]之间的均匀分布,Distc()的均值和方差可以直接计算得到,即2/3和/3,并将参数kc设为这两个值的和,即:
kc=2/3+/3
根据本发明,比较单元的特征在于:(1)循环串匹配;(2)合并操作;(3)为合并基元实时计算属性值,而不是通过基于经验的合并代价值来应对匹配操作。
此外,在比较操作中,通过参数LimitM来控制合并操作中所允许的最大合并单元的数目。
给定两个待匹配形状轮廓A=a1,…,an和B=b1,…,bm,比较单元的实现过程如下所示:
(1).计算参数k1的值。
(2).计算动态规划表中各个格子的值。
D(0,0)=0;for i=1 to mD(i,0)=D(i-1,0)+c(λ→ai)Endfor j=1 to nD(0,j)=0endfor j=n+1 to 2nD(0,j)=D(0,j-1)+c(bj→λ)endfor i=1 to mfor j=1 to 2nm1=min{D(i,j-l)+c(bj-l+1,j→λ),l=1,…,min(LimitM,j)}m2=min{D(i-k,j)+c(λ→ai-k+1,i),k=1,…,min(LimitM,i)}m3=min{D(i-k,j-l)+c(ai-k+1,i→bj-l+1,j),k=1,…,min(LimitM,i),l=1,…,min(LimitM,j)}D(i,j)=min{m1,m2,m3}endend |
该过程的目的是完成大小为(m+1)×(2n+1)的动态规划表中各个格子的值。
首先进行初始化,即计算动态规划表中第一行和第一列的值。
接下来,按照从左到右的顺序逐行计算各个格子的值。为计算格子D(i,j)的值,需要参考下述格子的值以及从这些格子到D(i,j)的编辑距离:
D(i-k,j-l),k=0,…,min(LimitM,i),l=0,…,min(LimitM,j),而且k,j不同时为0。
当前状态下,这些格子的值已经计算出,因此,只需计算从这些格子到D(i,j)的编辑距离。最后,从这些格子中选取其值和对应的编辑距离的和最小的那个格子作为D(i,j)的源格子,并将这个和值作为D(i,j)的值。
(3).从动态规划表中选取这两个形状轮廓的距离值,即格子D(m,j),j=n+1,…,2n之间的最小值。
实施例
下面,通过一个实施例来介绍本发明的实现过程。
图7A给出了两个待匹配的输入形状图像对象,这两个形状对象的轮廓长度分别为481和692。下面的介绍中,将图7A中左边的形状对象记为a,右边的形状对象记为b。本实施例中,这两个形状对象的轮廓像素都是按逆时针方向排列。
图7B给出了图7A中两个形状对象的轮廓近似结果。本实施例中,分解-合并操作的参数ε值为“轮廓长度乘以系数0.02”,因此,这两个形状对象对应的ε值分别为9.62和13.84。
多边形近似后得到的顶点按照与轮廓相同的方向进行排序,因此,本实施例中这些顶点按逆时针方向排列。对于形状对象a,多边形近似后得到10个顶点。在图7B中,这些顶点分别用数字1到10进行标记,这些顶点的坐标分别为:
坐标x | 坐标y | |
顶点1 | 126 | 10 |
顶点2 | 176 | 58 |
顶点3 | 137 | 98 |
顶点4 | 81 | 110 |
顶点5 | 42 | 61 |
顶点6 | 10 | 70 |
顶点7 | 2 | 42 |
顶点8 | 14 | 26 |
顶点9 | 44 | 41 |
顶点10 | 81 | 3 |
每一个多边形顶点连同与其相连的两条边被定义为一个轮廓基元。根据多边形顶点的坐标值,可以计算出各个基元的相关信息,包括:前边和后边方向,前边和后边的归一化长度。下面,以形状对象a为例,介绍具体的计算过程:
(1)对于顶点1,与其相邻的前后顶点分别为10和2。因此,该基元的前边(后边)方向为从顶点10(1)到顶点1(2)的方向,具体值为0.15(0.77);前(后)边的归一化长度为顶点10(2)到顶点1距离的一半值,具体值分别为22.8(34.7)。
(2)对于顶点2,与其相邻的前后顶点分别为1和3。因此,其前边(后边)方向为从顶点1(2)到顶点2(3)的方向,具体值为0.77(2.34);前(后)边的归一化长度为顶点1(3)到顶点2距离的一半值,具体值分别为34.7(27.9)。
类似地,可以计算出所有10个轮廓基元的相关信息。
最后,用多边形的周长对轮廓基元中的边的长度进行归一化。最终得到的各轮廓基元的相关信息如下:
前边方向 | 后边方向 | 前边长度 | 后边长度 | |
顶点1 | 0.15 | 0.77 | 0.049 | 0.075 |
顶点2 | 0.77 | 2.34 | 0.075 | 0.061 |
顶点3 | 2.34 | 2.93 | 0.061 | 0.062 |
顶点4 | 2.93 | 4.04 | 0.062 | 0.068 |
顶点5 | 4.04 | 2.87 | 0.068 | 0.036 |
顶点6 | 2.87 | 4.43 | 0.036 | 0.032 |
顶点7 | 4.43 | 5.36 | 0.032 | 0.022 |
顶点8 | 5.36 | 0.46 | 0.022 | 0.037 |
顶点9 | 0.46 | 5.48 | 0.037 | 0.058 |
顶点10 | 5.48 | 0.15 | 0.058 | 0.049 |
该实施例中,允许合并的最大轮廓基元数目为3,换言之,最多允许3个相邻的轮廓基元合并成一个基元参与匹配。因此,本实施例采用第一种凹凸度计算方法预先计算出所有可能的合并基元组合的凹凸度值。匹配时,这些凹凸度值通过查表的方式直接得到。
本实施例中,为每一个形状对象建立一个凹凸度表。该表的行数目等于轮廓基元的数目,列数目等于允许合并的最大轮廓基元数目,即3。该表的每一行对应于一个轮廓基元,其中的3列分别对应于:该基元的凹凸度值;该基元与后一个相邻基元的组合的凹凸度值;该基元与后两个相邻基元的组合的凹凸度值。
下面,以形状对象a中的基元4为例,介绍凹凸度的计算过程:
(1)第一列,即基元4本身的凹凸度的值。一个独立的基元要么是一个纯粹的凹折线,要么是一个纯粹的凸折线,因此,其凹凸度要么为1,要么为-1。显然,作为一个凸折线,基元4的凹凸度为1。
(2)第二列,对应于基元4和5的凹凸度,计算过程如下:
计算该折线的凸壳。以下列4个点为输入计算其凸壳:顶点4、顶点5、顶点3和顶点4的中点、顶点5和顶点6的中点。这4个点的坐标值分别为:(81,110)、(42,61)、(109,104)、(26,66)。
(781-409)/(781+409)=0.3126
图7C给出了与基元4和5对应的折线及其凸壳。
(3)第三列,对应于由基元4、5和6组成的基元组合的凹凸度。计算过程如下:
计算该折线的凸壳。以下列5个点为输入计算其凸壳:顶点4、顶点5、顶点6、顶点3和顶点4的中点、顶点6和顶点7的中点。这5个点的坐标值分别为:(81,110)、(42,61)、(10,70)、(109,104)、(6,56)。
扫描上述凸壳的内部区域,从而计算该区域中位于闭合轮廓内部和外部的面积。该区域中位于闭合轮廓内外的像素数目分别为1013和885,因此,其凹凸度为:
(1013-885)/(1013+885)=0.0674
图7D给出了与这三个基元对应的折线及其凸壳。
采用类似的过程,为每个基元计算其可能的凹凸度,最后得到的结果如下所示:
凹凸度 | |||
当前基元 | 合并后一个基元 | 合并后两个基元 | |
基元1 | 1.0000 | 1.0000 | 1.0000 |
基元2 | 1.0000 | 1.0000 | 1.0000 |
基元3 | 1.0000 | 1.0000 | 0.7482 |
基元4 | 1.0000 | 0.3126 | 0.0674 |
基元5 | -1.0000 | -0.2862 | 0.2386 |
基元6 | 1.0000 | 1.0000 | 1.0000 |
基元7 | 1.0000 | 1.0000 | 0.2254 |
基元8 | 1.0000 | -0.4318 | -0.1353 |
基元9 | -1.0000 | 0.0817 | 0.7135 |
基元10 | 1.0000 | 1.0000 | 1.0000 |
接下来,通过比较单元计算两个形状对象的相似度。该单元通过动态规划技术建立基元间的对应关系,其中心任务就是计算完成动态规划表中各个格子的值。该表格中的每个格子对应于当前的子串间的距离,例如D(i,j)表示第一个形状轮廓中前i个基元和第二个形状轮廓中前j个基元间的最优匹配距离。正如前面所说,为了确定动态规划表中某个格子的值,需要考虑前面的格子的值以及从这些格子到当前格子的编辑距离,并取其中的最小值作为这个格子的最终值。由于采用了合并操作,不能仅仅考虑前3个相邻的格子,而是需要考虑更多的格子,例如:为了计算D(i,j)的值,需要考虑下述相邻的格子:
{D(i-l,j-k),l,k=1,…,LimitM其中l,k不同时为0}
其中,LimitM为合并操作中所允许的最大合并数目。
另ai和bj分别表示形状对象a和b的基元,其数目均为10。按照循环匹配的规则,将轮廓b的基元周期延拓一次,因此,本实施例需要完成一个大小为11×21的动态规划表。
接下来,通过一个例子来介绍如何计算动态规划表中各个格子的值。假设当前格子为D(i=6,j=9),按照上面的介绍,为了确定该格子的值,需要考虑从D(i=3,j=6)到D(i=6,j=9)的15个相邻格子的值以及从这些格子到D(i=6,j=9)的编辑距离。
这些相邻格子的具体位置如下:
D(3,6) D(3,7) D(3,8) D(3,9)
D(4,6) D(4,7) D(4,8) D(4,9)
D(5,6) D(5,7) D(5,8) D(5,9)
D(6,6) D(6,7) D(6,8)
这些格子的当前的值如下:
D(i,j) | j=6(b6) | j=7(b7) | j=8(b8) | j=9(b9) |
i=3(a3) | 0.69 | 0.8 | 0.72 | 0.6 |
i=4(a4) | 0.7 | 1.05 | 0.86 | 0.77 |
i=5(a5) | 1.09 | 0.79 | 1.12 | 0.95 |
i=6(a6) | 1.02 | 1 | 0.89 |
下面,需要根据代价函数计算从这些相邻格子到当前格子D(i=6,j=9)的编辑距离。例如:从D(4,9)到当前格子的编辑距离为c(λ→a5,6),就是说,通过在形状对象b中插入一个空基元来匹配形状对象a中的基元a5和a6;从D(5,7)到当前格子的编辑距离为c(a6→b8,9),就是说,形状对象a中的基元a6同形状对象b中的基元b8和b9匹配所产生的距离。
经计算,从这些相邻格子到当前格子的距离值为:
0.49 | 0.63 | 0.91 | 1.29 |
0.84 | 0.57 | 0.51 | 0.69 |
1.12 | 0.36 | 0.13 | 0.30 |
1.33 | 0.82 | 0.4 |
将这些相邻格子的当前值与上述编辑距离值相加,得到如下结果:
1.18 | 1.43 | 1.63 | 1.89 |
1.54 | 1.62 | 1.37 | 1.46 |
2.21 | 1.15 | 1.25 | 1.25 |
2.35 | 1.82 | 1.29 |
上述结果中的最小值就是当前格子D(6,9)的值,即1.15。同时,与这个最小值对应的格子,即D(5,7)被称为D(6,9)的源。
重复上述过程计算动态规划表中所有格子的值,如图7E所示。在该图中,用箭头表示各个格子的源。输入的两个形状对象的距离通过计算格子D(10,11)到D(10,20)的最小值获得,即与D(10,18)对应的值0.48。以D(10,18)为起点,顺序追踪各个格子的源,就可以获得一条路径来指示轮廓基元间的对应关系。例如:首先获得D(10,18)的源D(9,17),即a10和b8两个基元被匹配在一起;接下来,获得D(9,17)的源D(8,16),即a9和b7两个基元被匹配在一起;类似的,获得D(8,16)的源D(5,14),即基元a8、a7、a6合并在一起与基元b6、b5的合并组合进行匹配。重复上述过程,直到达到动态规划表的第一行为止。图7E中,用黑色的粗实线表示本实施例中得到的路径,因此,基元间的对应关系为:
a10-b8
a9-b7
a6,a7,a8-b5,b6
a5-b4
a4-b3
a3-b2
a1,a2-b1,b10
根据以上的说明,在本发明的另一方面,本发明提供了一种形状比较方法,包括:多边形近似步骤,将图像对象轮廓近似为一个多边形,即将所述图像对象轮廓表达为有序的轮廓基元序列;属性生成步骤,为轮廓基元以及轮廓基元组合计算属性值;比较步骤,建立多边形的对应关系,并由此计算轮廓间的相似度。
在所输入的是图像对象而不是图像对象轮廓时,所述方法还包括:图像对象轮廓提取步骤,提取输入所述装置的图像对象的图像对象轮廓。
优选地,所述多边形近似步骤采用分解-合并方法将图像对象轮廓近似为一个多边形。所述属性值为旋转函数和凸/凹度之一或它们两者。所述比较步骤使用串匹配技术来进行图像对象轮廓相似性的比较。
本领域技术人员应该认识到,在各个实施例中,可以通过专门的电路或线路(例如,互连以执行专门功能的离散逻辑门)、通过由一个或更多个处理器执行的程序指令,或者通过两者的组合来执行本文所说明的各个动作。因此,可以通过多种不同的形式来实施本文所说明的各个方面,并且所有这些形式都被认为处于所描述内容的范围内。对于该各个方面中的每一个,任何这种形式的实施例在此都可以指“被构造用来执行所述动作的逻辑”,或者另选地,是指“执行或者能够执行所述动作的逻辑”。
进一步,根据本发明的实施例,本发明的目的还可以由可以使计算机或单片机等执行上述操作的计算机程序实现。
进一步,根据本发明的实施例,本发明的目的还可以由计算机可读介质实现,所述介质存储上述的程序。计算机可读介质可以是能够包含、存储、传达、传播、或传送程序,以由指令执行系统、设备或装置使用的或与指令执行系统、设备或装置相结合的任何装置。该计算机可读介质例如可以是但不限于电子、磁、光、电磁、红外或半导体系统、设备、装置或者传播介质。该计算机可读介质的更具体的示例(非穷尽列举)可以包括:具有一根或更多根导线的电连接、便携式计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤,以及便携式光盘只读存储器(CDROM)。
本发明实施例的以上说明只用于例示和说明的目的。前述说明并不旨在将本发明穷尽在或限制在所公开的精确形式。很明显,对于本领域的技术人员来说,许多修改和变型是显而易见的。所选择并描述的实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域其他技术人员理解本发明的各种实施例及其各种变型例,以适合于特定的预期使用。应该理解,本发明的范围由权利要求和它们的等同物限定。
Claims (30)
1、一种形状比较装置,包括:
多边形近似单元,将图像对象轮廓近似为一个多边形,即将所述图像对象轮廓表达为有序的轮廓基元序列;
属性生成单元,为轮廓基元以及轮廓基元组合计算属性值;
比较单元,建立多边形的对应关系,并由此计算轮廓间的相似度。
2、根据权利要求1所述的形状比较装置,还包括:
图像对象轮廓提取单元,提取输入所述装置的图像对象的图像对象轮廓。
3、根据权利要求1所述的形状比较装置,其特征在于,所述多边形近似单元采用分解-合并方法将图像对象轮廓近似为一个多边形。
4、根据权利要求3所述的形状比较装置,其特征在于,所述多边形近似单元采用所述图像对象轮廓上具有较高曲率值的点作为所述分解-合并方法的初始点。
5、根据权利要求4所述的形状比较装置,其特征在于,所述较高曲率值的点为曲率值从大到小排在前面的指定个数的点,或者所有曲率值大于某一阈值的点。
6、根据权利要求1所述的形状比较装置,其特征在于,所述属性值为旋转函数和凸/凹度之一或它们两者。
7、根据权利要求6所述的形状比较装置,其特征在于,所述凸/凹度为:
令ai,j表示从轮廓基元ai到aj组成的基元组合,则ai,j的凹凸度c(ai,j)为:
c(ai,j)=(InA-OutA)/(InA+OutA)
其中,InA和OutA分别为点集ai,…,aj的凸壳的内部区域中位于闭合轮廓内部和外部的面积。
8、根据权利要求6所述的形状比较装置,其特征在于,所述凸/凹度为:令ai,j表示从轮廓基元ai到aj的轮廓基元组合,Area(ai)表示与轮廓基元at对应的三角形面积,那么,ai,j的凹凸度c(ai,j)定义为:
9、根据权利要求6所述的形状比较装置,其特征在于,轮廓基元组合为一组相邻的轮廓基元的组合,这个组合的数目最多为允许与其合并的最大轮廓基元数目。
10、根据权利要求1所述的形状比较装置,其特征在于,所述比较单元使用串匹配技术来进行图像对象轮廓相似度的比较。
11、根据权利要求10所述的形状比较装置,其特征在于,所述比较单元采用循环匹配策略,即,当比较A和B时,用标准串匹配技术计算串A和串B2的距离,B2表示将B周期延拓一次后得到的串。
12、根据权利要求10或11所述的形状比较装置,其特征在于,所述比较单元采用合并操作,即,为了计算D(i,j)的值,需要考虑下述相邻的格子:
{D(i-l,j-k),l,k=0,…,LimitM,并且l,k不同时为0}
其中,D(i,j)表示第一个形状轮廓中前i个基元和第二个形状轮廓中前j个基元间的最优匹配距离,LimitM为合并操作中所允许的最大合并数目。
13、根据权利要求12所述的形状比较装置,其特征在于,所述D(i,j)的值依据以下公式计算:
D(i,j)=Distt(i,j)+α×Distc(i,j)
其中,Distt()和Distc()分别表示对应于旋转函数和凹/凸度的距离值,α为指定系数,在0到1之间。
14、根据权利要求1所述的形状比较装置,其特征在于,所述属性生成单元预先计算属性值,所述比较单元在比较时通过查表获得这些属性值。
15、根据权利要求1所述的形状比较装置,其特征在于,所述比较单元在比较时通过所述属性生成单元实时获得所述属性值。
16、一种形状比较方法,包括:
多边形近似步骤,将图像对象轮廓近似为一个多边形,即将所述图像对象轮廓表达为有序的轮廓基元序列;
属性生成步骤,为轮廓基元以及轮廓基元组合计算属性值;
比较步骤,建立多边形的对应关系,并由此计算轮廓间的相似度。
17、根据权利要求16所述的形状比较方法,还包括:
图像对象轮廓提取步骤,提取输入所述装置的图像对象的图像对象轮廓。
18、根据权利要求16所述的形状比较方法,其特征在于,所述多边形近似步骤采用分解-合并方法将图像对象轮廓近似为一个多边形。
19、根据权利要求18所述的形状比较方法,其特征在于,所述多边形近似步骤采用所述图像对象轮廓上具有较高曲率值的点作为所述分解-合并方法的初始点。
20、根据权利要求19所述的形状比较方法,其特征在于,所述较高曲率值的点为曲率值从大到小排在前面的指定个数的点,或者所有曲率值大于某一阈值的点。
21、根据权利要求16所述的形状比较方法,其特征在于,所述属性值为旋转函数和凸/凹度之一或它们两者。
22、根据权利要求21所述的形状比较方法,其特征在于,所述凸/凹度为:
令ai,j表示从轮廓基元ai到aj组成的基元组合,则ai,j的凹凸度c(ai,j)为:
c(ai,j)=(InA-OutA)/(InA+OutA)
其中,InA和OutA分别为点集ai,…,aj的凸壳的内部区域中位于闭合轮廓内部和外部的面积。
23、根据权利要求21所述的形状比较方法,其特征在于,所述凸/凹度为:令ai,j表示从轮廓基元ai到aj的轮廓基元组合,Area(ai)表示与轮廓基元at对应的三角形面积,那么,ai,j的凹凸度c(ai,j)定义为:
24、根据权利要求21所述的形状比较方法,其特征在于,轮廓基元组合为一组相邻的轮廓基元的组合,这个组合的数目最多为允许与其合并的最大轮廓基元数目。
25、根据权利要求16所述的形状比较方法,其特征在于,所述比较步骤使用串匹配技术来进行图像对象轮廓相似性的比较。
26、根据权利要求25所述的形状比较方法,其特征在于,所述比较步骤采用循环匹配策略,即,当比较A和B时,用标准串匹配技术计算串A和串B2的距离,B2表示将B周期延拓一次后得到的串。
27、根据权利要求25或26所述的形状比较方法,其特征在于,所述比较步骤采用合并操作,即,为了计算D(i,j)的值,需要考虑下述相邻的格子:
{D(i-l,j-k),l,k=0,…,LimitM,并且l,k不同时为0}
其中,D(i,j)表示第一个形状轮廓中前i个基元和第二个形状轮廓中前j个基元间的最优匹配距离,LimitM为合并操作中所允许的最大合并数目。
28、根据权利要求27所述的形状比较方法,其特征在于,所述D(i,j)的值依据以下公式计算:
D(i,j)=Distt(i,j)+α×Distc(i,j)
其中,Distt()和Distc()分别表示对应于旋转函数和凹/凸度的距离值,α为指定系数,在0到1之间。
29、根据权利要求16所述的形状比较方法,其特征在于,所述属性生成步骤预先计算属性值,所述比较步骤在比较时通过查表获得这些属性值。
30、根据权利要求16所述的形状比较方法,其特征在于,所述比较步骤在比较时通过所述属性生成步骤实时获得所述属性值。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100721316A CN101055620B (zh) | 2006-04-12 | 2006-04-12 | 形状比较装置和方法 |
US11/784,734 US8031948B2 (en) | 2006-04-12 | 2007-04-09 | Shape comparison apparatus on contour decomposition and correspondence |
JP2007103298A JP4924165B2 (ja) | 2006-04-12 | 2007-04-10 | 形状比較装置および形状比較方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100721316A CN101055620B (zh) | 2006-04-12 | 2006-04-12 | 形状比较装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101055620A true CN101055620A (zh) | 2007-10-17 |
CN101055620B CN101055620B (zh) | 2011-04-06 |
Family
ID=38758810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100721316A Expired - Fee Related CN101055620B (zh) | 2006-04-12 | 2006-04-12 | 形状比较装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8031948B2 (zh) |
JP (1) | JP4924165B2 (zh) |
CN (1) | CN101055620B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236789A (zh) * | 2010-04-26 | 2011-11-09 | 富士通株式会社 | 对表格图像进行校正的方法以及装置 |
CN102722721A (zh) * | 2012-05-25 | 2012-10-10 | 山东大学 | 一种基于机器视觉的人体跌倒检测方法 |
CN101981577B (zh) * | 2008-03-25 | 2013-02-27 | 夏普株式会社 | 图形要素选择装置及方法 |
CN104778308A (zh) * | 2015-03-19 | 2015-07-15 | 上海工仿软件有限公司 | 飞机结构型材的识别方法和装置 |
CN105678262A (zh) * | 2016-01-07 | 2016-06-15 | 林业城 | 一种能够自主作业的隧道地质监控装置 |
CN106504231A (zh) * | 2016-10-11 | 2017-03-15 | 广州视源电子科技股份有限公司 | 元件缺陷检测方法和系统 |
CN106897724A (zh) * | 2015-12-18 | 2017-06-27 | 南京财经大学 | 一种基于轮廓线形状特征的植物叶片识别方法 |
WO2018068415A1 (zh) * | 2016-10-11 | 2018-04-19 | 广州视源电子科技股份有限公司 | 元件错件检测方法和系统 |
CN110826046A (zh) * | 2019-11-04 | 2020-02-21 | 北京锐安科技有限公司 | 一种网站登录的方法、装置、设备及存储介质 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5279007B2 (ja) * | 2008-06-27 | 2013-09-04 | 国立大学法人九州大学 | 照合システム、照合方法、プログラム及び記録媒体 |
US8306872B2 (en) * | 2008-08-08 | 2012-11-06 | Nikon Corporation | Search supporting system, search supporting method and search supporting program |
CN102222335B (zh) * | 2011-05-30 | 2013-08-14 | 广东工业大学 | 一种彩色图像的四元数匹配方法 |
JP5708305B2 (ja) * | 2011-06-30 | 2015-04-30 | 富士通株式会社 | 画像認識装置、画像認識方法及び画像認識用コンピュータプログラム |
JP5918548B2 (ja) * | 2012-01-24 | 2016-05-18 | 富士フイルム株式会社 | 内視鏡画像診断支援装置およびその作動方法並びに内視鏡画像診断支援プログラム |
CN103295216B (zh) * | 2012-02-24 | 2016-01-06 | 富士通株式会社 | 用于识别三维模型中的空间的方法和设备及图像处理系统 |
RU2522044C1 (ru) * | 2013-01-09 | 2014-07-10 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Южно-Российский государственный университет экономики и сервиса" (ФГБОУ ВПО "ЮРГУЭС") | Устройство выделения контуров объектов на текстурированном фоне при обработке цифровых изображений |
WO2014162168A1 (en) * | 2013-04-01 | 2014-10-09 | Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi | System and method for describing image outlines |
CN104463866B (zh) * | 2014-12-04 | 2018-10-09 | 无锡日联科技有限公司 | 一种基于轮廓随机采样的局部形状匹配方法 |
KR101667875B1 (ko) * | 2015-03-31 | 2016-10-19 | 목포대학교산학협력단 | 복수개의 지도 상에서의 건물 폴리곤 자동정합 장치 및 방법 |
US9972106B2 (en) * | 2015-04-30 | 2018-05-15 | TigerIT Americas, LLC | Systems, methods and devices for tamper proofing documents and embedding data in a biometric identifier |
CN114758406B (zh) | 2015-05-11 | 2024-02-23 | 奇跃公司 | 用于使用神经网络的生物特征用户识别的设备、方法和系统 |
US9721356B2 (en) | 2015-08-18 | 2017-08-01 | Honeywell International Inc. | Methods and systems for programatically identifying shapes in graphical artifacts |
CA3015658A1 (en) | 2016-03-11 | 2017-09-14 | Magic Leap, Inc. | Structure learning in convolutional neural networks |
US10095938B2 (en) | 2016-12-30 | 2018-10-09 | MorphoTrak, LLC | Multi-stage tattoo matching techniques |
US10679092B2 (en) * | 2017-07-06 | 2020-06-09 | MorphoTrak, LLC | Fast curve matching for tattoo recognition and identification |
US10339669B2 (en) | 2017-08-22 | 2019-07-02 | Here Global B.V. | Method, apparatus, and system for a vertex-based evaluation of polygon similarity |
CN107918938A (zh) * | 2017-11-16 | 2018-04-17 | 凌云光技术集团有限责任公司 | 一种点集与点集的匹配方法及装置 |
US10896218B2 (en) | 2017-12-22 | 2021-01-19 | Oracle International Corporation | Computerized geo-referencing for images |
CN108052778B (zh) * | 2018-01-23 | 2021-07-06 | 湘潭大学 | 用于无网格粒子模拟技术的邻近粒子高效双重搜索方法 |
CN108399425B (zh) * | 2018-02-08 | 2021-04-06 | 吉首大学 | 字符同构检测方法及装置 |
US10789487B2 (en) * | 2018-04-05 | 2020-09-29 | Here Global B.V. | Method, apparatus, and system for determining polyline homogeneity |
US11087469B2 (en) * | 2018-07-12 | 2021-08-10 | Here Global B.V. | Method, apparatus, and system for constructing a polyline from line segments |
CN109035277B (zh) * | 2018-07-13 | 2022-05-27 | 沈阳理工大学 | 基于显著性轮廓特征片段的目标识别方法 |
EP3973468A4 (en) | 2019-05-21 | 2022-09-14 | Magic Leap, Inc. | HANDPOSITION ESTIMATING |
CN110580497B (zh) * | 2019-07-16 | 2023-03-24 | 中国地质大学(武汉) | 一种基于旋转不变性的空间场景匹配方法 |
CN111145204B (zh) * | 2019-12-31 | 2023-07-18 | 沈阳航空航天大学 | 一种边数可设定的对轮廓曲线的多边形简化方法 |
CN113538490B (zh) * | 2021-07-20 | 2022-10-28 | 刘斌 | 视频流处理方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4783829A (en) * | 1983-02-23 | 1988-11-08 | Hitachi, Ltd. | Pattern recognition apparatus |
JP2682416B2 (ja) * | 1993-12-24 | 1997-11-26 | 日本電気株式会社 | 図形認識装置 |
KR100414432B1 (ko) * | 1995-03-24 | 2004-03-18 | 마츠시타 덴끼 산교 가부시키가이샤 | 윤곽추출장치 |
US6044171A (en) * | 1995-05-09 | 2000-03-28 | Polyakov; Vladislav G. | Method and apparatus for pattern recognition and representation using fourier descriptors and iterative transformation-reparametrization |
JP3440641B2 (ja) * | 1995-07-26 | 2003-08-25 | 松下電器産業株式会社 | 動作開始位置検出方法 |
JP3815704B2 (ja) * | 1997-10-28 | 2006-08-30 | 株式会社リコー | 図形分類処理方法、図形検索処理方法、図形分類システム、図形検索システム、図形分類用特徴抽出処理方法、図形分類用表作成処理方法、情報記録媒体、図形間の類似度又は相異度の評価処理方法、図形正規化処理方法、及び、図形間対応付け処理方法 |
US6384835B1 (en) * | 1998-02-17 | 2002-05-07 | Silicon Graphics, Inc. | Computer generated paint stamp compensation |
JP2000067235A (ja) * | 1998-08-20 | 2000-03-03 | Ricoh Co Ltd | 図形分類方法、図形検索方法、記録媒体、図形分類装置、及び、図形検索装置 |
JP3753880B2 (ja) * | 1999-01-26 | 2006-03-08 | 株式会社リコー | 図形分類方法、図形検索方法、図形分類検索システム及び記録媒体 |
US6801661B1 (en) * | 2001-02-15 | 2004-10-05 | Eastman Kodak Company | Method and system for archival and retrieval of images based on the shape properties of identified segments |
-
2006
- 2006-04-12 CN CN2006100721316A patent/CN101055620B/zh not_active Expired - Fee Related
-
2007
- 2007-04-09 US US11/784,734 patent/US8031948B2/en not_active Expired - Fee Related
- 2007-04-10 JP JP2007103298A patent/JP4924165B2/ja not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101981577B (zh) * | 2008-03-25 | 2013-02-27 | 夏普株式会社 | 图形要素选择装置及方法 |
CN102236789A (zh) * | 2010-04-26 | 2011-11-09 | 富士通株式会社 | 对表格图像进行校正的方法以及装置 |
CN102236789B (zh) * | 2010-04-26 | 2017-06-13 | 富士通株式会社 | 对表格图像进行校正的方法以及装置 |
CN102722721A (zh) * | 2012-05-25 | 2012-10-10 | 山东大学 | 一种基于机器视觉的人体跌倒检测方法 |
CN104778308A (zh) * | 2015-03-19 | 2015-07-15 | 上海工仿软件有限公司 | 飞机结构型材的识别方法和装置 |
CN106897724A (zh) * | 2015-12-18 | 2017-06-27 | 南京财经大学 | 一种基于轮廓线形状特征的植物叶片识别方法 |
CN105678262A (zh) * | 2016-01-07 | 2016-06-15 | 林业城 | 一种能够自主作业的隧道地质监控装置 |
CN106504231A (zh) * | 2016-10-11 | 2017-03-15 | 广州视源电子科技股份有限公司 | 元件缺陷检测方法和系统 |
WO2018068417A1 (zh) * | 2016-10-11 | 2018-04-19 | 广州视源电子科技股份有限公司 | 元件缺陷检测方法和系统 |
WO2018068415A1 (zh) * | 2016-10-11 | 2018-04-19 | 广州视源电子科技股份有限公司 | 元件错件检测方法和系统 |
CN110826046A (zh) * | 2019-11-04 | 2020-02-21 | 北京锐安科技有限公司 | 一种网站登录的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101055620B (zh) | 2011-04-06 |
US8031948B2 (en) | 2011-10-04 |
JP4924165B2 (ja) | 2012-04-25 |
JP2007287145A (ja) | 2007-11-01 |
US20070286493A1 (en) | 2007-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101055620A (zh) | 形状比较装置和方法 | |
CN1818927A (zh) | 指纹识别方法与系统 | |
CN1177407A (zh) | 基于速度的手写体识别方法和系统 | |
CN1811793A (zh) | 一种人脸特征点自动定位方法 | |
CN1747559A (zh) | 三维几何建模系统和方法 | |
CN1794266A (zh) | 生物特征融合的身份识别和认证方法 | |
CN1894703A (zh) | 模式识别方法、设备以及程序 | |
CN1664846A (zh) | 基于统计结构特征的联机手写汉字识别方法 | |
CN1924897A (zh) | 图像处理装置和方法以及程序 | |
CN1252634C (zh) | 用于识别在输入区上手动描划字符的方法和设备 | |
CN1700241A (zh) | 面部描述和识别的方法和装置 | |
CN1945602A (zh) | 一种基于人工神经网络的特征选择方法 | |
CN1655144A (zh) | 图形比较装置及方法 | |
CN1871622A (zh) | 图像比较系统和图像比较方法 | |
CN100336056C (zh) | 基于成熟工艺文档的工艺术语提取、规律分析和重用方法 | |
CN1218936A (zh) | 手势识别装置 | |
CN1151465C (zh) | 利用候选表进行分类的模式识别设备及其方法 | |
CN111582294A (zh) | 一种构建用于表面缺陷检测的卷积神经网络模型的方法及其利用 | |
ter Haar et al. | Expression modeling for expression-invariant face recognition | |
CN1695151A (zh) | 计算机辅助设计系统和程序 | |
Zhang et al. | 3D face recognition based on multiple keypoint descriptors and sparse representation | |
CN1251130C (zh) | 多字体多字号印刷体藏文字符识别方法 | |
CN1696933A (zh) | 基于动态规划的文本概念关系自动提取方法 | |
CN1227624C (zh) | 物体领域信息产生方法和设备 | |
CN100346339C (zh) | 图像检索方法及图像检索装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110406 |
|
CF01 | Termination of patent right due to non-payment of annual fee |