2019-12-01 20:03:24 weixin_42697449 阅读数 144
  • 海思平台上USB WIFI的移植与局域网无线调试和视频流...

    本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。 随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。 视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。 本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。

    700 人正在学习 去看看 朱有鹏

                                                   软件测试之语音识别(ASR)测试

**写在前面:测试不是一种目的,而是一种保证软件质量的手段**

一、语音识别(ASR)评估指标

    在测试语音识别的过程中,衡量识别内容的准确性,一般通过如下指标进行评估

  •     WER(Word Error Rate,词错率)

    定义:为了使识别出来的词序列和标准的词序列之间保持一致,需要进行替换、删除或者插入某些词,这些插入、替换或删除的词的总个数,除以标准的词序列中词的总个数的百分比,即为WER

    WER=(S+D+I)/N

    S:substitution,替换

    D:Deletion,删除

    I:Insertion,插入

    N:标准词序列中词的总个数

   (S+D+I)=识别出来的词序列与标准的词序列之间的编辑距离

    注意:因为有插入词(Insertion),所以可能会出现WER>1的情况,不过,WER>1时,表明识别出来的词序列和标准的词序列相差很大,识别效果特别差

  •   SER(Sentence Error Rate,句错率)

    定义:句子中如果有一个词识别错误,那么这个句子被认为识别错误,句子识别错误的个数,除以总的句子个数即为SER

    SER=SE/N

    SE:识别出来的序列中,识别错误的句子个数(即WER!=0的句子个数)

    N:标准序列中总句子个数

 

二、语音识别(ASR)思路

    (1)、语音识别的测试点主要包括如下几点:

    i.输入测试语音

    (中间过程:语音识别模块接收到测试语音,执行语音转文字操作,并将识别文字输出)

   ii.验证识别文字内容的准确性

   iii.语音识别耗时

   (2)、 测试语音的输入,主要包括以下几个方面:

    ①语音输入离拾音设备的距离:近距离、远距离

    ②拾音设备:移动端(安卓、IOS)原生麦克风、PC端原生麦克风、日常用耳机麦克风、专业设备麦克风(罗技等)

    ③语音输入与拾音设备的相对位置:正对拾音口,背对拾音口

    ④语音输入的环境:办公环境、会议室环境

    ⑤语音输入时的语速:正常语速、语速较快、语速较慢、时快时慢、断断续续

    ⑥语音输入时的音量:正常音量、音量较大、音量较小,时大时小

    ⑦语音输入时的音色:男声、女声

    ⑧语音输入的音频类型:自然人声、录音、广播、变声等

    (3)、测试识别内容,主要包括以下几个方面:

    ①支持识别的语种:普通话、英文、方言等

    ②支持的应用场景:日常对话、尽职调查、娱乐访谈等

    ③支持的对话模式:单人对话,多人对话,同一时间只有一个人说话,同一时间多人一起说话

    ③覆盖的词库内容:根据应用场景,是否包含了应用场景(比如金融、娱乐领域)对应的词库训练

    (4)、验证识别内容的准确性

    统计识别文字的WER、SER指标

    (5)、关注语音识别耗时

    ①短语音的识别耗时

    ②长语音的识别耗时

    

三、WER、SER指标的计算

    ①计算识别的词序列与标准的词序列之间的编辑距离

    ②计算WER

    ③计算SER

    

  

2019-05-30 13:48:17 smiletomyself 阅读数 1207
  • 海思平台上USB WIFI的移植与局域网无线调试和视频流...

    本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。 随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。 视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。 本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。

    700 人正在学习 去看看 朱有鹏


原文链接:https://blog.csdn.net/smiletomyself/article/details/90695430

实现语音识别功能建议

建议使用讯飞语音
优点:

  • 目前需求对应的语音听写功能免费使用;
  • 讯飞语音国内的专业性,支持普通话,粤语,英语;
  • 已完成demo的集成和功能测试;

缺点:

  • 院内网络可能对移动端的在线识别有限制;

