基于深度学习的自动驾驶车辆、自动驾驶控制装置及自动驾
驶控制方法
技术领域
本发明涉及自动驾驶控制技术。
背景技术
近年来,随着汽车控制技术的发展,开发了即使驾驶员不操作车辆也会自动行驶的自动驾驶控制技术。
这种自动驾驶控制技术检测相应车辆周围的物体,并利用检测结果,根据检测物体的举动状态,控制相应车辆的行驶状态等。
对目前的自动驾驶控制技术来说,无法通过分析对前方物体检测到的信号来准确地区分物体的种类,因此,只能在特定的条件下进行自动驾驶控制,或者难以实施自动驾驶控制本身。虽然能够检测可靠的自动控制目标(相应车辆自动行驶时所参照的车辆等的物体),但是,检测的可靠性并没有令人满意。
发明内容
(一)要解决的技术问题
在这种背景下,本实施例的目的在于,提供一种准确区分并识别自动驾驶车辆行驶时所参照的控制目标物体(例如,前方车辆、行人)与其他不是控制目标物体的结构物(高架道路、水泥板)等,从而在必要的情况下,能够执行必要程度的自动驾驶控制的基于深度学习的自动驾驶车辆、基于深度学习的自动驾驶控制装置及基于深度学习的自动驾驶控制方法。
本实施例的另一个目的在于,提供一种提高利用雷达传感器等传感器信号的物体区别性能,并实现可靠性高的自动驾驶的基于深度学习的自动驾驶车辆、基于深度学习的自动驾驶控制装置及基于深度学习的自动驾驶控制方法。
本实施例的又一个目的在于,提供一种可实现考虑驾驶员的驾驶习惯的自动驾驶控制的基于深度学习的自动驾驶车辆、基于深度学习的自动驾驶控制装置及基于深度学习的自动驾驶控制方法。
本实施例的又一个目的在于,提供一种可通过较低的处理负担、较快的处理速度及更准确的识别性能来识别并区分控制目标物体的基于深度学习的自动驾驶车辆、基于深度学习的自动驾驶控制装置及基于深度学习的自动驾驶控制方法。
(二)技术方案
从一个方面来讲,本实施例可以提供一种基于深度学习的自动驾驶控制装置,所述自动驾驶控制装置包括:深度学习算法执行部,输出对检测车辆周围的检测信号执行深度学习算法的结果;自动驾驶控制部,当所述车辆处于自动行驶状态时,根据所述深度学习算法的执行结果,控制所述车辆的自动行驶;以及深度学习处理部,参照驾驶员的驾驶信息,变更所述深度学习算法。
从另一个方面来讲,本实施例可以提供一种基于深度学习的自动驾驶车辆,所述自动驾驶车辆包括:传感器,检测车辆周围并输出检测信号;基于深度学习的自动驾驶控制装置,对所述检测信号执行深度学习算法,当所述车辆处于自动行驶状态时,基于深度学习算法的执行结果,输出控制所述车辆的自动行驶的控制信号,并参照驾驶员的驾驶信息,变更所述深度学习算法;以及驱动装置,根据控制信号,驱动所述车辆。
从又一个方面来讲,本实施例可以提供一种基于深度学习的自动驾驶控制方法,所述自动驾驶控制方法包括以下步骤:输出对检测车辆周围的检测信号执行深度学习算法的结果;当车辆处于自动行驶状态时,根据深度学习算法的执行结果,控制车辆的自动行驶;以及参照驾驶员的驾驶信息,变更深度学习算法。
(三)有益效果
根据上述的本实施例,本发明具有提供一种准确区分并识别自动驾驶车辆行驶时所参照的控制目标物体(例如,前方车辆、行人)与其他不是控制目标物体的结构物(高架道路、水泥板)等,从而在必要的情况下,能够执行必要程度的自动驾驶控制的基于深度学习的自动驾驶车辆、基于深度学习的自动驾驶控制装置及基于深度学习的自动驾驶控制方法的效果。
根据本实施例,本发明具有提供一种提高利用雷达传感器等传感器信号的物体区别性能,并实现可靠性高的自动驾驶的基于深度学习的自动驾驶车辆、基于深度学习的自动驾驶控制装置及基于深度学习的自动驾驶控制方法的效果。
根据本实施例,本发明具有提供一种可实现考虑驾驶员的驾驶习惯的自动驾驶控制的基于深度学习的自动驾驶车辆、基于深度学习的自动驾驶控制装置及基于深度学习的自动驾驶控制方法的效果。
根据本实施例,本发明具有提供一种可通过较低的处理负担、较快的处理速度及更准确的识别性能来识别并区分控制目标物体的基于深度学习的自动驾驶车辆、基于深度学习的自动驾驶控制装置及基于深度学习的自动驾驶控制方法的效果。
附图说明
图1和图2是示出本实施例的基于深度学习的自动驾驶车辆的图。
图3是本实施例的基于深度学习的自动驾驶车辆的框图。
图4是本实施例的基于深度学习的自动驾驶控制装置的框图。
图5是示出本实施例的用于基于深度学习的自动驾驶控制的深度学习算法的图。
图6是本实施例的用于基于深度学习的自动驾驶控制的深度学习算法的深度神经网络的示例图。
图7是本实施例的基于深度学习的自动驾驶控制方法的流程图。
图8是本实施例的基于深度学习的自动驾驶控制方法中,变更深度学习算法的步骤(学习步骤)的流程图。
附图标记说明
100:自动驾驶车辆
110a、110b、110c:检测物体
300:基于深度学习的自动驾驶控制装置
310:传感器
320:驱动装置
410:深度学习算法执行部
420:自动驾驶控制部
430:深度学习处理部
500:深度神经网络
Nin:输入节点
Ncon:连接节点
Nout:输出节点
WL:权重线
具体实施方式
下面,参照示例性附图对本发明的部分实施例进行详细说明。针对各附图中的组件的附图标记,即使相同的组件被表示在不同的附图,也可以使用相同的附图标记来表示。并且,本说明书中,当认为相关的公知结构或功能的具体说明会混淆本发明的主旨时,可以省略其详细说明。
并且,说明本发明的组件时,可以使用第一、第二、A、B、(a)、(b)等术语。所述术语仅仅用于将其组件与其他组件区分开,并不因所述术语而限定相应组件的本质、顺序或数量等。当记载某个组件与其他组件“连接”、“结合”或“相连”时,所述组件可以与其他组件直接连接或相连,也可以理解为其他组件“介于”各组件之间,或者各组件通过其他组件“连接”、“结合”或“相连”。
图1和图2是示出本实施例的基于深度学习的自动驾驶车辆100的图。
参照图1和图2,本实施例的自动驾驶车辆100是即使驾驶员没有操作车辆也会自动行驶的车辆,即,即使驾驶员没有控制制动器、方向盘、加速踏板等,也能够掌握道路状况并自动行驶。
本实施例的所述自动驾驶车辆100可以包括无人驾驶汽车(Driverless car)。
本实施例的自动驾驶车辆100采用了用于实现智能汽车的多种应用控制技术,并利用所述技术能够实现自动驾驶。
例如,自动驾驶车辆100可以采用自动保持车辆之间的距离的技术、后侧警报系统、自动紧急制动系统、车道脱离警报系统、车道保持支援系统、先进的智能巡航控制系统(ASCC,以设定的速度保持车间距离的同时定速行驶的技术),拥挤区间行驶支援系统等。
本说明书中的自动驾驶车辆100采用上述功能中的至少一种功能,从而在驾驶员没有参与的情况下,自动控制车辆的速度或方向。即本发明的自动驾驶车辆100不仅包括由车辆自动控制车辆的所有举动的车辆,而且还包括由车辆自动控制车辆的部分功能(例如,加速或减速)的车辆。即本发明也可以适用于执行巡航控制的车辆,本说明书中将所述车辆统称并记载为自动驾驶车辆。
所述多种应用控制技术需要准确地检测自动驾驶车辆100的周围物体的技术。
作为本实施例的自动驾驶车辆100的周围物体(检测的物体)可以有前方行驶的其他车辆110a、110b、道路周围的结构物110c、行人等。
本实施例的自动驾驶车辆100基于利用传感器发送传感器波束(Sensor beam)而接收的信号来检测周围的物体,并利用检测结果,执行根据检测的物体的举动状态控制自身的行驶状态等的自动驾驶控制。
本实施例的自动驾驶车辆100中安装的传感器可以包括:雷达传感器(RS)、超声波传感器(US)、视觉传感器(VS)、激光传感器、激光雷达(Lidar)传感器等中的一种以上。
不同种类的传感器可以在自动驾驶车辆100的多种位置上安装多个。
作为利用物体检测的自动驾驶控制的例子,当在本实施例的自动驾驶车辆100所行驶的车道上检测到前方行驶的车辆110a时,本实施例的自动驾驶车辆100将检测到的前方车辆110a视为控制目标物体,只能根据控制目标物体的速度等,控制自动驾驶车辆100的速度、方向等。
作为另一个例子,当在本实施例的自动驾驶车辆100所行驶的道路前方检测到高架道路、水泥板、道路标志牌等简单道路结构物110c时,本实施例的自动驾驶车辆100将检测到的道路结构物110c从控制目标物体中排除,从而并不会考虑道路结构物110c而降低自动驾驶车辆100的速度或制动。
作为又一个例子,当在本实施例的自动驾驶车辆100所行驶的道路前方检测到限超速传感器等道路结构物110c时,本实施例的自动驾驶车辆100可以考虑检测到的限超速传感器的位置及距离,控制自动驾驶车辆100的速度等。
作为又一个例子,当在本实施例的自动驾驶车辆100所行驶的道路周围检测到行人时,本实施例的自动驾驶车辆100可以考虑检测到的行人的位置及距离,控制自动驾驶车辆100的速度、方向等。
如上所述,为了实现准确的自动驾驶控制,本实施例的自动驾驶车辆100不仅需要准确地检测周围的物体,而且需要准确地区分并检测物体的种类,从而只在绝对必要的情况下准确地执行多种车辆举动控制(例如,加速、减速等的速度控制、制动控制、方向控制等)。
虽然现有的传感器技术能够检测周围物体是否存在、距离、位置等,但是无法准确地区分并检测物体的种类,并无法将所述检测结果应用在车辆举动控制上。
因此,本实施例的自动驾驶车辆100可以基于深度学习(Deep Leaning),准确地区分周围物体的种类,并基于此,选择对自动驾驶控制产生影响的控制目标物体(TAR),在准确的条件下,以准确的控制量执行自动驾驶控制。
更具体地,本实施例的自动驾驶车辆100执行利用深度神经网络(Deep NeuralNetwork,深层神经网)的深度学习算法(Deep Learning),并根据所述执行结果,执行自动驾驶控制。
为了提高利用深度神经网络(Deep Neural Network,深层神经网)的深度学习算法(Deep Learning)的执行结果的准确度,需要对深度学习算法进行大量研究。
本实施例的基于深度学习的自动驾驶车辆100在道路行驶时,可以利用驾驶员的驾驶信息学习深度学习算法而无需收集或加工另外的学习数据。
因此,本实施例的基于深度学习的自动驾驶车辆100可以通过驾驶员的持续的道路驾驶,增加深度学习算法的学习量,从而容易提高深度学习算法的执行结果的准确度。
本实施例的基于深度学习的自动驾驶车辆100利用驾驶员的驾驶信息学习深度学习算法,因此,可以执行考虑到驾驶员的驾驶习惯的自动驾驶控制。
图3是本实施例的基于深度学习的自动驾驶车辆100的框图。
参照图3,本实施例的基于深度学习的自动驾驶车辆100可以包括传感器310、基于深度学习的自动驾驶控制装置300、驱动装置320等,所述传感器310检测车辆100的周围并输出检测信号,所述基于深度学习的自动驾驶控制装置300执行对检测信号的深度学习算法,当自动驾驶时,基于深度学习算法的执行结果,输出控制车辆100的自动行驶的控制信号,当不处于自动驾驶状态时,参照驾驶员330的驾驶信息,变更深度学习算法,所述驱动装置320根据控制信号,驱动车辆。
其中,驱动装置320可以包括速度调节装置、转向装置、制动装置等中的一种以上。
基于深度学习的自动驾驶控制装置300可以通过对检测信号执行深度学习算法,并基于检测信号,判断车辆的前方物体是否为用于自动驾驶控制的控制目标物体(TAR),并获得包含控制与否、运算的控制量(例如,对应于车辆速度控制信息的加减速控制量)及控制目标物体的识别结果等中的一种以上的深度学习算法的执行结果。
当不处于自动驾驶状态时,基于深度学习的自动驾驶控制装置300可以执行深度学习的学习处理。
因此,基于深度学习的自动驾驶控制装置300比较深度学习算法的执行结果中包含的运算的控制量与驾驶员330的驾驶信息中包含的驾驶员输入的控制量,并根据比较结果计算误差值(运算的控制量与驾驶员输入的控制量之差),根据误差值执行深度学习的学习处理,即根据所述误差值调整与所述深度学习算法的执行相关的深度神经网络中的加权值。
例如,传感器310可以包括:雷达传感器、超声波传感器、激光传感器、激光雷达传感器及视觉传感器等中的一种以上。
图4是本实施例的基于深度学习的自动驾驶控制装置300的框图。图5是示出本实施例的用于基于深度学习的自动驾驶控制的深度学习算法的图。图6是本实施例的用于基于深度学习的自动驾驶控制的深度学习算法的深度神经网络的示例图。
参照图4,本实施例的基于深度学习的自动驾驶控制装置300可以包括:深度学习算法执行部410,输出对检测车辆周围的检测信号执行深度学习算法的结果;自动驾驶控制部420,当处于自动驾驶状态时,根据深度学习算法的执行结果,控制车辆的自动行驶;以及深度学习处理部430,当不处于自动驾驶状态时,参照驾驶员330的驾驶信息,变更深度学习算法。
基于深度学习的自动驾驶控制装置300可以通过一个电子控制单元(ElectronicControl Unit,ECU)来实现。
根据不同的情况,基于深度学习的自动驾驶控制装置300中的深度学习算法执行部410、自动驾驶控制部420及深度学习处理部430等可以由两种以上的电子控制单元实现。
例如,深度学习算法执行部410和深度学习处理部430由一个电子控制单元实现,自动驾驶控制部420可以由其他电子控制单元实现。
当判断需要对车辆进行加减速控制时,自动驾驶控制部420可以将加减速控制量设定为车辆的目标控制量,从而控制车辆的加减速。即,自动驾驶控制部420以根据深度学习算法执行部410的执行结果而得到的运算的控制量为基准,执行包括车辆的驱动装置的举动控制操作。
深度学习算法执行部410对由传感器310检测周围而得到的信号或对处理所述信号的检测信号执行深度学习算法。
检测信号可以根据传感器310的种类而不同。
例如,当传感器310为雷达传感器时,检测信号可以是雷达信号。作为另一个例子,当传感器310为激光雷达传感器时,检测信号还可以是激光雷达信号。当传感器310为相机传感器时,检测信号还可以是相机信号。作为又一个例子,检测信号可以包含通过所述传感器310中的至少两种以上的传感器而生成的信号。
深度学习算法执行部410可以通过对检测信号执行深度学习算法,并基于检测信号,判断车辆的前方物体是否为用于自动驾驶控制的控制目标物体,并输出包含控制与否、运算的控制量及控制目标物体的识别结果等中的一种以上的深度学习算法的执行结果。
深度学习算法利用深度神经网络(Deep Neural Network)500。
利用深度神经网络500的深度学习算法可以通过相当于深度学习算法执行部410的处理器(Processor)执行(实施)。
并且,深度神经网络500的数据和利用深度神经网络500的深度学习算法的数据等可以存储在深度学习算法执行部410的内部或外部的存储器中。
例如,就传感器310包括雷达传感器的情况而言,如图5所示,深度学习算法500可以通过输入层(Input Layer)接收经过雷达信号处理的雷达信号、经过傅里叶变换处理的数据及车辆100或周围情况等的上下文(Context)信息(例如,车速信息、车道信息、道路信息等)等,并使接收的数据、信息等通过深度神经网络500,从而能够通过输出层(OutputLayer)输出深度学习算法的执行结果。
例如,深度学习算法的执行结果,即输出层的输出节点Nout的输出值可以包含用于自动驾驶的控制与否、用于自动驾驶的运算的控制量及控制目标物体的识别结果等中的一种以上。
深度学习算法执行部410的内部或外部存储有深度神经网络500相关的数据。
参照图6,深度神经网络500可以包括:输入层(Input Layer),具有多个输入节点Nin;输出层(Output Layer),具有多个输出节点Nout;至少一个隐藏层(Hidden Layer),具有连接所述多个输入节点Nin与所述多个输出节点Nout的多个连接节点Ncon;以及多个权重线(Weight Line,WL),连接所述多个输入节点Nin与所述多个连接节点Ncon,并且,连接所述多个连接节点Ncon与所述多个输出节点Nout,
各权重线(WL)可以具有加权值。
由于所述各权重线(WL)的加权值,尽管输入相同,也会出现输出不同,深度学习算法的执行结果的准确度会发生变化。
从传感器310输出的信号或处理所述信号的检测信号被输入至深度神经网络500的输入层,深度学习算法的执行结果可以与深度神经网络500的输出层的多个输出节点Nout的输出值对应。
例如,假设三个输出节点Nout与车辆、行人、道路结构物对应时,三个输出节点Nout的输出值可以形成三维概率向量。三个输出节点Nout的输出值可以包含被检测的物体为车辆的概率值、被检测的物体为行人的概率值、被检测的物体为道路结构物的概率值。
当不处于自动驾驶状态时,深度学习处理部430比较深度学习算法的执行结果中包含的运算的控制量与驾驶员的驾驶信息中包含的驾驶员输入的控制量,并根据比较结果计算误差值,执行深度学习的学习处理,即根据所述误差值,调整与所述深度学习算法的执行相关的深度神经网络中的加权值。
例如,具有已调整的加权值的权重线(WL)可以包含与得到运算的控制量的任一种或两种以上的层节点连接的权重线。
另外,深度学习处理部430可以与误差值成比例地更新与输出层对应的权重线的加权值,并通过更新与隐藏层对应的权重线的加权值来调整深度神经网络中的加权值。所述误差值是利用对应于所述深度学习算法的执行结果的运算的控制量与所述驾驶员的驾驶信息中包含的驾驶员输入的控制量之差来计算的。
对搜索用于最小化误差值的加权值的方法进行简单说明。作为在多层(multilayer)且可前向反馈(feedforward)的深度神经网络500中使用的学习算法,可以利用反向传播算法(Backpropagation Algorithm)。
根据所述反向传播算法(Backpropagation Algorithm),在反复几次对输入乘以并相加深度神经网络500的加权值(weights)的过程,则会得到作为输入的结果值的实际输出(y,运算的控制量)。
此时,输出(y,运算的控制量)与学习数据中的期望输出(o,驾驶员输入的控制量)不同。
结果,深度神经网络500中产生实际输出与期望输出之差(y-o)程度的误差值(e=y-o)。
与所述产生的误差值(e)成比例地更新与输出层对应的权重线的加权值,然后更新与隐藏层对应的权重线的加权值,然后更新与输入层对应的权重线的加权值。
反向传播算法(Backpropagation Algorithm)的加权值的更新方向与深度神经网络500的处理方向(即,输入层->隐藏层->输出层)相反(即,输出层->隐藏层->输入层)。
参照图7和图8对以上说明的本实施例的基于深度学习的自动驾驶车辆100的基于深度学习的自动驾驶控制方法进行简单说明。
图7是本实施例的基于深度学习的自动驾驶控制方法的流程图。图8是本实施例的基于深度学习的自动驾驶控制方法中,变更深度学习算法的步骤(学习步骤)的流程图。
参照图7,本实施例的基于深度学习的自动驾驶控制方法可以包括以下步骤:根据传感器310的检测结果,接收检测信号(S710);为了执行深度学习算法,以适当的形式对检测信号进行信号处理(S720);输出对检测车辆100的周围的检测信号执行深度学习算法的结果(S730);判断是否处于自动驾驶状态(S740);当判断结果为处于自动驾驶状态时,根据深度学习算法的执行结果,控制车辆的自动行驶(S750);当判断是否处于自动驾驶状态(S740)的判断结果为不处于自动驾驶的状态时,参照驾驶员的驾驶信息,变更深度学习算法(S760)。
S760步骤作为学习(机械学习)步骤,可以反复执行。
S730步骤中,可以通过对检测信号执行深度学习算法,并基于检测信号,判断车辆的前方物体是否为用于自动驾驶控制的控制目标物体,获得并输出包含控制与否、运算的控制量及控制目标物体的识别结果等中的一种以上的深度学习算法的执行结果。
参照图8,相当于学习(机械学习)步骤的S760步骤可以包括:当不处于自动驾驶状态时,比较深度学习算法的执行结果中包含的运算的控制量与驾驶员的驾驶信息中包含的驾驶员输入的控制量(S820);根据比较结果,计算误差值(S810);及根据误差值,调整与深度学习算法的执行相关的深度神经网络中的加权值(S830)。
根据上述的本实施例,具有提供一种准确区分并识别自动驾驶车辆100行驶时所参照的控制目标物体(TAR)(例如,前方车辆、行人)与其他不是控制目标物体的结构物(高架道路、水泥板)等,从而在必要的情况下,能够执行必要程度(控制与否、控制量)的自动驾驶控制的基于深度学习的自动驾驶车辆100、基于深度学习的自动驾驶控制装置300及基于深度学习的自动驾驶控制方法的效果。
根据本实施例,具有提供一种提高利用雷达传感器等传感器信号的物体区别性能,并实现可靠性高的自动驾驶的基于深度学习的自动驾驶车辆100、基于深度学习的自动驾驶控制装置300及基于深度学习的自动驾驶控制方法的效果。
根据本实施例,具有提供一种可实现考虑驾驶员的驾驶习惯的自动驾驶控制的基于深度学习的自动驾驶车辆100、基于深度学习的自动驾驶控制装置300及基于深度学习的自动驾驶控制方法的效果。
根据本实施例,具有提供一种可通过与机械学习中利用到的大数据使用方法相比更低的处理负担、更快的处理速度及更准确的识别性能来识别并区分控制目标物体的基于深度学习的自动驾驶车辆100、基于深度学习的自动驾驶控制装置300及基于深度学习的自动驾驶控制方法的效果。
以上的说明和附图仅仅例示本发明的技术思想,本发明所属技术领域的技术人员能够在不脱离本发明的本质特性的范围下,进行结构的结合、分离、置换及变更等各种修改和变形。因此,本发明中说明的实施例仅仅用于说明本发明的技术思想,并不用于限定本发明的技术思想,本发明的技术思想的范围并不局限于所述实施例。本发明的保护范围由权利要求书而确定,并且,与其等同的范围内的所有技术思想应均包含在本发明的权利范围内。