搜档网
当前位置:搜档网 › 语音识别字符分割算法_原创

语音识别字符分割算法_原创

语音识别字符分割算法_原创
语音识别字符分割算法_原创

5.设计方法

5.1概述

5.2硬件系统的设计

语音信号预处理

(1)预加重

预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于频谱分析或声道参数分析。在计算机里用具有6dB/频程升高频特性的预加重数字滤波器来实现,一般是一阶的FIR数字滤波器:

为预加重系数,值接近于l,在0.9和1之间,典型值为0.94。

预加重的DSPBuilder实现:

为了便于实现,将上式中的一阶FIR预加重滤波器用差分方程表示为:

其中,为原始语音信号序列,N为语音长度,上面的公式显示其在时域

上的特性。又因为0.94接近于15/16,所以将上面的式子变为

除以16可以用右移4位来实现,这样就将除法运算化简为移位运算,降低了计算复杂度。在后面的模块设计中,也乘以或者除以一些这样的数,这些数为2的幂次,都可以用移位来实现。

预加重的硬件实现框图如下:

预加重实现框图

DSP Builder中的图形建模为:

预加重滤波器的DSPBuilder结构图

(2)分帧

语音信号是一种典型的非平稳信号,其特性随时间变化,其在很短的时间内是平稳的,大概为1小20ms,其频谱特性和物理特征可近似的看做不变,这样就可以采用平稳过程的分析处理方法来处理。

分帧的DSP Builder实现:

语音信号在10到20ms之间短时平稳(这样可以保证每帧内包含1一7个基音周期),也就是说选取的帧长必须介于10到20ms之间,此外,在MFCC特征提取时要进行FFT变换,FFT点数一般为2的幂次,所以本文中选择一帧长度为16ms,帧移为1/2帧长,这样一帧就包含了16KHz*16ms=256个点,既满足短时平稳,又满足FFT变换的要求。

由于采集的语音是静态的,语音长度已知,很容易计算出语音的帧数,但是在硬件上或实时系统中,语音长度是无法估计的,而且还要考虑存储空间的大小和处理速度,采用软件实现时的静态分帧方法是行不通的,可以利用硬件本身的特点进行实时的动态分帧。

为了使帧与帧之间平滑过渡,保持连续语音流的自相关性和过渡性,采用交叠分帧的算法。帧移取1/2帧长,即128个数据点当作一个数据块。FIFO1大小为一帧语音长度,分成两个数据块,预加重后的数据写入这个FIFO。为了实现帧移交叠,在FIFO1读数据时,同时再用FIFO2保存起来,当FIFO的一块数据读完以后,紧接着从FIF22读出这一块的副本。写入的一块数据,相当于被重复读出2次,所以FIFO1的读时钟频率设计为写时钟频率的2倍,而FIFOZ的读写时钟频率和FIFO1的读时钟频率相同。分帧以后的数据在图中按时间标号为1、2、2、3.··…,1、2为第一帧,2、3为第二帧,以此类推。

分帧实现框图

FIFO1的写信号一直为1(写允许),等到写完第1块(128点)再允许读。

当FIFO1读第1块数据的时,FIFO2保存第1块的数据,两者时钟频率一致,同时FIF01也在写第2块数据。FIFO1读完第1块数据,FIFO2里为第1块数据,FIFO1中第2块数据写了一半,此时禁止FIFO1读,并使能FIF02的读信号,从FIFO2中将第1块数据再读一遍,读完时第2块数据己经完全写入FIFO1,再允许FIFO1读,同时禁止FIF02读,如此循环。图中,数据选择器就是为了实现两个FIFO的读出数据选通,第1次数据为FIFO1的读出内容,第2次数据为FIFO2读出内容,这样就实现将一块数据内容重复输出两次,读完两次的同时,写完下一块内容。

分帧的DSPBullder实现为:

分帧的DSPBuilder的结构图

Inc 模块是为了让FIFO1写入128个数据后才产生读使能信号,其时钟频率与写时钟相同。Counter 是模256的计数器,当计数值在0到127之间时输出FIFOI 的值,128到255之间输出FIFO2的值,时钟频率与读时钟相同,为写时钟的两倍。DMUX 为数据选择器。分帧后,波形平滑了许多,略微有了一点延时,这是因为FIFOI 的读使能比写使能晚了128个采样点。但这样实现的实时分帧,与静态分帧相比,速度提高了很多,有效的减少了存储空间的浪费。 (3) 加窗

加窗的目的是使主瓣更尖锐,旁瓣更低。语音信号数字处理中常用的窗函数是矩形窗和汉明窗,本文选取的是汉明窗。因为矩形窗虽然有较高的频率分辨率,但它的频谱泄露比较严重,相比较来说,虽然汉明窗频率分辨率没有矩形窗高,但它有更平滑的底通特性,能够在较高程度上反映短时语音信号的频率特性。

汉明窗公式如下(其中N 为帧长):

0.540.46cos[2/(1)],01n N n N π--≤≤-

()n ω=

{

0,n else =

设分帧后的信号为S(n),加窗就是窗函数诚w(n)来乘分帧后的信号S(n),从而形成加窗语音信号()()()*s n s n n ωω=

加窗的DSP Builder 实现:

分帧后数据为8位定点QO(即8位有符号整数),三角余弦函数的范围为-1到1,可以用Q15来表示,但是Q15能表示的范围为一1到32767/32768之间,原则上应该用Q14表示,但从方便和总体精度考虑,仍然用Q15,+l 用32767来表示。加窗后输出还是为8位定点QO 。具体方法是:

窗函数采取查表的方法,表的大小为帧长(本文为256),将窗函数()n ω中 的0.08~1的值用Q15表示,其数值上相当于小32768(2的15次方),保存在 windowTable[]中,然后用预加重的信号s(n)乘以WindowTable[i]来计算加窗后的语音信号,得到加窗后的语音信号[]s i ω,仍然与预加重后的位数相同,公式如下:

[]()[]*[]15S i S i WindowTable i ω=>>

其实,分帧和加窗是同时进行的,分帧时只要找到与窗函数中对应点的关系,然后相乘就能得到加窗的数据,下图表示了预加重、分帧和加窗的时序关系:

预加重、分帧和加窗时序关系

由图知,真正的第1帧有效数据应该是在FIF01写信号有效的192个时钟期后产生。

加窗的主要运算对象是查找表,其DSPBullder实现如下:

加汉明窗的DSPBuilder 结构图

图中,Counter 为模256(窗长为256)个计数器,Incl 模块使其在192个点 之后才开始循环计数,这样每帧的数据点与窗函数的数据点就一一对应了。 hamming--table 的设置为:17964-15073*cos([0:2*pi/255:2*pi]),将0到2π分成255个区间,再将其余弦值放大了32768倍。 ● 总线接口的设计

● 自定义指令

5.3软件系统的设计 ● 连续语音分割

该部分功能利用matlab 软件验证通过,并在nios II 编程实现。 包含有‘前’、‘退’、‘左’、‘右’、‘停’五个孤立字的连续语音信号波形如下图1所示:

1

2

3

4

5

6

7

x 10

5

-1-0.8-0.6-0.4-0.200.20.40.60.8

1

图1:连续语音信号波形

上述语音信号通过麦克风输入、采样量化后存储在DE1开发板上Rom 中,根据地址存储形象化如下:

图2:语音数据在rom 中的存储

对其处理步骤如下:

(1) 如图所示,L

为语音数据帧长,其大小根据经验值得到,与单个字语音信

息的长度、采样频率有关,L 取值的标准是能包含住各个字的语音信息长度。对于本设计8KHz 的采样率,L 取11792。?可以根据情况进行取值,在这里取18。对上述存储数据从首地址开始取数据,每隔?个数据顺序取L 个数据存放到一数组中,由此可以得到一系列的数组,对于上述语音数据可以得到6000多个数组。

(2) 对上步中得到的数组分别进行取绝对值、求和,以存储先后为横轴,各数

组和为纵轴作曲线如下图3:

0100020003000400050006000

0.5

1

1.5

2

2.5

4

图3

(3) 如上图3所示,五个波形尖峰对应五个孤立字语音信息,分析可知这五个

尖峰值所对应的数组即为那五段有用语音信息。按照步骤(1)的思路,从上图3曲线起点开始,取1000个数据点放到一个数组里面,求出该数组里面的最大值以及其所对应的位置。若最大值满足阈值条件,则步进1000,从第1001个点再顺序取1000个点放到一个数组里面,重复上述操作。若最大值不满足所设阈值条件,则步进1,从第2个点顺序取1000个点放到一个数组里面,重复上述操作。这样即可求得到五段包含有用孤立字信息的语音信号。所得结果通过matlab 仿真作图如下所示:

4

x 104x 104

x 104x 104

x 104x 104

x 104x 104

x 104x 104

图4:仿真结果图

图中第一行第一列为原始包含五个孤立字的语音信号波形,第二行到第六行左侧依次为‘前’‘退’‘左’‘右’‘停’的原始波形,右侧为通过上述方法提取出的对应孤立字的语音信号波形,由图可以看出,提取效果很好。

●端点检测

●Mfcc系数提取

●HMM训练模块

●语音识别模块

车牌的定位与字符分割报告

车牌的定位与分割 实验报告 一实验目的 针对交通智能系统所拍摄的汽车图片,利用设定的算法流程,完成对汽车车牌部分的定位,分割车牌部分,并完成字符的分割,以便于系统的后续分析及处理。 二实验原理 详见《车牌的定位与字符分割》论文。 三概述 1一般流程 车牌自动识别技术大体可分为四个步骤:图像预处理、车牌定位与分割、车牌字符的分割和车牌字符识别。而这四个步骤又可归结为两大部分:车牌分割和车牌字符识别。 图1-1为车牌自动识别技术的一般流程图。 2本实验的流程 (1)图像预处理:图像去噪 (2)车牌的定位:垂直边缘检测(多次)形态学处理的粗定位

合并邻近区域结合车牌先验知识的精确定位 (3)车牌预处理:车牌直方图均衡化倾斜校正判定(蓝底白字或者黄底黑字)归一化、二值化 (4)字符的分割:垂直投影取分割阈值确定各个字符的左右界限(结合字符宽度、间隔等先验知识)分割字符 四实验过程 4.1图像预处理 4.1.1图像去噪 一般的去噪方法有:空间域上的均值滤波和中值滤波;频率域上的巴特沃斯滤波器。图4-1是各滤波器处理椒盐噪声的效果。 a.被椒盐噪声污染的图片 b.均值滤波的效果图 c.中值滤波的效果图 d.BLPF的效果图 图4-1 各滤波器处理椒盐噪声的仿真 可见,中值滤波对椒盐噪声的处理效果极好,而一般所拍摄的图片上最多的便是孤立的污点,所以此处以中值滤波为主进行去噪。图4-2是采用中值滤波处理实际汽车图片的效果。

a.原始图像 b.灰度图像 c.中值滤波后的图像 图4-2 中值滤波处理实际汽车图片的效果 很显然,经过中值滤波后去除了原图上的部分污点。 4.1.2图像复原 由于通常情况下都不知道点扩展函数,所以我们采用基于盲解卷积的图像复原策略。 图4-3~4-7图是函数进行盲解卷积的实验结果,其中图4-3是图像cameraman 的模糊图像。 图4-3 模糊图像 在盲解卷积处理中,选择适当大小的矩阵对恢复图像的效果很重要。PSF的大小比PSF的值更重要,所以首先指定一个有代表性的全1矩阵作为初始PSF。恢复的图像如图4-4所示,初始PSF如图4-5所示。

(完整word版)字符分割

在车牌自动识别系统中最重要的指标是字符的识别率,对字符识别的准确率直接影响了系统的性能。字符识别部分由车牌图像的二值化、滤波、字符分割、字符大小规一化、汉字、字母和数字识别等模块组成。这一周我主要学习了字符分割模块的有关内容。 车牌字符分割的任务就是把多行或多字符图像中的每个字符从整个图像中分割出来,使其成为单个字符图像,为下一步将标准的单个字符输入到字符识别模块做准备。字符分割是字符识别的基础,字符分割的质量直接影响到字符识别的效果。字符分割之前,首先要进行图像的二值化,然后再进行字符分割,从而分割出一个个具体的二值图表示的字符图像点阵,作为单字识别的输入数据。由于文本图像不但包括了组成文本的一个个字符,而且包含了字符行间距与字符间的空白,甚至还会带有各种标点符号,这就需要采用一定的处理技术将文本中的一个个字符切分出来,形成单个字符的点阵,以便进行字符识别。车牌字符分割的原理主要是利用车牌字符自身的一些特点如规则整齐的排列、字符之间有一定的间隔、字符的宽高比例固定等等,对车牌区域进行垂直方向的投影,利用字与字之间的空白间隙在图像行垂直投影上形成的空白间隙将单个汉字的图像切割开来。 4.2投影分割 投影分割方法的原理是首先将车牌图像转换为二值图像(设白色为1,黑色为0),然后将车牌像素灰度值按垂直方向累加,即所谓的垂直投影。由于车牌中字符之间的灰度值通常为O,因此,投影图将会在字符之间形成谷底,或者说在字符处形成波峰(一种特殊的波峰)。通过寻找两个波峰之间的谷点,将其作为字符分割的位置,完成字符的分割。投影分割法的具体步骤如下: (1)先自下而上对图像进逐行扫描直至遇到第一个白色象素点。记录下来,然后再由上而下对图像进行逐行扫描直到找到第一个白色象素点,这样,就找到图像大致的高度范围。(2)在这个高度范围之内再自左向右逐行扫描,遇到第一个白色象素时认为是字符分割的起始位置,然后继续扫描,直至遇到没有白色象素的列,则认为是这个字符分割结束。然后继续按照上述的方法扫描,直至图像的最右端,就得到每个字符比较精确的宽度范围。(3)在已知的每个字符比较精确的宽度范围内,按照(1)的方法,分别进行自上而下和自下而上的逐行扫描来获得每个字符精确的高度范围。投影分割的方法比较常用,主要是针对在车牌定位、图像预处理后比较规则的车牌图像。它的优点是程序逻辑设计简单,循环执行功能单一,便于设计和操作,程序执行时间短。缺点是由于车牌图像通常会有噪声,产生字符的断裂和交叠等情况,在投影时字符之间的谷底会受到很大影响,造成谷底不明显,严重时谷底会消失,造成字符分割误差甚至错误,最终影响字符的识别。因此该方法对车牌字符的断裂和交叠问题,解决得不很理想。 4.3基于聚类分析的字符分割 基于聚类分析的字符分割原理是按照属于同一个字符的像素构成一个连通域的原则,再结合牌照字符的高度、间距的固定比例关系等先验知识,来分割车牌图像中的字符。其具体算法步骤为: (1) 以等于车牌图像宽度七分之一的阈值‘对车牌图像按行进行逐行扫描,如果有线段的长度大于‘就可以认为是牌照的上下边框,再以等于车牌图像高度五分之三的阈值Z:对车牌图像按列进行逐列扫描,如果有线段的长度大于厶,则认为是车牌的左右边框。因此可除去车牌边框部分。 (2)根据车牌字符的先验知识,在预处理好的车牌图像上预设7个类中心。设置类中心可以采用程序提示给定坐标值的方法,也可以采用给予固定坐标值的方法。 (3)自下向上对图像进行逐行扫描,每扫描到一个白色象素时,都要与上述每个类已获得的每个(白色)象素比较距离d,找到与该象素距离最近的已获得象素点,并认为这两个象素属于同一类,即属于同一字符。距离d取两个象素点:彳(x,Y)扫描得到的当前象素,曰O,),)

基于垂直投影法的车牌字符分割算法设计

毕业论文(设计) 学院: 计算机科学学院 专业: 软件工程年级: 题目:基于垂直投影法的车牌字符分割算法设计学生姓名: 学号: 指导教师姓名: 职称: 年月

XXXX大学本科毕业论文(设计)原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 作者签名:年月日 目录 摘要 (1)

Abstract (1) 第一章绪论 (1) 1.1车牌识别技术的背景 (1) 1.2 车牌识别系统的工作原理 (2) 1.3 国内外研究 (3) 1.4 本文主要内容 (3) 第二章基本理论介绍 (3) 2.1 数字图像处理技术 (3) 2.1.1 bmp位图 (4) 2.1.2 RGB编码方式 (4) 2.1.3二值图像 (4) 2.1.4 Otsu算法 (4) 2.1.5灰度图像 (5) 2.1.6 中值滤波 (5) 第三章车牌图像的预处理 (5) 3.1车牌图像的灰度化 (5) 3.2车牌图像的二值化 (5) 3.3 去噪处理 (6) 3.3.1去除车牌边框 (7) 3.3.2去除车牌图像中的圆点 (8) 第四章车牌字符分割算法 (8) 4.1传统垂直投影的车牌字符分割算法 (8) 4.2 改进的垂直投影的车牌字符分割算法 (9) 第五章系统实现 (10) 第六章总结与展望 (13) 6.1 总结 (13) 6.2 展望 (13) 致谢 (14) 参考文献 (15)

基于垂直投影法的车牌字符分割算法设计 摘要:车牌识别系统在现代社会有着广泛应用,而车牌字符分割是其中的一项关键技术。本文针对车牌字符分割算法做了较为深入的研究。首先,要想正确的分割车牌图像,必须得到质量较好的车牌二值化图像。所以,本文对车牌字符分割的预处理部分进行较为深入的研究,尤其是车牌图像二值化后的去噪处理。传统投影法对车牌图像要求比较高,容易受到噪声的影响,从而造成分割字符的粘连与断裂。针对传统投影法的不足,文章提出一种基于垂直投影法的改进的字符分割算法,该算法可以有效地识别车牌字符。该方法抗干扰能力较强,能有效的减少字符粘连与断裂,分割准确度较高。 关键词:车牌识别;二值化;字符分割;垂直投影法 Vertical projection-based license plate character segmentation algorithm design Abstract:License plate recognition system has a wide range of applications in modern society, the license plate character segmentation is a key technology. In this paper, the license plate character segmentation algorithm to do a more in-depth study. First of all, in order to correct segmentation of license plate image must be of good quality license plate binary image. So more in-depth study of the pre-processing part of the license plate character segmentation, especially after the license plate image binarization denoising. Traditional projection on the license plate image requires relatively high, easily affected by noise, resulting in a split character adhesion and fracture. For the lack of traditional projection method, the paper presents a segmentation algorithm based on the improvement of the vertical projection of the characters, the algorithm can effectively identify the license plate character. Strong anti-interference ability of the method, which can effectively reduce the character adhesion and fracture, split high degree of accuracy. Keywords License Plate Recognition; binarization ;Character segmentation; Vertical projection 第一章绪论 随着世界经济的快速发展,以及汽车制造技术的提高,使得汽车迅速成为人们日常生活中的一个必需品。这造成全球的汽车数量猛增,而随之也导致城市的交通压力越来越大,城市的交通状况也因此得到了更多的关注。如何有效地对交通进行管理,也成为各国政府和相关部门所关注的焦点和热点。针对这些问题,人们开始将计算机技术、通信技术、计算机网络技术和自动化信息处理等很多新的科学技术用于交通道路的监视和管理系统,以此提高车辆管理和运输的效率。它主要是通过对过往车辆实施检测,提取有关的交通数据来达到对交通的监控、管理和指挥。车牌自动识别技术[1]是指能够检测到受监控路面的车辆并自动提取车辆车牌信息(含汉字字符、英文字母、阿拉伯数字及号牌颜色)进行处理与识别的技术。它以计算机技术、图像处理技术、模糊识别技术为基础,建立运动车辆的特征模型,识别车辆特征,如号牌、车型、颜色等,并着重解决高速车辆图像的获取及清晰度问题。本文是在以往的车牌分割算法[2]的基础上介绍了车牌识别技术中的一种字符分割算法,该算法是针对一种已有的字符分割算法(投影法)的改进性研究。 1.1车牌识别技术的背景 随着21 世纪经济全球化和信息时代的到来,迅猛发展的计算机技术、通信技术和计算机网络技术,水平不断提高的自动化信息处理技术在人们社会活动和生活的各个领域得到广泛应用。同时,高速度、高效率的生活节奏,使汽车普及成为必然趋势。伴随着世界各国汽车数量的增加,城市的交通状况越来越受到人们的重视。如何有效地进行交通管理日益成为各国政府相关部门所关注的焦点。针对这一问题,

语音识别方法及发展趋势分析

语音识别改进方法及难点分析 ——《模式识别》结课小论文 学院:化工与环境学院 学号:2120151177 姓名:杜妮

摘要:随着计算机技术的不断发展,人工智能程度也越来越高,作为人工智能的一部分——模式识别也在模型和算法上愈发成熟。本文根据近105年文献,分析最新声音识别的方法和应用。 关键字:模式识别声音识别方法应用 随着人工智能的迅速发展,语音识别的技术越来越成为国内外研究机构的焦点。人们致力于能使机器能够听懂人类的话语指令,并希望通过语音实现对机器的控制。语音识别的研究发展将在不远的将来极大地方便人们的生活。 语音识别大致的流程包括:特征提取、声学模型训练、语音模型训练以及识别搜索算法。作为一项人机交互的关键技术,语音识别在过去的几十年里取得了飞速的发展,人们在研究和探索过程中针对语音识别的各部流程进行了各种各样的尝试和改造,以期发现更好的方法来完成语音识别流程中的各步骤,以此来促进在不同环境下语音识别的效率和准确率。本文通过查阅近10年国内外文献,分析目前语音识别流程中的技术进展和趋势,并在文章最后给出几项语音识别在日常生活中的应用案例,从而分析语音识别之后的市场走势和实际利用价值。 一、语音识别的改进方法 (一)特征提取模块改进 特征提取就是从语音信号中提取出语音的特征序列。提取的语音特征应该能完全、准确地表达语音信号,特征提取的目的是提取语音信号中能代表语音特征的信息,减少语音识别时所要处理的数据量。语音信号的特征分析是语音信号处理的前提和基础,只有分析出可以代表语音信号本质特征的参数,才能对这些参数进行高效的语音通信,语音合成,和语音识别等处理,并且语音合成的好坏,语音识别率的高低,也都取决于语音特征提取的准确性和鲁棒性。目前,针对特定应用的中小词汇量、特定人的语音识别技术发展已较为成熟,已经能够满足通常应用的要求,并逐步投入了实用。而非特定人、大词汇量、连续语音识别仍是

Java分割字符串

https://www.sodocs.net/doc/565138193.html,ng.String 的 split() 方法, JDK 1.4 or later public String[] split(String regex,int limit) 示例代码 public class StringSplit { public static void main(String[] args) { String sourceStr = "1,2,3,4,5"; String[] sourceStrArray = sourceStr.split(","); for (int i = 0; i < sourceStrArray.length; i++) { System.out.println(sourceStrArray[i]); } // 最多分割出3个字符串 int maxSplit = 3; sourceStrArray = sourceStr.split(",", maxSplit); for (int i = 0; i < sourceStrArray.length; i++) { System.out.println(sourceStrArray[i]); } } } 输出结果: 1 2 3 4 5 1 2 3,4,5

split 的实现直接调用的 matcher 类的 split 的方法。在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。在正则表达式中有特殊的含义的字符,我们使用的时候必须进行转义,示例: public class StringSplit { public static void main(String[] args) { String value = "192.168.128.33"; // 注意要加\\,要不出不来,yeah String[] names = value.split("\\."); for (int i = 0; i < names.length; i++) { System.out.println(names[i]); } } } split分隔符总结 1.字符"|","*","+"都得加上转义字符,前面加上"\\"。 2.而如果是"\",那么就得写成"\\\\"。 3.如果一个字符串中有多个分隔符,可以用"|"作为连字符。 比如:String str = "Java string-split#test",可以用Str.split(" |-|#")把每个字符串分开。这样就把字符串分成了3个子字符串。 java.util.Tokenizer JDK 1.0 or later StringTokenizer StringTokenizer 类允许应用程序将字符串分解为标记。StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用String 的 split 方法或 java.util.regex 包。 代码示例 public class StringSplit { public static void main(String[] args) { String ip = "192.168.128.33"; StringTokenizer token=new StringTokenizer(ip,"."); while(token.hasMoreElements()){

车牌识别(字符切割)大作业

图像处理技术

目录一.引言 (1) 二.目的和意义 (1) 三.设计原理 (1) 四.字符分割程序 (2) 五.结果 (4) 六.测试代码 (5) 七.系统的不足 (5) 八.总结 (5) 九.心得体会 (5) 十.致谢 (6) 十一.参考文献 (6)

一.引言 随着人们生活水平的不断提高,机动车辆数量大幅度增加,与之相配套的高速公路,城市路网及停车场越来越多,显著提高了人们对交通控制方面的要求。由于计算机技术的发展,信息处理水平的提高使智能交通系统成为世界交通领域研究的重要课题。其中车牌识别是智能交通系统的重要组成部分。车牌识别系统能够自动、实时地检测车辆、识别汽车车牌,从而监控车辆的收费、闯关、欠费以及各种舞弊现象。本系统为基于蓝色车牌的车牌识别系统,它能够识别非蓝色车辆的蓝底白字车牌。该系统通过车牌提取、车牌定位、预处理、字符分割、字符识别五个模块组成车牌识别系统。 二.目的和意义 通过对车牌识别系统的研究,自己开发小型车牌识别系统,虽有一定的局限性与不完整性,但可以使自己更加的熟悉MATLAB语言,激发对研究的兴趣,拓宽知识面,为自己以后的研究打下基础。在提升自身科研能力的同时,还能提高团队合作精神,清楚团队成员的分工,协调成员间的工作,为今后的团队合作研究积累经验。 三.设计原理 字符分割在此系统中有着承前启后的作用。它在前期车牌定位的基础上进行字符的分割,然后利用分割的结果进行字符的识别。字符识别的算法很多,应为车牌字符间间隔较大,不会出现字符粘连的情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为组成该块有两个字符,需要分割。一般分割出来的字符要进行进

语音识别字符分割算法_原创.

5.设计方法 5.1概述 5.2硬件系统的设计 语音信号预处理 (1)预加重 预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于频谱分析或声道参数分析。在计算机里用具有6dB/频程升高频特性的预加重数字滤波器来实现,一般是一阶的FIR数字滤波器: 为预加重系数,值接近于l,在0.9和1之间,典型值为0.94。 预加重的DSPBuilder实现: 为了便于实现,将上式中的一阶FIR预加重滤波器用差分方程表示为: 其中,为原始语音信号序列,N为语音长度,上面的公式显示其在时域 上的特性。又因为0.94接近于15/16,所以将上面的式子变为 除以16可以用右移4位来实现,这样就将除法运算化简为移位运算,降低了计算复杂度。在后面的模块设计中,也乘以或者除以一些这样的数,这些数为2的幂次,都可以用移位来实现。 预加重的硬件实现框图如下: 预加重实现框图 DSP Builder中的图形建模为:

预加重滤波器的DSPBuilder结构图 (2)分帧 语音信号是一种典型的非平稳信号,其特性随时间变化,其在很短的时间内是平稳的,大概为1小20ms,其频谱特性和物理特征可近似的看做不变,这样就可以采用平稳过程的分析处理方法来处理。 分帧的DSP Builder实现: 语音信号在10到20ms之间短时平稳(这样可以保证每帧内包含1一7个基音周期),也就是说选取的帧长必须介于10到20ms之间,此外,在MFCC特征提取时要进行FFT变换,FFT点数一般为2的幂次,所以本文中选择一帧长度为16ms,帧移为1/2帧长,这样一帧就包含了16KHz*16ms=256个点,既满足短时平稳,又满足FFT变换的要求。 由于采集的语音是静态的,语音长度已知,很容易计算出语音的帧数,但是在硬件上或实时系统中,语音长度是无法估计的,而且还要考虑存储空间的大小和处理速度,采用软件实现时的静态分帧方法是行不通的,可以利用硬件本身的特点进行实时的动态分帧。 为了使帧与帧之间平滑过渡,保持连续语音流的自相关性和过渡性,采用交叠分帧的算法。帧移取1/2帧长,即128个数据点当作一个数据块。FIFO1大小为一帧语音长度,分成两个数据块,预加重后的数据写入这个FIFO。为了实现帧移交叠,在FIFO1读数据时,同时再用FIFO2保存起来,当FIFO的一块数据读完以后,紧接着从FIF22读出这一块的副本。写入的一块数据,相当于被重复读出2次,所以FIFO1的读时钟频率设计为写时钟频率的2倍,而FIFOZ的读写时钟频率和FIFO1的读时钟频率相同。分帧以后的数据在图中按时间标号为1、2、2、3.··…,1、2为第一帧,2、3为第二帧,以此类推。

SQL 分割字符串函数 SQL SPLIT

SQL 分割字符串函数 SQL SPLIT 2009-06-10 00:15 我们在操作数据库时,经常要用到分割字符串以达到某种目的,下面是一个SQL分割字符串的函数: --CODE: -- ============================================= -- Author: -- Create date: <2009-06-09> -- Description: -- ============================================= CREATE FUNCTION [dbo].[fn_split]

( --输入字符串 @InputString NVARCHAR(MAX), --分隔符号 @Seprator NVARCHAR(10) ) RETURNS @tempTable TABLE ([value] NVARCHAR(200)) AS BEGIN DECLARE @index int DECLARE @value NVARCHAR(200) --去除输入字符串前后的空格 SET @InputString = RTRIM(LTRIM(@InputString)) --分隔符号@Seprator在输入字符串@InputString中的开始位置 SET @index=CHARINDEX(@Seprator, @InputString) WHILE @index>0 BEGIN --返回输入字符串(@InputString)左边开始指定个数(@index-1)的字符 SET @value=LEFT(@InputString,@index-1) --插入数据 INSERT @tempTable VALUES(@value) --重新设置输入字符串截取输入字符串从输入字符串@index+1处开始且长度为LEN(@InputString)-@index SET @InputString = SUBSTRING(@InputString, @index+1, LEN(@InputString)-@index) --分隔符号@Seprator在输入字符串@InputString中的开始位置 SET @index=CHARINDEX(@Seprator, @InputString) END --如果输入字符串不为空 IF(@InputString<>'\') BEGIN INSERT @tempTable VALUES(@InputString) END RETURN END --使用 SELECT * FROM dbo.fn_split('A,B,CD,EFG,H',',') --结果

字符串分割函数

[C语言]字符串处理 - 以指定的字符串分割字符串(支持中文字符) 2008-11-8: 函数StringSplit(分割字符串到一个字符串数组中,其中该数组第0位为分割后字符串的个数) 2008-11-10: 函数StringSplit_Struct(以定义一个新结构的方式来实现该函数) /*C代码如下*/ #include /*实现方案1*/ /*分割字符串到一个字符串数组中,其中该数组第一位为分割后的个数*/ char** StringSplit(const char* string,const char* split) { char** result; /*首先分配一个char*的内存,然后再动态分配剩下的内存*/ result = (char * * )malloc(sizeof(char *)*1); memset(result,0,sizeof(char *)*1); /*定义一个遍历用的指针和一个寻找位置用的指针*/ char* p = string; char* pos = string; /*无论是否存在该分割串,绝对都会分割到一个字符串*/ int count = 1; while(*p != '\0') { char* temp; char* tt; /*查找该字符串*/ pos = strstr(p,split); /*结果为0说明剩下的字符串中没有该字符了*/ if(pos == 0) { result = (char * * )realloc(result,sizeof(char *)*(count+2)); result[0] = count; result[count] = p; result[count+1] = NULL; return result; } /*分配临时字符串空间*/ temp = (char * )malloc(sizeof(char)*(pos - p+1)); memset(temp,0,sizeof(char)*(pos - p+1)); /*设置头指针,以便赋值时使用*/ tt = temp; while(p<=pos) {

基于matlab的车牌字符分割

《多媒体通信技术》课程报告 专业通信与信息系统 学号 姓名 任课教师

基于matlab的车牌字符分割 摘要:本文利用投影分割的方法对车牌字符进行分割,并利用模板匹配的方法进行字符识别,在图像进行预处理后的基础上,利用对车牌图像分块扫描的方法对车牌图像去边框处理,在去边框的基础上对每个字符进行分割,得到单个字符。关键字:字符;预处理;分割 1、引言 智能交通系统(intelligent transportation system,ITS)的发展现今对社会生活、国民经济和城市建设产生积极而深远的影响,我国已经将其列为优先发展的高技术产业化重点领域[1]。车牌识别系统(1icense plate recognition,IJR)是目前交通部门十分重要的科研课题之一,它主要包括车牌定位、字符分割和字符识别三部分,字符分割和字符识别是最后的关键环节。本文主要通过运用投影分割的方法对车牌进行字符分割并利用模板匹配的方法对车牌字符进行识别。2、图像预处理 图像预处理是对输入的图像进行一系列变换处理,使之成为符合字符识别模块要求的图像。图像预处理环节对于最终识别的正确率有很大影响,由于图像本身受到各种自然因素或设备因素的影响,图像的清晰度往往不是很理想,有时还会带有较明显的图像噪声。若不对图像进行预处理,这些噪声将给后续的识别模块带来严重影响,最终可能造成识别错误。因此,预处理的好坏一定程度上影响到字符识别的正确率。图像预处理首先需要将待识别的字符从输入的灰度图中分离出来。最常用的方法就是图像二值化。 2.1图像的灰度化

就是将彩色图像转化为具有256个灰度级的黑白图像,灰度图像只保留图像的亮度信息,去除了色彩信息,就像我们平时看到的黑白照片,它的亮度由暗到明,而且亮度变化是连续的。图像灰度化后可以使处理运算量大大减少,这样处理过程就变得更加简单和省时。在灰度图像中,通常将亮度划分成0到255共256个级别,0最暗,255最亮。 图2-1 灰度化的图像 2.2 图像的阈值化处理 所谓图像二值化就是指将灰度图转化为只含有两种灰度值的图像,一种为背景,另一种为待识别的字符,本文采用动态阈值法将图像二值化:如果输入图像较暗或者车牌较脏,如果采用固定的阈值将图像进行二值化,生成的二值图会非常黑或者有很多噪声。二值化有很多方法,主要为P片法或者峰谷法。本文采用的是P片法,阈值的大小的设定基于以下假设:由于现有车牌绝大部分为蓝底白字或者黄底黑字车牌,设理想的车牌平均包含大约60%的蓝/黄色像素和40%的白/黑色像素。首先,将图像二值化,计算出黑色和白色像素的比例,将它和期望值进行比较。从而算出新的阈值,直到近似等于期望值为止[2]。图1为理想状态下车牌原图片和的阈值化图片。 图2-2-1 阈值化的图像 图像经过上述步骤处理后,已经从带有噪声的灰度图像转变为符合识别要求的图像。该图像为只包含两种灰度值的二值图像,并且具有统一尺寸。而且在预处理环节中,已最大限度地去除了输入图像中的噪声,在保持字符原本信息不丢失的前提下,把待识别的字符从背景中成功地分离出来。 3 车牌的去边框处理

语音识别综述

山西大学研究生学位课程论文(2014 ---- 2015 学年第 2 学期) 学院(中心、所):计算机与信息技术学院 专业名称:计算机应用技术 课程名称:自然语言处理技术 论文题目:语音识别综述 授课教师(职称): 研究生姓名: 年级: 学号: 成绩: 评阅日期: 山西大学研究生学院 2015年 6 月2日

语音识别综述 摘要随着大数据、云时代的到来,我们正朝着智能化和自动化的信息社会迈进,作为人机交互的关键技术,语音识别在五十多年来不仅在学术领域有了很大的发展,在实际生活中也得到了越来越多的应用。本文主要介绍了语音识别技术的发展历程,国内外研究现状,具体阐述语音识别的概念,基本原理、方法,以及目前使用的关键技术HMM、神经网络等,具体实际应用,以及当前面临的困境与未来的研究趋势。 关键词语音识别;隐马尔科夫模型;神经网络;中文信息处理 1.引言 语言是人类相互交流最常用、有效的和方便的通信方式,自从计算机诞生以来,让计算机能听懂人类的语言一直是我们的梦想,随着大数据、云时代的到来,信息社会正朝着智能化和自动化推进,我们越来越迫切希望能够摆脱键盘等硬件的束缚,取而代之的是更加易用的、自然的、人性化的语音输入。语音识别是以语音为研究对象,通过对语音信号处理和模式识别让机器自动识别和理解人类口述的语言。 2.语音识别技术的发展历史及现状 2.1语音识别发展历史 语音识别的研究工作起源与上世纪50年代,当时AT&T Bell实验室实现了第一个可识别十个英文数字的语音识别系统——Audry系统。1959年,J.W.Rorgie和C.D.Forgie采用数字计算机识别英文元音及孤立字,开始了计算机语音识别的研究工作。 60年代,计算机应用推动了语音识别的发展。这时期的重要成果是提出了动态规划(DP)和线性预测分析技术(LP),其中后者较好的解决了语音信号产生模型的问题,对后来语音识别的发展产生了深远的影响。 70年代,LP技术得到了进一步的发展,动态时间归正技术(DTW)基本成熟,特别是矢量量化(VQ)和隐马尔科夫(HMM)理论的提出,并且实现了基于线性预测倒谱和DTW技术的特定人孤立语音识别系统。 80年代,实验室语音识别研究产生了巨大的突破,一方面各种连接词语音识别算法被开发,比如多级动态规划语音识别算法;另一方面语音识别算法从模板匹配技术转向基于统计模型技术,研究从微观转向宏观,从统计的角度来建立最佳的语音识别系统。隐马尔科夫模型(HMM)就是其典型代表,能够很好的描述语音信号的时变性和平稳性,使大词汇量连

基于DTW算法的语音识别原理与实现

广州大学机械与电气工程学院 数字语音信号处理 基于DTW算法的语音识别原理与实现 院系: 机电学院电子与通信工程 姓名: 张翔 学号: 2111307030 指导老师: 王杰 完成日期: 2014-06-11

基于DTW算法的语音识别原理与实现 [摘要]以一个能识别数字0~9的语音识别系统的实现过程为例,阐述了基于DTW算法的特定人孤立词语音识别的基本原理和关键技术。其中包括对语音端点检测方法、特征参数计算方法和DTW算法实现的详细讨论,最后给出了在Matlab下的编程方法和实验结果,结果显示该算法可以很好的显示特定人所报出的电话号码。 [关键字]语音识别;端点检测;MFCC系数;DTW算法 Principle and Realization of Speech Recognition Based on DTW Algorithm Abstract With an example of the realization of a 0~9 identifiable speech recognition system, the paper described the basic principles and key technologies of isolated word speech recognition based on DTW algorithm, including method of endpoint detection, calculation of characteristic parameters, and implementation of DTW algorithm. Programming method under Matlab and experimental results are given at the end of the paper.,and the results show that the algorithm can well display the phone number of the person reported. Keyword speech recognition; endpoint detection; MFCC parameter; DTW algorithm 一、引言 自计算机诞生以来,通过语音与计算机交互一直是人类的梦想,随着计算机软硬件和信息技术的飞速发展,人们对语音识别功能的需求也更加明显和迫切。语音识别技术就是让机器通过识别和理解过程把人类的语音信号转变为相应的文本或命令的技术,属于多维模式识别和智能计算机接口的范畴。传统的键盘、鼠标等输入设备的存在大大妨碍了系统的小型化,而成熟的语音识别技术可以辅助甚至取代这些设备。在PDA、智能手机、智能家电、工业现场、智能机器人等方面语音识别技术都有着广阔的前景。 语音识别技术起源于20世纪50年代,以贝尔实验室的Audry系统为标志。先后取得了线性预测分析(LP)、动态时间归整(DTW)、矢量量化(VQ)、隐马尔可夫模型(HMM)等一系列关键技术的突破和以IBM的ViaVoice、Microsoft的V oiceExpress为代表的一批显著成果。国内的语音识别起步较晚,1987年开始执行国家863计划后语音识别技术才得到广泛关注。具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室,中科院声学所等。其中中科院自动化所研制的非特定人连续语音听写系统和汉语语音人机对话系统,其准确率和系统响应率均可达90%以上。 常见的语音识别方法有动态时间归整技术(DTW)、矢量量化技术(VQ)、隐马尔可夫模型(HMM)、基于段长分布的非齐次隐马尔可夫模型(DDBHMM)和人工神经元网络(ANN)。

《语音识别入门教程》

语音识别入门(V1.0) 丁鹏、梁家恩、苏牧、孟猛、李鹏、王士进、王晓瑞、张世磊 中科院自动化所高创中心,北京,100080 【摘要】本文主要以剑桥工程学院(CUED)的语音识别系统为例,并结合我们实验室自身的研究与开发经验,讲述当前主流的大词汇量连续语音识别系统(LVCSR)的框架和相关技术,对实验室的同学进行一个普及和入门引导。 【关键词】语音识别,HTK,LVCSR,SRI 1. 引言 语音识别技术发展到今天,取得了巨大的进步,但也存在很多的问题。本文主要以CUED 的语言识别系统为例,说明LVCSR系统技术的最新进展和研究方向,对实验室的同学进行一个普及和入门引导。 1.1 国际语音识别技术研究机构 (1)Cambridge University Engineering Department (CUED) (2)IBM (3)BBN (4)LIMSI (5)SRI (6)RWTH Aachen (7)AT&T (8)ATR (9)Carnegie Mellon University (CMU) (10)Johns Hopkins University (CLSP) 1.2 国际语音识别技术期刊 (1)Speech Communication (2)Computer Speech and Language (CSL) (3)IEEE Transactions on Speech and Audio Processing 1.3 国际语音识别技术会议 (1)ICASSP(International Conference on Acoustic, Speech and Signal Processing)每年一届,10月截稿,次年5月开会。 (2)ICSLP(International Conference on Spoken Language Processing) 偶数年举办,4月截稿,9月开会。

一种新的车牌图像字符分割与识别算法

微电子学与计算机2007年第24卷第2期 1 引言 智能交通系统(ITS)是一个热点研究领域,受到日益广泛的关注,车牌识别是其重要组成部分。对行驶车辆的牌照进行自动识别,从而完成自动收费、无人停车管理等,这无疑节省了人力、物力,同时提高了交通管理的效率。车牌识别系统主要包括四大部分,如图1所示。在准确定位车牌后,字符分割的好坏对字符识 别率起着至关重要的作用。由于处于实际环境中,受天气、光照、观察点的影响,经定位后的车牌还是存在各种各样的噪声。因此,必须对图像进行预处 理,以改善图像质量,提高字符识别率[1 ̄3]。 2面向字符分割的图像预处理 2.1光照不均校正与对比度增强 车牌不可避免的存在噪声,而且由于车牌识别系统在室外24小时工作,光照度大范围变化,也存在光照不均,亮度太低、对比度太小等情况,这些都会降低系统的字符识别率,因此需要采取去噪,光照不均校正和对比度增强等措施。本文应用中值滤波滤除噪声,通过低通滤波获得图像背景的照度估计,再从原始图像中减去此照度来校正光照不均[4],然后通过对比拉伸变换增强对比度[5]。2.2二值化分割 由车牌定位得到的车牌字符图像一般为彩色图或灰度图,为方便后面的字符分割和识别要先对图像进行二值化处理, 二值化的好坏直接影响到后 一种新的车牌图像字符分割与识别算法 陈振学1,汪国有1,刘成云2 (1华中科技大学图像识别与人工智能研究所图像信息处理与智能控制教育部重点实验室,湖北武汉430074) (2武汉科技大学信息科学与工程学院,湖北武汉430081) 摘要:提出了一种新的字符分割算法,该算法利用由中间向两端搜索的方法确定字符的上下边界,且利用一维 循环清零法及先验知识垂直分割得到单个的字符。实验结果表明,该算法较好的解决了以上问题,适用于各种质量的车牌图像,分割的正确率较高。 关键词:智能交通系统;字符分割;投影特征;先验知识中图分类号:TP391.41 文献标识码:A 文章编号:1000-7180(2007)02-0042-03 ANovelAlgorithmofCharacterSegmentationinLicensePlatesRecognition CHENZhen-xue1,WANGGuo-you1,LIUCheng-yun2 (1InstituteofPatternRecognition&ArtificialIntelligence,StateEducationCommissionLaboratoryforImageProcessing &IntelligenceControl,HuazhongUniversityofScienceandTechnology,Wuhan430074,China) (2CollegeofInformationScienceandEngineering,WuhanUniversityofScienceandTechnology,Wuhan430081,China)Abstract:TheLPR (LicensePlateRecognition)systemconsistsofthreesteps:licenseplatelocating,charactersegmen-tationandcharacterrecognition.CharactersegmentationisanimportantstepinaLPRsystem.Therearemanyfactorsthatcausethecharactersegmentationtaskdifficult,suchasimagenoise,plateframe,rivet,spacemark,platerotationandilluminationvariance.Thispaperpresentsanewalgorithmforcharactersegmentation.Firstly,characterstop-bottomedgescanbeobtainedbysearchingfrommiddletoend.Andthen,thesinglecharacterscanbesegmentedusingone-dimcycleclearingandpriorknowledge.Theexperimentresultsshowthegoodperformanceofthesegmentationalgo-rithm. Keywords:ITS;Charactersegmentation;Projectionfeature;Priorknowledge 收稿日期:2005-10-24 基金项目:总装备部基金项目(51401020201JW0521) 42

相关主题