CN116001802A - 一种车辆控制方法及装置 - Google Patents
一种车辆控制方法及装置 Download PDFInfo
- Publication number
- CN116001802A CN116001802A CN202211632035.8A CN202211632035A CN116001802A CN 116001802 A CN116001802 A CN 116001802A CN 202211632035 A CN202211632035 A CN 202211632035A CN 116001802 A CN116001802 A CN 116001802A
- Authority
- CN
- China
- Prior art keywords
- road
- vehicle
- obtaining
- key point
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000005452 bending Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000003190 augmentative effect Effects 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 abstract description 2
- 239000011159 matrix material Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000009466 transformation Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Traffic Control Systems (AREA)
Abstract
本公开提供了一种车辆控制方法及装置,涉及人工智能技术领域,具体为计算机视觉、增强现实、虚拟显示、深度学习等技术领域,可应用于自动驾驶、元宇宙等场景。具体实现方案为:获得车辆所在车道的道路图像以及所述车辆的行驶信息;确定所述道路图像中道路元素的关键点;根据所确定的关键点获得所述车辆的期望行驶轨迹;根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;基于所述误差信息控制所述车辆行驶。应用本公开实施例提供的方案控制车辆时,车辆中仅需安装一台图像采集设备,从而降低车辆控制的成本。
Description
技术领域
本公开涉及人工智能技术领域,具体为计算机视觉、增强现实、虚拟现实、深度学习等技术领域,可应用于自动驾驶、元宇宙等场景。
背景技术
车辆在车道上行驶时,为了与其它车道上的车辆保持安全的行驶距离,期望沿期望的轨迹行驶。
当前车辆上安装有多种传感器,对车辆的行驶状态进行监控,以便于控制车辆沿期望的轨迹行驶。
发明内容
本公开提供了一种车辆控制方法及装置。
根据本公开的一方面,提供了一种车辆控制方法,包括:
获得车辆所在车道的道路图像以及所述车辆的行驶信息;
确定所述道路图像中道路元素的关键点;
根据所确定的关键点获得所述车辆的期望行驶轨迹;
根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;
基于所述误差信息控制所述车辆行驶。
根据本公开的另一方面,提供了一种车辆控制装置,包括:
信息获得模块,用于获得车辆所在车道的道路图像以及所述车辆的行驶信息;
关键点确定模块,用于确定所述道路图像中道路元素的关键点;
轨迹获得模块,用于根据所确定的关键点获得所述车辆的期望行驶轨迹;
误差确定模块,用于根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;
车辆控制模块,用于基于所述误差信息控制所述车辆行驶。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法实施例所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述方法实施例所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述方法实施例所述的方法。
由以上可见,应用本公开实施例提供的方案控制车辆时,在车辆所在车道的道路图像中确定道路元素的关键点,根据关键点获得车辆的期望行驶轨迹,根据车辆的行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息,从而基于误差信息控制车辆行驶。由上可知,本方案中进行车辆控制所使用的信息仅为道路图像,道路图像可以是图像采集设备采集得到的,因此,在应用本方案进行车辆控制时,车辆中最少可仅安装一台图像采集设备,这样能降低进行车辆控制的成本。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1a为本公开实施例提供的第一种车辆控制方法的流程示意图;
图1b为本公开实施例提供的一种道路图像;
图2a为本公开实施例提供的第二种车辆控制方法的流程示意图;
图2b为本公开实施例提供的一种多边形简化方法的流程示意图;
图3为本公开实施例提供的第三种车辆控制方法的流程示意图;
图4为本公开实施例提供的第四种车辆控制方法的流程示意图;
图5为本公开实施例提供的第五种车辆控制方法的流程示意图;
图6为本公开实施例提供的第六种车辆控制方法的流程示意图;
图7为本公开实施例提供的第七种车辆控制方法的流程示意图;
图8为本公开实施例提供的第八种车辆控制方法的流程示意图;
图9为本公开实施例提供的一种二维码示意图;
图10为本公开实施例提供的第一种车辆控制装置的结构示意图;
图11为本公开实施例提供的第二种车辆控制装置的结构示意图;
图12为本公开实施例提供的第三种车辆控制装置的结构示意图;
图13为本公开实施例提供的第四种车辆控制装置的结构示意图;
图14为本公开实施例提供的第五种车辆控制装置的结构示意图;
图15是用来实现本公开实施例的车辆控制方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
现有的车辆控制方案中,车辆上安装有多种传感器,基于多种传感器采集的数据对车辆的行驶状态进行监控,进而基于监控所得信息控制车辆行驶,由于车辆中需要安装多种传感器,因此,应用现有的车辆控制方案进行车辆控制的成本较高。
为解决上述问题,本公开实施例提供了一种车辆控制方法及装置。下面通过具体实施例进行详细说明。
参见图1a,图1a为本公开实施例提供的第一种车辆控制方法的流程示意图,本实施例中,上述方法包括以下步骤S101-S105。
步骤S101:获得车辆所在车道的道路图像以及车辆的行驶信息。
其中,上述车辆的行驶信息可以包括车辆的朝向、车辆在车道中的位置等等。
具体的,上述车辆中可以安装有图像采集设备,该图像采集设备可以用于在车辆行驶过程中持续采集车辆所在车道的图像,这样在车辆行驶过程中,可以获得图像采集设备实时采集的车辆所在车道的道路图像。
另外,上述车辆的行驶信息也可以是由车辆中安装的各种传感器采集得到的,在车辆行驶过程中,也可以获得各种传感器实时采集的车辆的行驶信息。
步骤S102:确定道路图像中道路元素的关键点。
其中,上述道路元素可以是车道中的箭头、引导线、减速线、停止线等等。
具体的,可以通过以下两种实现方式中任一种确定道路图像中道路元素的关键点。
第一种实现方式中,可以预先训练得到关键点识别模型,这样在获得上述道路图像后,可以将道路图像输入该关键点识别模型,得到模型输出的、道路图像中道路元素的关键点。
在对上述关键点识别模型进行训练的过程中,可以以样本道路图像为输入数据、以样本道路图像中道路元素的关键点为标注信息,对待训练模型进行训练,直至训练完成,得到训练后的关键点识别模型。
第二种实现方式中,可以通过以下图2a所示实施例中步骤S201-S202确定关键点,这里在暂不详述。
参见图1b,图1a为一种道路图像,图1b所示的道路图像中道路元素为箭头,该箭头的7个顶点即为关键点。
步骤S103:根据所确定的关键点获得车辆的期望行驶轨迹。
其中,上述期望行驶轨迹可以理解为期望车辆行驶的轨迹。例如,为了保证车辆行驶安全,期望车辆在所在车道中居中行驶,这样可以根据所确定的关键点获得车辆所在车道的中心线,作为车辆的期望行驶轨迹。
具体的,可以通过以下两种实现方式中任一种获得车辆的期望行驶轨迹。
第一种实现方式中,在确定上述关键点时,可以确定关键点在车道中的位置,若关键点位于车道中间区域,则可以根据关键点的位置,确定车道的中心线,从而确定车道中心线为期望行驶轨迹,或者根据车道中心线、预设的车道中心线与期望行驶轨迹之间的第一差异信息这两种信息,确定期望行驶轨迹;若关键点位于车道的两侧,则可以根据关键点的位置信息,确定车道两侧的道路线,从而根据道路线的位置信息、预设的道路线与期望行驶轨迹之间的第二差异信息这两种信息,确定期望行驶轨迹。
第二种实现方式中,可以通过以下图3所示实施例中步骤S301-S302获得上述期望行驶轨迹,这里暂不详述。
另外,由于上述关键点是道路图像中的关键点,而期望行驶轨迹是期望车辆实际行驶的轨迹,因此,在根据关键点获得期望行驶轨迹之前,可以预先标定道路图像所在的图像坐标系与车辆所在的车辆坐标系之间的转换关系,这样在根据关键点获得期望行驶轨迹时,一种实现方式中,可以根据预先标定的转换关系,将道路图像中的关键点转换为车辆坐标系下的关键点,并根据车辆坐标系下的关键点获得期望行驶轨迹;另一种实现方式中,还可以根据道路图像中的关键点获得道路图像中车辆的期望行驶轨迹,再根据上述转换关系,将所获得的期望行驶轨迹转换至车辆坐标系下。
将图像坐标系下的关键点转换为车辆坐标系下的关键点的具体实现方式可参见后续实施例,这里暂不详述。
将图像坐标系下的期望行驶轨迹转换至车辆坐标系下的实现方式与关键点坐标转换的具体实现方式相类似,这里不再赘述。
步骤S104:根据行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息。
本公开的一个实施例中,上述误差信息包括以下信息中至少一种:
车辆的行驶方向与期望行驶轨迹指示的前进方向形成的夹角的角度、车辆与期望行驶轨迹之间的横向距离。
具体的,在确定车辆行驶方向与期望行驶轨迹指示的前进方向之间的夹角时,若期望行驶轨迹为直线,则可以直接获得车辆行驶方向和期望行驶轨迹指示的前进方向,并获得这两种方向形成的夹角的角度;若期望行驶轨迹为曲线,则可以在期望行驶轨迹上确定距离车辆最近的轨迹点,并获得期望行驶轨迹在该轨迹点处的切线,根据该切线确定该轨迹点处的前进方向,从而确定车辆行驶方向和前进方向所形成夹角的角度。
在确定车辆与期望行驶轨迹之间的横向距离时,若期望行驶轨迹为直线,则可以计算车辆所在位置与期望行驶轨迹之间的距离,该距离即为上述横向距离;若期望行驶轨迹为曲线,则可以确定车辆所在位置与期望行驶轨迹之间的最下距离,该最小距离即为上述横向距离。
本方案中,车辆的行驶方向、车辆的位置这两种信息均能反映车辆的实际行驶轨迹,因此,车辆的行驶方向与期望行驶轨迹指示的前进方向形成的夹角的角度、车辆与期望行驶轨迹之间的横向距离这两种信息能够准确反映车辆实际行驶轨迹和期望行驶轨迹之间的误差,选择根据这两种误差信息中至少一种作为误差信息,误差信息的准确度均较高,这样利用准确性较高的误差信息,能够有利于后续处理。
步骤S105:基于误差信息控制车辆行驶。
具体的,基于上述误差信息,可以控制车辆进行纠偏,即消除上述误差信息,以使得车辆按照上述期望行驶轨迹行驶。
例如,上述误差信息可以是横向距离0.2米,根据该误差信息,可以得知车辆位于期望行驶轨迹左侧、且与期望行驶轨迹之间距离0.2米的位置处,这样基于该误差信息,可以控制车辆向道路右侧偏移0.2米。
由以上可见,应用本公开实施例提供的方案控制车辆时,在车辆所在车道的道路图像中确定道路元素的关键点,根据关键点获得车辆的期望行驶轨迹,根据车辆的行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息,从而基于误差信息控制车辆行驶。由上可知,本方案中进行车辆控制所使用的信息仅为道路图像,道路图像可以是图像采集设备采集得到的,因此,在应用本方案进行车辆控制时,车辆中最少可仅安装一台图像采集设备,这样能降低进行车辆控制的成本。
另外,应用现有技术进行车辆控制时,所使用的数据为多个传感器采集的大量数据,因此,应用现有技术进行车辆控制的数据计算量较大,车辆控制效率较低,而本方案中,进行车辆控制所使用的数据仅为道路图像数据,相比于现有技术,本方案能够降低进行车辆控制的数据计算量,提高车辆控制效率。
在确定道路元素的关键点时,除了可以采用上述步骤S102中提及的方式外,还可以通过以下图2a所示实施例中步骤S202-S204确定道路元素的关键点。
本公开的一个实施例中,参见图2a,提供了第二种车辆控制方法的流程示意图,本实施例中,上述方法包括以下步骤S201-S208。
步骤S201:获得车辆所在车道的道路图像以及车辆的行驶信息。
本步骤与上述步骤S101相同,这里不再赘述。
步骤S202:检测道路图像中道路元素所在的目标区域。
具体的,可以通过对象检测技术检测道路图像中道路元素所在的目标区域。
例如,可以利用预先训练好的道路元素检测模型检测道路图像中的目标区域,还可以对道路图像进行语义分割,得到道路图像中道路元素所在的目标区域。
步骤S203:提取目标区域的区域轮廓。
具体的,在获得道路元素所在的目标区域后,可以确定属于目标区域的区域边界的像素点,遮掩根据所确定像素点构成的轮廓即为目标区域的区域轮廓。
另外,还可以利用现有的轮廓提取技术提取目标区域的区域轮廓。
例如,可以基于预先获得的各个道路元素的轮廓模板,使用形状模板匹配算法,在目标区域中提取区域轮廓。
步骤S204:对区域轮廓进行多边形简化处理。
具体的,在提取得到区域轮廓后,可以将该区域轮廓的两个端点相连,得到初始线段,在区域轮廓包含的、初始线段两端点之间的各像素点中,确定距离该初始线段最远的目标像素点,若目标像素点与初始线段之间的距离大于预设距离阈值,则分别将初始线段的两个端点与该目标像素点相连,得到两条第一线段,然后针对每一第一线段,再次进行对初始线段进行的处理,直至无法再拆分出更多线段,完成对区域轮廓进行多边形简化处理。
参见图2b,图2b为对AB曲线进行多边形简化处理的流程示意图,首先可以确定以A、B为端点的线段1,在曲线中确定与线段1距离最远的点C,若点C与线段1之间的距离大于预设距离阈值,则确定以A、C为端点的线段2,以B、C为端点的线段3,若BC曲线段存在点D与线段3之间的距离大于预设距离阈值,则确定以C、D为端点的线段4,以B、D为端点的线段5,若CD曲线段存在点E与线段4之间的距离大于预设距离阈值则确定以C、E为端点的线段6,以E、D为端点的线段7,直至各个曲线段的各点与各线段之间的距离不大于预设距离阈值,得到线段2、线段6、线段7、线段5构成的折线。
另外,对区域轮廓进行多边形简化处理还可以使用现有的多边形简化算法实现,例如Douglas-Peucker多边形简化算法。
步骤S205:根据简化处理后的区域轮廓,确定道路元素的关键点。
根据简化处理后的区域轮廓确定关键点的具体实现方式可参见后续图3所示实施例中步骤S305、图4所示实施例中步骤S405以及后续图5所示实施例中步骤S503-S505,这里暂不详述。
步骤S206:根据所确定的关键点获得车辆的期望行驶轨迹。
步骤S207:根据行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息。
步骤S208:基于误差信息控制车辆行驶。
上述步骤S206-S208分别为上述步骤S103-S105相同,这里不再赘述。
由以上可见,应用本公开实施例提供的方案控制车辆时,在获得道路图像后,检测道路图像中道路元素所在的目标区域,并对目标区域的区域轮廓进行多边形简化处理,从而根据简化处理后的区域轮廓,能够准确确定道路元素的关键点,从而根据道路元素的关键点进行车辆控制,能够提高车辆控制的准确性。
在确定道路图像中道路元素的关键点时,除了利用上述步骤S102中提及的关键点识别模型确定关键点之外,还可以通过以下图3所示实施例中步骤S302或者图4所示实施例中步骤S402确定关键点。
本公开的一个实施例中,参见图3,提供了第三种车辆控制方法的流程示意图,本实施例中,上述方法包括以下步骤S301-S308。
步骤S301:获得车辆所在车道的道路图像以及车辆的行驶信息。
步骤S302:检测道路图像中道路元素所在的目标区域。
步骤S303:提取目标区域的区域轮廓。
步骤S304:对区域轮廓进行多边形简化处理。
上述步骤S301-S304分别与上述步骤S201-S204相同,这里不再赘述。
步骤S305:确定简化后的区域轮廓的顶点为道路元素的关键点。
具体的,对区域轮廓进行多边形简化处理后,区域轮廓可以看做是由多条线段组成的封闭多边形,这样可以确定各条线段的两个端点,作为道路元素的关键点。
在确定关键点时,还可以按照各条线段的连接顺序,为各个顶点进行排序,得到排序后的关键点。
步骤S306:根据所确定的关键点获得车辆的期望行驶轨迹。
步骤S307:根据行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息。
步骤S308:基于误差信息控制车辆行驶。
上述步骤S306-S308分别与上述步骤S206-S208相同,这里不再赘述。
由以上可见,应用本公开实施例提供的方案进行车辆时,将简化后的区域轮廓的顶点确定为道路元素的关键点,由于多边形顶点对多边形的表征性较强,因此,相比于区域轮廓中的其他点,将区域轮廓的顶点确定为道路元素的关键点,能够提高关键点的准确性,进而能够提高车辆控制的准确性。
本公开的一个实施例中,参见图4,提供了第四中车辆控制方法的流程示意图,本实施例中,上述方法包括以下步骤S401-S408。
步骤S401:获得车辆所在车道的道路图像以及车辆的行驶信息。
步骤S402:检测道路图像中道路元素所在的目标区域。
步骤S403:提取目标区域的区域轮廓。
步骤S404:对区域轮廓进行多边形简化处理。
上述步骤S401-S404分别与上述步骤S201-S204相同,这里不再赘述。
步骤S405:获得道路元素的元素类型,基于元素类型对应的预设关键点相对位置,在简化后的区域轮廓确定道路元素的关键点。
其中,上述关键点相对位置可以是人为预先设置的。
具体的,可以预先设置不同元素类型的道路元素的区域轮廓中关键点的相对位置,这样在获得道路元素的元素类型后,可以在预先设置的各种元素类型对应的相对位置中,确定与所获得元素类型对应的相对位置,从而在上述简化后的区域轮廓中确定位于所确定相对位置上的点,作为道路元素的关键点。
本公开的一个实施例中,可以通过以下两种实现方式中任一种获得道路元素的元素类型。
第一种实现方式中,在上述步骤S402检测道路图像中道路元素所在的目标区域时,可以检测得到各种类型的道路元素所在的目标区域,这样在获得目标区域时,还能够获知目标区域对应的道路元素的元素类型。
第二种实现方式中,在提取得到目标区域的区域轮廓后,可以将目标区域的区域轮廓分别与预设的多种道路元素的轮廓模板进行相似度比较,确定与目标区域的区域轮廓相似度最高的轮廓模板,该轮廓模板对应的道路元素的类型即为目标区域对应的道路元素的元素类型。
步骤S406:根据所确定的关键点获得车辆的期望行驶轨迹。
步骤S407:根据行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息。
步骤S408:基于误差信息控制车辆行驶。
上述步骤S406-S408分别与上述步骤S206-S208相同,这里不再赘述。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,基于道路图像中道路元素的元素类型对一个的预设关键点相对位置,能够在简化后的区域轮廓中准确确定道路元素的关键点,进而基于较为准确的关键点进行车辆控制,能够提高车辆控制的准确性。
本公开的一个实施例中,参见图5,提供了第五种车辆控制方法的流程示意图,本实施例中,上述方法包括以下步骤S501-S511。
步骤S501:获得车辆所在车道的道路图像以及车辆的行驶信息。
步骤S502:检测道路图像中道路元素所在的目标区域。
步骤S503:提取目标区域的区域轮廓。
步骤S504:对区域轮廓进行多边形简化处理。
上述步骤S501-S504分别与上述步骤S201-S204相同,这里不再赘述。
步骤S505:获得历史图像中道路元素的历史关键点。
其中,历史图像为在道路图像之前采集的车道的图像。
在车辆行驶过程中,可以持续获得车辆中安装的图像采集设备实时采集的车道的图像,并在所获得的图像中确定道路元素的关键点,基于所确定关键点实现车辆控制。因此,在对当前获得的道路图像进行处理的过程中,在该道路图像之前采集的历史图像中道路元素的关键点是已知的。
鉴于此,在获得历史图像中道路元素的历史关键点时,可以确定上述道路图像中的道路元素,并在上述道路图像之前采集的车道的图像中,确定包含道路图像中道路元素的历史图像,进而获得所确定历史图像中相同道路元素的历史关键点。
例如,若上述道路图像中的道路元素为箭头k,则可以在上述道路图像之前采集的车道的图像中,确定包含箭头k的历史图像,获得所确定历史图像中箭头k的历史关键点。
步骤S506:根据所获得的历史关键点,获得道路图像中道路元素的第一预测关键点。
具体的,可以通过以下两种实现方式中任一种获得上述第一预测关键点。
第一种实现方式中,可以获得上述历史图像以及道路图像的采集时刻,确定上述历史图像的采集时刻至道路图像的采集时刻所在采集时间段,获得车辆在这一采集时间段内的车辆速度,根据所获得的两种图像的采集时刻以及车辆速度,计算车辆在上述采集时间段内行驶的距离,将该距离换算至图像坐标系下。由于车辆向前行驶的过程中,同一道路元素在多帧图像中的位置是不断向下移动的,这样在获得历史图像中历史关键点的位置以及换算后的车辆行驶距离后,可以将历史关键点的位置向下移动换算后车辆行驶距离对应像素点距离,得到移动后的历史关键点的位置,这样可以在上述道路图像中,确定移动后的历史关键点在历史图像中的位置指示的像素点,作为第一预测关键点。
第二种实现方式中,在获得历史图像中的历史关键点时,还可以获得历史图像中像素点与上述道路图像中像素点之间的映射关系,根据该映射关系,将历史关键点映射至道路图像中,确定道路图像中映射得到的像素点为第一预设关键点。
步骤S507:根据简化处理后的区域轮廓,获得道路元素的第二预测关键点。
本步骤中获得第二预测关键点的实现方式可参见上述步骤S205,这里不再赘述。
步骤S508:基于所获得的第一预测关键点和第二预测关键点,确定道路元素的关键点。
具体的,上述第一预测关键点和第二预测关键点可以看做是分别通过两种方式确定的道路元素的关键点,这样在获得上述第一预测关键点和第二预测关键点后,可以针对这两种预测关键点中其中一种关键点,在另一种预测关键点中确定与该关键点之间的距离小于预设距离的关键点,即对这两种预测关键点进行匹配,得到多个匹配对,每一匹配对中包含一个第一预测关键点和一个第二预测关键点,且每一匹配对中两个预测关键点之间的距离小于预设距离。针对每一匹配对,可以计算该匹配对中两个预测关键点对应的位置信息的平均位置信息,确定该平均位置信息上的像素点为道路元素的关键点。
另外,若上述道路图像中存在不完整的道路元素,则根据区域轮廓,能够获得不完整的该道路元素的部分第二预测关键点,而上述历史图像可以是包含完整的该道路元素的车道图像,这样能够根据历史图像中该道路元素的历史关键点,能够获得道路图像中该道路元素的全部第一预测关键点,这样在进行关键点匹配时,针对第一预测关键点中未匹配上的关键点,可以直接确定未匹配上的第一预测关键点为道路图像中该道路元素的关键点。
步骤S509:根据所确定的关键点获得车辆的期望行驶轨迹。
步骤S510:根据行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息。
步骤S511:基于误差信息控制车辆行驶。
上述步骤S509-S511分别与上述步骤S206-S208相同,这里不再赘述。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,根据历史图像中的历史关键点,可以获得第一预测关键点,根据道路图像中道路元素所在区域的区域轮廓,可以获得第二预测关键点,这样在确定道路图像中道路元素的关键点时,可以综合这两种预测关键点,准确确定道路元素的关键点,从而提高所确定关键点的准确性,进而提高车辆控制的准确性。
在获得上述期望行驶轨迹时,除了可以采用上述步骤S103所提及的方式之外,还可以通过以下图6所示实施例中步骤S603-S605获得上述期望行驶轨迹。
本公开的一个实施例中,参见图6,提供了第六种车辆控制方法的流程示意图,本实施例中,上述方法包括以下步骤S601-S607。
步骤S601:获得车辆所在车道的道路图像以及车辆的行驶信息。
步骤S602:确定道路图像中道路元素的关键点。
上述步骤S601、S602分别与上述步骤S101、S102相同,这里不再赘述。
步骤S603:获得道路元素的元素类型。
获得道路元素的元素类型的具体实现方式可参见上述图4所示实施例中步骤S405,这里不再赘述。
步骤S604:根据元素类型确定车道的道路类型。
具体的,可以预先获得元素类型与车辆的道路类型之间的对应关系,在获得道路元素的元素类型后,可以根据该对应关系,确定与所获得元素类型对应的道路类型。
例如,道路元素中道路箭头的类型有多种,不同道路类型的道路中会使用不同类型的道路箭头,如直行车道中的箭头的类型即为直行箭头,弯曲车道中的箭头的类型即为弯曲箭头。
步骤S605:按照道路类型,根据所确定的关键点,获得车辆的期望行驶轨迹。
具体的,针对不同道路类型,根据道路元素的关键点,可以使用不同道路类型对应的行驶轨迹计算方式,获得车辆的期望行驶轨迹。
针对直线道路类型,可以通过以下图7所示实施例中步骤S705-S707获得期望行驶轨迹;针对弯曲道路类型,可以通过以下图8所示实施例中步骤S805-S807获得期望行驶轨迹,这里暂不详述。
步骤S606:根据行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息。
步骤S607:基于误差信息控制车辆行驶。
上述步骤S606、S607分别与上述步骤S104、S105相同,这里不赘述。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,可以根据车辆所在车道的道路类型,选择与该道路类型对应的行驶轨迹获得方式来获得期望行驶轨迹,这样能够提高所获得的期望行驶轨迹的准确性,进而基于较为准确的期望行驶轨迹进行车辆控制,能够提高车辆控制的准确性。
下面对在道路类型为直线道路类型的情况下,获得期望行驶轨迹的具体实现方式进行说明。
本公开的一个实施例中,参见图7,提供了第七种车辆控制方法的流程示意图,本实施例中上述方法包括以下步骤S701-S709。
步骤S701:获得车辆所在车道的道路图像以及车辆的行驶信息。
步骤S702:确定道路图像中道路元素的关键点。
步骤S703:获得道路元素的元素类型。
步骤S704:根据元素类型确定车道的道路类型。
上述步骤S701-S704分别与上述步骤S601-S604相同,这里不再赘述。
步骤S705:在道路类型为直线道路类型的情况下,获得所确定的关键点对应的位置信息的平均位置。
具体的,可以获得各个关键点在道路图像中的位置信息,并计算各个关键点的位置信息的平均位置。
例如,关键点在道路图像中的位置信息可以以道路图像中关键点所在的像素行和像素列构成的坐标表示,这样可以计算各个关键点的坐标的平均坐标,作为上述平均位置。
步骤S706:根据所确定的关键点对应的位置信息以及平均位置,获得道路的方向向量。
本公开的一个实施例中,可以按照以下表达式获得道路的方向向量:
其中,i表示各个关键点的序号,n表示所确定关键点的总个数,(xi,yi)表示第i个关键点对应的坐标,(cx,cy)表示平均位置,A、B表示方向向量包括的元素。
上述表达式中,(Axi-cx)2+(Byi-cy)2可以理解为经过上述平均位置的期望行驶轨迹与第i个关键点之间的距离误差。在按照上述表达式获得方向向量时,将各个关键点对应的距离误差相加,得到期望行驶轨迹与各个关键点之间的总距离误差,并以最小化该总距离误差为目标,计算得到上述A、B,从而可以得到方向向量
本方案中,根据道路元素的关键点对应的位置信息以及平均位置,利用上述表达式,能够准确获得道路元素指示的方向向量,并且,道路元素的方向向量通常与道路的方向向量是一致的,因此,利用上述表达式,能够准确获得道路的方向向量。
步骤S707:基于方向向量生成车辆的期望行驶轨迹。
具体的,上述方向向量可以是道路图像所在的图像坐标系下的向量,此时,在获得方向向量后,可以在图像坐标系中生成经过上述平均位置、轨迹方向为上述方向向量指示方向的行驶轨迹,根据图像坐标系与车辆坐标系之间的转换关系,将图像坐标下的行驶轨迹转换至车辆坐标系下,得到车辆坐标系下、车辆的期望行驶轨迹。
上述方向向量也可以是车辆所在车辆坐标系下的向量,这样在获得上述方向向量时,一种实现实现方式中,可以根据图像坐标系和车辆坐标系之间的转换关系,将关键点对应的位置信息以及平均位置转换至车辆坐标系下,再根据转换后的各个位置获得道路在车辆坐标系下的方向向量;另一种实现方式中,还可以获得道路在图像坐标系下的方向向量,再将该方向向量转换至车辆坐标系下这样获得车辆坐标系下的方向向量后,可以在车辆坐标系中生成经过车辆坐标系下上述平均位置对应的位置、轨迹方向为上述方向向量指示方向的期望行驶轨迹。
步骤S708:根据行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息。
步骤S709:基于误差信息控制车辆行驶。
上述步骤S708、S709分别与上述步骤S104、S105相同,这里不赘述。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,在车辆所在车道的道路类型为直线道路类型的情况下,计算各个关键点对应位置信息的平均位置,并根据各个关键点对应的位置信息以及平均位置获得道路的方向向量,这样基于方向向量能够准确生成车辆的期望行驶轨迹,进而基于较为准确的期望行驶轨迹进行车辆控制,能够提高车辆控制的准确性。
下面对在道路类型为弯曲道路类型的情况下,获得期望行驶轨迹的具体实现方式进行说明。
本公开的一个实施例中,参见图8,提供了第八种车辆控制方法的流程示意图,本实施例中,上述方法包括以下步骤S801-S808。
步骤S801:获得车辆所在车道的道路图像以及车辆的行驶信息。
步骤S802:确定道路图像中道路元素的关键点。
步骤S803:获得道路元素的元素类型。
步骤S804:根据元素类型确定车道的道路类型。
上述步骤S801-S804分别与上述步骤S601-S604相同,这里不再赘述。
步骤S805:在道路类型为弯曲道路类型的情况下,根据所确定的关键点对应的位置信息,获得道路的弯曲半径以及圆心。
本公开的一个实施例中,可以按照以下表达式获得道路的弯曲半径以及圆心:
其中,i表示各个关键点的序号,n表示所确定关键点的总个数,(xi,yi)表示第i个关键点的坐标,(px,py)表示圆心坐标,r表示弯曲半径。
上述表达式中,(xi-px)2+(yi-py)2可以理解为第i个关键点与圆心之间的距离的平方,r2为弯曲半径的平方,(xi-px)2+(yi-py)2-r2可以理解为第i个关键点与期望行驶轨迹所在圆弧之间的距离误差。在按照上述表达式获得弯曲半径和圆心时,可以将各个关键点对应的距离误差相加,得到各个关键点与期望行驶轨迹之间的总距离误差,并以最小化该总距离误差为目标,计算上述弯曲半径和圆心。
本方案中,利用上述表达式,能够在考虑所有关键点位置的情况下,准确获得道路的弯曲半径和圆心,从而基于该弯曲半径和圆心,能够准确生成车辆的期望行驶轨迹。
步骤S806:基于弯曲半径以及圆心生成车辆的期望行驶轨迹。
具体的,可以生成以所获得的弯曲半径为半径、以所获得的圆心为圆心的行驶轨迹,作为车辆的期望行驶轨迹。
另外,还可以预先人为设置弯曲半径和/或圆心的偏移量,根据该偏移量对所获得的弯曲半径和/或圆心进行补偿,从而根据补偿后的弯曲半径和圆心生成车辆的期望行驶轨迹。
本公开的一个实施例中,在获得上述弯曲半径和圆心后,可以保持弯曲半径不变,对圆心位置进行优化,进而根据优化后的圆心以及弯曲半径,生成车辆的期望行驶轨迹。
例如,可以保持弯曲半径不变,使用高斯牛顿算法对圆心位置进行非线性优化迭代,得到迭代优化后的圆心位置。
步骤S807:根据行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息。
步骤S808:基于误差信息控制车辆行驶。
上述步骤S807、S808分别与上述步骤S104、S105相同,这里不赘述。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,在车辆所在车道的道路类型为弯曲道路类型的情况下,根据各个关键点对应的位置信息,获得道路的弯曲半径以及圆心,这样也就获知了弯曲车道的实际情况,从而基于弯曲半径以及圆心,能够准确生成车辆的期望行驶轨迹,进而基于较为准确的期望行驶轨迹进行车辆控制,能够提高车辆控制的准确性。
下面以关键点在各个坐标系下的转换为例,对车辆控制过程中各种控制信息在各个坐标系之间的转换过程进行说明,其中,上述控制信息包括上述方法实施例中提及的关键点坐标、道路元素所在区域的区域轮廓、方向向量、弯曲半径、圆心以及期望行驶轨迹等等。
本公开的一个实施例中,由于道路图像是车辆中安装的相机采集得到的,因此,根据该相机的内参矩阵,可以计算在相机坐标系下相机采集道路元素中关键点对应位置的射线。
上述内参矩阵可以表示为:
其中,fx、fy、cx、cy均为内参矩阵中的元素。
本公开的一个实施例中,可以通过以下表达式计算上述射线:
其中,(u,v)表示关键点在图像坐标系下的坐标,bc表示相机坐标系中的射线。
获得相机坐标系中的射线后,可以计算相机坐标系下该射线与地平面之间的交点。
本公开的一个实施例中,可以通过以下表达式计算上述射线与地平面之间的交点pc:
pc=-(dc/(bc*c))bc
在获得上述交点在相机坐标系下的位置之后,可以根据预先标定得到的相机坐标系与车辆坐标系之间的6自由度变换矩阵,将交点位置变换至车辆坐标系下,得到变换后的位置,作为关键点在车辆坐标系下的位置。
本公开的一个实施例中,可以通过以下表达式计算关键点在车辆坐标系下的位置pb:
pb=BC*c+BC
其中,TBC=RBc,tBC]表示相机坐标系与车辆坐标系之间的6自由度变换矩阵。
本公开的一个实施例中,在计算地平面在相机坐标系下的平面方程时,可以在相机在地平面上的视野中正对放置用于标定的二维码,使得相机朝向与二维码的长度方向平行,与二维码的宽度方向垂直,如图9所示,图9为一种二维码示意图。
在放置好二维码后,以二维码中心为坐标原点、以二维码的长度方向和宽度方向为坐标轴方向建立二维码坐标系,此时,二维码的四个顶点在二维码坐标系的坐标可以分别表示为:
a1=-la/2,la/2,0
a2=la/2,la/2,0
a3=la/2,-a/2,0
a4=-la/2,-a/2,0
其中,la表示二维码的边长。
利用二维码定位算法,可以得到相机坐标系与二维码坐标系之间的6自由度变换矩阵,从而根据该6自由度变换矩阵,可以得到每一二维码顶点在相机坐标系下的位置:
aci=RCAai+tCA
其中,TCA=RCA,tCA]表示相机坐标系与二维码坐标系之间的6自由度变换矩阵,i表示二维码顶点的序号,ai表示第i个二维码顶点在二维码坐标系下的坐标,aci表示第i个二维码顶点在相机坐标系下的坐标。
获得二维码顶点在相机坐标系下的坐标之后,可以利用平面拟合算法,按照以下表达式计算地平面在相机坐标系下的平面法向量、相机与地平面之间的距离:
其中,(Xi,Yi,Zi)表示第i个二维码顶点在相机坐标系下的坐标。
本公开的一个实施例中,在标定相机坐标系与车辆坐标系之间的6自由度变换矩阵时,可以测量上述二维码与车辆坐标系的原点之间的距离tAB,得到二维码坐标系与车辆坐标系之间的6自由度变换矩阵TAB=[RAB=,tAB],根据二维码坐标系与车辆坐标系之间的6自由度变换矩阵以及相机坐标系与二维码坐标系之间的6自由度变换矩阵,计算得到相机坐标系与车辆坐标系之间的6自由度变换矩阵TCB=RCARAB,RCA*AB+tCA]。
与上述车辆控制方法相对应,本公开实施例还提供了一种车辆控制装置。
本公开的一个实施例中,参见图10,提供了第一种车辆控制装置的结构示意图,本实施例中,所述装置包括:
信息获得模块1001,用于获得车辆所在车道的道路图像以及所述车辆的行驶信息;
关键点确定模块1002,用于确定所述道路图像中道路元素的关键点;
轨迹获得模块1003,用于根据所确定的关键点获得所述车辆的期望行驶轨迹;
误差确定模块1004,用于根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;
车辆控制模块1005,用于基于所述误差信息控制所述车辆行驶。
由以上可见,应用本公开实施例提供的方案控制车辆时,在车辆所在车道的道路图像中确定道路元素的关键点,根据关键点获得车辆的期望行驶轨迹,根据车辆的行驶信息,确定车辆的实际行驶轨迹与期望行驶轨迹之间的误差信息,从而基于误差信息控制车辆行驶。由上可知,本方案中进行车辆控制所使用的信息仅为道路图像,道路图像可以是图像采集设备采集得到的,因此,在应用本方案进行车辆控制时,车辆中最少可仅安装一台图像采集设备,这样能降低进行车辆控制的成本。
另外,应用现有技术进行车辆控制时,所使用的数据为多个传感器采集的大量数据,因此,应用现有技术进行车辆控制的数据计算量较大,车辆控制效率较低,而本方案中,进行车辆控制所使用的数据仅为道路图像数据,相比于现有技术,本方案能够降低进行车辆控制的数据计算量,提高车辆控制效率。
本公开的一个实施例中,参见图11,提供了第二种车辆控制装置的结构示意图,本实施例中,所述装置包括:
信息获得模块1101,用于获得车辆所在车道的道路图像以及所述车辆的行驶信息;
区域检测子模块1102,用于检测所述道路图像中道路元素所在的目标区域;
轮廓提取子模块1103,用于提取所述目标区域的区域轮廓;
简化处理子模块1104,用于对所述区域轮廓进行多边形简化处理;
关键点确定子模块1105,用于根据简化处理后的区域轮廓,确定所述道路元素的关键点;
轨迹获得模块1106,用于根据所确定的关键点获得所述车辆的期望行驶轨迹;
误差确定模块1107,用于根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;
车辆控制模块1108,用于基于所述误差信息控制所述车辆行驶。
由以上可见,应用本公开实施例提供的方案控制车辆时,在获得道路图像后,检测道路图像中道路元素所在的目标区域,并对目标区域的区域轮廓进行多边形简化处理,从而根据简化处理后的区域轮廓,能够准确确定道路元素的关键点,从而根据道路元素的关键点进行车辆控制,能够提高车辆控制的准确性。
本公开的一个实施例中,所述关键点确定子模块1105,具体用于:
确定简化后的区域轮廓的顶点为所述道路元素的关键点。
由以上可见,应用本公开实施例提供的方案进行车辆时,将简化后的区域轮廓的顶点确定为道路元素的关键点,由于多边形顶点对多边形的表征性较强,因此,相比于区域轮廓中的其他点,将区域轮廓的顶点确定为道路元素的关键点,能够提高关键点的准确性,进而能够提高车辆控制的准确性。
本公开的一个实施例中,所述关键点确定子模块1105,具体用于:
获得所述道路元素的元素类型,基于所述元素类型对应的预设关键点相对位置,在简化后的区域轮廓确定所述道路元素的关键点。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,基于道路图像中道路元素的元素类型对一个的预设关键点相对位置,能够在简化后的区域轮廓中准确确定道路元素的关键点,进而基于较为准确的关键点进行车辆控制,能够提高车辆控制的准确性。
本公开的一个实施例中,所述关键点确定子模块1105,具体用于:
获得历史图像中所述道路元素的历史关键点,其中,所述历史图像为在所述道路图像之前采集的所述车道的图像;
根据所获得的历史关键点,获得所述道路图像中道路元素的第一预测关键点;
根据简化处理后的区域轮廓,获得所述道路元素的第二预测关键点;
基于所获得的第一预测关键点和第二预测关键点,确定所述道路元素的关键点。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,根据历史图像中的历史关键点,可以获得第一预测关键点,根据道路图像中道路元素所在区域的区域轮廓,可以获得第二预测关键点,这样在确定道路图像中道路元素的关键点时,可以综合这两种预测关键点,准确确定道路元素的关键点,从而提高所确定关键点的准确性,进而提高车辆控制的准确性。
本公开的一个实施例中,参见图12,提供了第三种车辆控制装置的结构示意图,本实施例中,所述装置包括:
信息获得模块1201,用于获得车辆所在车道的道路图像以及所述车辆的行驶信息;
关键点确定模块1202,用于确定所述道路图像中道路元素的关键点;
类型获得子模块1203,用于获得所述道路元素的元素类型;
类型确定子模块1204,用于根据所述元素类型确定所述车道的道路类型;
轨迹获得子模块1205,用于按照所述道路类型,根据所确定的关键点,获得所述车辆的期望行驶轨迹;
误差确定模块1206,用于根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;
车辆控制模块1207,用于基于所述误差信息控制所述车辆行驶。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,可以根据车辆所在车道的道路类型,选择与该道路类型对应的行驶轨迹获得方式来获得期望行驶轨迹,这样能够提高所获得的期望行驶轨迹的准确性,进而基于较为准确的期望行驶轨迹进行车辆控制,能够提高车辆控制的准确性。
本公开的一个实施例中,参见图13,提供了第四种车辆控制装置的结构示意图,本实施例中,所述装置包括:
信息获得模块1301,用于获得车辆所在车道的道路图像以及所述车辆的行驶信息;
关键点确定模块1302,用于确定所述道路图像中道路元素的关键点;
类型获得子模块1303,用于获得所述道路元素的元素类型;
类型确定子模块1304,用于根据所述元素类型确定所述车道的道路类型;
位置获得单元1305,用于获得所确定的关键点对应的位置信息的平均位置;
向量获得单元1306,用于根据所确定的关键点对应的位置信息以及所述平均位置,获得所述道路的方向向量;
第一轨迹生成单元1307,用于基于所述方向向量生成所述车辆的期望行驶轨迹。
误差确定模块1308,用于根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;
车辆控制模块1309,用于基于所述误差信息控制所述车辆行驶。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,在车辆所在车道的道路类型为直线道路类型的情况下,计算各个关键点对应位置信息的平均位置,并根据各个关键点对应的位置信息以及平均位置获得道路的方向向量,这样基于方向向量能够准确生成车辆的期望行驶轨迹,进而基于较为准确的期望行驶轨迹进行车辆控制,能够提高车辆控制的准确性。
本公开的一个实施例中,所述向量获得单元1306,具体用于:
按照以下表达式获得所述道路的方向向量:
其中,i表示各个关键点的序号,n表示所确定关键点的总个数,(xi,yi)表示第i个关键点对应的坐标,(cx,cy)表示所述平均位置,A、B表示所述方向向量包括的元素。
本方案中,根据道路元素的关键点对应的位置信息以及平均位置,利用上述表达式,能够准确获得道路元素指示的方向向量,并且,道路元素的方向向量通常与道路的方向向量是一致的,因此,利用上述表达式,能够准确获得道路的方向向量。
本公开的一个实施例中,参见图14,提供了第五种车辆控制装置的结构示意图,本实施例中,所述装置包括:
信息获得模块1401,用于获得车辆所在车道的道路图像以及所述车辆的行驶信息;
关键点确定模块1402,用于确定所述道路图像中道路元素的关键点;
类型获得子模块1403,用于获得所述道路元素的元素类型;
类型确定子模块1404,用于根据所述元素类型确定所述车道的道路类型;
信息获得单元1405,用于根据所确定的关键点对应的位置信息,获得所述道路的弯曲半径以及圆心;
第二轨迹生成单元1406,用于基于所述弯曲半径以及圆心生成所述车辆的期望行驶轨迹;
误差确定模块1407,用于根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;
车辆控制模块1408,用于基于所述误差信息控制所述车辆行驶。
由以上可见,应用本公开实施例提供的方案进行车辆控制时,在车辆所在车道的道路类型为弯曲道路类型的情况下,根据各个关键点对应的位置信息,获得道路的弯曲半径以及圆心,这样也就获知了弯曲车道的实际情况,从而基于弯曲半径以及圆心,能够准确生成车辆的期望行驶轨迹,进而基于较为准确的期望行驶轨迹进行车辆控制,能够提高车辆控制的准确性。
本公开的一个实施例中,所述信息获得单元1405,具体用于:
按照以下表达式获得所述道路的弯曲半径以及圆心:
其中,i表示各个关键点的序号,n表示所确定关键点的总个数,(xi,yi)表示第i个关键点的坐标,(px,py)表示圆心坐标,r表示弯曲半径。
本方案中,利用上述表达式,能够在考虑所有关键点位置的情况下,准确获得道路的弯曲半径和圆心,从而基于该弯曲半径和圆心,能够准确生成车辆的期望行驶轨迹。
本公开的一个实施例中,所述误差信息包括以下信息中至少一种:
所述车辆的行驶方向与所述期望行驶轨迹指示的前进方向形成的夹角的角度、所述车辆与所述期望行驶轨迹之间的横向距离。
本方案中,车辆的行驶方向、车辆的位置这两种信息均能反映车辆的实际行驶轨迹,因此,车辆的行驶方向与期望行驶轨迹指示的前进方向形成的夹角的角度、车辆与期望行驶轨迹之间的横向距离这两种信息能够准确反映车辆实际行驶轨迹和期望行驶轨迹之间的误差,选择根据这两种误差信息中至少一种作为误差信息,误差信息的准确度均较高,这样利用准确性较高的误差信息,能够有利于后续处理。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
本公开的一个实施例中,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述方法实施例中任一车辆控制方法。
本公开的一个实施例中,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述方法实施例中任一车辆控制方法。
本公开的一个实施例中,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述方法实施例中任一车辆控制方法。
图15示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图15所示,设备1500包括计算单元1501,其可以根据存储在只读存储器(ROM)1502中的计算机程序或者从存储单元1508加载到随机访问存储器(RAM)1503中的计算机程序,来执行各种适当的动作和处理。在RAM 1503中,还可存储设备1500操作所需的各种程序和数据。计算单元1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
设备1500中的多个部件连接至I/O接口1505,包括:输入单元1506,例如键盘、鼠标等;输出单元1507,例如各种类型的显示器、扬声器等;存储单元1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1501执行上文所描述的各个方法和处理,例如车辆控制方法。例如,在一些实施例中,车辆控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1508。在一些实施例中,计算机程序的部分或者全部可以经由ROM1502和/或通信单元1509而被载入和/或安装到设备1500上。当计算机程序加载到RAM 1503并由计算单元1501执行时,可以执行上文描述的车辆控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元1501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行车辆控制方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (23)
1.一种车辆控制方法,包括:
获得车辆所在车道的道路图像以及所述车辆的行驶信息;
确定所述道路图像中道路元素的关键点;
根据所确定的关键点获得所述车辆的期望行驶轨迹;
根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;
基于所述误差信息控制所述车辆行驶。
2.根据权利要求1所述的方法,其中,所述确定所述道路图像中道路元素的关键点,包括:
检测所述道路图像中道路元素所在的目标区域;
提取所述目标区域的区域轮廓;
对所述区域轮廓进行多边形简化处理;
根据简化处理后的区域轮廓,确定所述道路元素的关键点。
3.根据权利要求2所述的方法,其中,所述根据简化处理后的区域轮廓,确定所述道路元素的关键点,包括:
确定简化后的区域轮廓的顶点为所述道路元素的关键点;
或
获得所述道路元素的元素类型,基于所述元素类型对应的预设关键点相对位置,在简化后的区域轮廓确定所述道路元素的关键点。
4.根据权利要求2所述的方法,其中,所述根据简化处理后的区域轮廓,确定所述道路元素的关键点,包括:
获得历史图像中所述道路元素的历史关键点,其中,所述历史图像为在所述道路图像之前采集的所述车道的图像;
根据所获得的历史关键点,获得所述道路图像中道路元素的第一预测关键点;
根据简化处理后的区域轮廓,获得所述道路元素的第二预测关键点;
基于所获得的第一预测关键点和第二预测关键点,确定所述道路元素的关键点。
5.根据权利要求1-4中任一项所述的方法,其中,所述根据所确定的关键点获得所述车辆的期望行驶轨迹,包括:
获得所述道路元素的元素类型;
根据所述元素类型确定所述车道的道路类型;
按照所述道路类型,根据所确定的关键点,获得所述车辆的期望行驶轨迹。
6.根据权利要求5所述的方法,其中,在所述道路类型为直线道路类型的情况下,
所述按照所述道路类型,根据所确定的关键点,获得所述车辆的期望行驶轨迹,包括:
获得所确定的关键点对应的位置信息的平均位置;
根据所确定的关键点对应的位置信息以及所述平均位置,获得所述道路的方向向量;
基于所述方向向量生成所述车辆的期望行驶轨迹。
8.根据权利要求5所述的方法,其中,在所述道路类型为弯曲道路类型的情况下,
所述按照所述道路类型,根据所确定的关键点,获得所述车辆的期望行驶轨迹,包括:
根据所确定的关键点对应的位置信息,获得所述道路的弯曲半径以及圆心;
基于所述弯曲半径以及圆心生成所述车辆的期望行驶轨迹。
10.根据权利要求1-4中任一项所述的方法,其中,所述误差信息包括以下信息中至少一种:
所述车辆的行驶方向与所述期望行驶轨迹指示的前进方向形成的夹角的角度、所述车辆与所述期望行驶轨迹之间的横向距离。
11.一种车辆控制装置,包括:
信息获得模块,用于获得车辆所在车道的道路图像以及所述车辆的行驶信息;
关键点确定模块,用于确定所述道路图像中道路元素的关键点;
轨迹获得模块,用于根据所确定的关键点获得所述车辆的期望行驶轨迹;
误差确定模块,用于根据所述行驶信息,确定所述车辆的实际行驶轨迹与所述期望行驶轨迹之间的误差信息;
车辆控制模块,用于基于所述误差信息控制所述车辆行驶。
12.根据权利要求11所述的装置,其中,所述关键点确定模块,包括:
区域检测子模块,用于检测所述道路图像中道路元素所在的目标区域;
轮廓提取子模块,用于提取所述目标区域的区域轮廓;
简化处理子模块,用于对所述区域轮廓进行多边形简化处理;
关键点确定子模块,用于根据简化处理后的区域轮廓,确定所述道路元素的关键点。
13.根据权利要求12所述的装置,其中,所述关键点确定子模块,具体用于:
确定简化后的区域轮廓的顶点为所述道路元素的关键点;
或
获得所述道路元素的元素类型,基于所述元素类型对应的预设关键点相对位置,在简化后的区域轮廓确定所述道路元素的关键点。
14.根据权利要求12所述的装置,其中,所述关键点确定子模块,具体用于:
获得历史图像中所述道路元素的历史关键点,其中,所述历史图像为在所述道路图像之前采集的所述车道的图像;
根据所获得的历史关键点,获得所述道路图像中道路元素的第一预测关键点;
根据简化处理后的区域轮廓,获得所述道路元素的第二预测关键点;
基于所获得的第一预测关键点和第二预测关键点,确定所述道路元素的关键点。
15.根据权利要求11-14中任一项所述的装置,其中,所述轨迹获得模块,包括:
类型获得子模块,用于获得所述道路元素的元素类型;
类型确定子模块,用于根据所述元素类型确定所述车道的道路类型;
轨迹获得子模块,用于按照所述道路类型,根据所确定的关键点,获得所述车辆的期望行驶轨迹。
16.根据权利要求15所述的装置,其中,在所述道路类型为直线道路类型的情况下,
所述轨迹获得子模块,包括:
位置获得单元,用于获得所确定的关键点对应的位置信息的平均位置;
向量获得单元,用于根据所确定的关键点对应的位置信息以及所述平均位置,获得所述道路的方向向量;
第一轨迹生成单元,用于基于所述方向向量生成所述车辆的期望行驶轨迹。
18.根据权利要求15所述的装置,其中,在所述道路类型为弯曲道路类型的情况下,
所述轨迹获得子模块,包括:
信息获得单元,用于根据所确定的关键点对应的位置信息,获得所述道路的弯曲半径以及圆心;
第二轨迹生成单元,用于基于所述弯曲半径以及圆心生成所述车辆的期望行驶轨迹。
20.根据权利要求11-14中任一项所述的装置,其中,所述误差信息包括以下信息中至少一种:
所述车辆的行驶方向与所述期望行驶轨迹指示的前进方向形成的夹角的角度、所述车辆与所述期望行驶轨迹之间的横向距离。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的方法。
23.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211632035.8A CN116001802A (zh) | 2022-12-19 | 2022-12-19 | 一种车辆控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211632035.8A CN116001802A (zh) | 2022-12-19 | 2022-12-19 | 一种车辆控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116001802A true CN116001802A (zh) | 2023-04-25 |
Family
ID=86029055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211632035.8A Pending CN116001802A (zh) | 2022-12-19 | 2022-12-19 | 一种车辆控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116001802A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117392853A (zh) * | 2023-12-11 | 2024-01-12 | 山东通维信息工程有限公司 | 一种基于云端的大数据智能车道控制系统 |
-
2022
- 2022-12-19 CN CN202211632035.8A patent/CN116001802A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117392853A (zh) * | 2023-12-11 | 2024-01-12 | 山东通维信息工程有限公司 | 一种基于云端的大数据智能车道控制系统 |
CN117392853B (zh) * | 2023-12-11 | 2024-04-12 | 山东通维信息工程有限公司 | 一种基于云端的大数据智能车道控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113221677B (zh) | 一种轨迹异常检测方法、装置、路侧设备和云控平台 | |
CN112526999B (zh) | 速度规划方法、装置、电子设备和存储介质 | |
EP3937077B1 (en) | Lane marking detecting method, apparatus, electronic device, storage medium, and vehicle | |
CN113264066A (zh) | 障碍物轨迹预测方法、装置、自动驾驶车辆及路侧设备 | |
CN113378760A (zh) | 训练目标检测模型和检测目标的方法及装置 | |
CN112541437A (zh) | 车辆定位方法、装置、电子设备及存储介质 | |
CN113378693B (zh) | 生成目标检测系统和检测目标的方法及装置 | |
EP2887315A1 (en) | Calibration device, method for implementing calibration, program and camera for movable body | |
CN110378906B (zh) | 一种基于弦切线距离的椭圆检测方法 | |
CN113377888A (zh) | 训练目标检测模型和检测目标的方法 | |
CN113724388B (zh) | 高精地图的生成方法、装置、设备以及存储介质 | |
WO2022104254A1 (en) | Efficient three-dimensional object detection from point clouds | |
CN112558072A (zh) | 车辆定位方法、装置、系统、电子设备及存储介质 | |
CN116001802A (zh) | 一种车辆控制方法及装置 | |
CN113378694B (zh) | 生成目标检测和定位系统及目标检测和定位的方法及装置 | |
CN113592015B (zh) | 定位以及训练特征匹配网络的方法和装置 | |
CN114743178A (zh) | 道路边缘线生成方法、装置、设备及存储介质 | |
CN114387576A (zh) | 一种车道线识别方法、系统、介质、设备及信息处理终端 | |
CN115239776B (zh) | 点云的配准方法、装置、设备和介质 | |
CN116091567A (zh) | 自动驾驶车辆的配准方法、装置、电子设备和车辆 | |
CN113706705B (zh) | 用于高精地图的图像处理方法、装置、设备以及存储介质 | |
CN113762397B (zh) | 检测模型训练、高精度地图更新方法、设备、介质及产品 | |
CN115959154A (zh) | 变道轨迹的生成方法、装置和存储介质 | |
CN114495049A (zh) | 识别车道线的方法和装置 | |
CN114647816A (zh) | 车道线的确定方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |