数据同步标定方法、装置、可读存储介质及电子设备与流程

文档序号:20785684发布日期:2020-05-19 21:40阅读:147来源:国知局
数据同步标定方法、装置、可读存储介质及电子设备与流程

本公开涉及计算机技术领域,尤其是一种数据同步标定方法、装置、计算机可读存储介质及电子设备。



背景技术:

在多传感器的感知平台,数据级或者任务级(比如检测和跟踪)的融合是关键的技术,这样才能突出多传感器配置的优势。不过,融合的前提必须是时间的同步和空间的坐标统一,前者需要考虑传感器获取数据的时刻必须同步(synchronization),后者要求事先确定两个不同传感器坐标系的转换关系,即标定(calibration)。

传统的同步方法大多是根据硬件时钟控制数据采集触发(trigger)时间,并计算数据传输过程中的延迟补偿。而经典的传感器标定方法,需要通过事先在精确测量的控制场拍摄数据,然后根据不同传感器之间的数据匹配计算其坐标转换关系。



技术实现要素:

本公开的实施例提供了一种数据同步标定方法、装置、计算机可读存储介质及电子设备。

本公开的实施例提供了一种数据同步标定方法,该方法包括:获取车辆上的点云采集装置采集的点云帧和图像采集装置采集的图像帧;将点云帧投影到图像帧的图像平面,得到深度图;基于图像帧,生成针对点云帧的采集时间的内插光流图;基于内插光流图和深度图,生成图像帧的采集时刻的预测深度图;将深度图、图像帧、预测深度图和内插光流图输入预先训练的深度图内插网络,得到与图像帧的采集时刻同步的内插深度图;将内插深度图和图像帧输入预先训练的点云预测模型,输出与图像帧的采集时刻同步的预测点云帧,并输出用于统一点云帧和图像帧的坐标的空间标定参数。

在一些实施例中,在获取车辆上的点云采集装置采集的点云帧和图像采集装置采集的图像帧之前,方法还包括:响应于确定车辆处于静止环境,获取点云采集装置采集的静态点云帧和图像采集装置采集的静态图像帧;将静态点云帧投影到静态图像帧的图像平面,得到静态深度图;将静态深度图和静态图像帧输入点云预测模型,输出静态空间标定参数和静态预测点云帧。

在一些实施例中,将点云帧投影到图像帧的图像平面,得到深度图,包括:响应于确定当前进行数据同步的次数为第一次,基于静态空间标定参数,将点云帧投影到图像帧的图像平面,得到深度图。

在一些实施例中,将点云帧投影到图像帧的图像平面,得到深度图,还包括:响应于确定当前进行数据同步的次数不是第一次,基于点云预测模型最近一次输出的空间标定参数,将点云帧投影到图像帧的图像平面,得到深度图。

在一些实施例中,点云预测模型包括编码器、姿态网络和深度图逆投影模块;以及将内插深度图和图像帧输入预先训练的点云预测模型,输出与图像帧的采集时刻同步的预测点云帧,并输出用于统一点云帧和图像帧的坐标的空间标定参数,包括:将内插深度图和图像帧输入编码器,得到深度图特征和图像帧特征;将深度图特征和图像特征合并,得到合并后特征;将合并后特征输入姿态网络,得到空间标定参数;基于空间标定参数,通过深度图逆投影模块对内插深度图进行逆投影,得到预测点云帧。

在一些实施例中,基于内插光流图和深度图,生成图像帧的采集时刻的预测深度图,包括:基于内插光流图和深度图,通过运动变形生成内插光流图的插入时刻的预测深度图。

在一些实施例中,深度图内插网络包括粗深度图内插网络和细化深度图内插网络;以及将深度图、图像帧、预测深度图和内插光流图输入预先训练的深度图内插网络,得到与图像帧的采集时刻同步的内插深度图,包括:将深度图、预测深度图和内插光流图输入粗深度图内插网络,得到与图像帧的采集时刻同步的低分辨率的内插深度图;将低分辨率的内插深度图和与粗内插深度图的插入时刻对应的图像帧输入细化深度图内插网络,得到高分辨率的内插深度图。

根据本公开实施例的另一个方面,提供了一种数据同步标定装置,该装置包括:第一获取模块,用于获取车辆上的点云采集装置采集的点云帧和图像采集装置采集的图像帧;第一投影模块,用于将点云帧投影到图像帧的图像平面,得到深度图;第一生成模块,用于基于图像帧,生成针对点云帧的采集时间的内插光流图;第二生成模块,用于基于内插光流图和深度图,生成图像帧的采集时刻的预测深度图;内插模块,用于将深度图、图像帧、预测深度图和内插光流图输入预先训练的深度图内插网络,得到与图像帧的采集时刻同步的内插深度图;第一预测模块,用于将内插深度图和图像帧输入预先训练的点云预测模型,输出与图像帧的采集时刻同步的预测点云帧,并输出用于统一点云帧和图像帧的坐标的空间标定参数。

在一些实施例中,该装置还包括:第二获取模块,用于响应于确定所述车辆处于静止环境,获取所述点云采集装置采集的静态点云帧和所述图像采集装置采集的静态图像帧;第二投影模块,用于将所述静态点云帧投影到所述静态图像帧的图像平面,得到静态深度图;第二预测模块,用于将所述静态深度图和所述静态图像帧输入所述点云预测模型,输出静态空间标定参数和静态预测点云帧。

在一些实施例中,所述第一投影模块进一步用于:响应于确定当前进行数据同步的次数为第一次,基于所述静态空间标定参数,将所述点云帧投影到所述图像帧的图像平面,得到深度图。

在一些实施例中,所述第一投影模块进一步用于:响应于确定当前进行数据同步的次数不是第一次,基于点云预测模型最近一次输出的空间标定参数,将点云帧投影到图像帧的图像平面,得到深度图。

在一些实施例中,所述点云预测模型包括编码器、姿态网络和深度图逆投影模块;以及所述第一预测模块,包括:第一输入单元,用于将所述内插深度图和所述图像帧输入所述编码器,得到深度图特征和图像帧特征;合并单元,用于将所述深度图特征和所述图像特征合并,得到合并后特征;第二输入单元,用于将所述合并后特征输入所述姿态网络,得到空间标定参数;逆投影单元,用于基于所述空间标定参数,通过所述深度图逆投影模块对所述内插深度图进行逆投影,得到预测点云帧。

在一些实施例中,所述第二生成模块进一步用于:基于所述内插光流图和所述深度图,通过运动变形生成所述内插光流图的插入时刻的预测深度图。

在一些实施例中,所述深度图内插网络包括粗深度图内插网络和细化深度图内插网络;以及所述内插模块,包括:第一内插单元,用于将所述深度图、所述预测深度图和所述内插光流图输入所述粗深度图内插网络,得到与所述图像帧的采集时刻同步的低分辨率的内插深度图;第二内插单元,用于将所述低分辨率的内插深度图和与所述粗内插深度图的插入时刻对应的图像帧输入所述细化深度图内插网络,得到高分辨率的内插深度图。

根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于执行上述数据同步标定方法。

根据本公开实施例的另一个方面,提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述数据同步标定方法。

基于本公开上述实施例提供的数据同步标定方法、装置、计算机可读存储介质及电子设备,通过将点云帧投影到图像帧的图像平面,得到深度图,再基于图像帧,生成针对点云帧的采集时间的内插光流图,然后基于内插光流图和深度图,生成内插光流图的插入时刻的预测深度图,再然后使用深度图内插网络得到内插深度图,以及使用点云预测模型,输出预测点云帧和空间标定参数,从而实现了利用深度学习方法对车辆上的点云采集装置和图像采集装置实时地进行时间同步和空间标定,在硬件无法保证时间同步的情况下才有深度学习模型实现软件同步,从而提高了多传感器同步标定的灵活性和准确性。

下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是本公开所适用的系统图。

图2是本公开一示例性实施例提供的数据同步标定方法的流程示意图。

图3是本公开的实施例的数据同步标定方法的点云帧和图像帧的采集时刻的示例性示意图。

图4是本公开的实施例提供的数据同步标定方法的光流估计网络的示例性示意图。

图5是本公开的实施例提供的数据同步标定方法的深度图内插网络的示例性示意图。

图6是本公开的实施例提供的数据同步标定方法的点云预测模型的结构示意图。

图7是本公开又一示例性实施例提供的数据同步标定方法的流程示意图。

图8是本公开一示例性实施例提供的数据同步标定装置的结构示意图。

