APP下载

基于交通标识识别的自动巡线小车设计与实现

2023-05-18徐鹏飞周燕云刁鹏程夏乐天

关键词:巡线树莓小车

徐鹏飞,周燕云,刁鹏程,夏乐天

基于交通标识识别的自动巡线小车设计与实现

徐鹏飞,周燕云,刁鹏程,夏乐天

(新疆大学 信息科学与工程学院,新疆 乌鲁木齐 830046)

设计并实现了一种基于交通标识识别的自动巡线智能车,通过搭建神经网络的图像处理模型和车载图像处理技术来识别路径上的交通标识和路径信息,得出识别的结果并做出相应控制。详细介绍了智能车的系统硬件组成、深度学习模型的建立、所需数据的采集方法以及模型训练的方法、实验结果与分析。结果表明,设计能够满足小车自动巡线过程中的交通标识识别,并满足了便携性、准确性、快速性等要求。

深度学习;交通标识识别;树莓派;自动巡线

无人驾驶是当今全球汽车与交通出行领域智能化和物联网技术发展的主要方向,是与人工智能、物联网等新一代信息技术深度融合的产物。近年来,随着深度学习渐渐成为人工智能最热门的领域之一,越来越多的人尝试将深度学习加入到车辆控制算法里。当前主流自动驾驶公司都采用了机器学习与人工智能算法来实现,利用传感器、V2X设施、高精度地图信息获取数据,收集驾驶者的驾驶行为、驾驶经验等信息,并根据周边的环境数据信息不断优化算法,最终设定和规划路线,操作汽车实现无人驾驶[1-5]。

目前针对特定路径的巡线小车技术已经趋于完善,大部分的自动巡线小车都会使用摄像头、电磁等传感器来直接获取路径信息,从而实现巡线的功能[6-8]。但仅仅依靠传感器的话,有很大的局限性,环境改变之后很难继续做出正确的判断。另一方面,交通标识识别系统普遍是搭载在电脑上直接识别照片来实现的,缺乏便携性,无法做到在移动的过程中识别[9-10]。本系统主要基于深度学习模型,通过迁移训练来训练环境识别模型,以此来识别道路环境,并实现小车的自动巡线功能。本系统实现了一个小型的人工智能系统,识别功能的实现得益于目前热门的人工智能技术,具有良好的拓展性和可实现性。

1 系统总体设计

本系统通过对小车模型的搭建和调试,控制小车采集大量图像数据,采用神经网络软件库tensorflow对大量有标签的样本图像进行训练,获得训练好的模型。树莓派通过GPIO口输出高低电平信号给电机驱动板,从而控制电机工作。小车的控制信号是由picamera相机采集的实时图像感知当前道路、车辆位置、交通灯和交通标识等信息,经神经网络模型分析所得出的最大可能控制信息,实现被控制小车的行进、转向、减速和停车,从而模拟无人驾驶车辆能够安全、可靠的在道路行驶。本系统的工作流程如图1所示。

图1 本系统工作流程

2 系统硬件设计

2.1 树莓派及树莓派摄像头介绍

本系统采用树莓派4代B型。树莓派4B的内核基于ARM7架构设计,拥有40个GPIO口、4个USB2.0接口、HDMI高清视频输出口以及1个千兆以太网接口,可以连接鼠标、键盘、显示器和网线,并拥有15针头MIPI相机(CSI)界面。使用MicroSD作为存储硬盘搭载1.5 GHz 4核64位ARM Cortex-A72 CPU,支持Linux操作系统。该型微型电脑主板可满足本系统设计所需硬件和软件的要求,4核处理器满足了模型车控制和树莓派相机视频流图像采集同步进行的多线程处理任务。

本系统相机选用树莓派官方摄像头picamera,感光芯片为OV5647,拥有可以捕捉3 280×2 464像素静态图片和30FPS 1080P视频的定焦镜头,也拥有强大的高清摄像功能,可提供本系统所需的高帧率和高分辨率。树莓派摄像头使用专门设计的CSI接口与树莓派相连接。通过将树莓派安装在小车上来连接摄像头。

为了使得相机工作时能够采集到大部分路面的图像。本系统选用的模型车的安装角度与地面呈60°,高度为19 cm,在图像采集过程中能够保证采集到的数据为有效数据,以便为之后的神经网络模型训练提供更优的数据集。

2.2 舵机驱动模块

树莓派没有硬件PWM输出,只能使用GPIO来模拟PWM输出,所以输出的PWM十分不稳定,常会出现抖动的情况。所以本系统使用16路舵机驱动模块PCA9685,此舵机驱动板使用PCA9685芯片,PCA9685是NXP推出的一款16通道12精度PWM输出的芯片,用2个引脚通过I2C就可以驱动16个舵机,且输出信号十分稳定,满足小车运行过程中对于稳定PWM输出的需求。PCA9685模块电路图如图2。

图2 PCA9685模块电路原理图

2.3 电机驱动模块

树莓派每个引脚的最大输出电流为16 mA,且同一时刻所有引脚的总输出电流不超过51 mA,仅靠树莓派的GPIO是不能驱动双电机运行的,所以本系统使用L298N电机驱动板。L298N可驱动直流电机和步进电机,具有过热自断和反馈检测功能。驱动板可通过主控芯片的I/O输入对其控制电平进行设定,以此直接控制电机进行正转反转驱动,具有良好的可操作性和稳定性,并且满足直流电机的大电流驱动条件,图3为L298N电机驱动板电路原理图。

图3 L298N电机驱动板电路原理图

2.4 电源模块

本系统需要2个电源分别给树莓派和电机驱动板供电。为节约成本,为树莓派供电的电源为20 000 mAh的充电宝,该充电宝通过树莓派的Type-C接口连接,可以稳定提供5 V/2.4 A的直流电,满足树莓派的供电要求。本系统驱动电机的电源为7.4 V,2 000 mAh的锂电池,该锂电池与电机驱动板L298N连接,通过L298N输出稳定的电流驱动电机转动。

2.5 小车搭建

在已调试好的小车模型上,装载各个硬件功能模块。将树莓派用铜柱固定在小车中部靠后的位置,树莓派电源置于下方。将L298N通过热熔胶固定在电机的上方,锂电池用扎带固定在后轮后上方,PAC9685放在摄像头固定杆下方,模块的引脚与树莓派之间使用杜邦线连接。平台如图4所示。

图4 小车平台搭建完成图

3 图像采集和模型训练

3.1 图像采集

本系统的模型训练需要大量的图像数据,网上的数据集与小车实际运行的环境不同,所以需要小车在实际运行的跑道上采集大量的图像。PC端通过VNC与树莓派连接,将树莓派的相机端口设定为Enable状态,此时要注意插入摄像头时要关闭树莓派电源,否则热插情况下会导致摄像头模块烧坏。要采集大量的路径图像数据,有很多种方法,可以直接拍摄大量的照片,或者提前录好视频,然后后期在电脑上隔帧处理并添加标签等,但这些方案都很繁琐,需要耗费大量的时间与精力。采集图像也可以使用pygame库,pygame可以获取键盘的值,这样就可以通过电脑键盘控制小车的移动,并使用多线程采集图像,在控制小车行进的过程中采集图像并添加标签。本系统摄像头采集图像流程如图5所示。

图5 图像采集流程

本系统采用直接拍摄视频流的方法,由于树莓派的性能有限,将图像的分辨率设置为160×120,视频流设置为15帧/s,依次输出每一帧图片并保存到树莓派上。本系统图像分类共有62种交通标识,每种都有不同数量的训练照片,训练的图片和送入网络中的图片有所不同,需要经过灰度和归一化处理送入神经网络。通过控制小车在实验室的赛道上采集得到数据集,经过多轮采集,共采集了约50 000张图片,不同道路场景下部分数据集样本如图6所示。

图6 不同道路场景下部分数据集样本

经过训练,小车可识别一些基本的交通标志,如直行、左转、右转等,如图7所示。

图7 基本交通标志

