Java Programming_第1页
Java Programming_第2页
Java Programming_第3页
Java Programming_第4页
Java Programming_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于一阶差分的汉字拐点检测研究,制作人:廖文志,AnalysisonCornerDetectionofTheChineseCharactersBasedonFirst-OrderDifference,概要,1.研究背景2.算法2.1八邻域链码2.2平滑闭合边界的八邻域链码2.3计算平滑后八邻域链码的一阶差分3.仿真实验3.1仿射变换中的不变性4.结论,1.汉字的拐点是汉字图像的重要拓扑特征之一,通常传递了非常重要的信息,这些信息可用于汉字的匹配与识别以及汉字的重构等;2.汉字拐点具有计算量小,旋转、平移、缩放不变性等特点;因此准确、稳定地检测出汉字的拐点具有重要的意义。,1.研究背景,常用的拐点算法,根据算法处理的像素集的不同,拐点检测算法大致可分为两类:一是基于边缘的拐点检测算法;二是基于图像灰度变化的拐点检测算法,如Harris,Susan算法;今天我们主要讨论基于边缘的拐点检测算法,Rosenfeld与Johnston提出了k余弦算法(简称为RJ算法),即利用边界点处内角的余弦值来估算曲率。Rosenfeld与Weszka改进了RJ算法(简称为RW算法),用各点处边界邻域中内角的平均余弦值来平滑曲率,这虽提高了拐点识别的准确性,但却极大地降低了算法的实时性。,Freeman与Davis首先利用一条连接物体边界上由s段链码构成的曲线段的两个端点的移动直线段来平滑物体边界,然后根据直线段两次移动的偏转角度来近似计算边界各点的曲率(简称为FD算法),但该算法中,参数的选择对拐点检测结果的影响非常大。Beus和Tiu又提出了FD算法的改进算法(简称为BT算法),与RW算法类似,BT算法是通过对用FD算法计算得到的曲率进行局部平均来改善算法的稳定性。,对基于边缘的拐点检测算法:,然而上述算法都有一个共同的缺点:由于计算得到的拐点处的曲率与非拐点处的曲率差别较小,因此算法的稳定性和准确性对图像中物体的形状及尺寸变化较敏感。同时由于汉字的复杂性,即汉字有若干部件组成且每个部件的形状和尺寸不尽相同,且在高分辨率显示下,汉字的锯齿现象十分突出。,针对这些问题,本文提出了基于一阶差分的汉字拐点检测算法,该算法虽属于基于边缘的拐点检测算法,但与已有的基于链码的算法不同,它不需要计算边界点处内角的余弦值和曲率。,二.基于一阶差分的汉字拐点检测算法,拐点:是由直线或曲线的交点所形成的,它们发生在边缘方向发生急剧改变的地方。拐点的定义有很多,不同的定义决定其采取的检测算法。,2.1八邻域链码设一幅图像中物体有n个闭合边界,第i个闭合边界由Tk个像素(i=1,2,n)构成,(k=1,2,n,i=1,2,Tk)表示第k个闭合边界中第i个边界像素点,和表示第k个闭合边界中第i个边界像素处的八邻域链码值和一阶差分。由于每个边界闭合,所以;像素的八邻域即是将以为中心的3600平面空间量化为八个方向,每个方向用数字0,1,7标识,如下图所示,图2图2的8邻域链码,2.2平滑闭合边界的八邻域链码从链码图可以看出八邻域链码反映了每个闭合边界中当前像素与下一个像素之间的方向变化,然而边界的锯齿现象比较明显,若此时直接对八邻域链码求一阶差分检测拐点,将会有很多伪拐点干扰。因此本文采用如下平滑策略来平滑初始八邻域链码,能有效地避免锯齿现象和一些伪拐点的干扰,对于图像中每一条闭合的边界:(1)比较当前像素,当前像素的前两个像素以及当前像素的后两个像素之间的链码值:如果(d=1,2)相同且则;(2)比较当前像素,当前像素的前两个像素以及当前像素的下一个像素之间的链码值;或者比较当前像素,当前像素的后两个像素以及当前像素的前一个像素之间的链码值:如果(d=1,2)且)或者(且)则;(3)比较当前像素,当前像素的前两个像素以及当前像素的下下个像素之间的链码值;或者比较当前像素,当前像素的上上个像素以及当前像素的后两个像素之间的链码值:如果(且)或者(且)则。,(,(,图2的八邻域链码图按上述平滑策略平滑后,得到的链码如下图所示,锯齿现象明显被消除,同时也排除了一些伪拐点的干扰。,2.3计算平滑后八邻域链码的一阶差分,边界像素的八邻域链码表示每个闭合边界中当前像素与下一个像素之间的方向变化,即反映了边界像素方向的变化,而八邻域链码的导数则表示了边界像素方向的变化率,连续空间中第k条闭合边界的第i个边界像素点的导数定义为:(1)在离散的空间中,可用八邻域链码的一阶差分来近似八邻域链码的导数表示边界像素方向的变化率,因为:(2),对经过平滑后的八邻域链码做一阶差分所得结果如下图所示,图中的零系列表示该边界是一条直线;图中的非零点表示该像素可能为拐点,具体判断还要根据如下具体算法描述的第(4)步。,FOD算法描述如下:(1)跟踪图像中汉字的边界轮廓,汉字中的每个闭合边界用一条八邻域链码表示边界各像素;(2)按2.2中的平滑策略(1)、(2)和(3)对每条八邻域链码进行平滑;(3)对经过平滑后的每条八邻域链码按式(3)计算其一阶差分;(4)挑出每条八邻域链码中一阶差分不为零的像素,并用表示其位置,用表示这条链码的长度(此闭合边界的像素总数)。若一条链码中两个相邻的一阶差分不为零的像素之间的间隔大于某一阈值Threshold时,则判定该像素为拐点,即:Threshold(4)Threshold=(5),注意:阈值Threshold如果取得过小则会误检出一些伪拐点,如果取得过大则会漏检一些重要的拐点,采用式(5)的阈值取法,能使阈值随图像中每个闭合边界的长度变化而自适应地变化。如图5中第二个闭合边界有52个像素,所以=52,从而Threshold3.6,因为=2Threshold,故像素为伪拐点,对应图2中画蓝的像素点。根据FOD算法图2中检测出的拐点如图中标红的像素点。,3仿真实验,为了比较FOD的性能,对七个宋体汉字进行拐点检测仿真实验,下图的上面一行是对这七个汉字进行跟踪得到的汉字轮廓,图中红色“”点是根据2中拐点的定义目测得到的真正拐点,下面一行是用本文算法测得的结果。,从下图可以看出,对所给的七个汉字,各算法所检测出的拐点总体正确率从高到低排序为:FOD算法、FD算法、BT算法、RW算法、RJ算法;所检测出的拐点总体错误率从低到高排序为:BT算法、FOD算法、FD算法、RW算法、RJ算法;各算法的总体漏检率从低到高排序为:FOD算法、FD算法、BT算法、RW算法、RJ算法。由于RJ算法、RW算法、FD算法、BT算法计算得到的拐点处的曲率与非拐点处的曲率差别较小,因此这四种算法的稳定性和准确性对图像中物体的形状及尺寸变化较敏感,如“人”和“共”字这四种算法要么错检出一些伪拐点,要么会漏检一些重要拐点;对“国”字,由于其中“玉”字中一点边界轮廓较小而无法跟踪到其边界,从而这四种算法都无法检测出其中的拐点。,:FOD算法所检测出的拐点总体正确率(98.6%)是最高的,几乎能检测出所有的拐点,如表1FOD算法那一列中所示,而且所检测出的拐点总体错误率(4.2%)以及拐点的总体漏检率(1.4%)比较低是FOD算法的又一优势。,3.1仿射变换中的不变性从不同角度、距离获取的图像中检测出不受视点因素影响的仿射不变特征,对图像的匹配与识别以及图像的重构等具有重要的意义。下面将讨论FOD算法的仿射变换不变性,如下图所示:图(a)中正方形以其中的蓝色像素点为始点按顺时针方向进行编码得到的八邻域链码为:0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2;按式(3)可计算出其一阶差分为:0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,-2,0,0,0,0,0,0,0,0,0,0,0,0,-2。图(b)中的正方形是图(a)中正方形以始点为基准点缩小一半再按逆时针方向旋转450后得到的,其八邻域链码变为:1,1,1,1,1,1,7,7,7,7,7,7,5,5,5,5,5,5,3,3,3,3,3,3;按式(3)可计算出其一阶差分为:0,0,0,0,0,6,0,0,0,0,0,-2,0,0,0,0,0,-2,0,0,0,0,0,-2。(a)(b),图像经仿射变换后,其八邻域链码也会发生相应地变化,但是链码中相邻两像素之间的链码值之差(即一阶差分)并不改变,如上图所示。一方面是因为拐点作为图像的拓扑特征不会受图像仿射变换的影响;另一方面是因为FOD算法中拐点的计算是基于八邻域链码的一阶差分,图像轮廓的八邻域链码的一阶差分表示图像轮廓方向(八邻域链码)的变化率,图像作仿射变换对图像的八邻域链码可能会产生影响,比如放大或缩小图像,其八邻域链码会变长或缩短,图像旋转后其八邻域链码也会改变,但是这些并不会影响图像轮廓方向的变化率(八邻域链码的一阶差分)。因此,本文的算法在图像仿射变换中不会影响其拐点的检测,仿射变换不变性的测试结果如下页图所示。,(a)“中”缩小0.8逆时针旋转370(b)“华”缩小0.6逆时针旋转680(c)“中”缩小0.4逆时针旋转1600(d)“华”缩小0.25逆时针旋转1000,本文提出了一种基于一阶差分的汉字拐点检测算法,该算法简单有效:不需要计算边界点处内角的余弦值和曲率;对所得边界的八邻域链码进行平滑,能有效地消

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论