0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CNN和英特尔开发板的红绿灯控制系统设计

英特尔物联网 来源:英特尔物联网 2024-12-20 10:47 次阅读

作者:

崔晓晴 郑州轻工业大学

1前言

英特尔作为IT领域的领军企业,为开发者们提供了全面的支持,包括芯片、开发套件、培训课程和开发环境等。为了更好地与开发者互动,英特尔发起了“走近开发者”活动,其中包括哪吒开发套件的免费试用机会、AI创新计划以及有奖征文活动。

2背景

随着中国经济的快速增长和城市化进程的加速,城市交通拥堵、交通事故频发以及环境污染等问题日益严重,尤其是在大城市中,这些问题表现得尤为突出。交通拥堵不仅影响了市民的日常出行效率,更是严重影响了紧急车辆的快速通行,延误了救援时间,增加了事故和伤亡风险。在高峰时段,城市中心区域和主要交通干道常常出现严重拥堵,这不仅降低了城市的运行效率,也对紧急服务的及时响应构成了障碍。面对这些挑战,中国交通管理亟需转型升级,利用现代科技手段提高智能化水平,以实现对交通流量的实时监控、智能分析和优化控制。

在这样的背景下,“声纳警卫——基于深度学习的红绿灯控制系统”项目应运而生,它代表了智能交通系统在中国城市交通管理中的创新应用。该项目通过音频传感器采集城市公路上的声音,利用深度学习模型识别紧急车辆,如消防车、救护车等,并智能控制红绿灯,优先放行这些紧急车辆。这种智能化的交通管理系统不仅能够提高城市交通管理的智能化水平,确保紧急车辆的快速响应,同时还能优化交通流量管理,减少因交通拥堵造成的经济损失和社会成本。

3开发板介绍

3.1开发板资料

哪吒开发套件以一张信用卡大小(85 x 56mm)的哪吒开发板为核心,搭载英特尔 N97(Alder Lake-N)处理器。这款处理器以其高性能与低功耗的特点,为开发板提供了强大的计算能力。哪吒开发板支持四核SoC,最高频率可达3.60GHz,而热设计功耗(TDP)仅为12W,这使得它在保持高性能的同时,也能实现低功耗运行。

内置的Intel UHD Graphics Gen12 GPU拥有多达24个执行单元,基于Xe架构,为新一代产品。这款GPU不仅是一个强大的图形处理单元,也是一个高效的AI引擎,特别适合于AI推理任务。它支持包括INT8在内的主要数据类型,通过HDMI 1.4b接口,能够支持30Hz的4K UHD(3840×2160)分辨率显示,为高分辨率显示提供了可能。

哪吒开发板只有身份证大小,配备了最大8GB的LPDDR5系统内存和最大64GB的eMMC存储,为运行各种应用程序提供了充足的内存和存储空间。此外,开发板内置TPM 2.0,增强了安全性,40针的GPIO连接器提供了丰富的外设连接选项,可以配置为PWM、UARTI2C、I2S、SPI和ADC等多种功能,为开发者提供了构建解决方案的灵活性。

此外,哪吒开发板支持Windows和Linux操作系统,无风扇散热设计,使得它在多种应用场景下都能提供高效的解决方案。这款开发板适合用于教育、物联网网关、数字标牌和机器人等领域,其多功能性和灵活性,为开发者提供了一个强大的平台,以实现他们的创意和项目。

3.2 开箱照片

bcec5db6-bde8-11ef-8732-92fbcf53809c.jpg

图3-3 哪吒开发板开箱图

4项目介绍

4.1 整体构思

产品介绍

本项目以哪吒开发板作为数据处理中心,利用音频传感器采集城市公路上的声音,这些数据被传输至哪吒开发板,随后通过预处理和深度学习模型进行推理操作,以识别声音来源是紧急车辆如消防车、救护车还是普通汽车。基于这些识别结果,系统将智能控制红绿灯,优先放行紧急车辆,确保它们能够快速响应。

同时,系统将把推理结果实时传输至云侧平台,供城市管理中心监控和分析,从而优化交通流量管理。为了提升系统的整体性能和用户体验,可以考虑引入视频传感器和环境传感器,实现多传感器数据融合,提高识别的准确性。此外,系统的算法需要不断优化,以适应不同环境下的噪音水平和交通状况。

哪吒开发板的数据处理能力将保证实时处理大量数据流,满足快速决策的需求。与云平台的深度集成将使得系统能够利用云计算资源进行更复杂的数据分析和模型训练,同时支持远程监控、系统升级和维护。城市管理中心将通过一个直观的用户界面实时查看交通状况和系统状态,进行必要的手动干预。系统的设计将严格遵守数据安全性和隐私保护标准,确保所有传输和存储的数据都符合法规要求。

在部署前,系统将经过严格的测试和评估,以确保其在各种环境下的稳定性和可靠性。此外,项目将确保与当地交通管理政策和法规的兼容性,与现有的交通管理系统和应急服务流程实现无缝对接,为城市交通的智能化管理提供全面而高效的解决方案。

功能设计

智能交通声音识别与控制系统利用哪吒开发板作为核心,通过音频传感器收集城市公路声音数据,经预处理和深度学习模型推理后,智能识别紧急车辆并控制红绿灯以优先放行。系统将识别结果实时上传至云平台,供城市管理中心监控和优化交通流量。

为提升准确性,系统考虑集成视频和环境传感器,实现多传感器数据融合。哪吒开发板强大的数据处理能力确保了实时处理和快速决策,而云平台集成则支持远程监控和系统维护。系统设计遵循数据安全和隐私保护标准,并在部署前经过严格测试,确保稳定性和可靠性,同时与当地交通政策和法规兼容,实现与现有系统的无缝对接。

产品总结

本产品是一个创新的智能交通管理系统,旨在通过声音识别技术优化城市交通流量,确保紧急车辆快速响应。系统集成了哪吒开发板作为核心数据处理中心,结合音频、视频和环境传感器,实现多传感器数据融合,提高识别准确性,并智能控制交通信号灯。

4.2 方案架构

数据处理

首先从CSV文件中读取包含音频文件路径和类别标签的元数据,使用LabelEncoder将文本类别标签转换为整数标签,然后定义一个函数parse_wav来遍历每个音频文件,利用librosa库加载WAV文件并从中提取梅尔频率倒谱系数(MFCC)特征,同时计算每个音频文件的MFCC特征均值,并进行特征缩放以标准化数据。

最终,代码将提取的MFCC特征、MFCC均值、缩放后的MFCC特征以及对应的标签数组保存为一个.npz文件,为机器学习模型的训练提供预处理后的数据。整个过程包括数据加载、标签编码、特征提取、特征处理和数据保存,是一个完整的音频数据处理流程,旨在将原始音频文件转换为适合机器学习模型训练的数值特征。

神经网络介绍

本项目所使用的神经网络架构是一个深度学习模型,专门设计用于处理和分类音频数据。它由四个顺序堆叠的卷积层组成,每个卷积层都是一维的(`nn.Conv1d`),用于从输入的音频信号中提取时间序列特征。每个卷积层后面紧跟着一个ReLU激活函数和一个批量归一化层,ReLU激活函数引入非线性,帮助网络学习复杂的特征表示,而批量归一化层则用于减少内部协变量偏移,加速训练过程,并提高模型的泛化能力。

卷积层的权重采用He初始化方法,这是一种专为ReLU激活设计的初始化技术,有助于保持训练初期的梯度规模,而偏置则初始化为0。所有这些卷积层、激活函数和批量归一化层被封装在一个顺序容器中,简化了模型的构建和前向传播过程。

在卷积层之后,模型使用自适应平均池化层将特征图的每个通道压缩成一个单一数值,减少特征维度,并使模型对音频信号长度变化具有不变性。经过池化的特征被送入一个全连接层,将高维特征映射到类别空间,输出每个类别的预测分数。在全连接层和输出层之间,模型使用Dropout层来随机丢弃一部分特征,减少过拟合。

最后,模型使用`F.log_softmax`函数将全连接层的输出转换为对数概率分布,为多分类问题提供了合适的输出格式,通常与交叉熵损失函数一起使用。整体而言,这个架构通过深度卷积网络结构和适当的技术,实现了高效准确地对音频信号进行特征提取和分类。

4.3 模型转化

pth格式转化为onnx

import torch
from model import AudioMutiCNN


config = {}


device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = AudioMutiCNN(config)
model.load_state_dict(torch.load('./wsp.pth',map_location=torch.device(device), weights_only=True))


dummy_input = torch.randn(1, 64, 345)




torch.onnx.export(model,
         dummy_input,
         f='D:/python_code/tool/sonar_guard/yjs.onnx',
         export_params=True,
         verbose=False,
         # input_names=['input'],
         # output_names=['output'],
         opset_version=11)

onnx转化为IR模型

import openvino as ov
path = ‘./wsp.onnx’


 


# 导出模型为 ONNX 格式
onnx_path = ‘path’
 


# 转换 ONNX 模型为 OpenVINO 格式
ov_model = ov.convert_model(onnx_path)
 


 


# 保存 OpenVINO 模型
ir_path = './sonar_guard/yjs.xml'
ov.save_model(ov_model, ir_path)
 


print("OpenVINO IR model saved to:", ir_path)
bd0ab374-bde8-11ef-8732-92fbcf53809c.png

图4-1 模型转化展示

4.4 硬件部分

使用了Intel的哪吒开发板作为上位机控制arduino开发板。我们在arduino板中烧录红绿灯控制系统代码。(下图展示的为红绿灯控制系统在接收到串口数据后,停止其他灯亮,打开绿灯的展示效果)

bd225f74-bde8-11ef-8732-92fbcf53809c.jpg

图4-2效果展示图

5总结和后记

在本项目中,我们有幸得到了英特尔公司提供的哪吒开发板,这不仅是一次技术探索的机遇,也是对我们团队技术实力的一次挑战。通过这次“走近开发者”活动,我们深入体验了哪吒开发板的强大功能,并成功将其应用于智能交通声音识别与控制系统的开发中。

首先,我们要感谢英特尔公司提供的哪吒开发板,它以小巧的体积和强大的性能,为我们的项目提供了数据处理的核心。哪吒开发板搭载的英特尔 N97处理器,以及内置的Intel UHD Graphics Gen12 GPU,为我们的深度学习模型提供了强大的推理能力。这些技术的支持,使得我们能够处理大量的声音数据,并实现快速准确的紧急车辆识别。

在项目开发过程中,我们充分利用了哪吒开发板的高性能与低功耗特性,结合音频、视频和环境传感器,实现了多传感器数据融合,提高了系统的识别准确性。通过深度学习模型的推理操作,我们成功实现了对城市公路上声音的智能识别,并智能控制红绿灯,优先放行紧急车辆,确保了快速响应能力。

此外,哪吒开发板与云平台的深度集成,为我们提供了远程监控、系统升级和维护的能力,同时也支持了更复杂的数据分析和模型训练。这不仅提升了系统的整体性能,也为城市管理中心提供了实时的交通状况和系统状态监控,优化了交通流量管理。

在项目实施过程中,我们严格遵守了数据安全性和隐私保护标准,确保所有传输和存储的数据都符合法规要求。同时,系统在部署前经过了严格的测试和评估,以确保其在各种环境下的稳定性和可靠性。我们确保了与当地交通管理政策和法规的兼容性,实现了与现有交通管理系统和应急服务流程的无缝对接。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    61

    文章

    9949

    浏览量

    171685
  • 控制系统
    +关注

    关注

    41

    文章

    6603

    浏览量

    110571
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97367
  • 深度学习
    +关注

    关注

    73

    文章

    5500

    浏览量

    121100
  • cnn
    cnn
    +关注

    关注

    3

    文章

    352

    浏览量

    22202

原文标题:开发者实战|声纳卫士——基于CNN和英特尔开发板的红绿灯控制系统

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于CAN总线的红绿灯动态调整系统

         国内红绿灯交通控制系统红绿灯切换时间广泛采用固定或者分时段变化的时间间隔,或者由交通指挥中心根据交通状况调整时间间隔,不能够根据实
    发表于 10-19 10:28 2906次阅读
    基于CAN总线的<b class='flag-5'>红绿灯</b>动态调整<b class='flag-5'>系统</b>

    红绿灯控制系统的LED城市路灯方案

    将LED路灯装置与交通红绿灯控制系统结合在一起,利用每一路段红绿灯的转换实现对下一路段灯光强弱的控制。将当前市场上 LED 集灯上的LED
    发表于 10-17 14:44 3881次阅读

    单片机控制红绿灯系统

    单片机控制红绿灯系统
    发表于 12-03 16:54

    红绿灯问题求助?

    求做个红绿灯 就一个路的红绿灯
    发表于 10-22 10:53

    基于单片机的交通红绿灯控制系统的设计

    前一段时间,做了一个关于基于单片机的交通红绿灯控制系统的设计
    发表于 11-10 06:34

    交通红绿灯PLC控制系统编程方法与技巧

    本文介绍了交通红绿灯基本控制形式,针对带绿闪的红绿灯和带数显的红绿控制和实现方法,详细论述了相应的编程方法和技巧。实验证明编制的程序运行可靠
    发表于 08-14 10:31 152次下载

    红绿灯控制实验

    红绿灯控制实验 一、实验目的1. 熟悉可编程控制器指令。2. 熟悉PLC 的硬件系统及工作原理。3. 熟悉设计和
    发表于 09-23 07:56 5066次阅读

    基于51单片机的红绿灯设计

    这是一个基于51单片机的红绿灯设计,可以实现红绿灯的功能,同时还有特殊情况是单向通行。
    发表于 01-06 14:30 66次下载

    005——带时间显示的红绿灯

    005——带时间显示的红绿灯.........................
    发表于 04-28 09:49 18次下载

    红绿灯源程序

    红绿灯源程序,感兴趣的小伙伴们可以看看。
    发表于 06-17 15:42 32次下载

    如何使用Arduino Nano控制红绿灯

    本文将介绍如何基于一个简单PCB洞洞制作红绿灯,并通过Arduino Nano R3对它进行控制
    的头像 发表于 04-08 15:19 5335次阅读
    如何使用Arduino Nano<b class='flag-5'>控制</b><b class='flag-5'>红绿灯</b>

    Arduino迷你红绿灯

    电子发烧友网站提供《Arduino迷你红绿灯.zip》资料免费下载
    发表于 06-30 14:30 0次下载
    Arduino迷你<b class='flag-5'>红绿灯</b>

    用树莓派控制交通红绿灯(进阶版)

    哇奥,今天才发现上一次建造的红绿灯居然不对,绿灯一般在下方,当红灯变绿灯时黄灯闪烁,我做的是绿灯变红灯时黄灯闪烁!。这在我们开发时也会碰到,
    的头像 发表于 07-02 15:10 1885次阅读
    用树莓派<b class='flag-5'>控制</b>交通<b class='flag-5'>红绿灯</b>(进阶版)

    Air780EG与百度红绿灯API对接测试过程总结

    Air780EG使用EVB_Air780X_V1.7开发板,借助串口调试助手与EVB_Air780X_V1.7对接,通过AT命令控制HTTP对接百度红绿灯API。本文是对这个测试过程的总结。EVB_Air780X_V1.7获取百
    发表于 06-30 11:48 2次下载

    红绿灯倒计时API开发文档

    百度红绿灯倒计时API开发文档
    发表于 06-30 11:53 3次下载