采集图像时灯光照射的不同也会造成采集图像质量的差异,在采集时要让小车速度尽量低,否则会造成采集到的图像模糊。图像采集过后,需要使用软件WinScp将树莓派和电脑连接起来,将树莓派采集的图片批量传输到电脑上,进行手动筛选,将一些标签界限模糊的图片删去,以免造成树莓派识别的误判。

3.2 神经网络模型训练

本系统使用神经网络。Lenet-5总共有7层。分别是2个卷积层、2个池化层、3个全连接层,最后1个全连接层为输出层。首先,输入是1幅32×32的图像,用6个5×5×1的卷积核进行卷积,生成6个28×28的卷积特征图;然后,这6个特征图通过2×2合并被提取,成为14×14的6个特征图,从而完成第一次卷积合并操作;下一步,将6个14×14的特征图与16个5×5×6的卷积核进行卷积,生成16个10×10的卷积特征图;接着将汇集的16张5×5特征图进行一次卷积,把120张5×5特征图与120张5×5特征图进行卷积,得到120张1×1特征图。最后就是1个120输入84输出的全连接层和1个84输入62输出的输出层,总参数大约为6万个,网络结构如图8所示。

图8 网络结构图

4 系统软件设计

4.1 小车控制设计

装载在小车平台上的树莓派通过GPIO口输出高低电平信号给电机驱动板和舵机驱动板,驱动板接收控制信号从而使得输出端口控制双电机和舵机工作。树莓派给出的控制信号包括前进、左转、右转、减速、停车,控制信号是由picamera相机采集的实时图像经神经网络模型分析所得出最大可能的控制信息,从而实现控制小车自动巡线[12-14]。

电机驱动控制设计中,系统以设置GPIO引脚编号的模式为BOARD编码方式,使用树莓派的29、31、33、35端口提供给电机高低电平信号。

舵机驱动控制直接使用PAC9685舵机控制板输出PWM信号,提供给舵机控制小车左右转及回正。

4.2 摄像头采集图像控制设计

利用树莓派摄像头采集数据集的研究,通过对摄像头的使用、多线程图像处理任务、图像采集过程以及样本分析的叙述,详细地了解小车平台上采集数据集的流程,并为数据集采集出现的光线、环境、技巧等方面提供实践经验。使用picamera,在python环境里调用opencv库,在循环里进行图像采集,在进行压缩处理时,将压缩后的图像转换为字节型的数据以便神经网络模型的下一步处理。

4.3 图像处理程序设计

对神经网络的研究与搭建,本系统利用Tensorflow库Inception-V3作为已经训练好的模型,通过迁移学习实现了神经网络模型的搭建及训练,详细分析了神经网络节点、节点计算、样本导入、网络搭建流程、卷积过程、训练过程等具体实现过程[15-16]。图像处理需要先加载训练好的深度学习模型,图像识别函数可获取图像的字节型数据,经处理得出最大概率的识别结果并返回。

5 实验效果及数据分析

经过多次采集图像以及训练模型,小车基于训练好的模型,通过获取实时图像可以得到当前环境最大可能预测值。在赛道上可以实现基本的识别直行、左转、右转以及红灯停车。

小车运行过程中输出的识别结果如图9所示,小车在直道上识别到直行标志并前进如图10所示,小车识别到右转且正确做出判断如图11所示。实验结果显示,小车可实现基础行驶功能,具有一定的实用性。

图9 小车运行中输出识别结果

图10 小车在直道上行驶

图11 小车正确做出右转判断

本系统利用LeNet-5训练模型,通过迁移训练,训练出适应自己识别环境的神经网络pb模型,训练的准确率很高,准确率基本都达到95%以上,如图12所示。

图12 训练模型的准确率

6 总结

从目前的实验效果来看,本文设计实现的小车系统能较好地完成交通标识识别和自主巡线功能,该系统平台具有一定的实用性、可移植性和可扩展性,为今后的研究提供了良好的建议。

[1] 刘回春. 自动驾驶智能网联汽车频频亮相[J]. 中国质量万里行, 2019(10): 94-95.

[2] 孙志军, 薛磊, 许阳明, 等. 深度学习研究综述[J]. 计算机应用研究, 2012, 29(8): 2806-2810.

