城市场景重建方法、装置、计算机设备和存储介质

文档序号:25526245发布日期:2021-06-18 20:15阅读:79来源:国知局
城市场景重建方法、装置、计算机设备和存储介质

本申请涉及计算机视觉技术领域,特别是涉及一种城市场景重建方法、装置、计算机设备和存储介质。



背景技术:

随着计算机视觉技术的发展,基于二维图像重建三维模型的三维场景重建技术之间发展起来,三维场景重建技术广泛应用在三维物体识别、地理地质调查、自动驾驶、城市规划、导航、避障与探索等场景。由此,如何基于二维图像重建三维模型是值得关注的问题。

目前,通常是基于二维图像重建三维点云,然后对所重建的三维点云进行复杂的后处理以重建三维模型,存在重建效率低的问题,即便是基于二维图像直接重建三维模型,也仅能重建得到由稀疏点云组成的三维模型,存在重建准确性低的问题。由此,目前的三维场景重建方式存在重建准确性与效率不能兼顾的问题,且难以适用于城市场景的重建。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够兼顾重建效率与准确性的城市场景重建方法、装置、计算机设备和存储介质。

一种城市场景重建方法,所述方法包括:

获取目标城市场景对应的目标图像帧,以及所述目标图像帧的相邻图像帧;

根据所述目标图像帧与所述相邻图像帧对所述目标图像帧进行物体定位,得到目标物体对应的物体点云、物体图像与坐标变换矩阵;

根据所述物体点云与所述物体图像确定所述目标物体的全局特征与待选取面参数;

根据所述待选取面参数与所述全局特征确定待选取面特征;

根据所述待选取面特征确定所述目标物体的平面组合矩阵;

根据所述平面组合矩阵、所述待选取面参数与所述坐标变换矩阵重建所述目标城市场景的场景三维模型。

在其中一个实施例中,所述根据所述目标图像帧与所述相邻图像帧对所述目标图像帧进行物体定位,得到目标物体对应的物体点云、物体图像与坐标变换矩阵,包括:

根据所述目标图像帧与所述相邻图像帧确定所述目标图像帧对应的场景点云;

对所述目标图像帧进行实例分割得到相应图像掩膜;

根据所述场景点云与所述图像掩膜确定所述目标图像帧中目标物体对应的物体点云与坐标变换矩阵;

根据所述目标图像帧与所述图像掩膜确定所述目标物体对应的物体图像。

在其中一个实施例中,所述根据所述场景点云与所述图像掩膜确定所述目标图像帧中目标物体对应的物体点云与坐标变换矩阵,包括:

根据所述图像掩膜对所述场景点云进行分割得到所述目标图像帧中目标物体对应的初始点云;

将所述初始点云变换至重建坐标系得到所述目标物体对应的物体点云与坐标变换矩阵。

在其中一个实施例中,所述根据所述物体点云与所述物体图像确定所述目标物体的全局特征与待选取面参数,包括:

根据所述物体点云确定所述目标物体的点云特征;

根据所述物体图像确定所述目标物体的图像特征;

根据所述点云特征与所述图像特征确定所述目标物体的全局特征与待选取面参数。

在其中一个实施例中,所述根据所述待选取面参数与所述全局特征确定待选取面特征,包括:

根据所述待选取面参数确定所述目标物体的每个待选取面在全局信息量中的每个单元的权重;

根据所述权重与所述全局特征确定相应待选取面特征。

在其中一个实施例中,所述根据所述平面组合矩阵、所述待选取面参数与所述坐标变换矩阵重建所述目标城市场景的场景三维模型,包括:

根据所述平面组合矩阵与所述待选取面参数重建所述目标物体对应的物体三维模型;

根据所述物体三维模型与所述坐标变换矩阵重建所述目标城市场景的场景三维模型。

在其中一个实施例中,所述根据所述平面组合矩阵与所述待选取面参数重建所述目标物体对应的物体三维模型,包括:

将所述平面组合矩阵与所述待选取面参数相乘得到凸包组;

根据所述凸包组重建所述目标物体对应的物体三维模型。

一种城市场景重建装置,所述装置包括:

获取模块,用于获取目标城市场景对应的目标图像帧,以及所述目标图像帧的相邻图像帧;

定位模块,用于根据所述目标图像帧与所述相邻图像帧对所述目标图像帧进行物体定位,得到目标物体对应的物体点云、物体图像与坐标变换矩阵;

物体特征提取模块,用于根据所述物体点云与所述物体图像确定所述目标物体的全局特征与待选取面参数;

平面特征提取模块,用于根据所述待选取面参数与所述全局特征确定待选取面特征;

平面组合模块,用于根据所述待选取面特征确定所述目标物体的平面组合矩阵;

重建模块,用于根据所述平面组合矩阵、所述待选取面参数与所述坐标变换矩阵重建所述目标城市场景的场景三维模型。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取目标城市场景对应的目标图像帧,以及所述目标图像帧的相邻图像帧;

根据所述目标图像帧与所述相邻图像帧对所述目标图像帧进行物体定位,得到目标物体对应的物体点云、物体图像与坐标变换矩阵;

根据所述物体点云与所述物体图像确定所述目标物体的全局特征与待选取面参数;

根据所述待选取面参数与所述全局特征确定待选取面特征;

根据所述待选取面特征确定所述目标物体的平面组合矩阵;

根据所述平面组合矩阵、所述待选取面参数与所述坐标变换矩阵重建所述目标城市场景的场景三维模型。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取目标城市场景对应的目标图像帧,以及所述目标图像帧的相邻图像帧;

根据所述目标图像帧与所述相邻图像帧对所述目标图像帧进行物体定位,得到目标物体对应的物体点云、物体图像与坐标变换矩阵;

根据所述物体点云与所述物体图像确定所述目标物体的全局特征与待选取面参数;

根据所述待选取面参数与所述全局特征确定待选取面特征;

根据所述待选取面特征确定所述目标物体的平面组合矩阵;

根据所述平面组合矩阵、所述待选取面参数与所述坐标变换矩阵重建所述目标城市场景的场景三维模型。

上述城市场景重建方法、装置、计算机设备和存储介质,根据待重建的目标城市场景对应的目标图像帧与该目标图像帧的相邻图像帧,能够定位出目标图像帧中每个目标物体对应的物体点云、物体图像与坐标变换矩阵,以便于根据每个目标物体对应的物体点云与物体图像提取该目标物体的全局特征与待选取面参数,以根据全局特征与待选取面参数提取该目标物体的各待选取面对应的待选取面特征,并根据各待选取面特征动态确定该目标物体对应的平面组合矩阵,进而根据各目标物体对应的平面组合矩阵、待选取面参数与坐标变换矩阵,重建目标城市场景对应的场景三维模型。这样,基于目标城市场景的目标图像帧能够直接重建相应场景三维模型,目标图像帧中的各目标物体在该场景三维模型中拥有正确的世界坐标系下的位姿与尺寸,且该场景三维模型是紧实水密的,由此,能够兼顾城市场景重建的准确性与效率。

附图说明

图1为一个实施例中城市场景重建方法的流程示意图;

图2为另一个实施例中城市场景重建方法的流程示意图;

图3为一个实施例中城市场景重建方法的整体框架图;

图4为一个实施例中物体重建网络的原理示意图;

图5a为一个实施例中基于待选取面的平面参数提取平面特征的原理示意图;

图5b为一个实施例中通过不同方式定义方向平面的感兴趣区域的效果示意图;

图6a为一个实施例中在apollocar3d数据集上对城市场景重建方法进行测试的效果示意图;

图6b为一个实施例中在virtualcity3d数据集上对城市场景重建方法进行测试的效果示意图;

图7a为一个实施例中基于真值模型对目标物体进行重建的效果示意图;

图7b为一个实施例中基于bsp-net对目标物体进行重建的效果示意图;

图7c为一个实施例中基于城市场景重建方法对目标物体进行重建的效果示意图;

图8为一个实施例中城市场景重建装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种城市场景重建方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:

步骤102,获取目标城市场景对应的目标图像帧,以及目标图像帧的相邻图像帧。

其中,目标城市场景是指待重建三维模型的城市场景。目标图像帧是指用于重建目标城市场景的场景三维模型的图像,具体可以是指目标视频中的当前帧。相邻图像帧是指采集时间与目标图像帧的采集时间相邻、且与目标城市场景对应的图像,目标图像帧与相邻图像帧之间存在相同的目标物体。相邻图像帧具体可以是指目标视频中与目标图像帧相邻的视频帧,比如前序帧和/或后序帧。

具体地,终端通过摄像头获取目标城市场景对应的目标图像帧,以及该目标图像帧的相邻图像帧。可以理解,摄像头可以作为终端的组成部分集成在终端内部,也可作为独立的设备,并通过网络与终端进行通信。

在一个实施例中,终端通过摄像头采集目标城市场景对应的目标视频,从目标视频中提取当前帧作为目标图像帧,并从目标视频中提取当前帧的相邻帧作为目标图像帧的相邻图像帧。终端可根据场景重建需求从目标视频中选取当前帧与当前帧的相邻帧,比如对于实时性要求比较高的场景重建需求,可将目标视频中采集时间最近的视频帧作为当前帧,并将该当前帧的前序帧作为相邻图像帧,以便于按照本申请提供的城市场景重建方法能够实时重建城市场景,还比如对于实时性要求较低的场景重建需求,可将目标视频中的任一视频帧作为当前帧,并将当前帧的前序帧和/或后序帧作为相邻图像帧。相邻图像帧的数量为至少3帧,可以理解,相邻图像帧的数量越多,所重建得到的城市三维模型相对越准确,但是也会增加数据处理量,由此会根据实际需求来确定,在此不作具体限定。

在一个实际的应用场景中,当无人机飞行的起点与终点被设定后,无人机在按照设定的起点与终点飞行的过程中,通过所搭载的摄像头实时采集目标视频,通过终端实时的从目标视频中提取采集时间最近的视频帧作为目标图像帧,提取该目标图像帧的前序帧作为相邻图像帧,并基于所提取的目标图像帧与相邻图像帧,按照本申请提供的城市场景重建方法实时的重建场景三维模型,以便于按照所重建的场景三维模型在飞行过程中完成探索避障任务,以及可视部分城市的重建任务。

步骤104,根据目标图像帧与相邻图像帧对目标图像帧进行物体定位,得到目标物体对应的物体点云、物体图像与坐标变换矩阵。

其中,物体点云是指目标图像帧中的目标物体在重建坐标系中对应的稀疏点云。物体图像是指目标物体在目标图像帧中对应的图像区域。坐标变换矩阵是指将目标物体在世界坐标系下的稀疏点云变换至重建坐标系下的稀疏点云的变换矩阵,也可理解为坐标系变换矩阵。目标物体是指目标图像帧待分割的目标对象,也即是指目标城市场景中待重建的目标对象,比如建筑物或车辆等。

