DTW算法原理解析

2 篇文章 0 订阅
订阅专栏

        DTW为(Dynamic Time Warping,动态时间归准)的简称。应用很广,主要是在模板匹配中,比如说用在孤立词语音识别,计算机视觉中的行为识别,信息检索等中。可能大家学过这些类似的课程都看到过这个算法,公式也有几个,但是很抽象,当时看懂了但不久就会忘记,因为没有具体的实例来加深印象。
        这次主要是用语音识别课程老师上课的一个题目来理解DTW算法。
        首先还是介绍下DTW的思想:假设现在有一个标准的参考模板R,是一个M维的向量,即R={R(1),R(2),……,R(m),……,R(M)},每个分量可以是一个数或者是一个更小的向量。现在有一个才测试的模板T,是一个N维向量,即T={T(1),T(2),……,T(n),……,T(N)}同样每个分量可以是一个数或者是一个更小的向量,注意M不一定等于N,但是每个分量的维数应该相同。
        由于M不一定等于N,现在要计算R和T的相似度,就不能用以前的欧式距离等类似的度量方法了。那用什么方法呢?DTW就是为了解决这个问题而产生的。
        首先我们应该知道R中的一个分量R(m)和T中的一个分量T(n)的维数是相同的,它们之间可以计算相似度(即距离)。在运用DTW前,我们要首先计算R的每一个分量和T中的每一个分量之间的距离,形成一个M*N的矩阵。(为了方便,行数用将标准模板的维数M,列数为待测模板的维数N)。
        然后下面的步骤该怎么计算呢?用个例子来看看。
        这个例子中假设标准模板R为字母ABCDEF(6个),测试模板T为1234(4个)。R和T中各元素之间的距离已经给出。如下:

        

        既然是模板匹配,所以各分量的先后匹配顺序已经确定了,虽然不是一一对应的。现在题目的目的是要计算出测试模板T和标准模板R之间的距离。因为2个模板的长度不同,所以其对应匹配的关系有很多种,我们需要找出其中距离最短的那条匹配路径。现假设题目满足如下的约束:当从一个方格((i-1,j-1)或者(i-1,j)或者(i,j-1))中到下一个方格(i,j),如果是横着或者竖着的话其距离为d(i,j),如果是斜着对角线过来的则是2d(i,j).其约束条件如下图像所示:

        其中g(i,j)表示2个模板都从起始分量逐次匹配,已经到了M中的i分量和T中的j分量,并且匹配到此步是2个模板之间的距离。并且都是在前一次匹配的结果上加d(i,j)或者2d(i,j),然后取最小值。

       

        所以我们将所有的匹配步骤标注后如下:

        怎么得来的呢?比如说g(1,1)=4, 当然前提都假设是g(0,0)=0,就是说g(1,1)=g(0,0)+2d(1,1)=0+2*2=4.

        g(2,2)=9是一样的道理。首先如果从g(1,2)来算的话是g(2,2)=g(1,2)+d(2,2)=5+4=9,因为是竖着上去的。

        如果从g(2,1)来算的话是g(2,2)=g(2,1)+d(2,2)=7+4=11,因为是横着往右走的。

        如果从g(1,1)来算的话,g(2,2)=g(1,1)+2*d(2,2)=4+2*4=12.因为是斜着过去的。

        综上所述,取最小值为9. 所有g(2,2)=9.

        当然在这之前要计算出g(1,1),g(2,1),g(1,2).因此计算g(I,j)也是有一定顺序的。

        其基本顺序可以体现在如下:

        计算了第一排,其中每一个红色的箭头表示最小值来源的那个方向。当计算了第二排后的结果如下:

        最后都算完了的结果如下:

        到此为止,我们已经得到了答案,即2个模板直接的距离为26. 我们还可以通过回溯找到最短距离的路径,通过箭头方向反推回去。如下所示:

        到这里,估计大家动手算一下就会明白了。其实很简单,通过例子的学习后再回去看那些枯燥的理论公式就发现很容易了。         在实际应用中,比如说语音识别中的孤立词识别,我们首先训练好常见字的读音,提取特征后作为一个模板。当需要识别一个新来的词的时候,也同样提取特征,然后和训练数据库中的每一个模板进行匹配,计算距离。求出最短距离的那个就是识别出来的字了。

转自:http://www.cnblogs.com/tornadomeet/archive/2012/03/23/2413363.html

