一种基于单目摄像头和树莓派的自动驾驶系统及方法与流程

文档序号:17946768发布日期:2019-06-18 23:43阅读:650来源:国知局
一种基于单目摄像头和树莓派的自动驾驶系统及方法与流程

本发明属于图像处理的技术领域,具体涉及一种在树莓派上运行的基于单目摄像头的深度卷积神经网络的自动驾驶系统及方法。



背景技术:

目前,自动驾驶技术快速发展,一般都是基于多目摄像头或者激光雷达,并且需要在高配置的服务器上运行,但是,传统的树莓派提供的计算能力较小,无法提供传统无人驾驶技术所需的计算能力,当硬件并不丰富的情况下,即只提供一个单目摄像头的情况下,由于单目摄像头在模型车行驶中无法提供较为详细的路况信息,因此,想要实现自动驾驶就需要更为复杂的神经网络来处理单目摄像头拍摄的图像,但是,正如上文所说树莓派提供的计算能力是有限的,因此,较为复杂的神经网络无法在树莓派上运行,目前没有合适的神经网络模型可以实现二者的平衡,在已有的网络模型中一般使用双目摄像头或者三目摄像头、使用雷达等其他辅助设备等方式辅助以简单的多层卷积神经网络,来实现在树莓派计算能力上的自动驾驶,但是这样增加了硬件成本,故而在单目摄像头和树莓派的硬件基础上现阶段无法实现自动驾驶。

因此,急需一种能够在简易环境下实现自动驾驶的方案。



技术实现要素:

针对现有技术的不足,本发明提供了一种基于单目摄像头和树莓派的自动驾驶系统,本发明还提供了一种基于单目摄像头和树莓派的自动驾驶方法;

术语解释:

opencv,是一个基于bsd许可(开源)发行的跨平台计算机视觉库,可以运行在linux、windows、android和macos操作系统上。它轻量级而且高效--由一系列c函数和少量c++类构成,同时提供了python、ruby、matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

本发明的技术方案为:

一种基于单目摄像头和树莓派的自动驾驶系统,包括依次连接的数据收集单元、数据预处理单元、深度卷积神经网络、控制单元;

所述数据收集单元用于获取模型车(该模型车为设置有单目摄像头和树莓派的4wd智能模型车)运行时的路况信息,路况信息是指路况图片,并将获取的路况信息发送至数据预处理单元;所述数据预处理单元用于对接收到的路况图片进行预处理,是指依次进行灰度化、降噪、二值化、字符切分和归一化处理;所述深度卷积神经网络在训练中用于训练预处理后的多张路况图片组成的数据集,得到成熟的深度卷积神经网络,在模型车运行过程中,输入上述预处理后的多张路况图片,得到模型车的控制信息,模型车的控制信息包括转向方向(左转或右转)、转向角度(左转或右转多少度)、油门大小;所述控制单元将模型车的控制信息传递给模型车,完成模型车自动驾驶。

根据本发明优选的,所述数据收集单元是指设置有单目摄像头和树莓派的4wd智能模型车,单目摄像头用于拍摄获取路况图片。

根据本发明优选的,获取的路况信息通过opencv以字节流的格式传递到数据预处理单元。

根据本发明优选的,树莓派模型车提供了硬件方面的模型车控制接口,通过python编写接口,将模型车的控制信息传递给模型车的硬件接口,完成模型车的控制信息的传递。

一种基于单目摄像头和树莓派的自动驾驶方法,用于实现模型车在模型车道上自动驾驶,包括步骤如下:

(1)收集数据集;数据集包括大量路况图片;

(2)数据集预处理;

(3)使用步骤(2)预处理后的数据集训练深度卷积神经网络,经过训练得到成熟的深度卷积神经网络;成熟的深度卷积神经网络输入拍摄的路况图片,输出模型车的控制信息,模型车的控制信息包括转向方向(左转或右转)、转向角度(左转或右转多少度)、油门大小;

(4)使用步骤(3)训练得到的成熟的深度卷积神经网络,使模型车在模型车道上进行自动驾驶。

根据本发明优选的,所述步骤(1),收集数据集,是指:设置有单目摄像头和树莓派的4wd智能模型车实时拍摄路况,得到大量路况图片。

根据本发明优选的,所述步骤(2),数据预处理,包括:

a、在获取路况图片时,实时记录此时模型车的速度、油门大小、转向方向、转向角度(模型车此时偏离前进方向的角度大小),标注每张路况图片的名称、存放位置、油门大小、速度、转向角度和转向方向作为一个记录,将所有记录放在同一个.csv文件中;

b、对步骤a处理后的路况图片依次进行灰度化、降噪、二值化、字符切分以及归一化处理。

根据本发明优选的,深度卷积神经网络结构如下:依次包括一层图像归一化层、四层5x5的卷积层、两层3x3的卷积层和四层全连接层;

