一种相机姿态角预测模型训练方法、装置、设备及介质与流程

文档序号:32342544发布日期:2022-11-26 10:15阅读:38来源:国知局
一种相机姿态角预测模型训练方法、装置、设备及介质与流程

1.本技术涉及人工智能技术领域,特别是涉及一种相机姿态角预测模型训练方法、装置、设备及介质。


背景技术:

2.随着人工智能技术的发展,使得自动驾驶功能的实现成为可能,而车道线的实时感知作为自动驾驶感知系统的重要组成部分也越来越受到关注。由于车辆在运行过程中时有颠簸,相机相对于车辆的姿态实时动态变化,因此,为了得到较为准确车道线信息,需要实时预测相机相对于车辆的姿态角。
3.目前,通常选择利用深度学习网络构建相机姿态角预测模型,从而实时预测相机相对于车辆的姿态角。深度学习网络一般需要通过真值与预测值的差异作为损失函数完成梯度反向传播的过程,然而,由于当前技术的局限性,直接用相机离线标定的参数作为相机姿态角真值难以确保得到的相机姿态角真值的实时性和准确性,基于通过这种方式得到的相机姿态角真值对相机姿态角预测模型进行训练,将导致难以通过训练后的相机姿态角预测模型得到较为准确的相机姿态角预测值。
4.由此,如何以较为简单的方式对相机姿态角预测模型进行训练,成为当前亟待解决的问题。


技术实现要素:

5.基于上述问题,本技术提供了一种相机姿态角预测模型训练方法、装置、设备及介质,能够以较为简单的方式对相机姿态角预测模型进行训练。
6.本技术实施例公开了如下技术方案:
7.第一方面,本技术提供了一种相机姿态角预测模型训练方法,所述方法包括:
8.获取相机内参、相机高度、相机捕捉图像以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值;
9.根据预设的相机姿态角预测模型,确定所述相机捕捉图像对应的相机姿态角预测值;
10.基于所述相机姿态角预测值、所述相机内参、所述相机高度以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值,得到网络损失;
11.基于所述网络损失,训练所述预设的相机姿态角预测模型。
12.可选地,所述基于所述相机姿态角预测值、所述相机内参、所述相机高度以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值,得到网络损失,包括:
13.基于所述相机姿态角预测值、所述相机内参以及所述相机高度,得到预先标注的所述相机捕捉图像中识别目标的多个标注坐标值对应的多个鸟瞰图坐标值;
14.基于预设的损失计算规则以及多个所述鸟瞰图坐标值,得到网络损失。
15.可选地,所述基于所述相机姿态角预测值、所述相机内参以及所述相机高度,得到
预先标注的所述相机捕捉图像中识别目标的多个标注坐标值对应的多个鸟瞰图坐标值,包括:
16.基于所述相机姿态角预测值、所述相机内参以及所述相机高度,构建相机坐标系到鸟瞰图坐标系的坐标变换矩阵;
17.基于所述相机坐标系到鸟瞰图坐标系的坐标变换矩阵,将预先标注的所述相机捕捉图像中识别目标的多个标注坐标值转换至鸟瞰图坐标系中,得到多个鸟瞰图坐标值。
18.可选地,所述识别目标,包括:车道线;
19.所述基于预设的损失计算规则以及多个所述鸟瞰图坐标值,得到网络损失,包括:
20.基于多个所述鸟瞰图坐标值,计算预设范围内两根相邻车道线的斜率的差值绝对值;
21.基于所述两根相邻车道线的斜率的差值绝对值,得到网络损失。
22.可选地,所述基于所述网络损失,训练所述预设的相机姿态角预测模型,包括:
23.基于所述网络损失,更新所述预设的相机姿态角预测模型的参数。
24.第二方面,本技术提供了一种相机姿态角预测模型训练装置,所述装置包括:数据获取模块,相机姿态角预测模块,损失计算模块以及模型训练模块;
25.所述数据获取模块,用于获取相机内参、相机高度、相机捕捉图像以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值;
26.所述相机姿态角预测模块,用于根据预设的相机姿态角预测模型,确定所述相机捕捉图像对应的相机姿态角预测值;
27.所述损失计算模块,用于基于所述相机姿态角预测值、所述相机内参、所述相机高度以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值,得到网络损失;
28.所述模型训练模块,用于基于所述网络损失,训练所述预设的相机姿态角预测模型。
29.可选地,所述损失计算模块,包括:坐标转换单元以及损失计算单元;
30.所述坐标转换单元,用于基于所述相机姿态角预测值、所述相机内参以及所述相机高度,得到预先标注的所述相机捕捉图像中识别目标的多个标注坐标值对应的多个鸟瞰图坐标值;
31.所述损失计算单元,用于基于预设的损失计算规则以及多个所述鸟瞰图坐标值,得到网络损失。
32.可选地,所述坐标转换单元,具体用于:
33.基于所述相机姿态角预测值、所述相机内参以及所述相机高度,构建相机坐标系到鸟瞰图坐标系的坐标变换矩阵;
34.基于所述相机坐标系到鸟瞰图坐标系的坐标变换矩阵,将预先标注的所述相机捕捉图像中识别目标的多个标注坐标值转换至鸟瞰图坐标系中,得到多个鸟瞰图坐标值。
35.第三方面,本技术提供了一种相机姿态角预测模型训练设备,所述设备包括:存储器和处理器;
36.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
37.所述处理器用于根据所述程序代码中的指令执行第一方面中任一项所述的相机姿态角预测模型训练方法的步骤。
38.第四方面,本技术提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在相机姿态角预测模型训练设备上运行时,所述相机姿态角预测模型训练设备执行第一方面中任一项所述的相机姿态角预测模型训练方法的步骤。
39.相较于现有技术,本技术具有以下有益效果:
40.本技术提供了一种相机姿态角预测模型训练方法,该方法中,首先,获取相机内参、相机高度、相机捕捉图像以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值;然后,根据预设的相机姿态角预测模型、所述相机内参以及所述相机高度,确定所述相机捕捉图像对应的相机姿态角预测值;接着,基于所述相机姿态角预测值以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值,得到网络损失;最后,基于所述网络损失,训练所述预设的相机姿态角预测模型。由此,不需获取相机姿态角真值即可得到网络损失,从而在训练过程中完成参数梯度的反向传播,实现相机姿态角预测模型的无真值训练,能够以较为简单的方式对相机姿态角预测模型进行训练。
附图说明
41.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1为本技术实施例提供的一种相机姿态角预测模型训练方法流程图;
43.图2a为本技术实施例提供的相机捕捉图像示意图;
44.图2b为本技术实施例提供的相机捕捉图像鸟瞰图示意图;
45.图3为本技术实施例提供的一种车道线斜率计算示意图;
46.图4为本技术实施例提供的一种相机姿态角预测模型训练装置示意图;
47.图5为本技术实施例提供的一种相机姿态角预测模型训练设备结构图。
具体实施方式
48.正如前文描述,目前通常选择利用深度学习网络构建相机姿态角预测模型,从而实时预测相机相对于车辆的姿态角。深度学习网络一般需要通过真值与预测值的差异作为损失函数完成梯度反向传播的过程,然而,由于当前技术的局限性,直接用相机离线标定的参数作为相机姿态角真值难以确保得到的相机姿态角真值的实时性和准确性,基于通过这种方式得到的相机姿态角真值对相机姿态角预测模型进行训练,将导致难以通过训练后的相机姿态角预测模型得到较为准确的相机姿态角预测值。
49.有鉴于此,本技术提供了一种相机姿态角预测模型训练方法,该方法中,首先,获取相机内参、相机高度、相机捕捉图像以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值;然后,根据预设的相机姿态角预测模型、所述相机内参以及所述相机高度,确定所述相机捕捉图像对应的相机姿态角预测值;接着,基于所述相机姿态角预测值以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值,得到网络损失;最后,基于所述网络损失,训练所述预设的相机姿态角预测模型。由此,不需获取相机姿态角真值即可得
到网络损失,从而在训练过程中完成参数梯度的反向传播,实现相机姿态角预测模型的无真值训练,能够以较为简单的方式对相机姿态角预测模型进行训练。
50.本技术提供的一种相机姿态角预测模型训练方法、装置、设备及介质可用于人工智能领域,上述仅为示例,并不对本发明提供的一种相机姿态角预测模型训练方法、装置、设备及介质的应用领域进行限定。
51.本技术说明书和权利要求书及附图说明中的术语“第一”、“第二”“第三”、和“第四”等是用于区别不同对象,而不是用于限定特定顺序。
52.在本技术实施例中,“作为示例”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“作为示例”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“作为示例”或者“例如”等词旨在以具体方式呈现相关概念。
53.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
54.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
55.参见图1,该图为本技术实施例提供的一种相机姿态角预测模型训练方法流程图,该方法包括:
56.s101:获取相机内参、相机高度、相机捕捉图像以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值。
57.示例性地,相机内参可以描述相机内部特性,例如可以描述相机图像中心、相机焦距以及因相机自身成像特性导致的图像畸变等;相机捕捉图像中识别目标的多个标注坐标值可以在相机捕捉图像中预先标注,可以理解的是,相机捕捉图像中识别目标可以认为是由多个点的集合组成。
58.可选地,可以先对相机内参、相机高度以及相机捕捉图像进行预处理,预处理可以包括但不限于图像去畸变、重设大小以及归一化等操作,而后向预设的相机姿态角预测模型中输入经过预处理的相机内参、相机高度以及相机捕捉图像,执行如s102所述的步骤。
59.s102:根据预设的相机姿态角预测模型,确定相机捕捉图像对应的相机姿态角预测值。
60.作为示例,相机姿态角主要包括三个值,即(roll,pitch,yaw),其中,roll表示旋转角,pitch表示偏航角,yaw标识俯仰角。以相机是车辆上例如行车记录仪的车载相机为例,roll以及pitch在车辆运行过程中的变化很小,而pitch由于车辆行驶过程中的颠簸会导致波动较大。
61.示例性地,相机姿态角预测模型可以是构建的深度学习网络,网络可以采用卷积神经网络的形式,可以预先定义好每一层网络的参数并进行初始化,作为预设的相机姿态角预测模型。可以向相机姿态角预测模型中输入相机内参、相机高度以及相机捕捉图像,通过网络的前向推导计算得到相机捕捉图像对应的相机姿态角预测值。
62.s103:基于相机姿态角预测值、相机内参、相机高度以及预先标注的相机捕捉图像
中识别目标的多个标注坐标值,得到网络损失。
63.示例性地,相机捕捉图像中的标注坐标值为在图像坐标系中的坐标值。
64.在本技术提供的一些实施例中,可以先基于相机姿态角预测值、相机内参以及相机高度,得到预先标注的相机捕捉图像中识别目标的多个标注坐标值对应的多个鸟瞰图坐标值,再基于预设的损失计算规则以及多个鸟瞰图坐标值,得到网络损失。
65.例如,可以先基于相机姿态角预测值、相机内参以及相机高度,构建相机坐标系到鸟瞰图坐标系的坐标变换矩阵,地面坐标系到相机坐标系的坐标变换矩阵可以包括旋转矩阵和平移矩阵,其中,旋转矩阵r
gc
可以基于相机姿态角预测值确定:
[0066][0067]
其中,θ=roll,β=yaw,α=pitch。
[0068]
平移矩阵t
gc
可以基于上述旋转矩阵及相机高度h得到:
[0069][0070]
综上所述,地面坐标系中的任意坐标(xg,yg,zg)可以通过下式转换为相机坐标系中的坐标(xc,yc,zc),地面坐标系中zg=0:
[0071][0072]
由于地面坐标系中zg=0,故上式中r
gc
的第三列没有意义,用t
gc
替代r
gc
的第三列可以得到地面坐标系到相机坐标系的投影矩阵h
gc
,可以将上式变换为:
[0073][0074]
相机内参kc乘以h
gc
即可得到地面坐标系到图像坐标系的投影矩阵h
g_im
,对h
g_im
求逆即可得到图像坐标系到地面坐标系的投影矩阵h
im_g
,最后再乘以地面坐标系到鸟瞰图坐标系的投影矩阵kg即可得到相机捕捉图像到鸟瞰图的投影矩阵h
im_bev
,该过程可通过如下数学式表示:
[0075][0076][0077]
由此,可以利用计算得到的h
im_bev
将预先标注的相机捕捉图像中的点的标注坐标值(x
im
,y
im
,z
im
)转换为对应的鸟瞰图坐标值(xb,yb,zb),相机坐标系到鸟瞰图坐标系的坐标变换矩阵如下所示:
[0078][0079]
综上所述,可以基于上述相机坐标系到鸟瞰图坐标系的坐标变换矩阵,将预先标注的相机捕捉图像中识别目标的多个标注坐标值转换至鸟瞰图坐标系中,得到多个鸟瞰图坐标值。
[0080]
可选地,以相机是车辆上例如行车记录仪的车载相机、识别目标是车道线为例,可以将相机捕捉图像中识别目标的多个标注坐标值转换为多个鸟瞰图坐标值,转换效果如图2a和图2b所示,其中,图2a为本技术实施例提供的相机捕捉图像示意图,图2b为本技术实施例提供的相机捕捉图像鸟瞰图示意图,图2b为图2a所示的相机捕捉图像经上述计算过程进行坐标转换后得到的鸟瞰图示意图。
[0081]
得到多个鸟瞰图坐标值之后,可以基于预设的损失计算规则以及多个鸟瞰图坐标值,得到网络损失。
[0082]
在本技术提供的一些实施例中,预设的损失计算规则可以是基于多个鸟瞰图坐标值,计算鸟瞰图中预设范围内两根相邻车道线的斜率的差值绝对值,例如,可以对距相机图像捕捉点15米范围内的组成两根相邻车道线的点在鸟瞰图坐标系中的坐标值进行直线拟合,分别得到两根车道线的斜率k1和k2,如图3所示,该图为本技术实施例提供的一种车道线斜率计算示意图,图中,x、y表示鸟瞰图坐标系中的坐标,c1、c2分别为两根车道线y=0的点对应的x值。由此,两根车道线的斜率的差值绝对值为|k1-k2|,也即网络损失loss=|k1-k2|。
[0083]
在本技术提供的另一些实施例中,预设的损失计算规则也可以是计算鸟瞰图中预设范围内全部车道线的斜率的方差、均差或均方差中的至少一个,作为网络损失。
[0084]
可选地,在本技术提供的另一些实施例中,识别目标还可以包括但不限于公路两侧的排水沟或绿化带的边界等。
[0085]
s104:基于网络损失,训练预设的相机姿态角预测模型。
[0086]
示例性地,可以将网络损失反向传播,计算网络各个参数梯度,并按照梯度更新预设的相机姿态角预测模型中的参数,从而实现对相机姿态角预测模型的训练。
[0087]
可选地,在更新相机姿态角预测模型的参数后,可以判断实际参数更新次数与预设更新次数的关系,若实际更新次数达到预设更新次数,则输出更新参数后的相机姿态角预测模型,完成对相机姿态角预测模型的训练;若实际更新次数小于预设更新次数,则将最后一次更新参数后的相机姿态角预测模型作为新的预设的相机姿态角预测模型,重复上述s101-s104的步骤,直至实际更新次数等于预设更新次数,输出更新参数后的相机姿态角预测模型。
[0088]
综上所述,本技术实施例提供了一种相机姿态角预测模型训练方法,该方法中,首先,获取相机内参、相机高度、相机捕捉图像以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值;然后,根据预设的相机姿态角预测模型、所述相机内参以及所述相机高度,确定所述相机捕捉图像对应的相机姿态角预测值;接着,基于所述相机姿态角预测值以及预先标注的所述相机捕捉图像中识别目标的多个标注坐标值,得到网络损失;最后,基于所述网络损失,训练所述预设的相机姿态角预测模型。由此,不需获取相机姿态角真值即可
得到网络损失,从而在训练过程中完成参数梯度的反向传播,实现相机姿态角预测模型的无真值训练,能够以较为简单的方式对相机姿态角预测模型进行训练。
[0089]
参见图4,该图为本技术实施例提供的一种相机姿态角预测模型训练装置示意图,该装置包括:数据获取模块401,相机姿态角预测模块402,损失计算模块403以及模型训练模块404。
[0090]
数据获取模块401:用于获取相机内参、相机高度、相机捕捉图像以及预先标注的相机捕捉图像中识别目标的多个标注坐标值;
[0091]
相机姿态角预测模块402:用于根据预设的相机姿态角预测模型,确定相机捕捉图像对应的相机姿态角预测值。
[0092]
损失计算模块403:用于基于相机姿态角预测值、相机内参、相机高度以及预先标注的相机捕捉图像中识别目标的多个标注坐标值,得到网络损失。
[0093]
可选地,损失计算模块可以包括坐标转换单元以及损失计算单元,其中,坐标转换单元,用于基于相机姿态角预测值、相机内参以及相机高度,得到预先标注的相机捕捉图像中识别目标的多个标注坐标值对应的多个鸟瞰图坐标值;损失计算单元,用于基于预设的损失计算规则以及多个鸟瞰图坐标值,得到网络损失。
[0094]
可选地,坐标转换单元具体用于:基于相机姿态角预测值、相机内参以及相机高度,构建相机坐标系到鸟瞰图坐标系的坐标变换矩阵;基于相机坐标系到鸟瞰图坐标系的坐标变换矩阵,将预先标注的相机捕捉图像中识别目标的多个标注坐标值转换至鸟瞰图坐标系中,得到多个鸟瞰图坐标值。
[0095]
模型训练模块404:用于基于网络损失,训练预设的相机姿态角预测模型。
[0096]
示例性地,可以将网络损失反向传播,计算网络各个参数梯度,并按照梯度更新预设的相机姿态角预测模型中的参数,从而实现对相机姿态角预测模型的训练。
[0097]
可选地,在更新相机姿态角预测模型的参数后,模型训练模块404还可以判断实际参数更新次数与预设更新次数的关系,若实际更新次数达到预设更新次数,则输出更新参数后的相机姿态角预测模型,完成对相机姿态角预测模型的训练;若实际更新次数小于预设更新次数,则将最后一次更新参数后的相机姿态角预测模型作为新的预设的相机姿态角预测模型,经数据获取模块401、相机姿态角预测模块402、损失计算模块403以及模型训练模块404再次更新相机姿态角预测模型的参数,直至实际更新次数等于预设更新次数,模型训练模块404输出更新参数后的相机姿态角预测模型。
[0098]
综上,本技术实施例提供了一种相机姿态角预测模型训练装置,该装置中,首先,数据获取模块401获取相机内参、相机高度、相机捕捉图像以及预先标注的相机捕捉图像中识别目标的多个标注坐标值;然后,相机姿态角预测模块402根据预设的相机姿态角预测模型、相机内参以及相机高度,确定相机捕捉图像对应的相机姿态角预测值;接着,损失计算模块403基于相机姿态角预测值以及预先标注的相机捕捉图像中识别目标的多个标注坐标值,得到网络损失;最后,模型训练模块404基于网络损失,训练预设的相机姿态角预测模型。由此,不需获取相机姿态角真值即可得到网络损失,从而在训练过程中完成参数梯度的反向传播,实现相机姿态角预测模型的无真值训练,能够以较为简单的方式对相机姿态角预测模型进行训练。
[0099]
参见图5,该图为本技术实施例提供的一种相机姿态角预测模型训练设备结构图,
该设备包括:存储器501以及处理器502。
[0100]
存储器501:用于存储程序代码,并将程序代码传输给所述处理器。
[0101]
处理器502:用于根据程序代码中的指令执行上述相机姿态角预测模型训练方法的步骤。
[0102]
本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本技术实施例所述的相机姿态角预测模型训练方法。
[0103]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及存储介质实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0104]
以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1