声纳卫士——基于CNN和哪吒开发板的红绿灯控制系统
一、前言
英特尔作为IT领域的领军企业,为开发者们提供了全面的支持,包括芯片、开发套件、培训课程和开发环境等。为了更好地与开发者互动,英特尔发起了“走近开发者”活动,其中包括哪吒开发套件的免费试用机会、AI创新计划以及有奖征文活动。
二、背景
随着中国经济的快速增长和城市化进程的加速,城市交通拥堵、交通事故频发以及环境污染等问题日益严重,尤其是在大城市中,这些问题表现得尤为突出。交通拥堵不仅影响了市民的日常出行效率,更是严重影响了紧急车辆的快速通行,延误了救援时间,增加了事故和伤亡风险。在高峰时段,城市中心区域和主要交通干道常常出现严重拥堵,这不仅降低了城市的运行效率,也对紧急服务的及时响应构成了障碍。面对这些挑战,中国交通管理亟需转型升级,利用现代科技手段提高智能化水平,以实现对交通流量的实时监控、智能分析和优化控制。
在这样的背景下,“声纳警卫——基于深度学习的红绿灯控制系统”项目应运而生,它代表了智能交通系统在中国城市交通管理中的创新应用。该项目通过音频传感器采集城市公路上的声音,利用深度学习模型识别紧急车辆,如消防车、救护车等,并智能控制红绿灯,优先放行这些紧急车辆。这种智能化的交通管理系统不仅能够提高城市交通管理的智能化水平,确保紧急车辆的快速响应,同时还能优化交通流量管理,减少因交通拥堵造成的经济损失和社会成本。
三、开发板介绍
开发板资料:
哪吒开发套件以一张信用卡大小(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、UART、I2C、I2S、SPI和ADC等多种功能,为开发者提供了构建解决方案的灵活性。
此外,哪吒开发板支持Windows和Linux操作系统,无风扇散热设计,使得它在多种应用场景下都能提供高效的解决方案。这款开发板适合用于教育、物联网**、数字标牌和机器人等领域,其多功能性和灵活性,为开发者提供了一个强大的平台,以实现他们的创意和项目。
哪吒开发板介绍
开箱照片:
哪吒开发板开箱图
四、项目介绍
4.1 整体构思:
产品介绍:本项目以哪吒开发板作为数据处理中心,利用音频传感器采集城市公路上的声音,这些数据被传输至哪吒开发板,随后通过预处理和深度学习模型进行推理操作,以识别声音来源是紧急车辆如消防车、救护车还是普通汽车。基于这些识别结果,系统将智能控制红绿灯,优先放行紧急车辆,确保它们能够快速响应。同时,系统将把推理结果实时传输至云侧平台,供城市管理中心监控和分析,从而优化交通流量管理。为了提升系统的整体性能和用户体验,可以考虑引入视频传感器和环境传感器,实现多传感器数据融合,提高识别的准确性。此外,系统的算法需要不断优化,以适应不同环境下的噪音水平和交通状况。哪吒开发板的数据处理能力将保证实时处理大量数据流,满足快速决策的需求。与云平台的深度集成将使得系统能够利用云计算资源进行更复杂的数据分析和模型训练,同时支持远程监控、系统升级和维护。城市管理中心将通过一个直观的用户界面实时查看交通状况和系统状态,进行必要的手动干预。系统的设计将严格遵守数据安全性和隐私保护标准,确保所有传输和存储的数据都符合法规要求。在部署前,系统将经过严格的测试和评估,以确保其在各种环境下的稳定性和可靠性。此外,项目将确保与当地交通管理政策和法规的兼容性,与现有的交通管理系统和应急服务流程实现无缝对接,为城市交通的智能化管理提供全面而高效的解决方案。
功能设计:智能交通声音识别与控制系统利用哪吒开发板作为核心,通过音频传感器收集城市公路声音数据,经预处理和深度学习模型推理后,智能识别紧急车辆并控制红绿灯以优先放行。系统将识别结果实时上传至云平台,供城市管理中心监控和优化交通流量。为提升准确性,系统考虑集成视频和环境传感器,实现多传感器数据融合。哪吒开发板强大的数据处理能力确保了实时处理和快速决策,而云平台集成则支持远程监控和系统维护。系统设计遵循数据安全和隐私保护标准,并在部署前经过严格测试,确保稳定性和可靠性,同时与当地交通政策和法规兼容,实现与现有系统的无缝对接。
产品总结:本产品是一个创新的智能交通管理系统,旨在通过声音识别技术优化城市交通流量,确保紧急车辆快速响应。系统集成了哪吒开发板作为核心数据处理中心,结合音频、视频和环境传感器,实现多传感器数据融合,提高识别准确性,并智能控制交通信号灯。
4.2方案架构
4.2.1 数据处理
首先从CSV文件中读取包含音频文件路径和类别标签的元数据,使用LabelEncoder将文本类别标签转换为整数标签,然后定义一个函数parse_wav来遍历每个音频文件,利用librosa库加载WAV文件并从中提取梅尔频率倒谱系数(MFCC)特征,同时计算每个音频文件的MFCC特征均值,并进行特征缩放以标准化数据。最终,代码将提取的MFCC特征、MFCC均值、缩放后的MFCC特征以及对应的标签数组保存为一个.npz文件,为机器学习模型的训练提供预处理后的数据。整个过程包括数据加载、标签编码、特征提取、特征处理和数据保存,是一个完整的音频数据处理流程,旨在将原始音频文件转换为适合机器学习模型训练的数值特征。
4.2.2 神经网络介绍
本项目所使用的神经网络架构是一个深度学习模型,专门设计用于处理和分类音频数据。它由四个顺序堆叠的卷积层组成,每个卷积层都是一维的(`nn.Conv1d`),用于从输入的音频信号中提取时间序列特征。每个卷积层后面紧跟着一个ReLU激活函数和一个批量归一化层,ReLU激活函数引入非线性,帮助网络学习复杂的特征表示,而批量归一化层则用于减少内部协变量偏移,加速训练过程,并提高模型的泛化能力。卷积层的权重采用He初始化方法,这是一种专为ReLU激活设计的初始化技术,有助于保持训练初期的梯度规模,而偏置则初始化为0。所有这些卷积层、激活函数和批量归一化层被封装在一个顺序容器中,简化了模型的构建和前向传播过程。在卷积层之后,模型使用自适应平均池化层将特征图的每个通道压缩成一个单一数值,减少特征维度,并使模型对音频信号长度变化具有不变性。经过池化的特征被送入一个全连接层,将高维特征映射到类别空间,输出每个类别的预测分数。在全连接层和输出层之间,模型使用Dropout层来随机丢弃一部分特征,减少过拟合。最后,模型使用`F.log_softmax`函数将全连接层的输出转换为对数概率分布,为多分类问题提供了合适的输出格式,通常与交叉熵损失函数一起使用。整体而言,这个架构通过深度卷积网络结构和适当的技术,实现了高效准确地对音频信号进行特征提取和分类。
4.3 模型转化
4.3.1 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)
4.3.2 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)
图4-1 模型转化展示
4.4 硬件部分
使用了Intel的哪吒开发板作为上位机控制arduino开发板。我们在arduino板中烧录红绿灯控制系统代码。(下图展示的为红绿灯控制系统在接收到串口数据后,停止其他灯亮,打开绿灯的展示效果)
效果展示图
5 总结和后记
在本项目中,我们有幸得到了英特尔公司提供的哪吒开发板,这不仅是一次技术探索的机遇,也是对我们团队技术实力的一次挑战。通过这次“走近开发者”活动,我们深入体验了哪吒开发板的强大功能,并成功将其应用于智能交通声音识别与控制系统的开发中。
首先,我们要感谢英特尔公司提供的哪吒开发板,它以小巧的体积和强大的性能,为我们的项目提供了数据处理的核心。哪吒开发板搭载的英特尔® N97处理器,以及内置的Intel® UHD Graphics Gen12 GPU,为我们的深度学习模型提供了强大的推理能力。这些技术的支持,使得我们能够处理大量的声音数据,并实现快速准确的紧急车辆识别。
在项目开发过程中,我们充分利用了哪吒开发板的高性能与低功耗特性,结合音频、视频和环境传感器,实现了多传感器数据融合,提高了系统的识别准确性。通过深度学习模型的推理操作,我们成功实现了对城市公路上声音的智能识别,并智能控制红绿灯,优先放行紧急车辆,确保了快速响应能力。
此外,哪吒开发板与云平台的深度集成,为我们提供了远程监控、系统升级和维护的能力,同时也支持了更复杂的数据分析和模型训练。这不仅提升了系统的整体性能,也为城市管理中心提供了实时的交通状况和系统状态监控,优化了交通流量管理。
在项目实施过程中,我们严格遵守了数据安全性和隐私保护标准,确保所有传输和存储的数据都符合法规要求。同时,系统在部署前经过了严格的测试和评估,以确保其在各种环境下的稳定性和可靠性。我们确保了与当地交通管理政策和法规的兼容性,实现了与现有交通管理系统和应急服务流程的无缝对接。