已有语音类项目经验

  • 据了解,目前三院语音是和云之声合作的,云之声在院内搭建了自己的服务器,保证内网的在线语音识别的可用性;
  • 目前已在移睿医生病历采集项目中使用;

主流语音识别平台

科大讯飞

讯飞语音

讯飞-语音转写功能价格表

阿里云

阿里云-智能语音交互

腾讯云

腾讯云-语音识别-定价

腾讯云语音识别目前处于公测阶段,仅录音文件识别支持按识别时长计费的后付费模式;一句话识别与实时语音识别的价格请咨询腾讯云销售人员(4009-100-100 转 1)。

百度-AI开放平台

极速版产品定价

2018-09-02 22:15:45 alice_tl 阅读数 17166
  • 海思平台上USB WIFI的移植与局域网无线调试和视频流...

    本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。 随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。 视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。 本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。

    700 人正在学习 去看看 朱有鹏

很多除接触AI的小伙伴, 不清楚语音识别和声纹识别的区别,经常混淆概念,以为语音识别、声纹识别、语义识别是同一回事,其实不然。这篇文章主要为小伙伴普及一下这三者的区别, 并且分别讲一讲如何测试。

 

语音识别、声纹识别、语义识别的区别

声纹识别和语音识别在原理上一样,都是通过对采集到的语音信号进行分析和处理,提取相应的特征或建立相应的模型,然后据此做出判断。但二者的根本目的,提取的特征、建立的模型是不一样的。

语音识别的目的:识别语音的内容。并以电脑自动将人类的语音内容转换为相应的文字。

声纹识别的目的:识别说话人的身份。又称说话人识别,是生物识别技术的一种。

语义识别的目的:对语音识别出来的内容进行语义理解和纠正。比如同声翻译机。

 

声纹识别,是通过语音波形中反映说话人生理和行为特征的语音参数,进而连接到声纹库,一般式公安部声纹数据库,鉴别人的身份。所承载的功能特点和人脸识别是一样的,都是为了证明,“你是张三,还是李四”。

因此,声纹识别不注重语音信号的语义,而是从语音信号中提取个人声纹特征,挖掘出包含在语音信号中的个性因素。

而语音识别是从不同人的词语信号中寻找共同因素。

 

关于语音识别和声纹识别的测试重点分析

语音识别已经是比较成熟,测试的重点是声音的录入、及内容的识别准确性。

对声音的录入,也叫拾音而言:

1、录入时的声源、环境影响、距离影响

2、讲话人的语速、音量、音色等(通过对几家语音识别的开放demo进行评测后,发现女声的语音识别准确度要高过于男声)

对于识别的内容准确性而言,要考虑:

1、语种的覆盖,中文普通话、方言等,英文以及其他的外语等

2、语音的内容覆盖日常对话、衣食住行、新闻资讯等等

3、词库的涵盖,比如出了通用词库,是否包含了应用场景比如金融、法律、医疗对应领域的词库训练

4、不标准的发音和吐词等

 

声纹识别的测试

常见的声纹识别有固定数字、随机数字、固定文本和随机文本,以及其他的衍生等等。

不同于人类的双耳,机器的识别都是在数以百万、千万计的数据训练中不断改善的,如果没有足够的数据支持, 不能全方位的对声纹识别算法进行训练。

理论上来讲,声纹就像指纹一样,很少会有两个人具有相同的声纹特征。但比如双胞胎、亲属等,均可能存在极其相似的声音特征。另外说话环境、说话人身体健康状况、情绪变化等都能对声纹识别的结果造成极大影响。

因此声纹识别的重点在于是否能够轻易的被相似特征的声音攻击。

2019-07-27 15:38:50 alice_tl 阅读数 1682
  • 海思平台上USB WIFI的移植与局域网无线调试和视频流...

    本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。 随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。 视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。 本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。

    700 人正在学习 去看看 朱有鹏

端点检测的概念

