苏 明,艾海明,王东明
(1.北京开放大学 科学技术学院,北京100081;2.深圳市尼欧科技有限公司,广东 深圳 518000)
网约车借助移动互联网通信技术手段成为市民出行新业态,具有价格合理、高效节能、个性化出行等优势[1,2]。但运营过程也存在安全隐患,其深层次原因有[3~5]:1)网约车基数大,网约平台无法获取每台车辆实情状况;2)监管工作量大,导致遗漏关键求助信息;3)现有安全预防机制不利,网约平台对于事故报警处理调取车辆信息监控存在层层审批,内部监管流程导致延误第一时间接警处置;4)网约技术监管仅提供车辆大致特征及GPS位置信息,被动接收报案人提供的求助信息。由于技术手段缺陷导致监管漏洞,未能在案情发生初期予以立即阻止,对乘客生命安全造成隐患。综上,网约车平台现有的安全技术手段有限,且存在严重的滞后性。因此,本文提出一种车载智能语音识别报警系统,其关键技术在于人工智能(AI)语音识别。
采用语音识别技术,其总体框架结构包括音频输入单元、增益放大电路、信号滤波调理、AD采集、语音识别单元、防拆报警单元、语音对讲单元、无线数据传输等见图1。
图1 系统架构框图
主要工作流程为车载监测装置多路麦克风拾音器实时采集车内语音数据,音频数据经过放大滤波、预处理后进行语音特征提取,并将语音传送到声学模型进行比对,声学模型建立有很多声学词典,经神经网络进行匹配,参照对应的声学词典和解码器进行解码,与概率比较器比较获得文本信号,文本信号与报警词比较器进行匹配,当云后台智能识别到落入报警敏感词区间内,则将该语音信息通过云后台发送给平台监管人员和公安报警系统,监管平台能通过云后台与主机进行通信,通过语音与事故车辆进行联系。
音频输入单元电路通过一个直流偏置电路给麦克风供电见图2左图,右图通过三极管Q4和定位器R11搭成的音频输入电路拾取车内音频数据,R11可微调音频的输入大小。本设计包括4个此类相同电路,分别分布于系统车载监测装置中前、后、左、右四个方向,该单元功能为采集车内前后左右四个方向声源的音频数据,其中一个作为输入源,其他三个作为参考环境噪声,其目的为滤除环境噪声以提高信噪比,并获取较为纯净的音频信号。
图2 音频输入单元电路
由于音频输入信号弱,麦克风拾取的音频信号为mV级,须将输入信号放大至约2 V左右,以便后续进行模数转换。增益放大电路中放大器选择LM386作为音频放大器见图3,该集成运放具有高信噪比,轨到轨放大的特点,可在放大音频信号的同时保证高信噪比。
图3 增益放大电路
放大后信号含有较多环境噪声[6],将声源朝向的信号作为输入,其他三个作为参考,利用自适应滤波将环境噪声滤除,并通过调理电路将输入信号调理为高信噪比、幅度一致的理想信号。AD采集是将模拟信号转换为数字信号,根据奈奎斯特采样定律,为保证信号不失真还原,采样频率选为48 kHz。
防拆报警单元在外壳打开处镭雕检测线通过内部连接线连接至地上防静电电阻,再与电源线中防拆线连接在一起,另一端连接控制单元中GPIO1和GPIO2引脚,当GPIO1和GPIO2检测到因外部原因导致呈现非正常态(低电平),则输出报警,防拆报警单元会检测到系统外力损坏并将这一信息通过云后台报告给平台安全监控人员见图4。
图4 防拆报警单元硬件
系统工作自检单元功能作用为检测每个模块单元工作状态,主要为定时检测各主IC自检信息或工作电压,当工作异常时通知云后台报告工作异常代码,便于设备正常运转,减少设备工作不当造成安全漏洞;该单元控制驾驶人身份ID识别,当语音密码与后台存储的ID不一致时,系统工作自检单元锁死系统各模块停止工作,不能进行接单。
语音识别控制单元作为系统的核心控制模块,控制系统的正常工作并接收语音数据进行语音识别,智能识别安全异常信息并自动通过后台进行报警。无线数据传输主要功能为进行云后台与装置的通信手段,每秒发送一次心跳包到云后台,心跳包包括时间戳、车辆ID、设备运行状态、异常告警信息、位置信息等发送到后台。无线数据传输手段包括但不限于蓝牙、WiFi,4 G,NB-IOT等。
1)音频信号检测算法
本系统装置通过语音识别控制单元采集车内音频数据,假定获取音频数据序列为x(n)。音频信号检测算法为
(1)
式中X(ejω)为x(n)的离散傅里叶变换。频谱分布能量场接近零值,则为静音信号,反之则为语音信号见图5(a)。
2)音频信号预处理算法
音频信号数据可表达为
(2)
式中s(j)为静音信号片段,V(m)为音频信号去除静音信号的语音信号片段,并作为语音输入。
首先,语音信号采用最小均方(least mean square,LMS)自适应滤波算法进行非平稳数字滤波;其次,采用另一路麦克风采集背景噪声L(m),并采用下式可得到纯净的语音信号Y(m),即Y(m)=V(m)-L(m)。
3)基于帧数据的特征提取算法
预处理后语音信号加窗成帧数据见图5(b),每帧长度为T,帧移动长度为t,则每帧之间存在着T-t的交替重叠(T>2t),处理好的每帧数据进行特征提取。特征提取算法为:1)每帧语音信号进行傅里叶变换;2)利用梅尔倒频谱系数(Mel frequency cepstral coefficient,MFCC)法用于分离人类语音信号见式(4)、式(5)[7];3)利用深度神经网络(deep neural networks,DNN)分析语音信号所属口音类型[8],以便选取对应的语音识别模块,其结构见图5(c)。
图5 音频信号处理
(3)
(4)
声学模型存储各地语音数据(包含普遍话及方言)如四川、广东等,声学模型共存储N种不同模型数据。由特征提取结果找到对应的所属声学词典和解码器见图6。声学词典和解码器经过分析运算,匹配输出文本字符串。如反馈未识别到匹配词汇,则重新回到特征提取再根据最大概率重新匹配,如再次未匹配成功则提示重新再说一遍或放弃等待下一段语音。其中,概率比较器根据特征提取和声学模型匹配结果,选择最匹配声学模型进行特征帧比对并输出文本信息;报警词比较器对输出文本信息进行比较如尖锐敏感词“救命”等,如多次监测到设定的敏感词,则判断车内存在安全隐患;输出报警信息根据系统监测到的报警词汇将车辆信息、位置、报警信息反馈到网约平台安全监管人员。
图6 基于声学模型匹配算法的自动报警流程图
软件开发采用C语言和JAVA语言混合编程实现,并采用模块化程序设计见图7。C语言和JAVA语言分别用于硬件控制和无线通信端程序设计。
图7 系统软件设计流程图
共选取60名来自不同方言区志愿者作为本系统实验对象,实验对象采用5个测试敏感词即尖锐声“啊”“救命”“干什么”及持续的“不要”“放开”。每个实验对象每次实验分别选用上述5个不同测试敏感词作为真实的报警意图,并与车载智能语音识别报警系统识别结果进行对比,实验结果见表1所示。表1两列数据进行卡方检验,可知本系统与实验对象语音识别无显著差异(P>0.05)。
表1 智能语音识别对比
基于AI的车载智能语音识别报警系统可实时采集车内音频数据,并通过云后台与网约平台反馈,便于立即处理异常情况。此外,基于语音识别的神经网络能通过自主学习并不断提高识别的准确率,云后台报警词比较器能根据敏感词进行扩展,增加模型的自主学习能力。实验结果表明,本系统智能语音识别自动报警安全、可靠,可应用于网约车载安全监管。