基于深度学习和数据融合的机车辅助安全驾驶系统

2024-05-12 11:28常财超王颖
电子产品世界 2024年1期
关键词:目标检测

常财超 王颖

摘要:随着信息技术的快速发展,传统冶金和矿山企业正大力推动产业的智能化转型。为提高机车行驶时 的安全性、增强辅助驾驶员对机车状态的把握和提高企业运输经济效益,开发出一种性能优良、反应信息 全面并且反馈速度快的机车安全辅助驾驶系统。该系统以 STM32F103ZET6 为核心处理器,通过串口与语 音报警、全球导航卫星系统(global navigation satellite system,GNSS)定位装置灵活结合,利用串口屏设置 系统页面,全面反映行驶中的信息。将 RailSem19 数据集划分为训练集和测试集,进行图片标注,在基于 Tensorflow 框架的 YOLOv3 模型下进行迁移学习,并部署到边缘计算芯片 K210 上,对轨道附近的行人和障 碍物进行识别。

关键词:辅助驾驶;YOLOv3;目标检测

中图分类号:TP277;U463.6文献标识码:A

0 引言

随着智能制造理念的兴起,大型冶金企业纷纷 加大数字化、信息化、智能化的转型升级力度,将 数字化技术引入有轨运输线机车无人驾驶领域,这 是企业发展的必然趋势。定位系统和图像信息处理 是当下研究的热点 [1]。安全防护系统是实现无人化 现代生产中至关重要的一环。传统有轨机车在生产 过程中,往往存在以下问题。

(1)在机车行驶过程中,一方面,因线路固定 和速度缓慢,驾驶员易产生懈怠;另一方面,为了 提高企业的生产效率,驾驶员往往会出现超速行为。 超速行为违反了安全生产的规范,易引发罐装钢水 倾泻等安全事故,造成大量经济损失甚至人员伤亡。

(2)运输物料的机车体型庞大,存在很大的视 觉盲区,同时工业园区内往往环境嘈杂,驾驶员难 以准确地把握驾驶状况,在高速行驶中,难以及时 做出躲避道路行人和避开障碍物的判断,存在较大 的安全隐患。 因此,一种性能优良、反应信息全面并且反馈 速度快的机车辅助驾驶系统亟待研究。

1 研究现状

通过分析当前安全辅助驾驶的情况,发现问题 主要集中在安置外部电子围栏 [2],以及机车上装载 的光电报警装置 [3]。但是电子围栏的设置不仅增加 了成本,还难以应对突发状况。而光电报警装置检 测范围有限且精度低,无法对驾驶员进行有效预警。

2 系统总体方案与功能

为解决以上现有难题,满足工业园区运输物料 任务要求,符合现场工作环境的约束条件,本文设 计了一种机车的综合信息采集和检测系统,系统结 构示意图如图 1 所示,具体内容包括以下 4 点。

(1)运用霍尔速度传感器和北斗卫星数据融合 的方式,实现机车在不同工作环境下的速度测量。

(2)可调节的速度阈值,当高于设定速度时, 语音模块报警,提醒驾驶员减速。

(3)全方位的视觉感知,在机车行驶的盲区安 装摄像头,运行神经网络,检测到行人和轨道上的 障碍物后,立即报警,让驾驶员准确把握行驶状态。

(4)丰富的人机交互功能,行驶状态的实时信 息包括机车实时速度、北斗卫星校准的时间和摄像 头处理的图像信息,同步显示在屏幕上,共同构成 辅助安全系统。

该嵌入式系统可提高行驶机车的安全性,有利 于驾驶员对机车状态进行完全把握,提高了企业运 输经济效益。

3 硬件系统设计

本辅助安全驾驶系统硬件部分包括 STM32F103ZET6 主控芯片、速度处理装置、全球 导 航 卫 星 系 统(global navigation satellite system, GNSS)定位模块、语音报警和周边环境的图像处 理装置。

