三维重建方法、装置、设备及可读储存介质制造方法及图纸

技术编号:25953630 阅读:17 留言:0更新日期:2020-10-17 03:46
本申请公开了一种三维重建方法、装置、设备及可读储存介质,涉及人工智能领域以及自动驾驶技术领域。具体实现方案为:电子设备获取第一相机与各第二相机之间的外参,根据第一相机和各第二相机之间的外参以及第一相机的位姿,确定三维点云的重投影误差函数。然后,根据该重投影误差函数调整三维点云中各三维点的三维坐标以得到新的三维点云和新的位姿。最后,电子设备根据新的三维点云和位姿进行三维重建。该方法提高了三维点云和相机姿态的精度。

【技术实现步骤摘要】
三维重建方法、装置、设备及可读储存介质
本申请实施例涉及计算机视觉
,尤其涉及一种三维重建方法、装置、设备及可读储存介质。
技术介绍
三维重建是计算机视觉
中的研究热点之一,三维重建技术旨在基于二维图像在计算机中重建出真实物体的三维虚拟模型,并在计算机屏幕上展示三维虚拟模型。基于从运动恢复结构(struct-from-motion,SFM)的三维重建技术中,利用相机采集一系列图像,根据该些图像生成三维点云以及相机姿态等。上述基于SFM的三维重建方法中,生成的三维点云的尺度和真实尺度不一样,限制了三维点云的使用。
技术实现思路
本申请提供了一种三维重建方法、装置、设备及可读储存介质。第一方面,本申请实施例提供一种三维重建方法,包括:获取第一相机和至少一个第二相机中各第二相机之间的外参。根据所述第一相机和各所述第二相机之间的外参,以及所述第一相机的位姿,确定三维点云的重投影误差函数。根据所述重投影误差函数,迭代调整所述三维点云中各三维点的三维坐标以及所述第一相机的位姿,以得到新的三维点云和新的位姿。根据所述新的三维点云和新的位姿进行三维重建。第二方面,本申请实施例提供一种三维重建装置,包括:获取模块,用于获取第一相机和至少一个第二相机中各第二相机之间的外参。确定模块,用于根据所述第一相机和各所述第二相机之间的外参,以及所述第一相机的位姿,确定三维点云的重投影误差函数。调整模块,用于根据所述重投影误差函数,迭代调整所述三维点云中各三维点的三维坐标以及所述第一相机的位姿,以得到新的三维点云和新的位姿。重建模块,用于根据所述新的三维点云和新的位姿进行三维重建。第三方面、本申请实施例提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面或第一方面任意可能实现的方法。第四方面,本申请实施例提供一种包含指令的计算机程序产品,当其在电子设备上运行时,使得电子设备计算机执行上述第一方面或第一方面的各种可能的实现方式中的方法。第五方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述电子设备执行上述第一方面或第一方面的各种可能的实现方式中的方法。第六方面,本申请实施例提供一种三维重建方法,包括:根据第一相机和各第二相机之间的外参,以及第一相机的位姿,确定三维点云的重投影误差函数,根据所述重投影误差函数,调整所述三维点云中各三维点为三维坐标,以得到新的三维点云,调整所述第一相机的位姿,以得到新的位姿。应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是本申请实施例提供的三维重建方法的网络架构示意图;图2是本申请实施例提供的三维重建方法的流程图;图3是本申请实施例提供的告三维重建方法中第二相机的位置示意图;图4是本申请实施例提供的三维重建方法的流程图;图5为本申请实施例提供的一种三维重建装置的结构示意图;图6是本申请实施例提供的另一种三维重建装置;图7是用来实现本申请实施例的三维重建方法的电子设备的框图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。目前,随着人工智能(artificialintelligence,AI)的飞速发展,无人驾驶技术也日益成熟。无人驾驶也称为自动驾驶。自动驾驶过程中,自动驾驶车辆利用地图进行导航、定位等。生成地图的过程中,在采集车上设置多个同型号的相机,利用该些相机采集一系列图像,进而基于SFM的三维重建技术,利用该些图像生成三维点云以及相机的位姿等。上述基于SFM的三维重建生成的三维点云的长度与真实世界的尺度不一样,限制了三维点云在车辆目标定位以及路径规划时的使用。而且,各同型号相机的可视范围相互重叠率较高,导致上述基于SFM的三维重建方式生成三维点云的过程比较受限。有鉴于此,本申请实施例提供一种三维重建方法、装置、设备及可读储存介质,通过将异构相机之间的相对外参作为优化约束项进行三维重建,使得最终生成的三维点云具有真实世界的尺度,从而拓展三维点云的使用范围。图1是本申请实施例提供的三维重建方法的网络架构示意图。请参照图1,该网络架构包括服务器1、设置在采集车上的车载终端2,车载终端2和服务器1之间建立网络连接。采集车上还设置有第一相机3和至少一个第二相机4,第一相机4和至少一个第二相机用于获取关键帧以得到关键帧集合。当车载终端2执行本申请实施例提供的三维重建方法时,车载终端2基于关键帧集合生成一个原始的粗糙的三维点云、第一相机的位姿等。车载终端2从服务器1等获取第一相机与各第二相机之间的外参,基于该些外参以及原始的三维点云、第一相机的位姿等构建重投影误差函数,进而基于该重投影误差函数调整三维点云中各三维点的坐标以及第一相机的位姿,生成新的三维点云和新的位姿,进而根据新的三维点云和新的位姿进行三维重建。当服务器1执行本申请实施例提供的三维重建方法时,车载终端1获取第一相机、第二相机拍摄的关键帧并发送给服务器1,或者,第一相机、第二相机直接将拍摄的关键帧发给服务器1。服务器1基于关键帧集合进行三维重建,具体可参见上述车载终端1的描述,此处不再赘述。下面,基于图1所述网络架构对本申请实施例所述的三维重建方法进行详细说明。示例性的,可参见图2。图2是本申请实施例提供的三维重建方法的流程图。本实施例的执行主体是电子设备,该电子设备例如为图1中的服务器或车载终端。该方法包括:101、获取第一相机和至少一个第二相机中各第二相机之间的外参等。示例性的,第一相机例如为广角相机,第二相机例如为鱼眼相机。第一相机通常朝向采集车的正前方,因此也称为前向广角相机。第一相机和第二相机互为异构相机,不同的第二相机互为同型号相机。第一相机和第二相机之间的外参也称为异构相机之间的外参,包括旋转矩阵和平移向量等。其中,平移向量也称为平移矩阵等。电子设备通过读取本地配置文件获取第一相机和各第二相机之间的外参;或者,电子设备从远端数据库获取第一相机和各第二相机之间的外参等,本申请实施例并不限制。需要说明的是,本申请实施例中的外参指的是第一相机和第二相机之间的相对外参,而不是绝对外参。这是因为采集本文档来自技高网...

