掌桥专利:专业的专利平台
掌桥专利
首页

地图重建方法及装置、计算机可读介质和电子设备

文献发布时间:2023-06-19 11:19:16


地图重建方法及装置、计算机可读介质和电子设备

技术领域

本公开涉及三维地图技术领域,具体涉及一种地图重建方法、地图重建装置、计算机可读介质和电子设备。

背景技术

伴随着人们生活水平的不断提高,增强现实技术(Augmented Reality,AR)越来越得到人们的广泛关注。其中AR地图导航是指根据采集的场景图像构建虚拟的三维地图,并基于构建的三维地图实现视觉定位的技术。

相关技术中,在通过全景图像进行三维重建时,由于全景图片是球形成像模型,图片畸变过大,导致三维重建效果较差,同时由于大多数三维重建系统对于全景图像的重建的稳定性远远不如普通图像,其次,用户定位使用的终端设备通常是手机,AR眼镜等搭载的都是针孔相机或鱼眼相机的终端设备,进而导致普通图像和全景图像的匹配效果较差,定位精度差。

发明内容

本公开的目的在于提供一种地图重建方法、地图重建装置、计算机可读介质和电子设备,进而至少在一定程度上避免相关技术中通过全景图像构建的三维地图的定位精确度差的问题。

根据本公开的第一方面,提供一种地图重建方法,包括:

获取当前场景的全景图像;

对所述全景图像进行图像分割,得到多个目标图像;其中,所述多个目标图像之间存在相对位姿关系;

匹配所述多个目标图像之间的特征点对,并从所述特征点对中筛选得到目标特征点对;

根据所述目标特征点对以及所述相对位姿关系,重建所述当前场景的三维点云地图

根据本公开的第二方面,提供一种地图重建装置,包括:

全景图像获取模块,用于获取当前场景的全景图像;

全景图像分割模块,用于对所述全景图像进行图像分割,得到多个目标图像;其中,所述多个目标图像之间存在相对位姿关系;

特征点对筛选模块,用于匹配所述多个目标图像之间的特征点对,并从所述特征点对中筛选得到目标特征点对;

地图重建模块,用于根据所述目标特征点对以及所述相对位姿关系,重建所述当前场景的三维点云地图。

根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。

根据本公开的第四方面,提供一种电子设备,其特征在于,包括:

处理器;以及

存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。

本公开的一种实施例所提供的地图重建方法,获取当前场景对应的全景图像,然后对全景图像进行图像分割,得到存在相对位姿关系的多个目标图像,确定多个目标图像对应的特征点对,并从特征点对中筛选得到目标特征点对;根据目标特征点对以及相对位姿关系,重建当前场景对应的三维点云地图。一方面,通过对全景图像进行切割,并通过切割得到的存在相对位姿关系的多个目标图像进行三维重建,能够避免由于全景图像畸变较大导致的重建成功率较低以及三维重建效果较差的问题;另一方面,通过全景图像切割得到的存在相对位姿关系的多个目标图像进行三维重建,使三维重建得到的三维点云地图适用范围更广,有效提升不同终端设备采集的定位图像在三维点云地图中的定位精确度;再一方面,通过全景图像构建三维地图,能够有效提升构建的三维点云地图的全面性,避免普通图像构建的三维点云地图存在盲点的问题,有效提升定位的成功率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;

图2示出了可以应用本公开实施例的一种电子设备的示意图;

图3示意性示出本公开示例性实施例中一种地图重建方法的流程图;

图4示意性示出本公开示例性实施例中一种分割全景图像的流程图;

图5示意性示出本公开示例性实施例中一种基于像素映射关系生成目标图像的流程图;

图6示意性示出本公开示例性实施例中一种基于正六面体的切割模型的原理示意图;

图7示意性示出本公开示例性实施例中一种将全景图像分割生成目标图像的原理示意图;

图8示意性示出本公开示例性实施例中一种确定目标图像对应的特征点对的流程图;

图9示意性示出本公开示例性实施例中一种重建目标图像生成三维点云地图的流程图;

图10示意性示出本公开示例性实施例中地图重建装置的组成示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

图1示出了可以应用本公开实施例的一种地图重建方法及装置的示例性应用环境的系统架构的示意图。

如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。

本公开实施例所提供的地图重建方法一般由终端设备101、102、103中执行,相应地,地图重建装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的地图重建方法也可以由服务器105执行,相应的,地图重建装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103采集当前场景对应的全景图像,然后将全景图像上传至服务器105,服务器通过本公开实施例所提供的地图重建方法生成三维点云地图后,将三维点云地图传输给终端设备101、102、103等。

本公开的示例性实施方式提供一种用于实现地图重建方法的电子设备,其可以是图1中的终端设备101、102、103或服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行地图重建方法。

下面以图2中的移动终端200为例,对电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。在另一些实施方式中,移动终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端200的结构限定。在另一些实施方式中,移动终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。

如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、通用串行总线(Universal Serial Bus,USB)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803等。

处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(Application Processor,AP)、调制解调处理器、图形处理器(Graphics ProcessingUnit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)、基带处理器和/或神经网络处理器(Neural-Network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

NPU为神经网络(Neural-Network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现移动终端200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

处理器210中设置有存储器。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器210来控制执行。

充电管理模块240用于从充电器接收充电输入。电源管理模块241用于连接电池242、充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210、内部存储器221、显示屏290、摄像模组291和无线通信模块260等供电。

移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号;移动通信模块250可以提供应用在移动终端200上的包括2G/3G/4G/5G等无线通信的解决方案;调制解调处理器可以包括调制器和解调器;无线通信模块260可以提供应用在移动终端200上的包括无线局域网(Wireless Local Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)、蓝牙(Bluetooth,BT)等无线通信的解决方案。在一些实施例中,移动终端200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得移动终端200可以通过无线通信技术与网络以及其他设备通信。

移动终端200通过GPU、显示屏290及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏290和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

移动终端200可以通过ISP、摄像模组291、视频编解码器、GPU、显示屏290及应用处理器等实现拍摄功能。其中,ISP用于处理摄像模组291反馈的数据;摄像模组291用于捕获静态图像或视频;数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号;视频编解码器用于对数字视频压缩或解压缩,移动终端200还可以支持一种或多种视频编解码器。

外部存储器接口222可以用于连接外部存储卡,例如Micro SD卡,实现扩展移动终端200的存储能力。外部存储卡通过外部存储器接口222与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储移动终端200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。处理器210通过运行存储在内部存储器221的指令和/或存储在设置于处理器中的存储器的指令,执行移动终端200的各种功能应用以及数据处理。

移动终端200可以通过音频模块270、扬声器271、受话器272、麦克风273、耳机接口274及应用处理器等实现音频功能。例如音乐播放、录音等。

深度传感器2801用于获取景物的深度信息。在一些实施例中,深度传感器可以设置于摄像模组291。

压力传感器2802用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器2802可以设置于显示屏290。压力传感器2802的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。

陀螺仪传感器2803可以用于确定移动终端200的运动姿态。在一些实施方式中,可以通过陀螺仪传感器2803确定移动终端200围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器2803可以用于拍摄防抖、导航、体感游戏场景等。

此外,还可以根据实际需要在传感器模块280中设置其他功能的传感器,例如气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器、骨传导传感器等。

移动终端200中还可包括其它提供辅助功能的设备。例如,按键294包括开机键,音量键等,用户可以通过按键输入,产生与移动终端200的用户设置以及功能控制有关的键信号输入。再如,指示器292、马达293、SIM卡接口295等。

在视觉定位、AR导航等应用中,首先需要对现实场景进行三维重建,生成三维点云地图。普通的针孔相机由于视角覆盖范围小,重建出的场景会在某些视角方向存在盲区,定位图片和建图集图片无法产生足够多的匹配关系,而造成定位失败的情况。另一方面,全景相机的优点是在一个曝光点可以采集到周围360度的所有视觉信息,极大地避免了因建图视角覆盖单一而造成的定位失败问题。但是,全景图片是球形成像模型,图片畸变过大,存在以下两个方面的缺陷,一是现有的三维重建系统,对于全景图片的重建的稳定性远远不如普通相机,二是,用户定位使用的终端设备通常是手机,AR眼镜等,搭载的都是针孔相机或鱼眼相机,普通图片和全景图片的匹配效果较差,难以提高定位精度。

一般来说,全景图片的切割方法通常应用于数据流的传输,将分辨率过大的全景图片切割成若干份分辨率较小的图片,通过全景图片二维像素点到空间中的投射关系,再将其反投影至无畸变的针孔相机平面,以此来确定切割后的二维图片的像素点信息。以及相关方案中,基于全景图片的三维重建通常会增加结构光,激光等模块进行辅助,来获取空间三维点的信息。但是,受限于全景成像模型的特点,基于纯视觉的全景三维重建稳定性较差,难以生成稳定的三维点信息,且构建的地图不适用于手机,AR眼镜等设备的定位需求。

一种技术方案中,确定输出图片的每个像素点在三维坐标系中的坐标值,构建对应的矩阵,再将坐标值反向映射至全景图片上,达到高效快速的切图。但是,这种方案中针对全景图片的切割,没有考虑到切割模型和切割后的图片之间的相对位姿,只适用于图片数据流的传输。

另一种技术方案中,全景三维建模装置包括结构光投射模块,拍摄模块,转动平台模块,利用结构光方便准确地获取场景空间的结构信息,但避开了全景图像的视觉成像问题,同时使用结构光,激光等硬件设备,操作复杂,设备成本高,无法适用于大型场景的重建。

再一种技术方案中,提出了基于激光扫描的全景三维重建系统,包括控制转台,相机,激光发射器等装置,类似于上述的结构光装置,利用激光获取场景的三维结构,并没有从根本上解决全景图片的视觉重建问题,只是利用旋转平台装置达到全景效果,不适用视觉定位和AR导航中的三维地图构建。

下面对本公开示例性实施方式的地图重建方法和地图重建装置进行具体说明。

图3示出了本示例性实施方式中一种地图重建方法的流程,包括以下步骤S310至步骤S340:

在步骤S310中,获取当前场景的全景图像。

在一示例性实施例中,当前场景是指需要构建三维点云地图的场景,例如,当前场景可以是室内环境对应的场景,也可以是超市环境对应的场景,本示例实施例对此不做特殊限定。

全景图像可以是通过全景采集单元采集的当前场景对应的360度视角信息的场景图像,相对于普通采集单元即针孔相机或者鱼眼相机等采集方式,全景采集单元是球形成像模型,采集的当前场景的视觉信息更加全面,可以避免普通图像重建出的三维场景在某些视角方向存在盲区的问题。

在步骤S320中,对所述全景图像进行图像分割,得到多个目标图像;其中,所述多个目标图像之间存在相对位姿关系。

在一示例性实施例中,目标图像是指将全景图像切割后得到的普通图像,例如,目标图像可以是切割全景图像得到的当前场景对应的正前方、正后方、正左方、正右方、正上方、正下方对应的普通图像,当然,此处仅是举例说明,并不应对本示例实施例造成任何特殊限定。

在步骤S330中,匹配所述多个目标图像之间的特征点对,并从所述特征点对中筛选得到目标特征点对。

在一示例性实施例中,特征点对是指将两张目标图像中的提取的特征点进行匹配得到的同名点,即特征点对可以是指两张目标图像上特征描述子最相近的特征点作为一个匹配对,可以认为特征点对是三维空间中同一个物点在不同位置和角度上的投影。但是,全景图像由于相邻场景会被分布在图像的左右两侧,造成匹配的一致性不再满足,因此需要对得到的特征点对进行过滤筛选,得到目标特征点对,即目标特征点对是对所有的特征点对筛选过滤后得到的匹配内点,其一致性满足几何约束。

在步骤S340中,根据所述目标特征点对以及所述相对位姿关系,重建所述当前场景的三维点云地图。

在一示例性实施例中,相对位姿关系可以是指在对全景图像进行切割时存在的约束关系,例如,相对位置关系可以是正六面体形状的约束关系,假设对全景图像进行切割之后,可以得到六张目标图像,这六张目标图像之间的约束关系,即基于正方向来说,各目标图像的相对位姿关系可以分为正前方、正后方、正左方、正右方、正上方、正下方,当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。

下面对步骤S310至步骤S340进行详细说明。

在一示例性实施例中,为了将全景图像切割为存在相对位姿关系的多个目标图像,可以获取预设的切割模型,并基于切割模型对全景图像进行图像分割,得到多个目标图像。

其中,切割模型可以是指预先设置、用于将全景图像切割成无畸变和无重叠的普通图像的图像分割模型,例如,切割模型可以是基于正六面体的无切割交叠的图像分割模型,也可以是基于正四面体的无切割交叠的图像分割模型,当然,还可以是其他任意形状的无切割交叠的图像分割模型,本示例实施例对此不做特殊限定。该切割模型可以包含相对位姿关系,通过该切割模型分割全景图像,能够有效提高全景图像的分割效率,使得到的多个目标图像存在约束关系即相对位姿关系。

在一示例性实施例中,可以通过切割模型对应的旋转矩阵对全景图像进行图像分割,参考图4所示,具体可以包括:

步骤S410,确定所述切割模型对应的旋转矩阵;

步骤S420,根据所述旋转矩阵确定虚拟相机视角,并基于所述虚拟相机视角对所述全景图像进行图像分割,得到多个目标图像。

其中,旋转矩阵是指在乘以一个向量的时候改变向量的方向但不改变向量的大小并保持了手性的矩阵,不同结构的切割模型对应的不同的旋转矩阵,通过确定切割模型对应的旋转矩阵,进而实现对全景图像的图像分割。

虚拟相机视角是指基于切割模型对应的虚拟相机光心位置以及旋转矩阵确定得到的虚拟视角,通过虚拟相机光心位置以及旋转矩阵确定得到的虚拟视角实现对全景图像中像素点的划分,并进行分割,使全景图像分割为符合切割模型的结构的目标图像,例如,对于基于正六面体的切割模型,将该正六面体切割模型的中心作为虚拟相机光心位置,则正六面体切割模型中每个面的顶点到虚拟相机光心位置构成的视角就是虚拟相机视角,该正六面体切割模型共有六个不同方向的虚拟相机视角。当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。

具体的,可以通过虚拟相机视角对全景图像中的像素点进行转换以实现图像分割,参考图5所示,具体可以包括:

步骤S510,基于所述虚拟相机视角将所述全景图像无重叠分割为多个图像区域;

步骤S520,根据所述旋转矩阵确定像素映射关系;

步骤S530,通过所述像素映射关系将所述图像区域中的像素点进行转换,并通过转换后的像素点生成目标图像。

其中,图像区域是指在通过切割模型对全景图像进行切割时、切割模型对应的虚拟相机视角投影在全景图像上的区域,例如,对于基于正六面体的切割模型对应的不同方向上的虚拟相机视角,将全景图像分割为不同方向上的不存在重叠的六个图像区域。

像素映射关系是指将全景图像分割得到的各图像区域中像素点与目标图像像素点之间的映射关系,通过旋转矩阵确定各图像区域中像素点与目标图像的像素点之间的像素映射关系,能够准确将全景图像转换成多个目标图像,有效提高通过多个目标图像重建得到的三维点云地图的准确率。

图6示意性示出本公开示例性实施例中一种基于正六面体的切割模型的原理示意图。

参考图6所示,可以正六面体切割模型601的中心点O作为虚拟相机的光心位置,切割后的所有目标图像的光心均在同一个位置O,以正前方的虚拟相机视角602为基准,绕正前方虚拟相机视角602的Y轴分别旋转90度,180度,270度,得到右视虚拟相机视角,后视虚拟相机视角,左视虚拟相机视角,绕正前方虚拟相机视角602的X轴分别旋转90度和负90度,得到上视虚拟相机视角和下视虚拟相机视角。其中f为切割后得到的目标图像的焦距,六张目标图像的分辨率、焦距和主点相同,图像大小以及相对位置坐标与原全景图像的映射关系可以表示为关系式(1)、(2)、(3):

其中,W

正六面体切割模型601被固定在O(u,v,w)点之后,切割后目标图像的像素点与全景图像中各虚拟相机视角对应图像区域中的像素点之间的映射关系可以表示关系式(4)、(5)、(6):

其中,x

图7示意性示出本公开示例性实施例中一种将全景图像分割生成目标图像的原理示意图。

参考图7所示,基于正六面体切割模型601将全景图像701进行图像分割,分割得到正前方虚拟相机视角702、正后方虚拟相机视角703、左视虚拟相机视角704以及右视虚拟相机视角705,由于上视虚拟相机视角与下视虚拟相机视角通常对应的场景是天空和地面,因此特征点较少,对重建的帮助不大,在这里不做展示。

在一示例性实施例中,可以通过以下步骤确定目标图像对应的特征点对,参考图8所示,具体可以包括:

步骤S810,对所述多个目标图像进行特征提取,确定所述多个目标图像各自对应的特征点;

步骤S820,基于所述特征点对所述多个目标图像进行特征匹配,匹配得到所述目标图像之间的特征点对。

其中,特征提取是指通过特征提取算法对目标图像中的感兴趣点进行检测识别的处理过程,例如,特征提取算法可以包括尺度不变特征变换特征提取算法(Scale-invariant feature transform,SIFT),加速稳健特征提取算法(Speeded Up RobustFeatures,SURF),快速特征提取算法(Oriented Fast and Rotated Brief,ORB)以及学习型的SuperPoint特征,R2D2特征等,在将全景图像分割后得到目标图像,对于目标图像的特征提取与普通图像的特征提取方法一致,本示例实施例对此不做特殊限定。提取特征点的主要目的是获取目标图像中的感兴趣点,如目标图像中的角点、边界等梯度变化较大的像素点,而学习型的特征点还可以包含像素点的高层语义信息等,每个特征点都会有相应的特征描述子对其进行描述,例如,特征描述子可以包括但不限于Brief特征描述子、HOG特征描述子、SIFT特征描述子等,本示例实施例不以此为限。

特征点匹配是指将两张目标图像上的特征描述子最相似的特征点作为一个匹配点对,可以认为匹配的特征点对是三维空间中同一个物点在不同位置和角度上的投影,称之为同名点。传统的特征点匹配方法有暴力匹配、KNN匹配等,在K=2时,匹配效率和匹配精度都可以达到要求。而学习型的匹配方法可以包括Superglue等,用于适配SuperPoint特征的匹配。由于特征匹配是根据特征点描述子的距离(如欧氏距离等)进行匹配的,因此,全景图像对应的目标图像和普通图像在特征点匹配上没有差别,本示例实施例对此不做任何特殊限定。

进一步的,可以对特征点对进行随机一致性采样,估计基础矩阵(Fundamental),进而可以根据基础矩阵对特征点对进行极线约束验证,筛选得到目标特征点对。具体的,可以根据基础矩阵进行几何约束验证,理想条件下,两张目标图像相互如果匹配,那么左边目标图像中特征点的同名点会在对应的右图的极线上,由关系式(7)所示:

其中,F可以表示基础矩阵,[x y 1]和[x′ y′ 1]可以分别表示一对匹配特征点的坐标。利用随机一致性采样(RANdom SAmple Consensus,RANSAC)方法,可以估算出最符合条件的基础矩阵和特征点匹配对,过滤掉匹配错误的特征点对。由于全景图像的相邻场景会被分布在图像的左右两侧,造成匹配的一致性不再满足,用随机一致性采样方法会过滤掉匹配正确的内点,而针孔相机模型不存在该问题,这是对全景图像进行切割成目标图像的另一个优点。

在一示例性实施例中,可以通过以下步骤重建当前场景对应的三维点云地图,参考图9所示,具体可以包括:

步骤S910,从所述多个目标图像中确定初始图像匹配对,并通过所述初始图像匹配对包含的目标特征点对进行三维重建得到初始三维点云地图;

步骤S920,获取下一帧待重建目标图像,并将所述相对位姿关系作为约束项调整所述待重建目标图像在所述初始三维点云地图的相机位姿,以将所述待重建目标图像重建到所述初始三维点云地图中得到所述当前场景的三维点云地图。

其中,初始图像匹配对(Initial Image Pair)是指最开始用于三维重建的基础图像,初始图像匹配对需要满足以下要求:第一,初始图像匹配对中的匹配特征点对的数量足够多,第二,初始图像匹配对的基线长度足够长,第三,初始图像匹配对中用于三角化的三维点的质量足够稳定。

在确定初始图像匹配对之后,可以重建初始图像匹配对,具体可以根据初始图像匹配对之间特征点对的匹配关系,估计两张目标图像之间的相对位姿,然后对特征点匹配对进行三角化,获得初始三维点云地图,最后通过极线约束、视角约束等条件对初始三维点云地图进行优化与滤波,进而可以将其他目标图像的特征点更新融合到该初始三维点云地图中,最终得到当前场景对应的三维点云地图。

具体的,不断从剩余的目标图像中获取下一帧待重建目标图像,即,将一帧待重建目标图像融合到初始三维点云地图后得到更新后的初始三维点云地图,进而继续获取再下一帧待重建目标图像,将待重建目标图像更新后的初始三维点云地图中,不断进行三维重建,直到将所有的目标图像三维重建更新到初始三维点云地图中得到当前场景对应的三维点云地图。

在对下一帧待重建目标图像进行三维重建时,首先确定待重建目标图像与初始三维点云地图之间的2D-3D匹配对,然后利用PNP算法求解出该待重建目标图像在当前的初始三维点云地图中的相机位姿。在确定相机位姿之后,可以对新增的2D-2D特征点匹配对进行三角化,生成新的三维点。如果将参与三维重建的下一帧待重建目标图像和已参与重建的目标图像之间是由同一张全景图像切割而成,那么可以在三维重建时加入相对旋转为90度,无相对平移的约束项,以便调整重建的相机的整体相机位姿。

具体的,可以将多个目标图像中满足预设条件的图像作为下一帧待重建目标图像,待重建目标图像满足的预设条件包括以下条件中的一个或者多个组合:第一,该目标图像未参与重建过;第二,该目标图像在初始三维点云地图中的可视点大于或者等于可视点阈值;第三,该目标图像在重建过程中被尝试重建的次数小于重建次数阈值,该重建次数阈值可以为3,当然,也可以是其他阈值,本示例实施例对此不做特殊限定。

在一示例性实施例中,在每一帧目标图像被重建后,需要进行局部的光束法平差(Bundle Adjustment,BA)优化。当参与重建的目标图像的数量每超过固定数量,或者参与重建的三维点的数量每增加固定个数时,将对之前所有的重建进行一次全局BA优化。在BA优化中,可以固定由同一张全景图像切割出的目标图像的相对位姿、相机内参,以便于减少需要进行优化的变量,达到最佳优化效果,最终获取完整的三维点云地图。

综上所述,本示例性实施方式中,获取当前场景对应的全景图像,然后对全景图像进行图像分割,得到存在相对位姿关系的多个目标图像,确定多个目标图像对应的特征点对,并从特征点对中筛选得到目标特征点对;根据目标特征点对以及相对位姿关系,重建当前场景对应的三维点云地图。一方面,通过对全景图像进行切割,并通过切割得到的存在相对位姿关系的多个目标图像进行三维重建,能够避免由于全景图像畸变较大导致的重建成功率较低以及三维重建效果较差的问题;另一方面,通过全景图像切割得到的存在相对位姿关系的多个目标图像进行三维重建,使三维重建得到的三维点云地图适用范围更广,有效提升不同终端设备采集的定位图像在三维点云地图中的定位精确度;再一方面,通过全景图像构建三维地图,能够有效提升构建的三维点云地图的全面性,避免普通图像构建的三维点云地图存在盲点的问题,有效提升定位的成功率。

需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

进一步的,参考图10所示,本示例的实施方式中还提供一种地图重建装置1000,可以包括全景图像获取模块1010、全景图像分割模块1020、特征点对筛选模块1030以及地图重建模块1040。其中:

全景图像获取模块1010用于获取当前场景的全景图像;

全景图像分割模块1020用于对所述全景图像进行图像分割,得到多个目标图像;其中,所述多个目标图像之间存在相对位姿关系;

特征点对筛选模块1030用于匹配所述多个目标图像之间的特征点对,并从所述特征点对中筛选得到目标特征点对;

地图重建模块1040用于根据所述目标特征点对以及所述相对位姿关系,重建所述当前场景的三维点云地图。

在一示例性实施例中,全景图像分割模块1020还可以用于:

获取预设的切割模型,所述切割模型包含所述相对位姿关系;

基于所述切割模型对所述全景图像进行图像分割,得到多个目标图像。

在一示例性实施例中,全景图像分割模块1020可以包括:

旋转矩阵确定单元,用于确定所述切割模型对应的旋转矩阵;

目标图像生成单元,用于根据所述旋转矩阵确定虚拟相机视角,并基于所述虚拟相机视角对所述全景图像进行图像分割,得到多个目标图像。

在一示例性实施例中,目标图像生成单元还可以用于:

基于所述虚拟相机视角将所述全景图像无重叠分割为多个图像区域;

根据所述旋转矩阵确定像素映射关系;

通过所述像素映射关系将所述图像区域中的像素点进行转换,并通过转换后的像素点生成目标图像。

在一示例性实施例中,特征点对筛选模块1030可以用于:

对所述多个目标图像进行特征提取,确定所述多个目标图像各自对应的特征点;

基于所述特征点对所述多个目标图像进行特征匹配,匹配得到所述目标图像对应的特征点对。

在一示例性实施例中,地图重建模块1040可以用于:

从所述多个目标图像中确定初始图像匹配对,并根据所述初始图像匹配对包含的目标特征点对进行重建得到初始三维点云地图;

获取下一帧待重建目标图像,并将所述相对位姿关系作为约束项调整所述待重建目标图像在所述初始三维点云地图的相机位姿,以将所述待重建目标图像重建到所述初始三维点云地图中得到所述当前场景的三维点云地图。

在一示例性实施例中,地图重建模块1040还可以包括待重建目标图像筛选单元,待重建目标图像筛选单元可以用于:

将所述多个目标图像中满足预设条件的图像作为待重建目标图像;

其中,所述预设条件包括以下条件中的一个或者多个组合:

所述图像未被重建过;

所述图像在所述初始三维点云地图中的可视点大于或者等于可视点阈值;

所述图像在重建过程中被尝试重建的次数小于重建次数阈值。

上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3至图9中任意一个或多个步骤。

需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

相关技术
  • 地图重建方法及装置、计算机可读介质和电子设备
  • 图像重建方法、装置、电子设备和计算机可读介质
技术分类

06120112879308