基于车道线的相机位姿调整方法和装置、存储介质、设备与流程

文档序号:23795265发布日期:2021-02-02 08:43阅读:95来源:国知局
基于车道线的相机位姿调整方法和装置、存储介质、设备与流程

[0001]
本公开涉及相机外参标定技术,尤其是一种基于车道线的相机位姿调整方法和装置、存储介质、设备。


背景技术:

[0002]
相机在车辆上安装后都会有安装误差,而对这个安装误差的估算就是相机外参标定中的重要内容。由于在相机的外参中翻滚角roll对车道线和前方障碍物的横向距离测量影响很大,因此稳定可靠的标定方案非常重要。
[0003]
现有技术通过基于静态标定(online calibration)方法实现相机位姿调整,但静态标定方法对车辆和参照物的相对位置要求非常高,标定过程十分耗时耗力。


技术实现要素:

[0004]
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种基于车道线的相机位姿调整方法和装置、存储介质、设备。
[0005]
根据本公开实施例的一个方面,提供了一种基于车道线的相机位姿调整方法,包括:
[0006]
基于设置在车辆上的相机获取包括所述车辆所在车道的两条车道线的图像;
[0007]
基于所述图像确定所述两条车道线在所述相机处于第一位姿时的图像中的两个斜率;
[0008]
基于所述两条车道线在所述相机处于第一位姿时的图像中的两个斜率,确定所述第一位姿的第一增量参数;
[0009]
基于所述第一增量参数,对所述第一位姿进行调整,得到第二位姿。
[0010]
根据本公开实施例的另一方面,提供了一种基于车道线的相机位姿调整装置,包括:
[0011]
图像采集模块,用于基于设置在车辆上的相机获取包括所述车辆所在车道的两条车道线的图像;
[0012]
斜率确定模块,用于基于所述图像确定所述两条车道线在所述相机处于第一位姿时的图像中的两个斜率;
[0013]
增量参数确定模块,用于基于所述斜率确定模块确定的两条车道线在所述相机处于第一位姿时的图像中的两个斜率确定所述第一位姿的第一增量参数;
[0014]
位姿调整模块,用于基于所述增量参数确定模块确定的第一增量参数,对所述第一位姿进行调整,得到第二位姿。
[0015]
根据本公开实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述实施例所述的基于车道线的相机位姿调整方法。
[0016]
根据本公开实施例的还一方面,提供了一种电子设备,所述电子设备包括:
[0017]
处理器;
[0018]
用于存储所述处理器可执行指令的存储器;
[0019]
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述实施例所述的基于车道线的相机位姿调整方法。
[0020]
基于本公开上述实施例提供的一种基于车道线的相机位姿调整方法和装置、存储介质、设备,基于设置在车辆上的相机获取包括所述车辆所在车道的两条车道线的图像,基于所述图像确定所述两条车道线在所述相机处于第一位姿时的图像中的两个斜率;基于所述两条车道线在所述相机处于第一位姿时的图像中的两个斜率,确定所述第一位姿的第一增量参数;基于所述第一增量参数对所述第一位姿进行调整,得到第二位姿;本实施例通过对车道线进行结构化感知,提取斜率信息,可以方便地在直道场景下进行相机位姿的动态实时标定,计算过程简单,只需要获得增量参数,因此相比于依赖复杂几何投影模型的其它标定方法而言,本实施例提供的方法的计算速度更快,效率更高,实时性更好。
[0021]
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
[0022]
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
[0023]
图1是本公开实施例提供的基于车道线的相机位姿调整方法的系统框图。
[0024]
图2是本公开实施例提供的位姿调整模块的一种可选结构框图。
[0025]
图3a是本公开一示例性实施例提供的俯仰角增量方向判断示意图。
[0026]
图3b是本公开一示例性实施例提供的偏航角增量方向判断示意图。
[0027]
图4是本公开实施例涉及到的车辆直道行驶的判断逻辑图。
[0028]
图5是本公开一示例性实施例提供的基于车道线的相机位姿调整方法的流程示意图。
[0029]
图6是本公开另一示例性实施例提供的基于车道线的相机位姿调整方法的流程示意图。
[0030]
图7是本公开图5所示的实施例中步骤502的一个流程示意图。
[0031]
图8是本公开图5所示的实施例中步骤502的另一个流程示意图。
[0032]
图9是本公开一示例性实施例提供的基于车道线的相机位姿调整装置的结构示意图。
[0033]
图10是本公开另一示例性实施例提供的基于车道线的相机位姿调整装置的结构示意图。
[0034]
图11是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
[0035]
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的
示例实施例的限制。
[0036]
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0037]
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
[0038]
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
[0039]
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
[0040]
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0041]
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
[0042]
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0043]
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
[0044]
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0045]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0046]
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
[0047]
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0048]
申请概述
[0049]
在实现本公开的过程中,发明人发现,现有的相机位姿调整方案为静态标定(offline),但该标定方法至少存在以下问题:需要将车辆静止停“正”在一定场景下,根据现场布置的参照物来进行相机外参的计算,由于对车辆和参照物的相对位置要求非常高,
因此标定过程十分耗时耗力。
[0050]
示例性系统
[0051]
本公开实施例提供的基于车道线的相机位姿调整方法,是当车辆行驶在道路笔直且左右车道线清晰可见的场景下时,通过视觉感知系统实时观测左右车道线在车身坐标系中的平行度和垂直度,并以此来反馈调节相机的位姿(如,俯仰角pitch和偏航角yaw),是一种逐渐逼近真实值的标定方法。以车道线在车身坐标系下的斜率为平行度和垂直度的计算依据,当检测到左右车道线不平行时,逐渐矫正pitch;当检测到左右车道线不垂直时,逐渐矫正yaw,直至收敛稳定为止。
[0052]
该发明主要是在image处理流的基础上进行反馈调节。即从已经完成感知处理的图像中提取车道线感知结果,并计算pitch和yaw的增量,从而改变新输入图像使用的pitch和yaw,直至不再需要计算增量为止。
[0053]
图1是本公开实施例提供的基于车道线的相机位姿调整方法的系统框图。如图1所示,图像处理模块(imageflow)101,可选地,该图像处理模块包括输入(input)子模块、感知(perception precess)子模块和输出(output)子模块,其中,输入子模块接收图像输入,然后通过感知子模块组进行结构化感知,提取车道线及其它对象的属性,最后由输出子模块向外部传输感知结果。可选地,感知子模块由于设计的不同,可能会存在多个子模块,从性能和速度上考虑,一般每个子模块会处理一帧图像。图1中的图像(image)i表示第i帧图像正好完成所有感知处理,准备向外输出,因此其后续子模块——输出子模块中的图像正好是前一帧第i-1帧图像,而其前续子模块中的图像依次是第i+1,第i+2,