主控芯片负责计算处理测速传感器的数据,与 北斗卫星信号进行融合。同时通过集成电路总线 (inter-integrated circuit,IIC)协议与图像处理装置 进行通信,控制报警装置报警,最后把图像和速度 显示在屏幕上,实现智能辅助安全驾驶系统。

3.1 STM32 核心处理器

该系统的主控芯片是基于 ARM Cortex-M3 内 核和 ARMv7 架构的 32 位单片机,具有 72 MHz 的 工作频率和多达 144 针的引脚。利用芯片上的多 种通信接口,串行外围设备接口(serial peripheral interface,SPI)、 IIC 和通用同步 / 异步串行接 收 / 发 送 器(universal synchronous/asynchronous receiver/transmitter,USART)等協议被用于微控制 器与其他外设之间的通信和控制。

3.2 TTS 语音模块应用

语音报警装置使用的芯片是 SNY6288,该从文 本到语音(text to speech,TTS)芯片可实现中文、 英文语音合成,可以识别 GB2312 和 Unicode 等编 码体系,接受配置芯片功能的指令和文本打包的帧 命令,单帧命令包含的最大文本可达 200 个字节。 当机车超速或者检测到周围有行人等危险 状况时,上位机通过通用异步收发器(universal asynchronous receiver/transmitter,UART)将帧命令 发送给语音模块来合成语音,等待芯片回传 0X4F, 完成处理。

3.3 速度检测装置

根据企业运输部门的需求和现场环境的影响, 本文选择北斗卫星信号和接触式测速传感器数据融 合的方式进行测速。为得到线速度,通常采用更容 易转化为电量的角速度的脉冲数字式传感器。该方 式还选用带有齿轮的霍尔磁编码器,齿轮转动传递 运动信息,每转一圈脉冲为 1 024 线,通过单片机 捕获脉冲信号,计算得到机车发动机和车轮轴不同位置的速度信息。卫星信号是一种非接触式的测速 方式,计算得到机车在工作空间的速度 [4],速度精 度可达到 0.1 m/s 之内,通过串口的方式,读取卫星 返回的信息。由于机车工作状况多样,单纯的一种 速度检测存在偏差,故采用卡尔曼滤波的方式,单 片机可将两种速度信息进行融合,得到最优速度。

3.4 图像处理装置

本系统采用的视觉处理单元是 K210,其具有 强大的模型推理能力,算力可以达到 1 TOPS,具 有浮点处理单元(floating point unit,FPU)等硬 件加速单元,可以对神经网络算子进行加速。当系 统进行实时检测时,可以消除视觉盲区,检测行人 和轨道上的障碍物,对周围环境存在的风险进行识 别,并进行报警。

4 软件系统设计

4.1 系统软件流程

系统程序流程如图 2 所示。系统首先进行初始 化,完成各个外设的基础配置,定时器捕获来自霍 尔编码器的脉冲,并对 A、B 两相信号进行区分, 判断正反转,根据圈数得到行驶速度。通过串口得 到北斗卫星数据,解析 RMC 报文(NMEA-0183 协 议的一种报文类型),获取速度和时间信息。结合 两个方面的数据,判断机车是否超速。K210 负责 加载模型,对摄像头采集的图像进行推理,将行人 和障碍物的信息通过串口返回给单片机。单片机综 合处理完信息后,一方面把数据发送给串口屏,方 便驾驶员查看;另一方面把字符串和命令打包成 帧,然后以十六进制的形式发送给 TTS,等待返回 0X4F 表示发送成功,进行语音报警。

4.2 目标检测算法和数据集处理

目标检测算法在工业上常常被用来处理运动中 的物体,得出物体的类别和位置。YOLO 算法的全 称是 You Only Look Once,这是一种实时目标检测 算法。与基于区域的卷积神经网络(region-based convolutional neural networks,R-CNN)算法相比, YOLO 算法能利用整个图像的信息,依赖单一网络 完成目标检测任务,因此具有更高的速度 [5]。

结合使用到的硬件平台和任务要求,本文 使用的算法是 YOLOv3,并把主干提取网络从 Darknet-53 替换为更加轻量级的 MobileNetv2,减 少了使用的参数量和占用的内存。

RailSem19 是一个在实际场景中遇到的行人和 轨道上的障碍物的语义分割数据集,包含行人、轨 道、火车等 19 个类别,共 8 500 张图片。数据集内 保存有灰度图形式的标注图片,根据像素值大小对 应所属类别(表 1),如代表行人轮廓的像素值为 11。使用 OpenCV 库对标注图片进行筛选,确定最 小轮廓面积为 1 000 像素,找出符合条件的图片, 并进一步将轮廓信息转为 YOLO 格式的标注数据。 为方便数据的读取,以 VOC 数据集(一种目标检 测的数据集格式)的格式来存放。

4.3 模型的训练和加载

为方便在嵌入式设备上进行部署,实验选择 TensorFlow+Keras 为平台,导出 tflite 模型,并采用 开源的 K210_Yolo_framework 作为系统框架。由于 使用了预训练模型并且 YOLO 算法要求尺寸必须被 32 整除,因此设置模型输入为 320×224,模型输出 结果是兩个不同尺度的特征图。

锚点是 YOLO 算法的重要内容,可以帮助模 型预测物体的位置和大小。其通常通过统计的方 法获得,使用 k 均值聚类算法(k-means clustering algorithm)将聚类中心作为锚点 [6],锚点分布如 图 3 所示。

得到 tflite 文件后,经过推理后得到图 4,框 出目标位置和种类。为了在嵌入式平台部署,使用 nncase 推理工具将其转化为 Kmodel 模型文件,并 转移到 K210 内存中进行加载。

5 系统测试与优化

基于以上功能,设置串口屏系统界面(图 5),界 面信息包括卫星校准的时间信息、限定的速度值和当 前的速度值、图像处理检测到的行人和障碍物信息等。

6 结语

该嵌入式系统以 STM32 单片机为核心,结合 了图像采集及智能处理、卫星定位、TTS 等技术。 神经网络使用 YOLOv3 算法,在行人检测方面具有 良好的精度。驾驶员可以利用串口屏与各个部分进 行交互,从而实现安全辅助驾驶系统。

参考文献

[1] 王瑞,姜正,陈广泰,等 . HXD2 机车辅助驾驶人机 交互单元设计及应用 [J]. 铁道机车车辆,2023,43 (3):79-85.

[2] 石晓林 . 电子围栏安全防护系统在焦炉机车无人化中的 应用 [J]. 冶金自动化,2023,47(增刊 1):258-262.

[3] 孙家林,邓武勇,郝明智,等 . HXN3 型内燃机车无 人警惕冗余声光报警装置设计 [J]. 铁道机车与动车, 2023(11):34-36,6.

[4] 刘天琦,张浩,焦名 . 结合测速测距的卫星定位法 研究 [J]. 铁路通信信号工程技术,2022,19(3): 17-20,43.

[5] 邵延华,张铎,楚红雨,等 . 基于深度学习的 YOLO 目标检测综述 [J]. 电子与信息学报,2022,44(10): 3697-3708.

[6] 陈科峻,张叶 . 基于 YOLO-v3 模型压缩的卫星图 像船只实时检测 [J]. 液晶与显示,2020,35(11): 1168-1176.

猜你喜欢
目标检测
多视角目标检测与跟踪技术的研究与实现
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
移动机器人图像目标识别
基于视频监控的运动图像检测算法研究
基于背景建模法的运动目标检测
基于P3电位的目标检测研究
智能视频技术在电力系统领域的应用
相关K分布杂波中扩展目标积累检测性能分析
基于连通域标记的目标检测算法设计与实现