图9是本公开另一示例性实施例提供的数据同步标定装置的结构示意图。

图10是本公开一示例性实施例提供的电子设备的结构图。

具体实施方式

下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。

还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。

另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。

还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

申请概述

现有技术中,包括使用深度学习网络的方法,可以实现传感器空域标定,但是需要假设传感器的时间同步或者景物环境静止不动;还包括通过点云和图像计算场景流,然后以此运动参数补偿点云,实现激光雷达和摄像头的时间同步,但这种方法对自然环境下拍摄的传感器数据不适用,一是复杂的动态环境很难分割静态背景,二是场景流动态环境不会是简单的点目标,而是形状和动作复杂的遮挡目标。

示例性系统

图1示出了可以应用本公开的实施例的数据同步标定方法或数据同步标定装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101,网络102、服务器103和车辆104,其中,车辆104上设置有点云采集装置105(例如激光雷达、双目立体相机等)和图像采集装置106(例如普通单镜头相机、全景相机等)。网络102用于在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101通过网络102与服务器103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如数据处理类应用,图像类应用、即时通信工具等。

终端设备101可以是各种电子设备,包括但不限于诸如车载终端(例如车载导航终端)、移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)等等的移动终端。

服务器103可以是提供各种服务的服务器,例如对终端设备101上传的或车辆上的点云采集装置和图像采集装置直接发送的点云帧和图像帧进行处理的后台数据处理服务器。后台数据处理服务器可以对接收到的点云帧和图像帧进行处理,得到处理结果(例如时间同步的预测点云帧和空间标定参数)。

需要说明的是,本公开的实施例所提供的数据同步标定方法可以由服务器103执行,也可以由终端设备101执行,相应地,数据同步标定装置可以设置于服务器103中,也可以设置于终端设备101中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在预测点云帧不需要从远程获取的情况下,上述系统架构可以不包括网络,只包括服务器或终端设备。

示例性方法

图2是本公开一示例性实施例提供的数据同步标定方法的流程示意图。本实施例可应用在电子设备(如图1所示的终端设备101或服务器103)上,如图2所示,该方法包括如下步骤:

步骤201,获取车辆上的点云采集装置采集的点云帧和图像采集装置采集的图像帧。

在本实施例中,电子设备可以从远程或从本地获取车辆上的点云采集装置采集的点云帧和图像采集装置采集的图像帧。其中,上述车辆可以是预先指定的一个或多个车辆。车辆上设置有点云采集装置和图像采集装置,点云采集装置可以实时采集表征车辆周边的物体的三维形状和位置的点云帧,图像采集装置可以实时拍摄车辆周边的物体的二维图像帧。通常,点云采集装置和图像采集装置预先被设置为对同一目标进行采集,即镜头的角度、方向设置为相同。

如图3所示,假设图像帧的帧率为点云帧的帧率的两倍,s-1、s、s+1为点云帧的采集时刻,t-2、t-1、t、t+1、t+2为图像帧的采集时刻,本实施例的目的为在图像帧的采集时刻实现数据获取的同步,即在图中t-2、t、t+2时刻,预测深度图,在t-1、t+1时刻,内插深度图。为便于描述,下述示例中的各种时刻的意义,请参考图3。

通常,本实施例的步骤201-步骤206在车辆处于动态环境时循环执行,其中,动态环境表示车辆处于移动状态,或车辆处于静止状态但车辆周围的物体(例如其他车辆)处于移动状态。

步骤202,将点云帧投影到图像帧的图像平面,得到深度图。

在本实施例中,电子设备可以将点云帧投影到图像帧的图像平面,得到深度图。其中,深度图中的各个像素的颜色用于表征对应的物体与图像采集装置的距离。通常,将点云帧投影到图像帧的图像平面,需要使用空间标定参数r,t,其中,r为旋转矩阵,t为平移向量。作为示例,电子设备可以利用预设的空间标定参数进行投影。

步骤203,基于图像帧,生成针对点云帧的采集时间的内插光流图。

在本实施例中,电子设备可以基于图像帧,生成针对点云帧的采集时间的内插光流图。光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到两帧之间存在的对应关系,从而计算出两帧之间物体的运动信息的一种方法。因此,本实施例通过内插光流图可以准确地确定运动物体在各个时刻的运动状态,从而可以更准确地生成内插深度图。