dtw算法原理分析与实现
01-09
dtw算法原理。里面有C语言和matlab的代码。适合dtw入门。
论文研究-基于DTW算法的旁路功耗信号动态伸缩对齐.pdf
07-22
在分析DTW算法原理的基础上,得出旁路信号规整路径,给出依据规整路径对信号轨迹进行伸缩重组对齐的方法。对运行于微控制器(AT89C52)中的DES密码算法插入随机时延来模拟信号的未对齐,用该方式进行旁路攻击实验。...
动态时间规整算法DTW原理及代码实现
Thomas会写字
02-09 7723
Dynamic Time Warping(DTW)动态时间规整算法 Dynamic Time Warping(DTW)是一种衡量两个时间序列之间的相似度的方法,主要应用在语音识别领域来识别两段语音是否表示同一个单词。 1. DTW方法原理 在时间序列中,需要比较相似性的两段时间序列的长度可能并不相等,在语音识别领域表现为不同人的语速不同。而且同一个单词内的不同音素的发音速度也不同,比如有的人把“A”这个音拖得很长,或者把“i”发的很短。另外,不同时间序列可能仅仅存在时间轴上的位移,亦即在还原位移的情
机器学习算法(二十三):DTW(Dynamic Time Warping,动态时间调整)
热门推荐
weixin_39910711的博客
08-30 2万+
1DTW(动态时间调整) 动态时间调整算法是大多用于检测两条语音的相似程度,由于每次发言,每个字母发音的长短不同,导致两条语音不完全的吻合,动态时间调整算法对语音进行拉伸或者压缩,使得它们尽可能的对齐。 如上图红圈标注的位置,可以发现下面那条线中有许多的点与之对应,如果换成一个个离散的点表示的话,实际上是对上一条曲线该点进行了拉伸处理,使得它们最大化对齐。 最近在研究时间序列的问题,时间序列类似这个。假如想计算两条天气的时间序列是否相似,由...
DTW(动态时间调整)算法原理
最新发布
weixin_44915288的博客
03-21 1142
用于解决同一句话但说话速度不同的识别问题
DTW(动态时间归整)算法的前世今生
计算机技术博客
10-31 7324
今天和大家分享一下我刚刚学习到的DTW算法。 主要从以下几个方面进行介绍: 1. DTW算法的提出和应用场景。 2. DTW算法的基本原理计算过程。 3. DTW算法具体代码实现。 一、DTW算法的提出和应用场景 Dynamic Time Warping(简称:DTW算法诞生有一定的历史了(日本学者Itakura提出),它出现的目的也比较单纯,是一种衡量两个长度不同的时间序列的相似度的方法。应用也比较广,主要是在模板匹配中,比如说用在孤立词语音识别(识别两段语音是否表示同一个单词),手势识别,视
基于DWT小波变换的数字图像水印算法(Python程序+软件)
weixin_42041127的博客
06-18 6168
本文实现的DWT水印嵌入及提取算法主要包含三部分程序:水印的嵌入、水印的提取、水印图像的攻击
动态时间规整算法——DTW
Serven的博客
06-27 5591
动态时间规整算法——DTW
初识DTW(动态时间规整)算法及Python实现例
chenxy_bwave的专栏
10-30 2万+
DTW( Dynamic Time Warping,动态时间规整)是基于动态规划(Dynamic Programming)策略对两个序列通过非线性地进行时域对准(Timing alignment)调整以便于正确地计算两者之间相似度(similarity)的一种算法。 本文简单介绍DTW算法所针对的问题背景、DTW基本算法流程,并给出简单的Python实现例。
DTW算法原理分析与源码
07-31
音部分除掉),然后用 LPC 算法提取语音信号的特征参数,进行动态归整(DTW 算法)后与模板库 里面的标准语音作比较,最后将识别结果进行 D/A 转化后播放出来。在本部分的设计中,则主要完 成语音识别的模式匹配算法...
基于DTW的编码域说话人识别研究
11-04
摘要:相对解码重建后的语音进行说话人识别,从VoIP的语音流中直接提取语音特征参数进行说话人识别方法具有便于实现的优点,针对G.729 编码域数据,研究基于DTW算法的快速说话人识别方法。 实验结果表明I在相关的...
DTW动态时间归整算法
07-15
DTW(Dynamic Time Warping,动态时间归整)算法,该算法基于动态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法
DWT算法实现代码
05-20
基于小波变换 DWT 的数字水印算法实现代码
dwt 数字水印算法
04-11
基于小波变换的数字盲水印算法,dwt算法,置乱算法
基于MATLAB实现DTW算法
11-01
基于Matlab软件,实现了语音识别中的DTW算法DTW算法使用了时间伸缩技术,解决了以前语音识别中,训练模板和参考模板帧长不一样的问题
语音识别相关资料(DTW HMM MFCC)
08-07
语音识别相关资料,详细描述了语音识别的具体细节。是比较好看的资料.用的方法包括hmm。dtw 。mfcc等。是语音识别系统的设计文档
论文研究-基于数学形态学的时间序列相似性度量研究.pdf
09-12
在八种时间序列测试数据集合上进行分类实验,实验结果表明提出的基于数学形态学的时间序列相似性度量算法在时间序列分类精度上得到有效改善,相比于DTW相似性度量算法,分类精度平均水平提升了8.74%,最高提升20%。
语音识别:时间序列的动态扭曲相似度(DTW算法
gongdiwudu的专栏
03-12 1万+
在时间序列分析中,动态时间扭曲 (DTW) 是一种用于测量两个时间序列之间相似性的算法,这两个时间序列的速度可能不同。例如,即使一个人走得比另一个人快,或者在观察过程中出现加速和减速,也可以使用 DTW 检测步行的相似性。 DTW 已应用于视频、音频和图形数据的时间序列——实际上,任何可以转换为线性序列的数据都可以使用 DTW 进行分析。一个众所周知的应用是自动语音识别,以应对不同的语速。其他应用包括说话人识别和在线签名识别。它还可以用于部分形状匹配应用。 一般来说,......
【图像隐藏】基于DWT算法实现数字水印嵌入提取带各类攻击附matlab代码
matlab_dingdang的博客
03-08 983
1 简介 数字水印是一个隐藏信息的行为,它与数字信号的类型(如;图像,歌曲,视频等)有关,它们的概念都是在相应的数字信号里藏有一个信息,然后通过解密来使它们成功分开。水印隐藏的信息与实际的信号的内容有关。水印算法主要分两种:空间域和变换域。空间域就是把信息嵌入到随机选择的图像点中最不重要的象素位置(Least Significant Bits)LSB,这种水印是不可见的;变换域一般是采用扩展频谱通信技术,它的主要技术有(离散傅里叶变换)DFT,(离散余弦变换)DCT 和 DWT,根据这些不同的变换,把数字
DTW算法 matlab
09-22
DTW算法是一种用于比较两个时间序列相似度的方法。它可以应用于音频识别、语音识别、手写识别等领域。使用matlab实现DTW算法比较简单易懂,并且已经经过测试。然而,DTW算法计算复杂度较高,特别是对于数据量较大...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • ImportError: No module named MySQLdb问题 11860
  • 数据预处理:非数值型特征如何进行编码 7027
  • 爬虫 取得站内最大页数 5909
  • python openpyxl实现添加读写操作(主要针对xlsx格式) 4512
  • DTW算法原理解析 4290

分类专栏

  • python 16篇
  • JAVA 9篇
  • 算法 2篇
  • 人工智能 1篇
  • 机器学习 3篇

最新评论

  • 爬虫 取得站内最大页数

    碎忆: 有源码吗?正则表达式那个

  • 爬虫 取得站内最大页数

    gyt_ynedu: first_html是什么

  • DTW算法原理解析

    qq_16259083: 如果是斜着对角线过来的则是2d(i,j)这句话是为什么呢,如有明白的大佬请指点一二,不胜感激!

  • 爬虫 取得站内最大页数

    清封的心: name 'first_html' is not defined

  • 数据预处理:非数值型特征如何进行编码

    Y Shy: 映射有序特征的时候,性别的female和尺寸的M都映射成1,这样会有问题吗?

大家在看

  • 练手必备!Python编程实战—23个有趣的实战项目带你快速进阶 1142
  • 开山之作!Python数据与算法分析手册,登顶GitHub! 716
  • 有关于推理结果的格式问题 297
  • upload-labs第五关教程 849
  • 人工智能、机器学习、深度学习:技术革命的深度解析 1730

最新文章

  • ROC与AUC
  • 几种交叉验证方式比较及应用
  • 数据预处理:非数值型特征如何进行编码
2019年9篇
2018年2篇
2017年5篇
2016年13篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司凉山网页设计价格桂林网站定制哪家好南山关键词按天收费哪家好永新百度关键词包年推广价格揭阳关键词按天扣费价格温州阿里店铺托管报价海南百度标王多少钱宿州百度竞价多少钱潮州seo排名推荐丽水关键词排名包年推广推荐长葛网站优化软件报价晋城网站关键词优化公司巴中外贸网站设计价格南阳模板网站建设哪家好庆阳设计网站潍坊设计网站哪家好泰州阿里店铺运营海西关键词按天扣费价格大同网络推广报价金华网站优化按天计费报价坪山SEO按天扣费报价钦州企业网站建设哪家好毕节百度竞价包年推广泰州网站优化排名哪家好乐山网站制作设计价格泸州网站seo优化安阳网站设计模板哪家好黄山品牌网站设计马鞍山企业网站改版鄂州网站优化公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化