imagenormalization

convolution:5x5,filter:12,strides:2x2,activation:elu

convolution:5x5,filter:24,strides:2x2,activation:elu

convolution:5x5,filter:36,strides:2x2,activation:elu

convolution:5x5,filter:48,strides:2x2,activation:elu

convolution:3x3,filter:64,strides:1x1,activation:elu

convolution:3x3,filter:64,strides:1x1,activation:elu

dropout(0.5)

fullyconnected:neurons:100,activation:elu

fullyconnected:neurons:50,activation:elu

fullyconnected:neurons:10,activation:elu

fullyconnected:neurons:1(output)

该深度卷积神经网络是端到端的卷积神经网络,整个深度卷积神经网络当作黑盒,输入路况图片后,首先,经过第一层图像归一化层(imagenormalization层)进行图像预处理,然后,经过四层的5x5卷积层和两层的3x3卷积层后,图片变成高维度特征图,通过6层的卷积,完成了对路况图片的特征提取,即提取图像中的局部特征比,例如提取到车道线的弯曲方向和程度,最后,经过四层的全连接层,输出最后的偏转比例,偏转比例是预测模型车接下来要偏离的角度除以90度所得到的值,该值正数代表向左转,负数代表向右转,大小代表偏离目前行驶方向的角度大小除以90度,全连接层相当于将卷积提取的特征进行总结,并预测出接下来的转向角度。

根据本发明优选的,所述步骤(4),使用步骤(3)训练得到的成熟的深度卷积神经网络,使模型车在模型车道上进行自动驾驶,是指:

c、模型车运行过程中将单目摄像头拍摄的路况图片传入成熟的深度卷积神经网络;

d、成熟的深度卷积神经网络完成推断过程,输出偏转比例,偏转比例是预测模型车接下来要偏离的角度除以90度所得到的值,该值正数代表向左转,负数代表向右转,大小代表偏离目前行驶方向的角度大小除以90度;

e、得到偏转比例后,经过计算获得油门大小;模型车过弯时要通过刹车和松开油门降低速度,然后调整角度之后再调整油门通过路口,因此转向角度和油门息息相关,当转向角度很大时油门必须松开降低速度来通过弯道,反之亦然。那么当预测出偏向角度后可以通过计算得到油门大小(该大小为百分比数值),计算公式为:a=1.0-t^2-(v1÷v2)^2,a是指油门大小,t是指偏转比例,v1是指速度,v2是指限制速度,当模型车当前速度v1大于允许的最大速度(该速度为人工设置)时,限制速度v2为允许的最小速度(该速度为人工设置),否则,限制速度v2为允许的最大速度;

f、将获得的油门大小和偏转比例传递给树莓派模型车,进而控制模型车的转向和加速减速,将得到的油门大小和偏向角度,通过python代码传递到树莓派模型车的硬件接口,该硬件接口得到油门大小和偏向角度后,调节模型车的速度和方向,实现模型车自动驾驶。

本发明的有益效果为:

本发明与目前传统自动驾驶算法相比摒弃了复杂的深层网络模型和雷达等昂贵硬件,实现了在较小的计算能力和较差的硬件条件下的自动驾驶,使得可以以较小的成本和代价,即在仅使用单目摄像头和树莓派的情况下,依靠单纯视觉识别使用端对端的神经网络实现了无人驾驶。

附图说明

图1为基于单目摄像头和树莓派的自动驾驶系统的结构框图;

图2为本发明基于单目摄像头和树莓派的自动驾驶方法的流程示意图;

具体实施方式

下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。

实施例1

一种基于单目摄像头和树莓派的自动驾驶系统,如图1所示,包括依次连接的数据收集单元、数据预处理单元、深度卷积神经网络、控制单元;

数据收集单元用于获取模型车(该模型车为设置有单目摄像头和树莓派的4wd智能模型车)运行时的路况信息,路况信息是指路况图片,并将获取的路况信息发送至数据预处理单元;数据预处理单元用于对接收到的路况图片进行预处理,是指依次进行灰度化、降噪、二值化、字符切分和归一化处理;深度卷积神经网络在训练中用于训练预处理后的多张路况图片组成的数据集,得到成熟的深度卷积神经网络,在模型车运行过程中,输入上述预处理后的多张路况图片,得到模型车的控制信息,模型车的控制信息包括转向方向(左转或右转)、转向角度(左转或右转多少度)、油门大小;控制单元将模型车的控制信息传递给模型车,完成模型车自动驾驶。

数据收集单元是指设置有单目摄像头和树莓派的4wd智能模型车,单目摄像头用于拍摄获取路况图片。

获取的路况信息通过opencv以字节流的格式传递到数据预处理单元。

树莓派模型车提供了硬件方面的模型车控制接口,通过python编写接口,将模型车的控制信息传递给模型车的硬件接口,完成模型车的控制信息的传递。

