1、基于TensorFlow深度学习自动驾驶小车的设计曾啸川 邓红卫 莫岚淋 陈一楠 贺迪:本文以自动驾驶小车为例,将深度学习技术运用于自动驾驶小车,在模拟的道路上,实现对交通标志识别的自动驾驶。本文采用TensorFlow深度学习框架,编写CNN结构模型,训练卷积神经网络,运用OpenCV图像处理技术,使用摄像头采集模拟道路与交通信号标志数据,通过处理器计算和处理,面对相应的交通信号标志,自动驾驶小车自动采取应对措施。测试结果说明,小车具有一定程度的自动驾驶与交通标志识别能力。关键词:TensorFlow;深度学习;卷积神经网络;自动驾驶;交通标志识别中图分类号:TP18 文献标识码:A 文章编
2、号:1007-9416202307-0131-040 引言TensorFlow7是一個采用数据流图data flow graphs,用于数值计算的开源软件库。节点Nodes在图中表示数学操作,图中的线edges那么表示在节点间相互联系的多维数据数组,即张量tensor。它灵活的架构让开发者可以在多种平台上展开计算,例如计算机中的一个或多个CPU或GPU,效劳器,移动设备等等。无人驾驶技术是传感器、计算机、人工智能、通信、导航定位、模式识别、机器视觉、智能控制等多门前沿学科的综合体。无人驾驶汽车的关键技术包括环境感知、导航定位、路径规划、决策控制等。环境感知模块相当于无人驾驶汽车的眼和耳,无人驾
3、驶汽车通过环境感知模块来区分自身周围的环境信息,为其行为决策8提供信息支持。无人驾驶汽车的导航模块用于确定无人驾驶汽车其自身的地理位置,是无人驾驶汽车的路径规划和任务规划的之支撑。路径规划是无人驾驶汽车信息感知和智能控制的桥梁,是实现自主驾驶的根底。决策控制模块相当于无人驾驶汽车的大脑,其主要功能是依据感知系统获取的信息来进行决策判断,进而对下一步的行为进行决策,然后对车辆进行控制。正因人工智能与无人驾驶汽车拥有好的前景需求,本文基于TensorFlow深度学习和计算机视觉9,研究深度学习中的图像识别10技术的问题。并将实时视频通过图像识别之后的结果,与自动驾驶小车11-13的控制相结合,从而
4、实现无人驾驶。自动驾驶小车除了能实现自动驾驶与避障外,还能实现对交通标志1的识别14-16。1 系统构成与功能自动驾驶小车可以分为感知和决策两个局部,树莓派发送指令给Arduino控制直流减速电机实现小车的决策局部;通过摄像头采集的道路和交通标志数据对小车进行训练,让其具有感知功能,并通过测试,实现其感知局部。1.1 硬件系统构成自动驾驶小车的实物图如图1所示,系统硬件框图如图2所示。本文的自动驾驶小车是组装的小车底盘,由一个伺服电机和一个直流减速电机组成。硬件系统由树莓派4B、Arduino uno r3、L293D驱动模块、L298N驱动模块、HC-05蓝牙模块与HC-SR04超声波模块构
5、成。树莓派4B作为上位机,进行数据采集与图像预测,Arduino uno r3作为下位机,通过HC-05蓝牙模块与树莓派4B通讯,并发送指令控制自动驾驶小车的运行。L293D驱动伺服电机实现自动驾驶小车的转向,L298N驱动直流减速电机控制自动驾驶小车的速度。自动驾驶小车上方安装了一个800万像素的摄像头,用于数据采集。1.2 系统运行流程该系统的整体流程图如图3所示。将训练好的模拟道路模型装载到树莓派4B中,将训练好的交通标志模型装载到PC中。PC与树莓派4B通过局域网进行通讯,树莓派4B通过实时采集到的视频流数据发送到PC,PC将发送过来的实时视频拆分为一帧一帧的图片,并进行处理与预测,将
6、预测的交通标志的对应标签,发送信号流给树莓派4B,树莓派4B再发送对应指令给Arduino,自动驾驶小车从而自动采取应对的措施。2 系统算法设计网络模型算法基于TensorFlow框架进行设计,图片处理算法基于OpenCV进行设计,如图4所示。模型设计方面,在不影响特征提取的情况下,参加最大池化层,还参加Dropout层防止过拟合。图片处理方面,将摄像头采集到的实时视频拆分为一帧一帧的图片,通过HSV颜色空间2的转换、二值化处理和目标区域的提取3等预处理操作,再进行交通标志的预测。2.1 网络结构如图5所示,为模拟道路自动驾驶的网络结构。本算法设计的卷积神经网络4以小车采集的图像作为输入,主要
7、由5个卷积层以及3个全连接层所构成。使用的损失函数为交叉熵;激活函数为ReLU;分类器使用Softmax;优化器为ADAM。采集的道路的图像大小为320x160个像素,每张图片都有对应的标签值,经过OpenCV的处理变成灰度图片,再将每一张图片输入到网络结构中进行训练。每张图片经过5个卷积层的特征提取,参加了Dropout层防止过拟合,flatten层是卷积层到全连接层的过渡层,将多维的数据变成一维,最终输出为三个标签对应的值。如图6所示,为交通标志分类识别的网络结构。本算法设计的卷积神经网络以32x32x3的彩色图像作为输入,主要由3个卷积层,3个池化层,以及3个全连接层所构成。使用的损失函
8、数为交叉熵;激活函数为ReLU;分类器使用Softmax;优化器为ADAM。采集的交通标志的图片为大小不等的彩色图片,经过OpenCV的处理将图片统一变成32x32大小,通过python的pickle模块将图片数据序列化后转变成二进制文件保存,再将该文件输入到网络结构中进行训练,使图片数据更易于读取与处理。2.2 HSV颜色空间的转换和二值化处理HSV是把H色调,S饱和度,V明度当做色值来定位颜色的空间。相对于RGB空间,HSV空间能够非常直观的表达色彩的明暗,色调,以及鲜艳程度,方便进行颜色之间的比照。将采集到的图片进行HSV颜色空间的转换,并将红色、蓝色和绿色三种颜色阈值分割5-6,对目标
9、区域进行阈值化与膨胀处理,最终生成一张合并的mask图。如以下列图所示,为本系统在模拟道路上所收集到的五类模拟交通标志mask图。图7为人行横道标志mask图;图8、图9分别为红绿灯标志mask图;图10为50_kmh限速标志mask图;图11为“stop停车标志mask图。2.3 滑动窗口技术滑动窗口技术,首先固定一个卷积区域,然后将卷积核在图像上按照指定步长进行滑动,对于每一次的滑动得到区域进行预测,判断该区域中存在目标的概率。滑动窗口目标检测算法有很明显的缺点,就是计算本钱,因为如果在图片中剪切出太多小方块,卷积网络要一个个地处理。如果选用的步幅很大,显然会减少输入卷积网络的窗口个数,但
10、是粗糙间隔尺寸可能会影响性能。反之,如果采用小粒度或小步幅,传递给卷积网络的小窗口会特别多,这意味着超高的计算本钱。为此,对这些问题做了一些改良。在生成的mask图中,白色区域代表目标区域,黑色区域那么代表非目标区域。在进行滑动窗口采用小步幅进行滑动,如果遇到黑色区域或者低像素值区域就直接跳过,遇到目标区域才进行预测。这样处理不仅不会影响其性能,也不会拥有超高的计算本钱。3 实验与分析数据采集结束后,通过构建的卷积神经网络来训练样本数据。将所有数据集拆分80%为训练集,其他的20%为验证集。如图12所示,自动驾驶训练,训练数据集包含8167个图片样本,输入到卷积神经网络进行训练,经过20次迭代
11、,训练集正确率为0.9836,loss值为0.0434,验证集正确率为0.9639,loss值为0.1035。如图13所示,交通标志训练,训练数据集包含10222个图片样本,输入到卷积神经网络进行训练,经过10次迭代,训练集正确率为0.9825,loss值为0.0610,验证集正确率为0.9941,loss值为0.0543。4 结语本文的主要奉献和结论如下。1本文将深度学习中的图像识别技术与无人驾驶小车相拟合,两者之间能够流畅的运行。2实验结果说明,本系统设计的基于TensorFlow深度学习的自动驾驶系统具有一定的自动驾驶与交通标志识别能力。3本实验树莓派与Arduino之间采用蓝牙模块通讯
12、,存在一定的时间延迟,总体表现还好,应该考虑使用更好的通讯方式,以减小通讯的延迟时间。4采用提取感兴趣区域的方法,运用滑动窗口技术,并进行略微的改良,能够使图像识别能力比拟准确,处理速度更快。5由于硬件计算能力有限,导致整个系统发送指令时有一定的延迟时间,无人驾驶小车行驶过程中有一定的误差。参考文献1 Saadna Y,Behloul A.An overview of traffic sign detection and classification methodsJ.International Journal of Multimedia Information Retrieval,20236
13、:193-210.2 Qin Y Y,Cui W,Li Q,et al.Traffic Sign Image Enhancement in Low Light EnvironmentJ.Procedia Computer Science,2023154:596-602.3 Salti S,Petrelli A,Tombari F,et al.Traffic sign detection via interest region extractionJ.Pattern Recognition,2023,484:1039-1049.4 Alexander Shustanov,Pavel Yakimo
14、v.CNN Design for Real-Time Traffic Sign RecognitionJ.Procedia Engineering,2023201:718-725.5 Cao Jingwei,Song Chuanxue,Peng Silun,Xiao Feng,Song Shixin. Improved Traffic Sign Detection and Recognition Algorithm for Intelligent VehiclesJ.SensorsSENSORS-BASEL,2023,1918:4021.6 Selcan Kaplan Berkaya,Huse
15、yin Gunduz,Ozgur Ozsen,Cuneyt Akinlar,Serkan Gunal.On circular traffic sign detection and recognitionJ.Expert Systems with Applications,202348:67-75.7 章敏敏,徐和平,王晓洁,等.谷歌TensorFlow机器学习框架及应用J.微型机与应用,2023,3610:58-60.8 武歷颖.无人驾驶汽车环境信息提取及运动决策方法研究D.西安:长安大学,2023.9 白辰甲.基于计算机视觉和深度学习的自动驾驶方法研究D.哈尔滨:哈尔滨工业大学,2023.10 孙洪萍.图像识别交通标志的检测与识别J.科技创新与应用,202311:130-131.11 吕威.电动助力转向系统稳定性和电流控制方法研究D.长春:吉林大学,2023.12 刘刚.基于智能车的后轮双电机差速的研究与应用J.电子制作,202313:88-89.13 陈孟元,孙书诚,王虎.基于图像识别的寻迹智能车设计J.重庆理工大学学报自然科学,2023,273:80-84+103.14 仲崇豪,宋斌,徐方明,等.基于TensorFlow的交通标志识别系统研究J.信息与理论版,2023,3122:101-102.15 王全,梁敬文.基于Tens