具体地,可以将连续的两个图像帧输入光流估计网络,得到对应的两个双向光流图。再利用双向光流图进行插值,得到内插光流图。

作为示例,如图4所示,四个连续连续的图像帧it-1、it、it+1、it+2分别输入三个光流估计网络,可以得到三对双向光流图mt->t-1、mt-1->t、mt->t+1、mt+1->t、mt+1->t+2和mt+2->t+1。

然后,采用现有的线性插值方法,确定内插光流图。例如,根据上述三对双向光流图,利用下述公式,确定内插光流图:

ms->t=(1-α)2mt-1->t+(1-α)αmt->t-1

ms+1->t+1=-(1-β)βmt+1->t+2+β2mt+2->t+1

其中,

α=(ts-tt-1)/(tt-tt-1)

β=(ts+1-tt+1)/(tt+2-tt+1)

ts、ts+1表示采集点云帧的时刻,tt-1、tt、tt+1、tt+2表示采集图像帧的时刻。

叠加的光流图为:

ms+1->t=ms->t+1+mt+1->t

ms->t+1=ms->t+mt->t+1

由此,可以得到内插光流图ms->t、ms+1->t+1、ms+1->t、ms->t+1。

步骤204,基于内插光流图和深度图,生成图像帧的采集时刻的预测深度图。

在本实施例中,电子设备可以基于内插光流图和深度图,生成图像帧的采集时刻的预测深度图。作为示例,可以预先利用机器学习方法训练神经网络,将内插光流图和深度图输入该神经网络中,利用预设的损失函数,通过反向传播优化神经网络的参数,训练后的神经网络可以输出图像帧的采集时刻对应的预测深度图。

在一些可选的实现方式中,步骤204可以如下执行:

基于内插光流图和深度图,通过运动变形生成内插光流图的插入时刻的预测深度图。具体地,基于运动变形生成预测深度图的方法如下式所示:

l^t=(1-vs->t)·g(ms->t,ls)+vs->t·g(ms+1->t,ls+1)

l^t+1=(1-vs->t+1)·g(ms->t+1,ls)+vs->t+1·g(ms+1->t+1,ls+1)/2

其中,l^t、l^t+1分别为t时刻和t+1的预测深度图,ls为s时刻的深度图,ls+1为s+1时刻的深度图,m为内插光流图(参见上述步骤203中的描述),v为光流计算的遮挡函数,g(m,l)是基于光流m的l变形函数。需要说明的是,上述遮挡函数和变形函数为目前的公知技术,这里不再赘述。

本实现方式基于运动变形生成预测深度图,可以通过内插光流图确定图像帧的采集时刻之间,物体运动的位置的关系,从而可以提高生成预测深度图的准确性。

步骤205,将深度图、图像帧、预测深度图和内插光流图输入预先训练的深度图内插网络,得到与图像帧的采集时刻同步的内插深度图。

在本实施例中,电子设备可以将深度图、图像帧、预测深度图和内插光流图输入预先训练的深度图内插网络,得到与图像帧的采集时刻同步的内插深度图。其中,深度图内插网络用于表征深度图、图像帧、预测深度图、内插光流图与内插深度图的对应关系。作为示例,深度图内插网络可以为深度神经网络,该网络可以预先利用训练样本,采用机器学习方法训练得到。其中,训练样本可以包括样本深度图、样本图像帧、样本预测深度图和样本内插光流图,以及对应的样本内插深度图。电子设备可以将样本深度图、样本图像帧、样本预测深度图和样本内插光流图作为输入,将与输入的图对应的样本内插深度图作为期望输出,利用预设的损失函数优化模型参数,训练得到深度图内插网络。

在一些可选的实现方式中,深度图内插网络可以包括粗深度图内插网络和细化深度图内插网络。基于此,步骤205可以如下执行:

首先,将深度图、预测深度图和内插光流图输入粗深度图内插网络,得到与图像帧的采集时刻同步的低分辨率的内插深度图。其中,低分辨率的内插深度图的精度较低,即用于表征被拍摄的各个物体与点云采集装置的大致距离。如图5所示,输入粗深度图内插网络的图包括s时刻的深度图ls,s+1时刻的深度图ls+1,t时刻的预测深度图l^t,t+1时刻的预测深度图l^t+1,内插光流图ms->t、ms+1->t+1、ms+1->t、ms->t+1,输出低分辨率的内插深度图l*t,l*t+1。

然后,将低分辨率的内插深度图和与粗内插深度图的插入时刻对应的图像帧输入细化深度图内插网络,得到高分辨率的内插深度图。其中,高分辨率的内插深度图的精度较高,网络可以根据图像帧的rgb像素信息修正深度图的像素颜色,即更精确地修正深度图的各个像素表征的物体与点云采集装置的距离。如图5所示,将低分辨率的内插深度图l*t,l*t+1输入粗深度图内插网络,得到高分辨率的内插深度图lt,lt+1。

上述粗深度图内插网络和细化深度图内插网络可以预先利用机器学习方法训练得到。训练过程为:获取训练样本,其中,训练样本包括样本深度图、样本预测深度图、样本内插光流图、样本图像帧,以及对应的高分辨率的样本内插深度图;然后利用机器学习方法,将样本深度图、样本预测深度图、样本内插光流图作为初始粗深度图内插网络的输入,将样本图像帧和粗深度图内插网络输出的低分辨率的内插深度图作为初始细化深度图内插网络的输入,将对应的高分辨率的样本内插深度图作为初始细化深度图内插网络的期望输出,利用预设的损失函数,通过反向传播,优化初始粗深度图内插网络和初始细化深度图内插网络的参数,得到粗深度图内插网络和细化深度图内插网络。

本实现方式,通过使用粗深度图内插网络和细化深度图内插网络,可以得到高分辨率的内插深度图,从而有助于通过使用高分辨率的内插深度图提高时间同步和空间标定的准确性。

步骤206,将内插深度图和图像帧输入预先训练的点云预测模型,输出与图像帧的采集时刻同步的预测点云帧,并输出用于统一点云帧和图像帧的坐标的空间标定参数。

在本实施例中,电子设备可以将内插深度图和图像帧输入预先训练的点云预测模型,输出与图像帧的采集时刻同步的预测点云帧,并输出用于统一点云帧和图像帧的坐标的空间标定参数。其中,点云预测模型用于表征深度图、图像帧与预测点云帧、空间标定参数的对应关系。点云预测模型可以包括各种结构的神经网络,该神经网络可以根据输入的深度图和对应的图像帧,确定深度图中的各个物体图像和图像帧中的各个物体图像的位置关系,得到空间标定参数(例如步骤202中描述的r,t),使用空间标定参数可以对内插深度图进行逆投影,得到对应时刻的预测点云帧,从而达到点云采集装置和图像采集装置的时间同步和空间标定。

在一些可选的实现方式中,点云预测模型包括编码器、姿态网络和深度图逆投影模块。基于此,步骤206可以如下执行:

首先,将内插深度图和图像帧输入编码器,得到深度图特征和图像帧特征。如图6所示,编码器的数量可以为两个,分别为编码器a和编码器b,其中,编码器a用于利用输入的深度图,生成深度图特征,编码器b用于利用输入的图像帧,生成图像帧特征。通常,编码器可以为卷积神经网络。

然后,将深度图特征和图像特征合并,得到合并后特征。具体地,可以将深度图特征包括的各个通道和图像帧特征包括的各个通道合并,例如深度图特征的大小为200×200×2,2是通道数,图像帧特征的大小为200×200×3,3是通道数,那么合并后特征的大小为200×200×5。

再然后,将合并后特征输入姿态网络,得到空间标定参数。其中,姿态网络用于根据深度图特征和图像帧特征,确定深度图中的物体图像与图像帧中的物体图像的位置关系,确定出空间标定参数。其中,姿态网络可以与现有的calibnet或regnet等各种网络类似,这里不再赘述。

最后,基于空间标定参数,通过深度图逆投影模块对内插深度图进行逆投影,得到预测点云帧。具体地,可以利用空间标定参数,对内插深度图进行三维变换及逆投影到三维空间,得到预测点云帧。

上述点云预测模型的训练过程可以如下:

首先,获取多个训练样本,其中,训练样本包括样本深度图、样本图像帧,以及对应的真实点云帧。然后,将训练样本包括的样本深度图和样本图像帧作为输入,将与输入的样本深度图和样本图像对应的真实点云帧作为期望输出,对初始模型进行训练,针对每次训练输入的样本深度图和样本图像,可以得到实际输出。其中,实际输出是初始模型实际输出的预测点云帧。再然后,采用梯度下降法和反向传播法,基于实际输出和期望输出的差距(例如预测点云帧和真实点云帧的各个对应像素的灰度差,以及预测点云帧包括的各个点和真实点云帧包括的各个点的距离差),调整初始模型的参数,将每次调整参数后得到的网络作为下次训练的初始模型,并在满足预设的训练结束条件的情况下,结束训练,从而训练得到点云预测模型。

需要说明的是,这里预设的训练结束条件可以包括但不限于以下至少一项:训练时间超过预设时长;训练次数超过预设次数;利用预设的损失函数(例如交叉熵损失函数)计算所得的损失值小于预设损失值阈值。

本实现方式进一步细化了生成预测点云帧和空间标定参数的步骤,通过使用深度学习网络的方法,进一步提高了点云采集装置和图像采集装置的时间同步和空间标定的准确性。

本公开的上述实施例提供的方法,通过将点云帧投影到图像帧的图像平面,得到深度图,再基于图像帧,生成针对点云帧的采集时间的内插光流图,然后基于内插光流图和深度图,生成内插光流图的插入时刻的预测深度图,再然后使用深度图内插网络得到内插深度图,以及使用点云预测模型,输出预测点云帧和空间标定参数,从而实现了利用深度学习方法对车辆上的点云采集装置和图像采集装置实时地进行时间同步和空间标定,在硬件无法保证时间同步的情况下才有深度学习模型实现软件同步,从而提高了多传感器同步标定的灵活性和准确性。

进一步参考图7,示出了数据同步标定方法的又一个实施例的流程示意图。如图7所示,在上述图2所示实施例的步骤201之前,还包括如下步骤:

步骤701,响应于确定车辆处于静止环境,获取点云采集装置采集的静态点云帧和图像采集装置采集的静态图像帧。

在本实施例中,电子设备可以响应于确定车辆处于静止环境,获取点云采集装置采集的静态点云帧和图像采集装置采集的静态图像帧。其中,静止环境通常是车辆处于静止状态,且车辆周边的物体也处于静止状态。此时,点云采集装置采集的点云帧为静态点云帧,图像采集装置采集的图像帧为静态图像帧。

步骤702,将静态点云帧投影到静态图像帧的图像平面,得到静态深度图。

在本实施例中,电子设备可以将静态点云帧投影到静态图像帧的图像平面,得到静态深度图。具体地,电子设备可以利用初始空间标定参数将静态点云帧投影到静态图像帧的图像平面。其中,初始空间标定参数可以是预先设置的,也可以是点云预测模型最近一次输出的。需要说明的是,利用初始空间标定参数将静态点云帧投影到静态图像帧的图像平面的方法与图2对应实施例的步骤202基本相同,这里不再赘述。

步骤703,将静态深度图和静态图像帧输入点云预测模型,输出静态空间标定参数和静态预测点云帧。

在本实施例中,点云预测模型与上述步骤206中的点云预测模型相同,这里不再赘述。

在一些可选的实现方式中,基于上述步骤701-步骤703,上述图2对应实施例中的步骤202可以包括如下步骤:

响应于确定当前进行数据同步的次数为第一次,基于静态空间标定参数,将点云帧投影到图像帧的图像平面,得到深度图。其中,进行数据同步的次数即执行上述步骤201-步骤206的次数,通常,步骤201-步骤206是动态执行的,当第一次执行到步骤202时,可以使用上述静态空间标定参数进行投影。使用静态标定参数进行投影,可以在车辆处于动态环境的起始时刻,生成深度图的准确性提高,进而提高动态进行时间同步和空间标定的准确性。

在一些可选的实现方式中,步骤202还可以包括如下步骤:

响应于确定当前进行数据同步的次数不是第一次,基于点云预测模型最近一次输出的空间标定参数,将点云帧投影到图像帧的图像平面,得到深度图。通常,步骤201-步骤206是在车辆处于动态环境时循环进行的,当数据同步的次数不是第一次是,即执行完至少一次步骤201-步骤206,当再次执行步骤202时,可以利用点云预测模型最近一次输出的空间标定参数进行投影,从而可以实现实时的修正标定参数,提高空间标定和时间同步的准确性。

上述图7对应实施例提供的方法,通过预先在车辆处于静态环境时,利用点云预测模型得到静态环境下的标定参数,有助于在动态环境下,提高时间同步和空间标定的准确性。

示例性装置

图8是本公开一示例性实施例提供的数据同步标定装置的结构示意图。本实施例可应用在电子设备上,如图8所示,数据同步标定装置包括:第一获取模块801,用于获取车辆上的点云采集装置采集的点云帧和图像采集装置采集的图像帧;第一投影模块802,用于将点云帧投影到图像帧的图像平面,得到深度图;第一生成模块803,用于基于图像帧,生成针对点云帧的采集时间的内插光流图;第二生成模块804,用于基于内插光流图和深度图,生成图像帧的采集时刻的预测深度图;内插模块805,用于将深度图、图像帧、预测深度图和内插光流图输入预先训练的深度图内插网络,得到与图像帧的采集时刻同步的内插深度图;第一预测模块806,用于将内插深度图和图像帧输入预先训练的点云预测模型,输出与图像帧的采集时刻同步的预测点云帧,并输出用于统一点云帧和图像帧的坐标的空间标定参数。

在本实施例中,第一获取模块801可以从远程或从本地获取车辆上的点云采集装置采集的点云帧和图像采集装置采集的图像帧。其中,上述车辆可以是预先指定的一个或多个车辆。车辆上设置有点云采集装置和图像采集装置,点云采集装置可以实时采集表征车辆周边的物体的三维形状和位置的点云帧,图像采集装置可以实时拍摄车辆周边的物体的二维图像帧。通常,点云采集装置和图像采集装置预先被设置为对同一目标进行采集,即镜头的角度、方向设置为相同。

在本实施例中,第一投影模块802可以将点云帧投影到图像帧的图像平面,得到深度图。其中,深度图中的各个像素的颜色用于表征对应的物体与图像采集装置的距离。通常,将点云帧投影到图像帧的图像平面,需要使用空间标定参数r,t,其中,r为旋转矩阵,t为平移向量。作为示例,第一投影模块802可以利用预设的空间标定参数进行投影。

在本实施例中,第一生成模块803可以基于图像帧,生成针对点云帧的采集时间的内插光流图。光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到两帧之间存在的对应关系,从而计算出两帧之间物体的运动信息的一种方法。因此,本实施例通过内插光流图可以准确地确定运动物体在各个时刻的运动状态,从而可以更准确地生成内插深度图。

具体地,可以将连续的两个图像帧输入光流估计网络,得到对应的两个双向光流图。再利用双向光流图进行插值,得到内插光流图。

在本实施例中,第二生成模块804可以基于内插光流图和深度图,生成图像帧的采集时刻的预测深度图。作为示例,可以预先利用机器学习方法训练神经网络,将内插光流图和深度图输入该神经网络中,利用预设的损失函数,通过反向传播优化神经网络的参数,训练后的神经网络可以输出图像帧的采集时刻对应的预测深度图

在本实施例中,内插模块805可以将深度图、图像帧、预测深度图和内插光流图输入预先训练的深度图内插网络,得到与图像帧的采集时刻同步的内插深度图。其中,深度图内插网络用于表征深度图、图像帧、预测深度图、内插光流图与内插深度图的对应关系。作为示例,深度图内插网络可以为深度神经网络,该网络可以预先利用训练样本,采用机器学习方法训练得到。其中,训练样本可以包括样本深度图、样本图像帧、样本预测深度图和样本内插光流图,以及对应的样本内插深度图。内插模块805可以将样本深度图、样本图像帧、样本预测深度图和样本内插光流图作为输入,将与输入的图对应的样本内插深度图作为期望输出,利用预设的损失函数优化模型参数,训练得到深度图内插网络

在本实施例中,第一预测模块806可以将内插深度图和图像帧输入预先训练的点云预测模型,输出与图像帧的采集时刻同步的预测点云帧,并输出用于统一点云帧和图像帧的坐标的空间标定参数。其中,点云预测模型用于表征深度图、图像帧与预测点云帧、空间标定参数的对应关系。点云预测模型可以包括各种结构的神经网络,该神经网络可以根据输入的深度图和对应的图像帧,确定深度图中的各个物体图像和图像帧中的各个物体图像的位置关系,得到空间标定参数(例如步骤202中描述的r,t),使用空间标定参数可以对内插深度图进行逆投影,得到对应时刻的预测点云帧,从而达到点云采集装置和图像采集装置的时间同步和空间标定。

参照图9,图9是本公开另一示例性实施例提供的数据同步标定装置的结构示意图。

在一些可选的实现方式中,该装置还可以包括:第二获取模块807,用于响应于确定车辆处于静止环境,获取点云采集装置采集的静态点云帧和图像采集装置采集的静态图像帧;第二投影模块808,用于将静态点云帧投影到静态图像帧的图像平面,得到静态深度图;第二预测模块809,用于将静态深度图和静态图像帧输入点云预测模型,输出静态空间标定参数和静态预测点云帧。

在一些可选的实现方式中,第一投影模块802可以进一步用于:响应于确定当前进行数据同步的次数为第一次,基于静态空间标定参数,将点云帧投影到图像帧的图像平面,得到深度图。

在一些可选的实现方式中,第一投影模块802可以进一步用于:响应于确定当前进行数据同步的次数不是第一次,基于点云预测模型最近一次输出的空间标定参数,将点云帧投影到图像帧的图像平面,得到深度图。

在一些可选的实现方式中,点云预测模型可以包括编码器、姿态网络和深度图逆投影模块;以及第一预测模块806可以包括:第一输入单元8061,用于将内插深度图和图像帧输入编码器,得到深度图特征和图像帧特征;合并单元8062,用于将深度图特征和图像特征合并,得到合并后特征;第二输入单元8063,用于将合并后特征输入姿态网络,得到空间标定参数;逆投影单元8064,用于基于空间标定参数,通过深度图逆投影模块对内插深度图进行逆投影,得到预测点云帧。

在一些可选的实现方式中,第二生成模块804可以进一步用于:基于内插光流图和深度图,通过运动变形生成内插光流图的插入时刻的预测深度图。

在一些可选的实现方式中,深度图内插网络可以包括粗深度图内插网络和细化深度图内插网络;以及内插模块805可以包括:第一内插单元8051,用于将深度图、预测深度图和内插光流图输入粗深度图内插网络,得到与图像帧的采集时刻同步的低分辨率的内插深度图;第二内插单元8052,用于将低分辨率的内插深度图和与粗内插深度图的插入时刻对应的图像帧输入细化深度图内插网络,得到高分辨率的内插深度图。

本公开上述实施例提供的数据同步标定装置,通过将点云帧投影到图像帧的图像平面,得到深度图,再基于图像帧,生成针对点云帧的采集时间的内插光流图,然后基于内插光流图和深度图,生成内插光流图的插入时刻的预测深度图,再然后使用深度图内插网络得到内插深度图,以及使用点云预测模型,输出预测点云帧和空间标定参数,从而实现了利用深度学习方法对车辆上的点云采集装置和图像采集装置实时地进行时间同步和空间标定,在硬件无法保证时间同步的情况下才有深度学习模型实现软件同步,从而提高了多传感器同步标定的灵活性和准确性。

示例性电子设备

下面,参考图10来描述根据本公开实施例的电子设备。该电子设备可以是如图1所示的终端设备101和服务器103中的任一个或两者、或与它们独立的单机设备,该单机设备可以与终端设备101和服务器103进行通信,以从它们接收所采集到的输入信号。

图10图示了根据本公开实施例的电子设备的框图。

如图10所示,电子设备1000包括一个或多个处理器1001和存储器1002。

处理器1001可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1000中的其他组件以执行期望的功能。

存储器1002可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1001可以运行程序指令,以实现上文的本公开的各个实施例的数据同步标定方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。

在一个示例中,电子设备1000还可以包括:输入装置1003和输出装置1004,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,在该电子设备是终端设备101或服务器103时,该输入装置1003可以是激光雷达、相机等设备,用于输入点云帧和图像帧。在该电子设备是单机设备时,该输入装置1003可以是通信网络连接器,用于从终端设备101和服务器103接收所输入的点云帧和图像帧。

该输出装置1004可以向外部输出各种信息,包括确定出的预测点云帧和空间标定参数。该输出设备1004可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图10中仅示出了该电子设备1000中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1000还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的数据同步标定方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的数据同步标定方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1