端点检测,也叫语音活动检测,Voice Activity Detection,VAD,它的目的是对语音和非语音的区域进行区分。通俗来理解,端点检测就是为了从带有噪声的语音中准确的定位出语音的开始点,和结束点,去掉静音的部分,去掉噪声的部分,找到一段语音真正有效的内容。

在噪声环境下使用语音识别系统,或者讲话人产生情绪或心里上的变化,导致发音失真、发音速度和音调改变,都会产生Lombard/Loud效应。研究表明,即使在安静的环境下,语音识别系统一半以上的识别错误来自端点检测器。

 

端点检测的分类

VAD 算法可以粗略的分为三类:基于阈值的 VAD、作为分类器的 VAD、模型 VAD。

基于阈值的 VAD:通过提取时域(短时能量、短期过零率等)或频域(MFCC、谱熵等)特征,通过合理的设置门限,达到区分语音和非语音的目的。这是传统的 VAD 方法。

作为分类器的 VAD:可以将语音检测视作语音/非语音的两分类问题,进而用机器学习的方法训练分类器,达到检测语音的目的。

模型 VAD:可以利用一个完整的声学模型(建模单元的粒度可以很粗),在解码的基础,通过全局信息,判别语音段和非语音段。

VAD 作为整个流程的最前端,需要在本地实时的完成。由于计算资源非常有限,因此,VAD 一般会采用阈值法中某种算法;经过工程优化的分类法也可能被利用;而模型 VAD 目前难以在本地部署应用。

 

端点检测处理的好,不仅将处理的时间序列变小,还能消除无声段道噪声。

 

端点检测的原理

为了能更清楚说明端点检测的原理,录制了一段音频,并且将语音信号截取了几部分。

开始,有片刻的准备工作,并未发出声音

 

第一次讲”你好”

 

第二次讲”你好”

 

第三次伪装了声音讲”你好”

 

可以看到如下特点:

  1. 首尾的静音部分声波的振幅很小,而有效语音”你好”部分的振幅比较大。
  2. 一个信号的振幅表示了信号能量的大小,从直观上明显看出静音的部分能量值较小,有效语音部分的能量值较大。
  3. 首尾没有讲话,缺依然有能量值,并且能量值有变化。
  4. 在没有特别的伪装和干扰的情况下,两次讲你好的振幅,即信号是一样的。
  5. 第三次由于伪装了声音,所以导致振幅同上面两次不一样,并且由于刻意的伪装,导致第三次的波长度和前两次明显不一样。

 

由此可以了解到端点检测中涉及到的一些概念:

噪声:背景音称之为噪声。有外界环境的噪声,也有设备本身的噪声。在实际使用中,如果出现长时间的静默,会使用户感到很不自然。因此接收端常常会在静音期间发送一些分组,从而生成使用户感觉舒服一些的背景噪声,即所谓的舒适噪声。

静音:连续若干帧能量值持续维持在低水平。理想情况下静音能量值为0,但实际无法做到,因为一般有背景音,而背景音有基础能量值。

端点:静音和有效语音信号变化临界点。

在实际应用中,比如说电话通话时,用户没有讲话时,就没有语音分组的发送,从而可以进一步降低语音比特率。当用户的语音信号能量低于一定门限值时就认为是静默状态,也不发送语音分组。当检测到突发的活动声音时才生成语音信号,并加以传输。运用这种技术能够获得大于50%的带宽。

同理,在实际测试过程中我们也需要考虑非连续性说话,比如口吃、犹豫、吞吞吐吐时,语言的识别准确性,避免断点检测环节处理出现异常或者不合理的情况。

2015-01-05 16:56:22 u012637501 阅读数 18306
  • 海思平台上USB WIFI的移植与局域网无线调试和视频流...

    本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。 随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。 视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。 本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。

    700 人正在学习 去看看 朱有鹏
