First we try, then we trust

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  183 随笔 :: 111 文章 :: 2960 评论 :: 298 Trackbacks

我做的《笔迹鉴别》是与文字无关的笔迹鉴别,简单的说就是你提供给我多个人手写的“一二三四”,然后再提供给我其中一个人写的“五六七八”,我就可以通过程序判断究竟是谁写的。待识别的文字与我手头掌握的文字资料可以是不同的汉字,这就是所谓的与文字无关的笔迹鉴别。当然仅仅提供四五个汉字是不行的,需要提前准备大量的笔迹素材才可以。

我主要采用“纹理识别”的方式进行笔迹鉴别,也就是将笔迹看作是某种纹理(就像布纹、木纹一样),纹理相同的就认为是笔迹相同。而目前纹理识别我使用的是“加窗傅立叶变换”Gabor变换,利用Gabor变换提取不同频率、不同方向的笔迹特征,最后使用KNN或SVM(支持向量机)对待测样本进行类别判别。

基本步骤如下:

** 笔迹图像预处理

1、 笔迹图像扫描
2、 去除稿纸中的分割线,转换成黑白二值图(目前使用PhotoShop实现)
3、 中值滤波,去除图片中的椒盐噪声(目前使用MatLab实现)
4、 倾斜校正(尽管可以使用一些现成的算法,但目前使用手工倾斜校正)

** 文字切分、纹理制作

5、 行切分、字切分(根据象素的统计信息进行切分,对于汉字中常见的左右结构以及偏旁部首等设计了偏旁部首合并策略,确保汉字的完整性。此部分自己编程实现)
6、 纹理图像的制作(对切分下来的汉字将文字长、宽归一化,制作纹理图像,自己编程实现)

** Gabor变换,提取纹理特征

7、 对纹理图像进行Gabor变换(自己编程实现。由于在时域进行二维离散卷积需要大量的运算时间,因此我通过二维傅立叶变换将其转换到频域求乘法,实验表明卷积求解效率提高了近50倍),提取纹理特征(一64维向量)。
8、 对Gabor变换产生的结果进行数据库存贮,以备将来识别使用(为了简便起见,我目前使用VFP,如果将来数据量再大的话,可以考虑使用SQL Server等数据库)。

** 对待测样本进行鉴别

9、 对待处理样本采用同样的处理方法提取纹理特征,然后使用KNN临近聚类的方法或SVM进行分类。(KNN自己编程实现,SVM使用现成的LibSVM。当然也有C#版的LibSVM可用来融入自己的程序中)

实验表明(我只采集了9个人的笔迹),识别率可以达到91.67%以上,采取某种措施后,9人笔迹鉴别的成功率可达到100%(目前由于笔迹采集有限,才达到100%,随着笔迹样本的增加,成功率可能有所下降)。

我会在随后的文章中将以上步骤中的关键技术和关键代码放上来供大家参考。
 

posted on 2006-02-03 16:31 吕震宇 阅读(5701) 评论(28)  编辑 收藏 所属分类: 笔迹鉴别

评论

#1楼  2006-02-03 20:19 idior      
我做的《字迹鉴别》是与文字无关的字迹鉴别,简单的说就是你提供给我多个人手写的“一二三四”,然后再提供给我其中一个人写的“五六七八”,我就可以通过程序判断究竟是谁写的。

哪个实现起来困难些?
  回复  引用  查看    

#2楼 [楼主] 2006-02-03 20:32 吕震宇      
不好说。与文字相关的笔迹鉴别往往指签名鉴别。然而某些人可以对一个签名模仿的非常像,以至于从表面上根本无法鉴别真伪。所以现在与字迹相关的字迹鉴别(我管它叫签名鉴别)往往通过一种手写设备(手写板之类),这种设备除了可以采集到书写的文字字型外,还可以采集到笔迹的速度、加速度、书写时间等,如果将这些因素融入签名鉴别后,识别率应当是非常高的。毕竟笔迹容易模仿,但书写的速度、加速度等很难模仿。

还有一类和文本相关的鉴别属于手写识别范畴,你手写一个字,计算机自动识别出是什么,目前已经有成功的应用,比较有名的比如汉王手写识别等就是这类东西。

我做的字迹鉴别说白了就像公安局破案,看看某份材料是不是某人的笔迹。在这里物证中的文字可能和我们能够收集到的某人的笔迹文字不完全相同,这时我做的字迹鉴别就可以派上用场了。

至于哪个困难很难说,其实大家都属于模式识别的范畴,从文字中提取特征,然后归纳分类。不过手写识别、语音识别早就有比较成熟的产品,而字迹鉴别据说2005年初清华大学才推出一款具有实际应用价值的字迹鉴别软件。
  回复  引用  查看    

#3楼  2006-02-04 13:37 neoragex2002      
以前帮重庆公安局做过指纹的,方式相仿:) 期待后文。
  回复  引用  查看    

#4楼  2006-02-11 22:26 hhy [未注册用户]
你好 相对于字迹签别 签名识别似乎更难。笔迹识别的样本多,而且模仿者很少,比较容易鉴别。而签名识别特别是离线签名识别数据少,有人会模仿的很像,比较难。
  回复  引用    

#5楼  2006-02-19 15:41 lgwangjj [未注册用户]
是的,签名识别比较难的,每个人的签名波形(我们这里是在线签名验证,通过手写板采集签名波形)是很不一样的,同一个人的签名波形却是非常相似的(已经通过实验观察出)。我现在的困惑在于,对于两条很相似的波形怎样用算法来证明它们相似?求高人指点
QQ:61872968
  回复  引用    

#6楼 [楼主] 2006-02-19 20:22 吕震宇      
@lgwangjj

建议读一读《利用相关性的联机笔迹认证》一文,作者穆明鑫、郑宝玉、钱小聪,南京邮电信息工程系。可以从CNKI期刊库中查到。他们使用的就是联机笔迹鉴别,通过特征的相关法算法实现笔迹的比较。
  回复  引用  查看    

#7楼  2006-03-07 09:34 evans [未注册用户]
找不到呀,建议贴到这个上面来,大家共享一下

  回复  引用    

#8楼  2006-03-11 10:21 jesuszhu [未注册用户]
你好,有个细节问题想问问,因为最近也在做这个。。。
你对于每个人采取的样本量有多大?比如说写满一张A4纸,要写多少张?
还有不少做这方面的论文,比如中科院自动化所朱勇的那个经常被引用的论文中他是把一张纸分成若干128*128象素的小块,每块独立采集纹理特征。这样一张就顶20多张用,不知道你是怎么处理的?
jesuszhu@sina.com
  回复  引用    

#9楼  2006-03-12 12:24 lgwangjj [未注册用户]
@吕震宇
在期刊网上找不到这篇文章啊,能不能发到我的邮箱啊lgwangjj@126.com或者qq传:61872968,在下谢谢了啊
  回复  引用    

#10楼  2006-03-12 12:50 lgwangjj [未注册用户]
@吕震宇
已经找到了,不过是在《中国重要会议论文全文数据库》中,需要cnki的帐号,你能不能传一份给我啊,lgwangjj@126.com
  回复  引用    

#11楼 [楼主] 2006-03-19 21:23 吕震宇      
@jesuszhu

我采集的笔迹是用信纸写的,每人笔迹采集了3页以上。其实可以算出来,384*384的笔迹被切成9块,每个字16×16大,需要576个汉字,两页信纸足够了。待测样本256*256大小,需要256个汉字。另外如果汉字不够还可以往复使用。
  回复  引用  查看    

#12楼  2006-06-07 17:36 宋妍 [未注册用户]
晤,你好哦,请大侠指导一下,主要是关于Gabor滤波的。我目前从事遥感影像方面的研究,我发现有些书和期刊的对于Gabor滤波器的描述都不是很一致,我想请大家帮忙看看。在1996年IEEE上的“Texture Features for bwowsing and Retreval of Image Data”里面,g(x,y)=(1/2*PI*Ox*Oy)*exp{-1/2(x*x/Ox*Ox+y*y/Oy*Oy)+2*PI*j*Wx}
而在国内的章毓晋的书里面公式和上面的就不同了:h(x,y)=g(x,y)*exp{2*PI*j(Ux+Vy)}
其中,g(x,y)=1/2*PI*O*O*exp(-(x*x+y*y)/2)
我很希望能有大侠告诉一下,这两个公式是不是统一的,毕竟上面的是国外IEEE的文章,而且那个人在网上还放了Matlab的源代码,虽然我还没有看懂。http://vision.ece.ucsb.edu/texture/software/,这里面有代码,同志们。然而,下面的书里面的公式,个人认为比较简单,似乎好实现一下,但是目前也还不明白。请大侠能不能路过告诉一声,谢谢!!
  回复  引用    

#13楼  2006-06-18 20:42 梦儿 [未注册用户]
你好啊:
我是一名要毕业的大学生,由于我对文字识别方面很感兴致所以我就选了这个做为我的毕业论文,可是当我做的时候遇到了难事。
你能帮助我给我一点关于文字切分方面的东西吗?
谢谢了!
我的邮箱是xunmengleir@163.com请快点回信!
  回复  引用    

#14楼  2006-06-23 11:50 李小强 [未注册用户]
您好 我是一个研究生 我快毕业了 我的分析笔迹鉴定 .不知道你能不能把您的程序发我一份.多谢多谢谢
  回复  引用    

