著录项信息
| 专利名称 | 基于DTW与HMM证据融合的特种车鸣笛声识别方法 |
| 申请号 | CN201210546541.5 | 申请日期 | 2012-12-17 |
| 法律状态 | 授权 | 申报国家 | 中国 |
| 公开/公告日 | 2013-04-24 | 公开/公告号 | CN103065627A |
| 优先权 | 暂无 | 优先权号 | 暂无 |
| 主分类号 | G10L15/12 | IPC分类号 | G;1;0;L;1;5;/;1;2;;;G;1;0;L;1;5;/;1;4查看分类表>
|
| 申请人 | 中南大学 | 申请人地址 | 湖南省长沙市岳麓区麓山南路932号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
| 权利人 | 中南大学 | 当前权利人 | 中南大学 |
| 发明人 | 余伶俐;蔡自兴;吴敏;唐琎;周开军;黄益绍;谭平 |
| 代理机构 | 长沙市融智专利事务所 | 代理人 | 黄美成 |
摘要
本发明公开了一种基于DTW与HMM证据融合的特种车鸣笛声识别方法,包括以下步骤:步骤1:建立车辆鸣笛声样本库;步骤2:预处理步骤;步骤3:车辆鸣笛声特征参数提取及降维处理;步骤4:基于证据融合的特种车鸣笛声识别;分别采用DTW算法和HMM算法得到DTW识别结果和HMM识别结果;若DTW识别结果和HMM识别结果一致,则最终的识别结果与DTW识别结果或HMM识别结果保持一致;若DTW识别结果和HMM识别结果不一致,则进行DS证据理论的识别决策推理,决策输出最终的识别结果。该基于DTW与HMM证据融合的特种车鸣笛声识别方法采用融合识别技术,识别率高。
1.一种基于DTW与HMM证据融合的特种车鸣笛声识别方法,其特征在于,包括以下步骤:
步骤1:建立车辆鸣笛声样本库;
车辆鸣笛声包括警车、消防车、救护车和普通汽车的鸣笛声;从现场采集车辆鸣笛声或从影视资料中截取车辆鸣笛声,形成车辆鸣笛声样本库;样本库中存储的内容均为音频信号;
步骤2:预处理步骤;
对当前采集的汽车鸣笛声进行预加重处理、分帧加窗处理,然后进行端点检测,以分解出汽车鸣笛声每个声段;
步骤3:车辆鸣笛声特征参数提取及降维处理;
提取经过预处理后的汽车鸣笛声中的特征参数,并对该特征参数进行降维处理;
步骤4:基于证据融合的特种车鸣笛声识别;
分别采用DTW算法和HMM算法得到DTW识别结果和HMM识别结果;
若DTW识别结果和HMM识别结果一致,则最终的识别结果与DTW识别结果或HMM识别结果保持一致;
若DTW识别结果和HMM识别结果不一致,则进行DS证据理论的识别决策推理,决策输出最终的识别结果;
所述的步骤3中车辆鸣笛声特征参数提取是指对每段音频信号的每帧提取了以下参数:
短时能量及短时幅度的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差---共14维;
短时过零率的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差—共7维;
基音周期的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差—共7维;
12维MFCC及其一阶差分的均值、标准差、最小值、最大值、动态范围、一阶差分 均值、一阶差分标准差---共168维;
前三个共振峰的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差—共21维;
再加30维对数功率谱的均值;
总计247维特征参数;
所述的降维处理是指通过主成成分分析法实现降维,得到样本特征矢量序列X={X1,X2,…,XN},N取31。
2.根据权利要求1所述的基于DTW与HMM证据融合的特种车鸣笛声识别方法,其特征在于,步骤4中的基于DTW算法的车辆鸣笛声识别,是指:计算测试鸣笛声特征参数与各鸣笛声参考模板间的欧式距离,根据同类声信号间的欧式距离小,而非同类声信号之间的距离大的原理,如果输入声信号与模板之间的距离小于距离阀值DZ,则认为是车辆鸣笛声,否则视为非车辆鸣笛声。
3.根据权利要求1所述的基于DTW与HMM证据融合的特种车鸣笛声识别方法,其特征在于,步骤4中的基于HMM算法的车辆鸣笛声识别的过程为:
车辆鸣笛声样本库中,将DTW分类器检测出的非特种车辆鸣笛声删去后,剩余的车辆鸣笛声样本库中的声料再经过预处理,计算出每句特种车辆鸣笛声降维后的特征矢量,也即观察序列;从车辆鸣笛声样本库中为每类特种车选择三分之一样本经过Baum_welch算法进行训练,对每种车型的鸣笛声信号建立隐马尔可夫参数训练模型,再采用Viterbi算法进行鸣笛声识别。
4.根据权利要求1-3任一项所述的基于DTW与HMM证据融合的特种车鸣笛声识别方法,其特征在于,步骤4中的DS证据理论的识别决策推理的具体步骤为:
设 且满足:
即M(A1)表示取最大值,而M(A2)表示取第二大的
值;
若 则A1为判定结果,其中ε1和ε2为预先设定的门限,ε1和ε2
分别设置为0.1与0.5。
基于DTW与HMM证据融合的特种车鸣笛声识别方法\n技术领域\n[0001] 本发明涉及一种基于DTW与HMM证据融合的特种车鸣笛声识别方法,其中DTW(Dynamic Time Warping)为动态时间归整算法,HMM(Hidden Markov Model)为隐马尔可夫模型。\n背景技术\n[0002] 声音是信息的主要载体之一,人们除视觉外主要通过声音获取信息。随着信息化技术飞速发展,智能化时代早已到来,声目标的探测、识别和定位在许多领域都得到了广泛的应用。同时,声探测和识别技术已经成为信息化战争、工业生产等领域中不可缺少的组成部分。在国外军事大国,声探测和识别技术已经成功应用于反直升机,反坦克智能雷弹的研制。无人驾驶车是智能化技术的综合载体,在其智能决策与驾驶过程中必须具备良好感知能力,其中声音目标的识别是值得利用的可行技术之一。无人驾驶车行驶过程中,各类汽车鸣笛声直接反映了部分路况,而各类特种车辆的智能驾驶行为的决策过程,需对汽车鸣笛声进行有效的检测与识别。因此,研究特种车辆鸣笛声检测与识别的方法对完善无人驾驶车感知能力具有重要意义。\n[0003] 车辆喇叭发声原理是利用衔铁不断上下移动带动金属膜片振动,通过共鸣器产生共鸣,由扬声器发出声音。其音调高低取决于膜片振动频率,音量大小与通过线圈电流大小有关,而电流大小又与喇叭触点的接触压力有关。为此,鸣笛声是一种声信号,是一种媒质振动形式,与语音信号在声学特征(声道模型、基音频率、共振峰)等方面具有可比性。这表明,鸣笛声信号和语音信号均可用能量特征、声道共振峰、梅尔倒谱系数(MFCC)等特征参数来描述,特种车鸣笛声识别可与语音识别采取类似方法。在本发明之前,马氏距离匹配法设置固定阈值,方法过于简单,无法得到好的识别检测率;神经网络具有高非线性和强分类能力,但随着网络增大所学习时间指数增长,其泛化能力有待进一步分析,局部极小问题也是其不足之一;支持向量机(SVM)是一种二进制识别方法,需设计多个二进制SVM方能识别实现多类鸣笛声识别。而融合技术在提高系统的容错性、健壮性以及重组能力方面存在很大优势,而DS证据理论是一种广义概率论,其将概率论中的单点赋值扩展为集合赋值,只需满足比概率论更弱的公理系统,能处理不确定性。因此,在军事、自动控制、人工智能等领域得到了广泛研究。\n发明内容\n[0004] 本发明所要解决的技术问题是提供一种基于DTW与HMM证据融合的特种车鸣笛声识别方法,该基于DTW与HMM证据融合的特种车鸣笛声识别方法采用融合识别技术,识别率高。\n[0005] 发明的技术解决方案如下:\n[0006] 一种基于DTW与HMM证据融合的特种车鸣笛声识别方法,包括以下步骤:\n[0007] 步骤1:建立车辆鸣笛声样本库;\n[0008] 车辆鸣笛声包括警车、消防车、救护车和普通汽车的鸣笛声;从现场采集车辆鸣笛声或从影视资料中截取车辆鸣笛声,形成车辆鸣笛声样本库;样本库中存储的内容均为音频信号;\n[0009] 声属性设置为单声道(8KHz,8位,7KB/s),录制的声信号文件是不同时长,声信号格式为“.wav”。样本库中的鸣笛声尽量模拟真实环境中的车辆鸣笛声。样本库中存储的全是音频信号,不是特征。只有经过特征参数提取后,声信号才提取出特征矢量,用于后文的检测与识别。\n[0010] 步骤2:预处理步骤;\n[0011] 对当前采集的汽车鸣笛声进行预加重处理、分帧加窗处理,然后进行端点检测,以分解出汽车鸣笛声每个声段;\n[0012] 步骤3:车辆鸣笛声特征参数提取及降维处理;\n[0013] 提取经过预处理后的汽车鸣笛声中的特征参数,并对该特征参数进行降维处理;\n[0014] 步骤4:基于证据融合的特种车鸣笛声识别;\n[0015] 分别采用DTW算法和HMM算法得到DTW识别结果和HMM识别结果;\n[0016] 若DTW识别结果和HMM识别结果一致,则最终的识别结果与DTW识别结果或HMM识别结果保持一致;\n[0017] 若DTW识别结果和HMM识别结果不一致,则进行DS证据理论的识别决策推理,决策输出最终的识别结果。\n[0018] 所述的步骤3中车辆鸣笛声特征参数提取是指对每段音频信号的每帧提取了以下参数:【每帧是指鸣笛声库中的笛声经过预处理(预加重、分帧加窗、端点检测)后,将每句笛声平滑为一帧一帧的语音片段。为了减少鸣笛声帧的截断效应,需对鸣笛声进行加窗分帧处理。为使声信号具有短时平稳性。利用交叠分段法进行分帧,使帧与帧之间过渡平滑,保证其连续性。本发明设置帧长为256(帧长为32ms),帧移为80(帧移为10ms)。】[0019] 短时能量及短时幅度的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差---共14维;\n[0020] 短时过零率的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差—共7维;\n[0021] 基音周期的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差—共7维;\n[0022] 12维MFCC及其一阶差分的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差---共168维;\n[0023] 前三个共振峰的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差—共21维;\n[0024] 再加30维对数功率谱的均值;\n[0025] 总计247维特征参数;\n[0026] 所述的降维处理是指通过主成成分分析法实现降维,得到样本特征矢量序列X={X1,X2,…,XN},N取31。\n[0027] 【主要成分分析法是是现有技术,参考文献为:尤鸣宇.语音情感识别的关键技术研究[D].[博士学位论文].杭州:浙江大学,2007.\n[0028] 这31维已不再是原247维中的特征参数,是通过主成分本征值之和占协方差矩阵所有特征值总和的百分比而确定。也即不同的鸣笛库所选择的百分比不同就得到不同降维后的维数。具体步骤见实施方式“3.特征参数提取与降维分析”中。】\n[0029] 步骤4中的基于DTW算法的车辆鸣笛声识别,是指:计算测试鸣笛声特征参数与各鸣笛声参考模板间的欧式距离,根据同类声信号间的欧式距离小(测试声信号与哪类参考模板距离最小,则此类型鸣笛声为识别结果),而非同类声信号之间的距离大的原理,如果输入声信号与模板之间的距离小于距离阀值DZ,则认为是车辆鸣笛声(包括警车、消防车、救护车和普通汽车的鸣笛声),否则视为非车辆鸣笛声。\n[0030] 【这种DTW方法是现有技术,参考文献为:肖利君.基于DTW模型的孤立词语音识别算法实现研究[D].[硕士学位论文].长沙:中南大学,2010.\n[0031] 步骤1:分配两个N×M的矩阵,分别为积累距离矩阵D和帧匹配距离矩阵d;\n[0032] 步骤2:从格点(1,1)出发,D(1,1)=0,通过公式 计算训练模\n板和测试模板的帧匹配距离距阵dis;\n[0033] 步骤3:计算出每个格点(ni,mi)可能的三个前续格点(ni-1,mi)、(ni-1,mi-1)及(ni-1,mi-2)的累积距离D(ni-1,mi)、D(ni-1,mi-1)及D(ni-1,mi-2);\n[0034] 步骤4:利用公式:\n[0035] D[(ni-1,mi-1)]=min{D[(ni-1,mi)],D[(ni-1,mi-1)],D[(ni-1,mi-2)]},求前续格点的累积距离中的最小值,其中,min()表示最小值,再利用公式D[(ni,mi)]=dis[T(ni),R(mi)]+D[(ni-1,mi-1)],计算最小累计距离D[(ni-1,mi-1)]与当前帧的匹配距离dis(i,j)之和,并作为当前格点的累积距离;\n[0036] 步骤5:判断计算过程是否达到格点(N,M),如果达到格点(N,M),将D(N,M)输出,作为模板匹配的结果,否则,转至步骤3继续进行计算。\n[0037] 由于DTW为已有技术所以原文说明书中没有详尽介绍\n[0038] 本发明中,DZ为1×105】\n[0039] 步骤4中的基于HMM算法的车辆鸣笛声识别的过程为:\n[0040] 车辆鸣笛声样本库中,将DTW分类器检测出的非特种车辆鸣笛声删去后,剩余的车辆鸣笛声样本库中的声料再经过预处理,计算出每句特种车辆鸣笛声降维后的特征矢量,也即观察序列;从车辆鸣笛声样本库中为每类特种车选择三分之一样本经过Baum_welch算法进行训练,对每种车型的鸣笛声信号建立隐马尔可夫参数训练模型,再采用Viterbi算法进行鸣笛声识别。【【这种HMM方法是是现有技术。\n[0041] 参考文献为:徐利军.基于HMM和神经网络的语音识别研究[D].[硕士学位论文].武汉:湖北工业大学,2012.\n[0042] HMM是一种基于参数的统计识别方法,HMM的特征参数定义如下:\n[0043] ①N,隐马尔可夫模型中的状态个数。\n[0044] ②M,每个状态中可以观察到的符号数。标记到各个观察符号为V={v1,v2,…,vM},观察系列为O={O1,O2,…,OT}。\n[0045] ③状态转移概率分布A=[aij],其中\n[0046] aij=P[qt+1=j|qt=i]1≤i≤N,1≤j≤N\n[0047] ④观察符号的概率分布B=[bj(k)],其中\n[0048] bj(k)=p(Ot=Vk|qt=j)1≤k≤M,1≤j≤N\n[0049] ⑤初始状态概率分布π=[πi],其中\n[0050] πi=P[q1=i],1≤i≤N\n[0051] 综上所述,一个HMM模型可由2个模型参数N,M和2个概率分布参数A,B来确定,通常隐马可而夫模型定义λ=(A,B,π)。\n[0052] 为了要使所建立的隐马尔可夫模型能解决实际问题,则必须要解决以下三个基本问题:\n[0053] ①识别问题。已知观察系列O和模型λ=(A,B,π),如何计算该模型产生的观察系列概率p(o|λ)。\n[0054] ②寻找与给定观察字符系列对应的最佳的状态系列。已知观察系列O与模型λ,如何确定一个合理的状态系列,使之能最佳地产生O,即如何选择最佳的状态系列q={q1,q2,…,qT}.\n[0055] ③模型训练问题。如何根据观察系列不断修正模型参数(A,B,π),使p(o|λ)最大。\n[0056] 而这三个问题的解决都需要相应的算法,下面就分别介绍相关的算法:\n[0057] (1)前向-后向算法。\n[0058] 这个算法主要用来计算给定一个观察系列O=o1,o2,…,oT以及一个模型λ=(π,A,B)时,有模型λ产生出O的概率p(o|λ)。\n[0059] 前向概率定义为:\n[0060] at(i)=P[o1o2…ot,qt=i|λ]\n[0061] 在模型λ下,前t个时刻的观察系列为{o1,o2,…,ot},且在t时刻处在状态i的概率。计算公式如下:\n[0062] a1(i)=πibi(o1)1≤i≤N\n[0063] \n[0064] 后向概率定义为:\n[0065] βt(i)=P(ot+1ot+2…oT,qt=i|λ)\n[0066] 在给定的模型λ下,从t+1时刻开始到观察结束这一段观察系列为{ot+1ot+2,…,oT},且在t时刻处在状态i的概率。计算公式如下:\n[0067] βT(i)=1\n[0068] \n[0069] 根据前向概率和后向概率可以推到出\n[0070] \n[0071] (2)Baum_welch算法。\n[0072] 这个算法主要用于解决HMM训练问题,即HMM参数估计问题。可描述为:给定一个观察系列O=o1,o2,…,oT,确定一个λ=(π,A,B),使p(o|λ)最大。Baum_welch算法将问题转化为寻找使辅助函数最大化的模型λ,最后推导出的使Q=(λ,λ′)最大化的模型 相应的参数估计公式为:\n[0073] \n[0074] \n[0075] \n[0076] (3)Viterbi算法。\n[0077] 这个算法解决给定一个观察值系列O=o1,o2,…oT和一个模型λ=(π,A,B),如何确定一个最佳状态系列 的问题。\n[0078] “最佳”由不同的定义可以得到不同的结论,这里所讨论的最佳意义上的状态系列* *\nQ是指使P(Q,O|λ)最大所确定的状态系列Q .这可用Viterbi算法来实现,其数学描述如下:\n[0079] 定义δt(i)为时刻t是沿一条路径q1,q2,….,qt,且qt=i,产生出o1,o2,…,ot的最大概率,即有\n[0080] \n[0081] 那么,求取最佳状态系列Q*的过程为:\n[0082] ①初始化:对1≤i≤N,有\n[0083] δ1(i)=πibi(o1)\n[0084] \n[0085] ②递推:对2≤t≤T,1≤j≤N,有\n[0086] \n[0087] \n \n[0088] ③终止:\n[0089] \n[0090] \n[0091] ④路径回溯,确定最佳状态系列:\n[0092] \n[0093] 本发明隐马尔可夫模型(HMM)的实现步骤包括:\n[0094] (1)计算前向概率、后向概率,并初始化HMM参数。\n[0095] (2)利用Baum-welch算法进行模板训练。\n[0096] (3)采用Viterbi算法进行声音识别。\n[0097] 由于HMM为已有技术所以原文说明书中没有详尽介绍】\n[0098] 步骤4中的DS证据理论的识别决策推理的具体步骤为:\n[0099] 设 且满足: 即M(A1)\n表示取最大值,而M(A2)表示取第二大的值;\n[0100] 若 则A1为判定结果,其中ε1和ε2为预先设定的门限,ε1\n和ε2分别设置为0.1与0.5;【Θ表示识别框架,称为假设空间,也即Θ为空间中所有命题的穷举集合。M(Θ)表示在整个识别框架下的任意一个基本概率,也即警车、消防车、救护车和普通汽车鸣笛声中任意一个类型的基本概率。】\n[0101] 式中M是\n[0102] 【设Θ是一个识别框架,或称为假设空间。在识别框架Θ上的基本概率分配是一个[0,1]的函数M,称为mass函数。Θ为所能认识到的所有可能的结果的集合(它有专业的统称,称作识别框架或假设空间,即警车、消防车、救护车和普通汽车鸣笛声类型),Θ Θ\n2 为Θ的幂集,则函数M:2 →[0,1]。mass函数是基本概率分配(Basic Probability Assignment,BPA)的一个取值范围为[0,1]的函数。M1和M2是2个相互独立的基本概率,本发明中采用DTW识别算法中的测试信号与各模板之间的距离倒数的归一化作为一个知识源的基本概率M1,利用HMM中Viterbi算法评分归一化结果作为另一个知识源的基本概率M2。\n[0103] A1,A2是识别框架下的两个元素。\n[0104] 代表两识别方法融合后知识源基本概率的正交和中的\n最大值M(A1)对应的A1识别类型。\n[0105] 代表两识别方法融合后知识源基本概率的正交\n和中的第二大值M(A2)对应的A2识别类型。\n[0106] 也即A1,A2为警车、消防车、救护车和普通汽车鸣笛声中的最有可能的两种鸣笛声识别类型。】\n[0107] 本发明涉及一种基于DTW与HMM的DS证据融合的识别方法在特种车鸣笛声中的应用。主要技术步骤为:鸣笛声样本库建立与预处理、鸣笛声特征参数的提取与降维分析、DTW车辆鸣笛声检测与识别技术、HMM模板训练与鸣笛声识别、DS证据理论的融合识别技术。\n[0108] (1)鸣笛声样本库的建立\n[0109] 车辆鸣笛声库包括警车、消防车、救护车与普通汽车鸣笛声,还包括非车辆的鸣笛声,主要由发动机噪声、说话声、雷声组成;每种声文件属性为单声道(8KHz,8位,7KB/s)不同时段多时长的.wav文件;在实际道路上采集部分鸣笛声,并从影视资料中截取部分鸣笛声。为了扩展声样本,采用播放器循环播放各车辆鸣笛声,以此来模拟车辆的鸣笛声,并利用声采集卡进行不同时段多时长的采集。其中警车、消防车、救护车鸣笛声各采集12句和汽车的鸣笛声采集6句,非特种车辆鸣笛声采集12句,总共录制了54句声文件;\n[0110] 所述的鸣笛声样本库,利用交叉实验验证基于DTW与HMM的DS证据融合算法对特种车鸣笛声识别的有效性;该交叉实验的训练样本和测试样本是相互独立,根据权利要求\n2中每种特种车鸣笛声有12个样本,训练样本使用其中4句,测试样本使用剩下8句;为此对12个样本标号1~12,每4句作为一组,根据排列组合可知 即训练与测试的样本组合有3种情况;利用这3组鸣笛声库分别进行3次独立实验,以降低鸣笛声库不均衡对实验结果的影响;\n[0111] (2)鸣笛声预处理\n[0112] 对特种车鸣笛声的特征参数提取之前,首先需对声信号进行预处理,其目的是提升高频并补偿声门脉冲影响,提高短时分析的稳定性。其步骤包括预加重、分帧加窗、端点检测。\n[0113] 预加重目的是对信号进行平滑处理,使信号频谱变得平坦,以便进行频谱分析,本发明在A/D变换之后设计一个5KHz的低通滤波器,滤除高频噪声,考虑到系统的实时性,采用双线性变换法设计一个5KHz的IIR数字低通滤波器。传统滤波器的设计常采用脉冲响应不变法,但脉冲响应不变法会产生频率响应的混叠失真,而采用双线性变换法,消除了多值变换性,即消除了频谱混叠现象。\n[0114] 预加重数字滤波后,为了减少鸣笛声帧的截断效应,需对鸣笛声进行加窗分帧处理。为使声信号具有短时平稳性,利用交叠分段法进行分帧,使帧与帧之间过渡平滑,保证其连续性。本发明设置帧长为256(帧长为32ms),帧移为80(帧移为10ms)。为了保持声音信号的短时平稳性,降低帧边缘不平滑的影响,分帧后利用窗函数减少由截断处理导致的Gibbs效应,本发明采用汉明窗进行加窗处理。\n[0115] 本发明利用双门限阈值比较法实现端点检测,即基于短时能量和短时平均过零率的检测方法。由于有声部分能量值较大,无声部分过零率较高,通过计算短时能量大致判断出鸣笛声的端点,然后利用过零率找到声音端点相对精确位置,分解出每个声段。以某一救护车鸣笛声端点检测为例,利用双门限阈值比较法实现端点检测如图1所示。\n[0116] (3)鸣笛声特征参数提取及降维分析\n[0117] 所述的声样本库,提取了短时能量及短时幅度的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(14维)。短时过零率的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(7维)。基音周期的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(7维)。12维MFCC及其一阶差分的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(168维)。前三个共振峰的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(21维)。再加30维对数功率谱的均值,共计247维特征参数;\n[0118] 特征向量的维数越大,蕴含的信息越多。然而,特征维数增加,计算量也会相应增加。当训练样本数量有限而特征向量的维数超过一定限度时,可能导致维数灾难(Dimensionality Curse)的出现。在构建系统时,一般会先对高维的特征向量进行降维,使用最能反映分类本质的低维特征空间向量。广义上的特征选取是一种映射变换,通过映射的方式将处于高维空间的特征向量变换到低维子空间中,达到降维目的。为此,本发明将每句鸣笛声提取后组成的247维特征矢量,通过主成成分分析法实现降维,得到样本特征矢量序列X={X1,X2,…,XN},本发明中鸣笛声特征矢量可降至31维。此降维后的特征参数找不到原始特征参数,但尽可能多地保存了相关信息。应用到分类器中,不仅降低了时间复杂度,也去除了一些孤立点或噪声点等干扰因素。\n[0119] (4)基于DTW与HMM证据融合的特种车鸣笛声识别\n[0120] 利用DS证据融合算法将DTW与HMM对特种车鸣笛声的识别结果进行改进,有效提高特种车鸣笛声的识别率及其可信度;具体表现在:\n[0121] 当利用DTW(动态时间规整法)实现车辆鸣笛声的检测与识别时,利用权利要求2中样本训练各类鸣笛声模板后,提取测试鸣笛声降维后的特征矢量,计算累积距离。当测试\n6\n鸣笛声与训练模板间的距离阀值选取4×10时,则42句车辆鸣笛声被检测为车辆鸣笛声的正确率为100%,而12句非车辆鸣笛声则有4句被检测为特种车鸣笛声,只有8句检测\n5\n正确,检测正确率为66.7%;当减小阀值(设置阀值为5×10时),测试结果为42句车辆鸣笛声检测率为79.49%,而12句非车辆鸣笛声检测率为提高至75%;本实施过程中选择\n5\n阈值为1×10,可得非车辆鸣笛声检测率为100%;而利用DTW进行各特种车辆鸣笛声识别时,其识别率分别为警车110识别率72.7%;消防车119识别率54.5%;救护车120识别率72%;汽车鸣笛声识别率67%;本发明发现利用DTW检测时,一方面需增加训练模板个数,但随着个数的增多,系统的计算时间增加,另一方面各鸣笛声与训练模板间的距离阈值选取需适当,否则其检测效率不高;\n[0122] 当利用HMM(隐马尔科夫)方法实现特种车鸣笛声识别时,根据权利要求2中声库训练模板后,得警车与一般汽车鸣笛声具有较高的识别率,而消防车与救护车的识别率相对不高;通过增加训练样本的个数,可使系统的识别率有所提高;当训练样本为3句时消防车鸣笛声识别率为55%,救护车识别率为82%;当训练样本为4句时,消防车鸣笛声识别率上升为82%,救护车识别率为85%;通过实验发现:训练样本个数的增加,会导致HMM模型的不收敛,从而无法建立相应的模板库,且会导致训练时间延长;因此模型训练中,不可任意增加训练样本的个数;另外,若DTW没有很好的检测出特种车辆鸣笛声和非特种车辆鸣笛声,也会是系统的识别率降低;因此,欲提高系统识别率,一方面要提高DTW分类器的检测效率,另一方面需提高HMM模型训练效率;\n[0123] DS证据融合算法首先将DTW初步识别出的鸣笛声类别与HMM识别出的鸣笛声类别进行核对,若两者识别的结果一致,则不进行DS证据理论的推理,最终识别结果将直接输出该识别结果;若两者识别结果不一致,则进入DS证据理论的决策推理过程;该过程中利用DTW识别算法中的测试信号与各模板之间的累积距离D倒数的归一化结果作为一个知识源M1的基本概率,采用HMM中归一化后的Viterbi算法评分作为另一个知识源M2的基本概率,而后求解两独立知识源基本概率的正交和,最后利用基本概率赋值的最大判决法确定各特种车鸣笛声的识别结果;根据建立的声样本库,采用交叉实验验证方法,得到警车鸣笛声识别率为98%、消防车鸣笛声识别率为93%、救护车鸣笛声识别率为95%、一般汽车鸣笛声识别率为96%。\n[0124] 具体来说,将DTW与HMM鸣笛声识别方法进行DS证据融合,裁决出最后的车辆鸣笛声识别类型。首先,需利用DTW的车辆鸣笛声识别结果与HMM的车辆鸣笛声识别结果。\n首先,判断若与两算法识别的结果一致,则最终的识别结果与两算法识别结果保持一致;若两算法识别结果不一致,则利用DS证据理论DTW算法的各鸣笛声距离D倒数与HMM算法的Viterbi算法评分Q归一化后融合计算,决策推理出一个独立的最终车辆鸣笛声类型。其中DS证据融合具体内容包括:采用DTW识别算法中的测试信号与各模板之间的距离倒数的归一化作为一个知识源的基本概率M1,利用HMM中Viterbi算法评分归一化结果作为另一个知识源的基本概率M2。也即根据识别类型(警车、消防车、救护车和普通汽车的鸣笛声)和加权系数确定基本概率。定义:\n[0125] αi= max{C i(oj)|j = 1,2, …,Ns},\n其中 Ns为识别目标的类型数,本发明\n为4;M为所用识别方法数,本发明为2;Ci(oj)为识别方法i对识别类型oj的关联系数,根据识别算法的性质与效果来确定。λi为识别方法i的加权系数,取值在[0,1]之间;αi为识别方法i的最大相关系数;βi为识别方法i的相关分配值;Ri为识别方法i的可靠系数。\n为此,可得识别方法i对识别目标类型oj的基本概率为:\n[0126] \n[0127] 识别方法i的不确定性概率为\n[0128] \n[0129] 在本发明中,仅用了DTW与HMM两种识别算法进行鸣笛声识别,所以i取值为1或\n2,设i=1时, 而i=2时,Ci(oj)=Qj;其中D为动态距离,Q为HMM算法的\nViterbi算法评分。也即利用DS证据理论对归一化后的DTW算法的各鸣笛声距离D倒数与HMM算法的Viterbi算法评分Q归一化后融合计算,决策推理出一个独立的最终车辆鸣笛声类型。\n[0130] 此融合计算中,设两基本概率赋值M1与M2焦元分别为Ak和Bk,又设:\n[0131] \n[0132] 并求解两知识源基本概率的正交和为:\n[0133] \n[0134] K表示冲突量,若K≠0,则m确定一个基本概率赋值;若K=0,则M1,M2矛盾,不能对基本概率赋值进行组合。用D-S组合规则得到组合的基本概率赋值后,根据得到的M(C)来进行目标判断。本发明采用基于基本概率赋值最大判决法确定各特种车鸣笛声的识别结果。即设 且满足:\n[0135] \n[0136] 若 则A1为判定结果,其中ε1和ε2为预先设定的门限,本发\n明中分别设置为0.1与0.5。\n[0137] 在本发明所建立的样本库空间中,利用DTW与HMM识别的证据融合方法,采用样本交叉验证完成实验,分别得到警车鸣笛声识别率为98%、消防车鸣笛声识别率均为93%、救护车鸣笛声识别率均为95%、一般汽车鸣笛声96%识别率。该方法的优点在于当两种识别方法的判定结果不同时,通过融合识别就能判断出正确目标。即当其中某一识别方法得信息不确定或不正确甚至两种识别方法都不确定或不正确时,系统仍然有较高的识别率。\n采用该方法使系统的识别率提高,系统的误判率降低。这说明D-S证据理论能有效地提高鸣笛声的识别能力,增强系统的置信度,降低识别的不确定性,改善检测识别性能。本发明利用证据融合技术,以期提高特种车辆鸣笛声识别率及其可信度升高。\n[0138] 有益效果:\n[0139] 本发明的基于DTW与HMM证据融合的特种车鸣笛声识别方法,其主要步骤包括建立特种车鸣笛声样本库与预处理、鸣笛声特征参数的提取与降维分析、DTW车辆鸣笛声检测与识别技术、HMM模板训练与特种车鸣笛声识别、DS证据理论的融合识别技术。利用DTW将非鸣笛声从样本库中剔除,并利用DTW鸣笛声初步识别结果与HMM识别出的鸣笛声类别进行核对。若两者识别结果一致,直接输出该识别结果判定为最终的鸣笛车类型;若两者识别结果不一致,则设计DS证据理论对DTW与HMM算法进行融合识别决策推理,最终得到最大可能的车辆鸣笛声类型。其中两知识源的基本概率设计为:在DTW识别算法中,归一化后的测试鸣笛声信号与各模板间的距离倒数作为一个知识源的基本概率;在HMM中,归一化后的Viterbi算法评分作为另一个知识源的基本概率;并求解两知识源基本概率的正交和,通过基本概率赋值最大判决法确定各特种车鸣笛声的识别结果。同时,本发明验证了鸣笛声的短时能量及短时幅度、短时过零率、基音周期、12维MFCC及其一阶差分、前三个共振峰的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差,以及30维对数功率谱利用主成成分法降维后作为识别特征参数的有效性。并与单纯的DTW和HMM识别算法相比,基于DS证据融合的DTW与HMM特种车鸣笛声识别方法能有效提高特种车鸣笛声的识别率及其可信度。\n[0140] 本发明的优点在于:\n[0141] 1.通过对各类鸣笛声的分析,提取247维特征作为鸣笛声识别的参数,包括短时能量及短时幅度、短时过零率、基音周期、12维MFCC及其一阶差分、前三个共振峰的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差,以及30维对数功率谱的均值,并用PCA降维至31维。利用DTW算法,与HMM识别算法验证了特征参数及其降维方法对特种车鸣笛声识别的有效性;\n[0142] 2.DTW与HMM证据融合方法选用声样本库的训练样本和测试样本是相互独立的。\n并利用多组鸣笛声库分别进行多次独立实验,以降低鸣笛声库不均衡对实验结果的影响;\n[0143] 3.利用DS证据融合算法提高特种车辆识别效率,提供一种实用性能良好的鸣笛声识别系统。当DTW与HMM一致时,可提升识别结果的可信度;当DTW与HMM产生不一致的识别结果,则利用DS证据理论融合决策得到最可信的识别结果;也即当某一识别方法得信息不确定或不正确,甚至两种识别方法都不确定或不正确时,系统仍然有较高的识别率;\n[0144] 4.基于DS证据理论的融合识别方法实现简易,实时性好,并提高了特种车鸣笛声识别率,增强系统的置信度,降低识别的不确定性,改善检测识别性能。\n附图说明\n[0145] 图1为救护车端点检测图;\n[0146] 图2为基于DTW算法特种车辆鸣笛声的检测原理图;\n[0147] 图3为HMM声信号识别原理图;\n[0148] 图4为预加重数字滤波器响应曲线及时频域波形图;(图a为数字低通滤波器的幅值响应曲线,图b为警车滤波前后的时频域波形图))\n[0149] 图5为端点检测流程图;\n[0150] 图6为DTW算法流程图;\n[0151] 图7为HMM实现框图;\n[0152] 图8为HMM模型训练流程图;\n[0153] 图9为基于DTW与HMM的DS证据融合的识别方法框图。\n具体实施方式\n[0154] 以下将结合附图和具体实施例对本发明做进一步详细说明:\n[0155] 实施例1:\n[0156] 参见图1-9,本实例的具体步骤为:\n[0157] 1.车辆鸣笛声库建立\n[0158] 在本发明中,车辆鸣笛声库主要包括警车、消防车、救护车和汽车鸣笛声,为使系统声库建立具有可靠性及普遍适用性,需要对每种特种车辆鸣笛声进行多次循环采集,且每个声音需要录制多个不同时间段不同时间长度的.wav文件。此外,也需录制一些非特种车辆鸣笛声,测试算法有效性。本发明在实际道路上采集部分鸣笛声,并从影视资料中截取部分鸣笛声。为了扩展声样本,采用播放器循环播放车辆鸣笛声,以此来模拟车辆的鸣笛声,并利用声采集卡进行不同时段多时长的采集。同时,本发明样本库中录制一些非特种车辆鸣笛声,包括发动机噪声、说话声、雷声等其他声音。其中鸣笛声库中警车、消防车、救护车鸣笛声各采集12句,普通汽车鸣笛声采集6句,非车辆鸣笛声采集12句,总共录制了54句声文件,在识别过程中选择一部分文件进行训练,而后再利用其他文件进行测试。本发明基于证据融合的识别实验采用交叉验证方法,即在实施过程中,每种特种车鸣笛声有12个样本,训练样本使用其中4句,测试样本使用剩下8句。对12个样本分别标号1~12,每4句作为一小组,根据排列组合可知 即训练与测试的样本组合有3种情况。利用这3组鸣笛声库分别进行3次独立实验,综合计算识别率,以降低鸣笛声库不均衡对实验结果的影响。\n[0159] 2.鸣笛声预处理\n[0160] (2-1)预加重数字滤波器\n[0161] 设计一个模拟滤波器,再通过双线性变换法转换为由S域变换到Z域的5KHZ的低通数字滤波器。本发明设计一个巴特沃斯IIR数字低通滤波器,其中通带边界频率fp:fp=\n5000Hz,通带波纹Rp:Rp=1db,阻带边界频率fs:fs=5500Hz,阻带衰减Rs:Rs=30db,采样频率Fs:Fs=20000Hz,数字低通滤波器的幅值响应曲线如图4(a)所示。当输入信号的频率低于5000Hz时,允许信号完全通过,当输入信号频率高于5000Hz时,随着输入信号频率的升高,其幅值衰减越厉害,从而达到滤除高频信号的目的。图4(b)为特种车警车滤波前后时频域波形图。\n[0162] (2-2)分帧加窗处理\n[0163] 分帧是采用可移动的有限长度窗口进行加权而实现,可采用连续分段法,但一般采用交叠分段法,目的是为了使帧与帧之间过渡平滑,保证其连续性。鸣笛声信号的分帧处理,实际上是对各帧进行某种变换或运算。设这种变换或运算用T[ ]表示,x(n)为输入声信号。\n[0164] 加窗处理的不同窗口使信号能量的平均结果不同,矩形窗的谱平滑,但加矩形窗会导致波形细节丢失;而汉明窗则刚刚相反,可有效克服泄漏现象,具有平滑的低通特性,因此,在时域内进行信号处理时,一般选择加矩形窗,而在频域内进行信号处理时,一般选择加汉明窗或者汉宁窗,本发明采用汉明窗进行加窗处理。设w(n)为窗序列,h(n)是与w(n)有关的滤波器,则各帧经处理后的输出可表示为式(1):\n[0165] \n[0166] \n[0167] (2-3)端点检测\n[0168] 端点检测的目的是找到鸣笛声开始和结束的位置。有效的端点检测不仅能使处理时间减到最小,而且能排除无声段的噪声干扰,从而使识别系统具备良好的识别性能,降低数据处理时间。本发明采用基于短时能量和短时平均过零率检测的双门限阈值比较法。在背景噪声电平较小时,短时能量更有效,而在背景噪声电平较大时,短时平均过零率更为有效。本发明采用的端点检测算法具体步骤如下,如图5所示:\n[0169] (1)将输入的情感语音信号加窗分帧,帧长选为32ms(256点),帧移为10ms(80点),窗函数选为汉明窗;\n[0170] (2)设定较高能量门限amp1=10,较低能量门限amp2=2;以及过零率较高门限zcr1=10,较低门限zcr2=5;根据采用的语音片段设置最大静音段maxsilence=\n8(80ms)最小语音长度minlen=15(150ms);设置初始参数状态status=0(其中Status为0代表正在无声段,Status为1代表可能进入语音段,Status为2代表进入语音段,Status为3代表有音段结束),计数器count=0,静音片段silence=0,x1=0,x2=0;\n[0171] (3)计算短时过零率,短时能量;\n[0172] (4)根据(3)中计算得到的amp重新调整amp1和amp2;\n[0173] (5)进入循环设定n的范围是从1到短时过零率采集到的数组总维数,如果status=0或1,进入(6),否则进入(9);\n[0174] (6)如果amp(n)>amp1则证明进入了语音段,x1=max(n-count-1,1)并令状态status=2,silence=0,计数器每次自加1,进入(9);\n[0175] (7)如果amp(n)>amp2或者zcr(n)>zcr2,则可能进入了语音段,令状态status=1计数器每次自加1;\n[0176] (8)如果不能满足(7)的条件,则一定处于静音段,令状态status=0,计数器为\n0;\n[0177] (9)status=2,证明已经进入有声段,如果amp(n)>amp2或者zcr(n)>zcr2,表明有音段继续,进入(12),否则进入(10);\n[0178] (10)进入无音段,语音可能会结束,如果无音段silence小于设定的门限maxsilence,则可能是有音段中出现的短暂无音,不用处理,进入(12),否则进入(11);\n[0179] (11)无音段长度大于门限,则判断有音段是否够长;\n[0180] 如果足够长则有音段结束statu=3,由count向前找到最后一个满足amp(n)>amp2或者zcr(n)>zcr2的帧,作为有音段的终止帧;\n[0181] 如果有音段不够长,则认为这段有音段为噪声干扰,不予记录,此前确定的起始帧也无效,令status=0,silence=0,count=0,进入(12);\n[0182] (12)如果待处理信号的所有帧已经处理完,则算法结束count=\ncount-silence/2,x2=x1+count-1,有效语音起点帧n1=((x1+2)/3)*256有效语音结束帧n2=((x2+2)/3)*256,否则退回到(5)。\n[0183] 某一救护车鸣笛声端点检测检测结果如图1所示,端点检测有效地减少了无声段,大多保存了有效的鸣笛声段。\n[0184] 3.特征参数提取与降维分析\n[0185] 车辆鸣笛声特征参数包括:短时能量及短时幅度的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(14维)。短时过零率的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(7维)。基音周期的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(7维)。12维MFCC及其一阶差分的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(168维)。\n前三个共振峰的均值、标准差、最小值、最大值、动态范围、一阶差分均值、一阶差分标准差(21维)。再加30维对数功率谱的均值,共计247维。其中对数功率谱均值(mean of the log-spectrum,MLS)是通过对每句鸣笛声的每帧的频带宽进行计算,主要将时域信号转换为频域信号。为便于分析比较,将每类鸣笛声的所有样本的MLS均值计算公式如下:\n[0186] \n[0187] 其中k是频率带宽,Nl是第l类鸣笛声的样本数目,Ni是第i句鸣笛声的帧数,vil(n,k)是信号i的第n帧的离散傅里叶变换。本发明中k的带宽范围为0~5000Hz。经计算前30维就包含了MLS的大部分信息,故选择了30维的MLS用于此鸣笛声识别系统。\n[0188] 本发明利用主成分分析法降低参数维数,此降维后的特征参数找不到原始特征参数,但尽可能多地保存了相关信息。其具体实施过程为:假设给定n个d维的训练样本特征向量x1,x2,…,xn,xi均为列向量形式,可将其构成一个d行n列的数据矩阵Xd×n=[x1,x2,…,xn],则主成分分析的计算流程如下:\n[0189] ①计算特征向量x1,x2,…,xn的均值μ和协方差矩阵COVd×d。\n[0190] ②计算矩阵COVd×d的特征值和特征向量,每个特征向量都对应一个特征值,组成矩阵COVd×d行数个特征值-特征向量对(λi,ei),按照特征值由大到小的顺序排列为:\n(λ1,e1),(λ2,e2),…,(λd,ed),其中λ1≥λ2≥…≥λd≥0。\n[0191] ③选取前k个特征值(k<<d)所对应的特征向量e1,e2,…,ek作为主成分方向向量,即低维子空间的基向量,构造出大小为d×k的映射矩阵A,其中A的第i列(1≤i≤k)即所选取的第i个特征向量。参数k的大小一般按照所选取的主成分本征值之和占协方差矩阵所有特征值总和的百分比来确定。\n[0192] ④将高维原始数据按照PCA(x)=AT(x-μ)投影到低维子空间。\n[0193] 本发明将每句鸣笛声提取后组成的247维特征矢量,通过主成成分分析法实现降维至31个量。决定降维至31维的关键因素在于:主成分本征值之和占协方差矩阵所有特征值总和的百分比。本发明中该百分比取值为98%,所以可将247维特征矢量70降至31维,即不同的鸣笛库所选择的百分比不同得到不同降维后的维数。\n[0194] 4.基于DTW算法车辆鸣笛声的检测与识别\n[0195] 设测试鸣笛声模板T={T(1),T(2),…,T(n),…,T(N)},n为测试鸣笛声帧的时序标号,N为鸣笛声包含帧的总数,T(n)为第n帧的特征矢量。设参考鸣笛声模板为R={R(1),R(2),…,R(m),…,R(M)},m为时序标号,M为帧总数,R(m)为第m帧的特征矢量。计算T与R间的距离D[T,R],距离越大则表示相似度越低,反之距离越小相似度就越高。如果n表示测试模板T的帧号,m表示训练模板R的帧号,则d[T(n),R(m)]就为这两帧特征矢量之间的距离。如果N=M时,进行直接计算。否则就要需要将T(n)和R(m)对齐,对齐使用线性扩张的方法;当N<M时,需采用动态规划(DP)的方法,再计算与{R(1),R(2),…,R(M)}之间的距离。即寻找一条通过网络中多个格点的路径,路径通过的格点为参考模板和测试模板中进行计算的帧号。但这个路径是不能任意选择的,因为任何一种声音发音快慢都不是固定不变的,但各部分的先后次序不会发生改变的。所求最佳路径也就转化为求一个最佳函数的问题,\n[0196] \n[0197] 但要求是其累聚距离最小,即D[c(k)]=d[c(k)]+min D[c(k-1)]。DTW算法的具体实施流程如图6所示。先建立两个矩阵dis和D,d为帧匹配距离,D为累积距离,通过循环计算,计算出训练模板和测试模板的帧匹配距离距阵dis,并进行动态规划,计算出每个格点(i,j)可能的三个前续格点的累积距离。利用最小值函数找到前续格点的累积距离中的最小值,与当前帧的匹配距离dis(i,j)相加作当前格点的累积距离,并将D(n,m)输出作为模板匹配的结果。分配两个N×M的矩阵,分别为积累距离矩阵D和帧匹配距离矩阵d,其中帧匹配距离矩阵d(i,j)的值为测试模板的第i帧与参考模板的第j帧间的距离。D(N,M)即为最佳匹配路径所对应的匹配距离。\n[0198] DTW对车辆鸣笛声进行检测时,首先根据模板库设计合理的距离阈值,并对测试声信号经预处理,特征参数提取及降维后,利用上述DTW算法(如图6的计算流程)计算测试信号与各个模板之间的距离,当此距离小于给定的阈值时,则认为是车辆鸣笛声,否则视为非车辆鸣笛声,其检测原理如图2所示。\n[0199] 采用DTW算法实现特种车辆鸣笛声初步分类识别时,首先进行模板训练,将四种车辆鸣笛声的特征模板存储在矩阵ref(j)中。而后提取测试声信号降维后的特征矢量,存储在矩阵test(i)中,利用上述动态时间规整DTW算法计算测试信号与各个参考模板之间的距离,test(i)与ref(j)中最小距离对应的参考模型记为车辆鸣笛声识别结果。\n[0200] 经分析可知,采用DTW算法实现特种车辆鸣笛声初步分类识别时,能够有效检测出非特种车辆鸣笛声,但各特种车鸣笛声识别率不高,亟待进一步改进,提高各特种车辆鸣笛声识别率。同时,利用DTW检测时,一方面需增加训练模板个数,但随着个数的增多,系统的计算时间就会增加,另一方面阈值选取需适当,否则其检测效率不高。\n[0201] 5.基于HMM算法特种车辆鸣笛声的识别\n[0202] (5-1)Baum_welch算法。\n[0203] 这个算法主要用于解决HMM训练问题,即HMM参数估计问题。可描述为:给定一个观察系列O=o1,o2,…,oT,确定一个λ=(π,A,B),使p(o|λ)最大。Baum_welch算法将问题转化为寻找使辅助函数最大化的模型λ,最后推导出的使Q=(λ,λ′)最大化的模型 相应的参数估计公式为:\n[0204] \n[0205] \n[0206] \n[0207] 为了保证系统的可靠性及普遍适用性,需有大量的观察系列参与训练,也即对每个隐马尔可夫模型,需收集大量声信号数据,分别计算出各自的特征参数,再对隐马尔可夫模型进行重估。\n[0208] (5-2)Viterbi算法。\n[0209] 这个算法解决给定一个观察值系列O=o1,o2,…oT和一个模型λ=(π,A,B),如何确定一个最佳状态系列 的问题。“最佳”由不同的定义可以得到不同的\n* *\n结论,这里所讨论的最佳意义上的状态系列Q是指使P(Q,O|λ)最大所确定的状态系列Q .这可用Viterbi算法来实现,其数学描述为:定义δt(i)为时刻t是沿一条路径q1,q2,…,qt,且qt=i,产生出o1,o2,…,ot的最大概率,即有\n[0210] \n[0211] 那么,求取最佳状态系列Q*的过程为:\n[0212] ①初始化:对1≤i≤N,有\n[0213] δ1(i)=πibi(o1)\n[0214] (8)\n[0215] ②递推:对2≤t≤T,1≤j≤N,有\n[0216] \n[0217] ③终止:\n[0218] \n[0219] ④路径回溯,确定最佳状态系列:\n[0220] \n[0221] (5-3)隐马尔可夫模型\n[0222] 隐可马尔夫模型实现流程如图7所示,隐可马尔夫模型的识别采用viterbi算法,通过在模型的输入端输入一个HMM的模型参数,以及一个测试用的特种车辆鸣笛声观察序列,然后计算出它对该模型的输出概率,并给出最佳的状态路径,在训练过程中,利用Baum-welch算法,计算转移概率,为每个输出观察序列计算各种参数,然后再对HMM的特征参数进行重估,将新参数作为输出变量返回。其训练流程如图8所示。隐马尔可夫模型(HMM)实现包括:\n[0223] ①首先描述隐马尔可夫模型的数据结构,将隐马尔可夫模型的所有参数都保存在一个结构中。②高斯混合的输出概率的计算。\n[0224] ③前向概率、后向概率及其他参数的计算。\n[0225] ④HMM参数的初始化。\n[0226] ⑤利用Baum-welch算法进行模板训练。\n[0227] ⑥采用Viterbi算法进行声音识别。\n[0228] 6.基于DTW与HMM的DS证据融合的识别方法\n[0229] 当DTW与HMM识别的结果一致,则不进行DS证据理论的推理,直接输出两种识别算法一致的识别结果。若两者识别结果不一致,则进入DS证据理论的识别决策推理,决策输出最终的识别结果。其中DS证据理论中首要任务是确定不同知识源得到的概率分配函数,而后求解其正交和M(C)。最后,利用基于基本概率赋值的方法最大判决法确定各特种车鸣笛声的识别结果。\n[0230] 如果将所有DTW识别算法与HMM识别算法所表达的鸣笛声类型的并集看作整个识别框架,则要满足基本概率赋值函数的定义要求,就需要对DTW距离倒数与HMM中Viterbi算法评分输出进行统一处理,论文采用归一化的方法。本发明利用DTW识别算法中的测试信号与各个模板之间的累积距离倒数的归一化结果作为一个知识源M1的基本概率,采用HMM中Viterbi算法评分归一化结果作为另一个知识源M2的基本概率。具体实施过程为:\n根据识别类型(警车、消防车、救护车和普通汽车的鸣笛声)和加权系数确定基本概率。定义:\n[0231] αi= max{C i(oj)|j = 1,2, …,Ns},\n其中 Ns为识别目标的类型数,\n本发明为4;M为所用识别方法数,本发明为2;Cj(oj)为识别方法i对识别类型oj的关联系数,根据识别算法的性质与效果来确定。λi为识别方法i的加权系数,取值在[0,1]之间;αi为识别方法i的最大相关系数;βi为识别方法i的相关分配值;Ri为识别方法i的可靠系数。为此,可得识别方法i对识别目标类型oj的基本概率为:\n[0232] 识别方法i的不确定性概率为\n[0233] 在本发明中,仅用了DTW与HMM两种识别算法进行鸣笛声识别,所以i取值为1或\n2,设i=1时, 而i=2时,Ci(oj)=Qj;其中D为DTW距离,Q为HMM算法的\nViterbi算法评分。也即利用DS证据理论对归一化后的DTW算法的各鸣笛声距离D倒数与HMM算法的Viterbi算法评分Q归一化后融合计算,决策推理出一个独立的最终车辆鸣笛声类型。\n[0234] 此融合计算中,设两基本概率赋值M1与M2焦元分别为Ak和Bk,又设:\n[0235] \n[0236] 并求解两知识源基本概率的正交和为:\n[0237] \n[0238] K表示冲突量,若K≠0,则m确定一个基本概率赋值;若K=0,则M1,M2矛盾,不能对基本概率赋值进行组合。用D-S组合规则得到组合的基本概率赋值后,根据得到的M(C)来进行目标判断。\n[0239] 此决策推理方法主要有三种:基于基本概率赋值的方法,基于信任函数的方法和基于最小风险的方法。本发明采用基于基本概率赋值最大判决法确定各特种车鸣笛声的识别结果。即设 且满足:\n[0240] 若 则A1为判定结果,其中ε1和ε2为预先设定的门限,本发\n明中分别设置为0.1与0.5。如表1所示为实施过程中基于DTW与HMM的DS证据理论融合识别结果。\n[0241] 当DTW与HMM识别的结果一致,则不进行DS证据理论的推理,直接输出两种识别算法一致的识别结果。若两者识别结果不一致,则进入DS证据理论的识别决策推理,决策输出最终的识别结果。其中DS证据理论中首要任务是确定不同知识源得到的概率分配函数。而后求解其正交和,如式(12)。最后,利用基于基本概率赋值最大判决法确定各特种车鸣笛声的识别结果。本发明将DTW与HMM对特种车鸣笛声识别率进行融合,提升识别率的正确可信度。\n[0242] 7.DTW与HMM的DS证据融合的识别方法结果分析\n[0243] 动态时间归整(Dynamic Time Warping,DTW)利用动态规划思想,常被利用于语音孤立词识别,解决了发音长短不一的模板匹配问题,可借鉴用于鸣笛声检测与识别中。同时,隐马尔科夫模型(HMM)是一个时间序列模型,也是一个无记忆的非平稳随机过程,具有很强的表征时变信号能力,也适用于特种车鸣笛声识别这种动态模式分类器。为此,本发明利用DTW作为分类器对车鸣笛进行检测与初步识别,再采用HMM分类器对各类特种车鸣笛声进行识别,最后通过DS证据理论对DTW与HMM鸣笛声识别结果进行决策融合,得到特种车鸣笛声最终识别结果,有效降低系统的误判率,使其识别率提高,并提升识别结果的可靠性。其过程如表1所示。\n[0244] 本发明请求保护的范围并不仅仅局限于本具体实施方式的描述。表1基于DTW与HMM的DS证据融合的识别结果\n[0245]
法律信息
- 2015-07-29
- 2013-05-29
实质审查的生效
IPC(主分类): G10L 15/12
专利申请号: 201210546541.5
申请日: 2012.12.17
- 2013-04-24
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-02-23
|
2010-10-18
| | |
2
| |
2011-08-17
|
2010-12-31
| | |
3
| |
2003-11-05
|
2001-09-05
| | |
4
| |
2008-03-19
|
2007-10-31
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |