基于行车声音端点检测的交通量统计
2020-04-08马庆禄刘丰杰
马庆禄, 邹 政, 刘丰杰
(重庆交通大学交通运输学院,重庆 400074)
准确的交通量采集方法有助于交通发展规划,便于掌握交通运行规律,为交通系统的智能管控及道路工程建设提供数据支撑[1]。在交通量监测系统中,交通量采集的主要方法包括感应线圈检测[2]和视频检测[3]。感应线圈检测器前期投入较少、可靠性高,但维护、重新安装困难,需封闭车道、破坏路面,从长期来看运营成本较高[4]。视频检测器能提供可视图像并检测多条车道的交通量,但检测精度稳定性不高,易受整个系统软、硬件的限制,大型车辆遮挡随行的小型车辆、积水反射或昼夜转换可造成检测误差且图形处理计算量大、实时性差[4]。与感应线圈检测器相比,音频检测器维护成本较低且不会对路面造成破坏;与视频检测器相比,音频检测器不受遮挡物、光照强度和天气条件的影响,同时,声学信号处理所要求的计算负荷与视频图像处理相比减少了。基于行车声音的交通量检测,正逐步成为交通流参数采集领域中的重要方法[5-8]。
外国基于行车声音提取交通流参数的研究比中国起步要早且研究内容涉及交通量、交通密度以及车型等交通流参数的提取。Nooralahiyan等[9]提取了3种不同车型的行车声音的线性预测系数(linear prediction coefficient,LPC)特征,然后利用神经网络对150组行车声音的LPC特征进行训练,结果显示车型的正确识别率为84%。Vij等[10]通过分析从智能手机的麦克风传感器采集的累积声信号,提出了一种经济有效的道路交通运行状态推断方法,对于二值交通场景分类(“繁忙街道”与“安静街道”),梅尔频率倒谱系数(Mel frequency cepstral coefficients,MFCC)特征足以获得100%的总体准确率。Borkar等[11]开发了基于MFCC表征的神经模糊分类器以分类3种不同交通密度等级的交通流,结果显示分类精度超过95%。Lefebvre等[12]提取了多车道情况下的行车声音的MFCC特征向量并利用支持向量机(support vector machine,SVM)估算了11.5 d的交通量,实验结果显示交通量的估算误差在85%左右。Mato-Méndez等[13]提出了一种基于立体声记录的系统,该系统设计用于检测车辆通过和识别车辆类别,该系统将车辆类型分为了摩托车、汽车和卡车,实验测试了约761个信号,结果显示在每个类别中正确识别的约95%。与外国相比,中国利用行车声音提取交通流参数的研究文献则比较少。曹丽娜等[14]基于美国联邦公路管理局(Federal Highway Administration,FHWA)噪声预测模型推断出各车型车辆的小时车流量、平均车速是影响交通噪声变化的主要指标,通过实验证明了假日期间在大型车辆没有有效增加的前提下,仅小型车辆大幅增加,交通噪声增加值相对有限,亦即大型车带来的噪声对交通噪声起决定作用,该结论具有一定的参考价值。但文献[14]只能根据交通噪声变化值判断大型车辆数是增加了还是减少了,而不能得出大型车辆数增加或减少了多少。何小华[15]提出了在单车道、少流量的情况下对采集的行车声音进行端点检测的方法,首先判断汽车信号的存在,然后在检测到的汽车信号中截取峰值作为后续提取特征参数的目标帧,最后将计算所得的模型参数输入经过学习的反向传播神经网络(back propagation neural network,BPNN)进行车型的分类识别并统计出交通量。
图1 MFCC提取过程Fig.1 Extraction process of MFCC
然而,车型识别的前提是要先检测出有车段,所以,行车声音有车段端点检测的准确性对车型识别的准确性有直接重要影响。为了方便研究,采集了双车道上时间较短且包含重叠有车段的行车声音,提取了行车声音的短时能量和MFCC倒谱距离并分析了各自特征在交通量检测中的优劣,提出了短时能量特征和MFCC倒谱距离特征的融合方法。提取行车声音的梅尔倒谱系数流程如图1所示。
1 行车声音特征
目前,语音分析技术已经较为成熟,其中被广泛用于语音分析的表征参数有短时能量、短时过零率、MFCC和MFCC倒谱距离等,这些技术同样可以用于行车声音的分析处理[16]。现提取MFCC倒谱距离特征和短时能量特征,在此基础上构造两种特征相融合的行车声音端点检测算法。
1.1 MFCC
MFCC分析方法是基于人的听觉机理,即依据人的听觉实验结果来分析语音的频谱,同样,MFCC也可以用于行车声音的分析。离散余弦变换(discrete cosine transform,DCT)具有信号谱分量丰富、能量集中且不需对声音相位进行估算等优点,能在较低的运算复杂度下取得较好的声音增强效果。MFCC系数的计算方法如式(1)[17]所示:
(1)
式(1)中,CMFCC(i,k)表示第i帧MFCC的第k个系数,1≤k≤M/2;M表示梅尔滤波器数量,一般取偶数;Si(m)为第i帧信号的第m个梅尔滤波器能量。
1.2 MFCC倒谱距离
MFCC可以用来计算MFCC倒谱距离,借鉴语音分析中MFCC倒谱距离的计算方法,行车声音的MFCC倒谱距离计算方法如式(2)[18]所示:
(2)
1.3 短时能量特征
帧信号的短时能量Ei的计算公式[19]为
(3)
短时能量特征曲线具有与原始信号波形相近的特点,且相较其他特征曲线平滑。
1.4 特征融合
为解决传统方法在重叠有车段检测中存在的问题,并扩大有车段与无车段的特征差异,考虑将式(1)、式(2)计算得到的dmfcc(i)取λ次方,然后取指数,最后再与式(3)计算得到的Ei相乘,得到一种新的特征参数并命名为E_EXP_MFCCD。假设Pi表示第i帧行车声音的E_EXP_MFCCD特征值,则Pi的计算方法如式(4)所示:
(4)
式(4)中,λ为MFCC倒谱距离的调节系数,可以在[1.0,2.0]区间内寻优。
2 交通量检测方法
基于行车声音的交通量检测方法,实质上是从整个行车声音中截取出有车段并统计有车段的数目,该数目折合为小时交通量后即为检测交通量。在语音分析中,经常使用基于单参数的双门限端点检测法来区分有话段和无话段,所以,可以借鉴基于单参数的双门限端点检测法来区分有车段和无车段。
2.1 特征参数预处理
特征参数用于端点检测前要先经过平滑处理和归一化处理。为了使平滑处理效果更好,可以适当增加中值滤波次数。最大最小归一化方法将所有数据转化为[0,1]的数值,避免因为特征数据数量级差别较大而造成计算误差较大[20]。最大最小归一化函数为
Xi=(Xi-Xmin)/(Xmax-Xmin)
(5)
式(5)中,Xi为序列中的第i个值;Xmin为序列中的最小值;Xmax为序列中的最大值。
2.2 端点检测原理
以行车声音的短时能量为例来说明基于双门限判决的端点检测原理,其他特征参数的双门限端点检测同理。基于短时能量的双门限端点检测原理[21]如下。
2.2.1 第一级判决
在行车声音的短时能量特征曲线上选取较高的阈值E1进行粗判,即满足高于阈值E1的帧一定为有车帧,而有车段的起止点应位于阈值E1与其特征曲线交点所对应的时间点之外。
2.2.2 第二级判决
在行车声音的短时能量特征曲线上选取较低的阈值E2(E2 2.2.3 端点计算 由以上两级判决,可以初步求出有车段的起始点位置A和结束点位置B,但考虑到有车段之间的静音区所含帧数目会有一个最小值(经实验测试发现,取值为3~10比较合适),即小于阈值E2并满足这样一个最小值后才判断为该有车段结束,所以实际上延长了有车段AB的长度。同时,有车段所含帧数目也有一个下限值(经实验测试发现,取值为50~60比较合适),低于这个下限值的一段信号则应当被记为无车段。 特别地,当高低阈值设置为相等时则称之为基于单门限判决的端点检测法。 端点检测的关键在于门限值的确定。高门限值等于前导无车段特征参数均值乘以一个较高系数α,低门限值等于前导无车段特征参数均值乘以一个较低系数β,通过调节α和β确定双门限值。特征参数曲线中有车段的个数折合为小时交通量后即为检测交通量。 以某个周围环境较为安静的双车道路段为例,利用音频检测器采集该路段的行车声音,采样时间为35 s,采样频率48 kHz。由于采样频率较大,如果帧长或帧移均取得过小,则对特征曲线的平滑处理效果是有较大影响的。所以,通过大量的实验测试发现,帧长取2 000个样本点、帧移取1 200个样本点时对行车声音的分析较为合适。行车声音的波形如图2所示,可以直观地看到,真实车辆数为5。 图2 行车声音波形Fig.2 Waveform of the driving acoustic signals 各个有车段的真实端点时刻如表1所示。 表1 各有车段真实端点时刻Table 1 Actual endpoint time of each vehicle-segment 对于行车声音的任意特征曲线,定义有车段的波峰、重叠有车段间的波谷及无车段的波谷为该曲线的关键点。关键点之间的大小关系将会影响双门限阈值的设定,从而影响端点检测结果。对行车声音提取短时能量,其特征曲线如图3所示,其特征曲线上的关键点如图4所示。实验测试发现,最小波峰与各个波谷之间的大小关系对阈值设定的影响最大。图4中,通过比较各个关键点的数据值可知,V1 图5 基于短时能量特征的端点检测结果Fig.5 Endpoint detection results based on short-term energy characteristic 图3 短时能量特征曲线Fig.3 Short-term energy characteristic curve 图4 短时能量特征曲线上的各个关键点Fig.4 Various key points on the short-timeenergy characteristic curve 为了说明关键点对双门限阈值设定的影响,利用短时能量特征对行车声音进行端点检测,取不同的双门限阈值,得到的端点检测结果亦不相同,各个结果如图5所示,图5(a)~图5(d)的车辆数检测结果依次为2、3、4、4,转换成小时交通量即206、308、411、411 veh·h-1。 观察图5后发现,尽管图5(a)~图5(c)的高阈值E1保持不变,但随着低阈值E2的不断变大,检测出的端点数目也在不断提高,但是仍然不能分离出重叠有车段。E2继续增大,当增大到一定程度,如图5(d)中E2大于V5时,虽然分离出了重叠有车段,但是却漏检了第一个有车段,而且,此时不论如何调整E1和E2,均无法同时检测出第一个有车段和重叠有车段。分析后发现,造成上述结果的原因可归纳为两点:①重叠有车段之间的波谷值明显大于无车段中的波谷值;②正常有车段波峰值与重叠有车段波谷值的绝对差值较小。 所以,针对图2所示的行车声音,基于短时能量特征的端点检测法是存在缺陷的,接下来考虑基于MFCC倒谱距离特征的端点检测法。不同梅尔滤波器数量下的MFCC倒谱距离特征曲线如图6所示。 图6 不同梅尔滤波器数量下的MFCC倒谱距离特征曲线Fig.6 Characteristic curves of MFCC cepstrum distance with different number of Mel filters 观察图6后发现,梅尔滤波器数目M从32逐渐减少到4的过程中,有车段的MFCC倒谱距离特征曲线变得更加平滑,有车段与无车段的区分度也变得更加明显,且MFCC倒谱距离特征曲线的第一个关键点V0与第6个关键点V5的绝对差值也更加明显。当M继续减少时,虽然V0与V5的绝对差值继续增大,但MFCC倒谱距离特征曲线的平滑度则又开始降低了,而且可以看到,重叠有车段对应的MFCC倒谱距离特征曲线中明显出现了第3个波峰(理想情况下不应该存在,因为图2重叠有车段只包含了两辆车,所以应当只有2个波峰)。虽然在M=4的情况中,重叠有车段对应的MFCC倒谱距离特征曲线也出现了第3个波峰,但相比M=2的情况还不够明显。所以,综合分析之后认为,梅尔滤波器数目取4比较合适。 MFCC倒谱距离特征虽然增大了V0关键点与V5关键点之间的绝对差值,使重叠有车段更容易分离。但是,MFCC倒谱距离特征曲线中的前导无车段和后导无车段却出现了异常波峰,同时,相比于短时能量特征曲线,MFCC倒谱距离特征曲线仍然不够平滑,如图7所示。 所以,这些缺陷的存在对端点检测的结果仍有较大影响。观察图3发现,短时能量特征曲线中的无车段波形均比较平滑,且无车段中各个点的值均和0比较接近,所以,可以考虑将短时能量参数与MFCC倒谱距离参数相乘构成一个新的特征参数(记作E_MFCCD)。行车声音的E_MFCCD特征曲线如图8所示。 图7 MFCC倒谱距离特征曲线中的异常波峰Fig.7 Anomalous peaks of characteristic curve ofMFCC cepstrum distance 图8 E_MFCCD特征曲线Fig.8 Characteristic curve of E_MFCCD 对比图8和图4发现,图8中的V0值相比图4的V0值提高了,图8中的V5值相比图4的V5降低了,所以,图8中V0与V5的绝对差值相比图4提高了。但V5仍没有接近0。 考虑到指数函数ex具有快速变化的特性,所以可先对MFCC倒谱距离的λ次方取指数(通过微调发现,取λ=1.5最为合适),然后再将短时能量参数与其相乘构成一个新的特征参数(记作E_EXP_MFCCD)。行车声音的E_EXP_MFCCD特征曲线如图9所示。 图9 E_EXP_MFCCD特征曲线Fig.9 Characteristic curve of E_EXP_MFCCD 可以看到,图9中虽然V0相比图8降低了,但此时V0与V5的绝对差值相比图4的仍是提高了。同时E_EXP_MFCCD特征曲线中无车段的波谷值和关键点V5几乎都接近于0。所以可将双门限判决改为单门限判决(设置高低阈值相等,即令α=β),然后将前导无车段的特征平均值乘以系数α作为单门限阈值。基于E_EXP_MFCCD特征的端点检测结果如图10所示(P0为单门限阈值),共5辆车(转换成小时交通量即514 veh·h-1)。 图10 基于E_EXP_MFCC特征的端点检测结果Fig.10 Endpoint detection results based onE_EXP_MFCC characteristic 结合归一化后的特征曲线图,先对各个算法的门限值设定区间,然后在区间内微调,最后得到最优的门限参数(假设T1为高阈值,T2为低阈值)。对于短时能量算法,将T1、T2设在[0.03,0.09]进行参数寻优,端点检测结果整理如表2所示。 对于MFCC倒谱距离算法,将T1、T2设在[0.25,0.50]进行参数寻优,端点检测结果整理如表3所示。 表2 短时能量算法下的端点检测结果Table 2 Endpoint detection results based onshort-term energy algorithm 表3 MFCC倒谱距离算法下的端点检测结果Table 3 Endpoint detection results based onMFCC cepstral distance algorithm 对于E_EXP_MFCCD算法,将单门限阈值P0设在[0.000,0.005]进行参数寻优,端点检测结果整理如表4所示。 表4 E_EXP_MFCCD算法下的端点检测结果Table 4 Endpoint detection results based onE_EXP_MFCCD algorithm 检测指标中的端点正检率rendpoints、车辆误检率rerror、车辆漏检率rmiss和检测准确率rcorrect分别定义如式(6)所示: (6) 结合表1~表4,得出各个算法的端点检测结果如表5所示。可以看到,E_EXP_MFCCD算法的检测准确率为97.03%,MFCC倒谱距离算法为75.4%,短时能量算法为75.8%,即E_EXP_MFCCD算法的准确率比其他两个算法要高。 表5 不同算法的端点检测结果对比Table 5 Comparisons of endpoint detection resultsbased on different algorithms 以双车道路段上的行车声音数据为基础,对传统的短时能量法和MFCC倒谱距离法在端点检测中的优劣进行了分析,并结合各自的优点构造了一个新的特征参数E_EXP_MFCCD,最后统计了车辆数。得出结论如下。 (1)短时能量特征曲线比MFCC倒谱距离特征曲线更加平滑,与原始的行车声音波形更加接近且无车段中的各个特征值更趋近于0。 (2)MFCC倒谱距离特征曲线中的V5与V0的绝对差值较短时能量特征曲线中的V5与V0的绝对差值要大许多,这对重叠有车段的分离更加有利,为同时检测出第一个有车段和重叠有车段提供了依据。 (3)结合短时能量特征和MFCC倒谱距离特征优势的新特征参数E_EXP_MFCCD,比单独的短时能量特征或MFCC倒谱距离特征在端点检测中的效果更好。同时,基于E_EXP_MFCCD特征的端点检测法仅仅依赖于单门限参数,降低了调节参数的维数。 但是,行车声音的端点检测并不是交通量检测的终结,因为不同的车型需要换算成标准车当量才能更准确地统计交通量,所以,接下来的研究内容将涉及基于行车声音的车型识别研究。2.3 门限值求解及交通量估算
3 实验分析
4 结论