#15楼  2006-06-23 11:50 李小强 [未注册用户]
我的email liby74@hotmail.com
  回复  引用    

#16楼  2006-06-23 12:58 李小强 [未注册用户]
5、 行切分、字切分(根据象素的统计信息进行切分,对于汉字中常见的左右结构以及偏旁部首等设计了偏旁部首合并策略,确保汉字的完整性。此部分自己编程实现)
6、 纹理图像的制作(对切分下来的汉字将文字长、宽归一化,制作纹理图像,自己编程实现)
用什么程序 是c 还是什么

你的原始图像是什么格式的
  回复  引用    

#17楼  2006-07-18 16:22 elisa lee [未注册用户]
您好,我的毕业设计是做svm预测网路流量,libsvm下下来了,python,gnuplot也有了,libsvm里windows目录下有train.exe, svmscale.exe, svmpredict.exe, svmtoy.exe四个执行文件,只有svmtoy可以用,其他三个双击闪一下,没有出现像svmtoy类似的界面,这是为什么?另外,如何把数据转换成svm格式?方法步骤?越详细越好,我很笨的:-)
谢谢了!
我的邮箱:merrykitty@163.com
QQ:78911019
  回复  引用    

#18楼  2006-08-18 15:10 李秋艳 [未注册用户]
你好,我是即将毕业的研究生,论文是关于文字识别的,那个到行切分和字切分这个步骤的时候,有的文章提到说要先横向扫描,同时计算灰度值,因为行与行之间有空白,就可以行行分开了,我想请教一下,这个扫描和 计算都要自己编写程序实现吗?有没有相关的程序参考
我的油箱是:liqiuyan521@sina.com
QQ:276504084
  回复  引用    

#19楼  2007-02-06 08:45 陈嘉豪 [未注册用户]
你好,我正在起述我们单位,我想请教你,在一个字上更改多次,能鉴定出来吗??我QQ86890113 chenjiahao2418@hotmail.com
  回复  引用    

#20楼  2007-02-07 10:52 邵燕 [未注册用户]
您好:我是一名个体户,我是想请教一下怎样才能鉴别字迹。谢谢。我的QQ3605425
  回复  引用    

#21楼 [楼主] 2007-02-07 11:28 吕震宇      
@邵燕
@陈嘉豪
我只是将毕业论文中的部分关键内容放了上来,至于“一个字上更改多次”恐怕无能为力,况且我的论文和这个也没有任何关系。另外,至于“怎样才能鉴别字迹”也不是三言两语能说清楚的,我也不是专业搞字迹鉴别的,只是为了论文研究了一下而已,所以非常抱歉,帮不上什么忙。
  回复  引用  查看    

#22楼  2007-03-31 20:28 酷沙 [未注册用户]
我是一个即将毕业的大学生,请问怎么才能对模仿笔迹进行鉴定,我的QQ是514807397,谢谢啦!
  回复  引用    

#23楼  2007-04-29 14:17 psyplato [未注册用户]
你好!我是一名即将毕业的工科本科生,目前也在做文字识别方面的毕业论文,但是对于其中的特征提取,字符切分方面感到迷茫,希望能够得到你的帮助!
我的邮箱是:hwg0313@126.com
多谢高人指点!
  回复  引用    

#24楼  2008-01-23 16:13 liyuan [未注册用户]
您好 我是一个研究生 我快毕业了 我做的是笔迹鉴别 .不知道你能不能把您的程序发我一份.十分感谢。
我的邮箱是ly279ly@sohu.com
恳求高人的帮助,谢谢。

  回复  引用    

#25楼  2008-04-10 14:33 范晓伟 [未注册用户]
你好,我是一名研究生,做的是文字鉴别,不知道你能不能把您的程序发我一份.十分感谢。
我的邮箱是fan19840304@163.com

  回复  引用    

#26楼  2008-04-13 17:46 synweb [未注册用户]
交流下,问下用svm效率怎么样?
  回复  引用    

#27楼  2008-04-23 12:03 星星625 [未注册用户]
你好我是2008年毕业生,我的毕业论文题目是相关笔迹签别,现在我遇到了一个难题。我采集了100个人的笔迹,但我找不到消除分割线的源代码,你能不能帮我发一下我的邮箱,谢谢!
  回复  引用    

#28楼  2008-06-25 18:19 clear [未注册用户]
倾斜校正(尽管可以使用一些现成的算法,但目前使用手工倾斜校正)
呵呵,就想问您一下倾斜校正怎么做,结果......
不知现在是否有好一点的方法啊?如果有的话请回复到我的邮箱,谢谢
  回复  引用    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-02-05 20:44 编辑过


相关链接: