专利名称:毛笔书法字检索方法
技术领域:
本发明涉及数字图像检索,尤其涉及一种毛笔书法字检索方法。
背景技术:
中华民族五千年文化留下了许多优秀的书法作品,如王羲之的《兰亭集序》,颜真卿的《多宝塔》。这些原始作品每件都是唯一的,先前存在于纸张、绢丝、或者石头上,因其容易破损而被保护起来,存放在博物馆里,不允许大众随意翻阅。书法作品的数字化和网络存储为历史书法作品提供了第二存储介质,有助于让广大人民群众方便的欣赏和理解民族文化。因此,书法作品是具有中国特色的数字图书馆工程的重要组成部分。然而,目前Internet上的书法作品的检索功能只是针对作品名称、作者、朝代、出版地等已标注的元数据信息进行检索,即最小可检索单位是书法作品,而不能检索单个书法字。对书法字进行检索的一种直观的实现方法是手工标注每个书法字。然而,书法字标注不仅费时费力,且很多书法字难以标注,主要原因有一,很多古汉字在现代汉语中不再使用;二,甲骨文、篆书、隶书、草书等风格的书体不容易辨认。
光学识别字符Optical Character Recognition技术对打印体汉字具有很好的识别率,然而对历史书法字,其识别效果让人难以接受,主要是因为书法字风格各异,没有统一模板,且历史书法作品由于历史沧桑,具有模糊性。现有的基于内容的图像检索(CBIR)技术在书法字检索中并没有良好的效果。因此,本发明提出了一种利用形状进行书法字检索的方法,并实现了书法字检索系统。
发明内容
本发明的目的是提供一种毛笔书法字检索方法,为当前不能用光学识别方法识别成文本的书法字提供检索工具。
它包括如下步骤(1)对书法数据库进行剪枝,剪去与用户所提交的样本字没有相似可能性的大部分候选书法字;(2)对数据库中剩余的小部分候选字,匹配每个候选字与样本字形状的相似性,给出匹配值;(3)将匹配值按从小到大顺序排列,并根据书法字号取出相应的原始书法字图像,生成可视的检索结果,供用户浏览;(4)用户采用鼠标画出一个汉字简图、从键盘输入一个文本汉字或从磁盘导入一个书法字图像的三种样例提交方法检索书法字。
所述的对数据库中的候选书法字进行剪枝,剪去与用户所提交的样本字没有相似可能性的大部分候选字书法字的步骤如下(1)采用书法字的复杂度指数、笔划密度、最左突起、水平及垂直投影直方图对数据库中的候选书法字进行剪枝;(2)采用动态时序校准算法匹配书法字投影直方图,用支持不等长采样序列的动态校准方法匹配书法字形状的轮廓序列。
匹配每个候选字与样本字形状的相似性的步骤如下(1)提取单个书法字的轮廓形状特征,构造书法字的形状矩阵;(2)匹配书法字形状相似性,给出匹配值。
提取单个书法字的轮廓形状特征的步骤如下(1)首先对书法作品页面进行版面分析,识别该作品是拓碑还是书帖,计算作品页面图像中单个书法字的最小包围盒,并使最小包围盒可编辑以便用户反馈更新,切分沿着最小包围盒边界进行以获取单个书法字;(2)二值化单个书法字获取书法字前景,对书法字非线性归一化,以使它们大小相同具有可比性;(3)用坎尼边缘检测算法获取书法字轮廓,将轮廓点序列化,进行隔点采样以降低书法字轮廓点的维数。
构造书法字形状矩阵,匹配书法字形状相似性有以下约束(1)书法字由有序的笔划组成,不能拿一个字最左边的笔划和另外一个字最右边的笔划进行匹配,即在另一个字上搜索匹配点的范围是限定在区域D={qj|qj-pi|≤σ×length}内,其中length为归一化长度,σ为权值;(2)两个轮廓点是否为一匹配点对,不仅自身属性有关还与其所处的位置有关,因此点对的欧式距离平方用作惩罚值。
计算书法字形状相似性的步骤如下(1)计算每个轮廓点的32个属性值,构造具有n个轮廓点的书法字的n×32形状矩阵,将同一轮廓点的32个属性值作为矩阵的一行;(2)两个书法字形状匹配值为Σi=1n(PMCi+α|pi-corres(pi)|2),]]>它是轮廓点匹配值的累积,轮廓点pi的匹配值为PMC=min{c(pi,qj)|j=0,1,2…m},其中qj为候选书法字上的轮廓点,C(pi,qj)=12Σk=132[aik-bjk]2/(aik+bjk).]]>
本发明具有的有益的效果是解决了书法字不能采用目前的光学字符识别技术识别成文本从而进行检索的问题,为书法爱好者提供一种展示同一字不同书法风格的艺术美;历史学者提供检索历史书法内容、了解历史文化的工具;为数字图书馆应用提供有效的数字书法检索工具。
图1是毛笔书法字检索方法流程框图;图2是书法页面切分中所述的书法字的垂直投影截图;图3是本发明的书法页面切分结果蓝色框为最小包围盒;图4是两种书法作品类型例子书帖和拓本及相应的二值化结果图;图5是本发明的书法字轮廓采样的一个例子;图6是本发明的轮廓点32属性值计算示意图;图7是本发明的两个书法字投影直方动态校准示例;图8是本发明的书法字检索的一个例子;图9(a)是本发明的鼠标画出的字的简图所提交的样本示意图;图9(b)是本发明的输入的文本所提交的样本示意图;图9(c)是本发明的导入的书法字图像所提交的样本示意图;图10是本发明的一个实施例子用鼠标画出的“书”字的简图,以此为样本的检索结果;图11是浏览图10第一行最后一个“书”字所在的原始作品,蓝色框标识了该字在原作中所在位置;图12是本发明的一个实施例子以一个书法“之”字图像为样本的检索测试结果;图13是浏览图12第一行第一个“之”字所在的原始作品,蓝色框标识了该字在原作中所在位置;图14是本发明的一个实施例子用鼠标画出一个“言”字简图作为样本;图15是以图14为样本的检索结果;图16是浏览图15最后一行最后一个“言”字所在的原始作品,蓝色框标识了该字在原作中所在位置;具体实施方法本发明提出的毛笔书法字图像检索的方法和系统,结合附图及其实施详细说明如下本发明的工作原理如图1所示,包括以下步骤1.对扫描的原始书法作品进行元数据标注,包括作品名、作者、朝代、评论的关键字,建立数据库表存放作品元数据及相应的原始扫描作品图像在磁盘中的存储路径。
2.书法作品页面图像切分成单个书法字图像,结果如图3示例
令二元组(xi,s,xi,e)为第i个字切分块的横坐标起始和终止坐标,字切分块需满足xi,e-xi,s≥ω,xi+1,s-xi,e≥λ×1nΣi=1i=n(xi,e-xi,s)]]>α≤AreachAreaave,1β≤heightchwidthch≤β]]>其中ω=5,λ=0.3,α=0.6,β=1.2是实验经验阈值,widthch,heightch分别为切分块的宽度和高度,Areach,Areaave分别为切分块的面积及同一页面切割块的平均面积。
3.单个书法字归一化为45×45象素点,并判别书法字类型,如图4示例书法字可分为两种类型书贴和拓本,书帖是拿直接写在纸张或者绢纸、丝绸上的作品,拓本是指从石头或者碑上拓下来的作品。两者二值化后字的颜色不同,书帖二值化后字是黑色的背景是白色的,拓本则反之。令f(i,j)为书法字图像函数,th为二值化阈值,则判别一个书法字图像类型的函数为T=#{f(i,0)|f(i,0)≤th}+#{f(0,j)|f(0,j)≤th}#{f(i,0)|f(i,0)>th}+#{f(0,j)|f(0,j)>th}]]>其中#为计算个数的函数,若T>1,则该书法字拓本,反之,则是书贴。
4.对书法字图像进行轮廓提取,对轮廓序列点进行亚采样,以亚采样后的轮廓序列点表征一个书法字,如图5示例(1)采样Canny边缘检测法提取书法字轮廓。亚采样的方法是考虑轮廓点的8邻域里与该点相邻的轮廓点个数,如果有3个轮廓点成一条直线,则删除中间点。
(2)轮廓点32属性值计算以该轮廓点为重心,采用极坐标方式将整个空间划分为大小不一的32个区域,在角度划分出均匀的8份,在弦长上按log2r划出4份。分别统计其余的轮廓点落入32区域的数目值,作为轮廓点的32个属性值,区域划分如图6所示例。
5.隔行采样,构造形状矩阵以一个轮廓点的32个属性值作为矩阵的一行,则一个有2n个轮廓采样点的书法字可构造出一个2n×32的形状矩阵。接着,隔行采样,对矩阵进行重构,变成n×32的形状矩阵a1,1a1,2a1,3···a1,32···············ai,1···ai,j···ai,32···············an,1an,2an,3···an,32]]>
6.对数据库中的候选书法字进行剪枝,剪去与用户所提交的样本字没有相似可能性的大量候选字书法字(1)以书法字复杂度指数为特征,剪除数据库中与样本字没有相似可能性的候选字计算采样的轮廓点个数,作为书法复杂度指数,因笔划越多越复杂的字,轮廓就越长,采样点就越多令Len为样本字q采样序列的长度,Leni候选字ci的采样序列长度,当下列不等式不满足时,候选字ci与样本字不是同一个汉字的书法字,剪除。
1α≤LLi≤α]]>其中,α=1.35为训练得出的阈值。
(2)以书法字笔划密度为特征,剪除数据库中与样本字没有相似可能性的候选字根据扫描线穿越书法字次数给出书法字笔划的密度令f(i,j)为一幅M×N书法字图像,Jh,k、Jv,k分别为第k条水平扫描线和第k条垂直扫描线穿越书法字次数,则有Jh,k=Σi=1i=M-2f(i,k)⊗f(i+1,k)]]>Jv,k=Σi=1i=N-2f(k,j)⊗f(k,j+1)]]>其中为异或位操作XOR。令bh,k和bv,k分别为水平边缘扫描线和垂直边缘扫描线的穿透数,则有bh,k=#{f(i,k)=1|i=0∪i=M-1}bv,k=#{f(k,j)=1|j=0∪j=N-1}则书法字的水平笔划密度H和垂直笔划密度V为H=1βMΣj=0j=βM(Jh,j+bh,j),V=1βNΣj=0j=βN(Jv,j+bv,j)]]>其中β=1/1.5为参数值。令q为样本字,i为候选字,当下列不等式不满足时,候选字与样本字不是同一个汉字的书法字,剪除。
|Hi-Hq|<θ×Hq,|Vi-Vq|<θ×Vq(3)以书法字最左突起为特征,剪除数据库中与样本字没有相似可能性的候选字令t为一个M×N书法字图像的最左突起笔划点的Y-轴坐标,P为最左突起值P=t+1N,t=argmin{i|f(i,j)=1}0≤j<N,]]>
其中i=0,1,2…M-1。对样本字i和候选字j,当下列不等式不满足时,候选字j与样本字不是同一个汉字的书法字,剪除。
|Pi-Pj|<θ其中θ=0.15为阈值。
(4)以书法字的投影直方图为特征,剪除数据库中与样本字没有相似可能性的候选字将书法字进行二值化而后投影,并将投影的轮廓序列化,作为的校准两个序列,采用动态时序校准Dynamic Time Warping算法对两个序列进行匹配,匹配值为DTW(X,Y)=min{Σk=1k=mdk}]]>di=min{d(xi,yj)|i-r≤j≤i+r,j≥0}d(xi,yj)=(xi-yj)2令样本字为Q,数据库中的候选字为X,当下列不等式满足时,候选字X与样本字不是同一个汉字的书法字,剪除。
DTW(Q,X)>λ+(lengthq-lengthave)/θlen其中θlen=60为阈值,lengthq为样本字形状采样序列长度。
7.对数据库中剩余的候选书法字,度量每个字与样本字的形状相似度,计算它们形状矩阵的匹配值(1)首先计算样本字的点pi和候选字轮廓点qj的匹配值C(pi,qj)=12Σk=132[aik-bjk]2aik+bjk]]>其中aik和bjk分别为样本字和候选字形状矩阵中样本点mi和nj的属性值。
(2)点匹配值PMCi的计算候选字中跟样本字轮廓点pi对应点的是匹配值最小的那个点,其匹配值为该点的匹配值,写作PMCi=min{C(pi,qj)j=0,1,2…m}(3)书法字匹配值TMC的计算样本字与候选字的匹配值为样本字轮廓点匹配值及距离惩罚值的累加TMC=Σi=1n(PMCi+α||pi-corresp(pi)||2)]]>(4)约束条件
寻找轮廓点pi的对应点时,约束区域D定义如下dist(pi-cj)=(xi-xj)2+(yi-yj)2≤σ×normalization_size]]>其中σ=0.25为阈值参数,这是因为一个书法字左边的笔划不能与另外一个字右边的笔划进行匹配。
8.返回书法字检索结果,如图8所示按匹配值从小到大排序,根据书法字号,从磁盘阵列中取出相对应的书法字原图像及相关元数据信息,呈现给用户。
9.为检索方便,系统提供三种用户提交样例的方式,如图9(a)(b)(c)所示;实施例1(1)先对扫描的数字化书法作品页面图像的进行垂直投影,如图2所示;而后进行水平投影。根据投影空隙计算书法字的最小包围盒,如图2所示,沿着最小包围盒切分出的单个书法字图像,如图4所示;(2)将书法字图像归一化大小为45×45象素点的图像,二值化归一化后的图像;(3)书法作品类型辨别,将书法作品识别为“书帖”或“拓碑”目的是识别哪种颜色是书法字色哪种颜色是背景色,以便提取正确的特征;若沿着书法字边缘画一条扫描线,统计扫描线上的颜色数,则背景色的个数要远大于前景色个数。因此令f(i,j)为书法字图像函数,th为二值化阈值,T为判定字符颜色的算子T=#{f(i,0)|f(i,0)≤th}+#{f(0,j)|f(0,j)≤th}#{f(i,0)|f(i,0)>th}+#{f(0,j)|f(0,j)>th}]]>其中#为计算个数的函数。如果T>1,则该书法字是拓碑,二值化后字的颜色是白色的;反之,可判定该书法字是书贴,字的颜色是黑色的。
(4)书法字图像轮廓提取和轮廓点属性描述用Canny便于检测法获取轮廓,接着对轮廓序列点进行亚采样,如图5所示;计算每个轮廓点的32属性值,如图6所示;(5)将每个轮廓点的32个属性值作为矩阵的一行,为具有n个轮廓点的书法字构造n×32的形状矩阵;(6)分别计算数据库中书法字的复杂度指数、笔划密度、最左突起、水平及垂直投影直方图,对数据库中的候选书法字进行剪枝,剪去与用户所提交的样本字没有相似可能性的大部分候选字;(7)对数据库中剩余的少量候选字,匹配每个候选字与样本字的相似性,给出匹配值并按匹配值对应的书法字号返回书法字原图像;
(8)图10为该方法的一个应用测试例子提交一个鼠标画出的繁体“书”字所得的检索结果;(9)图11为点击检索结果中第3行第1列的“书”字底侧右边的小图标后弹出的一个新窗口,用于浏览该书法字所在的原始作品页面;实施例2(1)从步骤1到步骤7与实施例1相同;(2)图12为提交一幅从磁盘导入的“之”字图像所得的检索结果;(3)图13为点击检索结果中第1行第1列的“之”字底侧右边的小图标,弹出一个新窗口,浏览该书法字所在的原始作品页面;实施例3(1)从步骤1到步骤7与实施例1相同;(2)图14为用鼠标画出一个“言”字简图,以此作为样本提交;(3)图15为以图14的“言”字简图为样本提交后的检索结果;(4)图16为点击图15检索结果中最后一行最后一列的“言”字底侧右边的小图标,弹出一个新窗口,浏览该书法字所在的原始作品页面。
权利要求
1.一种毛笔书法字检索方法,其特征在于它包括如下步骤(1)对数据库中的候选书法字进行剪枝,剪去与用户所提交的样本字没有相似可能性的大部分候选字书法字;(2)对数据库中剩余的小部分候选字,匹配每个候选字与样本字形状的相似性,并给出匹配值;(3)将匹配值按从小到大顺序排列,并根据书法字号取出相应的原始书法字图像,生成可视的检索结果,供用户浏览;(4)用户采用鼠标画出一个汉字简图、从键盘输入一个文本汉字或从磁盘导入一个书法字图像的三种样例提交方法检索书法字。
2.根据利要求1所述的一种毛笔书法字检索方法,其特征在于所述的对数据库中的候选书法字进行剪枝,剪去与用户所提交的样本字没有相似可能性的大部分候选字书法字的步骤如下(1)采用书法字的复杂度指数、笔划密度、最左突起、水平及垂直投影直方图对数据库中的候选书法字进行剪枝;(2)采用动态时序校准算法匹配书法字投影直方图,用支持不等长采样序列的动态校准方法匹配书法字形状的轮廓序列。
3.根据权利要求1所述的一种毛笔书法字检索方法,其特征在于所述的匹配每个候选字与样本字形状的相似性的步骤如下(1)提取单个书法字的轮廓形状特征;(2)构造书法字形状矩阵,匹配书法字形状相似性。
4.根据利要求3的所述的一种毛笔书法字检索方法,其特征在于所述的提取单个书法字的轮廓形状特征的步骤如下(1)首先对书法作品页面进行版面分析,识别该作品是拓碑还是书帖,计算书法作品页面图像中单个书法字的最小包围盒,并使最小包围盒可编辑以便用户反馈更新,切分沿着最小包围盒边界进行以获取单个书法字;(2)二值化单个书法字获取书法字前景,对书法字非线性归一化,以使它们大小相同具有可比性;(3)用坎尼边缘检测算法获取书法字轮廓,将轮廓点序列化,进行隔点采样以降低书法字轮廓点的维数。
5.根据利要求3所述的一种毛笔书法字检索方法,其特征在于所述的构造书法字形状矩阵,匹配书法字形状相似性(1)书法字由一系列有序的笔划组成,不能拿一个字最左边的笔划和另外一个字最右边的笔划进行匹配,即在另一个字上搜索匹配点的范围是限定在区域D={qj∶|qj-pi|≤σ×length}内,其中length为归一化长度,σ为权值;(2)两个轮廓点是否为一匹配点对,不仅自身属性有关还与其所处的位置有关,因此点对的欧式距离平方用作惩罚值。
6.根据利要求5的所述的一种毛笔书法字检索方法,其特征在于所述的书法字形状相似性匹配的计算步骤如下(1)计算每个轮廓点的32个属性值,构造具有n个轮廓点的书法字的n×32形状矩阵,将同一轮廓点的32个属性值作为矩阵的一行;(2)两个书法字形状匹配值为Σi=1n(PMCi+α|pi-corres(pi)|2),]]>它是轮廓点匹配值的累积,轮廓点pi的匹配值为PMC=min{c(pi,qj)|j=0,1,2…m},其中qj为候选书法字上的轮廓点,C(pi,qj)=12Σk=132[aik-bjk]2/(aik+bjk).]]>
全文摘要
本发明公开了一种毛笔书法字检索方法。包括如下步骤(1)剪去数据库中与用户所提交的样本字没有相似可能性的大部分书法字;(2)将剩余的候选书法字与样本字进行匹配,给出匹配值;(3)按匹配值从小到大顺序排列,根据书法字号取出相应的原始书法字图像,生成可视的结果;(4)用户可用鼠标画出一个汉字简图、从键盘输入一个文本汉字或从磁盘导入一个书法字图像的方式检索书法字。本发明的有益效果是解决了书法字不能采用目前的光学字符识别技术识别成文本从而进行检索的问题,为书法爱好者提供展现同一汉字不同书法风格的艺术美;为历史学者提供检索描述历史文化、历史事件的历史书法内容提供工具;为数字图书馆应用提供数字书法的检索工具。
文档编号G06F17/30GK1920819SQ200610053400
公开日2007年2月28日 申请日期2006年9月14日 优先权日2006年9月14日
发明者庄越挺, 潘云鹤, 章夏芬 申请人:浙江大学