发明名称 一种基于仿射不变量的符号识别方法
摘要 本发明属于计算机视觉领域,涉及到一种基于仿射不变量符号识别方法。首先,对目标符号求取凸包并构造一系列与符号轮廓相交的直线,通过引入特征比这一仿射不变量求出对应直线上的特征比值;然后,将特征比值依次组合成一个特征向量,并将该向量表示成一系列的特征比谱;最后,通过DTW算法比较特征比谱间的距离得出符号间的相似度,从而进行符号识别。实验表明,本方法不仅对严重的仿射变形有较高的识别率,对相似度较高的符号也有很好的区分效果。
申请公布号 CN103258200A 申请公布日期 2013.08.21
申请号 CN201310071948.1 申请日期 2013.03.07
申请人 大连理工大学 发明人 贾棋;樊鑫;罗钟铉;田晓宇;刘宇
分类号 G06K9/46(2006.01)I;G06K9/20(2006.01)I 主分类号 G06K9/46(2006.01)I
代理机构 大连理工大学专利中心 21200 代理人 梅洪玉
主权项 1.一种基于仿射不变量的符号识别方法,其特征包括以下步骤,步骤1:对原始符号利用边缘检测的方法提取轮廓;步骤2:对符号轮廓提取凸包;步骤3:在凸包上进行均匀采样,采样点数为n;采样点顺时针标号为p<sub>1</sub>,p<sub>2</sub>,...p<sub>n</sub>;步骤4:计算符号与直线相交处的特征比值步骤4-1:取凸包上任一点p<sub>i</sub>为起始点,按逆时针方向与轮廓上其余点p<sub>i-1</sub>,p<sub>i-2</sub>,...,p<sub>1</sub>,...,p<sub>i+1</sub>依次相连,共产生n-1条直线;p<sub>i</sub>与p<sub>j</sub>相连的直线记为&lt;p<sub>i</sub>,p<sub>j</sub>&gt;;步骤4-2:计算与向量<img file="FDA00002891201200011.GIF" wi="109" he="84" />平行的单位向量<img file="FDA00002891201200012.GIF" wi="250" he="173" />并计算与向量<img file="FDA00002891201200013.GIF" wi="106" he="83" />垂直的单位向量,使其满足<img file="FDA00002891201200016.GIF" wi="158" he="51" />;步骤4-3:对待识别符号上任一轮廓点,若q满足<img file="FDA00002891201200014.GIF" wi="230" he="101" />则q是直线&lt;p<sub>i</sub>,p<sub>j</sub>&gt;与符号轮廓的一个交点;步骤4-4以p<sub>i</sub>,p<sub>j</sub>作为基本点,设直线&lt;p<sub>i</sub>,p<sub>j</sub>&gt;与符号轮廓相交的坐标点集为q<sub>s</sub>={q<sub>1</sub>,q<sub>2</sub>,...,q<sub>m</sub>};步骤5:计算符号在直线&lt;p<sub>i</sub>,p<sub>j</sub>&gt;处的特征比值;设u,v∈IP<sup>2</sup>是射影平面中的两点(或两直线),q<sub>1</sub>,q<sub>2</sub>,...,q<sub>k</sub>是直线(u,v)上的k个点(或通过点&lt;u,v&gt;的直线簇),则存在实数<img file="FDA00002891201200017.GIF" wi="173" he="71" />使q<sub>i</sub>=a<sub>i</sub>u+b<sub>i</sub>v,i=1,2,...,k,称比值<maths num="0001"><![CDATA[<math><mrow><mi>CHR</mi><mo>[</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>;</mo><msub><mi>q</mi><mn>1</mn></msub><mo>,</mo><msub><mi>q</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>qp</mi><mi>k</mi></msub><mo>]</mo><mo>:</mo><mo>=</mo><mfrac><mrow><msub><mi>b</mi><mn>1</mn></msub><msub><mi>b</mi><mn>2</mn></msub><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>b</mi><mi>k</mi></msub></mrow><mrow><msub><mi>a</mi><mn>1</mn></msub><msub><mi>a</mi><mn>2</mn></msub><mo>.</mo><mo>.</mo><mo>.</mo><msub><mi>a</mi><mi>k</mi></msub></mrow></mfrac></mrow></math>]]></maths>为点q<sub>1</sub>,q<sub>2</sub>,...,q<sub>k</sub>关于基本点(或直线)(u,v)的特征比;步骤6:重复步骤4和步骤5,将与点p<sub>i</sub>相连的所有n-1个采样点的特征值计算完毕;将所有特征值组合成一个特征向量,称为特征比谱CHRS(character-ratio spectra);则点p<sub>i</sub>的特征比谱表示为CHRS(p<sub>i</sub>)={CHR(p<sub>i</sub>,p<sub>k</sub>),k=i-1,i-2,...,1,...,i+1},p<sub>k</sub>表示从p<sub>i-1</sub>开始的凸包上绕逆时针方向除p<sub>i</sub>之外的任一采样点;步骤7:设X为未知符号目标,x<sub>s</sub>={x<sub>1</sub>,x<sub>2</sub>,...,x<sub>M</sub>}是其轮廓上的采样点集;设T为某模板符号目标,t<sub>s</sub>={t<sub>1</sub>,t<sub>2</sub>,...,t<sub>N</sub>}是其轮廓上的采样点集;X上任一轮廓点x<sub>i</sub>的特征比谱简写为CHRS(x<sub>i</sub>)={x<sub>i,u</sub>=CHR(x<sub>i</sub>,x<sub>u</sub>)|u=i-1,i-2,...,1,...,i+1};T上任一轮廓点t<sub>j</sub>的特征比谱简写为CHRS(t<sub>j</sub>)={t<sub>j,v</sub>=CHR(t<sub>j</sub>,t<sub>v</sub>)|v=j-1,j-2,...,1,...,j+1};步骤7-1利用公式(1)计算采样点x<sub>i</sub>和t<sub>j</sub>的特征比谱的距离:<maths num="0002"><![CDATA[<math><mrow><mi>DTW</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mi>min</mi><mfenced open='{' close=''><mtable><mtr><mtd><mi>DTW</mi><mrow><mo>(</mo><mi>u</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>v</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>c</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>DTW</mi><mrow><mo>(</mo><mi>u</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>+</mo><mi>c</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>DTW</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>c</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中c(u,v)的计算方式为,当(u=1,v=1)时,DTW(u,v)=c(0,0),其余情况的计算方式如公式(2)所示;<maths num="0003"><![CDATA[<math><mrow><mi>c</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>abs</mi><mrow><mo>(</mo><mi>log</mi><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>u</mi></mrow></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>log</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>j</mi><mo>,</mo><mi>v</mi></mrow></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow></mrow><mrow><mi>log</mi><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>u</mi></mrow></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>log</mi><mrow><mo>(</mo><msub><mi>t</mi><mrow><mi>j</mi><mo>,</mo><mi>v</mi></mrow></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤7-2重复步骤7-1,计算符号X的任一轮廓采样点与模板符号T的任一轮廓采样点的特征比谱的距离;并建立下表1:表1  查询符号与模板符号的DTW距离表<img file="FDA00002891201200023.GIF" wi="2105" he="486" />步骤8.在未知符号的轮廓采样点集x<sub>s</sub>中选定一个采样点,如表1中x<sub>1</sub>,同样从模板符号的采样点集t<sub>s</sub>中选择一个采样点t<sub>k</sub>,k=1,...,n,将x<sub>1</sub>与t<sub>k</sub>对齐作为起始点,对它们顺时针方向上的其他点利用公式(3)作DTW比较,如表1中的DTW距离匹配表;<maths num="0004"><![CDATA[<math><mrow><msub><mi>DTW</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mi>min</mi><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>DTW</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>DTW</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>DTW</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>公式中i=1,2,...,M,j=1,2,...,N;当i=1,j=1时,DTW<sub>k</sub>(i,j)=DTWdist(x<sub>1</sub>,t<sub>k</sub>),c<sub>k</sub>(i,j)=DTWdist(X<sub>i</sub>,T<sub>(j+k)modN</sub>);当k=1时,表1中的灰色背景部分即为匹配的子表;步骤9:由公式(3),当X<sub>1</sub>与T<sub>k</sub>对齐时,X与T的距离记为dist<sub>k</sub>(Q,T)=DTW<sub>k</sub>(M,N);经过N次DTW比较,可以计算出X和T之间的距离为:dist(X,T)=min{dist<sub>k</sub>(X,T),k=0,1,...,N-1}  (4)步骤10:利用公式(4)计算未知符号X与所有模板符号之间的距离,距离最小者对应的模板符号即为识别出的符号。
地址 116024 辽宁省大连市凌工路2号