具体地,终端根据目标图像帧与相应相邻图像帧,对该目标图像帧中的目标物体进行物体定位,以从目标图像帧中分割出每个目标物体,并得到每个目标物体对应的物体点云、物体图像与坐标变换矩阵。

步骤106,根据物体点云与物体图像确定目标物体的全局特征与待选取面参数。

其中,待选取面参数包括目标物体对应的待选取面的数量与每个待选取面的平面参数。每个待选取面的平面参数包括四个参数,具体可包括待选取面的法向向量与任一点,比如。全局特征用于表征目标物体在全局信息量中的整体信息,具体涵盖了图片特征与点云特征。全局信息量也可理解为特征空间。

具体地,在重建坐标系下,针对目标图像帧中的每个目标物体,终端根据该目标物体对应的物体点云与物体图像,提取该目标物体的全局特征,以及生成该目标物体对应的待选取面,并确定相应的待选取面参数。

步骤108,根据待选取面参数与全局特征确定待选取面特征。

其中,待选取面特征是指待选取面的平面特征,具体可以是指待选取面的高维特征。具体地,针对目标图像帧中的每个目标物体,终端在确定该目标物体的全局特征与待选取面参数后,根据全局特征与待选取面参数确定该目标物体对应的待选取面特征,也即是根据目标物体的全局特征与待选取面参数确定每个待选取面的平面特征。

步骤110,根据待选取面特征确定目标物体的平面组合矩阵。

其中,平面组合矩阵用于表示目标物体的各待选取面属于各凸包的可能性。基于平面组合矩阵能够从目标物体的各待选取面中确定组成各凸包的待选取面。平面组合矩阵的维度由目标物体的待选取面数量与凸包确定。具体地,终端通过全连接层根据每个目标物体的待选取面特征确定该目标物体的平面组合矩阵。

在一个实施例中,终端具体可通过如下公式确定每个目标物体的平面组合矩阵:

其中,表示目标物体的待选取面特征,表示一组mlp(多层感知机)层,表示目标物体的平面组合矩阵,维度为是凸包数量,是目标物体的待选取面数量,矩阵中的值表示第个待选取面属于第个凸包的可能性。

步骤112,根据平面组合矩阵、待选取面参数与坐标变换矩阵重建目标城市场景的场景三维模型。

具体地,在得到目标图像帧中每个目标物体对应的平面组合矩阵、待选取面参数与坐标变换矩阵后,根据每个目标物体对应的平面组合矩阵与待选取面参数重建该目标物体对应的物体三维模型,并根据目标图像帧中各目标物体对应的物体三维模型与坐标变换矩阵重建目标城市场景的对应的场景三维模型。

上述城市场景重建方法,根据待重建的目标城市场景对应的目标图像帧与该目标图像帧的相邻图像帧,能够定位出目标图像帧中每个目标物体对应的物体点云、物体图像与坐标变换矩阵,以便于根据每个目标物体对应的物体点云与物体图像提取该目标物体的全局特征与待选取面参数,以根据全局特征与待选取面参数提取该目标物体的各待选取面对应的待选取面特征,并根据各待选取面特征动态确定该目标物体对应的平面组合矩阵,进而根据各目标物体对应的平面组合矩阵、待选取面参数与坐标变换矩阵,重建目标城市场景对应的场景三维模型。这样,基于目标城市场景的目标图像帧能够直接重建相应场景三维模型,目标图像帧中的各目标物体在该场景三维模型中拥有正确的世界坐标系下的位姿与尺寸,且该场景三维模型是紧实水密的,由此,能够兼顾城市场景重建的准确性与效率,以便于能够实时的重建出准确的场景三维模型。

在一个实施例中,步骤104,包括:根据目标图像帧与相邻图像帧确定目标图像帧对应的场景点云;对目标图像帧进行实例分割得到相应图像掩膜;根据场景点云与图像掩膜确定目标图像帧中目标物体对应的物体点云与坐标变换矩阵;根据目标图像帧与图像掩膜确定目标物体对应的物体图像。

具体地,终端根据目标图像帧与相应相邻图像帧,确定该目标图像帧对应的目标城市场景所对应的场景点云,并对该目标图像帧进行实例分割,以从目标图像帧中分割出各目标物体,并得到相应的图像掩膜。终端根据图像掩膜对场景点云以物体为单位进行分割,得到目标图像帧中每个目标物体的稀疏点云,并基于每个目标物体的稀疏点云得到相应物体点云与坐标变换矩阵。终端根据图像掩膜对目标图像帧以物体为单位进行分割,得到目标图像帧中每个目标物体的物体图像。

在一个实施例中,终端对目标图像帧进行实例分割得到分割出各目标物体的初始图像掩膜,该初始图像掩膜中标注出各目标物体在相应目标图像帧中所对应的图像区域。进一步地,终端基于预设阈值从初始图像掩膜中剔除区域面积小于该预设阈值的目标物体,也即是将初始图像掩膜中区域面积小于预设阈值的图像区域所对应的目标物体确定为图像背景,并将该初始图像掩膜中该区域面积小于预设阈值的图像区域标注为图像背景所对应的图像区域,得到最终用于分割场景点云与目标图像帧的图像掩膜。可以理解,可在初始图像掩膜中通过不同颜色标注不同目标物体对应的图像区域,这样,基于预设阈值从初始图像掩膜中剔除区域面积小于预设阈值的目标物体,即是在初始图像掩膜中,将该区域面积小于预设阈值的目标物体所对应的图像区域的颜色,修改为与图像背景所对应的图像区域的颜色一致。预设阈值可根据实际情况自定义,比如设定为目标图像帧的图像面积的百分之一。这样,基于预设阈值能够剔除较小且近似为背景的目标物体。

在一个实施例中,终端通过slam(simultaneouslocalizationandmapping,同步定位与地图构建)根据目标图像帧与相邻图像帧,获取目标城市场景的稀疏点云,并作为目标图像帧对应的场景点云。终端通过maskr-cnn(一种目标个体的语义分割方法)对目标图像帧进行实例分割得到相应图像掩膜。

上述实施例中,从二维图像与三维点云中分别定位目标图像帧中的每个目标物体,得到目标物体的物体点云与物体图像,并得到用于表征目标物体在真实世界的位姿与尺寸的坐标变换矩阵,以便于基于各目标物体的物体点云、物体图像与坐标变换矩阵,能够快速而准确的重建目标城市场景的场景三维模型。

在一个实施例中,根据场景点云与图像掩膜确定目标图像帧中目标物体对应的物体点云与坐标变换矩阵,包括:根据图像掩膜对场景点云进行分割得到目标图像帧中目标物体对应的初始点云;将初始点云变换至重建坐标系得到目标物体对应的物体点云与坐标变换矩阵。

具体地,终端根据目标图像帧对应的图像掩膜对相应场景点云以物体为单元进行分割,得到目标图像帧中每个目标物体对应的系数点云,并作为目标物体在世界坐标系下对应的初始点云。进一步地,终端将每个目标物体的初始点云从世界坐标系变换至重建坐标系,得到该目标物体在重建坐标系下对应的物体点云,以及该目标物体对应的坐标变换矩阵。

在一个实施例中,终端将每个目标物体的初始点云平移至世界坐标系的坐标原点,使得x轴(横轴)与y轴(纵轴)方向的初始点云以坐标原点为中心构成中心对称,以及z轴(竖轴)方向距离坐标原点最近的点处于z取值为负零点大的位置,得到平移矩阵,并将初始点云在各轴方向的取值缩放至[-1,1]的范围内,得到缩放矩阵,由此,基于平移矩阵与缩放矩阵能够得到坐标变换矩阵。

上述实施例中,每个目标物体的初始点云中包含有该目标物体的位置、姿态与运动等信息,由此,通过由初始点云确定的坐标变换矩阵记录目标物体在世界坐标系中的位姿与尺寸,以便于在后续场景重建过程中,基于坐标变换矩阵与各目标物体的物体三维模型,重建各目标物体在世界坐标系下的位姿与尺寸,得到准确的场景三维模型。

在一个实施例中,步骤106,包括:根据物体点云确定目标物体的点云特征;根据物体图像确定目标物体的图像特征;根据点云特征与图像特征确定目标物体的全局特征与待选取面参数。

在一个实施例中,终端通过cnn(卷积神经网络)从物体图像中提取目标物体的图像特征,通过pointnet(一种三维点云处理网络)从物体点云中提取目标物体的点云特征,具体原理可如下公式所示:

其中,表示目标物体的物体点云,具体可以是指目标物体对应的稀疏的三维表面点,表示目标物体的物体图像,表示一组卷积层,具体可以是指cnn中的卷积层,表示pointnet编码器,表示图像特征,也即是指目标图像在全局信息量中的视觉表示,表示点云特征,也即是指目标物体在全局信息量中的几何表示,对于每个目标物体,均为固定值,且二者均为维的向量。

在一个实施例中,终端通过多层感知器根据每个目标物体的点云特征与图特征,生成该目标物体对应的待选取面参数,并通过反卷积层根据每个目标物体的点云特征与图特征,提取该目标物体对应的全局特征,具体原理如下公式所示:

其中,表示一组多层感知器(multi-layerperceptron,mlp)层,表示目标物体的待选取面参数,具体可表示针对目标物体生成个待选取面,每个待选取面具有4个参数表示一组反卷积层,表示全局信息量的空间尺寸(也即空间维度或分辨率),比如为表示全局信息量的特征尺寸(也即特征维度),比如为512,表示目标物体的全局特征,也即是指目标物体在全局信息量中的空间特征表示,的维度为

上述实施例中,基于每个目标物体的点云特征与图像特征提取全局信息与待选取面参数,以便于基于全局信息与待选取面参数快速而准确的重建目标物体的物体三维模型。

在一个实施例中,步骤108,包括:根据待选取面参数确定目标物体的各待选取面在特征空间中各位置的权重;根据权重与全局特征确定待选取面对应的待选取面特征。

其中,待选取面在全局信息量中的每个单元的权重,可理解为该待选取面的空间权重。

具体地,终端通过区域到平面的注意力矩阵,将待选取面参数转换为全局信息量中不同单元的权重。这样,终端将待选取面参数与区域到平面的注意力矩阵相关联,得到空间权重矩阵。该空间权重矩阵表示目标物体的各待选取面在全局信息量中不同单元的权重,也即是表示各待选取面在全局信息量中不同位置的权重。可以理解,区域到平面的注意力矩阵是可学习的,该注意力矩阵将全局信息量中不同单元的权重与各待选取面的平面参数相关联,也即是将各待选取面的平面参数转换成全局信息量中的位置信息。进一步地,终端根据目标物体的各待选取面在全局信息量中各单元的权重,以及该目标物体的全局特征确定该目标物体对应的待选取面特征。这样,终端根据目标物体对应的空间权重矩阵与全局特征确定各待选取面的平面特征。

在一个实施例中,终端根据目标物体的待选取面参数与全局特征,利用区域到平面的注意力机制确定相应待选取面特征,具体原理如下公式所示:

其中,表示可学习的区域到平面的注意力矩阵,表示空间权重矩阵,具体可表示目标物体的各待选取面在全局信息量中不同位置的权重,中的值取决于待选取面的平面参数,而不是全局信息量中的内容,这确保了学习区域到平面的注意力矩阵的过程与从输入图像或体素提取的特征解耦。

在确定目标物体对应的空间权重矩阵后,基于下述公式能够从全局信息量的全局特征中提取每待选取面的高维特征:

其中,表示目标物体对应的待选取面特征,具体可包括目标物体对应的每个待选取面的平面特征。

上述实施例中,基于整个场景中的感兴趣区域动态调整特征提取权重,并基于调整后的特征提取权重从目标物体的全局特征中提取每个待选取面的高维特征,能够更好的提取各待选取面的平面特征。

在一个实施例中,步骤112,包括:根据平面组合矩阵与待选取面参数重建目标物体对应的物体三维模型;根据物体三维模型与坐标变换矩阵重建目标城市场景的场景三维模型。

具体地,终端根据每个目标物体对应的平面组合矩阵与待选取面参数重建该目标物体在重建坐标系下的物体三维模型,并基于坐标变换矩阵将物体三维模型从重建坐标系变换至世界坐标系。其中,终端将每个目标物体对应的物体三维模型与坐标变换矩阵的逆矩阵相乘,以确定物体三维模型在世界坐标系下的位姿与尺寸,由此,基于目标图像帧中各目标物体对应的物体三维模型在世界坐标系下的位姿与尺寸,能够重建相应目标城市场景所对应的场景三维模型。

上述实施例中,基于每个目标物体对应的平面组合矩阵与待选取面参数准确重建相应物体三维模型,并基于坐标变换矩阵将准确重建的各物体三维模型还原至世界坐标系,以便于能够在真实的世界坐标系下准确重建目标城市场景的场景三维模型。

在一个实施例中,根据平面组合矩阵与待选取面参数重建目标物体对应的物体三维模型,包括:将平面组合矩阵与待选取面参数相乘得到凸包组;根据凸包组重建目标物体对应的物体三维模型。

具体地,终端将每个目标物体对应的平面组合矩阵与待选取面参数相乘,得到该目标物体对应的一组凸包,也即得到该目标物体对应的凸包组。终端根据每个目标物体对应的凸包组确定组成每个凸包所需的待选取面,以及每个待选取面的平面参数,并根据组成相同凸包的各待选取面的平面参数生成相应凸包,进而基于目标物体对应的各凸包生成该目标物体对应的多边形网格模型,作为该目标物体对应的物体三维模型。

上述实施例中,基于平面组合矩阵与待选取面参数确定凸包组,并通过相互作用的关联平面生成多边形网格模型,以重建目标物体的物体三维模型。

在一个实施例中,终端根据每个目标物体对应的平面组合矩阵与待选取面参数,使用marchingcubes(等值面提取)方式重建相应目标物体所对应的物体三维场景。进一步,终端根据各目标物体的物体三维模型与坐标变换矩阵重建目标城市场景对应的场景三维模型。可以理解,终端通过marchingcubes方式重建物体三维场景时,将平面组合矩阵中的似然值直接用于有符号距离的计算中。

图2为一个实施例中城市场景重建方法的流程示意图。如图2所示,该方法具体包括以下步骤:

步骤202,获取目标城市场景对应的目标图像帧,以及目标图像帧的相邻图像帧。

步骤204,根据目标图像帧与相邻图像帧确定目标图像帧对应的场景点云。

步骤206,对目标图像帧进行实例分割得到相应图像掩膜。

步骤208,根据图像掩膜对场景点云进行分割得到目标图像帧中目标物体对应的初始点云。

步骤210,将初始点云变换至重建坐标系得到目标物体对应的物体点云与坐标变换矩阵。

步骤212,根据目标图像帧与图像掩膜确定目标物体对应的物体图像。

步骤214,根据物体点云确定目标物体的点云特征。

步骤216,根据物体图像确定目标物体的图像特征。

步骤218,根据点云特征与图像特征确定目标物体的全局特征与待选取面参数。

步骤220,根据待选取面参数确定目标物体的每个待选取面在全局信息量中的每个单元的权重。

步骤222,根据权重与全局特征确定相应待选取面特征。

步骤224,根据待选取面特征确定目标物体的平面组合矩阵。

步骤226,将平面组合矩阵与待选取面参数相乘得到凸包组。

步骤228,根据凸包组重建目标物体对应的物体三维模型。

步骤230,根据物体三维模型与坐标变换矩阵重建目标城市场景的场景三维模型。

上述实施例中,基于目标城市场景对应的目标图像帧与相邻图像帧,对该目标城市场景中的目标物体进行定位,以提取各目标物体的位置、姿态与运动等信息,并得到相应的物体点云、物体图像与坐标变换矩阵,进一步地,通过区域到平面的注意力机制,根据目标物体的物体点云与物体图像确定待选取面,并提取各待选取面的平面特征,通过平面到凸包的注意力机制,根据各待选取面的平面特征动态确定平面组合矩阵,以便于根据目标物体的特征变化进一步重建物体三维模型,得到更为准确的物体三维模型,而基于坐标变换矩阵能够确定物体三维模型在世界坐标系中的位姿与尺寸,以便于准确重建场景三维模型。

图3为一个实施例中城市场景重建方法的整体框架图。如图3所示,本申请提供的城市场景重建方法的核心思想是,在重建大尺度场景中每个待重建的目标物体的同时,将各目标物体还原至其正确的位置,以重建准确的场景三维模型。终端获取当前帧作为目标图像帧,以及当前帧的前序帧作为相邻图像帧,当前帧对应的城市场景作为待重建相应场景三维模型的目标城市场景,根据当前帧与前序帧对目标城市场景进行物体定位。在物体定位阶段,终端通过实例分割与slam从目标城市场景中分割单独的目标物体,并提取位置、姿态与运动等信息,然后通过变换该些信息得到目标目标物体的坐标换边矩阵,具体包括:通过slam根据当前帧与前序帧确定目标城市场景对应的场景点云,并对当前帧进行实例分割以从当前帧中分割出各目标物体得到图像掩膜,根据图像掩膜从当前帧中分割出各目标物体对应的物体图像,以及从场景点云中分割出各目标物体的初始点云,并将各目标物体的初始点云从世界坐标系变换至重建坐标系,得到相应的坐标变换矩阵与物体点云。这样,在网络训练中加入了位姿信息,以便于能够保证重建的三维模型紧实水密,并且具有正确的世界坐标系下的位姿与尺寸。

在物体重建阶段,终端基于目标城市场景中各目标物体对应的物体点云与物体图像重建物体三维模型,具体包括:针对每个目标物体,该目标物体对应的坐标变换矩阵为可逆变换矩阵,用于确定物体三维模型在场景三维模型中的位姿与尺寸等信息,终端根据物体点云得到目标物体的点云特征,根据物体图像得到目标物体的图像特征,进一步地,通过面生成器根据目标物体对应的点云特征与图像特征,生成该目标物体对应的待选取面,并确定相应待选取面参数,通过反卷积层根据点云特征与图像特征提取全局特征,然后由区域-平面注意力模块通过区域-平面注意力机制,根据目标物体的待选取面参数与全局特征提取相应目标物体的待选取面特征,并由平面-凸包注意力模块通过平面-凸包注意力机制,根据待选取面特征动态确定目标物体的平面组合矩阵,以便于基于目标物体的平面组合矩阵与待选取面参数得到目标物体的网格表示,该网格表示即是重建得到的物体三维模型。

可以理解,面生成器是物体重建网络中用于根据点云特征与图像特征生成待选取面的软件模块,面生成器具体可以是一组多层感知器层。区域-平面注意力模块与平面-凸包注意力模块均是物体重建网络中的软件模块。物体重建网络具体可以是优化改进后的bsp-net(一种通过二进制空间划分生成紧凑网格的网络),其实现的基础原理是可微分的bsp(binaryspacepartitioningtree,二进制空间分区树)。本申请提供的物体重建网络相较于现有的bsp-net,加入了两种注意力机制,一种是应用于区域到平面注意力模块的区域到平面注意力机制,保证其更好的提取各待选取面的平面特征,一种是应用于平面到凸包注意力模块的平面到凸包注意力机制,以代替原来固定的平面组合矩阵,使其在重建物体三维模型时根据其特征动态变化,由此,通过对该两个注意力机制模块的完善与提升,保证了本申请提供的城市场景重建方法能够在真实环境中实时的完成对城市场景的准确重建。

进一步地,终端在得到目标城市场景中各目标物体对应的物体三维模型与坐标变换矩阵后,根据物体三维模型与坐标变换矩阵进行城市场景重建,具体包括:根据坐标变换矩阵确定相应物体三维模型在场景三维模型中的位姿,以重建目标城市场景的场景三维模型。图3中标号31表征通过本申请提供的城市场景重建方法重建得到的场景网格模型,也即场景三维模型,标号32表征对场景网格模型进行填充所得到的待纹理的城市场景,以便于重建结果的可视化。由图3可知,通过本申请提供的城市场景重建方法能够重建完整的场景三维模型,即便目标城市场景中待重建的目标物体在目标图像帧中显示不完整,也能够重建得到完整的物体三维模型,进而重建得到包括完整物体三维模型的场景三维模型。

图4为一个实施例中物体重建网络的原理示意图。如图4所示,物体重建网络根据物体点云与物体图像,分别获取到点云特征与图像特征后,根据每个目标物体的点云特征与图像特征提取相应全局信息,也即全局信息量中的全局特征,并通过面生成器根据每个目标物体的点云特征与图像特征生成相应的一组待选取面,以及确定每个待选取面的平面参数,进一步地,通过区域-平面注意力机制根据全局信息与各待选取面的平面参数提取相应平面特征,并通过平面-凸包注意力机制根据各待选取面的平面特征确定平面组合矩阵,以便于基于平面组合结果与各平面参数重建物体三维模型。图4所示的重建模型结果包括网格模型与纹理模型。由此可见,通过两个注意力机制来完成平面特征的提取与待选取面的组合,能够更好的重建物体三维模型。

图5a为一个实施例中基于待选取面的平面参数提取平面特征的原理示意图。如图5a所示,在生成目标物体的待选取面,以及确定可学习的区域到平面的注意力矩阵后,通过区域-平面注意力模块根据各待选取面的平面参数与注意力矩阵确定空间权重矩阵,该空间权重矩阵包括各待选取面在全局信息量中不同单元的权重,并根据空间权重矩阵与目标物体的全局特征得到每个待选取面的平面特征。其中,表示维度为的注意力矩阵,在训练该注意力矩阵时提取了区域到平面的先验信息,表示维度为的空间权重矩阵。由图5a可知,通过训练区域到平板的注意力矩阵,能够将各待选取面的平面参数转换为全局信息量中不同单元的一组权重,然后将空间权重矩阵与全局特征进行相乘得到每个待选取面的高维特征,以将各待选取面的4维平面参数转换为相应高维特征。

图5b为一个实施例中通过不同方式定义方向平面的感兴趣区域的效果示意图。如图5b所示,可以通过不同的方式来定义确定方向平面的感兴趣区域,其中,黑色斜线表示方向平面,并提供了三种定义感兴趣区域的方式,分别为:将方向平面附近的区域确定为感兴趣区域;将方向平面的平面方向所指定的区域确定为感兴趣区域;将整个场景内的区域确定为感兴趣区域。可以理解,在maskr-cnn中,拟议的边界框的参数用于从整个场景的全局特征中提取框的高维特征,该种特征提取方式是自定义的,包括选择(边界框内像素的特征)和解释。而在本申请的一个或多个实施例中,终端会基于待选取面的平面参数提取高维特征作为该待选取面的平面特征,但是,与自然代表感兴趣的闭合区域的边界框不同,没有一种直观的方式可以为方向平面定义感兴趣区域。而基于图5b所示的测试结果可知,使用整个场景中的感兴趣区域动态调整特征提取权重的方法能够取得最好的效果,可将该种方法称为区域到平面的注意力机制。

图6a为一个实施例中在apollocar3d数据集上对城市场景重建方法进行测试的效果示意图。图6a中的标号a0对应目标图像帧,标号a1对应基于marchingcube重建的网格模型,标号a2对应带有纹理的重建车辆,由此可见,基于本申请提供的城市场景重建方法重建得到的模型是紧实水密的。可以理解,本实施例中,目标城市场景中待重建的目标物体是目标图像帧中的车辆。值得说明的是,在该场景下的重建过程中,当车辆仅占据车架中的一小部分区域(默认情况下小于80x80像素)时,将不予考虑。

图6b为一个实施例中在virtualcity3d数据集上对城市场景重建方法进行测试的效果示意图。图6b中的标号b0对应单目的目标图像帧,标号b1对应通过面面相交重建的网格模型,标号b2对应基于marchingcube重建的网格模型,由图可知,通过本申请提供的城市场景重建方法重建的网格模型中的网格非常紧凑,并保留了税利的边缘。可以理解,本实施例中,目标城市场景中待重建的目标物体是目标图像帧中的建筑物。

在一个实施例中,对于本申请的一个或多个实施例中所涉及的物体重建网络,所能重建的目标物体的物体类型与训练该物体重建网络的训练数据相关,比如,若需重建的目标物体的物体类型为车辆,则训练数据所涉及的目标物体的物体类型也是车辆,若需重建的目标物体的物体类型为建筑物,则训练数据所涉及的目标物体的物体类型也是建筑物。

由此可见,采用本申请提供的城市场景重建方法重建场景三维模型,对于不同场景下采集的目标图像帧均能够恢复出准确的模型,从而验证了该方法的准确性与有效性。

图7a为一个实施例中基于真值模型对目标物体进行重建的效果示意图。如图7a所示,基于真值模型重建得到的网格模型具有32070个顶点与55324个三角面片。图7b为一个实施例中基于bsp-net(一种通过二进制空间划分生成紧凑网格的网络)对目标物体进行重建的效果示意图。如图7b所示,基于bsp-net重建得到的网格模型具有5868个顶点与3588个三角面片。图7c为一个实施例中基于本申请提供的城市场景重建方法对目标物体进行重建的效果示意图。如图7c所示,基于本申请提供的城市场景重建方法重建得到的网格模型具有1872个顶点与1160个三角面片。由图7a-图7c可知,基于真值模型、bsp-net与本申请提供的城市场景重建方法,分别对同一目标物体(卡车)进行重建均能得到相应的网格模型,而采用本申请提供的城市场景重建方法重建得到的网格模型,具有更少的顶点与三角面片,且更类似于真实模型实况,具体可参见车顶与后保险杠区域。由此可见,采用本申请提供的城市场景重建方法重建网格模型能够降低模型复杂度。值得说明的是,即便采用固定平面数量的平面来重建不同的对象,三角剖分后获得的三角形数量也会变化。由此可见,本申请提供的城市场景重建方法能够重建出更简洁而准确的网格模型。

在一个实施例中,本申请提供的城市场景重建方法应用与城市场景重建系统,该城市场景重建系统可搭载在车辆上,完成辅助驾驶探索周围车辆的任务。

应该理解的是,虽然图1与图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1与图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种城市场景重建装置800,包括:获取模块801、定位模块802、物体特征提取模块803、平面特征提取模块804、平面组合模块805和重建模块806,其中:

获取模块801,用于获取目标城市场景对应的目标图像帧,以及目标图像帧的相邻图像帧;

定位模块802,用于根据目标图像帧与相邻图像帧对目标图像帧进行物体定位,得到目标物体对应的物体点云、物体图像与坐标变换矩阵;

物体特征提取模块803,用于根据物体点云与物体图像确定目标物体的全局特征与待选取面参数;

平面特征提取模块804,用于根据待选取面参数与全局特征确定待选取面特征;

平面组合模块805,用于根据待选取面特征确定目标物体的平面组合矩阵;

重建模块806,用于根据平面组合矩阵、待选取面参数与坐标变换矩阵重建目标城市场景的场景三维模型。

在一个实施例中,定位模块802,还用于根据目标图像帧与相邻图像帧确定目标图像帧对应的场景点云;对目标图像帧进行实例分割得到相应图像掩膜;根据场景点云与图像掩膜确定目标图像帧中目标物体对应的物体点云与坐标变换矩阵;根据目标图像帧与图像掩膜确定目标物体对应的物体图像。

在一个实施例中,定位模块802,还用于根据图像掩膜对场景点云进行分割得到目标图像帧中目标物体对应的初始点云;将初始点云变换至重建坐标系得到目标物体对应的物体点云与坐标变换矩阵。

在一个实施例中,物体特征提取模块803,还用于根据物体点云确定目标物体的点云特征;根据物体图像确定目标物体的图像特征;根据点云特征与图像特征确定目标物体的全局特征与待选取面参数。

在一个实施例中,平面特征提取模块804,还用于根据待选取面参数确定目标物体的每个待选取面在全局信息量中的每个单元的权重;根据权重与全局特征确定相应待选取面特征。

在一个实施例中,重建模块806,还用于根据平面组合矩阵与待选取面参数重建目标物体对应的物体三维模型;根据物体三维模型与坐标变换矩阵重建目标城市场景的场景三维模型。

在一个实施例中,重建模块806,还用于将平面组合矩阵与待选取面参数相乘得到凸包组;根据凸包组重建目标物体对应的物体三维模型。

关于城市场景重建装置的具体限定可以参见上文中对于城市场景重建方法的限定,在此不再赘述。上述城市场景重建装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种城市场景重建方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取目标城市场景对应的目标图像帧,以及目标图像帧的相邻图像帧;根据目标图像帧与相邻图像帧对目标图像帧进行物体定位,得到目标物体对应的物体点云、物体图像与坐标变换矩阵;根据物体点云与物体图像确定目标物体的全局特征与待选取面参数;根据待选取面参数与全局特征确定待选取面特征;根据待选取面特征确定目标物体的平面组合矩阵;根据平面组合矩阵、待选取面参数与坐标变换矩阵重建目标城市场景的场景三维模型。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据目标图像帧与相邻图像帧确定目标图像帧对应的场景点云;对目标图像帧进行实例分割得到相应图像掩膜;根据场景点云与图像掩膜确定目标图像帧中目标物体对应的物体点云与坐标变换矩阵;根据目标图像帧与图像掩膜确定目标物体对应的物体图像。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据图像掩膜对场景点云进行分割得到目标图像帧中目标物体对应的初始点云;将初始点云变换至重建坐标系得到目标物体对应的物体点云与坐标变换矩阵。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据物体点云确定目标物体的点云特征;根据物体图像确定目标物体的图像特征;根据点云特征与图像特征确定目标物体的全局特征与待选取面参数。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据待选取面参数确定目标物体的每个待选取面在全局信息量中的每个单元的权重;根据权重与全局特征确定相应待选取面特征。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据平面组合矩阵与待选取面参数重建目标物体对应的物体三维模型;根据物体三维模型与坐标变换矩阵重建目标城市场景的场景三维模型。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:将平面组合矩阵与待选取面参数相乘得到凸包组;根据凸包组重建目标物体对应的物体三维模型。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取目标城市场景对应的目标图像帧,以及目标图像帧的相邻图像帧;根据目标图像帧与相邻图像帧对目标图像帧进行物体定位,得到目标物体对应的物体点云、物体图像与坐标变换矩阵;根据物体点云与物体图像确定目标物体的全局特征与待选取面参数;根据待选取面参数与全局特征确定待选取面特征;根据待选取面特征确定目标物体的平面组合矩阵;根据平面组合矩阵、待选取面参数与坐标变换矩阵重建目标城市场景的场景三维模型。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据目标图像帧与相邻图像帧确定目标图像帧对应的场景点云;对目标图像帧进行实例分割得到相应图像掩膜;根据场景点云与图像掩膜确定目标图像帧中目标物体对应的物体点云与坐标变换矩阵;根据目标图像帧与图像掩膜确定目标物体对应的物体图像。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据图像掩膜对场景点云进行分割得到目标图像帧中目标物体对应的初始点云;将初始点云变换至重建坐标系得到目标物体对应的物体点云与坐标变换矩阵。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据物体点云确定目标物体的点云特征;根据物体图像确定目标物体的图像特征;根据点云特征与图像特征确定目标物体的全局特征与待选取面参数。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据待选取面参数确定目标物体的每个待选取面在全局信息量中的每个单元的权重;根据权重与全局特征确定相应待选取面特征。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据平面组合矩阵与待选取面参数重建目标物体对应的物体三维模型;根据物体三维模型与坐标变换矩阵重建目标城市场景的场景三维模型。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将平面组合矩阵与待选取面参数相乘得到凸包组;根据凸包组重建目标物体对应的物体三维模型。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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