一种基于三维链码的空间曲线识别方法与流程

文档序号:12271886阅读:1071来源:国知局
一种基于三维链码的空间曲线识别方法与流程

本发明涉及一种空间曲线识别方法,尤其涉及一种基于三维链码的空间曲线识别方法,属于模式识别领域。



背景技术:

目前在手势轨迹识别、飞行轨迹描述以及物体边沿轮廓描述等领域需要进行空间曲线描述与识别。在曲线识别和匹配中,常用链码(又称为freeman码)描述曲线,链码匹配算法首先被用于文本比较,由于其在链状结构描述上具有很大的优越性,因此它被广泛应用于曲线、图形的模式识别等领域,但是一直以来,链码理论的应用仅局限于二维图像,仅有对一些固定结构的三维曲线(如医学检查时的心脏及血管结构,其分布方向相对于医学影像的参考方向是固定的,可以方便的对其像某一平面投影),将其投影到两个正交的二维平面上进行描述,该描述方法对于任意方向的空间曲线描述受到一定限制(由于空间曲线的不确定性,很难确定将其向哪个平面进行投影),为了描述与识别三维空间中的任意曲线,本发明提出一种基于三维链码的空间曲线识别方法。

链码:

链码是描述曲线的一种方式,首先定义一个中心点,对包围中心点的不同方向进行编号,将待描述的曲线离散成相邻的点,将起始点放到中心点上,看曲线的下一个点在中心点外的哪个方向上,将该方向的编号作为该点的编码,然后将编码完的点移动到中心点上,继续编码,最后将得到一串码,称为码值串,则该码值串为表示该曲线的链码。



技术实现要素:

本发明要解决的技术问题是使用一种三维链码描述空间曲线,并且提出基于该三维链码的空间曲线识别方法。本发明公开了一种基于三维链码的空间曲线识别方法,该方法将三维链码及其识别方法应用于对空间曲线的描述及识别中,可减小空间曲线识别计算数据量,降低空间曲线识别的复杂程度。

本发明公开的一种基于三维链码的空间曲线识别方法的发明目的是通过下述技术方案实现:

本发明公开的一种基于三维链码的空间曲线识别方法具体实现步骤如下:

步骤一:使用三维链码编码器对空间曲线进行编码,得到S1码;

步骤二:对S码中的各码值进行重复概率分析,得到S1码;

步骤三:去掉重复码值后得到S2码,判断属于U1-U9中的哪个平面,确定主平面;

步骤四:去掉S码中不属于主平面的码值得到S3码;

步骤五:对S3码进行平面转换,将不是U1平面的S3码转换到U1平面,得到S4码,若S3属于U1平面,则S4码和S3码一致;

步骤六:对S4码方向归一化后得到S5码;

步骤七:对S5码去掉重复项得到特征码S6和细节码S7码,根据识别模板判断曲线在主平面上的形态。

步骤八:去掉S码中属于主平面的字母得到S’码;

步骤九:对S’码中的各码值进行重复概率分析,得到S1’码;

步骤十:去掉重复码值后得到S2’码,判断属于U1-U9中的哪个平面,确定次平面;

步骤十一:去掉S1’中不属于次平面的码值得到S3’码;

步骤十二:对S3’码进行平面转换,将不是U1平面的S3码转换到U1平面,得到S4’码,若S3’属于U1平面,则S4’码和S3’码一致;

步骤十三:对S4’码方向归一化得到S5’码;

步骤十四:去掉S5’码中重复项得到特征码S6’和细节码S7’码,根据识别模板判断曲线在次平面上的形态。

步骤十五:根据主平面曲线形态和次平面曲线形态,综合判断曲线形态。

步骤一中所述的三维链码编码器为:三维链码编码器由27个立方体组成,其中26个为编码单元A-Z,中心一个为原点。定义立体坐标系X′Y′Z′,其中坐标原点为O′,以X′轴正方向上A(1,0,0)为起点,在X′O′Y′平面上,以O′为中心,边长为2的正方形四个顶点和各边中点上,逆时针方向分别设置B、C、D、E、F、G、H点;对应的在平行于X′O′Y′平面,过点Z(0,0,-1)的平面上以X′正方向开始,以同样的方式设置I、J、K、L、M、N、O、P点;在平行于X′O′Y′平面过点Y(0,0,1)的平面上,以X′正方向开始,以同样的方式设置Q、R、S、T、U、V、W、X点。

使用上述三维链码编码器时,每次编码时都把起始点或当前编完码的点放置在坐标原点O′点上,看下一个点距离哪个字母最近,将最近的字母作为下一个点的链码码元,因此,在三维链码编码中,坐标原点O′作为起始点位置,并不作为链码编码码元。使用A~Z 26个字母为码元可以对空间中任意轨迹进行编码。编码步骤为:

a设置轨迹采样率,对轨迹以一定间隔进行采样,获得离散点序列构成的轨迹,每个点以原始轨迹的直角坐标系表示;

b调整三维链码编码器坐标系与轨迹的直角坐标系重合,将轨迹平移,使得轨迹的起点放置在三维链码编码器原点,计算轨迹第2点与A~Z各点的距离,取距离最短的字母做第2点的编码,如果距离多个字母都最近,则抛弃这一点,直接计算下一点;

c继续平移轨迹,使得轨迹第2点放置在三维链码编码器原点,计算轨迹第3点与A~Z各点的距离,取距离最短的字母做第3点的编码;

重复步骤a,则可得到轨迹的三维链码。

步骤三中所述的U1-U9 9个平面为:

用该平面内所有点的集合表示该平面,则9个平面分别表示为9个集合:U1:{A,B,C,D,E,F,G,H,O′}、U2:{N,M,L,G,O′,C,X,Q,R}、U3:{O,Z,K,G,O′,C,W,Y,S}、U4:{P,I,J,G,O′,C,V,U,T}、U5:{P,O,N,A,O′,E,R,S,T}、U6:{I,Z,M,A,O′,E,Q,Y,U}、U7:{J,K,L,A,O′,E,X,W,V}、U8:{P,Z,L,H,O′,D,X,Y,T}、U9:{N,Z,J,F,O′,B,V,Y,R}。

U1~U9可以表示三维链码编码器的所有可分辨平面。通过对轨迹的三维链码中各码元出现频率进行统计,可以将三维链码在空间的分布趋势用U1~U9平面来描述。

步骤五中所述的平面转换是指:将属于U2~U9所在的平面的二位链码保持其平面内的相对位置关系不变,用U1集合内的链码码元按照空间顺序代替原来平面的链码码元,将其从U2~U9所在的平面映射到U1平面,得到新的二维链码S4,S4只包含A、B、C、D、E、F、G、H 8个码元。

步骤六中所述的方向归一化是指:实现对轨迹方向的调整,不论轨迹是从哪个方向开始,调整后,都以向着X′轴正方向为起始点,目的是为了消除轨迹的方向和起始点位置差异,降低匹配模板数量,具体方法如下:

分析S4码首位码元与A间隔,当首位码元按字母表顺序与A间隔n位时,需要将S4码所有码元的字母使用“ABCDEFGH”序列中向前间隔n位的字母进行替换。得到方向归一化后的二维链码S5。方向归一化后为了不丢失轨迹的方向信息,将S4码的首位记为方向码。

步骤七中所述的对S5码去掉重复项得到特征码S6和细节码S7码,具体是指:将二维链码S5中的连续重复码元仅保留一位,得到新的二维链码S6,同时将S5中的每个码元的数目组成一个新的二维链码S7。因为S6描述的是轨迹的转折点,体现了轨迹的大体形态,能够区分直线、折线、半框线(类似“[”形)、全框线(类似“口”形)等,故称之为形态码,而S7则描述了S6中曲线每两个转折点间的距离,是表示的细节信息,称为细节码,形态码和细节码一起保证了轨迹的缩放不变性。S6和S7称为二维链码S3的特征码和细节码,根据S6和S7,与识别模板进行比对,可以对轨迹形态进行识别。

步骤七中所述的识别模板是指:通过分析一些需要做出识别的曲线特征,得到的具有代表性的该曲线的S6码和S7码称为模板。

例如直线:由于进行了方向归一化,直线的方向只能是朝着字母A的方向延伸,根据链码的定义,直线的特征码S6为“A”,为标准直线。若特征码S6为“AB”或“AC”…“AH”(即A后面跟B~H中的一个)且细节码S7为n1n2,n2=1且n1-n2>3,也可判断为直线。

例如圆:标准圆为ABCDEFGH,若按顺序出现其中连续6位以上,或按顺序出现其中不连续4位以上,也可判断为圆。

有益效果:

1、本发明的一种基于三维链码的空间曲线识别方法可以使用A-Z 26个字母描述空间曲线的趋势。

2、本发明的一种基于三维链码的空间曲线识别方法,可通过一定处理步骤,将空间曲线转换为主次两个平面的平面链码进行识别,具有算法简单,识别效率高的特点。

附图说明

图1是三维链码编码器示意图;

图2是三维链码编码器9平面示意图;

图3是某一空间螺旋线示意图。

具体实施方式

下面结合附图详细描述本发明的具体实施方式。

本实施例公开的一种基于三维链码的空间曲线识别方法具体实现步骤如下:

步骤一:使用三维链码编码器对附图3所示某一螺旋线轨迹进行编码,得到S码为

QQGGGGFETBAGGGEETCCBAQGGTTTCQXGEC。

步骤二:对S码中的各码值进行重复概率分析,得到S1码QQGGGGFETBD。

步骤三:去掉重复码值后得到S2码QGFETB,可判断属于U1平面,即确定主平面为U1。

步骤四:去掉S码中不属于主平面U1的码值得到S3码GGGGFEBAGGGEECCBAGGCGEC。

步骤五:由于主平面为U1平面,无需平面转换可得到S4码GGGGFDBAGGGEECCBAGGCGEC。

步骤六:对S4码方向归一化后得到S5码

AAAAHFDCAAAGGEEDCAAEAGE,方向码为G。

步骤七:对S5码去掉重复项得到特征码S6:AHFDCAGEDCAEAGE,细节码S7:411113221121111,判断主平面为圆,且逆时针旋转。

步骤八:去掉S码中属于主平面的字母得到S’码:QQTTQTTTQX。

步骤九:对S’码中的各码值进行重复概率分析,得到S1’码:QTTQTTTQX。

步骤十:去掉重复码值后得到S2’码:QTQTQX,可判断属于U8平面,即确定次平面为U8。

步骤十一:去掉S1’中不属于U8的码值得到S3’码:TTTTTX。

步骤十二:对S3’码进行平面转换,将U8平面转换到U1平面得到S4’码:HHHHHB。

步骤十三:对S4’码方向归一化后S5’码为:AAAAAC,方向码为H。

步骤十四:去掉S5’码中重复项得到特征码S6’:AC,细节码S7’:51,判断次平面为直线。

步骤十五:由主平面圆形轨迹和次平面直线可以判断该手势为逆时针旋转螺旋线,说明了三维链码方法可有效识别空间曲线。

本发明保护范围不仅局限于上述实施例,上述实施例用于解释本发明,凡与本发明在相同原理和构思条件下的变更或修改均在本发明公开的保护范围之内。

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