[3] 尹宝才, 王文通, 王立春. 深度学习研究综述[J]. 北京工业大学学报, 2015, 41(1): 48-59.

[4] 叶绿, 朱家懿, 段婷. 基于深度学习的行驶视觉图像分割模型设计[J]. 实验室研究与探索, 2020, 39(10): 88-92.

[5] 倪志平, 覃溪. 基于驾驶行为识别的车载交通信息数据实时发布系统[J]. 科学技术与工程, 2018, 18(8): 255-259.

[6] 李树德, 黄颂, 刘彩霞, 等. 基于TC264单片机的智能无人小车设计[J]. 桂林航天工业学院学报, 2021, 26(4): 435-440.

[7] 韩团军. 基于STM32RCT6的无线地面智能排障小车的设计[J]. 实验技术与管理, 2018, 35(6): 151-155.

[8] 孙艺铭, 林雨, 范佩升, 等. 基于BP神经网络的智能车电磁导航控制算法[J]. 科学技术创新, 2020(25): 103-105.

[9] 张夏宜, 刘富强, 李志鹏. 车载视觉导航系统中的交通标志识别技术[J]. 上海汽车, 2009(1): 33-36.

[10] 罗钧, 李志学, 龚燕峰. 基于AM5749的交通标志智能识别系统实验设计[J].实验技术与管理, 2021, 38(8): 65-70.

[11] 周飞燕, 金林鹏, 董军. 卷积神经网络研究综述[J]. 计算机学报, 2017, 40(6): 1229-1251.

[12] 张铮, 范若怡, 宫若宁, 等. 基于图像处理的智能小车无线远程灭火[J]. 实验室研究与探索, 2018, 37(1): 33-37.

[13] 王加安, 戴鹏, 蒋波文. 基于TC264的智能小车控制系统[J]. 电子制作, 2021(18): 7-9.

[14] 曹建平, 丁坦, 杨辉. 基于STM32的WIFI控制金属探测小车系统设计[J]. 实验室研究与探索, 2020, 39(9): 79-83.

[15] 刘培军, 马明栋, 王得玉. 基于OpencV图像处理系统的开发与实现[J]. 计算机技术与发展, 2019, 29(3):127-131.

[16] 单慧琳, 洪智毅, 张银胜, 等. 基于深度学习的景点图像识别[J]. 实验室研究与探索, 2022, 41(5): 12-17.

Design and Implementation of Automatic Line Patrol Trolley Based on Traffic Sign Recognition

XU Peng-fei, ZHOU Yan-yun, DIAO Peng-cheng, XIA Le-tian

( School of Information Science and Engineering, Xinjiang University, Xinjiang Urumqi, 830046, China)

This paper designs and implements an automatic patrol intelligent vehicle based on traffic sign recognition, which identifies traffic signs and path information by building an image processing model of neural network and on-board image processing technology, derives the recognition results and makes corresponding control. The system hardware composition of the intelligent vehicle, the establishment of the deep learning model, the method of collecting the required data and the method of model training, the experimental results and analysis are described in detail. The results show that the design can meet the traffic sign recognition in the automatic cart patrol process and satisfy the requirements of portability, accuracy and speed.

deep learning; traffic sign recognition; raspberry Pi; automatic patrol intelligent vehicle

10.15916/j.issn1674-3261.2023.02.007

G642.0;TN710

A

1674-3261(2023)02-0108-05

2022-10-03

新疆大学实验室管理与实践研究项目(2023年)

徐鹏飞(2000-),男,河南商丘人,本科生。

周燕云(1986-),女,新疆乌鲁木齐人,实验师,硕士。

责任编辑:孙 林

猜你喜欢

巡线树莓小车
春光美巡线忙
大车拉小车
自制小车来比赛
出没风波里,踏浪去巡线
基于树莓派的骑行智能头盔设计
刘老师想开小车
无人机在电力巡线中的应用模式研究
两轮自平衡小车的设计与实现
基于树莓派的远程家居控制系统的设计
响应面法优化红树莓酒发酵工艺