许多人意识到温室气体排放对环境有害,但对道路车辆、发动机声音、动力传动系统、排气、轮胎、刹车、风噪声等引起的噪音污染知之甚少。想象一个车载监控系统,它可以绘制出驾驶行为和通过听排气、轮胎、风噪声的污染程度。不仅将这些信息提供给驾驶员,以提醒驾驶员如何温和的驾驶行为会降低噪音污染,而且还可以预测轮胎、动力传动系统等的磨损程度。除此之外,该车载监控系统还提供噪音污染等级评分,供地方当局或保险机构(如果驾驶员同意)给予折扣/奖励以降低噪音,因为驾驶员可以通过选择电动汽车,使用较低的噪音轮胎,更好的维护车辆状况,最关键的驾驶行为。有了这个系统,司机可以共同做出贡献,以尽量减少对环境的噪音污染以及道路上的风险。
这里有几个过程要实现:
由于多种原因,本项目的范围有限,例如:
鉴于上述定义的范围,假设这是作为原型研究而不是实际用例部署,旨在使参与者能够探索在边缘设备上使用机器学习技术。
该原型由几个组件组成,如图 1 所示。
下面还有其他几个软件包。
QuickFeather 和 ESP32 之间的连接使用 UART,其简单示意图如图 2 所示。
计划安装点尽量靠近排气口,不让样机暴露在排气、水溅等热源中,如图3所示。
在构建项目之前,需要大量阅读数据表、repo、论坛等内容,考虑到在完全不同平台上的新体验,这个过程并非没有挑战。首先,建立一个概念验证项目,其简单目标是识别人声,区分字符“A”、“B”、C”、“D”和不说话。音频数据集在 DCL 中收集并手动分割,长度大小固定为 8000 个数据点,字符作为标签。此外,在 Analytic Studio 中,该项目使用窗口大小为 400 的 AutoML 管道和 20 个特征级联的滑动来组装。最推荐的语音识别功能(基于互联网和论坛的研究和调查)将是梅尔频率倒谱系数(MFCC)。所以,在 AutoML 设置中选择了频率功能。训练结果令人印象深刻,准确率和灵敏度均达到 99%。该管道生成4个特征,即MFCC、主频、谱熵和峰值频率。特征选择器是使用信息增益(IG)根据类之间的差异来选择特征。在特征向量最小最大尺度变换之后,管道以分层 K 折交叉验证结束。最后,下载知识包并在 QF_SSI_AI_APP 中编译并刷入 QuickFeather。特征选择器是使用信息增益(IG)根据类之间的差异来选择特征。在特征向量最小最大尺度变换之后,管道以分层 K 折交叉验证结束。最后,下载知识包并在 QF_SSI_AI_APP 中编译并刷入 QuickFeather。特征选择器是使用信息增益(IG)根据类之间的差异来选择特征。在特征向量最小最大尺度变换之后,管道以分层 K 折交叉验证结束。最后,下载知识包并在 QF_SSI_AI_APP 中编译并刷入 QuickFeather。
使用 SensiML 开放网关验证结果如图 4 所示。识别结果,但实际上不如训练结果。灵敏度很好,而准确度大概在 50% 到 80% 之间。这有几个可能的原因,背景声音/噪声影响识别,数据集欠拟合/过拟合,模型未优化,以及许多其他事情可能出错。其中一个疑点是,当一个字符长时间发音时,音频波形可能会呈现出相似的形状、模式和频率,例如“B”和“D”。也许有一些更好的技术可以捕捉到这一点,这将是未来 KIV 研究的主题。
备注:由于社区账号,分类输出限制为每上电1000个输出。音频传感器配置为 16 kHz,滑动窗口大小为 8000 个数据点,仅需 500 秒即可达到最大输出限制。
真实数据集被分割并使用表 2 中列出的以下条件进行标记。
类似的方法用于构建此管道。窗口大小设置为 400 和 10 个特征级联,并选择频率作为 AutoML 管道中的特征生成器。尽管数据集中存在一些异常值,但训练结果似乎可以接受,如图 5 所示。
一些类之间存在一些混淆,“EngIdle_AC_OFF”、“Eng1k”和“Ramp_DOWN”。此外,“Ramp_DOWN”和“Ramp_UP”也存在精度较低的问题,如图 6 所示。
该管道使用 MFCC 和 Spectral Entropy 作为特征生成器,使用 IG 作为特征选择器,其中在将其输入模型之前将应用 Min Max Scale 变换。该模型使用模式匹配引擎 (PME) 分类器,并通过层次聚类和神经元优化进行优化,如图 7 所示。
最后,知识包使用 QF_SSI_AI_APP 编译并加载到 QuickFeather 并通过 ESP32 流式传输到开放网关。原型的位置如图 3 所示,分类结果正在通过稳定的脚控制油门踏板传输到驾驶座的笔记本电脑。分类输出主要显示如图 8 所示发动机怠速(约 800 rpm)时的“EngIDL_AC_OFF”和“Eng1K”。可能的原因之一是 800 rpm 和 1000 rpm 之间的排气声音非常相似。
尽管如此,发动机转速高于 1000 rpm 的分类令人印象深刻,如图 9 所示。当发动机以恒定转速悬停时,它可以识别正确的发动机转速。这展示了使用 SensiML 知识包闪烁的边缘设备 (QuickFeather) 的功能。最好的是,知识包是由 AutoML 管道构建的,没有太多的代码破解或数据科学方面的密集知识。
发动机加速或减速时的识别是非常随机的。这可能与数据集有关。数据集是在车库环境中收集的,如果有更好的资源和环境,例如由 ECU 控制的发动机以执行预设的速度曲线,数据集将非常干净并显着改进模型。
4。结论
该项目是一个半成品,因为它只实现了部分目标,即识别道路车辆引起的噪声污染并向用户提供反馈。尽管范围没有最初计划那么大,但识别部分已经完成,还检测动力传动系统、风噪声等。它需要多学科的技能和资源,如电子设计、脚本编码等来完成整个项目,这是一个写作时的时间和知识方面的限制。因此,该项目正在结束,以记录整个过程中的所有努力和研究。最后,尽管学习曲线陡峭,但这个项目非常有趣,真正令人兴奋的是,QuickFeather 和 SensiML 的存在为业余爱好者和
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !