Viterbi和DTW算法的关系分析_在非特定人手语识别中的应用

合集下载

基于DTW算法的手势识别技术研究

基于DTW算法的手势识别技术研究

基于DTW算法的手势识别技术研究手势识别技术近年来得到了广泛的应用和迅猛的发展。

手势识别技术可以将人类的自然语言和手势转化成为计算机可以识别处理的数字信息,从而实现人机交互的自然化和智能化。

在生活中,我们可以利用手势识别技术控制手机或电脑的操作,进行语音输入、翻页、拍照等等,降低人与机器之间的交互门槛。

在手势识别技术中,基于动态时间规整(DTW)算法的手势识别技术具有广泛的应用前途和优势。

DTW算法是一种时间序列相似度度量方法,可以解决时间序列对齐、相似度比较、模式识别等多种实际问题。

在手势识别中,DTW算法可以将一些无序和连续的手势动作形成一个序列,然后通过DTW算法,将不同的手势序列进行时间对齐,并比较其相似度,从而实现手势识别的目的。

DTW算法的基本原理是:对于两条时间序列,设第一条时间序列为X=(x1,x2,......,xn),第二条时间序列为Y=(y1,y2,......,ym),其长度分别为n和m。

DTW算法的目标是将X序列对齐到Y序列中,在对齐时要求每个时间点上的距离之和最小。

具体实现中,DTW算法可以分为两个步骤:第一步是通过一个动态规划的过程,构建一个距离矩阵D(i,j),表示第一个序列中第i个元素和第二个序列中第j个元素之间的距离。

第二步是寻找一条从D(1,1)到D(n,m)的最小路径,使得路径上的点对应的距离之和最小。

通过这个路径,DTW算法可以得到X序列对齐到Y序列中时最小的时间差距,从而认为这两个序列是相似的。

基于DTW算法的手势识别技术的实现主要包括三个方面:手势数据采集、手势数据处理和手势识别分类。

在手势数据采集方面,我们需要用相机或者传感器等设备采集人类手势行为的动态信息,获得手势动作序列。

在手势数据处理方面,我们需要对原始的手势动作序列进行预处理,包括数据归一化、滤波处理等。

在手势识别分类方面,我们需要利用训练好的分类器,将预处理后的手势序列与训练集中的手势样本进行比较,并识别出相应的手势类型。

基于DTW的人体行为模式识别算法

基于DTW的人体行为模式识别算法

基于DTW的人体行为模式识别算法随着科技的不断发展,人类对于模式识别算法的研究越来越深入,其中,基于DTW的人体行为模式识别算法备受关注。

DTW(Dynamic Time Warping)是指动态时间规整,是一种常用于时间序列比对的算法。

其主要原理是通过对两个时间序列的对齐过程进行优化,找到最小化距离的对齐方案。

在人体行为模式识别领域中,DTW算法可以用来识别不同的人体动作,并进行分类。

本文将详细介绍基于DTW的人体行为模式识别算法的原理及其应用。

1. 数据采集数据采集是整个算法的第一步,也是最为重要的一步。

采集的数据必须包含多种不同类型的动作,并且需要对这些动作进行标记和分类。

通常,采集数据的设备包括摄像机和传感器,摄像机用于记录人体动作的视频,而传感器则可以采集人体动作的各种数据,如加速度、角速度等。

2. 特征提取特征提取是将原始数据转化为可用于分类的实数向量的过程。

在本算法中,采取的特征是人体动作中的一些关键点坐标。

例如,对于跑步这项动作,我们可以提取的特征包括腿部和臂部的摆动幅度,身体前后运动距离等。

提取的特征需要满足以下几个要求:区分度高、特征维数低、鲁棒性强、描述性好等。

3. 动作分类动作分类是整个算法的核心,通过对不同的特征进行比对和分类,得到人体动作的识别结果。

在基于DTW的算法中,分类过程分为两个步骤。

首先,对于每个待分类的样本,计算它与数据集中每个类别的距离,然后选取最小距离的类别作为分类结果。

其次,对于同一类别中的所有样本,进行DTW距离计算,然后得到一个代表该类别的参考序列。

当新的样本进来时,通过计算该样本与参考序列的DTW距离,判断其属于哪个类别。

基于DTW的人体行为模式识别算法在很多领域得到了广泛应用。

例如,可以用于智能家居,通过监测居民的动作,自动控制门、窗、灯等设备;也可以用于医疗领域,监测患者的身体运动情况,并根据运动情况来制定康复计划。

在使用DTW算法进行人体行为模式分类时,需要注意以下几点:1. 数据准备:数据采集应当充分,并且应当包含各种不同种类的动作;特征提取的方法应当适用于所采集的数据。

viterbi译码算法详解

viterbi译码算法详解

viterbi译码算法详解Viterbi译码算法是一种常用的序列解码算法,广泛应用于语音识别、自然语言处理、通信等领域。

本文将详细介绍Viterbi译码算法的原理和步骤,以及它的应用。

Viterbi译码算法是一种动态规划算法,用于在给定观测序列的情况下,求解最可能的隐藏状态序列。

在这个过程中,算法会基于概率模型和观测数据,通过计算每个可能的状态路径的概率,选择概率最大的路径作为输出。

Viterbi译码算法的基本原理是利用动态规划的思想,将问题分解为一系列子问题,并利用子问题的最优解来求解整体问题的最优解。

在Viterbi译码算法中,我们假设隐藏状态的转移概率和观测数据的发射概率已知,然后通过计算每个时刻的最优路径来递推地求解整个序列的最优路径。

具体而言,Viterbi译码算法包括以下步骤:1. 初始化:对于初始时刻t=0,计算每个隐藏状态的初始概率,即P(x0=s)。

2. 递推计算:对于时刻t>0,计算每个隐藏状态的最大概率路径。

假设在时刻t-1,每个隐藏状态的最大概率路径已知,则在时刻t,可以通过以下公式计算:P(xt=s) = max(P(xt-1=i) * P(xi=s) * P(ot=s|xi=s))其中,P(xt=s)表示在时刻t,隐藏状态为s的最大概率路径;P(xt-1=i)表示在时刻t-1,隐藏状态为i的最大概率路径;P(xi=s)表示从隐藏状态i转移到隐藏状态s的转移概率;P(ot=s|xi=s)表示在隐藏状态s的情况下,观测到观测值为s的发射概率。

3. 回溯路径:在最后一个时刻T,选择概率最大的隐藏状态作为最终的输出,并通过回溯的方式找到整个序列的最优路径。

通过上述步骤,Viterbi译码算法可以求解出给定观测序列下的最可能的隐藏状态序列。

这个算法的时间复杂度为O(N^2T),其中N 是隐藏状态的个数,T是观测序列的长度。

Viterbi译码算法在实际应用中有着广泛的应用。

动态时间规整算法在声音识别中的应用

动态时间规整算法在声音识别中的应用

动态时间规整算法在声音识别中的应用随着人工智能技术的不断发展,声音识别技术在我们的日常生活中得到了越来越广泛的应用。

从智能音箱到智能语音助手再到移动设备上的语音识别功能,我们都能够看到声音识别技术的应用场景。

然而,声音识别技术也还存在着许多的挑战,其中一个重要的挑战就是在不同语速和语调下的声音识别。

为了解决这个问题,动态时间规整算法被引入到声音识别中,这种算法可以帮助我们更准确地理解和翻译不同语速和语调下的声音。

什么是动态时间规整算法?动态时间规整算法(DTW)在数据挖掘领域被广泛应用,它是一种将两个时间序列进行对齐的算法。

在实际应用中,DTW主要用于处理两个语音序列之间的对齐问题,也就是说,它可以找出两段语音序列中相似的部分并对齐它们。

这种“对齐”是指将两个时间序列中的数据点一一对应起来,使得它们的距离误差最小化。

DTW算法如何应用于声音识别?传统的声音识别算法在不同语速和语调下的声音上表现不佳。

因为在这种情况下,声音的时间轴是不固定的,不同的人说话的速度和语调都不一样,使得模型很难精确地捕捉到重要的特征。

而动态时间规整算法可以帮助我们处理这种问题,因为它可以将两个时间序列对齐,使得两个时间序列中相似的部分对齐,不相似的部分对齐后也不会影响对整个序列的理解。

使用DTW算法对语音序列进行对齐,可以使得在不同情况下不同人说话的语音数据集具有更好的可比性和匹配性。

另外,DTW算法可以在语音识别中应用于音素/音节时间对齐,可以生成更准确的声学模型,提高语音识别的精度。

实际应用DTW算法已经被广泛应用于声音识别技术中,尤其是在语音翻译和跨语言识别中。

以语音翻译为例,语音翻译需要将说话人的语音转换成文字,并将其翻译成另一种语言。

在语音翻译中,DTW算法可以将不同语言之间的音素对齐,并对准一些相似的单词或短语。

这可以提高翻译的准确性,尤其是在语音速度、口音、语调等方面变化较大时。

总结动态时间规整算法在声音识别中应用是一种创新与进步。

维特比译码算法

维特比译码算法

维特比(Viterbi)译码算法是一种常用于纠错码解码的动态规划算法,它用于找到给定接收信号中最有可能的发送序列,从而纠正错误。

维特比算法在通信领域和编码理论中广泛应用,特别是在卷积码和循环码等纠错码的解码过程中。

维特比译码算法的基本思想是,在接收到一串含有噪声的数据后,找到最有可能的原始数据序列,以最小化解码错误。

这个算法利用了动态规划的思想,通过逐步迭代地考虑所有可能的状态转移路径,选择最有可能的路径,从而找到最佳的发送序列。

下面是维特比译码算法的基本步骤:
1. **初始化:** 初始化第一个时间步的状态,通常为接收到的第一个数据。

将各个状态的初始路径度量设为接收到的数据与可能发送数据之间的距离(如汉明距离等)。

2. **递归计算:** 对每个时间步,计算到达每个状态的路径度量,考虑从前一个时间步到当前状态的所有可能路径。

选择最小路径度量作为当前状态的路径度量,并记录最佳路径。

3. **回溯:** 在最后一个时间步结束后,通过回溯最小路径度量,找到最佳路径,即最可能的发送序列。

维特比算法适用于许多不同类型的纠错码,包括卷积码、循环码等。

在实际应用中,它可以帮助恢复传输中的错误,提高通信系统的可靠性。

需要注意的是,维特比算法的复杂性会随着状态数和时间步数的增加而增加,因此在实际应用中,可能会通过一些优化策略来减少计
算复杂性,例如利用部分距离计算、并行计算等。

维特比译码算法在通信系统和编码理论中是一个重要的概念,如果你希望了解更多关于维特比算法的详细内容和数学推导,可以参考相关的通信和编码领域的教材和研究论文。

基于DTW的人体行为模式识别算法

基于DTW的人体行为模式识别算法

基于DTW的人体行为模式识别算法基于DTW的人体行为模式识别算法人体行为模式识别是计算机视觉和模式识别领域的一个重要研究方向,可以应用于行为分析、智能监控、医疗诊断等众多领域。

动态时间规整(DTW)是一种常用的用于处理时间序列数据的算法,在人体行为模式识别中具有重要的应用价值。

DTW算法是一种非线性、非参数化的计算方法,可以用于比较两个时间序列之间的相似度。

它的核心思想是通过对两个时间序列进行动态规划,找到它们之间最优的对应关系,然后计算对应点之间的距离。

在人体行为模式识别中,DTW算法可以用于比较不同人体行为之间的相似度,从而实现行为的分类和识别。

DTW算法的关键步骤包括:建立距离矩阵、计算累积距离和寻找最佳路径。

需要根据某种度量方式(如欧氏距离、曼哈顿距离等)计算出两个时间序列之间的距离并建立一个距离矩阵。

然后,通过动态规划的方式,计算出所有可能的路径,并求得每条路径上对应点的距离之和,最后选择累积距离最小的路径作为最佳路径。

在人体行为模式识别中,通常使用加速度传感器或视频摄像头等传感器采集人体行为数据。

对于加速度传感器采集的数据,可以直接使用DTW算法进行模式识别;对于视频数据,需要通过关节点检测算法提取人体姿态特征,然后再使用DTW算法进行模式识别。

基于DTW的人体行为模式识别算法的优点在于能够处理时间序列数据中的时间偏移和尺度变化等问题,适用于不同人体行为之间的相似性比较。

DTW算法也存在一些问题,例如计算复杂度高、对数据长度敏感等。

在实际应用中需要对算法进行优化,并结合其他算法进行综合分析,以提高模式识别的准确性和效率。

语音识别技术基础知识

语音识别技术基础知识

语音识别技术基础知识语音是人类最自然的交互方式。

计算机发明之后,让机器能够“听懂”人类的语言,理解语言中的内在含义,并能做出正确的回答就成为了人们追求的目标。

我们都希望像科幻电影中那些智能先进的机器人助手一样,在与人进行语音交流时,让它听明白你在说什么。

语音识别技术将人类这一曾经的梦想变成了现实。

语音识别就好比“机器的听觉系统”,该技术让机器通过识别和理解,把语音信号转变为相应的文本或命令。

语音识别技术,也被称为自动语音识别AutomaTIc Speech RecogniTIon,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。

语音识别就好比“机器的听觉系统”,它让机器通过识别和理解,把语音信号转变为相应的文本或命令。

语音识别是一门涉及面很广的交叉学科,它与声学、语音学、语言学、信息理论、模式识别理论以及神经生物学等学科都有非常密切的关系。

语音识别技术正逐步成为计算机信息处理技术中的关键技术。

目前国内有些厂商已具备语音识别技术能力,如有道智云、百度、科大讯飞等。

语音识别技术的发展语音识别技术的研究最早开始于20世纪50年代,1952 年贝尔实验室研发出了10 个孤立数字的识别系统。

从20 世纪60 年代开始,美国卡耐基梅隆大学的Reddy 等开展了连续语音识别的研究,但是这段时间发展很缓慢。

1969年贝尔实验室的Pierce J 甚至在一封公开信中将语音识别比作近几年不可能实现的事情。

20世纪80年代开始,以隐马尔可夫模型(hidden Markov model,HMM)方法为代表的基于统计模型方法逐渐在语音识别研究中占据了主导地位。

HMM模型能够很好地描述语音信号的短时平稳特性,并且将声学、语言学、句法等知识集成到统一框架中。

此后,HMM的研究和应用逐渐成为了主流。

例如,第一个“非特定人连续语音识别系统”是当时还在卡耐基梅隆大学读书的李开复研发的SPHINX系统,其核心框架就是GMM-HMM框架,其中GMM(Gaussian mixture model,高斯混合模型)用来对语音的观察概率进行建模,HMM则对语音的时序进行建模。

viterbi译码算法详解

viterbi译码算法详解

viterbi译码算法详解Viterbi译码算法详解Viterbi译码算法是一种在序列估计问题中广泛应用的动态规划算法。

它被用于恢复在一个已知的输出序列中最有可能的输入序列。

该算法最初由Andrew Viterbi在1967年提出,并被广泛应用于各种领域,如语音识别、自然语言处理、无线通信等。

Viterbi译码算法的基本思想是在一个已知的输出序列中寻找最有可能的输入序列。

它通过计算每个可能的输入序列的概率,并选择概率最大的输入序列作为最终的估计结果。

该算法的关键是定义一个状态转移模型和一个观测模型。

状态转移模型描述了输入序列的转移规律,即从一个输入状态转移到另一个输入状态的概率。

观测模型描述了输入序列和输出序列之间的关系,即给定一个输入状态,产生一个输出状态的概率。

在Viterbi译码算法中,首先需要进行初始化。

假设有n个可能的输入状态和m个可能的输出状态,我们需要初始化两个矩阵:状态概率矩阵和路径矩阵。

状态概率矩阵记录了每个时刻每个状态的最大概率,路径矩阵记录了每个时刻每个状态的最大概率对应的前一个状态。

接下来,我们通过递归的方式计算状态概率和路径矩阵。

对于每个时刻t和每个可能的输入状态i,我们计算当前状态的最大概率和对应的前一个状态。

具体的计算方式是通过上一个时刻的状态概率、状态转移概率和观测概率来计算当前时刻的状态概率,并选择其中最大的概率作为当前状态的最大概率。

我们通过回溯的方式找到最有可能的输入序列。

从最后一个时刻开始,选择具有最大概率的状态作为最终的估计结果,并通过路径矩阵一直回溯到第一个时刻,得到整个输入序列的最有可能的估计结果。

Viterbi译码算法的优势在于它能够处理大规模的状态空间和观测空间。

由于使用动态规划的思想,该算法的时间复杂度为O(nmT),其中n和m分别为可能的输入状态和输出状态的数量,T为输出序列的长度。

因此,在实际应用中,Viterbi译码算法能够高效地处理各种序列估计问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机研究与发展ISSN100021239ΠCN1121777ΠTP Journal of Computer Research and Development47(2):3052317,2010Viterbi和DTW算法的关系分析———在非特定人手语识别中的应用倪训博 赵德斌 姜 峰 程丹松(哈尔滨工业大学计算机学院 哈尔滨 150001)(nixunbo@)Mapping Analysis Bet w een Viterbi and DTW Algorithms—Application to the Identif ication of Signer Independent Sign LanguageNi Xunbo,Zhao Debin,Jiang Feng,and Cheng Dansong(S chool of Com puter Science,H arbin I nstitute of Technology,H arbin150001)Abstract In classical pattern classification t heory,Viterbi algorit hm represent s pattern matching algorit hm of statistic probability.However,D TW algorit hm represent s pattern matching algorit hm of template matching algorit hm.Whet her t here is any relatio nship between t hem have not been p resented clearly.Aiming at t his problem,t he aut hors set up relationship between Viterbi algorit hm and D TW algorit hm based on application of f uzzy mat h t heory under t he premise t hat“t he category of f uzzy mat h membership is t he general p robability”.Firstly,t hey propo se t he common closeness degree exp ression t ransferring“distance”of D TW algorit hm to“probability”of Viterbi algorit hm making use of clo seness degree in f uzzy mat h and p rove t he common closeness degree expression t heoretically.Secondly,t he HMM parameters are re2estimated wit h t he common closeness degree of D TW to set up f uzzy closeness degree relationship between D TW algorit hm and Viterbi algorit hm,for which t heδ2εalgorit hm is p resented to obtain parameter re2estimating form similar to HMM based on data f rame.Then,in order to ensure correct ness of t he f uzzy clo seness relationship between D TW algorit hm and Viterbi algorit hm,corresponding p roof is given as a t heorem.Thirdly,during t he HMM parameter re2estimation wit h t he decided D TW clo seness degree expression,it is found t hat t here exist s f uzzy relationship between t he D TW clo seness degree re2estimating parameters and t he HMM re2estimating parameters and it is p roved as a t heorem.Finally,t he aut hors propose Dtw2 ViterbiⅠ,Ⅱ,Ⅲbased on t he above t heorem,p rove t he correct ness of t hem as a t heorem and implement t hem in signer2independent sign language recognition.Experiment result s show t hat int roducing t he pat h searching st rategy of D TW algorit hm in Viterbi algorit hm in t he form ofp robability can partly reduce t he failures in signer2independent sign language recognition by reducing candidate vocabulary t hus improving t he signer2independent sign language recognition rate and speed in case of large vocabulary.K ey w ords Viterbi algorit hm;D TW algorit hm;category membership;generalized probability;Dtw2 ViterbiⅠ,ⅡandⅢalgorit hm;HMM;f uzzy mat h;ε2δalgorit hm摘 要 在经典的模式识别理论中,Viterbi算法代表了统计概率的模式匹配算法,而D TW算法代表了模版匹配的模式匹配算法,它们之间是否存在关系至今尚无定论.为了找到这两种算法之间的关系,在“类别隶属度”是广义概率的假设前提下,应用模糊数学的理论在Viterbi算法与D TW算法之间建立起 收稿日期:2008-06-19;修回日期:2009-09-13 基金项目:国家自然科学基金重点项目(60533030);国家自然科学基金项目(60603023)联系.首先,提出了利用模糊数学的贴近度把D TW算法的“距离”向Viterbi算法的“概率”转化的通用贴近度表达式,并对通用贴近度表达式给出了理论上的证明.其次,应用D TW的通用贴近度表达式重估HMM参数,建立D TW算法与Viterbi算法之间的模糊贴近度关系,并为此提出了δ2ε算法,得到基于数据帧的类似于HMM的参数重估形式.然后,为了确保建立D TW算法与Viterbi算法之间的模糊贴近度关系的正确性,以定理的形式给出了相应的证明.再次,通过设定的D TW贴近度表达式对HMM参数重估的过程中,发现了D TW贴近度的重估参数与HMM重估参数之间存在着的模糊关系,以定理的形式对这种模糊关系加以证明.最后,依据上述定理提出了Dtw2ViterbiⅠ,Ⅱ,Ⅲ算法,以定理的形式对Dtw2ViterbiⅠ,Ⅱ,Ⅲ算法的正确性加以证明,并将对Dtw2ViterbiⅠ,Ⅱ,Ⅲ算法应用于非特定人手语的识别.实验表明,把D TW算法的路径搜索策略以概率的形式引进到Viterbi算法中,能够以削减候选词集的方式部分消除非特定人手语识别的误识,从而提高大词汇量情况的下非特定人手语识别的识别率和速度.关键词 Viterbi算法;D TW算法;类别隶属度;广义概率;Dtw2ViterbiⅠ,Ⅱ,Ⅲ算法;隐Markov模型;模糊数学;ε2δ算法中图法分类号 TP391.4 历史上,1983年Grimes[1]在A T&T最先取得了“数据手套“专利.因此,他也可被认为是最早进行手势识别研究的人.但那个时代只有从事简单的手势识别研究.而手语识别研究起步较晚,始于20世纪90年代.目前,世界上一些高校、大公司、研究机构纷纷加入手势识别研究队伍.日本A TR研究室的Takahashi和Kishino[225]设计了一个基于数据手套的系统,系统可识别与用户有关的46个日本字母手势中的34个.美国CMU的Lee和Xu[6]利用手语识别进行机器人的示范学习.该系统采用了Cyberglove数据手套.该设备正是我们研究的主要数据输入设备.国际上的手势识别系统所采用的识别方法主要有:规则学习、模板匹配方法(template matching)、神经网络方法(artificial neural network)以及隐Markov 模型(hidden Markov model)等方法[729].归纳学习[6]是一种有效的知识获取的方法,它从例子集合的特征向量集中归纳规则.比较典型的归纳学习算法[728]有ID3,NewID,C4.5,CN2,HCV.而Mitchell的翻译空间、基于类AQ的一般化Π特殊化、基于类ID3的决策树、基于R2MINI的转换函数最小化都是从例子中产生DNF(disjunctive normal form)规则的经典算法.Zhao等人提出了一种递归感应学习方案[10],它能以包括多值特征的、分离的标准形式的表达式来获得手的姿势的模型.对规则抽取算法来说,规则的完备性和一致性条件很难满足,并且,规则最简化的一般解问题是一个N P问题,因此不适用于大词汇量的识别.神经网络方法在模式识别领域越来越受到关注,神经网络已在手势识别中得到了广泛应用.神经网络方法具有分类特性及抗干扰性,然而由于其处理时间序列的能力不强,因而其目前广泛用于静态手势的识别.神经网络的优势是容错性好,并且可以降低维数,因此可以将神经网与其他方法结合起来使用.韩国手语识别系统[11214]用数据手套来感知手指运动,利用神经网络技术进行手指字母及手势词的在线识别,可识别31个手指字母,识别率为96.3%;识别131个手势词,识别率为94.3%.模板匹配是用于手势识别的最简单方法,该方法通常包括两个过程:模板建立与分类.采集每一手势类中有代表性的样本,为该类建立识别模板,根据输入与各个模板的相似性来确定输入所属手势类别.该方法的优点是易于模板的建立与改进,且能有效地识别,对于小词汇表孤立词识别系统十分适用.但由于噪声及不同用户手势之间的模糊性,该方法对每个模板设定了较宽的范围,因而过多的孤立手势个数,就会造成模板在识别空间的重叠,并且它没有一个有效地用统计方法进行训练的框架,也不容易将底层和顶层的各种知识用到识别算法中,因此在解决大词汇量手语识别问题时较之HMM相形见绌.D TW基本原理即动态时间规正,也叫动态时间伸缩算法(dynamic time warping,D TW),是基于模板匹配的方法,是日本学者Sakoe[15]将动态规划(dynamic DP)用于解决在语音识别中孤立词识别时说话速度不均匀的难题而提出的.603计算机研究与发展 2010,47(2)在概率统计方法中最具有代表性的就是隐Markov模型(hidden Markov model)[16]的方法,与隐Markov模型结合最为紧密的算法当属Viterbi 算法.自1967年Viterbi译码[17]提出以来,该算法得到了广泛应用,成为各种通信系统的标准结构单元.随着VL SI的飞速发展和便携通信系统的大量涌现,功耗越来越成为制约设计的一个主要问题.因此从其他方面着手考虑低功耗的研究有:改进算法结构,减少状态过渡(SST)的Viterbi译码器[18]、低复杂性的差错选择Viterbi译码器(ESVD)[19]、用时钟门(clock gating)和使能端激活的方法进行低功耗设计的Viterbi译码器[20221].而少量降低性能来降低功耗的有设置门限的自适应Viterbi算法[22],自适应减少状态序列检测的Viterbi译码器[23],路径值控制判决保存(PCDS)的序列Viterbi译码器[24].这些算法或是译码器以降低能耗为目的,适用于通信领域.而适用于信号类识别、具有智能搜索策略的Viterbi算法当属著名的Viterbi2beam算法[25228].搜索方法和剪枝策略是由“打分”机制来实现的,由于Viterbi2beam是次优算法,不能保证全局最优.虽然减少了计算量,缩短了识别时间,但识别率大大降低,尤其是不适合非特定人手语识别.Viterbi2beam 算法的一些派生算法虽然提高了识别率,但又造成识别时间的增加.为了使Viterbi算法具有全局最优搜索策略,首先,我们将初始概率上界和D TW的搜索策略加入到Viterbi算法中,以确保D TW和Viterbi算法建立起联系并以定理的形式作了严谨的证明.其次,识别阶段在Viterbi算法基础上提出了具有剪枝策略的Dtw2ViterbiⅠ,Ⅱ,Ⅲ算法,既保证了在候选词集上的搜索策略仍是全局最优,又保证了非特定人手语识别的识别率和速度,本文对上述方法的正确性也以定理的形式作了严谨的证明.最后,本文在手语识别系统上作了大量实验来验证算法的性能.1 模糊数学的相关理论在经典的数学理论中,古典概率的适用范围非常广泛,不只是表示某一事件发生的可能性.在模糊逻辑方法和类别隶属度函数被提出之前,在统计领域、模式识别领域、甚至哲学界,对于概率的本质早就有非常激烈的争论.有人质疑对那些唯一的、不可重复的事件运用概率是否有意义.经过多年的实践探索[8],澄清了概率并不只适用于可重复的事件这一事实.相反,从20世纪的前半期以来,概率已经被应用于逻辑推断.而且,在模式识别领域,实践中的设计者们发现他们不必过于关心分类函数到底代表的是什么样的概率,只要能很好地使用这些概率就行.模糊技术已经归入到了经典的概率范畴,其中广义概率包含“类别隶属度”[8]这一概念.定义1.“类别隶属度”[29]在经典的模糊数学中有如下的定义:在给定的论域U,A是U的一个模糊集,对于论域U中任意的x都有唯一一个数μA(x)∈[0,1]与之相对应,用以表示x隶属于A的程度,这就意味着作出了一个映射UμA[0,1],此映射μA(x)称为A的隶属度函数.我们利用模糊量度[30]的相关理论,对隶属度与距离之间建立起联系.而隶属度是一种广义的概率.这样我们就可以把概率与距离之间建立起桥梁.确定Viterbi算法与D TW算法间是否存在关系.由于没有现成的模糊量度,我们参照建立模糊相似矩阵过程中的距离法和贴近度的概念,建立一个适合于本问题隶属度函数.我们采用绝对值指数法,且指数采用自然对数(e)为底,这样可以更好地近似高斯分布的概率密度.并假设贴近度是两类或多类问题的隶属度.我们识别的都是归一化的数据,初衷是避免庞大的数据计算带来的计算溢出.但这种数据处理方法从模糊数学的角度来看,已经建立R f[0,1]的映射,所以归一化后的手语数据应该是模糊集.映射f也就是隶属度函数如下确定:f(x)=x i-min xmax x-min x.(1) 这样我们有了模糊集和基于模糊集的论域U-,因而可以应用模糊数学的相关理论,当然可以应用贴近度到我们所解决的问题当中去.定义2.“贴近度”[31]在经典的模糊数学中有如下的定义,满足:①δ(A,A)=1;②δ(U-,<)=0;③δ(A,B)=δ(B,A);④A∈B∈C,δ(A,C)≤δ(A,B).δF(U-)×F(U-)→[0,1],则称(A,B)→δ(A,B)为贴近度.结合D TW我们作出如下假设:703倪训博等:Viterbi和D TW算法的关系分析———在非特定人手语识别中的应用δ(ni,m j)=e -D(n i-m j),(2)其中,参考模板长度为M,D(・)是距离或范数,它的选取是依赖于数据样本的概率分布,如何选取具体的D,我们将在后面以一维的情况加以说明.n i, m j是帧序列.定理1.δ(n i,m j)是一个贴近度.证明.因为D(n i-m j)是距离;所以①③显然成立.(n i,m j)取(U-,<)时D(n i-m j)→∞,所以δ(n i, m j)→0,②成立.④A∈B∈C在本问题中应理解为n i≤m j≤p k 即帧数的多少,n i≤m j≤p k]|n i-p k|≥‖n i-m j‖.因为D(n i-m j)是距离,故D(x)是单调不减函数,再由③可知D(n i,p k)≥D(n i,m j),又因为f(x)=e-x为单调递减函数,所以δ(n i,p k)≤δ(n i, m j),因而④成立.由于f(x)=e-x为单调递减函数和D(n i-m j)的非负性,决定了所有归一化的数据,在其模糊集的论域U-上都满足δF(U-)×F(U-)→[0,1],所以δ(n i,m j)是一个贴近度.证毕.2 基于贴近度的H MM模型参数重估和理论证明2.1 贴近度重估H MM模型参数D TW算法是基于模板数据帧的搜索算法, Viterbi算法是基于HMM状态的搜索算法.HMM 状态对于我们来说是不可见的.但是HMM状态反映到数据帧上,表现为那些数据变化不大的数据帧的集合.我们也是以此为依据来处理数据和训练HMM的[32].D TW算法是基于测试模板和参考模板进行匹配的,我们贴近度的定义也是由此定义的.重估HMM模型参数是在同一个模板(一个单词的数据)中进行训练的,因而我们为重估HMM模型参数,需要把贴近度在一个模板下重新定义.2.1.1 基于D TW的贴近度δ(ni,n i-1)为当前帧与前一帧的贴近度.εt(i,j)是给定训练数据O和HMM参数λ时,第t帧处于i 状态,第t+1帧处于j状态的概率.由于εt(i,j)是隐M arkov模型的参数重估的关键.εt(i,j)和δ(n i, n i-1)在定义上有些相似,我们可把二者相类比.值得注意的是δ(n i,n i-1)是不含有状态信息的.εt(i, j)中i和j代表的是状态序列,为了不与之混淆,我们用k表示帧序列:δ(nk,n k-1)=1,D(n k-n k-1)≤θ,δ(nk,n k-1),D(n k-n k-1)>θ,(3)这里θ代表某一阈值,D(n k-n k-1)≤θ说明当前帧与前一帧的各维数据差异不大,n k帧和n k-1帧隶属于同一个状态.D(n k-n k-1)>θ说明当前帧与前一帧的各维数据差异大,n k帧和n k-1帧不隶属于同一个状态,有状态的转移.这些状态表现都是由数据所体现出来的.根据εt(i,j)的定义,我们把εt(i,j)用贴近度表示成如下的形式:εt(i,j)=1-δ(n k-n k-1),D(n k-n k-1)≤θ,δ(nk-n k-1),D(n k-n k-1)>θ.(4) 当D(n k-n k-1)≤θ时,要特别说明的是当i和j是同一个状态,即都是前一帧所处的状态,未发生状态转移.而通过实验经验得知,当前帧与前一帧处于同一个状态,各维数据差异小,D(n i-m i)→0,所以δ(n k-n k-1)→1.根据εt(i,j)的定义和实际的意义,此时εt(i,j)→0,所以,εt(i,j)=1-δ(n k-n k-1).2.1.2 δ2ε算法为了得到HMM模型的状态和εt(i,j),我们采用前向算法的思想,结合式(3)(4)构造一个新的算法:δ2ε算法.算法1.δ2ε算法.①初始化.ε1(1,1)=0,i=1,j=1;②循环.if D(n k-n k-1)≤θt henδt(i,j)=1-δ(n k-n k-1),εt(i,j)=δ(i, j),O t=n k-1,j=i;elseδt(i,j)=δ(n k-n k-1),O t=n k-1,εt(i,j)=δ(i,j),j=i+1;num_i++;保存状态i,j,δt(i,j),εt(i,j),数据中所包含的状态总数N=num_i,其中1≤t≤T.③结束.得到状态序列i1≤i2≤…≤i N,εt(i, j),δt(i,j).此算法的时间复杂度为O(T),δt(i,j)的实际意义是第t-1帧处于i状态、第t帧处于j状态时两帧的贴近度,这样就使得我们假设的贴近度含有HMM的状态信息.通过该算法我们可以得到参考模板的状态序列和用贴近度表示的εt(i,j).n k-1在D TW算法中是模板帧,在HMM模型中就是我们803计算机研究与发展 2010,47(2)所说的观察帧O t,所以t与k-1的含义也是相同的.2.1.3 重估HMM模型参数利用式(2)并结合Baum2Welch算法的HMM 模型参数的公式,我们可以构建一个基于贴近度的HMM模型参数重估公式:εt (i)=∑Nj=1εt(i,j)=∑Nj=1δt(i,j),(5)πi=ε1(i),(6)a ij=∑T-1t=1εt(i,j)∑Tt=1εi(i),(7) b j(k-1)=∑Tt=1,O t=n k-1εt(j)∑Tt=1εt(j).(8)2.2 关于选取D(n k-n k-1)和H MM的一般性的贴近度表示2.2.1 D(n k-n k-1)的选取D(n k-n k-1)的选取是依赖于数据样本所服从的概率密度函数的,由于篇幅的限制和为了简单明了我们仅以一维的标准正态分布为例进行说明.一维的标准正态分布的概率密度函数如下所示:f(x)=12πδe-(x-μ)2δ2.(9) 从模糊贴近度的角度看,(x-μ)2δ2应该是当前测试样本与训练数据样本的模糊编码参数之间的距离.其中的x是测试样本,μ,δ在模糊论域上进行模糊运算所得到的编码参数.为了描述简单我们将(x-μ)2δ2记为D N,将两帧之间的距离|n k-n k-1| (注:仅在一维下的表示)记为D.下面的证明将说明D N与D的关系.定理2.一维正态分布下D N的最小值是D 2n2.证明.因为D N=(x-μ)2δ2,如果对于μ,δ不考虑估计量的评选标准,对μ,δ采用矩估计.我们将μ,δ的矩估计μ∧=x-=1n ∑ni=1x i,δ2∧=1n∑ni=1(x i-x-)2代入到D N=(x-μ)2δ2中,经过放缩和化简整理可以得到:D N≥∑ni=1x-x in2≥x i-x i-12n2=D2n2.证毕.在其他的各种分布已知的情况下,D N与D之间存在的最小值关系记为D min,故可以把式(2)简写成:δ(ni,m j)=e-D min.(10)2.2.2 HMM一般性的贴近度表示为了找到基于贴近度的HMM模型重估参数与HMM模型参数之间的联系,为简单起见,先对单高斯概率密度函数从模糊数学的角度进行分析.我们取基于倒谱系数的单高斯概率密度函数[33235]作为分析对象.基于倒谱系数的单高斯概率密度函数是连续HMM参数估计形式,其公式如下:b3j(O)=(2πΣj)-k2e-12O′Σ-1jO.(11) 从模糊数学的角度来看,e-12O′Σ-1j O应当是马氏距离的贴近度,Σj是一个模糊相似矩阵[31]目前,我们的识别系统采用的是混合高斯模型,混合高斯模型的概率密度如下:b3j(O)=∑Mm=1C jm b jm(O),(12)其中,∑Mm=1C jm=1.可以看出混合混合高斯模型是在单高斯模型基础上增加了一个模糊项,所以HMM的一般性贴近度表示应如下所示:δHMM=μe-D N,(13)这里μ泛指模糊项,它可以是在对模糊运算封闭的模糊论域上的一个或若干个隶属函数(或模糊相似矩阵)通过若干次模糊运算得到的.D min则泛指分布已知的情况下,D N是D所表示的最小距离或范数,并且0≤D min≤1,可以看出式(10)所定义的δ(n i,n i-1)是式(13)所定义的δHMM的上界.定理3.δ(n i,n i-1)是δHMM的上界.证明.因为μ是在对模糊运算封闭的模糊论域上的一个或若干个隶属函数(或模糊相似矩阵)通过若干次模糊运算得到的,所以‖μ‖≤1,又因为δHMM≤δ(n i,n i-1),D min是分布已知的情况下,D N是D所表示的最小距离或范数.且f(x)=e-x在定义域内是单调减函数,因而δ(n i,n i-1)是δHMM的上界.证毕.δ(ni,n i-1)是δHMM的上界,但不是δHMM的上确903倪训博等:Viterbi和D TW算法的关系分析———在非特定人手语识别中的应用界.δHMM 的上确界应是重估μ-和D -后所得到的δHMM .但是这个重估过程是复杂的,甚至要解更为复杂的微分方程.但是这种复杂的重估过程对于我们下面改进Viterbi 算法的意义并不很大,在此不作过多陈述.根据上述的证明和Baum 2Welch 算法的重估公式[36]的理论基础,我们可以明显地从式(6)(10)中看出我们设定的贴近度重估出来的π-一定是πHMM 的上界.另外,还需指出的是我们的重估度量是建立在模糊贴近度范畴之内的,是基于数据进行D TW 自我搜索来确定HMM 状态和参数的,并不是建立在连续或离散的HMM 的范畴之上的.我们更为关心的是基于模糊贴近度的重估参数与HMM 的重估参数之间的关系,是否模糊贴近度的重估参数是HMM 的重估参数的上界.这对我们后面改造搜索算法非常有用.定理4.模糊贴近度的重估参数是HMM 的重估参数的上界.证明.在Baum 2Welch 算法的重估公式的理论基础[26]中,有这样一个非常重要的结论:如果c i >0,i =1,…,T ,在∑Ti =1xi=1的约束条件下函数F (x )=∑Ti =1c ilnx i 的唯一最大值点为x i =c i∑Tk =1ck.(14) 令c i =εt (i ),x i =μi 且∑Ti =1μi=1,根据约束条件,函数F (μ)=∑Ti =1εt (i )ln μi 的最大值点为μi =εt (k )∑T i =1εt(i )=μmax .(15) 将式(15)带入到式(7)(8)后,其结果如下所示:a ij =∑T-Ni =1δt(n i ,n i-1)μmax ,(16)b j (k -1)=∑T-1t =1O t =n k-1εt(j )μmax.(17) 而我们识别系统所应用的是服从混合高斯分布的连续HMM 模型,因而连续HMM 模型参数的概率密度也应该是服从混合高斯分布的.所以其HMM 模型参数的概率密度的一般形式应如下所示:a 3ij =δHMM =μe -D=μδ(n i ,n i-1),(18)b 3j (O )=δHMM =μe -D=μδ(n i ,n i-1).(19) 我们取式(18)(19)的概率密度为如下两式:a ij =δt (n i ,n i-1)μmax ,(20)b j (k -1)=εt (j )μmax =∑Nj =1δt(i ,j )μmax.(21) 从式(18)与式(20),式(19)与式(21)的对比可以看出,a 3ij 与a ij 满足a 3ij ≤a ij .同样地b 3j (O )与b j (k -1)也满足:b 3j (O )≤b j k -1.结合Baum 2Welch 算法的重估公式理论基础中的很重要的结论POλ->POλ和定理3,可以得出模糊贴近度的重估参数是HMM 的重估参数的上界这一结论.证毕.3 改进的Viterbi 算法由经典的Baum 2Welch 算法的重估公式可以得到一个新的模型λ-=(π-,A -,B -),并且可以证明POλ->POλ,即由重估公式得到的λ-比λ在表示训练序列O 方面要好.在POλ->POλ的证明过程中有一个很重要的辅助函数Q λ,λ-,通过Q λ,λ-≥Q λ,λ也可以看到这一结论.通过P Oλ->POλ和定理3以及定理4,我们能够知道基于贴近度的HMM 模型重估参数a ij 应该是由经典的Baum 2Welch 算法重估出来的HMM 模型重估参数a 3ij 的上界,0作为a 3ij 下界是显然成立的.根据这个结论,我们就可以把D TW 算法的搜索策略引入到Viterbi 算法中去,从而得到一个新的算法Dtw 2Viterbi 算法.在得出这个算法之前首先要阐明Dtw 2Viterbi 算法的思想.3.1 Dtw 2Viterbi Ⅰ算法.1)Dtw 2Viterbi Ⅰ算法的思想我们的想法是,把当前的测试数据进行基于贴近度的模糊化的参数重估,得到由Baum 2Welch 算法重估得到的HMM 模型参数的上界.利用这个上界,把候选词集中大于这个上界的候选词,用类似于剪枝的策略从候选词集去除掉,达到减小搜索空间的目的.这样可以把那些由于词模型导致的大概率的易混词从候选词集中去除掉.再在经上述处理后减小的候选词集上应用Viterbi 算法.从而达到快速13计算机研究与发展 2010,47(2)准确的目的.我们所采取的剪枝策略是利用了π-一定是πHMM的上界这一结论.算法2.Dtw2ViterbiⅠ算法.①初始化对当前的测试数据利用δ2ε算法计算状态序列i1≤i2≤…≤i N,εt(i,j),δt(i,j),用δt(i,j)重估HMM参数λ3;②减小搜索空间 令训练后的候选词集的HMM参数为λ; { if(π->π3)t hen V=V-vλ3; }until(所有的V→λ→π-<π3) V3=V;③识别过程 对于新的候选词集V3应用Viterbi算法.2)Dtw2ViterbiⅠ算法的分析该算法的时间复杂度如果不包括Viterbi算法的时间复杂度,应当是O(V).由于我们只是利用了π-一定是πHMM的上界这一结论的结果,使得减小搜索空间的过程很快,但是缩减的精度不够.如果能证明出λ3是λ的上界,最好是上确界,那么缩减的精度将大幅度提高.3.2 Dtw2ViterbiⅡ算法.1)Dtw2ViterbiⅡ算法的思想该算法的基本思想与Dtw2ViterbiⅠ采用的策略是一致的,都是利用剪枝的策略.不过剪枝的阈值用的是λ3,理论依据就是λ3是λ的上界,即前面所描述的定理4.也就是把所有的HMM参数与测试重估参数进行比较,这可以使剪枝的阈值精度进一步加强,从而达到候选词集规模进一步的缩减.算法3.Dtw2ViterbiⅡ算法.①初始化 对当前的测试数据利用δ2ε算法计算状态序列i1≤i2≤…≤i N,εt(i,j),δt(i,j); 用δt(i,j)重估HMM参数λ3.②减小搜索空间 令训练后的候选词集的HMM参数为λ; { if(λ>λ3)t hen V=V-vλ3; }until(所有的λ<λ3) V3=V.③识别过程对于新的候选词集V3应用Viterbi算法.比较λ>λ3的理论基础来源于文中的定理4,λ3是依照D TW搜索策略并结合糊贴近度的理论所得到的模型参数.定理4确保了λ3是一般HMM参数λ的上界.λ的获取应当满足D TW搜索策略.由于我们使用的手语数据是经过“归一化”处理[37239]的,经过参数训练后的参数λ与λ3是两个模糊集合,λ与λ3当中每个向量的元素个体的数值是在[0,1]范围内的,满足模糊集合的定义.比较λ>λ3是针对两个模糊集合隶属度所进行的比较,模糊集合之间的运算可以参考文献[31].λ>λ3的含义是将λ与λ3“不相似”,而λ3是依照D TW搜索策略并结合糊贴近度的理论所得到的模型参数,并不是以“大小”的概念来衡量的.2)Dtw2ViterbiⅡ算法的分析该算法剪枝部分的时间复杂度也应该是O(V),识别过程的时间复杂度是Viterbi算法在新的候选词集V3上的时间复杂度.Dtw2ViterbiⅡ算法与Dtw2ViterbiⅠ算法相比,在剪枝部分的比较运算的运算量Dtw2ViterbiⅡ算法更为大一些.3.3 Dtw2ViterbiⅢ算法.1)Dtw2ViterbiⅢ算法的思想D TW算法是基于数据帧的模板匹配算法,其本身是不含有HMM的状态信息的.D TW算法的搜索策略是通过限定路径中各通过点的路径平均斜率[15]来实现的,落实到数据帧上就是通过限定的路径平均斜率找到最小的累积距离来确定搜索路径的走向,从而达到了快速搜索的目的.对于Viterbi算法而言是基于HMM状态和训练模型的概率匹配算法,它是把所有候选词集模型化(或称编码)后,与当前的测试数据进行概率匹配得到识别结果的. Viterbi算法的搜索范围是整个候选词集(或称候选词空间).Dtw2ViterbiⅡ算法与Dtw2ViterbiⅠ算法可以在一定程度上快速地削减候选词集,它的削减精度只局限于候选词集中单词的HMM参数上.如果候选词集的规模十分庞大,达不到实时识别的规模,我们就需要进一步的提高削减精度.再提高削减精度就不能把思路停留在候选词集中单词的HMM参数上,我们必须在识别过程里去寻求思路.也就是说在Viterbi算法识别的过程里,引入D TW算法的搜索策略,通过模糊度量的转换,把与搜索策略相关的累计距离转化为贴近度(广义上的概率),作为剪枝的阈值(或称上界)进行词空间(候选词集)再削减.剪枝的阈值(或称上界)的正确性是由定理3和定理113倪训博等:Viterbi和D TW算法的关系分析———在非特定人手语识别中的应用。

相关文档
最新文档