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

移动路线的处理方法、装置、终端和存储介质

文献发布时间:2023-06-19 09:29:07


移动路线的处理方法、装置、终端和存储介质

技术领域

本公开涉及家装技术领域,尤其涉及一种移动路线的处理方法、装置、终端和存储介质。

背景技术

空间的3D建模是近年来快速发展和应用的一项技术,在虚拟现实、房屋装修、空间设计等领域都得到广泛的而应用。在文件1(申请公布号为CN110505463A的中国专利申请)中公布了一种基于拍照的实时自动3D建模方法,采用安装在同一拍摄支架上的移动设备和相机进行拍照,用户移动支架,边移动边记录移动路线以及移动过程拍摄的照片,再根据移动路线结合拍摄的照片建立3D模型。采用文件1中的方法时,在拍照的移动过程中可能会出现路线丢失的情况,即在手机或相机拍摄图片的过程中出现中断,此时会形成至少两条路线,一条是中断前拍摄的照片形成的路线,一条是终端后拍摄的照片形成的路线,在路线中断的情况下如何处理是本领域技术亟待解决的问题。

发明内容

为解决现有问题,本公开提供一种移动路线的处理方法、装置、终端和存储介质。

本公开采用以下的技术方案。

在一些实施例中,本公开提供一种移动路线的处理方法,包括:

进行第一移动并确定对应的第一移动路线;

进行第二移动并确定对应的第二移动路线;

确定第二移动路线的起点在所述第一移动路线上的对应点和拼接角度;

根据所述对应点和所述拼接角度对所述第一移动路线和第二移动路线进行拼接,生成拼接路线。

在一些实施例中,本公开提供一种移动路线的处理装置,其特征在于,包括:

获取设备,用于进行第一移动并确定对应的第一移动路线,以及进行第二移动并确定对应的第二移动路线;

处理设备,确定第二移动路线的起点在所述第一移动路线上的对应点和拼接角度,根据所述对应点和所述拼接角度对所述第一移动路线和第二移动路线进行拼接,生成拼接路线。

在一些实施例中,本公开提供一种终端,包括:至少一个存储器和至少一个处理器;

其中,存储器用于存储程序代码,处理器用于调用所述存储器所存储的程序代码执行上述的方法。

在一些实施例中,本公开提供一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行上述的方法。

本公开实施例提供的移动路线的处理方法,进行第一移动并确定对应的第一移动路线,进行第二移动并确定对应的第二移动路,确定第二移动路线的起点在第一移动路线上的对应点和拼接角度,根据对应点和拼接角度对第一移动路线和第二移动路线进行拼接,生成拼接路线,本公开实施例提出的方法能够解决移动过程中断导致的获取到的移动路线不连续的问题。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。

图1是本公开实施例的一种移动路线的处理方法的流程图。

图2是本公开实施例的另一种移动路线的处理方法的流程图。

图3是本公开实施例的第一户型图和第二户型的示意图。

图4是本公开实施例的多种拼接户型图的效果图。

图5是本公开实施例的移动路线的处理装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

在文件1(申请公布号为CN110505463A的中国专利申请)中公布了一种基于拍照的实时自动3D建模方法,其所采用的方法中将具有拍照功能的移动设备和相机固定在同一支架上,在移动支架的过程中移动设备和相机分别进行拍照得到周围空间的图像,结合相机或移动设备的传感器来获取每个拍摄点的位置和朝向,形成使用统一坐标系的路线图,然后在移动设备上实时对每个拍摄点的相机照片进行3D建模,再在移动设备上将每个拍摄点的3D模型按照之前获取的位置和朝向,统一放置在同一个三维坐标系内,对多个拍摄点3D模型之间的结合部位进行拼接处理,形成包含多拍摄点的整体3D模型,在移动设备上自动生成全景漫游效果。在生成3D模型的同时还可以生成3D模型对应的2D平面图。

文件1所采用的方法中,为了结合相机或移动设备的拍摄的图像和/或传感器来获取每个拍摄点的位置和朝向形成统一坐标系的路线图,要求移动过程不能中断,即需要进行连续的移动并连续的拍摄照片或定位,如果在移动过程中出现中断,则会形成至少两条移动路线,一条是中断前的移动路线,一条是中断后的移动路线,此时在用拍摄的照片进行建模时,每个移动路线会各自对应有一个模型(例如根据移动路线和拍摄的照片建立所经过的房间的3D模型或2D布局图),但由于无法确定两个移动路线之间的关系,会导致移动路线对应两个3D模型(或两个2D布局图)无法结合,无法得到整合在一起的3D模型(或D布局图)。

为了至少部分解决上述问题,本公开实施例中提出一种移动路线的处理方法。

以下将结合附图,对本申请实施例提供的方案进行详细描述。

实施例1

如图1所示,图1是本公开实施例中的一种移动路线的处理方法,包括:

S11:进行第一移动并确定对应的第一移动路线。

具体的,第一移动路线是进行第一移动时所走过的路线,可以建立平面坐标系A在平面坐标系A中绘制第一移动所对应的第一移动路线。确定第一移动过程中的位置的方法可以有多种,例如在进行第一移动的过程中携带手机等终端,通过手机中的加速度传感器记录移动过程中的移动方向和移动距离,从而确定第一移动对应的第一移动路线。

S12:进行第二移动并确定对应的第二移动路线。

具体的,第二移动路线是进行第二移动时所走过的路线,可以建立平面坐标系B在平面坐标系B中绘制第二移动所对应的第二移动路线。一些实施例中,第一移动和第二移动并不连续,中间具有中断,例如,在移动的过程中都是通过终端的加速度传感器确定移动路线,但由于终端在移动过程中中断了使用,减速度传感器没有记录到连续的数,移动过程记录的加速度传感器的数据分成了中断前和中断后的两组,移动过程对应的移动路线也就分为第一移动路线和第二移动路线。

S13:确定第二移动路线的起点在第一移动路线上的对应点和拼接角度。

具体的,第一移动与第二移动并不连续,在进行第一移动后发生了中断,因此第一移动路线和第二移动路线需要进行拼接,需要将第二移动路线的起点拼接到第一移动路线上,在对第一移动路线和第二移动路线进行拼接时,需要将第一移动路线和第二移动路线放到同一坐标系下,例如以建立第一移动路线时的坐标系为基准,将第二移动路线放入第一移动路线所在的坐标系中,第二移动路线的长度以及形状是可以确定的,因此在对第一移动路线和第二移动路线进行拼接时,需要知道的是第二移动路线需要拼接到的第一移动路线上的位置以及拼接时第二移动路线相对于第一移动路线的角度,即拼接角度。

S14:根据对应点和拼接角度对第一移动路线和第二移动路线进行拼接,生成拼接路线。

具体的,一些实施例中,将第二移动路线的起点拼接到第一移动路线的对应点上,并调节第二移动路线相对于第一移动路线的角度,使得第二移动路线与第一移动路线之间的夹角等于拼接角度,从而实现第一移动路线和第二移动路线之间的拼接。

在一些可选的实施例中,根据在第一移动的过程中拍摄的多张第一图像确定第一移动路线,或者,根据第一移动过程中传感器采集的定位信息确定第一移动路线。

具体的,确定第一移动对应的第一移动路线的方法可以有两种,一种是在进行第一移动的过程中边移动边进行拍照图像,通过拍照记录四周的环境,在第一移动的过程中拍摄的照片为第一图像,然后对各个第一图像进行特征匹配,从而确定第一移动的第一移动路线。另一种是在进行第一移动的过程中通过传感器采集定位信息,根据定位信息确定第一移动路线。也可以在进行第一移动过的过程中既进行拍照,同时也采集定位信息,结合两种方式确定第一移动路线。举例而言,在进行第一移动的过程中,使用手机为例,在第一移动的过程中手机拍摄周围的图像,同时手机中的运动传感器采集定位信息,形成第一移动路线,运动传感器例如可以是手机中的陀螺仪或者加速度传感器。

在一些可选的实施例中,根据在第二移动的过程中拍摄的多张第二图像确定第二移动路线,或者,根据第二移动过程中传感器采集的定位信息确定第二移动路线。具体的,与生成第一移动路线的方法相同,可以采用拍摄第二图像和采集定位信息两种方式确定第二移动路线。

为了更好的说明本公开实施例中提出的方法以下提出一个具体的实施例。在本实施例提出的方法可以用于文件1中提出的基于拍照的实时自动3D建模的方法中,以下以本公开提出的方法用于文件1中提出的方法时为例进行说明。本实施例中,将手机和相机固定在一个支架上进行第一移动,并且在第一移动的过程中手机和相机分别拍摄周围的图像,从而获取到多张第一图像,在第一移动的过程中可能由于需要使用手机或其他原因停止了第一移动,对获取到的第一图像进行特征匹配从而建立坐标系A并在坐标系A中绘制第一移动路线。然后移动支架进行第二移动,在进行第二移动的过程中同时也进行拍照获取多张第二图像,然后建立坐标系B并绘制第二移动路线,然后对将第一移动路线和第二移动路线在同一坐标系下进行拼接,此时要确定第二移动路线需要与第一移动路线的哪一点进行拼接,以及拼接时的拼接角度。一些实施例中,用户在进行第二移动的时候往往会回到之前在第一移动的过程中所走过的位置,因此,可以用在进行第二移动的起点处拍摄的第二图像与第一移动的过程中拍摄的第一图像进行特征匹配,从而确定第二移动路线的起点的对应点,并且根据进行第二移动的起点处拍摄的第二图像的视角与对应点的第一图像的视角的差异,从而可以确定在进行第二移动时转动的角度,根据该转动的角度即可确定拼接角度,然后按照确定的拼接角度将第二移动路线的起点拼接到第一移动路线上的对应点,形成拼接路线。

实施例2

请参考图2,图2示意性的显示了另一种本公开实施例的移动路线的处理方法的流程图。

S11:进行第一移动并确定对应的第一移动路线。

具体的,在第一移动过程中拍摄有多张第一图像,可以是在房间内进行第一移动,第一图像可以是拍摄的房间内的图像。

S12:进行第二移动并确定对应的第二移动路线。

具体的,在第二移动过程中拍摄有多张第二图像,可以是在房间内进行第二移动,第二图像可以是拍摄的房间内的图像。

在进行第二移动之前需要调节拍摄角度,为了方便后续将第一移动路线和第二移动路线拼接在一起时确定第一移动路线和第二移动路线之间的拼接角度,该第二移动的起始拍摄角度应该与第一移动的过程中所采用的拍摄角度具有一定的联系,因此在一些实施例中,在步骤S12之前还包括:响应于对在第一移动路线上第二位点对应的位置所拍摄的第一图像中的任一方向的选取操作,调节拍摄角度以使拍摄角度与被选取的方向相同或者使拍摄角度与被选取的方向的夹角等于预设夹角;以调节后的拍摄角度为起始拍摄角度开始进行第二移动;其中,第二位点为第一移动路线上的任一点。通过在进行第二移动之前调节拍摄角度,就可以知道第二移动的初始拍摄角度与第二位点对应的位置拍摄角度的关系,同时,因为第二位点和对应点都位于第一移动路线上,所以可以根据第一移动的过程中拍摄的第一图像确定第二位点对应点位置的拍摄角度和对应点对应的位置的拍摄角度之间的关系,这样就可以知道第二移动的初始拍摄角度与对应点对应的位置的拍摄角度之间的关系,而第二移动路线由第二图像得到,所以在知道了第二移动的初始拍摄角度与对应点对应的位置的拍摄角度之间的关系后确定出第二移动路线和第一移动路线之间的拼接角度。例如,如果第二移动的初始角度与对应点对应的位置的拍摄角度相同时,可以直接将第二移动路线的起点连接到对应点处。

S13:确定第二移动路线的起点在第一移动路线上的对应点和拼接角度。

在一些实施例中,用户在进行移动的过程中实际上是希望进行一次移动,而非两次,可能由于拍摄图像的设备出现故障,中途停止拍摄,因此一次移动被分为了两次移动,在这种情况下,第二移动和第一移动在时间上连续,第二移动的起点和第一移动终点实际上相邻或相同,因此,一些实施例中可以用第一移动路线的终点作为对应点。

在另一些实施例中,用户在进行移动的过程中由于其他原因主动停止了图像拍摄,例如用户使用手机在移动的过程中拍摄图像,但由于手机接到电话而停止图像拍摄,这种情况下,第二移动和第一移动在时间上不连续。因此,在第二移动之前还可以:发出提示信息,提示信息用于指示第一移动路线上的第一位点对应的位置,其中,第一位点为第一移动路线上的任一点;通过这种方式在进行第二移动之前提示用户返回到第一移动过程中所走过的某一个位置上,从而可以确定第二移动路线的起点与第一移动路线的关系,第一位点将作为第二移动路线的起点的对应点。

在进行第一移动和第二移动的过程中都拍摄有图像,当第二移动的起点位于第一移动的所经过的任一位置上及其附近时,第一移动的起点处所拍摄第二图像必然与第一移动的过程中拍摄的第一图像具有相同的特征点,通过特征点匹配即可确定第二移动的起点处的拍摄方向,因此在一些实施例中,确定拼接角度,包括:获取所述第二移动的过程中在第二移动的起点所拍摄的第二图像(可以是全景图)以及所述第一移动的过程中所拍摄的第一图像;用在第二移动的起点所拍摄的第二图像和第一图像进行特征匹配以确定拼接角度。在本实施例中,第二移动的起点所拍摄的第二图像与第一移动的过程中拍摄的第一图像具有相同的特征点,通过特征点匹配可以确定第二移动的起点所在的位置处对应的第一图像,由于在该位置拍摄第二图像的拍摄角度与在该位置拍摄第一图像的拍摄角度可能不同,因此在同一位置拍摄的第二图像和第一图像的视角有差异,根据该视角差异即可确定在该位置拍摄的第一图像的拍摄方向和在该位置拍摄的第二图像的拍摄角度的差值,由于第一移动路线由第一图像计算得到,第二移动路线由第二图像计算得到,因此第一移动路线和各个第一图像的拍摄角度的夹角关系可知,第二移动路线和各个第二图像的拍摄角度的夹角关系也可知,因此,可以根据在同一位置拍摄的第二图像和第一图像的视角差值确定第一移动路线和第二移动路线的拼接角度。

S14:根据对应点和拼接角度对第一移动路线和第二移动路线进行拼接,生成拼接路线。

在生成拼接路线后可以由用户手动调节拼接路线,因此在一些实施例中,移动路线的处理方法还包括:响应于调节操作,根据调节操作调节拼接路线中第一移动路线和第二移动路线的拼接点或拼接角度。

S15:获取通过第一图像构建的第一移动路线对应的第一户型图,以及通过第二图像构建的第二移动路线对应的第二户型图。

具体的,在进行第一移动的过程中所拍摄有多张第一图像,时间上相邻的两个第一图像彼此间具有相同的特征点,通过对各个第一图像进行特征点匹配就可以确定各个第一图像彼此之间的关系并定位第一移动路线,同时根据第一图像中拍摄到的周围房间的结构能够建立3D模型,根据3D模型生成2D的第一户型图,当然,也可以不生成3D模型,直接根据多张第一图像中拍摄到的房间结构生成第一户型图,第一户型图记录了在第一移动的过程中所走过的房间的结构和房间布局,类似的,可以采用相同的方式确定第二移动路线和第二移动的过程中所走过的房间的结构和房间布局。

S16:根据拼接路线中第一移动路线和第二移动路线的拼接方式对第一户型图和第二户型图进行拼接,生成拼接户型图。

具体的,可以在同一平面坐标系下将第一户型图和第二户型图进行拼接,第二户型图中对应于第二移动路线的起点的房间,与第一户型图中对应于第一移动路线中对应点的房间相互拼接在一起,并根据拼接角度调节第一户型图和第二户型图之间的角度。

在本实施例中,在第一移动的过程中拍摄多张第一图像,并在第二移动的过程中拍摄多张第二图像,生成有第一户型图和第二户型图,并且第一户型图与第一移动移动路线相适配,第二户型图与第二移动路线相适配,通过确定第一移动路线和第二移动路线的拼接方式,从而可以实现第一户型图和第二户型图的拼接,本实施例提出的方法可以用于文件1中记载的基于拍照的实时自动3D建模方法中确定2D平面图的情况,在文件1记载的方法中,当通过拍照的方式确定移动过程所走过的房间的2D平面图(户型图)时,只能确定每一次移动过程所走过的2D平面图(户型图),当移动过程出现中断,两次移动过程不连续时会得到两张不同的2D平面图(户型图),无法得到一张完整的2D平面图(户型图),而采用本实施例中提出的方法后,可以解决移动路程中断的情况下无法得到一张完整的2D平面图(户型图)的问题。

在一些实施例中,请继续参考图2,在步骤S13中确定拼接角度包括:选取多个不同的角度作为多个拼接角度,即在步骤S13可以并不设定拼接角度为一个固定值,可以从选取多个可能的拼接角度。因此,不同的拼接角度将对应于不同的拼接路线,在步骤S14中包括:分别生成多个拼接角度对应的多个拼接路线。即一个拼接角度将对应一个拼接路线。因此,在步骤S15中将包括:生成多个拼接路线对应的多个拼接户型图。此时得到了多个拼接户型图,但与实际情况相符合的拼接户型图只有一个,因此需要从多个拼接户型图中确定与实际情况相符合的拼接户型图,此处提供了两种方式。

方式1:展示多个拼接户型图,用被选取的拼接户型图作为目标拼接户型图。在方式1中,展示多个拼接户型图让用户进行选择,用户所选取的拼接户型图认定为与实际情况相符合的拼接户型图,即目标拼接户型图。

方式2;在生成拼接户型图后,获取多个拼接户型图中各个拼接户型图的可信度,用可信度最高的拼接户型图作为目标拼接户型图。

对于方式2,在得到不同的拼接户型图之后,需要对各个户型图的可信度进行评价,评价的方式可以为多种,可能采用的评价方式将在本申请下方进行介绍,在得到可信度之后用可信度最高的拼接户型图作为目标拼接户型图,即与实际情况相符合的拼接户型图。

实施例3

为了更好的对本公开实施例提出的方法进行说明,以下提出一个具体的实施例。在本实施例中,将手机和相机固定在同一支架上,通过移动支架在室内进行移动,在移动的过程中手机和相机拍摄周围室内房间的图像,并根据拍摄的图像生成第一移动路线,在移动的过程中由于光线差或手机卡顿等原因出现路线丢失,则在路线丢失前的移动为第一移动,在路线丢失后的移动为第二移动,并根据第二移动的过程中拍摄的图像,生成第二移动路线。在本实施例中还根据第一图像生成第一移动的过程所走过的房间的户型图,即第一户型图,并根据第二图像生成第二移动的过程所走过的房间的户型图,即第二户型图,可以参考图3,图3a为第一户型图,图3b为第二户型图。

由于第二移动在时间上与第一移动是连续的,因此第二移动路线的起点的对应点可以认为是第一移动路线的终点相对应,在得到第一移动路线和第二移动路线之后,将第二移动路线的起点连接到第一移动路线的终点处,在连接之后可以由用户手动调节连接位置,之后确定拼接角度,在本实施例中,根据第一户型图和第二户型图的房间轮廓,考虑到墙壁之间为平行或垂直关系,先将第一户型图和第二图形图的墙面调节到水平或垂直方向,然后选取拼接角度为0度、90度、180度或270度,这样共有四个不同的拼接角度,因此可以拼接得到四种不同的拼接路线,并得到四种不同的拼接户型图,图4中示意性的显示了其中3种由图3得到的拼接户型图。

在本实施例中,可以采用加权算法确定各个拼接户型度的可信度,可信度可以由多个加权项目的加权和确定。

加权项目可以包括重叠面积信息、户型形状信息、户型轮廓信息、指南针信息以及窗户布局信息中的至少一种。

以下介绍重叠面积信息的计算方式:

这里设定规则1:如果第一户型图中的某一个房间i的名称与第二户型图中某一个房间j的名称同名,则认为房间i和房间j是同一房间,或者,如果第一户型图中的某一个房间i的名称与第二户型图中某一个房间j的名称的组合是预设的组合名,则认为房间i和房间j是同一房间,例如第一户型图中房间j的名称为客厅,第二户型图中房间i的名称是餐厅,而预设的组合名中包括{客厅,餐厅},{客厅,过道},{客厅,玄关},{餐厅,过道},{餐厅,玄关},因此认为房间j和房间i为同一房间。

在明确了规则1之后,确定拼接户型图中第一户型图和第二户型图相重叠的区域,然后确定第一户型图和第二户型图中相重叠的区域按照规则1来判断是否为同一房间,各个重叠的区域中符合规则1属于同一房间的总面积为第一户型图和第二户型图的允许重叠面积CA。例如图4a中圈出的允许重叠的部分,在第一户型图(图3a)和第二户型图(图3b)中重叠的面积分别属于第一户型图(图3a)中的餐厅和第二图形图(图3b)中的过道,而预设的组合名包括{餐厅,过道},因此图4a中的过道属于符合规则1的允许重叠面积的一部分,对于图4b中圈出的不允许重叠的部分,在第一户型图(图3a)和第二户型图(图3b)中重叠的面积分别属于第一户型图(图3a)中的厨房和第二户型图(图3b)中的主卧,两者的名称不同且两个房间的名称的组合名并不是预设的组合名,因此,图4b中圈出的部分为不允许重叠的部分。

如果拼接户型图中的CA不等于0,则计算拼接户型图中第一户型图和第二户型图的实际重叠面积GIA,用实际重叠面积GIA减去允许重叠面积CA得到重叠面积信息。

如果拼接户型图中的CA等于0,计算r1和r2,其中r1=GIA/Amin,r2=GIA/Amax;其中,Amin是第一户型图和第二户型图中最小房间的面积,Amax是第一户型图和第二户型图中最大房间的面积。

如果r1>0.5且r2≤0.5,则用r1+r2作为重叠面积信息;

如果r1>0.5且r2>0.5,则该拼接户型图无效。

计算r3=GIA/min(GA1,GA2),如果r3大于0.5,则该拼接户型图无效,其中,GA1是第一户型图的面积,GA1是第二户型图的面积,min(GA1,GA2)是第一户型图和第二户型图中较小的一个的面积。

对于重叠面积信息而言,重叠面积信息越大,拼接户型图的可信度越低。

以下介绍户型形状信息的计算方式:

户型形状信息=MBB/(PA1+PA2)。

其中,MBB为拼接户型图的外接矩形的面积,PA1为第一户型图的面积,PA2为第二户型图的面积,户型形状信息越大,拼接户型图的可信度越低。

以下介绍户型轮廓信息的计算方式:

获取拼接户型图中第一户型图和第二户型图的实际重叠面积GIA;

对拼接户型图中第一户型图和第二户型图的轮廓进行膨胀,获取膨胀后拼接户型图中第一户型图和第二户型图的实际重叠面积GIA’;

计算户型轮廓信息=GIA’-GIA,其中,户型轮廓信息越大,拼接户型图的可信度越高。

以下介绍拼接前后的指南针信息的计算方式:

获取在拍摄第一图像时手机中的指南针(例如电子指南针)所指示的方向在第一户型图中的第一朝向RH_j,在拍摄第二图像时指南针所指示的方向在第二户型图中的第二朝向RH_k,

当对第一户型图和第二户型图进行拼接时需要将第一户型图和第二户型图绘制在同一坐标系下,此时第一朝向和第二朝向的角度差为(RH_k-RH_j);

RR_j为在生成拼接户型图时第一户型图旋转的角度,RR_k为拼接户型图时第二户型图旋转的角度。

指南针信息=(RH_k-RH_j)-(RR_k-RR_j+OR_i);

由于指南针所指示的应该是同一方向,因此(RH_k-RH_j)表示了将第一户型图和第二户型图拼接在一起时应该转动的角度,而(RR_k-RR_j+OR_i)表示了拼接户型图实际上转动的角度,因此指南针信息实际上表示了拼接角度的误差,所以指南针信息越小,拼接户型图的可信度越高。

需要注意的是,由于手机的指南针受磁场影响,因此在一些实施例中,在进行第一移动和第二移动的过程中需要记录磁场强度,根据每个位点位记录的磁场强度计算磁场强度均值和磁场强度方差,若磁场强度均值大于60或者磁场强度方差大于10,则表明手机指南针可能不准确,因此此时不使用指南针信息。

以下介绍窗户布局信息的计算方式:

在拼接户型图中,确定属于第一户型图的各个窗户的窗户可信度以及属于第一户型图的各个窗户的窗户可信度;

