计算;推算;计数设备的制造及其应用技术1.本技术涉及自动驾驶技术领域,尤其涉及一种自动驾驶车辆的控制方法、控制器、自动驾驶车辆以及计算机可读存储介质、计算机程序产品。背景技术:2.随着人工智能(artificial intelligence,ai)技术的不断发展,许多领域已在实现相关应用。例如,基于深度学习的视觉检测技术在自动驾驶等领域实现应用。具体地,通过摄像头拍摄周围环境中的对象,该对象可以包括车道线、车辆、人或者其他障碍物,然后通过深度学习技术检测上述对象,确定上述对象和自车的距离,由此辅助车辆驾驶控制。3.传统的视觉检测方法在检测周围环境中的对象时,通常输出2维(2dimension,2d)包围框(bonding box,bbox)。对于车辆等对象,基于2d包围框估计的接地点不准确。如此导致难以获得准确的距离信息,即难以准确获得拍摄车辆的摄像头到车辆的地理距离。基于此,业界提出了一种多框检测方法。以检测对象为车辆进行示例说明,在该示例中,通过深度学习分别学习车辆的侧框和尾框,并将同一辆车的侧框和尾框进行关联。然后基于侧框和尾框可以确定距离信息。4.然而,上述方法要求同时学习至少两种不同类型的bbox,对于预先设置的锚框(anchor box)的设计有较高的要求,人工设计的anchor box参数对于检测结果有较大影响。而且,不同对象的包围框如一个车辆的侧框和另一个车辆的尾框存在错误关联的情况,也降低了检测准确度。如此降低了基于上述包围框确定的距离信息的准确度,影响了对车辆的控制效果。技术实现要素:5.本技术提供了一种自动驾驶车辆的控制方法,该方法通过对待检测图像进行检测,获得待检测图像中目标对象的3d包围框,基于3d包围框确定的距离信息对自动驾驶车辆进行控制,解决了相关技术中需要人工设计不同类型锚框以及将不同对象的包围框错误关联导致距离信息不准确的问题,从而实现对自动驾驶车辆的精准控制。本技术还提供了上述方法对应的控制器、自动驾驶车辆、计算机可读存储介质以及计算机程序产品。6.第一方面,本技术提供了一种自动驾驶车辆的控制方法。该方法可以由自动驾驶车辆中的控制器执行。具体地,控制器获取待检测图像,对所述待检测图像进行检测,获得所述待检测图像中目标对象的包围框,该包围框为至少包围所述目标对象的两个不同侧面的3d框(即3d包围框),然后根据由所述3d包围框确定的距离信息,例如是拍摄所述目标对象的摄像头到所述目标对象的地理距离,对所述自动驾驶车辆进行控制。7.该方法通过3d包围框可以准确地定位目标对象,获得准确的距离信息,基于该准确的距离信息对自动驾驶车辆进行精准控制,获得较好的控制效果。并且,每个目标对象对应一个3d包围框,无需预先设计不同类型的锚框,也无需将检测得到的3d包围框进行关联,由此解决了相关技术中人工设计的锚框参数不合适以及错误关联不同目标对象的包围框导致检测准确度降低的问题。8.在一些可能的实现方式中,控制器可以先根据所述包围框确定所述目标对象的接触点的图像坐标,所述接触点为所述目标对象与参考面接触的点。其中,参考面可以为地面,对应地,接触点可以为接地点。在一些实施例中,参考面也可以是其他与目标对象产生接触的面。然后控制器可以根据所述接触点的图像坐标(在图像坐标系中的坐标),确定拍摄所述目标对象的摄像头到所述目标对象的地理距离(物理世界中的实际距离)。9.具体地,控制器可以根据所述接触点的图像坐标,结合摄像头成像的几何原理,确定拍摄所述目标对象的摄像头到所述目标对象的地理距离。其中,控制器可以基于摄像头成像的几何原理确定相似三角形,根据相似三角形构建关于摄像头到目标对象的地理距离的方程式,然后通过方程式求解确定拍摄所述目标对象的摄像头到所述目标对象的地理距离。10.相较于2d包围框,3d包围框能够更准确地定位目标对象,而且该3d包围框是端到端直接生成,无需检测出多个包围框,然后将多个包围框关联,进一步提高了定位准确度,基于该3d包围框,利用成像的几何原理确定的距离信息也更准确,由此为自动驾驶车辆的精准控制提供帮助。11.在一些可能的实现方式中,控制器可以通过神经网络进行目标对象的检测。具体地,控制器可以通过神经网络从所述待检测图像中学习所述目标对象的轮廓特征,例如控制器可以通过神经网络的卷积层提取待检测图像的特征图,从而获得目标对象的轮廓特征,然后控制器可以根据所述目标对象的轮廓特征,通过神经网络进行回归,获得所述目标对象的3d包围框。12.该方法通过神经网络实现端到端地输出3d包围框,无需进行包围框的关联等操作,提高了目标对象的检测效率以及检测准确度。13.在一些可能的实现方式中,控制器可以通过神经网络对所述待检测图像进行检测,获得所述待检测图像中的目标对象的包围框相对于锚点或锚框的偏移量,然后根据所述目标对象的包围框相对于所述锚点或所述锚框的偏移量,获得所述目标对象的包围框。14.其中,锚点是回归目标对象的包围框采用的参考点。锚点可以是目标对象的中心点附近的点。控制器可以基于神经网络确定目标对象的中心点,基于该中心点确定锚点的选取范围,例如将以中心点为圆心,r为半径的圆作为锚点的选取范围,从该选取范围中选取锚点。锚框是预先设置的一组不同尺度不同位置的固定参考框。锚框覆盖待检测图像的各个位置和尺度。锚框可以为回归目标对象的包围框提供参考。15.在一些可能的实现方式中,控制器通过回归目标对象的包围框的边、顶点和/或分割线相对于锚点或锚框的偏移量,该偏移量用于约束所述包围框的位置、大小和形状中的至少一个,如此可以实现精准地回归目标对象的轮廓。基于该轮廓可以更精准地定位目标对象的接触点,进而可以获得准确的距离信息,为控制自动驾驶车辆提供帮助。16.在一些可能的实现方式中,所述包围框为多边形框,所述多边形框的边数大于四。根据目标对象类型不同,可以采用不同的多边形框。例如,目标对象为车辆时,可以采用五边形框;又例如,目标对象为锥筒时,可以采用六边形框。需要说明的是,上述五边形框、六边形框是指在图像坐标系等二维坐标系中的框。在三维坐标系中,该五边形框、六边形框包括目标对象的多个不同侧面。17.如此可以实现根据目标对象类型,通过各类型对应的多边形框定位目标对象,实现不同类型的目标对象的精准定位。18.在一些可能的实现方式中,所述多边形框为五边形框。所述五边形框还包括分割线,所述分割线的第一顶点与所述五边形框的顶点重合,且所述分割线将所述五边形框分割为两个四边形框。19.该方法可以实现通过被分割线分割为两个四边形框的五边形框定位目标对象,而不是通过两个四边形框分别定位目标对象的不同侧面,再将两个四边形框关联,由此可以实现端到端地检测目标对象,提高检测效率,而且避免了错误关联不同对象的四边形框,提高了检测准确度。20.在一些可能的实现方式中,控制器还可以确定所述两个四边形框中第一四边形框与所述五边形框的宽度比,当所述宽度比在预设范围内时,输出所述目标对象的包围框。预设范围可以是大于第一预设阈值且小于第二预设阈值。第一预设阈值和第二预设阈值可以根据经验值设置,例如第一预设阈值可以设置为5%,第二预设阈值可以设置为95%。21.宽度比在上述预设范围内,表明目标对象的不同侧面均在视角范围内,因此,控制器能够基于目标对象的不同侧面确定目标对象整体。控制器可以输出目标对象的3d包围框,从而为自动驾驶车辆的控制提供帮助。22.在一些可能的实现方式中,当所述宽度比不在所述预设范围内时,例如宽度比小于或等于第一预设阈值,或者大于等于第二预设阈值,则表明目标对象的一个侧面几乎不在视角范围内,控制器可以调整所述目标对象的包围框,输出调整后的包围框。23.具体地,控制器调整目标对象的包围框可以是将3d包围框退化为2d包围框。即调整后的包围框为四边形框。该四边形框可以由所述五边形框中除所述第一顶点之外的顶点得到。24.该方法通过对目标对象的包围框的动态调整,可以实现目标对象的精准定位。25.在一些可能的实现方式中,所述目标对象包括车辆、人或障碍物中的任意一种或多种。其中,障碍物可以是除车辆、人之外的其他阻挡自动驾驶车辆的物体,例如可以是锥筒。26.第二方面,本技术提供了一种控制器。该控制器可以包括如下功能单元:27.通信单元,用于获取待检测图像;28.检测单元,用于对所述待检测图像进行检测,获得所述待检测图像中目标对象的包围框,所述包围框为至少包围所述目标对象的两个不同侧面的三维框;29.控制单元,用于根据由所述三维框确定的距离信息对所述自动驾驶车辆进行控制,所述距离信息包括拍摄所述目标对象的摄像头到所述目标对象的地理距离。30.在一些可能的实现方式中,所述检测单元还用于:31.根据所述包围框确定所述目标对象的接触点的图像坐标,所述接触点为所述目标对象与参考面接触的点,以及根据所述接触点的图像坐标,确定拍摄所述目标对象的摄像头到所述目标对象的地理距离。32.在一些可能的实现方式中,所述检测单元具体用于:33.通过神经网络从所述待检测图像中学习所述目标对象的轮廓特征;34.根据所述目标对象的轮廓特征进行回归,获得所述目标对象的包围框。35.在一些可能的实现方式中,所述检测单元具体用于:36.通过神经网络对所述待检测图像进行检测,获得所述待检测图像中的目标对象的包围框相对于锚点或锚框的偏移量;37.根据所述目标对象的包围框相对于所述锚点或所述锚框的偏移量,获得所述目标对象的包围框。38.在一些可能的实现方式中,所述偏移量包括所述包围框的边相对于所述锚点或锚框的偏移量、所述包围框的顶点相对于所述锚点或锚框的偏移量和所述包围框的分割线相对于所述锚点或锚框的偏移量中的至少一个,所述偏移量用于约束所述包围框的位置、大小和形状中的至少一个。39.在一些可能的实现方式中,所述三维框为多边形框,所述多边形框的边数大于四。40.在一些可能的实现方式中,所述多边形框为五边形框,所述五边形框还包括分割线,所述分割线的第一顶点与所述五边形框的顶点重合,且所述分割线将所述五边形框分割为两个四边形框。41.在一些可能的实现方式中,所述检测单元还用于:42.确定所述两个四边形框中第一四边形框与所述五边形框的宽度比;43.当所述宽度比在预设范围内时,输出所述目标对象的包围框。44.在一些可能的实现方式中,所述检测单元还用于:45.当所述宽度比不在所述预设范围内时,调整所述目标对象的包围框,输出调整后的包围框,所述调整后的包围框为四边形框,所述四边形框由所述五边形框中除所述第一顶点之外的顶点得到。46.在一些可能的实现方式中,所述目标对象包括车辆、人或障碍物中的任意一种或多种。47.第三方面,本技术提供一种控制器。所述控制器包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得控制器执行如第一方面或第一方面的任一种实现方式中的自动驾驶车辆的控制方法。48.第四方面,本技术提供一种自动驾驶车辆。所述自动驾驶车辆包括动力系统和本技术第三方面或第三方面的任一种实现方式所述的控制器。所述控制器用于控制所述动力系统,以实现对所述自动驾驶车辆的控制。49.第五方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示计算机执行上述第一方面或第一方面的任一种实现方式所述的自动驾驶车辆的控制方法。50.第六方面,本技术提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一种实现方式所述的自动驾驶车辆的控制方法。51.本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。附图说明52.为了更清楚地说明本技术实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。53.图1为本技术实施例提供的一种自动驾驶车辆的系统架构图;54.图2为本技术实施例提供的一种自动驾驶车辆的控制方法的流程图;55.图3为本技术实施例提供的一种3d包围框的示意图;56.图4为本技术实施例提供的一种成像几何原理图;57.图5为本技术实施例提供的一种回归3d包围框的示意图;58.图6为本技术实施例提供的一种回归3d包围框的示意图;59.图7为本技术实施例提供的一种控制器的结构示意图;60.图8为本技术实施例提供的一种控制器的结构示意图。具体实施方式61.本技术实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。62.首先对本技术实施例中所涉及到的一些技术术语进行介绍。63.自动驾驶是一种经由机械、电子仪器、液压系统、陀螺仪等,实现无人操控的自动化驾驶技术。根据自动化程度不同,业界将自动驾驶分为多个等级,例如为l0至l5等6个等级。其中,l0至l5的自动化程度依次递增,l0为人工驾驶,l1为辅助驾驶,l2为部分自动驾驶,l3为条件自动驾驶,l4为高度自动驾驶,l5为完全自动驾驶。支持自动驾驶的64.自动驾驶车辆是支持自动驾驶功能的车辆。自动驾驶车辆也可以称作无人驾驶车、电脑驾驶车、无人车、自驾车等。该自动驾驶车辆可以是汽车,也可以是其他机动车。自动驾驶车辆能够通过视觉检测技术感测周围环境,然后自动驾驶车辆的控制系统可以根据感测结果对车辆进行控制,例如调整自动驾驶车辆的速度、加速度、方向等。65.视觉检测指用摄影机拍摄图像,然后通过计算机代替人眼对图像中的目标对象进行检测。其中,目标对象可以是周围环境中的对象,例如可以是车辆、行人或者障碍物等中的任意一种或多种。66.传统的视觉检测通常是通过深度学习提取图像的特征,然后基于该特征回归目标对象的2d包围框。然而,基于2d包围框难以准确定位目标对象,基于由2d包围框确定的距离信息进行控制的效果不佳。为此,业界提出了一种多框检测方案,具体是通过深度学习分别检测车辆的侧框和尾框,并将同一车辆的侧框和尾框关联,形成3d包围框。基于该3d包围框可以确定拍摄目标对象的摄像头到目标对象的地理距离。基于该地理距离可以对自动驾驶车辆进行控制。67.然而,上述方法要求同时学习至少两种不同类型的包围框,对于预先设置的锚框(覆盖图像的不同位置和尺度的固定参考框)的设计有较高的要求,人工设计的锚框参数对于检测结果有较大影响。而且,不同对象的包围框如一个车辆的侧框和另一个车辆的尾框存在错误关联的情况,也降低了检测准确度。如此降低了基于上述包围框确定的距离信息的准确度,影响了对车辆的控制效果。68.有鉴于此,本技术实施例提供了一种自动驾驶车辆的控制方法。该方法可以由自动驾驶车辆的控制器(或者控制系统)执行。具体地,控制器获取待检测图像,对所述待检测图像进行检测,获得所述待检测图像中目标对象的包围框,该包围框为至少包围所述目标对象的两个不同侧面的3d框(即3d包围框),然后根据由所述3d包围框确定的距离信息,例如是拍摄所述目标对象的摄像头到所述目标对象的地理距离,对所述自动驾驶车辆进行控制。69.一方面,该方法通过3d包围框可以准确地定位目标对象,获得准确的距离信息,基于该准确的距离信息对自动驾驶车辆进行精准控制,获得较好的控制效果。另一方面,每个目标对象对应一个3d包围框,无需预先设计不同类型的锚框,也无需将检测得到的3d包围框进行关联,由此解决了相关技术中人工设计的锚框参数不合适以及错误关联不同目标对象的包围框导致检测准确度降低的问题。70.本技术实施例的自动驾驶车辆的控制方法用于对自动驾驶车辆进行控制。接下来,结合附图,对本技术实施例提供的自动驾驶车辆的架构进行介绍。71.参见图1所示的自动驾驶车辆的系统架构图,如图1所示,该自动驾驶车辆10包括控制器100和摄像头200和动力系统300。其中,控制器100分别和摄像头200和动力系统300建立有通信连接。具体地,控制器100和摄像头200、动力系统300可以通过控制器局域网(controller area network,can)总线连接。下面对控制器100、摄像头200和动力系统300的功能进行说明。72.摄像头200用于拍摄图像,例如是拍摄自动驾驶车辆10周围环境的图像。其中,摄像头200可以包括前向摄像头,对应地,摄像头200可以拍摄该自动驾驶车辆10前方区域的图像。摄像头200也可以包括后向摄像头,对应地,摄像头200可以拍摄该自动驾驶车辆10后方区域的图像。摄像头200还可以包括环视摄像头,对应地,摄像头200可以拍摄该自动驾驶车辆10周围360°全方位的图像。73.控制器100用于获取待检测图像,例如是从摄像头200获取图像作为待检测图像,然后对待检测图像进行检测,获得待检测图像中目标对象的包围框,该包围框为至少包围目标对象的两个不同侧面的3d包围框,接着控制器100根据由所述3d包围框确定的距离信息,例如是摄像头200到目标对象的地理距离,对所述自动驾驶车辆10进行控制。74.动力系统300用于在控制器100的控制下,驱动自动驾驶车辆10整体进行移动。在一些实施例中,动力系统300包括发动机、变速箱、传动轴和轮胎中的至少一个。动力系统300可以在控制器100的控制下调整自动驾驶车辆10整体移动的速度、加速度、方向等。75.为了使得本技术的技术方案更加清楚、易于理解,接下来,将从控制器100的角度,对本技术实施例提供的自动驾驶车辆的控制方法进行详细说明。76.参见图2所示的自动驾驶车辆的控制方法的流程图,该方法包括:77.s202:控制器100获取待检测图像。78.控制器100可以从摄像头200获取图像,得到待检测图像。具体地,控制器100可以实时接收摄像头200发送的图像,得到待检测图像。在一些实施例中,控制器100也可以按照设定周期获取待检测图像。79.该待检测图像具体是摄像头200拍摄周围环境的图像。根据摄像头200的角度不同,摄像头200拍摄的区域可以是不同的,相应地,摄像头100拍摄的待检测图像可以对应不同区域。例如,摄像头200为前向摄像头时,待检测图像可以是前方区域的图像。80.s204:控制器100对待检测图像进行检测,获得待检测图像中目标对象的3d包围框。81.控制器100可以通过神经网络对待检测图像进行检测,从而获得待检测图像中目标对象的包围框。其中,目标对象是指需要识别出的实体对象。在一些实施例中,目标对象可以是人、车辆或者障碍物。3d包围框为至少包围目标对象的两个不同侧面的3d框。82.例如,目标对象为摄像头200前方与自动驾驶车辆10同向的车辆时,3d包围框可以为包围车辆的后侧面和右侧面的3d框。又例如,目标对象为摄像头200前方与自动驾驶车辆10逆向的车辆时,3d包围框可以为包围车辆的前侧面和左侧面的3d框。83.为了便于理解,本技术还提供了一示例进行说明。参见图3所示的待检测图像的检测结果的示意图,如图3所示,待检测图像经过检测后得到添加有3d包围框的图像。在该示例中,目标对象为与自动驾驶车辆10逆向的车辆,3d包围框至少包围了车辆的前侧面和左侧面。84.需要说明的是,该3d包围框可以与参考面接触。3d包围框与参考面接触的点称作接触点。参考面可以为地面,相应地,接触点可以称作接地点。例如图3中接地点可以包括点a、b、c。该3d包围框可以是3维坐标系中的3d包围框,例如以ba所在直线为i轴,以bc所在直线为j轴,以垂直ba和bc所在平面的直线为k轴的三维坐标系中,包括上述ba和bc以及垂直于面bac的边在内的包围框为3d包围框。85.还需要说明的是,以包围框中夹角为直角的两条边建立坐标系,例如图3所示的x轴(用于表征横坐标轴)和y轴(用于表征纵坐标轴)所在的二维坐标系,包围框可以是多边形框,该多边形框的边数大于四。在该示例中,多边形框可以是五边形框。86.进一步地,多边形框还可以包括分割线。该分割线具体可以用于分割目标对象的不同侧面。例如,在图3的示例中,分割线可以用于分割车辆的前侧面和左侧面。具体地,分割线的两个顶点中的第一顶点可以与多边形框,例如五变形框的顶点重合。分割线的两个顶点中的第二顶点则可以落在多边形框中与该顶点相对的边上。该分割线可以与第一顶点相对的边垂直。该分割线可以将五边形框分割为两个四边形框,每个四边形框中包围目标对象的一个侧面。87.需要说明的是,控制器100还可以确定分割线分割得到的两个四边形框中第一四边形框与五边形框的宽度比。其中,第一四边形框可以是两个四边形框中的任意一个。为了便于描述,图3示例以第一四边形框为边ab所在的框进行示例说明。第一四边形框的宽度可以为点a到分割线的距离(记作第一距离)。五边形框的宽度等于第一四边形框的宽度与第二四边形框的宽度之和,具体可以是点a到分割线的距离与点c到分割线的距离(记作第二距离)之和。控制器100可以根据第一距离相对于第一距离、第二距离之和的比值,获得第一四边形框与无边形框的宽度比。88.当宽度比在预设范围内,例如宽度比大于第一预设阈值,且小于第二预设阈值时,控制器100可以输出目标对象的3d包围框。当宽度比不在预设范围内,例如宽度比小于或等于第一预设阈值,或者大于等于第二预设阈值,则表明目标对象的一个侧面几乎不在视角范围内,控制器100可以调整目标对象的3d包围框,输出调整后的包围框。89.其中,控制器100调整目标对象的3d包围框可以是将3d包围框退化为2d包围框。该2d包围框可以是四边形框。该四边形框可以包围目标对象的前侧面或后侧面。具体地,3d包围框为五边形框时,控制器100可以根据无边形框中除第一顶点(分割线的一个顶点)之外的顶点得到调整后的包围框。仍以图3进行示例说明,控制器100可以根据五边形框中除点b之外的顶点,得到调整后的包围框。其中,控制器100可以延长包括点c且与分割线平行的边直至延长后的边的长度等于相对的边的长度,延长后的边的顶点记作c’,控制器100连接点a和点c’,从而形成四边形框,该四边形框可以是矩形框。90.需要说明的是,控制器100还可以延长包括点a且与分割线平行的边,延长后的边的顶点记作a’,延长后的两条边的长度相等。并且,控制器100连接点a’和点c’,边a’c’经过上述点b。基于边a’c’和边a’c’相对的边以及延长后的两条边可以得到调整后的包围框。91.在本实施例中,第一预设阈值、第二预设阈值可以根据经验值设置。在一些示例中,第一预设阈值可以设置为5%,第二预设阈值可以设置为95%。本技术实施例对此不作限制。92.s206:控制器100根据3d包围框确定所述目标对象的接触点的图像坐标。93.所述接触点为所述目标对象与参考面接触的点。控制器100可以从3d包围框中确定目标对象的接触点,从而获得接触点的图像坐标。其中,参考面可以是地面,基于此,接触点可以为接地点。94.以图3进行示例说明,3d包围框为五边形框时,控制器100可以确定该五边形框的三个顶点即点a、点b、点c为接地点,控制器100可以基于五边形框的顶点的坐标确定接地点的图像坐标。其中,图像坐标是指以图像建立坐标系的坐标。95.s208:控制器100根据接触点的图像坐标,确定拍摄目标对象的摄像头200到目标对象的地理距离。96.具体地,控制器100根据接触点(例如是接地点)的图像坐标,基于摄像头200成像的几何原理,确定拍摄目标对象的摄像头200到目标对象的地理距离。为了便于理解,下面结合附图进行示例说明。97.参见图3所示的成像原理图,o为摄像头200的光心,f为物理焦距,hc为摄像头200距离地面的高度,pw为物理世界中的接地点,pi为接地点在像平面的投影,dw表征拍摄目标对象的摄像头200到目标对象的地理距离。基于相似三角形,可以建立如下方程式:[0098][0099]其中,像平面为单位像平面时,f可以取值为1。由此,dw可以通过如下公式计算得到:[0100][0101]上述s206至s208仅为本技术实施例中确定距离信息,例如是拍摄目标对象的摄像头200到目标对象的地理距离的一种实现方式,在本技术实施例其他可能的实现方式中,控制器100也可以不执行上述s206至s208,而是通过其他方式获得上述距离信息。[0102]s210:控制器100根据由3d包围框确定的距离信息对自动驾驶车辆10进行控制。[0103]具体地,控制器100可以根据由3d包围框确定的距离信息,例如是s308中拍摄目标对象的摄像头200到目标对象的距离,确定对自动驾驶车辆10的控制方式。该控制方式可以包括减速、刹车、转向、加速、启动等。然后控制器100可以根据该控制方式生成相应的控制指令,并发送该控制指令至动力系统300,从而实现对自动驾驶车辆10进行控制。[0104]在一些可能的实现方式中,当拍摄目标对象的摄像头200到目标对象的距离小于第一预设距离时,控制器100可以确定对自动驾驶车辆10的控制方式为刹车,当拍摄目标对象的摄像头200到目标对象的距离小于第二预设距离时,控制器100可以确定对自动驾驶车辆10的控制方式为减速。其中,第一预设距离可以小于第二预设距离。[0105]基于上述内容描述,本技术实施例提供了一种自动驾驶车辆10的控制方法。该方法中,控制器100对待检测图像进行检测,获得待检测图像中目标对象的3d包围框,该3d包围框至少包围目标对象的两个不同侧面,然后根据由所述3d包围框确定的距离信息,对所述自动驾驶车辆10进行控制。相较于2d包围框,3d包围框能够更准确第定位目标对象,因而可以获得更准确的距离信息,实现对自动驾驶车辆10的精准控制。而且,该3d包围框为与目标对象一一对应的框,无需预先设计不同类型的锚框,也无需将检测得到的多个包围框进行关联,由此解决了相关技术中人工设计的锚框参数不合适以及错误关联不同车辆的包围框导致检测准确度降低的问题。[0106]本技术实施例提供的自动驾驶车辆10的控制方法依赖于s204中检测的目标对象的3d包围框。具体实现时,控制器100可以通过神经网络对待检测图像进行检测,从而获得待检测图像中目标对象的3d包围框。其中,控制器100可以通过神经网络从待检测图像中学习目标对象的轮廓特征,具体可以是通过神经网络的卷积层进行特征提取,获得目标对象的轮廓特征,然后基于目标对象的轮廓特征进行回归,从而获得目标对象的3d包围框。[0107]在一些可能的实现方式中,控制器100通过神经网络对所述待检测图像进行检测时,可以回归所述待检测图像中的目标对象相对于锚点或锚框的偏移量,然后根据目标对象相对于所述锚点或所述锚框的偏移量,获得所述目标对象的3d包围框。[0108]其中,锚框是预先设置的一组不同尺度不同位置的固定参考框。锚框覆盖待检测图像的各个位置和尺度。控制器100将目标检测转换为检测锚框中是否包括目标对象的问题。当检测到锚框中包括目标对象时,控制器100还回归目标对象的3d包围框相对于锚框的偏移量。偏移量包括3d包围框的边相对于所述锚框的偏移量和所述3d包围框的顶点相对于所述锚框的偏移量中的至少一个。所述偏移量用于约束所述3d包围框的位置、大小和形状中的至少一个。[0109]下面以控制器100基于神经网络回归五边形的3d包围框进行示例说明。[0110]参见图5所示的3d包围框的示意图,控制器100基于神经网络提取特征,基于特征分类确定锚框包括目标对象后,回归目标对象的3d包围框的边相对于锚框的偏移量、目标对象的3d包围框的顶点相对于锚框的偏移量和目标对象的3d包围框的分割线相对于锚框的偏移量。[0111]3d包围框的边相对于锚框的偏移量包括3d包围框的左边界相对于锚框的左边界在第一方向(例如是x方向)的偏移量(记作l_x)、3d包围框的右边界相对于锚框的右边界在第一方向(例如是x方向)的偏移量(记作r_x)、3d包围框的上边界相对于锚框的上边界在第二方向(例如是y方向)的偏移量(记作t_y)。[0112]3d包围框的顶点相对于锚框的偏移量包括3d包围框的左下顶点、中下顶顶点和右下顶点(具体是接地点,其中,中下顶点为分割线的第一顶点)相对于锚框的下边界在第二方向(例如是y方向)的偏移量(记作l_b_y、seg_y、r_b_y)。[0113]3d包围框的分割线相对于锚框的偏移量包括3d包围框的分割线相对于锚框的左边界在第一方向(例如是x方向)的偏移量(记作seg_x_l)和3d包围框的分割线相对于锚框的右边界在第一方向(例如是x方向)的偏移量(记作seg_x_r)。[0114]需要说明的是,图5是以通过8个偏移量回归3d包围框进行示例说明,在一些可能的实现方式中,3d包围框的分割线相对于锚框的偏移量可以包括seg_x_l或seg_x_r中的任意一个,也即控制器100也可以基于7个偏移量回归3d包围框。[0115]锚点是回归目标对象的包围框采用的参考点。锚点可以是目标对象的中心点附近的点。控制器100可以基于神经网络确定目标对象的中心点。控制器100可以将以中心点为圆心,r为半径的圆作为锚点的选取范围,从该选取范围中选取锚点。控制器100可以回归目标对象的3d包围框相对于锚点的偏移量。该偏移量包括3d包围框的边相对于所述锚点的偏移量、3d包围框的顶点相对于所述锚点的偏移量和3d包围框的分割线相对于锚点的偏移量中的至少一个。[0116]下面以控制器100基于神经网络回归五边形的3d包围框进行示例说明。[0117]参见图6所示的3d包围框的示意图,控制器100基于神经网络提取特征,基于特征分类确定锚点后,回归目标对象的3d包围框的边相对于锚点的偏移量、目标对象的3d包围框的顶点相对于锚点的偏移量和目标对象的3d包围框的分割线相对于锚点的偏移量。[0118]3d包围框的边相对于锚点的偏移量包括3d包围框的左边界相对于锚点在第一方向(例如是x方向)的偏移量(记作l_x)、3d包围框的右边界相对于锚点在第一方向(例如是x方向)的偏移量(记作r_x)、3d包围框的上边界相对于锚点在第二方向(例如是y方向)的偏移量(记作t_y)。[0119]3d包围框的顶点相对于锚框的偏移量包括3d包围框的左下顶点、中下顶顶点和右下顶点(其中,中下顶点为分割线的第一顶点)相对于锚点在第二方向(例如是y方向)的偏移量(记作l_b_y、seg_y、r_b_y)。[0120]3d包围框的分割线相对于锚框的偏移量包括3d包围框的分割线相对于锚点在第一方向(例如是x方向)的偏移量(记作seg_x)。[0121]图5、图6均是以五边形框进行示例说明,在一些可能的实现方式中,3d包围框可以是边数大于5的其他3d包围框,例如对于道路上的锥筒等,3d包围框也可以是六边形框,本实施例对此不作限制。[0122]需要说明的是,本技术实施例通过神经网络检测图像中的目标对象时,可以先训练神经网络。具体地,控制器100可以获取训练样本,该训练样本可以是标注有目标对象的包围框以及偏移量,控制器100输入上述训练样本至神经网络,然后根据神经网络的预测值以及真值计算损失函数的函数值,接着基于该函数值更新神经网络的参数,从而实现神经网络的训练。当损失函数的函数值小于预设值,或者趋于收敛时,控制器100可以停止训练,将训练后的神经网络用于图像检测。[0123]基于上述内容可知,本技术实施例基于传统的2d锚框即可回归出3d包围框,对于网络的修改较小,具有较高可用性。而且,仅需在已有的2d锚框基础上稍作更改,具体是对表征真值的包围框增加分割线,以及增加左右接地点相对于2d锚框的下边界的偏移,降低了标注难度。该神经网络支持端到端输出3d包围框,无需再执行多框关联等操作,提升了检测效率,进而提升了对自动驾驶车辆10的控制效果。[0124]上文结合图1至图6对本技术实施例提供的自动驾驶车辆10的控制方法进行了详细介绍,下面将结合附图,从功能模块化的角度对本技术实施例提供的控制器100进行介绍。[0125]参见图7所示的控制器100的结构示意图,该控制器100包括:[0126]通信单元102,用于获取待检测图像;[0127]检测单元104,用于对所述待检测图像进行检测,获得所述待检测图像中目标对象的包围框,所述包围框为至少包围所述目标对象的两个不同侧面的三维框;[0128]控制单元106,用于根据由所述三维框确定的距离信息对所述自动驾驶车辆进行控制,所述距离信息包括拍摄所述目标对象的摄像头到所述目标对象的地理距离。[0129]在一些可能的实现方式中,所述检测单元104还用于:[0130]根据所述包围框确定所述目标对象的接触点的图像坐标,所述接触点为所述目标对象与参考面接触的点,以及根据所述接触点的图像坐标,确定拍摄所述目标对象的摄像头到所述目标对象的地理距离。[0131]在一些可能的实现方式中,所述检测单元104具体用于:[0132]通过神经网络从所述待检测图像中学习所述目标对象的轮廓特征;[0133]根据所述目标对象的轮廓特征进行回归,获得所述目标对象的包围框。[0134]在一些可能的实现方式中,所述检测单元104具体用于:[0135]通过神经网络对所述待检测图像进行检测,获得所述待检测图像中的目标对象的包围框相对于锚点或锚框的偏移量;[0136]根据所述目标对象的包围框相对于所述锚点或所述锚框的偏移量,获得所述目标对象的包围框。[0137]在一些可能的实现方式中,所述偏移量包括所述包围框的边相对于所述锚点或锚框的偏移量、所述包围框的顶点相对于所述锚点或锚框的偏移量和所述包围框的分割线相对于所述锚点或锚框的偏移量中的至少一个,所述偏移量用于约束所述包围框的位置、大小和形状中的至少一个。[0138]在一些可能的实现方式中,所述三维框为多边形框,所述多边形框的边数大于四。[0139]在一些可能的实现方式中,所述多边形框为五边形框,所述五边形框还包括分割线,所述分割线的第一顶点与所述五边形框的顶点重合,且所述分割线将所述五边形框分割为两个四边形框。[0140]在一些可能的实现方式中,所述检测单元104还用于:[0141]确定所述两个四边形框中第一四边形框与所述五边形框的宽度比;[0142]当所述宽度比在预设范围内时,输出所述目标对象的包围框。[0143]在一些可能的实现方式中,所述检测单元104还用于:[0144]当所述宽度比不在所述预设范围内时,调整所述目标对象的包围框,输出调整后的包围框,所述调整后的包围框为四边形框,所述四边形框由所述五边形框中除所述第一顶点之外的顶点得到。[0145]在一些可能的实现方式中,所述目标对象包括车辆、人或障碍物中的任意一种或多种。[0146]根据本技术实施例的控制器100可对应于执行本技术实施例中描述的方法,并且控制器100的各个模块/单元的上述和其它操作和/或功能分别为了实现图2所示实施例中的各个方法的相应流程,为了简洁,在此不再赘述。[0147]图7从功能模块化的角度对本技术实施例提供的控制器100进行了介绍,接下来从硬件实体化的角度,对本技术实施例提供的控制器100进行说明。[0148]图8提供了一种控制器100的结构示意图,如图8所示,控制器100包括总线801、处理器802、通信接口803和存储器804。处理器802、存储器804和通信接口803之间通过总线801通信。[0149]总线801可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。在一些可能的实现方式中,总线也可以是can总线。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。[0150]处理器802可以为中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、微处理器(micro processor,mp)或者数字信号处理器(digital signal processor,dsp)等处理器中的任意一种或多种。[0151]通信接口803用于与外部通信。例如,通信接口803用于和自动驾驶车辆10中的摄像头200通信,以获取待检测图像,或者是用于向自动驾驶车辆10中的动力系统300发送控制指令,从而控制自动驾驶车辆10。[0152]存储器804可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram)。存储器804还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器,硬盘驱动器(hard disk drive,hdd)或固态驱动器(solid state drive,ssd)。[0153]存储器804中存储有可执行代码,处理器802执行该可执行代码以执行前述自动驾驶车辆10的控制方法。[0154]具体地,在实现图7所示实施例的情况下,且图7实施例中所描述的控制器100的各单元为通过软件实现的情况下,执行图7中的检测单元704、控制单元706功能所需的软件或程序代码存储在存储器804中。通信单元702功能通过通信接口803实现。[0155]通信接口803接收待检测图像,将其通过总线801传输至处理器802,处理器802执行存储器804中存储的各单元对应的程序代码,以执行对待检测图像进行检测,获得所述待检测图像中目标对象的3d包围框,根据3d包围框确定的距离信息生成控制指令的步骤,然后总线801将控制指令发送至通信接口803,通信接口803将该控制指令发送至动力系统300,从而对自动驾驶车辆10进行控制。[0156]当然,处理器804还可以执行本技术实施例其他可能的实现方式中的步骤,以实现对自动驾驶车辆10的控制。[0157]需要说明的是,控制器100中的处理器802也可以一次性写入程序代码,相应地,控制器100可以不包括上述总线801和存储器804。通信接口803获取待检测图像,处理器802执行程序代码,对待检测图像进行检测,获得目标对象的包围框,并根据包围框确定距离信息,然后基于该距离信息对自动驾驶车辆10进行控制。[0158]本技术实施例还提供一种自动驾驶车辆10。该自动驾驶车辆10至少包括控制器100和动力系统300。进一步地,自动驾驶车辆10还可以包括摄像头200。自动驾驶车辆10的结构以及具体实现可以参见图1所示实施例相关内容描述,在此不再赘述。[0159]本技术实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述自动驾驶车辆10的控制方法。[0160]本技术实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。[0161]所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。[0162]所述计算机程序产品可以为一个软件安装包,在需要使用前述自动驾驶车辆10的控制的任一方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。[0163]上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
自动驾驶车辆的控制方法、控制器、车辆及介质、产品与流程 专利技术说明
作者:admin
2022-12-02 16:01:35
623
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术