基于多特征提取的识别算法

基于多特征提取的识别算法
基于多特征提取的识别算法

摘要

该文提出了一种基于多特征提取的手写汉字识别算法及其实现。该算法同时运用了基于统计特征和基于结构特征的汉字识别算法并对它们做了相应改进。

算法在匹配判别阶段采用了分类判别思想,在汉字图像输入的同时,记录汉字图像的输入结构特点,在此基础上得到输入的未知汉字的笔划特征,由笔划特征即可对未知汉字做粗分类,这样可以缩小判别时的汉字范围。经过汉字粗分类后,提取整个汉字图像的统计特征,该步骤采用了网格划分方法,即先对图像做划分,再计算每一网格内文字相素与整个图像中文字相素的比值,通过这些特征对文字图像做细分类即可得到识别结果.

基于多特征提取的识别算法对汉字的识别十分有效,能使识别率达到90%以上,该文同时也给出了对书写不规范的字的解决方案。

关键词:文字识别,特征提取,模式匹配,模式识别

ABSTRACT

The article proposes an algorithm for hand-written Chinese character recognition and its realization . The algorithm is based on the multi-characteristics, it unifies and improves the algorithm based on the statistic characteristic and the algorithm based on the structure characteristics.

The algorithm adopts the classified distinction through the match distinction stage. It takes down the character image’s input unique feature when the image input. With the input unique feature, it can obtains the pen delimits characteristics of the unknown character image. The first classification can be managed based on these steps, thus the range of the second classification will smaller. After the first classification, it must withdraws the statistic characteristics of the image. The algorithm adopts the grid division method in this step. It makes a division to the image and then compute the element ratio of every areas. As a result, the character image can be recognized by the steps above.

The recognition algorithm based on multi-characteristics is extremely effective to the Chinese character recognition.The recognition rate can achieves above 90% .This article also provide methods for the characters written standardless.

Key words:Writing recognition, Characteristic withdraws, Pattern matching, Pattern recognition

目录

中文摘要 (Ⅰ)

ABSTRACT (Ⅱ)

目录........................................................................................................... III 图片索引目录. (Ⅳ)

绪论 (1)

1 汉字识别原理及常用算法 (4)

1.1 汉字识别的原理 (4)

1.2 基于统计决策方法的汉字识别 (5)

1.3基于结构特征方法的汉字识别 (6)

2 基于多特征提取的识别算法 (9)

2.1手写汉字识别的现行算法分析 (9)

2.1.1以笔划序列为特征的识别算法 (9)

2.1.2基于统计特征的汉字识别算法 (11)

2.2现行算法的结合和改进 (12)

3 识别算法对应的VC代码 (14)

3.1输入预处理 (15)

3.2识别算法 (18)

4 算法实现结果和分析 (20)

4.1 模拟结果介绍 (20)

4.2 结果分析 (21)

5 总结与展望 (24)

5.1 论文总结 (24)

5.2 算法的前景展望 (24)

参考文献 (25)

附:图片索引目录

图1.1 汉字识别原理框图 (4)

图 1.2 汉字图像的粗外围图 (5)

图 2.1 二维平面的划分图 (9)

图 2.4 汉字图像的统计特征图 (11)

图 2.6 汉字识别算法流程图 (13)

图 4.1 程序运行界面 (20)

图 4.2 汉字的写入 (20)

图 4.3 系统识别写入的汉字图像 (21)

图 4.4 通过“学习”过程向字库中添加汉字特征 (21)

图 4.5 能够识别的汉字图像示例 (22)

图 4.6 不能识别的汉字图像示例 (22)

绪论

世界上的文字有两大类,一种是拼音类文字(如英文),另一种是象形类或图形类文字(如汉字)。在人机交互中,拼音文字显示出了极大的优越性,利用键盘可以把一个个字母很自然很方便的输入计算机,而对与图形类文字,一直没有适当的输入设备。从80年代开始,微机大量地进入我国,许多用于中文信息处理,但输入设备仍然只是键盘,为了将汉字输入计算机,涌现出了各种各样的汉字编码方案,所谓编码方案就是通过人为的规则,把汉字转换成字符或数字以方便利用键盘输入。利用编码方案进行汉字输入需要记忆,这给计算机在生活领域的普及带来了很大的不便,利用西文键盘输入汉字的限制成了计算机普及应用的瓶颈和桎酷。随着科学技术的发展,人们意识到要用图形输入设备输入汉字,输入后由计算机自动识别并转化成内码,至于计算机怎样把输入的汉字图像识别出来,就是汉字识别技术。

从学科上来说,汉字识别属于模式识别与图像处理的范畴,还涉及到人工智能、形式语言与自动机、统计决策理论、模糊数学、信息论、语言文字学、计算机科学等学科,是一门综合性技术科学。由于汉字数量多,结构复杂,相似字很多,所以汉字识别是难度较大的文字识别。近年来,随着模式识别技术及计算机科学技术的发展,汉字识别也取的了极大的进展。汉字识别的基本过程包括汉字输入、预处理、特征提取、分类识别、识别后处理五个大步骤。

根据识别对象的不同,汉字识别分为手写体汉字识别和印刷体汉字识别两种,前者因为各人的书写习惯不同和手写汉字变化太大而显的比较困难,后者要相对容易一些。

在手写汉字识别这个范畴中,根据汉字输入方式不同又可以分为联机手写汉字识别和脱机手写汉字识别。通俗地讲,联机手写就是在书写的同时,根据笔划顺序等特征对汉字进行识别,该技术较多地应用在汉字输入设备如手机的手写板中。与联机手写汉字识别不同,脱机手写汉字识别主要是多一副汉字图像进行分类识别,多用于签名识别,笔迹鉴别等领域。

汉字识别应用在以下几个方面:

(1)使汉字高速自动地输入计算机,以彻底解决汉字信息处理系统中手动输入效率底这个关键

(2)办公自动化和下一代印刷技术的文字信息自动输入。

(3)做为新一代计算机智能接口的重要组成部分

(4)汉字文本高倍压缩存储和传输。

下面讲述汉字识别的研究现状和发展前景。汉字识别研究始于20世纪60年代,当时大多数文字识别研究者都集中在英文印刷体文本识别,美国科学家Casey 和Nagy率先进行印刷体汉字识别的研究工作,并于1966年发表了第一篇有关汉字识别的论文,随后在这个领域有了大量的研究,这些严重主要是在亚洲进行的,如日本、中国大陆、台湾等地。

我国在70年代末开始了汉字识别的研究工作,到现在关于这方面的研究非常活跃,有些产品已经进入市场。眼下印刷体汉字识别系统对实际文本的识别率一般达94%~98%,识别速度为5~10字每秒;联机手写汉字识别系统的识别率最高可大95%;脱机非特定手写汉字识别率最高达85%,速度为1字每秒;脱机特定手写汉字的识别率85%~93%,速度3~5字每秒;其中前两个已经达到实用化要求,台湾的研究水平与大陆相当,日本的研究水平比大陆稍高。

从总体来说,汉字识别技术的广泛应用将产生一个新的产业,而这个产业将覆盖社会生活的各个方面,从笔式电脑到办公自动化设备,从邮政信函的自动分拣到各种表格的自动录入,从证件识别到证券识别,从自动阅读机到智能视觉系统。而与汉字识别密切相关的笔迹鉴别设备将会广泛应用于银行、保安等部门。

汉字识别最直接的用途是汉字输入。针对我国汉字录入的现状,汉字识别技术能很好地满足不同层次的单位、个人需要。对有大量汉字录入任务的单位如报社、出版社、印刷厂等,一方面可以大幅度提高汉字输入的效率,建设汉字输入时间,另一方面还能缩小庞大的录入员队伍及相应的设备。

汉字识别的另一大用途是在笔式电脑中。笔式电脑没有键盘,用笔进行输入和操作。该设备的一个技术关键是联机手写字符识别技术。笔式电脑是计算机发展的一个重要趋势。目前已经有多中英文笔式电脑产品。笔式电脑的市场前景很大,据IDG预测,到1966年,英文笔式电脑的全球销售量将达到500万台。中文笔式电脑的市场前景同样也是十分巨大的,所以汉字识别技术的研究十分重要。

邮政信函的分拣也是汉字识别技术应用前景看好的领域,目前我国使用的邮政信函分拣机是依据邮政编码的,也就是手写数字识别。但是单纯基于邮政编码识别的正确分拣率只能达到30%左右,所以手写汉字识别技术将使邮政信函的分拣更加完善。

表格信息自动录入也是汉字识别技术大有可为的方向。表格信息的自动录入需要印刷体汉字识别技术、脱机手写汉字识别技术及手写数字识别技术。同样地汉字识别技术还将应用于证件识别和证券识别、智能计算机的智能接口和视觉系统、笔迹鉴别等,由于篇幅有限,不在细述。

在本文的第一部分我们将介绍汉字识别的一般算法和原理,以便对汉字识别

实现算法形成初步认识;第二部分主要讲述现在用的比较多的两个算法以及将它们改进结合形成的新的方法,第三和第四部分将对算法模拟工具(vc)和主要程序代码做必要讲解,第五部分为对结果的分析。

1 汉字识别的原理及常用算法

1.1 汉字识别的原理

和其他模式识别一样,汉字识别的基本思想也是匹配判别。抽取代表未知汉字模式本质的表达形式(如各种特征)和预先存储在机器中的标准汉字模式表达形式的集合(称为辞典)逐一匹配,用一定的准则进行判别,并在机器存储的标准汉字模式表达形式的集合中,找出最接近输入文字的模式表达形式,该表达形式对应的字就是识别结果。

汉字识别的原理框图见图1.1。光电扫描纸面文字产生模拟电信号,经模数转换成为带灰度值的数字信号送至预处理环节。预处理的内容和要求取决于识别方法。一般包括行、字切分,二值化,细化和抽取轮廓,平滑,规范化等。预处理后,汉字模式成为规范化的二值数字点阵,其中‘1’代表笔画,‘0’代表文字的空白背景。预处理后即可对文字图像提取特征(一种类型的表达式),和存储在辞典里的已知标准汉字表达形式进行匹配判别,就可识别出输入的未知汉字。

图1.1 汉字识别原理框图

在上图中中间横线以下是系统的学习部分,学习是根据多个未知子样(一个文字的不同字样称为子样)提取出的模式表达形式,自动构成或修改、充实辞典,不断提高系统的识别率。

汉字的模式表达式和相应的辞典形式有多种,每一种形式可以选择不同的特征(或基元),每种特征又有不同的提取方法。这些造成了判别方法和准则以及所用的数学工具的不同,形成了种类繁多、形式各异的汉字识别方法。不过,所有这些方法可以归结为两类一般的处理方法——统计决策方法和句法结构方法。最近还有人提出用人工智能方法识别汉字。接下来的两节中将对上面来种常用算法分别阐述。

必须指出的是,汉字识别有联机识别和脱机识别之分。在联机的情况下,汉字结构的输入顺序可以做为重要特征来识别汉字,在第二章将详细介绍这种方法及其实现。

1.2 基于统计决策方法的汉字识别

汉字识别的统计决策方法提取字符图像的特征形成特征矢量,特征矢量并不直接表示笔迹,而是表示字符图像的特性。统计字符识别方法根据训练样本集估计特征矢量的分布,具有优异的抗干扰能力,因此在汉字识别中得到广泛应用.该方法需要一个表达样本分布的函数,多变量正态分布概率密度函数通常被认为是样本分布的近似函数.汉字的统计特征种类很多,比如笔划密度特征,汉字粗外围特征、汉字网格特征等。下面简单介绍汉字粗外围特征的提取。

1.2.1汉字粗外围特征的提取

汉字轮廓结构包含了汉字特征的重要信息, 粗外围特征(即从汉字四边向中间扫描, 以第1 次碰到笔划象素所经过的行程值作为特征) 分类就是抽取汉字四周轮廓信息作为特征来进行分类的, 它被认为是印刷体汉字识别方面比较有效的粗分类方法。也可以采用一种改进的粗外围特征来进行粗分类,其基本思路是对原图进行变换, 以使内部结构受外围信息影响, 以图1.2为例,具体实现过程为: 先从文字四边框对文字进行扫描, 然后把原文字背景部分中, 从所有方向都不能连续扫描到的区域设为笔划部分, 这样就得到所谓的粗外围图. 由其实现过程可以看出, 原文字内部区域的特征也受轮廓影响, 如图1.2 (b) 所示, 其中“件”字内部一小块区域原来是背景(黑象素) , 但因为轮廓的影响, 变换后成为笔划区域(白象素).特征的计算方法为: 首先将36×36 点阵的粗外围图划分为4×4= 16 个网格(每个网格包括9×9pixel) , 再统计其中的白象素数, 以构成16 维粗外围特征. 实际上, 虽然特征实现时仍然使用了粗外围特征, 但原始粗外围特征仅考虑汉字的轮廓信息, 而改进方法则在利用汉字内部结构信息的基础上, 又加强了粗外围轮廓信息在特征量中的比重.

图1.2 汉字图像粗外围图

1.3基于结构特征方法的汉字识别

目前,文字结构特征的提取有两种方法,第一种方法是基于像素的字符轮廓获取方法,这种方法没有考虑全局信息和结构信息,因而结果中存在诸如毛边和交叉点变形等问题. 为此,研究人员提出了其它一些特征提取方法 ,但这使得基于像素的字符识别更加复杂而不稳定。第二种方法是用一组线段及它们相互间的关系来描述文字并进行识别,但是这些方法步骤繁多、计算复杂,难以实现,而且易受边界噪声和交叉点的影响。

无约束手写汉字数量庞大、结构复杂、形近字多而且无规则变形严重,所以各种不同字体手写汉字的识别是字符识别领域中一个极为困难的问题,被认为是该领域最具挑战性的研究课题和最高目标之一 . 在已有的方法中,有些只能识别相对简单的手写数字,有些虽然可以识别少量的手写汉字 ,但它们都无法从根本上克服误识别率高这一不足。贝叶斯分类器等传统的模式识别方法因先验知识不足而无法取得理想的效果,语法推理法和继电器法等新的识别方法因编码过程复杂、计算量大或可识别的文字数量有限等原因而难以实现。神经网络具有很强的知识获取能力和分类能力,有很高的容错性和鲁棒性,可以在特征空间内形成任意复杂的决策区域,它所具有的自组织、自学习功能大大放宽了传统模式识别方法所受的约束条件,为汉字识别提供了新的有力工具。

1.3.1 文字输入预处理及特征提取

因为手写汉字大小不一,所以在提取结构特征和进行识别时首先需要对其进行归一化处理。目前,大小归一化有两种方法,一是在水平和垂直方向都进行归一化;二是仅在一个方向归一化,同时保持输入汉字的形状比例。前者在减小不同人的手写汉字差异方面较为有效,但可能使汉字在某一方向上发生失真。这里根据手写汉字特征提取和识别的需要,对不同的输入手写汉字采用不同的归一化策略. 设原始手写汉字为Y 行*X 列,归一化后为width

height?列, 则: (1) 如果X ≤width且Y height

≤,文字只做平移操作; (2) 如果X>width且Y height ,则将文字高度归一化为height,宽度按比例归一化; (4) 如果X >width且Y >height,则将文字归一化为height行×width列。

现在来讨论归一化手写汉字的结构特征提取问题。该方法选择的结构特征包括:特征点、线段、基本笔画以及笔画方向图等。基本笔画定义为长度有限的直线,而笔画方向图描述了字符几何结构特征,其提取是以笔画方向为基础的。考虑了沿逆时针与水平方向夹角分别为0°,45°,90°和135°的四个方向,并用1 ,2 ,3 ,4 以及- 1 , - 2 , - 3 , - 4 分别标记这四个方向及其反方向. 令)

g为像素

x

(y

,

)

)

g ,对于白色像素0

(=

y

g,字符是由黑

x

x

,

(y

,

x的灰度级,对于黑色像素1

)

(=

,

y

色像素组成的图像。一个黑色像素的方向码是根据沿四个方向经过该像素的笔画长度而确定的。该方法定义d向笔画为沿方向d的一系列连续黑色像素(d= 1 ,2 ,3 ,4) ,将经过黑色像素)

x的最长d向笔画的方向定义为该点的方向码。

(y

,

具有相同方向码的相连黑色像素构成一个像块,且称方向码为d的像块为d向像块。如果某个像块与其它像块交叉或相接,则需要将该块进而分解为笔画段和交叉段。下面来提取结构特征量。首先需要提取的是轮廓段,它是从笔画段中提取出来的,对于方向代码为d的笔画段,它可以分解成一组连续的d向笔画,提取轮廓段之前先确定该组两端的d向笔画,将它们用一条直线连接起来,形成笔画段的轮廓. 虽然根据其方向码可将轮廓段分为四种,但轮廓段可能是任意方向. 如果某个轮廓段的长度小于或等于一个允许长度,就称其为短轮廓段. 如果短轮廓段的两端都不与交叉点相接,即为一个孤立轮廓段,则认为该短轮廓段是噪声. 如果只有一段与交叉点相接,这样的短轮廓段称为毛边.该算法根据这样的逻辑去除了所提取的轮廓段中的噪声和毛边现象。

接下来提取交叉点和轮廓。假设交叉段只包括一个交叉点,当程序发现一个交叉段后,就首先计算交叉度和交叉点的位置,然后延长所有与该交叉段相接的轮廓段到该交叉点处,从而形成完整的字符轮廓。假设Nd代表方向代码同为d且与同一个交叉段相接的轮廓段的个数,令Df为该交叉段的交叉度,则有Df+

+

N

=。为了确定交叉点的位置,本文按照方向代码考虑了全部+

4

3

N

2

1N

N

四种不同的情况:

(1) 0

Df,即没有轮廓段。

=

(2) 1

Df,只有一个轮廓段,确定该轮廓段方向上与白色像素相邻接的黑色像素=

为交叉点。

(3) 1

N

N至少有两个轮廓段,而且一个方向上最多只有一个轮,1N

N

>

,2

Df且4

,3

廓段。选择任意两个轮廓段并沿各自的方向将其延长,延长线的交点即为交叉点。

(4) 1

N,2

1>

N

N,至少有两个具有相同方向代码的轮廓段. 如果有一对

N

,2≥

,3

4

延伸方向相反的d向轮廓段,则标识量Flagd置为1 ,相反则为0.此时确定交叉点时需要分三种情况讨论:

(a) 0

+Flag

Flag

Flag

Flag,不存在延伸方向相反的一对轮廓段. 如

+

+

4

1=

3

2

果有两个轮廓段方向码不相同,则将其沿各自的方向延长后必然会形成一个交叉点. 而如果所有轮廓段的方向码都相同,则将其中一段按估计的笔画宽度的某一倍数延长后即得到所期望的交叉点。

(b) 1

+Flag

Flag

Flag

Flag,只存在一对延伸方向相反的轮廓段. 用

+

+

4

1=

3

2

一段直线将它们连接起来,取该直线的中点作为交叉点。

(c) 14321>+++Flag Flag Flag Flag ,至少存在两个延伸方向相反的轮廓段. 任选两对轮廓段,将每对用一条直线相连,两条直线的交点便是所期望的交叉点。

提取出一个交叉点后,将每个在该交叉点相接的轮廓段与该交叉点连接起来,这样把所有轮廓段和交叉点都连接起来便构成了字符轮廓,即瘦化字符。

在提取出交叉点和轮廓段(即点特征和线段特征) 后,就可根据这两种信息进而提取基本笔画,根据轮廓段信息还可以提取出笔画方向图. 该处用一种简单的轮廓段合并策略将轮廓段合并成基本笔画. 依次检查各个交叉点处所有相接的轮廓段中是否有两个轮廓段共线,如果有就将它们合并成一个新的轮廓段,即基本笔画. 记φ1 和φ2 分别为两个轮廓段的方向角,令φ= min (| φ1 - φ2 | ,360°- | φ1- φ2 | ) 为两段的夹角,若155< φ<180°,则允许将两段合并. 然后以合并后的轮廓段取代原来的两个轮廓段,且更新轮廓段和交叉点的端点标记,同时选择与新轮廓段方向最接近的方向代码作为新的方向代码d 。当检查完所有交叉点后,全部基本笔画便最终确定了。

最后根据各轮廓段的方向代码来绘制笔画方向图. 首先将n n ?字符沿水平和垂直方向分成k k ?个单元,每个单元为m m ?,其中n mk =。选择每个单元中像素数目最多的轮廓段的方向代码为该单元方向码。如果某单元没有轮廓段经过,则其方向码置空(null ) ,所有单元的方向代码一起就构成了笔画方向图.

2 基于多特征提取的识别算法

现在对于联机手写体的汉字识别算法很多,在本章第一节,我们先对这些算法做初步的分析认识,然后在其基础上导出多特征提取的算法,而用于实现这些算法的代码将在下章给出。

2.1 手写汉字识别的现行算法分析

2.1.1 以笔划序列为特征的算法

该算法将汉字的笔画分为若干类,然后根据各类笔画的输入顺序做为一个汉字的特征并存入字库,当汉字联机输入时,得到该文字图像的笔画序列特征并和字库中的特征进行比较,若有一组特征与该图像特征的差别很小,即可认为是同一字。下面我们先介绍笔画的分类方法,然后在分别介绍图像的预处理和距离定义。

在介绍笔划的划分前,我们先把二维平面做一个划分,如下图所示:

图2.1 二维平面的划分

在上图基础上,笔划通常划分为以下几种:

(1)横,用数字1标识,方向为1;

(2)竖,用数字2标识,方向为3;

(3)撇,用数字3标识,方向为4;

(4)捺,用数字4标识,方向为2;

(5) 折,用数字5标识,有至少两个方向;

在有些算法中,又把折细分为顺时针方向折、逆时针方向折和混合方向折三种,在此不再细述。

将笔划分类以后,我们就要面临一个问题,如何从文字图像的读入过程中得到方向序列,自然地我们会想到斜率,即得到一个笔划中每一相素点的斜率,然后依照上图得到该笔划的方向,但严格来讲,用斜率表示并不明智,比如方向3和7的斜率根本不存在。得到一个相素点方向的可行方法是:用该相素后面第二个点的坐标与该相素坐标做比较,如下:

1、

若point[a+2].y=point[a].y 且point[a+2].x>point[a].x,方向1。 2、

若point[a+2].y=point[a].y 且point[a+2].x

若point[a+2].x=point[a].x 且point[a+2].y>point[a].y,方向3。 4、

若point[a+2].x=point[a].x 且point[a+2].y

若point[a+2].x>point[a].x 且point[a+2].y>point[a].y,方向2。 6、

若point[a+2].x>point[a].x 且point[a+2].y

若point[a+2].xpoint[a].y,方向4。 8、 若point[a+2].x

为得到一笔划方向,在得到该笔划内各相素的方向后,我们还要做一些去噪处理。比如为消除下笔和收笔时的抖动误差而去除两边若干相素点、为消除书写时的歪曲而除去若干奇异点等。得到笔划方向序列后,就必须为以后的匹配定义距离,即定义何谓相似的标准。通常做以下定义:

距离d=)1(10

∑=-m i i a m 2.2 其中m 为输入文字图像的笔划数,i a 为输入文字图像第i 笔test[i]的笔划与字库中某组待比较特征的第i 笔的相似度,经过大量的调查分析,i a 一般取值如下表:

表2.3 笔划的相似度表

该算法的一般步骤如下:

(1) 从输入端得到输入点序列。

(2) 由输入点序列去噪、计算得到方向码序列。

(3) 将方向码序列去噪处理得到笔画码序列。

(4) 根据笔画码序列参照表2.3得到距离d ,匹配判别识别汉字。

根据此定义得到距离后与事先设定的阙值dis 进行比较,若d

2.1.2 基于统计特征的汉字识别算法

统计特征即汉字图像的相素分布特征]5[,为简化起见,一般把汉字图像转换成二值图像再做处理,通常把一副汉字图像分成4*4=16或3*3=9个区,统计每个区的黑色相素点数,然后与字库里已有特征做比较,将距离最小的做为匹配字符。这种算法中的距离也有多种定义,通常采用两种方法,方差距离和绝对值距离,下面以绝对值距离为例,讲述一下该方法的具体应用。

下图是一个汉字图像并对其做了4*4划分,其中各区的特征值如图所示:

图2.4 汉字图像的统计特征图

现在把其特征表示为一个数组即test.p[16],若字库中第i 组特征为tez[i].p[16],则待识别汉字图像与字库里第i 个字的距离为:

|][].[][.|16

0j p i tez j p test d j ∑=-= 2.5

为了便于识别,需要定义阙值dis,若d

至此该算法的步骤可以归纳如下:

(1) 对输入图形进行4*4分区,统计每区黑色相素点数。

(2) 将每区黑色相素点数除以图像总黑相素点数,的到p[i],i=1,2……9。

(3) 由2.5式得到距离d ,然后匹配判别。

该方法形象直观,也很容易实现,但其弊端很多,表现在以下几个方面,

(1)这种方法只局限于一种字体且多用于印刷体汉字的识别,手写体汉字由于字形变化、歪曲教大,只使用该方法收效甚微。

(2)由于汉字图像大小不一,在读如图像后需要对其做规范化预处理。

(3)在汉字中存在很多字形十分相似的字,如“冢”和“家”,“狼”和“狠”

等,基于统计的识别算法对这些字不能区分。

(4)由于直接对图像进行分析,所以该方法主要用于脱机汉字识别。

2.2 现行算法的结合和改进

上节我们分别讲述了基因笔划特征和基于基于统计特征的的汉字识别算法,也讲了两种方法的优缺点,下面我面介绍怎么将两种算法结合并改进以进行联机手写汉字识别。

汉字是一种结构文字,即它的输入有一定的顺序,每一笔也有一定的结构,所以在进行联机手写汉字识别时,笔划信息一定要充分利用起来,同时我们知道,单纯的笔划特征不足以区分所有汉字,现在我们考虑将输入汉字图像分别从笔划和相素角度做两次分类识别,以下分别称为粗分类和细分类。

在粗分类阶段,我们根据2.1.1小节中的算法先把汉字定位于小范围内,即根据笔划数和笔划顺序从字库选出几个可能的汉字,至于怎样从这几个汉字中找出正确的对应字符就由细分类部分完成。

在细分类阶段,可以根据2.1.2小节中的算法对粗分类后的若干汉字进行识别,由于范围已经很小,所以该步骤不需要划分太细,通常情况下做3*3分区即可取得理想结果。注意,正如2.1.2小节中所说,用该方法要对汉字图像做规范化处理,我们可以稍做改进,把每区的黑色相素点数改为次数与汉字总相素点数的比值,这样就可以排除汉字大小不一的干扰。

在以上两个阶段,阙值的选取都十分重要,阙值太大则无法选出具体的汉字,阙值太小又可能由于书写不规范而无法识别,具体值可以根据多次实践、观察结果分析得出,同样处理的还有2.1.1小节的笔划相似度表,若结果不理想可以适当修改该表。

至此我们已经很详细的讲述了要采取联机手写汉字的识别算法,但不管什么算法都需要一种计算机语言去实现(通常使用高级语言),在下章,我们将给出各步骤实现的vc 代码,以便分析结果。

附注:

在下图中给出了基于多特征提取的联机手写汉字识别算法的流程图,借助此图可以更清晰地理解该算法。

图2.6 汉字识别算法流程图

3 识别算法对应的vc代码

在本章中,我们将介绍文字预处理、识别、识别后处理的代码,语句一般大

都简单,有难度的语句后面都有文章注释,所以在文中不在详细讲解,每一程序都在vc平台中调试过并成功运行,如不能允许请检查代码是否抄错。因为篇幅原因,用户界面、鼠标手写笔模拟等程序代码不再给出,有需要可自行查阅参考数

目。首先介绍一下程序实现所需的数据结构:

int num,Time;

int xmax,ymax,xmin,ymin;//随时记录最大x,y坐标

int mouseDown;//鼠标按下标记

int fxm[15][300];//方向码

int zong;//字库中的字符总数

struct

{

int x;

int y;

}store[15][300];//一笔划点序列

//备份的序列

struct

{

int x;

int y;

}storeback[15][300];

struct

{

char zifu[2];//代表字符

int total;//总的笔划数

int bh[15];//每个笔划的点数

double p[9];//每区相素比重

}tez[4000];

struct

{

char zifu[2];

int total;//笔画数

int bh[15];//笔画码序列

double p[9];//每区相素比重

}test;//意义同上,为测试点的结构

struct fangxtz

{

int b[8];//每方向点数

int total;//共有方向数

int totaldian;//共有点数

}fxtz[15];

3.1 输入预处理

//数据去噪、处理函数,得到笔划码序列

void CRecogDlg::DealDat()

{

int i,j,k;

for(i=0;i<15;i++) //得到方向序列码fxm[15][300],已验证,正确for(j=0;(j<300)&&(store[i][j].x!=-1);j++)

{

if(store[i][j+2].y==store[i][j].y)

{

if(store[i][j+2].x>store[i][j].x)

fxm[i][j]=1;

else if(store[i][j+2].x

fxm[i][j]=5;

}

if(store[i][j+2].x==store[i][j].x)

{

if(store[i][j+2].y>store[i][j].y)

fxm[i][j]=3;

else if(store[i][j+2].y

fxm[i][2]=7;

}

if(store[i][j+2].y>store[i][j].y)

{

if(store[i][j+2].x>store[i][j].x)

fxm[i][j]=2;

else if(store[i][j+2].x

fxm[i][j]=4;

}

if(store[i][j+2].y

{

if(store[i][j+2].x>store[i][j].x)

fxm[i][j]=8;

else if(store[i][j+2].x

fxm[i][j]=6;

}

}

//去除噪声点

for(i=0;i<15;i++)

for(j=0;j<288;j++)

fxm[i][j]=fxm[i][j+2];

for(i=0;i<15;i++)

for(j=3;(j<300)&&(fxm[i][j]!=0);j++)

{

if((fxm[i][j-1]!=fxm[i][j])&&(fxm[i][j+1]!=fxm[i][j])) for(k=j;fxm[i][k]!=0;k++)

fxm[i][k]=fxm[i][k+1];

}

//得到方向特征

for(i=0;i<15;i++)

for(j=0;(j<300)&&fxm[i][j]!=0;j++)

{

fxtz[i].totaldian++;

for(k=1;k<=8;k++)

if(fxm[i][j]==k)

fxtz[i].b[k-1]++;

}

//去除噪声方向点

for(i=0;i<15;i++)

for(j=0;j<8;j++)

{

if((float(fxtz[i].b[j])/float(fxtz[i].totaldian))<0.3) fxtz[i].b[j]=0;

if(fxtz[i].b[j]!=0)

fxtz[i].total++;

}

//得到笔画序列

for(i=0;i<15;i++)

{

if(fxtz[i].total==1)

{

if(fxtz[i].b[0]!=0)

test.bh[i]=1;

else if(fxtz[i].b[2]!=0)

test.bh[i]=2;

else if(fxtz[i].b[3]!=0)

test.bh[i]=3;

else if(fxtz[i].b[1]!=0)

test.bh[i]=4;

}

else if(fxtz[i].total>1)

test.bh[i]=5;

}

}

//将图像3*3分区,得到各区特征(具体见2.3节)

void CRecogDlg::obtp()

{

几种常用边缘检测算法的比较

几种常用边缘检测算法的比较摘要:边缘是图像最基本的特征,边缘检测是图像分析与识别的重要环节。基于微分算子的边缘检测是目前较为常用的边缘检测方法。通过对Roberts,Sobel,Prewitt,Canny 和Log 及一种改进Sobel等几个微分算子的算法分析以及MATLAB 仿真实验对比,结果表明,Roberts,Sobel 和Prewitt 算子的算法简单,但检测精度不高,Canny 和Log 算子的算法复杂,但检测精度较高,基于Sobel的改进方法具有较好的可调性,可针对不同的图像得到较好的效果,但是边缘较粗糙。在应用中应根据实际情况选择不同的算子。 0 引言 边缘检测是图像分析与识别的第一步,边缘检测在计算机视觉、图像分析等应用中起着重要作用,图像的其他特征都是由边缘和区域这些基本特征推导出来的,边缘检测的效果会直接影响图像的分割和识别性能。边缘检测法的种类很多,如微分算子法、样板匹配法、小波检测法、神经网络法等等,每一类检测法又有不同的具体方法。目前,微分算子法中有Roberts,Sobel,Prewitt,Canny,Laplacian,Log 以及二阶方向导数等算子检测法,本文仅将讨论微分算子法中的几个常用算子法及一个改进Sobel算法。 1 边缘检测

在图像中,边缘是图像局部强度变化最明显的地方,它主要存在于目标与目标、目标与背景、区域与区域( 包括不同色彩) 之间。边缘表明一个特征区域的终结和另一特征区域的开始。边缘所分开区域的内部特征或属性是一致的,而不同的区域内部特征或属性是不同的。边缘检测正是利用物体和背景在某种图像特征上的差异来实现检测,这些差异包括灰度、颜色或纹理特征,边缘检测实际上就是检测图像特征发生变化的位置。边缘的类型很多,常见的有以下三种: 第一种是阶梯形边缘,其灰度从低跳跃到高; 第二种是屋顶形边缘,其灰度从低逐渐到高然后慢慢减小; 第三种是线性边缘,其灰度呈脉冲跳跃变化。如图1 所示。 (a) 阶梯形边缘(b) 屋顶形边缘 (b) 线性边缘 图像中的边缘是由许多边缘元组成,边缘元可以看作是一个短的直线段,每一个边缘元都由一个位置和一个角度确定。边缘元对应着图像上灰度曲面N 阶导数的不连续性。如果灰度曲面在一个点的N 阶导数是一个Delta 函数,那么就

图像中角点(特征点)提取与匹配算法

角点提取与匹配算法实验报告 1 说明 本文实验的目标是对于两幅相似的图像,通过角点检测算法,进而找出这两幅图像的共同点,从而可以把这两幅图像合并成一幅图像。 下面描述该实验的基本步骤: 1.本文所采用的角点检测算法是Harris 角点检测算法,该算法的基本原理是取以目标像素点为中心的一个小窗口,计算窗口沿任何方向移动后的灰度变化,并用解析形式表达。设以像素点(x,y)为中心的小窗口在X 方向上移动u ,y 方向上移动v ,Harris 给出了灰度变化度量的解析表达式: 2 ,,|,|,,()(x y x y x u y v x y x y I I E w I I w u v o X Y ??= -=++??∑∑ (1) 其中,,x y E 为窗口内的灰度变化度量;,x y w 为窗口函数,一般定义为2 2 2 ()/,x y x y w e σ +=; I 为图像灰度函数,略去无穷小项有: 222222 ,,[()()2]2x y x y x y x y E w u I v I uvI I Au Cuv Bv = ++=++∑ (2) 将,x y E 化为二次型有: ,[]x y u E u v M v ?? =???? (3) M 为实对称矩阵: 2 ,2 x y x x y x y y I I I M w I I I ???= ???????∑ (4) 通过对角化处理得到: 11 ,200x y E R R λλ-??= ??? (5) 其中,R 为旋转因子,对角化处理后并不改变以u,v 为坐标参数的空间曲面的形状,其特征值反应了两个主轴方向的图像表面曲率。当两个特征值均较小时,表明目标点附近区域为“平坦区域”;特征值一大一小时,表明特征点位于“边缘”上;只有当两个特征值均比较大时,沿任何方向的移动均将导致灰度的剧烈变化。Harris 的角点响应函数(CRF)表达式由此而得到: 2 (,)det()(())C RF x y M k trace M =- (6)

SIFT 特征提取算法详解

SIFT 特征提取算法总结 主要步骤 1)、尺度空间的生成; 2)、检测尺度空间极值点; 3)、精确定位极值点; 4)、为每个关键点指定方向参数; 5)、关键点描述子的生成。 L(x,y,σ), σ= 1.6 a good tradeoff

D(x,y,σ), σ= 1.6 a good tradeoff

关于尺度空间的理解说明:图中的2是必须的,尺度空间是连续的。在 Lowe 的论文中, 将第0层的初始尺度定为1.6,图片的初始尺度定为0.5. 在检测极值点前对原始图像的高斯平滑以致图像丢失高频信息,所以Lowe 建议在建立尺度空间前首先对原始图像长宽扩展一倍,以保留原始图像信息,增加特征点数量。尺度越大图像越模糊。 next octave 是由first octave 降采样得到(如2) , 尺度空间的所有取值,s为每组层数,一般为3~5 在DOG尺度空间下的极值点 同一组中的相邻尺度(由于k的取值关系,肯定是上下层)之间进行寻找

在极值比较的过程中,每一组图像的首末两层是无法进行极值比较的,为了满足尺度 变化的连续性,我们在每一组图像的顶层继续用高斯模糊生成了 3 幅图像, 高斯金字塔有每组S+3层图像。DOG金字塔每组有S+2层图像.

If ratio > (r+1)2/(r), throw it out (SIFT uses r=10) 表示DOG金字塔中某一尺度的图像x方向求导两次 通过拟和三维二次函数以精确确定关键点的位置和尺度(达到亚像素精度)?

直方图中的峰值就是主方向,其他的达到最大值80%的方向可作为辅助方向 Identify peak and assign orientation and sum of magnitude to key point The user may choose a threshold to exclude key points based on their assigned sum of magnitudes. 利用关键点邻域像素的梯度方向分布特性为每个关键点指定方向参数,使算子具备 旋转不变性。以关键点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度 方向。梯度直方图的范围是0~360度,其中每10度一个柱,总共36个柱。随着距中心点越远的领域其对直方图的贡献也响应减小.Lowe论文中还提到要使用高斯函 数对直方图进行平滑,减少突变的影响。

图像局部特征点检测算法综述

图像局部特征点检测算法综述 研究图像特征检测已经有一段时间了,图像特征检测的方法很多,又加上各种算法的变形,所以难以在短时间内全面的了解,只是对主流的特征检测算法的原理进行了学习。总体来说,图像特征可以包括颜色特征、纹理特等、形状特征以及局部特征点等。其中局部特点具有很好的稳定性,不容易受外界环境的干扰,本篇文章也是对这方面知识的一个总结。 本篇文章现在(2015/1/30)只是以初稿的形式,列出了主体的框架,后面还有许多地方需要增加与修改,例如2013年新出现的基于非线性尺度空间的KAZE特征提取方法以及它的改进AKATE等。在应用方面,后面会增一些具有实际代码的例子,尤其是基于特征点的搜索与运动目标跟踪方面。 1. 局部特征点 图像特征提取是图像分析与图像识别的前提,它是将高维的图像数据进行简化表达最有效的方式,从一幅图像的M×N×3的数据矩阵中,我们看不出任何信息,所以我们必须根据这些数据提取出图像中的关键信息,一些基本元件以及它们的关系。 局部特征点是图像特征的局部表达,它只能反正图像上具有的局部特殊性,所以它只适合于对图像进行匹配,检索等应用。对于图像理解则不太适合。而后者更关心一些全局特征,如颜色分布,纹理特征,主要物体的形状等。全局特征容易受到环境的干扰,光照,旋转,噪声等不利因素都会影响全局特征。相比而言,局部特征点,往往对应着图像中的一些线条交叉,明暗变化的结构中,受到的干扰也少。 而斑点与角点是两类局部特征点。斑点通常是指与周围有着颜色和灰度差别的区域,如草原上的一棵树或一栋房子。它是一个区域,所以它比角点的噪能力要强,稳定性要好。而角点则是图像中一边物体的拐角或者线条之间的交叉部分。 2. 斑点检测原理与举例 2.1 LoG与DoH 斑点检测的方法主要包括利用高斯拉普拉斯算子检测的方法(LOG),以及利用像素点Hessian矩阵(二阶微分)及其行列式值的方法(DOH)。 LoG的方法已经在斑点检测这入篇文章里作了详细的描述。因为二维高斯函数的拉普拉斯核很像一个斑点,所以可以利用卷积来求出图像中的斑点状的结构。 DoH方法就是利用图像点二阶微分Hessian矩阵:

文本特征提取方法

https://www.360docs.net/doc/e09487232.html,/u2/80678/showart_1931389.html 一、课题背景概述 文本挖掘是一门交叉性学科,涉及数据挖掘、机器学习、模式识别、人工智能、统计学、计算机语言学、计算机网络技术、信息学等多个领域。文本挖掘就是从大量的文档中发现隐含知识和模式的一种方法和工具,它从数据挖掘发展而来,但与传统的数据挖掘又有许多不同。文本挖掘的对象是海量、异构、分布的文档(web);文档内容是人类所使用的自然语言,缺乏计算机可理解的语义。传统数据挖掘所处理的数据是结构化的,而文档(web)都是半结构或无结构的。所以,文本挖掘面临的首要问题是如何在计算机中合理地表示文本,使之既要包含足够的信息以反映文本的特征,又不至于过于复杂使学习算法无法处理。在浩如烟海的网络信息中,80%的信息是以文本的形式存放的,WEB文本挖掘是WEB内容挖掘的一种重要形式。 文本的表示及其特征项的选取是文本挖掘、信息检索的一个基本问题,它把从文本中抽取出的特征词进行量化来表示文本信息。将它们从一个无结构的原始文本转化为结构化的计算机可以识别处理的信息,即对文本进行科学的抽象,建立它的数学模型,用以描述和代替文本。使计算机能够通过对这种模型的计算和操作来实现对文本的识别。由于文本是非结构化的数据,要想从大量的文本中挖掘有用的信息就必须首先将文本转化为可处理的结构化形式。目前人们通常采用向量空间模型来描述文本向量,但是如果直接用分词算法和词频统计方法得到的特征项来表示文本向量中的各个维,那么这个向量的维度将是非常的大。这种未经处理的文本矢量不仅给后续工作带来巨大的计算开销,使整个处理过程的效率非常低下,而且会损害分类、聚类算法的精确性,从而使所得到的结果很难令人满意。因此,必须对文本向量做进一步净化处理,在保证原文含义的基础上,找出对文本特征类别最具代表性的文本特征。为了解决这个问题,最有效的办法就是通过特征选择来降维。 目前有关文本表示的研究主要集中于文本表示模型的选择和特征词选择算法的选取上。用于表示文本的基本单位通常称为文本的特征或特征项。特征项必须具备一定的特性:1)特征项要能够确实标识文本内容;2)特征项具有将目标文本与其他文本相区分的能力;3)特征项的个数不能太多;4)特征项分离要比较容易实现。在中文文本中可以采用字、词或短语作为表示文本的特征项。相比较而言,词比字具有更强的表达能力,而词和短语相比,词的切分难度比短语的切分难度小得多。因此,目前大多数中文文本分类系统都采用词作为特征项,称作特征词。这些特征词作为文档的中间表示形式,用来实现文档与文档、文档与用户目标之间的相似度计算。如果把所有的词都作为特征项,那么特征向量的维数将过于巨大,从而导致计算量太大,在这样的情况下,要完成文本分类几乎是不可能的。特征抽取的主要功能是在不损伤文本核心信息的情况下尽量减少要处理的单词数,以此来降低向量空间维数,从而简化计算,提高文本处理的速度和效率。文本特征选择对文本内容的过滤和分类、聚类处理、自动摘要以及用户兴趣模式发现、知识发现等有关方面的研究都有非常重要的影响。通常根据某个特征评估函数计算各个特征的评分值,然后按评分值对这些特征进行排序,选取若干个评分值最高的作为特征词,这就是特征抽取(Feature Selection)。

SIFT特征点提取与匹配算法

SIFT 特征点匹配算法 基于SIFT 方法的图像特征匹配可分为特征提取和特征匹配两个部分,可细化分为五个部分: ① 尺度空间极值检测(Scale-space extrema detection ); ② 精确关键点定位(Keypoint localization ) ③ 关键点主方向分配(Orientation assignment ) ④ 关键点描述子生成(Keypoint descriptor generation ) ⑤ 比较描述子间欧氏距离进行匹配(Comparing the Euclidean distance of the descriptors for matching ) 1.1 尺度空间极值检测 特征关键点的性质之一就是对于尺度的变化保持不变性。因此我们所要寻找的特征点必须具备的性质之一,就是在不同尺度下都能被检测出来。要达到这个目的,我们可以在尺度空间内寻找某种稳定不变的特性。 Koenderink 和Lindeberg 已经证明,变换到尺度空间唯一的核函数是高斯函数。因此一个图像的尺度空间定义为:(,,)L x y σ,是由可变尺度的高斯函数(,,)G x y σ与输入图像(,)I x y 卷积得到,即: ),(),,(),,(y x I y x G y x L *=σσ (1.1) 其中:2222/)(221 ),,(σπσσy x e y x G +-= 在实际应用中,为了能相对高效地计算出关键点的位置,建议使用的是差分高斯函数(difference of Gaussian )(,,)D x y σ。其定义如下: ) ,,(),,() ,()),,(),,((),,(σσσσσy x L k y x L y x I y x G k y x G y x D -=*-= (1.2) 如上式,D 即是两个相邻的尺度的差(两个相邻的尺度在尺度上相差一个相乘系数k )。

特征提取方法

4.2.2 特征提取方法 图像经过一系列的预处理之后,原来大小不同、分布不规则的各个字符变成了一个个大小相同、排列整齐的字符。下面接要从被分割归一处理完毕的字符中,提取最能体现这个字符特点的特征向量。将提取出训练样本中的特征向量代入BP网络之中就可以对网络进行训练,提取出待识别的样本中的特征向量代入到训练好的BP网络中,就可以对汉字进行识别。 特征向量的提取方法多种多样,可以分为基于结构特征的方法和基于像素分布特征的方法,下面给予简单介绍,并说明本文所用的方法。 (1)结构特征。结构特征充分利用了字符本身的特点,由于车牌字符通常都是较规范的印刷体,因此可以较容易地从字符图像上得到它的字符笔画信息,并可根据这些信息来判别字符。例如,汉字的笔画可以简化为4类:横、竖、左斜和右斜。根据长度不同又可分为长横、短横、长竖和短竖等。将汉字分块,并提取每一块的笔画特征,就可得到一个关于笔画的矩阵,以此作为特征来识别汉字。 (2)像素分布特征。像素分布特征的提取方法很多,常见的有水平、垂直投影的特征,微结构特征和周边特征等。水平、垂直投影的特征是计算字符图像在水平和垂直方向上像素值的多少,以此作为特征。微结构法将图像分为几个小块,统计每个小块的像素分布。周边特征则计算从边界到字符的距离。优点是排除了尺寸、方向变化带来的干扰,缺点是当字符出现笔划融合、断裂、部分缺失时不适用。 ①逐像素特征提取法 这是一种最简单的特征提取方法。它可以对图像进行逐行逐列的扫描,当遇到黑色像素时取其特征值为1,遇到白色像素时取其特征值为0,这样当扫描结束后就获得一个维数与图像中的像素点的个数相同的特征向量矩阵。 这种特征提取方法的特点就是算法简单,运算速度快,可以使BP网络很快的收敛,训练效果好,更重要的是对于数字图像这样特征较少的图像,这种方法提取的信息量最大,所以对于本系统来说,这种方法较为适用。但是它的缺点也很明显,就是适应性不强,所以本文没有选用这种方法。 ②骨架特征提取法

基于matlab的图像边缘检测算法研究和仿真设计

基于matlab的图像边缘检测算法研究和仿真 目录 第1章绪论 1 1.1 序言 1 1.2 数字图像边缘检测算法的意义 1 第2章传统边缘检测方法及理论基础 2 2.1 数字图像边缘检测的现状与发展 2 2.2 MATLAB和图像处理工具箱的背景知识 3 2.3 数字图像边缘检测关于边缘的定义 4 2.4 基于一阶微分的边缘检测算子 4 2.5 基于二阶微分的边缘检测算子 7 第3章编程和调试 10 3.1 edge函数 10 3.2 边缘检测的编程实现 11 第4章总结 13 第5章图像边缘检测应用领域 13 附录参考文献 15

第1章绪论 §1.1 序言 理解图像和识别图像中的目标是计算机视觉研究的中心任务,物体形状、物体边界、位置遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中均有边缘产生。图像边缘是分析理解图像的基础,它是图像中最基本的特征。在Marr的计算机视觉系统中,图像边缘提取占据着非常重要位置,它位于系统的最底层,为其它模块所依赖。图像边缘提取作为计算机视觉领域最经典的研究课题,长期受到人们的重视。 图像边缘主要划分为阶跃状和屋脊状两种类型。阶跃状边缘两侧的灰度值变化明显,屋脊状边缘则位于灰度增加与减少的交界处。传统的图像边缘检测方法大多是从图像的高频分量中提取边缘信息,微分运算是边缘检测与提取的主要手段。由于传统的边缘检测方法对噪声敏感,所以实际运用效果有一定的局限性。近年来,越来越多的新技术被引入到边缘检测方法中,如数学形态学、小波变换、神经网络和分形理论等。 Canny于1986年提出基于最优化算法的边缘检测算子,得到了广泛的应用,并成了与其它实验结果作比较的标准。其原因在于他最先建立了优化边缘检测算子的理论基础,提出了迄今为止定义最为严格的边缘检测的三个标准。另外其相对简单的算法使得整个过程可以在较短的时间实现。实验结果也表明,Canny算子在处理受加性高斯白噪声污染的图像方面获得了良好的效果[1]。 §1.2 数字图像边缘检测算法的意义 数字图像处理是控制领域的重要课题,数字图像边缘检测是图像分割、目标区域识别和区域形状提取等图像分析领域十分重要的基础,是图像识别中提取图像特征的一个重要方法。边缘中包含图像物体有价值的边界信息,这些信息可以用于图像理解和分析,并且通过边缘检测可以极降低后续图像分析和处理的数据量。图像理解和分析的第一步往往就是边缘检测,目前它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。 图像的边缘检测技术是数字图像处理技术的基础研究容,是物体识别的重要基础。边缘特征广泛应用于图像分割、运动检测与跟踪、工业检测、目标识别、双目立体视觉等领域。现有边缘检测技术在抑制噪声方面有一定的局限性,在阈值参数选取方面自适

SIFT特征点提取与匹配算法

二 特征点提取算法 1、基于SIFT (Scale Invariant Feature Transform )方法的图像特征匹配 参看David G. Lowe 的“Distinctive Image Features from Scale-Invariant Keypoints ” 基于SIFT 方法的图像特征匹配可分为特征提取和特征匹配两个部分,可细化分为五个部分: ① 尺度空间极值检测(Scale-space extrema detection ); ② 精确关键点定位(Keypoint localization ) ③ 关键点主方向分配(Orientation assignment ) ④ 关键点描述子生成(Keypoint descriptor generation ) ⑤ 比较描述子间欧氏距离进行匹配(Comparing the Euclidean distance of the descriptors for matching ) 1.1 尺度空间极值检测 特征关键点的性质之一就是对于尺度的变化保持不变性。因此我们所要寻找的特征点必须具备的性质之一,就是在不同尺度下都能被检测出来。要达到这个目的,我们可以在尺度空间内寻找某种稳定不变的特性。 Koenderink 和Lindeberg 已经证明,变换到尺度空间唯一的核函数是高斯函数。因此一个图像的尺度空间定义为:(,,)L x y σ,是由可变尺度的高斯函数(,,)G x y σ与输入图像(,)I x y 卷积得到,即: ),(),,(),,(y x I y x G y x L *=σσ (1.1) 其中:2222/)(221 ),,(σπσσy x e y x G +-= 在实际应用中,为了能计算的相对高效,所真正使用的是差分高斯尺度空间(difference of Gaussian )(,,)D x y σ。其定义如下: ) ,,(),,() ,()),,(),,((),,(σσσσσy x L k y x L y x I y x G k y x G y x D -=*-= (1.2) 如上式,D 即是由两个相邻的尺度的差(两个相邻的尺度在尺度上相差一个相乘系数k )。

图像特征提取算法

Histograms of for Human Detection Navneet Dalal and Bill Triggs INRIA Rh?o ne-Alps,655avenue de l’Europe,Montbonnot38334,France {Navneet.Dalal,Bill.Triggs}@inrialpes.fr,http://lear.inrialpes.fr Abstract We study the question of feature sets for ob-ject recognition,adopting linear SVM based human detec-tion as a test case.After reviewing existing edge and gra-dient based descriptors,we show experimentally that grids of Histograms of Oriented Gradient(HOG)descriptors sig-ni?cantly outperform existing feature sets for human detec-tion.We study the in?uence of each stage of the computation on performance,concluding that?ne-scale gradients,?ne orientation binning,relatively coarse spatial binning,and high-quality local contrast normalization in overlapping de-scriptor blocks are all important for good results.The new approach gives near-perfect separation on the original MIT pedestrian database,so we introduce a more challenging dataset containing over1800annotated human images with a large range of pose variations and backgrounds. 1Introduction Detecting humans in images is a challenging task owing to their variable appearance and the wide range of poses that they can adopt.The?rst need is a robust feature set that allows the human form to be discriminated cleanly,even in cluttered backgrounds under dif?cult illumination.We study the issue of feature sets for human detection,showing that lo-cally normalized Histogram of Oriented Gradient(HOG)de-scriptors provide excellent performance relative to other ex-isting feature sets including wavelets[17,22].The proposed descriptors are reminiscent of edge orientation histograms [4,5],SIFT descriptors[12]and shape contexts[1],but they are computed on a dense grid of uniformly spaced cells and they use overlapping local contrast normalizations for im-proved performance.We make a detailed study of the effects of various implementation choices on detector performance, taking“pedestrian detection”(the detection of mostly visible people in more or less upright poses)as a test case.For sim-plicity and speed,we use linear SVM as a baseline classi?er throughout the study.The new detectors give essentially per-fect results on the MIT pedestrian test set[18,17],so we have created a more challenging set containing over1800pedes-trian images with a large range of poses and backgrounds. Ongoing work suggests that our feature set performs equally well for other shape-based object classes. We brie?y discuss previous work on human detection in §2,give an overview of our method§3,describe our data sets in§4and give a detailed description and experimental evaluation of each stage of the process in§5–6.The main conclusions are summarized in§7. 2Previous Work There is an extensive literature on object detection,but here we mention just a few relevant papers on human detec-tion[18,17,22,16,20].See[6]for a survey.Papageorgiou et al[18]describe a pedestrian detector based on a polynomial SVM using recti?ed Haar wavelets as input descriptors,with a parts(subwindow)based variant in[17].Depoortere et al give an optimized version of this[2].Gavrila&Philomen [8]take a more direct approach,extracting edge images and matching them to a set of learned exemplars using chamfer distance.This has been used in a practical real-time pedes-trian detection system[7].Viola et al[22]build an ef?cient moving person detector,using AdaBoost to train a chain of progressively more complex region rejection rules based on Haar-like wavelets and space-time differences.Ronfard et al[19]build an articulated body detector by incorporating SVM based limb classi?ers over1st and2nd order Gaussian ?lters in a dynamic programming framework similar to those of Felzenszwalb&Huttenlocher[3]and Ioffe&Forsyth [9].Mikolajczyk et al[16]use combinations of orientation-position histograms with binary-thresholded gradient magni-tudes to build a parts based method containing detectors for faces,heads,and front and side pro?les of upper and lower body parts.In contrast,our detector uses a simpler archi-tecture with a single detection window,but appears to give signi?cantly higher performance on pedestrian images. 3Overview of the Method This section gives an overview of our feature extraction chain,which is summarized in?g.1.Implementation details are postponed until§6.The method is based on evaluating well-normalized local histograms of image gradient orienta-tions in a dense grid.Similar features have seen increasing use over the past decade[4,5,12,15].The basic idea is that local object appearance and shape can often be characterized rather well by the distribution of local intensity gradients or 1

肺结节检测中特征提取方法研究

小型微型计算机系统JournalofChineseComputerSystems2009年10月第10期V01.30No.102009 肺结节检测中特征提取方法研究 何中市1,梁琰1,黄学全2,王健2 1(重庆大学计算机学院,重庆400044) 2(第三军医大学西南医院放射科,重庆400038) E—mail:zshe@cqu.edu.ca 摘要:计算机辅助诊断(Computer—AidedDiagnosis,CAD)系统为肺癌的早期检测和诊断提供了有力的支持.本文对孤立性肺结节特征提取问题进行研究.通过对肺结节和肺内各组织在序列CT图像上的医学征象分析和研究对比,结合专家提供的知识,提出了肺结节特征提取总体方案.该方案分别从肺部CT图像的灰度特征、肺结节形态、纹理、空间上下文特征等几个方面,对关键的医学征象进行图像分析,从而实现对ROI(RegionsofInterest)区域的特征提取和量化;提出特征提取的评价方案,实验结果表明,本文提取的特征提取方案是有效的.利用本文提取的特征,肺结节检测正确率达到93.05%,敏感率为94.53%. 关键词:孤立性;肺结节;特征提取;CT图像;特征评价 中图分类号:TP391文献标识码:A文章编号:1000—1220(2009)10—2073-05 ResearchontheFeatureExtractionApproachforSPNsDetection 腼Zhong—shil,LIANGYanl,HUANGXue—quan2,WANGJian2 1(CollegeofComputerScience,c‰增幻增Univers毋,Chongqing400044,China) 2(DepartmentofRadiology,Southwest丑却池z,ThirdMilitaryMedwalUniversityofChinesePL4,Chongqing400038,China) Abstract:Imageprocessingtechniqueshaveprovedtobeeffectiveforimprovementofradiologists7diagnosisofpubmonarynodules.Inthispaper,wepresentastrategybasedonfeatureextractiontechniqueaimedatSolitaryPulmonaryNodules(SPN)detection.Infeatureextractionscheme,36featureswereobtained,contained3greylevelfeatures,16morphologicalfeatures,10texturefeaturesand7spatialcontextfeatures.Andtheclassifier(SVM)runningwiththeextractedfeaturesachievescomparativeresults,withare-suitof93.05%innoduledetectionaccuracyand94.53%insensitivity. Keywords:isolated;solitarypulmonarynodules;featureextraction;CTimages;featureassessment 1引言 近几年,随着影像检查技术的改进,临床结果初步证明CT扫描是检测早期无症状肺癌最有效的影像学方法。1J.肺部疾病在CT影像上通常表现为孤立性肺结节(SolitaryPul—monaryNodules,SPNs),因此,对孤立性肺结节的检测和识别是对肺部疾病诊断最重要的途径.计算机辅助诊断系统一方面,大大减轻了医生的工作量,提高了工作效率;另一方面,使影像诊断更加客观化,提高诊断的效率和正确效率.因此,用计算机进行肺结节辅助诊断,提取肺结节特征,检测肺结节,是具有十分重要的意义和研究价值的. 在孤立性肺结节自动识别中,肺结节的特征提取及表示是其关键问题之一,它是进行识别的重要手段.关于肺结节检测方法有很多。2…,但对肺结节医学征象描述并不充分.目前一般常用面积、周长等形态方面进行肺结节特征提取.对肺结节的形态、全局、局部上下文特征以及病理征象的分析不足,使得特征提取描述不到位,影响识别准备率.同时也欠缺对识别结果的解释.正因为对提取的特征与肺结节医学征象问的对应关系分析不足,无法对识别结果进行医学知识上的解释, 特征提取特征评价 懂歪母 I里斗1显查鲎堑卜_倒1J躺l 帽霭瓣||描述程度l 1絮嚣卜 lJs、,M识 --|别性能 图1SPNs诊断框架图 Fig.1OverviewofSPNsdetection 而只有”是”或”否”的识别结果,无法给医生提供更多的信息.本文围绕以上几个问题,意在提供全面的、系统的量化信息,便于医学专家诊断的客观化、效率化.本文对孤立性肺结节特征提取问题进行研究.通过对肺结节和肺内各组织在序列CT图像上的医学征象分析和研究对比,提出了肺结节特征提取总体方案.该方案分别从肺部CT图像的灰度特征、形 收稿日期:2008-08-30基金项目:重庆市重大科技专项项目(CSTC,2008AB5038)资助;重庆市自然科学基金项目(CSTC,2007BB2134))资助.作者简介:何中市,男,1965年生,博士,教授,研究方向为人工智能、机器学习与数据挖掘等;梁琰,女,1982年生,博士研究生,图像处理、模式识别;黄学金,男,1966年生,博士,副教授,研究方向为影像诊断和介入放射学;王健,男,1964年生,博士,教授,研究方向为影像诊断和介入放射学.

FFT特征提取算法

FFT特征提取算法 来自网络 滚动轴承故障诊断频域特征识别,关键在于转换为频域的实时性是否满足系统实时的工作需要,FFT变换是将时域信号转换为频域的有效方法。FFT具有快速实时,物理关系明确的优点,能以较低的成本得到性能满足要求的系统,所以本课题讨论的故障诊断频域特征识别仍采用FFT变换。 TI公司的DSP有许多适应实时数字信号处理的特点,具有哈佛总线结构、片内缓存技术、流水线结构、特殊的寻址方式、高效的特殊指令以及硬件乘法器、位反转桶形位移器等硬件,因此数据运算速度很快,通常1024点的FFT在毫秒级之内(以所选用的DSP和系统时钟而有别),因此用DSP实现FFT,实时性可以充分满足系统要求。 FFT在DSP处理器实现中采用的是按时间抽取的基2算法。一般情况下,假定FFT程序的输入序列为复数,而在本课题应用背景中待处理序列为实数值,可以采用对称特性有效地计算FFT。在此情况下,可以将原来的N点实数序列压缩为一个N/2点的复数序列。对此压缩复数序列执行N/2点FFT,将得到的N/2点复数输出展开为N点复序列,它与原来N点实数输入信号的FFT相对应。做完FFT变换后,要识别故障特征,还要对变换后的数据序列进行求模,从而判断出故障特征的幅度和频率信息。所以FFT变换的流程如图5.6所示。

C5402的DSPLIB库提供了一套全面优化的用于实数和复数FFT的函数和一个位反转例程(cbrev)。实数FFT函数rfft是一个宏,其如下调用Cfft和cbrev: #definerfft(x,nx,type) { Cfft_##type(x,nx/2); Cbrev(x,x,nx/2); unpack(x,nx); } FFT变换程序不仅要调用DSPL工B中的cfft--SCALE函数,而且还要对变换完后的数据进行位翻转和数据打包,所以分别调用了库中的cbrev和unPack函数,最后还要对输出数据进行求模来判断幅度和频率等参数。

图像特征提取方法

图像特征提取方法 摘要 特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。 至今为止特征没有万能和精确的图像特征定义。特征的精确定义往往由问题或者应用类型决定。特征是一个数字图像中“有趣”的部分,它是许多计算机图像分析算法的起点。因此一个算法是否成功往往由它使用和定义的特征决定。因此特征提取最重要的一个特性是“可重复性”:同一场景的不同图像所提取的特征应该是相同的。 特征提取是图象处理中的一个初级运算,也就是说它是对一个图像进行的第一个运算处理。它检查每个像素来确定该像素是否代表一个特征。假如它是一个更大的算法的一部分,那么这个算法一般只检查图像的特征区域。作为特征提取的一个前提运算,输入图像一般通过高斯模糊核在尺度空间中被平滑。此后通过局部导数运算来计算图像的一个或多个特征。 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。当光差图像时,常 常看到的是连续的纹理与灰度级相似的区域,他们相结合形成物体。但如果物体的尺寸很小 或者对比度不高,通常要采用较高的分辨率观察:如果物体的尺寸很大或对比度很强,只需 要降低分辨率。如果物体尺寸有大有小,或对比有强有弱的情况下同事存在,这时提取图像 的特征对进行图像研究有优势。 常用的特征提取方法有:Fourier变换法、窗口Fourier变换(Gabor)、小波变换法、最 小二乘法、边界方向直方图法、基于Tamura纹理特征的纹理特征提取等。

设计内容 课程设计的内容与要求(包括原始数据、技术参数、条件、设计要求等):一、课程设计的内容 本设计采用边界方向直方图法、基于PCA的图像数据特征提取、基于Tamura纹理特征的纹理特征提取、颜色直方图提取颜色特征等等四种方法设计。 (1)边界方向直方图法 由于单一特征不足以准确地描述图像特征,提出了一种结合颜色特征和边界方向特征的图像检索方法.针对传统颜色直方图中图像对所有像素具有相同重要性的问题进行了改进,提出了像素加权的改进颜色直方图方法;然后采用非分割图像的边界方向直方图方法提取图像的形状特征,该方法相对分割方法具有简单、有效等特点,并对图像的缩放、旋转以及视角具有不变性.为进一步提高图像检索的质量引入相关反馈机制,动态调整两幅图像相似度中颜色特征和方向特征的权值系数,并给出了相应的权值调整算法.实验结果表明,上述方法明显地优于其它方法.小波理论和几个其他课题相关。所有小波变换可以视为时域频域的形式,所以和调和分析相关。所有实际有用的离散小波变换使用包含有限脉冲响应滤波器的滤波器段(filterbank)。构成CWT的小波受海森堡的测不准原理制约,或者说,离散小波基可以在测不准原理的其他形式的上下文中考虑。 通过边缘检测,把图像分为边缘区域和非边缘区域,然后在边缘区域内进行边缘定位.根据局部区域内边缘的直线特性,求得小邻域内直线段的高精度位置;再根据边缘区域内边缘的全局直线特性,用线段的中点来拟合整个直线边缘,得到亚像素精度的图像边缘.在拟合的过程中,根据直线段转角的变化剔除了噪声点,提高了定位精度.并且,根据角度和距离区分出不同直线和它们的交点,给出了图像精确的矢量化结果 图像的边界是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合,边界广泛的存在于物体和背 景之间、物体和物体之间,它是图像分割所依赖的重要特征.边界方向直方图具有尺度不变性,能够比较好的 描述图像的大体形状.边界直方图一般是通过边界算子提取边界,得到边界信息后,需要表征这些图像的边 界,对于每一个边界点,根据图像中该点的梯度方向计算出该边界点处法向量的方向角,将空间量化为M级, 计算每个边界点处法向量的方向角落在M级中的频率,这样便得到了边界方向直方图. 图像中像素的梯度向量可以表示为[ ( ,),),( ,),)] ,其中Gx( ,),),G ( ,),)可以用下面的

相关文档
最新文档