一、语音识别技术
转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空)
    语音识别技术,广泛来说是指语意识别和声纹识别;从狭义上来说指语音语义的理解识别,也称为自动语音识别(ASR)。其关键技术包括选择识别单元、语音端点检测、特征参数提取、声学模型及语音模型的建立。语音识别技术目前在桌面系统、智能手机、导航设备等嵌入式领域均有一定程度的应用。其主要技术难题是识别系统的适应性较差、受背景噪声影响较大,未来的发展方向应是无限词汇量连续语音非特定人语音识别系统。
(1)信号处理及特征提取模块
    该模块的主要任务是从输入信号中提取特征,供声学模型处理。同时,它一般也包括了一些信号处理技术,以尽可能降低环境噪声、信道、说话人等因素对特征造成的影响。
(2)统计声学模型
    典型系统多采用基于一阶隐马尔科夫模型进行建模。
(3)发音词典
    发音词典包含系统所能处理的词汇集及其发音。发音词典实际提供了声学模型建模单元与语言模型建模单元间的映射。
(4)语言模型
    语言模型对系统所针对的语言进行建模。理论上,包括正则语言,上下文无关文法在内的各种语言模型都可以作为语言模型,但目前各种系统普遍采用的还是基于统计的N元文法及其变体。
(5)解码器
    解码器是语音识别系统的核心之一,其任务是对输入的信号,根据声学、语言模型及词典,寻找能够以最大概率输出该信号的词串,从数学角度可以更加清楚的了解上述模块之间的关系。
    当今语音识别技术的主流算法,主要有基于动态时间规整(DTW)算法、基于非参数模型的矢量量化(VQ)方法、基于参数模型的隐马尔可夫模型(HMM)的方法、基于人工神经网络(ANN)和支持向量机等语音识别方法.

二、非特定人、大词汇量、连续语音识别系统
       连续数字语音识别系统经过训练和识别两个部分。此训练可以看作是对 HMM 建立模型的过程。通过对参数重新评估,调整模型的各种参数,得到具有较好鲁棒性的模型。对基本模型进行改进和优化,可以有效提高精确度,获得更好的识别率。识别过程则可以认为是使用现有的 HMM 模型库、数据字典和语法控制组成识别网络,运用搜索算法寻找最佳匹配过程。 首先对等待识别的语音信号进行采样,然后通过转换变成电信号。预处理这 些电信号,也就是对信号进行增加预重、帧数分离、检测端点等操作。处理过后,对语音信号提炼生成特征的矢量数据。按识别模块中的 HMM 模型和词典要求组合,形成合词模型后完成识别,将结果和语言模型进行匹配,淘汰那些不符合语法限制的句子和词组,最后输出符合规范的识别的过程,就是语音识别的全过程。特征值、HMM 模 型、语法和数据字典都是影响识别率高低的重要因素。
    语音识别过程通常包括"前段"和"后端"两部分:“前端”模块 主要的作用是进行端点检测(去除多余的静音和非说话声)、降噪、 特征提取等;“后端”模块的作用是利用训练好的声学模型和语言模型对用户说话的特征向量进行统计模式识别(又称解码),得到其包含的文字信息,此外,后端模块还存在一个自适应的反馈模块,可以对用户的语音进行自学习,从而对声学模型和语音模型进行必要的校正,进一步提高识别的准确率。一个完整的非特定人大词汇量连续语音识别系统可大致分为三部分:语音信号预处理与特征提取、声学模型训练、语言模型训练、搜索算法与识别。
0.识别单元的选择

   选择识别单元是语音识别研究的第一步,分为单词、音节、音素。

(1)单词单元:广泛应用于中小词汇语音识别系统,但不适合大词汇系统,原因在于模型库太庞大,训练模型任务繁重、模型匹配算法复杂,难以满足实时性要求。

(2)音节单元:多见于汉语语音识别,主要因为汉语是单音节结构的语言,而英语是多音节。虽然汉语大约有1300个音节,但若不考了声调只有约408个无调音节。

(3)音素单元:目前广泛被应用到大词汇量语音识别系统中,原因是在于汉语音节仅有声明和韵母构成,并且声明和韵母的声学特性相差很大。

    总结,对大词汇量语音识别系统来说,通常识别单元越小,则计算量也越小,所需的模型存储量也小,要求的训练数量也少,但对应语音段的定位和分割较困难,因此识别模型规则也变得更复杂。

1、预处理模块

       对输入的原始语音信号进行处理(输入的语言信号首先要进行反混叠滤波 采样 A/D 转换 等过程进行数字化, 之后要进行预处理, 包括预加重 加窗和 分帧 端点检测等。),滤除掉其中的不重要的信息以及背景噪声,并进行语音信号的端点检测(找出语音信号的始末)、语音分帧(近似认为在10-30ms内是语音信号是短时平稳的,将语音信号分割为一段一段进行分析)以及预加重(提升高频部分)等处理。

目前主流的语音信号端点检测方法:

(1)短时能量En:反应语音振幅或能量随着事件缓慢变化的规律;

(2)短时平均过零率Zn:对于离散信号而言,是样本改变符号的次数,可以粗略分别清音和浊音;

(3)双门限端点检测:短时平均能量和过零率两者结合可以起到区分语音信号中的静音与语音信息的作 用,完成端点检测。一段完整的语音信号的可以分为三段:静音段、过渡段、语音段。 在静音段,过零率或能量越过了低门限,进入过渡段。在过渡段,过零率或能量都降低至低门限以下,则恢复到静音态;过零率或能量中的其中一个越过了高门限,则为进入了语音段。在低噪声情况下,双门限端点检测简单可靠。但在噪声较大的情况下,该方法失去判断能力,所以此方法的抗噪能力较差。 

2、声学特征提取

       语音信号是一种典型的时变信号,然而如果把音频的参考时间控制在几十毫 秒以内,则得到一段基本稳定的信号。去除语音信号中对于语音识别无用的冗余信息,保留能够反映语音本质特征的信息,并用一定的形式表示出来。也就是提取出反映语音信号特征的关键特征参数形成特征矢量序去掉那些相对无关的信息如背景噪声、信道失真等,以便用于后续处理目前的较常用的提取特征的方法还是比较多的,不过这些提取方法都是由频谱衍生出来的。

目前主流的语音信号特征提取方法:

(1)线性预测系数(LPCC):很好的模拟语音信号,语音信号是由声带振动发出的, 声带可以不振动也可以有周期的振动,分别对应清音(consonants)和浊音(vowels),每一段声管则对应一个 LPC 模型的极点。通常极点个数在 12-16 个左右,即可清晰地描述信号的特征了。

(2)Mel频率倒谱系数(MFCC)参数

   人的听觉系统却是一种特殊的非线性系 统,它对不同频率信号的响应灵敏度有较大区别。 MFCC参数比 LPC 参数更能够充分利用人耳的感知特性提高系统的识别性能因其良好的抗噪性和鲁棒性而应用广泛。MFCC的计算首先用FFT将时域信号转化成频域,之后对其对数能量谱用依照Mel刻度分布的三角滤波器组进行卷积,最后对各个滤波器的输出构成的向量进行离散余弦变换DCT,取前N个系数。在sphinx中也是用MFCC特征的,用帧frames去分割语音波形,每帧大概10ms,然后每帧提取可以代表该帧语音的39个数字,这39个数字也就是该帧语音的MFCC特征,用特征向量来表示

(3)小波分析

3、声学模型训练(模版匹配方法)

      声学模型的训练,即为建模过程。声学模型是识别系统的底层模型,是语音识别系统中最关键的部分。声学模型表示一种语言的发音声音,可以通过训练来识别某个特定用户的语音模式和发音环境的特征。根据训练语音库的特征参数训练出声学模型参数,在识别时可以将待识别的语音的特征参数同声学模型进行匹配与比较,得到最佳识别结果。

目前主流的声学模型训练方法

(1)动态时间规整(DTW):现实生活中语音信号的 随机性较强,就是同一人说的话,也不太可能说出一句一模一样的话来。就算字词都一样,发音的时间长短也可能不一样。因此,需要寻找一种变换关系来削除这种时间上的距离偏差,这种结合时间变换关系求特征序列之间距离的技术算法 称为动态时间规整算法(DTW:DynamicTimeWarping)。动态时间规整(DTW)算法 的算法的思想,就是将待识别的语音信号均匀的升长或缩短,使其与参考模板的长度一致。同时,使语音信号的时间轴进行不均匀的扭曲和弯折,最终达到与模板的特征对齐。DTW 是较早的一种模式匹配和模型训练技术, 它把整个单词作为识别单元,在训练阶段将词汇表中每个词的特征矢量序列作为模板存入模板库,在识别阶段将待识别语音的特征矢量序列依次与库中的每个模板进行相似度比较,将相似度最高者作为识别结果输出。DTW 应用动态规划方法成功解决了语音信号特征参数序列比较时时长不等的难题,在小词汇量、孤立词语音识别中获得了良好性能。但因其不适合连续语音大词汇量语音识别系统, 目前已逐渐被 HMM 和 ANN模型替代。
(2)矢量量化(VQ)技术
    矢量量化(VectorQuantization)是一种适用于小词汇量、孤立词的语音识别的 信号压缩方法 。矢量量化器的设计其核心思想是:为某一个特定的信源设计一 个优化的码书,那么来自同一个信息源所产生的信号与该码书的平均量化失真就应远远小于他与其他信息的信号与该码书的平均量化失真,也就是说编码器本身存在一定的区分能力。 
(3)隐马尔可夫模型HMM 

     HMM是对语音信号的时间序列结构建立统计模型,将其看作一个数学上的双重随机过程:一个是用具有有限状态数的Markov链来模拟语音信号统计特性变化的隐含(马尔可夫模型的内部状态外界不可见)的随机过程,另一个是与Markov链的每一个状态相关联的外界可见的观测序列(通常就是从各个帧计算而得的声学特征)的随机过程。

    HMM 模型是语音信号时变特征的有参表示法。它由相 互关联的两个随机过程共同描述信号的统计特性,其中一个 是隐蔽的 (不可观测的) 具有有限状态的 Markor 链, 另一个是 与 Markor 链的每一状态相关联的观察矢量的随机过程 (可观测的) 。HMM 很好的模拟了人得语言过程, 目前应用十分广泛。目前的主流语音识别系统多采用隐马尔可夫模型HMM进行声学模型建模。声学模型的建模单元,可以是音素,音节,词等各个层次。对于小词汇量的语音识别系统,可以直接采用音节进行建模。而对于词汇量偏大的识别系统,一般选取音素,即声母,韵母进行建模。识别规模越大,识别单元选取的越小。 

        人的言语过程实际上就是一个双重随机过程,语音信号本身是一个可观测的时变序列,是由大脑根据语法知识和言语需要(不可观测的状态)发出的音素的参数流(发出的声音)。HMM合理地模仿了这一过程,是较为理想的一种语音模型。用HMM刻画语音信号需作出两个假设,一是内部状态的转移只与上一状态有关,另一是输出值只与当前状态(或当前的状态转移)有关,这两个假设大大降低了模型的复杂度。所以 HMM 可以 非常精确地描述语音信号的产生过程。 

       语音识别中使用HMM通常是用从左向右单向、带自环、带跨越的拓扑结构来对识别基元建模,一个音素就是一个三至五状态的HMM,一个词就是构成词的多个音素的HMM串行起来构成的HMM,而连续语音识别的整个模型就是词和静音组合起来的HMM。总之 HMM 模型较为完整的表达了语音的声学模型,采用统计的训练方法将 上层的语言模型和底层的声学模型融入统一的语音识别搜索算法中,并获得更好 的效果。