直至第i+n帧图像。
[0054]
位姿调整模块(pitch yaw calibrator)102,基于实时观测到的车道线斜率进行俯仰角和偏航角的增量计算,实现动态矫正。
[0055]
车辆工况观测模块(vehicle condition observer)103,通过车辆底盘can报文数据判断车辆是否处于直道行驶状态。
[0056]
相机外参更新模块(camera pose parameters)104,对外提供实时更新相机使用外参的接口,将位姿调整模块102的结果反馈传递至图像处理模块101。
[0057]
上述模块中,位姿调整模块102是体现了本公开的主要发明点。位姿调整模块102对位姿信息中的pitch和yaw的计算流程是一样的,都是基于pid的偏差反馈计算,位姿调整模块102中包括如图2所示的结构,图2是本公开实施例提供的位姿调整模块的一种可选结构框图。如图2所示,包括:
[0058]
pid控制子模块201,采用经典的pid控制算法,根据实时偏差(车辆所在车道的两条车道线在相机采集的图像中的斜率)进行pitch/yaw增量缩放系数(scale)的计算。
[0059]
增量step计算子模块202,根据当前实时偏差的大小,选择合适的基础增量值(step),当偏差(error)较大时,选用较大的step值;当偏差(error)较小时,选用较小的step值。
[0060]
增量方向确定子模块203,根据偏差(error)或者其它特征,判断当前被控对象应该增加还是减小。
[0061]
限定子模块204,实现对增量scale最大最小值进行限定,对pid控制子模块201的输出结果进行最大最小值的限定(大于最大值的情况会被限定在最大值,小于最小值的情
况会被限定在最小值),防止roll值变得很大或者很小,而导致后续控制出现异常。
[0062]
增量计算子模块205,根据限定子模块204输出的scale,增量step计算子模块202输出的step和增量方向确定子模块203输出的增量方向进行增量的计算,公式为:delta=scale*step(增量值(delta)等于增量缩放系数scale乘以基础增量值(step))。并且,不同的增量方向有着不同的step值,即从方向上看step有两种,分别是代表增加的正值step和代表减小的负值step,由203模块进行step方向计算;每个方向上又有大step和小step这两种级别的step值,由202模块进行计算。
[0063]
滤波子模块206,对增量计算子模块205计算结果进行滤波处理,保证平滑输出,获得最终的增量值;这里选用的是简单的一阶滤波,例如:y
n
=(1-a)*y
n-1
+a*x
n

[0064]
最后以滤波子模块206输出的增量值和增量方向确定子模块203确定的增量方向对相机的位姿进行调整。
[0065]
对于相机位姿中的俯仰角pitch和偏航角其对应的控制对象(即,通过控制对象决定偏移方向)为:
[0066]
pitch:根据左右车道线在车身地面坐标系中的斜率差来判断左右车道线是否彼此平行;
[0067]
图3a是本公开一示例性实施例提供的俯仰角增量方向判断示意图。如图3a所示,对应的增量方向的判断方法包括:当pitch偏大时,左车道线的斜率是正值,右车道线的斜率是负值,此时左右车道线的斜率差是正值;当pitch偏小时,左车道线的斜率是负值,右车道线的斜率是正值,此时左右车道线的斜率差是负值;因此,当左右车道线的斜率差为正值时,pitch需要减小;而当其为负值时,pitch需要增加。
[0068]
yaw:根据左右车道线在车身地面坐标系中的斜率的较小值来判断左右车道线的垂直度(即与车身地面坐标系中x轴的平行程度);
[0069]
图3b是本公开一示例性实施例提供的偏航角增量方向判断示意图。如图3b所示,对应的增量方向的判断方法包括:当yaw偏大时,左右车道线的斜率都是正值;当yaw偏小时,左右车道线的斜率都是负值;因此,当左右车道线的斜率同时大于某一阈值时,yaw需要减小;而当其同时小于某一阈值时,yaw需要增加。
[0070]
本公开提供的位姿调整方法理论上车辆在非直行的情况下也可以实现调整,但是在直行时效果更佳,并且实际测试下来,直行下标定结果也比非直行会更加稳定,因此,可限制车辆在直行情况下进行位姿调整,具体实现可通过对车辆当前运行工况进行判断,避免系统在弯道等场景下进行标定。主要基于车辆底盘can报文中的车速和yaw rate信号,进行车辆状态的计算,其逻辑如图4所示,图4是本公开实施例涉及到的车辆直道行驶的判断逻辑图。具体地,当车辆速度足够快(大于或等于速度阈值),且方向盘基本稳定(yaw rate小于yaw rate阈值)时,认为车辆行驶在直线道路上,否则将认为车辆没有行驶在直线道路上,场景不适合进行标定。
[0071]
示例性方法
[0072]
图5是本公开一示例性实施例提供的基于车道线的相机位姿调整方法的流程示意图。本实施例可应用在电子设备上,如图5所示,包括如下步骤:
[0073]
步骤501,基于设置在车辆上的相机获取包括车辆所在车道的两条车道线的图像。
[0074]
可选地,相机可设置在车辆上方,通过相机采集车辆前方路面的图像,以使获得图
像中包括车辆所在车道的两条车道线。
[0075]
步骤502,基于图像确定两条车道线在相机处于第一位姿时的图像中的两个斜率。
[0076]
可选地,可以基于深度学习神经网络或者传统计算机视觉特征提取方法对图像特征进行提取,然后对多帧图像特征进行跟踪和关联,得到最终的结构化感知结果,提取车道线(三次方程系数,起止点及中间采样点坐标等)及其它对象(车辆,行人等)的属性;其中,斜率基于车道线的三次方程系数确定。
[0077]
步骤503,基于两条车道线在相机处于第一位姿时的图像中的两个斜率,确定第一位姿的第一增量参数。
[0078]
在一实施例中,位姿可以包括相机的俯仰角和/或偏航角,本实施例可通过斜率确定俯仰角和偏航角中至少一个的第一增量参数,以该第一增量参数对俯仰角和/或偏航角进行调整。
[0079]
步骤504,基于第一增量参数,对第一位姿进行调整,得到第二位姿。
[0080]
例如,第一增量参数包括增量方向(如,位姿的调整方向)和增量值(如,每次对位姿进行调整的角度),通过第一增量参数即可对第一位姿进行调整,获得调整后的第二位姿。
[0081]
本公开上述实施例提供的一种基于车道线的相机位姿调整方法,基于设置在车辆上的相机获取包括所述车辆所在车道的两条车道线的图像,基于所述图像确定所述两条车道线在所述相机处于第一位姿时的图像中的两个斜率;基于所述两条车道线在所述相机处于第一位姿时的图像中的两个斜率,确定所述第一位姿的第一增量参数;基于所述第一增量参数对所述第一位姿进行调整,得到第二位姿;本实施例通过对车道线进行结构化感知,提取斜率信息,可以方便地在直道场景下进行相机位姿的动态实时标定,计算过程简单,只需要获得增量参数,因此相比于依赖复杂几何投影模型的其它标定方法而言,本实施例提供的方法的计算速度更快,效率更高,实时性更好。
[0082]
图6是本公开另一示例性实施例提供的基于车道线的相机位姿调整方法的流程示意图。如图6所示,本实施例方法包括如下步骤:
[0083]
步骤501,基于设置在车辆上的相机获取包括车辆所在车道的两条车道线的图像。
[0084]
步骤502,基于图像确定两条车道线在相机处于第一位姿时的图像中的两个斜率。
[0085]
步骤503,基于两条车道线在相机处于第一位姿时的图像中的两个斜率,确定第一位姿的第一增量参数。
[0086]
步骤504,基于第一增量参数,对第一位姿进行调整,得到第二位姿。
[0087]
步骤605,基于处于调整后的第二位姿的相机获取包括车辆所在车道的两条车道线的图像,基于图像确定两条车道线在相机处于调整后第二位姿时的图像的两个斜率。
[0088]
步骤606,判断处于调整后的第二位姿时的两个斜率是否满足预设条件,如果是,执行步骤607,否则,结束位姿调整。
[0089]
可选地,预设条件可以包括但不限于:两个斜率之间的差值不为零,和/或,两个斜率中较小的斜率不为设定阈值。
[0090]
如上述图2所示实施例中提供的,通过视觉感知系统实时观测左右车道线在车身坐标系中的平行度和垂直度,并以此来反馈调节相机的位姿(俯仰角和偏航角),斜率差为零表示平行,斜率中较小值为90度表示垂直,本实施例中的设定阈值可以为90度。
[0091]
步骤607,将相机对应的调整后的第二位姿作为第一位姿,执行步骤501。
[0092]
本实施例通过设定方法实现对相机位姿的迭代调整,可选地,可通过图2所示实施例中通过pid控制方法实现多次设定量调整,实现多次矫正,逐渐逼近,相对于单次大增量调整,本实施例更准确,且不会出现过度调整的问题。
[0093]
在一些可选实施例中,第一增量参数包括:俯仰角的增量参数和/或偏航角的增量参数;增量参数包括增量方向和增量值。
[0094]
本实施例中,通过以左右车道线在图像中的斜率实现对相机位姿中的俯仰角和偏航角进行调整,可选地,可参照图2提供的实施例分别通过增量方向确定子模块203和增量计算子模块205获得俯仰角和/或偏航角的增量方向和增量值,本实施例计算过程非常简单,只需要基于车道线斜率即可确定增量方向和增量值,计算速度快,效率高,实时性好。
[0095]
以下布局从权实施例,各条从权可视具体情况进行组合,但至少包含上位特征的下一级流程图,例如:
[0096]
如图7所示,在上述图5所示实施例的基础上,步骤503可包括如下步骤:
[0097]
步骤5031,基于所两条车道线在相机处于第一位姿时的图像中的两个斜率,确定两个斜率之间的斜率差。
[0098]
步骤5032,根据两个斜率之间的斜率差确定车辆上设置的相机的俯仰角的增量缩放系数和基础增量值。
[0099]
可选地,可通过pid算法获得增量缩放系数。
[0100]
可选地,获得基础增量值的过程可包括:响应于两个斜率之间的斜率差大于零,确定第一设定值作为俯仰角的基础增量值;响应于两个斜率之间的斜率差小于零,确定第二设定值作为俯仰角的基础增量值。
[0101]
其中,第一设定值大于第二设定值。
[0102]
本实施例实现根据当前实时偏差(两个斜率之间的斜率差)的大小,选择合适的基础增量值(step),当偏差error较大时,选用较大的step值(对应第一设定值);当偏差error较小时,选用较小的step值(对应第二设定值)。
[0103]
步骤5033,基于两条车道线在俯仰角的增量缩放系数和基础增量值确定俯仰角的增量参数中的增量值。
[0104]
可选地,本实施例确定增量值的方法可通过图2提供的实施例实现,分别通过不同模块获得增量缩放系数和确定基础增量值,其中基础增量值可预先设置其取值,例如,如图2提供的实施例中提供的设置两个基础增量值(大step和小step);增量值可通过公式delta=scale*step确定,即增量值(delta)等于增量缩放系数scale乘以基础增量值(step),通过增量缩放系数和基础增量值结合的方式确定增量值,实现了增量值的多样可调节性,并且通过增量缩放系数实现对基础增量值的倍数增长,使增量值的取值更具规律性,易于操作。
[0105]
如图8所示,在上述图5所示实施例的基础上,步骤503还可包括如下步骤:
[0106]
步骤5034,基于相机处于当前位姿时的图像中的两个斜率,确定两个斜率中较小斜率与设定阈值之间的关系。
[0107]
步骤5035,基于较小斜率与设定阈值之间的关系,确定车辆上设置的相机的偏航角的增量缩放系数和基础增量值。
[0108]
可选地,可通过pid算法获得增量缩放系数。
[0109]
可选地,获得基础增量值的过程可包括:响应于较小斜率大于设定阈值,确定第三设定值作为偏航角的基础增量值;响应于较小斜率小于设定阈值,确定第四设定值作为偏航角的基础增量值。
[0110]
其中,第三设定值大于第四设定值。
[0111]
本实施例实现根据当前实时偏差(较小斜率)的大小,选择合适的基础增量值(step),当偏差error大于设定阈值(例如,设定阈值为90度)时,选用较大的step值(对应第三设定值);当偏差error小于设定阈值时,选用较小的step值(对应第四设定值)。
[0112]
步骤5036,基于偏航角的增量缩放系数和基础增量值确定偏航角的增量参数中的增量值。
[0113]
本实施例中对偏航角的增量值的确定与图7所示实施例中俯仰角的增量值的确定相类似,区别仅在于确定基础增量值的过程不同,具体为实时偏差的确定不同,确定基础增量值大小的条件不同,本实施例对于偏航角,同样通过增量缩放系数和基础增量值结合的方式确定增量值,实现了增量值的多样可调节性,并且通过增量缩放系数实现对基础增量值的倍数增长,使增量值的取值更具规律性,易于操作。
[0114]
在一些可选的实施例中,在上述图7所示实施例的基础上,在步骤5033之前,还可以包括:
[0115]
响应于俯仰角的增量缩放系数大于第一设定最大值,以设定最大值作为俯仰角的增量缩放系数;响应于俯仰角的增量缩放系数小于第一设定最小值,以设定最小值作为俯仰角的增量缩放系数。
[0116]
本实施例通过第一设定最大值和第一设定最小值将俯仰角的增量缩放系数的最大取值和最小取值进行限定,进而防止了增量值过大或过小,防止后续控制由于一次对俯仰角的调整过大或过小而出现异常。
[0117]
在一些可选的实施例中,在上述图8所示实施例的基础上,在步骤5036之前,还可以包括:
[0118]
响应于偏航角的增量缩放系数大于第二设定最大值,以设定最大值作为偏航角的增量缩放系数;响应于偏航角的增量缩放系数小于第二设定最小值,以设定最小值作为偏航角的增量缩放系数。
[0119]
本实施例通过第二设定最大值和第二设定最小值将偏航角的增量缩放系数的最大取值和最小取值进行限定,进而防止了增量值过大或过小,防止后续控制由于一次对偏航角的调整过大或过小而出现异常。
[0120]
在一些可选的实施例中,步骤503确定增量方向的过程可包括:
[0121]
基于相机处于第一位姿时的图像中的两个斜率,确定两个斜率之间的斜率差,基于斜率差确定俯仰角的增量参数中的增量方向;和/或,
[0122]
基于两个斜率中较小斜率与预设阈值之间的关系,确定偏航角的增量参数中的增量方向。
[0123]
本实施例中,通过斜率之间的斜率差的正负来判断俯仰角的增量方向,可参照图3a所示,例如,当左右车道线的斜率差为正值时,pitch需要减小;而当其为负值时,pitch需要增加;通过两个斜率中较小斜率的大小来判断偏航角的增量方向,可参照图3b所示,例
如,当左右车道线的斜率同时大于某一阈值时,yaw需要减小;而当其同时小于某一阈值时,yaw需要增加。通过确定的增量值按照本实施例确定的增量方向对相机俯仰角和/或偏航角进行调整,可实现定向调整,避免因调整方向错误而导致的二次误差,加快了俯仰角和/或偏航角矫正的速度。
[0124]
在一些可选的实施例中,在步骤501之前,还包括:
[0125]
确定车辆是否处于直行状态。
[0126]
可选地,可通过图4所示的判断逻辑图实现确定车辆是否处于直行状态。
[0127]
在该实施例中步骤501包括:响应于车辆处于直行状态,基于设置在车辆上的相机获取包括车辆所在车道的两条车道线的图像。
[0128]
本实施例提供的方法在直行时观测效果最佳,并且实际测试下来,直行下标定结果(斜率)也比非直行会更加稳定,因此,本实施例限制车辆在直行情况下进行相机位姿的调整,具体实现可通过对车辆当前运行工况进行判断,避免系统在弯道等场景下进行标定。例如,当车辆速度足够快(大于或等于速度阈值),且方向盘基本稳定(yaw rate小于yaw rate阈值)时,认为车辆行驶在直线道路上,否则将认为车辆没有行驶在直线道路上,场景不适合进行标定。
[0129]
本公开实施例提供的任一种基于车道线的相机位姿调整方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种基于车道线的相机位姿调整方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种基于车道线的相机位姿调整方法。下文不再赘述。
[0130]
示例性装置
[0131]
图9是本公开一示例性实施例提供的基于车道线的相机位姿调整装置的结构示意图。本实施例提供的装置包括:
[0132]
图像采集模块91,用于基于设置在车辆上的相机获取包括车辆所在车道的两条车道线的图像。
[0133]
斜率确定模块92,用于基于图像采集模块91获取的图像确定两条车道线在相机处于第一位姿时的图像中的两个斜率。
[0134]
增量参数确定模块93,用于基于斜率确定模块92确定的两条车道线在相机处于第一位姿时的图像中的两个斜率确定第一位姿的第一增量参数。
[0135]
位姿调整模块94,用于基于增量参数确定模块93确定的第一增量参数对第一位姿进行调整,确定调整后的第二位姿。
[0136]
本公开上述实施例提供的一种基于车道线的相机位姿调整装置,基于设置在车辆上的相机获取包括所述车辆所在车道的两条车道线的图像,基于所述图像确定所述两条车道线在所述相机处于第一位姿时的图像中的两个斜率;基于所述两条车道线在所述相机处于第一位姿时的图像中的两个斜率,确定所述第一位姿的第一增量参数;基于所述第一增量参数对所述第一位姿进行调整,确定调整后的第二位姿;本实施例通过对车道线进行结构化感知,提取斜率信息,可以方便地在直道场景下进行相机位姿的动态实时标定,计算过程简单,只需要获得增量参数,因此相比于依赖复杂几何投影模型的其它标定方法而言,本实施例提供的方法的计算速度更快,效率更高,实时性更好。
[0137]
图10是本公开另一示例性实施例提供的基于车道线的相机位姿调整装置的结构示意图。本实施例提供的装置还包括:
[0138]
迭代调整模块95,用于基于处于调整后的第二位姿的相机获取包括车辆所在车道的两条车道线的图像,基于图像确定两条车道线在相机处于调整后第二位姿时的图像的两个斜率;当处于调整后的第二位姿时的两个斜率满足预设条件时;基于相机处于调整后的第二位姿时的两个斜率,确定第二位姿中的的第二增量参数;基于第二增量参数对第二位姿进行调整,使相机处于调整后的第三位姿。
[0139]
其中,预设条件可以包括但不限于:两个斜率之间的差值不为零,和/或,两个斜率中较小的斜率不为设定阈值。
[0140]
可选地,第一增量参数包括:俯仰角的增量参数和/或偏航角的增量参数;增量参数包括增量方向和增量值。
[0141]
增量参数确定模块93,包括:
[0142]
第一增量值确定单元931,用于基于两条车道线在相机处于第一位姿时的图像中的两个斜率,确定两个斜率之间的斜率差;根据两个斜率之间的斜率差确定车辆上设置的相机的俯仰角的增量缩放系数和基础增量值;基于两条车道线在俯仰角的增量缩放系数和基础增量值确定俯仰角的增量参数中的增量值。
[0143]
第一增量方向确定单元932,用于基于相机处于第一位姿时的图像中的两个斜率,确定两个斜率之间的斜率差,基于斜率差确定俯仰角的增量参数中的增量方向。
[0144]
和/或,
[0145]
第二增量值确定单元933,基于相机处于当前位姿时的图像中的两个斜率,确定两个斜率中较小斜率与设定阈值之间的关系;基于较小斜率与设定阈值之间的关系,确定车辆上设置的相机的偏航角的增量缩放系数和基础增量值;基于偏航角的增量缩放系数和基础增量值确定偏航角的增量参数中的增量值。
[0146]
第二增量方向确定单元934,用于基于两个斜率中较小斜率与预设阈值之间的关系,确定偏航角的增量参数中的增量方向。
[0147]
可选地,第一增量值确定单元931在根据两个斜率之间的斜率差确定车辆上设置的相机的俯仰角的基础增量值时,用于响应于两个斜率之间的斜率差大于零,确定第一设定值作为俯仰角的基础增量值;响应于两个斜率之间的斜率差小于零,确定第二设定值作为俯仰角的基础增量值。
[0148]
其中,第一设定值大于第二设定值。
[0149]
可选地,第二增量值确定单元933在基于较小斜率与设定阈值之间的关系,确定车辆上设置的相机的偏航角的基础增量值时,用于响应于较小斜率大于设定阈值,确定第三设定值作为偏航角的基础增量值;响应于较小斜率小于设定阈值,确定第四设定值作为偏航角的基础增量值。
[0150]
其中,第三设定值大于第四设定值。
[0151]
第一增量值确定单元931,还用于响应于俯仰角的增量缩放系数大于第一设定最大值,以设定最大值作为俯仰角的增量缩放系数;响应于俯仰角的增量缩放系数小于第一设定最小值,以设定最小值作为俯仰角的增量缩放系数。
[0152]
第二增量值确定单元933,还用于响应于偏航角的增量缩放系数大于第二设定最
大值,以设定最大值作为偏航角的增量缩放系数;响应于偏航角的增量缩放系数小于第二设定最小值,以设定最小值作为偏航角的增量缩放系数。
[0153]
本实施例提供的装置还包括:
[0154]
直线确定模块96,用于确定车辆是否处于直行状态。
[0155]
斜率确定模块91,具体用于响应于车辆处于直行状态,基于设置在车辆上的相机获取包括车辆所在车道的两条车道线的图像。
[0156]
示例性电子设备
[0157]
下面,参考图11来描述根据本公开实施例的电子设备。该电子设备可以是第一设备100和第二设备200中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
[0158]
图11图示了根据本公开实施例的电子设备的框图。
[0159]
如图11所示,电子设备110包括一个或多个处理器111和存储器112。
[0160]
处理器111可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备110中的其他组件以执行期望的功能。
[0161]
存储器112可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器111可以运行所述程序指令,以实现上文所述的本公开的各个实施例的车道线的相机位姿调整方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
[0162]
在一个示例中,电子设备110还可以包括:输入装置113和输出装置114,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
[0163]
例如,在该电子设备是第一设备100或第二设备200时,该输入装置113可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置113可以是通信网络连接器,用于从第一设备100和第二设备200接收所采集的输入信号。
[0164]
此外,该输入设备113还可以包括例如键盘、鼠标等等。
[0165]
该输出装置114可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备114可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
[0166]
当然,为了简化,图11中仅示出了该电子设备110中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备110还可以包括任何其他适当的组件。
[0167]
示例性计算机程序产品和计算机可读存储介质
[0168]
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的车道线的相机位姿调整方法中的步骤。
[0169]
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执
行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0170]
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的车道线的相机位姿调整方法中的步骤。
[0171]
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0172]
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
[0173]
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0174]
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
[0175]
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
[0176]
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
[0177]
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在
此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
[0178]
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1