深度卷积神经网络结构如下:依次包括一层图像归一化层、四层5x5的卷积层、两层3x3的卷积层和四层全连接层;

imagenormalization

convolution:5x5,filter:12,strides:2x2,activation:elu

convolution:5x5,filter:24,strides:2x2,activation:elu

convolution:5x5,filter:36,strides:2x2,activation:elu

convolution:5x5,filter:48,strides:2x2,activation:elu

convolution:3x3,filter:64,strides:1x1,activation:elu

convolution:3x3,filter:64,strides:1x1,activation:elu

dropout(0.5)

fullyconnected:neurons:100,activation:elu

fullyconnected:neurons:50,activation:elu

fullyconnected:neurons:10,activation:elu

fullyconnected:neurons:1(output)

该深度卷积神经网络是端到端的卷积神经网络,整个深度卷积神经网络当作黑盒,兼顾了树莓派的计算能力和模型的精确度;输入路况图片后,首先,经过第一层图像归一化层(image

normalization层)进行图像预处理,然后,经过四层的5x5卷积层和两层的3x3卷积层后,图片变成高维度特征图,通过6层的卷积,完成了对路况图片的特征提取,即提取图像中的局部特征比,例如提取到车道线的弯曲方向和程度,最后,经过四层的全连接层,输出最后的偏转比例,偏转比例是预测模型车接下来要偏离的角度除以90度所得到的值,该值正数代表向左转,负数代表向右转,大小代表偏离目前行驶方向的角度大小除以90度,全连接层相当于将卷积提取的特征进行总结,并预测出接下来的转向角度。

实施例2

一种基于单目摄像头和树莓派的自动驾驶方法,如图2所示,用于实现模型车在模型车道上自动驾驶,包括步骤如下:

(1)收集数据集;数据集包括大约10万张左右的路况图片;

(2)数据集预处理;

(3)使用步骤(2)预处理后的数据集训练深度卷积神经网络,经过训练得到成熟的深度卷积神经网络;成熟的深度卷积神经网络输入拍摄的路况图片,输出模型车的控制信息,模型车的控制信息包括转向方向(左转或右转)、转向角度(左转或右转多少度)、油门大小;

(4)使用步骤(3)训练得到的成熟的深度卷积神经网络,使模型车在模型车道上进行自动驾驶。

步骤(1),收集数据集,是指:设置有单目摄像头和树莓派的4wd智能模型车实时拍摄路况,得到大量路况图片。

步骤(2),数据预处理,包括:

a、在获取路况图片时,实时记录此时模型车的速度、油门大小、转向方向、转向角度(模型车此时偏离前进方向的角度大小),标注每张路况图片的名称、存放位置、油门大小、速度、转向角度和转向方向作为一个记录,将所有记录放在同一个.csv文件中;

b、对步骤a处理后的路况图片依次进行灰度化、降噪、二值化、字符切分以及归一化处理。

步骤(4),使用步骤(3)训练得到的成熟的深度卷积神经网络,使模型车在模型车道上进行自动驾驶,是指:

c、模型车运行过程中将单目摄像头拍摄的路况图片传入成熟的深度卷积神经网络;

d、成熟的深度卷积神经网络完成推断过程,输出偏转比例,偏转比例是预测模型车接下来要偏离的角度除以90度所得到的值,该值正数代表向左转,负数代表向右转,大小代表偏离目前行驶方向的角度大小除以90度;

e、得到偏转比例后,经过计算获得油门大小;模型车过弯时要通过刹车和松开油门降低速度,然后调整角度之后再调整油门通过路口,因此转向角度和油门息息相关,当转向角度很大时油门必须松开降低速度来通过弯道,反之亦然。那么当预测出偏向角度后可以通过计算得到油门大小(该大小为百分比数值),计算公式为:a=1.0-t^2-(v1÷v2)^2,a是指油门大小,t是指偏转比例,v1是指速度,v2是指限制速度,当模型车当前速度v1大于允许的最大速度(该速度为人工设置)时,限制速度v2为允许的最小速度(该速度为人工设置),否则,限制速度v2为允许的最大速度;

f、将获得的油门大小和偏转比例传递给树莓派模型车,进而控制模型车的转向和加速减速,将得到的油门大小和偏向角度,通过python代码传递到树莓派模型车的硬件接口,该硬件接口得到油门大小和偏向角度后,调节模型车的速度和方向,实现模型车自动驾驶。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

本发明主要目标是在单目摄像头和较低计算能力的树莓派上完成自动驾驶,因此本实验采用简单的端对端的多层卷积神经网络来处理单目摄像头拍摄的路况信息,从而得到模型车的转向角度信息,在此基础上通过相关计算得到模型车的油门大小预测值和速度预测值,最后将模型车控制信息传递到模型车控制模块,控制模型车的加速减速和转弯。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1