(4)人工神经网络模型(ANN)

     神经网络是由许多被称为节点的简单非线性模拟处理要素密集互连配置而成的,是 一种模仿了生物神经元的系统模型。网络通过令每一个节点的输出与一些其他的节点输入连接形成,类似于真实神经元的突触连接。每个神经元表达了一种特定的输出函数,称为激励函数,每两个神经元之间的连接都包含一个连接强度,也就是作用于通过该连接的信号的加权值。经过训练之后的神经网络,具有信息特征抽取、知识概括和学习记忆的能力,而模型学习到的信息或知识则储存在每个单元节点之间的连接矩阵上。一个神经网络的表现是由节点定义,拓扑结构以及学习算法这三个特征组成的集体性质决定的。 

   ANN本质上是一个自适应非线性动力学系统,是由结点互连组成的计算网络, (优点)人工神经网络(ANN) 基本上能够模拟人类神经的活动原理,具有学习特性、容错性、并行性、自适应性和鲁棒性,是一个自适应非线性动力学系统,且具有较强的分类能力和输入输出映射能力。这些能力是 HMM 模型不具备的, 可用于处理一些环境信息十分复杂, 背景知识不清楚, 推理规则不明确的问题, 允许样品有较大的缺损、 畸变, 因此对于噪声环境下非特定人的语音识别问题来说是一种很好的解决方案。(缺点)由于语音训练和识别时间太长,实现和应用较难等不利因素,所以到目前为止该方法停留在实验阶段,目前大部分应用神经网络的语音识别系统都采用了 BP 网并取得了较好的识别效果.将 ANN 与 HMM 结合分别利用各自优点进行识别将是今后的一条研究途径。ANN 具有 较好的区分复杂分类边界的能力,显然它十分有助于模式识别。在这些研究中,大部分 

采用基于反向传播算法(BP 算法)的多层感知网络。 

a.BP神经网络:BP 神经网络在训练的时候,正向传播之后输出层没有得到期望输出,则采用反向传 播算法,提高网络系统对样本的似然度(Likelihood)。将样本的实际输出与期望输出之间的差值即误差信号,并在逐层反向传播的过程中由误差反馈不断调整网络的权值。网络学习效果的提升可以由增加隐藏层层数实现。 在诸多神经网络中,BP 是应用较多的一种,用于语音识别时也具有较好的效果,这 是由于 BP 神经网络具有许多独特的优点:(1)它可以联想模式对,将复杂的声学信号映射为不同级别的语音学和音韵学的表示;(2)可以通过插值进行归纳,因此相关特征 

可通过训练获取(3)对不同的类,他可以在超平面中形成不相交的区域,很适合捕捉细微的规律;(4)输入可以是二值或连续值,也可以是声学属性或语音特征的任意组合; (5)对数据的分布不做先验假设,对模型使用全局约束,因此能构造光滑的类边界, 识别精度好。虽然 BP 神经网络具有强大的计算能力,能够好的应用于语音识别,但随着对识别 性能要求的提高,网络本身仍有一些问题逐渐暴露出来,以下方面亟待改进: 

(1)局部极小值问题; 

(2)增加神经网络的可理解性。人们暂时仍然无法直接理解网络学习存储在连接矩阵上的知识; 

(3)加快神经网络学习速度。目前大部分神经网络算法都无法回避的一个部分就是迭代问题,为了获得好的学习效果,迭代需要大的计算开销。 

b.神经网络训练

    神经网络的学习也称为训练,是指通过神经网络所在环境的刺激作用,调整神经网 络的自由参数。能够从环境中学习和在学习中获得系统工作效果提升,是神经网络最有意义的性质。在神经网络中,一般有两类训练算法。 

(1)有监督学习算法。不但需要训练用的输入信号,同时需要与输入相对应的表示所需输出的目标信号。网络通过计算实际输出与每组输入对应的目标输出之间的差值来调整权值,做出正确反应。 

(2)无监督学习算法。不要求有目标输出,算法提供一个关于网络学习表示方法质量的测量尺度,根据尺度将自由参数最优化,当网络与输入数据统计规律性一致,就能形成内部表示方法记忆输入特征,由此进行类别识别。 

4、语言模型训练

       语音识别中的语言模型主要解决两个问题一是如何使用数学模型来描述语音中词的语音结构二是如何结合给定的语言结构和模式识别器形成识别算法。语言模型是用来计算一个句子出现概率的概率模型。它主要用于决定哪个词序列的可能性更大,或者在出现了几个词的情况下预测下一个即将出现的词语的内容。换一个说法说,语言模型是用来约束单词搜索的。它定义了哪些词能跟在上一个已经识别的词的后面(匹配是一个顺序的处理过程),这样就可以为匹配过程排除一些不可能的单词。语言模型一般指在匹配搜索时用于字词和路径约束的语言规 则,它包括由识别语音命令构成的语法网络或由统计方法构成的语言模型, 语言处理则可以进行语法、 语义分析.

       语言建模能够有效的结合汉语语法和语义的知识,描述词之间的内在关系,从而提高识别率,减少搜索范围。语言模型分为三个层次:字典知识,语法知识,句法知识。

         对训练文本数据库进行语法、语义分析,经过基于统计模型训练得到语言模型。

目前主流的语言建模方法

(1)基于规则模型
(2)基于统计模型

    统计语言模型是用概率统计的方法来揭示语言单位内在的统计规律,其中N-Gram模型简单有效,被广泛使用。它包含了单词序列的统计。N-Gram模型基于这样一种假设,第n个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积(即根据前面N-1个词汇的历史来决定下一个词可能出现的概率)。这些概率可以通过直接从语料中统计N个词同时出现的次数得到常用的是二元的Bi-Gram和三元的Tri-Gram。

         Sphinx中是采用二元语法和三元语法的统计语言概率模型,也就是通过前一个或两个单词来判定当前单词出现的概率P(w2| w1),P(w3| w2, w1)。

5、语音解码和搜索算法

       解码器:即指语音技术中的识别过程。针对输入的语音信号,根据己经训练好的HMM声学模型、语言模型及字典建立一个识别网络,根据搜索算法在该网络(识别网络)中寻找最佳的一条路径,这个路径就是能够以最大概率输出该语音信号的词串,这样就确定这个语音样本所包含的文字了。所以解码操作即指搜索算法是指在解码端通过搜索技术寻找最优词串的方法。连续语音识别中的搜索,就是寻找一个词模型序列以描述输入语音信号,从而得到词解码序列。搜索所依据的是对公式中的声学模型打分和语言模型打分。在实际使用中,往往要依据经验给语言模型加上一个高权重,并设置一个长词惩罚分数。当今的主流解码技术都是基于Viterbi搜索算法的,Sphinx也是。模型参数得到后可以用 Viterbi 算法来确定与观察序列对 应的最佳的状态序列。建好模型后,在识别阶段就是要计算每个模型产生观察符号序列的输出概率,输出概率最大的模型所表示的词就是我们的识别结果。

    基于动态规划的Viterbi算法在每个时间点上的各个状态,计算解码状态序列对观察序列的后验概率,保留概率最大的路径,并在每个节点记录下相应的状态信息以便最后反向获取词解码序列。Viterbi算法本质上是一种动态规划算法,该算法遍历HMM状态网络并保留每一帧语音在某个状态的最优路径得分。

    连续语音识别系统的识别结果是一个词序列。解码实际上是对词表的所有词反复搜索。词表中词的排列方式会影响搜索的速度,而词的排列方式就是字典的表示形式。Sphinx系统中采用音素作为声学训练单元,通常字典就用来记录每个单词由哪些个音素组成,也可以理解为对每个词的发音进行标注。

     N-best搜索和多遍搜索:为在搜索中利用各种知识源,通常要进行多遍搜索,第一遍使用代价低的知识源(如声学模型、语言模型和音标词典),产生一个候选列表或词候选网格,在此基础上进行使用代价高的知识源(如4阶或5阶的N-Gram、4阶或更高的上下文相关模型)的第二遍搜索得到最佳路径。



百度语音识别

阅读数 92

没有更多推荐了,返回首页