【技术保护点】
1.一种三维重建方法,包括:/n获取第一相机和至少一个第二相机中各第二相机之间的外参;/n根据所述第一相机和各所述第二相机之间的外参,以及所述第一相机的位姿,确定三维点云的重投影误差函数;/n根据所述重投影误差函数,迭代调整所述三维点云中各三维点的三维坐标以及所述第一相机的位姿,以得到新的三维点云和新的位姿;/n根据所述新的三维点云和新的位姿进行三维重建。/n

【技术特征摘要】
1.一种三维重建方法,包括:
获取第一相机和至少一个第二相机中各第二相机之间的外参;
根据所述第一相机和各所述第二相机之间的外参,以及所述第一相机的位姿,确定三维点云的重投影误差函数;
根据所述重投影误差函数,迭代调整所述三维点云中各三维点的三维坐标以及所述第一相机的位姿,以得到新的三维点云和新的位姿;
根据所述新的三维点云和新的位姿进行三维重建。


2.根据权利要求1所述的方法,其中,所述根据所述第一相机和各所述第二相机之间的外参,以及所述第一相机的位姿,确定三维点云的重投影误差函数,包括:
根据所述第一相机和各所述第二相机之间的外参,以及所述第一相机的位姿,确定各所述第二相机的位姿;
根据所述第一相机的位姿、各所述第二相机的位姿和所述三维点云,确定所述三维点云的重投影误差函数。


3.根据权利要求2所述的方法,其中,所述根据所述第一相机的位姿、各所述第二相机的位姿和所述三维点云,确定所述三维点云的重投影误差函数,包括:
对于所述三维点云中的每个三维点,确定所述三维点在所述第一相机的位姿下的重投影误差,以及所述三维点在各所述第二相机的位姿下的重投影误差,根据所述三维点在所述第一相机的位姿下的重投影误差以及所述三维点在各所述第二相机的位姿下的重投影误差,确定所述三维点的重投影误差;以得到所述三维点云中各三维点的重投影误差;
根据所述三维点云中各三维点的重投影误差,确定所述三维点云的重投影误差函数。


4.根据权利要求1-3任一项所述的方法,其中,所述根据所述第一相机和各所述第二相机之间的外参,以及所述第一相机的位姿,确定三维点云的重投影误差函数之前,还包括:
获取关键帧集合,所述关键帧集合包含所述第一相机获取的M个关键帧和所述至少一个第二相机中各第二相机各自获取的M个关键帧,所述第一相机的M个关键帧和所述第二相机的M个关键帧中的关键帧一一对应,所述第一相机和所述第二相机是不同型号的相机;
对所述关键帧集合中的每一对关键帧进行特征点匹配,以得到多对匹配点;
确定所述多对匹配点中的每一对匹配点对应的三维点,以得到所述三维点云。


5.根据权利要求4所述的方法,其中,所述获取关键帧集合,包括:
获取所述第一相机拍摄的第一视频,以及所述至少一个第二相机各自拍摄的第二视频;
每隔预设时长对所述第一视频和所述第二视频分别提取关键帧,以得到所述关键帧集合。


6.根据权利要求4所述的方法,其中,所述获取关键帧集合,包括:
在采集车每移动预设距离时,获取所述第一相机和各所述第二相机对所述采集车周围环境拍摄的图像以得到所述关键帧集合,所述第一相机和所述第二相机设置在所述采集车上。


7.根据权利要求4所述的方法,其中,所述根据所述重投影误差函数,迭代调整所述三维点云中各三维点的三维坐标以及所述第一相机的位姿,以得到新的三维点云和新的位姿,包括:
根据所述重投影误差函数,迭代调整所述关键帧集合中每个关键帧对应的相机的位姿,以使得所述重投影误差函数的值最小;
根据调整后的关键帧确定新的三维点;
根据所述新的三维点生成所述新的三维点云。


8.根据权利要求1-3任一项所述的方法,其中,所述第一相机为广角相机,所述第二相机为鱼眼相机。


9.根据权利要求1-3任一项所述的方法,其中,所述根据所述新的三维点云和新的位姿进行三维重建后,还包括:
根据所述三维重建得到的地图控制自动驾驶车辆的行驶路线。


10.一种三维重建装置,包括:
获取模块,用于获取第一相机和至少一个第二相机中各第二相机之间的外参;
确定模块,用于根据所...

【专利技术属性】
技术研发人员:姚萌
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1