具体可以通过如下方式确定窗户的窗户可信度:确定窗户的延伸方向与拼接户型图中的房间是否相交;若不相交,则窗户的窗户可信度为0;若相交且窗户属于第一户型图,则查找与该窗户距离最近且属于第二户型图的对应窗户,并计算窗户与对应窗户的距离L1,若L1小于距离阈值则用L1作为窗户可信度,若L1不小于距离阈值,则用距离阈值作为窗户可信度;若相交且窗户属于第二户型图,则查找与该窗户距离最近且属于第一户型图的对应窗户,并计算窗户与对应窗户的距离L2,若L2小于距离阈值则用L2作为窗户可信度,若L2不小于距离阈值,则用距离阈值作为窗户可信度。

用拼接户型图中各个窗户的窗户可信度的总和作为窗户布局信息;

其中,窗户布局信息越小,拼接户型图的可信度越高。

在通过上述方法得到了重叠面积信息、户型形状信息、户型轮廓信息、指南针信息以及窗户布局信息后,为房间重叠面积信息、户型形状信息、户型轮廓信息、指南针信息以及窗户布局信息设定对应的权重,采用加权算法计算得到拼接户型图的可信度。

其中,重叠面积信息、户型形状信息、指南针信息和窗户布局信息越大,可信度越低,因此可以设定这几项的权重小于0,而设定户型轮廓信息的权重大于0。

需要注意的是,如果不使用指南针信息,则设定指南针信息的权重为0,如果各个拼接户型图的指南针信息均大于30,表明指南针信息的误差较大,此时也设定指南针信息的权重为0,如果各个户型图中最小的指南针信息小于20但不小于5,说明指南针信息的可信度较低,应当减小指南针信息的权重,如果各个户型图中最小的指南针信息小于5,说明指南针信息的可信度非常高,此时应当增大指南针信息的权重。

还需要注意的是,在确定户型轮廓信息的权重时,先获取第一户型图的外接矩形的面积与第一户型图的房间总面积的比值R1、第二户型图的外接矩形的面积与第二户型图的房间总面积的比值R2;若R1或R2大于预设比值,则增大户型轮廓信息的权重。

在根据上述方式得到了各个拼接户型图的可信度后,可以直接选用可信度最高的拼接户型图作为目标拼接户型图,或者将各个拼接户型图推荐给用户,由用户选择。

实施例4

为了更好的说明本公开提出的方法,以下提出另一个实施例。

在本实施例中,将手机和相机固定在同一支架上,通过移动支架在室内进行移动,在移动的过程中手机和相机拍摄周围房间的图像,并根据拍摄的图像生成第一移动路线,在移动的过程中由于有电话等原因,将手机从支架上取下,此时第一移动结束,当用户想要继续拍摄时,将手机放回支架,此时手机可以根据之间的第一移动路线提示用户回到第一移动的过程中的某个位置(例如第一移动的终点,该位置在第一移动路线上的点为对应点),用户回到提示的位置,在准备进行第二移动之前可以先拍摄一张图像(例如全景图),用该图像与之前在第一移动的过程中拍摄的第一图像进行特征匹配,这样就能确定第二移动路线与第一移动路线之间的角度关系。也可以不拍照,在之前拍摄的图像中指示一个方向,使手机摄像头指向此方向,或者使得手机摄像头与该方向成预设角度,这样也能确定第二移动路线和第一移动路线至今的角度。

在得到第一移动路线和第二移动路线之后,根据将第二移动路线的起点连接到第一移动路线的对应点上,并调节两者的夹角,从而得到拼接路线。

在本公开的还提出一种移动路线的处理装置,如图5所示,包括:

获取设备10,用于进行第一移动并确定对应的第一移动路线,以及进行第二移动并确定对应的第二移动路线;

处理设备20,确定第二移动路线的起点在第一移动路线上的对应点和拼接角度,根据对应点和拼接角度对第一移动路线和第二移动路线进行拼接,生成拼接路线。

对于装置的实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离模块说明的模块可以是或者也可以不是分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本公开实施例中还提出一种终端,包括:

至少一个存储器和至少一个处理器;

其中,至少一个存储器用于存储程序代码,至少一个处理器用于调用至少一个存储器所存储的程序代码执行本公开提出的任一项的方法。

本公开实施例中还提出一种存储介质,存储介质用于存储程序代码,程序代码用于执行本公开提出的任一项的方法。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

相关技术
  • 移动路线的处理方法、装置、终端和存储介质
  • 智能路线导航方法、装置、服务器、移动终端和存储介质
技术分类

06120112184270