CN111161173B - 图像的校正信息获取、模型构建方法和装置、介质 - Google Patents
图像的校正信息获取、模型构建方法和装置、介质 Download PDFInfo
- Publication number
- CN111161173B CN111161173B CN201911315979.0A CN201911315979A CN111161173B CN 111161173 B CN111161173 B CN 111161173B CN 201911315979 A CN201911315979 A CN 201911315979A CN 111161173 B CN111161173 B CN 111161173B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- panoramic image
- projection
- correction information
- dimensional panoramic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 119
- 238000010276 construction Methods 0.000 title claims description 12
- 238000003702 image correction Methods 0.000 title description 9
- 238000012937 correction Methods 0.000 claims abstract description 144
- 239000013598 vector Substances 0.000 claims description 103
- 238000004590 computer program Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 9
- 238000009877 rendering Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000002620 method output Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100310062 Drosophila melanogaster Sep1 gene Proteins 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
Abstract
一种图像的校正信息获取、模型构建方法和装置和介质。该校正信息获取方法包括:获取二维全景图像;获取二维全景图像中与二维全景图像的地面垂直的至少两条线条;将至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段;基于至少两条线段获得用于旋转投影参考面的旋转轴和旋转角度。二维全景图像对应于三维空间;投影参考面形成的结构的中心与三维投影空间的坐标系的坐标原点重合,三维空间的结构的高度方向对应于坐标系的第一坐标轴;旋转轴和旋转角度,作为校正信息,用于在基于二维全景图像构建对应于二维全景图像的三维空间的三维模型时旋转投影参考面。
Description
技术领域
本公开的实施例涉及一种二维全景图像的校正信息获取方法和装置、三维空间的模型的构建方法和装置、非暂时性存储介质。
背景技术
随着显示技术和图像处理技术的快速发展,对使用显示器件显示场景(三维空间)的三维空间图像的需求日益增长。可以使用三维空间的三维模型的构建方法基于三维空间的二维全景图像获取三维空间的三维模型,并在显示阶段,基于获取的三维空间的三维模型渲染场景的三维空间图像。
发明内容
本公开的至少一个实施例提供了一种二维全景图像的校正信息获取方法,其包括:获取所述二维全景图像;获取所述二维全景图像中与所述二维全景图像的地面垂直的至少两条线条;将所述至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得所述至少两条线条的端点在所述三维投影空间中的投影点形成的至少两条线段;基于所述至少两条线段获得用于旋转所述投影参考面的旋转轴和旋转角度。所述二维全景图像对应于三维空间,所述三维空间通过所述三维空间的墙面和地面形成为至少部分封闭;所述投影参考面形成的结构的中心与所述三维投影空间的坐标系的坐标原点重合,所述二维全景图像在所述三维投影空间的投影形成的对应于所述三维空间的结构的高度方向对应于所述三维投影空间的坐标系的第一坐标轴;所述投影参考面的旋转轴和旋转角度,作为所述二维全景图像的校正信息,用于在基于所述二维全景图像构建对应于所述二维全景图像的所述三维空间的三维模型时旋转所述投影参考面。
例如,在所述校正信息获取方法的至少一个示例中,所述基于所述至少两条线段获得用于旋转所述投影参考面的旋转轴和旋转角度包括:基于所述至少两条线段的有效线段中的每两条有效线段获取用于旋转所述投影参考面的备用旋转轴和备用旋转角度;以及基于所述备用旋转轴和所述备用旋转角度获取所述旋转轴和所述旋转角度。
例如,在所述校正信息获取方法的至少一个示例中,所述基于所述至少两条线段获得用于旋转所述投影参考面的旋转轴和旋转角度还包括:获取所述至少两条线段的有效线段。
例如,在所述校正信息获取方法的至少一个示例中,所述获取所述至少两条线段的有效线段包括:分别获取所述至少两条线段中每条线段所在的截面的法向量,以获取至少两个向量;剔除所述至少两个向量中共线的向量对应的冗余线段;以及将所述至少两条线段的去除所述冗余线段之后的线段作为所述有效线段。
例如,在所述校正信息获取方法的至少一个示例中,所述每两条有效线段包括第一线段和第二线段。所述基于所述至少两条线段的有效线段中的每两条有效线段获取用于旋转所述投影参考面的备用旋转轴和备用旋转角度包括:获取所述第一线段所在的第一截面的法向量以及所述第二线段所在的第二截面的法向量;基于所述第一截面的法向量和所述第二截面的法向量获得第一平面;获取所述第一平面的法向量,并将所述第一平面的法向量和所述第一坐标轴的夹角作为所述备用旋转角度;以及基于所述第一平面的法向量和所述第一坐标轴获取第二平面,并将所述第二平面的法向量作为所述备用旋转轴。所述第一截面和所述第二截面经过所述三维投影空间的坐标系的坐标原点。
例如,在所述校正信息获取方法的至少一个示例中,所述有效线段包括两条线段;以及所述基于所述备用旋转轴和所述备用旋转角度获取所述旋转轴和所述旋转角度包括将基于所述两条线段获得的备用旋转轴和旋转角度分别作为所述旋转轴和所述旋转角度。
例如,在所述校正信息获取方法的至少一个示例中,所述有效线段的数目大于二。所述基于所述备用旋转轴和所述备用旋转角度获取所述旋转轴和所述旋转角度包括:获取基于所述有效线段获得的多个备用旋转角度的平均值;获取所述多个备用旋转角度与所述平均值的差值的绝对值,以获得多个绝对差值;以及将所述多个绝对差值中取值最小的绝对差值对应的备用旋转轴和旋转角度分别作为所述旋转轴和所述旋转角度。
例如,在所述校正信息获取方法的至少一个示例中,所述将所述至少两条线条的端点投影到位于所述三维投影空间的投影参考面上包括:基于等距柱状投影的逆过程将所述至少两条线条的端点投影到位于所述三维投影空间的投影参考面上;所述投影参考面为球面,所述三维投影空间的坐标系的坐标原点与所述球面形成的球体的球心重合;以及所述球面包括第一极和第二极,所述球面的经线以及所述第一坐标轴所在的直线均经过所述第一极和所述第二极。
例如,在所述校正信息获取方法的至少一个示例中,所述获取所述二维全景图像中与所述二维全景图像的地面垂直的至少两条线条包括:将所述二维全景图像转换为多个局部视角的平面视角图像;基于线段提取算法提取所述多个局部视角的平面视角图像中的多条线条;以及将所述多条线条中满足预定长度约束和预定角度约束的线条作为所述至少两条线条。
例如,在所述校正信息获取方法的至少一个示例中,所述获取二维全景图像包括:通过拼接多张平面视角照片获取所述二维全景图像或者直接获取通过拍摄获得的二维全景图像。
例如,在所述校正信息获取方法的至少一个示例中,所述校正信息获取方法还包括:将所述投影参考面围绕所述旋转轴旋转所述旋转角度,以获取旋转后的至少两条线段;获取所述旋转后的至少两条线段与所述第一坐标轴的夹角的平均值;以及在所述旋转后的至少两条线段与所述第一坐标轴的夹角的平均值大于预设夹角时,获取所述二维全景图像中的至少两条新的线条,基于所述至少两条新的线条获取用于旋转所述投影参考面的新的旋转轴和新的旋转角度,并使用所述新的旋转轴和所述新的旋转角度替换所述旋转轴和所述旋转角度,其中,所述至少两条新的线条与所述二维全景图像的地面垂直。
本公开的至少一个实施例还提供了一种三维空间的三维模型的构建方法,其包括:获取基于本公开的至少一个实施例提供的任一校正信息获取方法获取的旋转轴和旋转角度;获取所述三维空间对应的二维全景图像;基于所述旋转轴和所述旋转角度旋转位于所述三维投影空间的投影参考面,以获取校正后的投影参考面;以及基于所述校正后的投影参考面和所述二维全景图像构建所述三维空间的三维模型。
本公开的至少一个实施例还提供了一种二维全景图像的校正信息获取装置,其包括投影装置和旋转信息获取装置。所述投影装置被配置为获取所述二维全景图像以及所述二维全景图像中与所述二维全景图像的地面垂直的至少两条线条;所述投影装置还被配置为将所述至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得所述至少两条线条的端点在所述三维投影空间中的投影点形成的至少两条线段;所述投影参考面形成的结构的中心与所述三维投影空间的坐标系的坐标原点重合,所述二维全景图像在所述三维投影空间的投影形成的对应于所述三维空间的结构的高度方向对应于所述三维投影空间的坐标系的第一坐标轴;所述旋转信息获取装置被配置为:基于所述至少两条线段获得用于旋转所述投影参考面的旋转轴和旋转角度;以及所述投影参考面的旋转轴和旋转角度,作为所述二维全景图像的校正信息,用于在基于所述二维全景图像构建对应于所述二维全景图像的所述三维空间的三维模型时旋转所述投影参考面。
本公开的至少一个实施例还提供了另一种二维全景图像的校正信息获取装置,其包括:处理器和存储器。所述存储器中存储有适于所述处理器执行的计算机程序指令,所述计算机程序指令被所述处理器运行时使得所述处理器执行本公开的至少一个实施例提供的任一校正信息获取方法。
本公开的至少一个实施例还提供了一种三维空间的三维模型的构建装置,其包括:参考面校正装置、重建装置以及本公开的至少一个实施例提供的任一二维全景图像的校正信息获取装置。所述参考面校正装置被配置为获取所述三维空间对应的二维全景图像以及所述校正信息获取装置提供的旋转轴和旋转角度;所述参考面校正装置还被配置为:基于所述旋转轴和所述旋转角度旋转位于所述三维投影空间的投影参考面,以获取校正后的投影参考面;以及所述重建装置被配置为基于所述校正后的投影参考面和所述二维全景图像构建所述三维空间的三维模型。
本公开的至少一个实施例还提供了一种三维空间的三维模型的构建装置,其包括:处理器和存储器。所述存储器中存储有适于所述处理器执行的计算机程序指令,所述计算机程序指令被所述处理器运行时使得所述处理器执行本公开的至少一个实施例提供的任一构建方法。
本公开的至少一个实施例还提供了一种非暂时性存储介质,其包括存储其上的计算机程序指令。所述计算机程序指令被处理器运行时使得计算机执行本公开的至少一个实施例提供的任一校正信息获取方法以及本公开的至少一个实施例提供的任一构建方法的至少一个。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了等距柱状投影的过程的一个示例;
图2是本公开的至少一个实施例提供的二维全景图像的校正信息获取方法的示例性流程图;
图3示出了在执行本公开的实施例提供的二维全景图像的校正信息获取方法中获取的二维全景图像的一个示例;
图4示出了在执行本公开的实施例提供的二维全景图像的校正信息获取方法中获取的至少两条线条的一个示例;
图5示出了本公开的至少一个实施例提供的投影到二维全景图像中的、从第一数目的平面视角图像中提取的多条线条的示意图;
图6是本公开的至少一个实施例提供的二维全景图像的坐标系以及二维全景图像中像素点的坐标的一个示例;
图7A是本公开的至少一个实施例提供的三维投影空间和三维投影空间的坐标系的一个示例;
图7B是本公开的至少一个实施例提供的三维投影空间以及用于描述三维投影空间中投影点的球坐标的一个示例;
图8是本公开的至少一个实施例提供的至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段的一个示例;
图9示出了本公开的至少一个实施例提供的第一线段所在的第一截面的法向量以及第二线段所在的第二截面的法向量的一个示例;
图10A示出了本公开的至少一个实施例提供的第一平面和第一平面的法向量的一个示例;
图10B示出了本公开的至少一个实施例提供的第二平面和第二平面的法向量的一个示例;
图10C示出了本公开的至少一个实施例提供的校正后的投影参考面的一个示例;
图11A是本公开的至少一个实施例提供的一种二维全景图片的校正信息获取装置的示例性框图;
图11B是本公开的至少一个实施例提供的另一种二维全景图片的校正信息获取装置的示例性框图;
图12A是本公开的至少一个实施例提供的一种三维空间的三维模型的构建装置的示例性框图;
图12B是本公开的至少一个实施例提供的另一种三维空间的三维模型的构建装置的示例性框图;
图13是本公开的至少一个实施例提供的一种非暂时性存储介质的示例性框图;
图14示出了本公开的至少一个实施例提供的二维全景图片的校正信息获取装置和三维空间的三维模型的构建装置的至少一个的示例性的场景图;以及
图15示出了本公开的至少一个实施例提供的计算设备的架构。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另作定义,此处使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
等距柱状投影(Equirectangular projection)可以将球面的经线映射为平面上恒定间距的垂直线,将球面的纬线映射为平面上恒定间距的水平线。下面结合图1对等距柱状投影的过程进行示例性说明。
图1示出了等距柱状投影的过程的一个示例。如图1所示,首先,可以使用等距柱状投影将球面上的各个点投影到圆柱面(例如,圆柱面与球面相切于球面的赤道)上,然后沿圆柱面的一条母线将圆柱面展开为平面。如图1所示,通过等距柱状投影可以将球面的经线映射为平面上恒定间距的垂直线(也即,沿平面的宽度方向延伸的线条),将球面的纬线映射为平面上恒定间距的水平线(也即,沿平面的长度方向延伸的线条)。例如,上述平面的长度与宽度的比值为2∶1。
例如,在等距柱状投影中,球面上的经线λ和纬线α与平面上点的坐标(u,v)满足以下的表达式(1)。
此处,α0为标准纬线,λ0为中心子午线,u是平面上的像素点在平面的长度方向上的坐标值,v是平面上的像素点在平面的宽度方向上的坐标值。
如果在拍摄二维全景图像或者拍摄用于获取(例如,拼接获取)二维全景图像的普通照片(平面视角照片)或者广角照片的过程中,实际拍摄角度偏离预定拍摄角度(例如,相机倾斜导致拍摄角度偏离),则使用上述二维全景图像获取的对应于该二维全景图像的三维空间的三维模型的墙线或墙面与三维模型的地面不垂直,由此降低了基于该三维模型渲染的三维空间的图像的渲染效果。
本公开的发明人在研究中注意到,可以基于二维全景图像中的单根墙线对二维全景图像进行校正,以获取校正后的二维全景图像并输出。然而,本公开的发明人在研究中还注意到,由于用于对二维全景图像进行校正的单根墙线可能存在误差以及使用单根墙线对二维全景图像进行校正的过程涉及的运算可能存在误差,基于二维全景图像中的单根墙线对二维全景图像进行校正的校正效果较差。此外,由于上述方法输出了校正后的二维全景图像,因此,基于该方法的二维全景图像的校正信息获取装置涉及的数据交换量较大。
本公开的至少一个实施例提供了一种二维全景图像的校正信息获取方法和装置、三维空间的模型的构建方法和装置以及非暂时性存储介质。该二维全景图像的校正信息获取方法包括:获取二维全景图像;获取二维全景图像中与二维全景图像的地面垂直的至少两条线条;将至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段;基于至少两条线段获得用于旋转投影参考面的旋转轴和旋转角度。二维全景图像对应于三维空间,三维空间通过三维空间的墙面和地面形成为至少部分封闭;投影参考面形成的结构的中心与三维投影空间的坐标系的坐标原点重合,二维全景图像在三维投影空间的投影形成的对应于三维空间的结构的高度方向对应于三维投影空间的坐标系的第一坐标轴;投影参考面的旋转轴和旋转角度,作为二维全景图像的校正信息,用于在基于二维全景图像构建对应于二维全景图像的三维空间的三维模型时旋转投影参考面。
本公开的至少一个实施例提供了一种二维全景图像的校正信息获取方法可以基于二维全景图像以及二维全景图像中与二维全景图像的地面垂直的至少两条线条(或者仅基于二维全景图像)获取(例如,自动获取)用于旋转投影参考面的旋转轴和旋转角度,该投影参考面的旋转轴和旋转角度,作为二维全景图像的校正信息,用于在基于二维全景图像构建对应于二维全景图像的三维空间的三维模型时旋转投影参考面。
例如,由于使用二维全景图像中与二维全景图像的地面垂直的至少两条线条获取二维全景图像的校正信息,可以提升使用二维全景图像的校正信息和二维全景图像获取的对应于该二维全景图像的三维空间的三维模型的准确度(也即,提升了基于本公开的至少一个实施例提供的三维空间的模型的构建方法获取的三维空间的三维模型的准确度)以及基于该三维模型渲染的三维空间的图像的渲染效果。例如,由于上述方法输出作为二维全景图像的校正信息的旋转轴和旋转角度,而不输出校正后二维全景图像,因此,可以降低基于该方法的二维全景图像的校正信息获取装置涉及的数据交换量。
在一些示例中,本公开的至少一个实施例提供的二维全景图像的校正信息获取方法在基于二维全景图像以及二维全景图像中与二维全景图像的地面垂直的至少两条线条(或者仅基于二维全景图像)获取(例如,自动获取)用于旋转投影参考面的旋转轴和旋转角度的过程中不需要与用户图形界面交互,因此,在不借助用户图形界面的情况下即可自动获取用于旋转投影参考面的旋转轴和旋转角度,由此基于本公开的至少一个实施例提供的二维全景图像的校正信息获取方法的二维全景图像的校正信息获取装置或程序模块可以运行在各种操作系统(例如,操作系统可以为IOS、Android、Linux、Windows等),由此提升了本公开的至少一个实施例提供的二维全景图像的校正信息获取方法、获取装置和非暂时性存储介质的应用范围。
在一些示例中,本公开的至少一个实施例提供的二维全景图像的校正信息获取方法可以基于至少两条线段的有效线段中的每两条有效线段获取一组用于旋转投影参考面的备用旋转轴和备用旋转角度,并基于备用旋转轴和备用旋转角度获取旋转轴和旋转角度;此种情况下,使得本公开的至少一个实施例提供的二维全景图像的校正信息获取方法可以基于更多的(例如,大于二)与二维全景图像的地面垂直的线条获取二维全景图像的校正信息以及更好的提升二维全景图像的校正信息的准确度,以及使用该二维全景图像的校正信息和二维全景图像获取的对应于该二维全景图像的三维空间的三维模型的准确度。
在一些示例中,本公开的至少一个实施例提供的二维全景图像的校正信息获取方法可以从至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段获取至少两条线段的有效线段,此种情况下,可以降低对从外部获取的与二维全景图像的地面垂直的线条的预处理要求或者无需从外部获取与二维全景图像的地面垂直的线条,由此可以降低对该方法的输入数据的要求,提升本公开的至少一个实施例提供的二维全景图像的校正信息获取方法的适用性和鲁棒性。
在一些示例中,本公开的至少一个实施例提供的二维全景图像的校正信息获取方法可以从二维全景图像中自动提取与二维全景图像的地面垂直的至少两条线条,由此可以提升本公开的至少一个实施例提供的二维全景图像的校正信息获取方法的效率以及适用性。
在一些示例中,本公开的至少一个实施例提供的二维全景图像的校正信息获取方法可以对获取的旋转轴和旋转角度的准确度进行评估,并在获取的旋转轴和旋转角度的准确度不满足预设要求的情况下,基于新的与二维全景图像的地面垂直的至少两条线条获取新的旋转轴和新的旋转角度,直至获取的旋转轴和旋转角度的准确度满足预设要求,由此公开的至少一个实施例提供的二维全景图像的校正信息获取方法可以进一步地提升使用二维全景图像的校正信息和二维全景图像获取的对应于该二维全景图像的三维空间的三维模型的准确度以及基于该三维模型渲染的三维空间的图像的渲染效果。
下面通过几个示例和实施例对根据本公开的至少一个实施例提供的二维全景图像的校正信息获取方法进行非限制性的说明,如下面所描述的,在不相互抵触的情况下这些具体示例和实施例中不同特征可以相互组合,从而得到新的示例和实施例,这些新的示例和实施例也都属于本公开保护的范围。
图2是本公开的至少一个实施例提供的二维全景图像的校正信息获取方法的示例性流程图。
如图2所示,该二维全景图像的校正信息获取方法包括以下的步骤S110-步骤S140。例如,步骤S110-步骤S140可以按照步骤S110、步骤S120、步骤S130和步骤S140的顺序顺次执行。又例如,步骤S110-步骤S140还可以按照步骤S110+步骤S120(也即,步骤S110和步骤S120同时执行)、步骤S130和步骤S140的顺序顺次执行。
步骤S110:获取二维全景图像。
例如,二维全景图像对应于三维空间,也即,二维全景图像为三维空间的全景图像。例如,此处的二维全景图像可以是但不限于单个三维空间(例如,单个客厅或者单个卧室)的二维全景图像。例如,二维全景图像的长度和宽度的比值可以为2∶1或其它适用数值。
例如,三维空间可以为居住空间、办公空间(例如,办公室)、销售空间(例如,卖场)、展览空间(例如,展厅)或其它适用的空间。例如,居住空间可以为卧室、客厅、厨房、酒店或民宿房间等。例如,三维空间通过三维空间的墙面和地面形成为至少部分封闭。
图3示出了在执行本公开的实施例提供的二维全景图像的校正信息获取方法中获取的二维全景图像的一个示例。
例如,获取二维全景图像的具体方法可以根据实际应用需求进行设定,本公开的至少一个实施例对此不作具体限定。
在一个示例中,三维空间的二维全景图像可以预先通过采用具有全景拍摄功能的相机对三维空间进行图像采集获得,并存储到存储器或者服务器中。例如,可以采用具有全景拍摄功能的相机采集三维空间的360度或720度全景。在另一个示例中,可以通过拼接多张平面视角图像或照片(例如,局部视角的平面视角图像或照片)获取三维空间的二维全景图像,并将拼接获得的二维全景图像预先存储到存储器或者服务器中。例如,多张局部视角的平面视角图像包括在三维空间中朝向不同的方位(例如,前方、后方、左方、右方、上方和下方)进行图像采集获得的普通照片。在再一个示例中,还可以通过拼接三维空间的两张180度广角照片获得三维空间的二维全景图像。
在一个示例中,获取二维全景图像可以包括从本地存储器中获取(读取)预先存储在本地存储器中的二维全景图像。在另一个示例中,获取二维全景图像可以包括远程获取二维全景图像,例如,使用信息发送和接收器接收二维全景图像。例如,信息发送和接收器可以从服务器接收二维全景图像并传递给本地端。又例如,信息发送和接收器可以从本地端接收二维全景图像并传递给服务器。
步骤S120:获取二维全景图像中与二维全景图像的地面垂直的至少两条线条。
例如,与二维全景图像的地面垂直的线条包括二维全景图像中的墙线、二维全景图像的门框的垂直于二维全景图像的地面的线条,二维全景图像的窗口框的垂直于二维全景图像的地面的线条等。例如,二维全景图像中的墙线是二维全景图像中对应于三维空间的相邻的墙面的交线的线条。
例如,获取二维全景图像中与二维全景图像的地面垂直的至少两条线条包括获取二维全景图像中与二维全景图像的地面垂直的至少两条线条在二维全景图像中的位置信息。例如,至少两条线条的位置信息可以包括至少两条线条中每条线条的端点的位置信息。又例如,至少两条线条的位置信息可以包括至少两条线条中每条线条的每个点的位置信息。例如,端点(或者线条的每个点)的位置信息可以为端点相对于二维全景图像的左上角的距离;此种情况下,端点的位置信息可以使用t0表示。又例如,端点(或者线条的每个点)的位置信息可以为端点相对于二维全景图像的左边界和上边界的垂直距离;此种情况下,端点的位置信息的每个像素的位置信息可以使用(t1,t2)表示。
例如,获取二维全景图像中与二维全景图像的地面垂直的至少两条线条的具体方法可以根据实际应用需求进行设定,例如可以通过人工标记或者通过图像分析工具(例如神经网络)来进行,本公开的至少一个实施例对此不作具体限定。
在一个示例中,可以通过人工观察并标记二维全景图像中与二维全景图像的地面垂直的至少两条线条;然后基于标记的至少两条线条获取二维全景图像中与二维全景图像的地面垂直的至少两条线条(例如,至少两条线条在二维全景图像中的位置信息)。
例如,图4示出的与二维全景图像的地面垂直的至少两条线条111是通过人工观察和标记获得的与二维全景图像的地面垂直的至少两条线条。如图4所示,每条线条包括端点1111。
例如,在人工标记二维全景图像中与二维全景图像的地面垂直的至少两条线条之后,可以基于上述至少两条线条对应的像素点在二维全景图像中的位置信息获取至少两条线条在二维全景图像中的位置信息。
在另一个示例中,还可以基于二维全景图像自动获取二维全景图像中与二维全景图像的地面垂直的至少两条线条。例如,通过从二维全景图像中自动提取与二维全景图像的地面垂直的至少两条线条,可以提升本公开的至少一个实施例提供的二维全景图像的校正信息获取方法的效率以及适用性。下面结合图3和图5进行示例说明。
例如,基于二维全景图像自动获取二维全景图像中与二维全景图像的地面垂直的至少两条线条包括以下的步骤S121-步骤S124。
步骤S121:将二维全景图像转换为多个局部视角的平面视角图像。
例如,可以将二维全景图像(例如,图3所示的二维全景图像)投影到位于三维投影空间的球面上,将球面划分为第一数目的图像区域,并将第一数目的图像区域的每个转换为平面视角图像,由此可以获取第一数目(例如,6个、24个或26个)的平面视角图像。
步骤S122:基于线段提取算法从多个局部视角的平面视角图像中提取多条线条。
步骤S123:将从多个局部视角的平面视角图像中提取的线条投影到二维全景图像中。
图5示出了投影到二维全景图像中的、从第一数目的平面视角图像中提取的多条线条的示意图。
步骤S124:将多条线条中满足预定长度约束和预定角度约束的线条作为至少两条线条。
例如,可以将多条线条中线条长度大于预设长度(例如,图像左边界的1/3),线条角度(例如,线条与图像左边界的夹角)小于预设角度(例如,5度)的线条作为至少两条线条(例如,线条111)。
例如,步骤S121-步骤S124可以按照步骤S121、步骤S122、步骤S123和步骤S124的顺序顺次执行。
又例如,步骤S121-步骤S124可以按照步骤S121、步骤S122、步骤S124和步骤S123的顺序顺次执行。此种情况下,在步骤S123中,可以仅将至少两条线条投影到二维全景图像中。
例如,可以在执行本公开的实施例提供的二维全景图像的校正信息获取方法之前利用上述的任意一种方法获取二维全景图像中与二维全景图像的地面垂直的至少两条线条(例如,至少两条线条在二维全景图像中的位置信息),然后将至少两条线条(例如,至少两条线条在二维全景图像中的位置信息)预先存储在存储器(例如,与服务器相关的存储器)中。此种情况下,可以在执行本公开的实施例提供的二维全景图像的校正信息获取方法时直接从本地存储器或远程存储器中获取二维全景图像中与二维全景图像的地面垂直的至少两条线条,而无需执行在二维全景图像中标记至少两条线条或者基于二维全景图像中获取至少两条线条的步骤。
例如,本公开的至少一个实施例提供的二维全景图像的校正信息获取方法在基于二维全景图像以及二维全景图像中与二维全景图像的地面垂直的至少两条线条(或者仅基于二维全景图像)获取(例如,自动获取)用于旋转投影参考面的旋转轴和旋转角度的过程中不需要与用户图形界面交互,且可以直接从本地存储器或远程存储器中获取二维全景图像中与二维全景图像的地面垂直的至少两条线条或者直接从本地存储器或远程存储器中获取二维全景图像并从二维全景图像中自动提取与二维全景图像的地面垂直的至少两条线条,此种情况下,可以在不借助用户图形界面的情况下即可自动获取用于旋转投影参考面的旋转轴和旋转角度,由此基于本公开的至少一个实施例提供的二维全景图像的校正信息获取方法的二维全景图像的校正信息获取装置或程序模块可以运行在各种操作系统(例如,操作系统可以为IOS、Android、Linux、Windows等),由此提升了本公开的至少一个实施例提供的二维全景图像的校正信息获取方法、获取装置和非暂时性存储介质的应用范围。
步骤S130:将至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段。
例如,投影参考面形成的结构的中心与三维投影空间的坐标系的坐标原点重合,二维全景图像在三维投影空间的投影形成的对应于三维空间的结构的高度方向对应于三维投影空间的坐标系的第一坐标轴。
例如,将至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段包括:基于至少两条线条的端点在二维全景图像的坐标系中的坐标将至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段的端点在三维投影空间的坐标系中的三维直角坐标。
例如,在执行步骤S130之前,还包括获取至少两条线条的端点在二维全景图像的坐标系中的坐标。
例如,可以基于至少两条线条的端点的位置信息获取至少两条线条的端点在二维全景图像的坐标系中的坐标。下面结合图6对基于二维全景图像中的像素点(例如,至少两条线条的端点)的位置信息获取像素点在二维全景图像的坐标系中的坐标的方法做示例性说明。
图6是本公开的至少一个实施例提供的二维全景图像的坐标系以及二维全景图像中像素点的坐标的一个示例。
例如,二维全景图像101的宽度和长度分别为W和H。例如,二维全景图像101的宽度和长度的单位可以是二维全景图像在宽度方向和长度方向像素的数目。例如,W和H可以分别为1000像素和500像素。
例如,如图6所示,可以使用二维直角坐标系作为二维全景图像101的坐标系。如图6所示,二维直角坐标系由两个互相垂直并相交的坐标轴U和V组成,坐标轴U和V的交点为二维直角坐标系的坐标原点o1,坐标原点o1设置在二维全景图像101的左上角;此种情况下,二维全景图像101的像素点T的坐标可以由(u,v)表示,此处,u和v分别为上述标注的像素点T对应于坐标轴U和V的坐标值。
例如,在二维全景图像101中的像素点T与坐标轴V的垂直距离为t1像素、且与坐标轴U的垂直距离为t2像素的情况下,u=t1/W,v=t2/H,也即,像素点T的坐标可以由(t1/W,t2/H)表示,由此可以基于二维全景图像中的至少两条线条的端点的位置信息获取至少两条线条的端点在二维全景图像的坐标系中的坐标的方法做示例性说明。
例如,在像素点T与坐标轴V的垂直距离为500像素、且与坐标轴U的垂直距离为250像素的情况下,可以得到像素点T的坐标为(0.5,0.5)。又例如,在像素点T与坐标轴V的垂直距离为1000像素、且与坐标轴U的垂直距离为500像素的情况下,可以得到像素点T的坐标为(1,1)。
需要说明的是,二维直角坐标系的原点o1不限于设置在二维全景图像101的左上角,根据实际应用需求,二维直角坐标系的原点o1还可以设置在二维全景图像101的左下角,右下角或者中心;对应地,标注的像素点T在二维全景图像的坐标系中的坐标以及获取的像素点的位置信息将适应性变化。
例如,可以利用等距柱状投影的逆过程、将二维全景图像101中的像素点(例如,至少两条线条的端点)投影到三维投影空间,以获取二维全景图像101中的像素点在三维投影空间中的投影点(例如,至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段)。例如,可以利用二维全景图像101中的像素点在二维全景图像的坐标系中的坐标并基于上述的表达式(1)获取像素点在三维投影空间中的投影点在球面上的经线和纬线;然后,可以基于投影点在球面上的经线和纬线获取投影点在三维投影空间中的球坐标,并基于三维球坐标与三维直角坐标之间的转换关系获投影点在三维投影空间中的三维直角坐标。
需要说明的是,在一些示例中,可以将以下两个步骤合并为一个步骤“利用二维全景图像101中的像素点在二维全景图像的坐标系中的坐标获取投影点在三维投影空间中的球坐标”:利用二维全景图像101中的像素点在二维全景图像的坐标系中的坐标并基于上述的表达式(1)获取像素点在三维投影空间中的投影点在球面上的经线和纬线;基于投影点在球面上的经线和纬线获取投影点在三维投影空间中的球坐标。
下面结合图7A-图7B对利用等距柱状投影的逆过程将二维全景图像中的像素点投影到三维投影空间时,二维全景图像上的像素点的坐标与二维全景图像上的像素点在三维投影空间中的投影点的坐标之间的关系进行示例性说明。
图7A是本公开的至少一个实施例提供的三维投影空间和三维投影空间的坐标系的一个示例。
例如,如图7A所示,三维投影空间的坐标系可以为三维直角坐标系,该三维直角坐标系由三个互相垂直并相交的坐标轴X、Y和Z组成,坐标轴X、Y和Z的交点为坐标系的坐标原点O;此种情况下,三维投影空间中投影点的坐标可以由三维直角坐标(Wx,Wy,Wz)表示,Wx、Wy和Wz分别为上述点对应于坐标轴X、Y和Z的坐标值。例如,三维直角坐标系可以实现为左手坐标系或右手坐标系。例如,三维投影空间的坐标系的第一坐标轴为Y轴。
例如,如图7A所示,投影参考面104可以为球面,三维投影空间的坐标系的坐标原点O与球面形成的球体的球心重合,并且该投影参考面104是作为参考之用,对于其球半径不作限制;球面包括第一极102和第二极103,球面的经线(图中未示出)以及第一坐标轴(Y轴)所在的直线均经过第一极102和第二极103。
图7B是本公开的至少一个实施例提供的三维投影空间以及用于描述三维投影空间中投影点的球坐标的一个示例。
如图7B所示,投影点(例如,第一投影点)在三维投影空间中的坐标不仅可以使用三维直角坐标(Wx,Wy,Wz)进行表示,还可以使用球坐标(r,θ,φ)进行表示。例如,在假设投影点到三维投影空间的坐标系的坐标原点的距离为1的情况下,投影点(例如,第一投影点)在三维投影空间中的坐标可以使用俯仰角θ和旋转角(或者方位角)φ进行表示。俯仰角θ是指投影点与三维投影空间的坐标系的坐标原点O的连线与XOZ平面的夹角;旋转角φ是指投影点与三维投影空间的坐标系的坐标原点O的连线在XOZ平面内的正投影与坐标轴X的正向的夹角。例如,在俯仰角θ和旋转角φ均为0的情况下,表示投影点位于坐标轴X的正半轴;在俯仰角θ和旋转角φ分别为0和π(或-π)的情况下,表示投影点位于坐标轴X的负半轴。又例如,在俯仰角θ和旋转角φ分别为0和π/2的情况下,表示投影点位于坐标轴Z的正半轴;在俯仰角θ和旋转角φ分别为0和-π/2的情况下,表示投影点位于坐标轴Z的负半轴。再例如,在俯仰角θ和旋转角φ分别为-π/2和π的情况下,表示投影点位于坐标轴Y的负半轴;在俯仰角θ为π/2的情况下,表示投影点位于坐标轴Y的正半轴。
例如,二维全景图像的像素点(例如,第一表面的顶点)在二维全景图像的坐标系中的坐标(u,v)与二维全景图像的像素点在三维投影空间中的投影点(例如,第一表面的顶点在三维投影空间中的第一投影点)在三维投影空间中的坐标(θ,φ)满足以下的表达式(2)。
θ=(0.5-v)×π;
φ=(u-0.5)×(2×π) (2)。
例如,可以基于二维全景图像的像素点在三维投影空间中的投影点的球坐标,并利用球坐标与直角坐标之间的转换关系获取二维全景图像的像素点在三维投影空间中的投影点的三维直角坐标。因此,可以基于以上的方法获得至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段的端点在三维投影空间中的投影点在三维投影空间的坐标系中的三维直角坐标。
需要说明的是,在三维直角坐标系的具体形式以及俯仰角θ和旋转角φ的定义变化的情况下,坐标(u,v)和坐标(θ,φ)满足的表达式将对应变化,在此不做赘述。
图8是本公开的至少一个实施例提供的至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段的一个示例。
例如,图8示出了四条线条的端点在三维投影空间中的投影点形成的四条线段,也即,线段A1A2、线段B1B2、线段C1C2和线段D1D2。例如,在获得上述四条线段的端点的三维球坐标之后即可获得上述四条线段。
需要说明的是,本公开的至少一个实施例提供的投影参考面不限于为球面,还可以为正方体的表面(例如,内表面)、柱面或者其它适用的三维曲面。
步骤S140:基于至少两条线段获得用于旋转投影参考面的旋转轴和旋转角度。
例如,投影参考面的旋转轴和旋转角度,作为二维全景图像的校正信息,用于在基于二维全景图像构建对应于二维全景图像的三维空间的三维模型时旋转投影参考面。
在一些示例中,本公开的至少一个实施例提供的二维全景图像的校正信息获取方法可以基于至少两条线段的有效线段中的每两条有效线段获取一组用于旋转投影参考面的备用旋转轴和备用旋转角度,并基于备用旋转轴和备用旋转角度获取旋转轴和旋转角度;此种情况下,使得本公开的至少一个实施例提供的二维全景图像的校正信息获取方法可以基于更多的(例如,大于二)与二维全景图像的地面垂直的线条获取二维全景图像的校正信息以及更好的提升二维全景图像的校正信息的准确度,以及使用该二维全景图像的校正信息和二维全景图像获取的对应于该二维全景图像的三维空间的三维模型的准确度。
例如,基于至少两条线段获得用于旋转投影参考面的旋转轴和旋转角度包括以下的步骤S141和步骤S142。
步骤S141:基于至少两条线段的有效线段中的每两条有效线段获取用于旋转投影参考面的备用旋转轴和备用旋转角度。
例如,有效线段是指至少两条线段中下述线段的组合:也即,线段所在的过坐标原点的截面彼此不共面的线段的组合。对应地,至少两条线段的有效线段的每条有效线段所在的截面(经过坐标原点O的截面)与至少两条线段的其它有效线段的所在的截面(经过坐标原点O的截面)均相交。
例如,在至少两条线段的有效线段的数目为n的情况下,可以基于至少两条线段的有效线段获取(n-1)!(n的阶乘)个备用旋转轴和(n-1)!个备用旋转角度。此处,(n-1)!=1×2×3×...×(n-2)×(n-1)。
例如,在线段A1A2、线段B1B2、线段C1C2和线段D1D2均为有效线段的情况下,可以获取6组备用旋转轴和备用旋转角度。具体而言,可以基于线段A1A2和线段B1B2获取一个备用旋转轴和一个备用旋转角度;基于线段A1A2和线段C1C2获取一个备用旋转轴和一个备用旋转角度;基于线段A1A2和线段D1D2获取一个备用旋转轴和一个备用旋转角度;基于线段B1B2和线段C1C2获取一个备用旋转轴和一个备用旋转角度;基于线段B1B和线段D1D2获取一个备用旋转轴和一个备用旋转角度;基于线段C1C2和线段D1D2获取一个备用旋转轴和一个备用旋转角度。
例如,每两条有效线段包括第一线段和第二线段。例如,下面结合图9和图10A,并以第一线段和第二线段分别为线段A1A2和线段B1B2为例,对基于至少两条线段的有效线段中的每两条有效线段获取用于旋转投影参考面的备用旋转轴和备用旋转角度的方法做示例性说明。
例如,基于至少两条线段的有效线段中的每两条有效线段获取用于旋转投影参考面的备用旋转轴和备用旋转角度包括以下的步骤S1411-步骤S1414。
步骤S1411:获取第一线段所在的第一截面的法向量以及第二线段所在的第二截面的法向量。
图9示出了本公开的至少一个实施例提供的第一线段所在的第一截面的法向量以及第二线段所在的第二截面的法向量的一个示例。
如图9所示,第一线段A1A2所在的第一截面121是指第一线段A1A2与三维投影空间的坐标系的坐标原点O形成的平面,第二线段B1B2所在的第二截面122是指第二线段B1B2与三维投影空间的坐标系的坐标原点O形成的平面。因此,第一截面121和第二截面122均经过三维投影空间的坐标系的坐标原点O。如图9所示,第一线段A1A2所在的第一截面121的法向量N1是指垂直于第一截面121的向量;第二线段B1B2所在的第二截面122的法向量N2是指垂直于第二截面122的向量。
步骤S1412:基于第一截面的法向量和第二截面的法向量获得第一平面。
图10A示出了本公开的至少一个实施例提供的第一平面的一个示例。如图10A所示,第一平面123是指第一截面121的法向量N1和第二截面122的法向量N2形成的平面,也即,第一截面121的法向量N1和第二截面122的法向量N2均位于第一平面123。
步骤S1413:获取第一平面的法向量,并将第一平面的法向量和第一坐标轴的夹角作为备用旋转角度。
图10A还示出了本公开的至少一个实施例提供的第一平面的法向量以及第一平面的法向量和第一坐标轴的夹角的一个示例。如图10A所示,第一平面123的法向量N3是指垂直于第一平面123的向量;第一平面123的法向量N3和第一坐标轴Y的夹角为β。例如,可以将夹角β作为基于第一线段A1A2和第二线段B1B2获得的备用旋转角度Υ。例如,夹角β大于等于0小于等于2π;此种情况下,备用旋转角度Υ和旋转角度均大于等于0小于等于2π。
步骤S1414:基于第一平面的法向量和第一坐标轴获取第二平面,并将第二平面的法向量作为备用旋转轴。
图10A还示出了本公开的至少一个实施例提供的第二平面以及第二平面的法向量的一个示例;图10B示出了本公开的至少一个实施例提供的第二平面和第二平面的法向量的一个示例。如图10A和图10B所示,第二平面124是指第一平面123的法向量N3和第一坐标轴Y形成的平面;第二平面124的法向量N4是指垂直于第二平面124的向量。例如,可以将第二平面124的法向量N4作为基于第一线段A1A2和第二线段B1B2获得的备用旋转轴R。例如,旋转角度可以为法向量N3绕备用旋转轴R、并沿图10B所示的曲线箭头所指的方向旋转到第一坐标轴Y的角度。
步骤S142:基于备用旋转轴和备用旋转角度获取旋转轴和旋转角度。
在一个示例中,有效线段包括两条线段(也即,有效线段的数目等于二);此种情况下,基于备用旋转轴和备用旋转角度获取旋转轴和旋转角度包括:将基于两条线段获得的备用旋转轴和旋转角度分别作为旋转轴和旋转角度。
例如,在图8所示的四条线段中仅有线段A1A2和线段B1B2为有效线段,基于备用旋转轴和备用旋转角度获取旋转轴和旋转角度包括:将基于线段A1A2和线段B1B2获得的备用旋转轴(也即,第二平面124的法向量N4)和旋转角度(也即,夹角β)分别作为用于旋转投影参考面104的旋转轴和旋转角度。
在另一个示例中,在有效线段的数目大于二;此种情况下,基于备用旋转轴和备用旋转角度获取旋转轴和旋转角度包括以下的步骤S1421-步骤S1423。
步骤S1421:获取基于有效线段获得的多个备用旋转角度的平均值。
步骤S1422:获取多个备用旋转角度与平均值的差值的绝对值,以获得多个绝对差值。
步骤S1423:将多个绝对差值中取值最小的绝对差值对应的备用旋转轴和旋转角度分别作为旋转轴和旋转角度。
例如,在图8所示的四条线段,也即,线段A1A2、线段B1B2、线段C1C2和线段D1D2均为有效线段的情况下,可以基于有效线段获取6组备用旋转轴和备用旋转角度,也即,(R1,Υ1)、(R2,Υ2)、(R3,Υ3)、(R4,Υ4)、(R5,Υ5)和(R6,Υ6);此处,R1、R2、R3、R4、R5和R6为6个备用旋转轴;Υ1、Υ2、Υ3、Υ4、Υ5知Υ6为6个备用旋转角度,并可以获取上述6个备用旋转角度的平均值Υ_avg;接着,可以获取6个备用旋转角度与平均值Υ_avg的差值Diff1、Diff2、Diff3、Diff4、Diff5和Diff6。此处,Diff1=Υ1-Υ_avg;Diff2=Υ2-Υ_avg,……;Diff6=Υ6-Υ_avg。例如,在差值Diff2的绝对值为上述6个差值的绝对值中的最小值的情况下,将备用旋转轴R2和备用旋转角度Υ2分别作为用于旋转投影参考面104的旋转轴和旋转角度。
在另一个示例中,例如,备用旋转角度的值为正值,且备用旋转角度Υ大于等于0小于等于2π;旋转角度对应的方向例如为图10B所示的曲线箭头所指的方向;对应地,旋转角度的值为正值,且旋转角度大于等于0小于等于2π。
在再一个示例中,在有效线段的数目大于二;此种情况下,基于备用旋转轴和备用旋转角度获取旋转轴和旋转角度包括以下的步骤S1424-步骤S1426。
步骤S1424:获取基于有效线段获得的多个备用旋转角度的绝对值的平均值。
步骤S1425:获取多个备用旋转角度的绝对值与平均值的差值的绝对值,以获得多个绝对差值。
步骤S1426:将多个绝对差值中取值最小的绝对差值对应的备用旋转轴和旋转角度分别作为旋转轴和旋转角度。
例如,在再一个示例中,备用旋转角度具有正负,且备用旋转角度的绝对值大于等于0小于等于π;备用旋转角度为正值时,表示旋转方向为第一旋转方向;备用旋转角度为负值时,表示旋转方向为第二旋转方向,第一旋转方向和第二旋转方向为相反的旋转方向。例如,第一旋转方向为图10B所示的曲线箭头所指的方向,第二旋转方向为图10B所示的曲线箭头所指的方向的反方向。此种情况下,旋转角度也具有正负,且旋转角度的绝对值也大于等于0小于等于π;旋转角度的正负值的含义与备用旋转角度的正负值相同,在此不再赘述。
例如,投影参考面的旋转轴和旋转角度可以作为二维全景图片的校正信息,用于在基于二维全景图像构建对应于二维全景图像的三维空间的三维模型时旋转投影参考面。为清楚起见,基于二维全景图像构建对应于二维全景图像的三维空间的三维模型时利用投影参考面的旋转轴和旋转角度旋转投影参考面的方法将在本公开的至少一个实施例提供的三维空间的三维模型的构建方法中进行具体说明,在此不再赘述。
在一个示例中,至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段包括冗余线段,对应地,至少两条线段对应的至少两个截面(线段与坐标原点O形成的截面)中存在至少两个共面的截面,至少两条线段对应的至少两个截面的法向量中存在至少两个共线的法向量;此种情况下,在执行步骤S141之前,还包括以下的步骤S150。
步骤S150:获取至少两条线段的有效线段。
例如,获取至少两条线段的有效线段包括以下的步骤S151-步骤S153。
步骤S151:分别获取至少两条线段中每条线段所在的截面(每条线段与坐标原点O形成的截面)的法向量,以获取至少两个向量。
例如,对于图8示出的四条线段,也即,线段A1A2、线段B1B2、线段C1C2和线段D1D2,可以获取平面A1OA2的法向量N1,平面B1OB2的法向量N2,平面C1OC2的法向量n3和平面D1OD2的法向量n4,由此获得四个向量。
步骤S152:剔除至少两个向量中共线的向量对应的冗余线段。
例如,法向量N1和法向量n3共线,也即,N1=λ1×n3;法向量N2和法向量n4共线,也即,N2=λ2×n4,此处,λ1和λ2为非零自然数。此种情况下,可以将法向量N1和法向量n3中的一个以及法向量N2和法向量n4的一个作为冗余线段并剔除。
在一个示例中,可以将法向量N1和法向量n3中的任一个以及法向量N2和法向量n4的任一个作为冗余线段。在另一个示例中,可以基于四个法向量的置信度确定冗余线段。例如,可以将共线的法向量中除置信度最高的法向量均作为冗余线段。例如,法向量的置信度可以基于法向量对应的线段的置信度(或者法向量对应的、垂直于二维全景图像的地面的线条的置信度)确定(例如,上述三个置信度彼此相等)。例如,垂直于二维全景图像的地面的线条的置信度可以基于二维全景图像的对应于线条的图像区域的遮挡情况确定。例如,可以将法向量n3和法向量n4对应的线段(也即,线段C1C2和线段D1D2)作为冗余线段。
步骤S153:将至少两条线段的去除冗余线段之后的线段作为有效线段。
例如,可以将至少两条线段的去除冗余线段(也即,线段C1C2和线段D1D2)的线段(也即,线段A1A2和线段B1B2)作为有效线段。
例如,通过从至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段获取至少两条线段的有效线段,可以降低对从外部获取的与二维全景图像的地面垂直的线条的预处理要求或者无需从外部获取与二维全景图像的地面垂直的线条,由此可以降低对该方法的输入数据的要求,提升本公开的至少一个实施例提供的二维全景图像的校正信息获取方法的适用性和鲁棒性。
例如,在基于至少两条线段获得用于旋转投影参考面的旋转轴和旋转角度之后,可以对获取的旋转轴和旋转角度的准确度进行评估。例如,获取的旋转轴和旋转角度的准确度进行评估包括通过人工观察或者自动对获取的旋转轴和旋转角度的准确度进行评估。例如,在获取的旋转轴和旋转角度的准确度满足预设要求的情况下,可以将获取的旋转轴和旋转角度作为二维全景图像的校正信息输出。例如,在获取的旋转轴和旋转角度的准确度不满足预设要求的情况下,可以基于新的与二维全景图像的地面垂直的至少两条线条获取新的旋转轴和新的旋转角度,直至获取的旋转轴和旋转角度的准确度满足预设要求,由此公开的至少一个实施例提供的二维全景图像的校正信息获取方法可以进一步地提升使用二维全景图像的校正信息和二维全景图像获取的对应于该二维全景图像的三维空间的三维模型的准确度以及基于该三维模型渲染的三维空间的图像的渲染效果。
在一个示例中,校正信息获取方法还包括以下的步骤S161-步骤S163。
步骤S161:将投影参考面围绕旋转轴旋转旋转角度,以获取旋转后的至少两条线段。
例如,将投影参考面围绕旋转轴旋转旋转角度是指使得投影参考面形成的结构围绕旋转轴旋转旋转角度,以使得第一平面的法向量与第一坐标轴重合。例如,
在一个示例中,如图10A所示,可以将球体围绕旋转轴N4旋转旋转角度β,以使得第一平面123的法向量N3与第一坐标轴Y重合。
步骤S162:获取旋转后的至少两条线段与第一坐标轴的夹角的平均值。
例如,在旋转投影参考面之后,至少两条线段的端点在三维投影空间的坐标系中位置和坐标以及至少两条线段对应的两个向量改变;此处,至少两条线段的每个线段在旋转投影参考面之前和之后对应的向量分别记为第一向量和第二向量。例如,可以基于上述旋转轴和旋转角度获取旋转矩阵,并将第一向量与旋转矩阵相乘获取第二向量。例如,在获取第二向量(也即,在旋转投影参考面之后,线段对应的向量)之后,可以基于向量的夹角公式获取第二向量与第一坐标轴对应的向量之间的夹角,并基于该夹角获取旋转后的至少两条线段与第一坐标轴的夹角的平均值。
步骤S163:在旋转后的至少两条线段与第一坐标轴的夹角的平均值大于预设夹角时,获取二维全景图像中的至少两条新的线条,基于至少两条新的线条获取用于旋转投影参考面的新的旋转轴和新的旋转角度,并使用新的旋转轴和新的旋转角度替换旋转轴和旋转角度,此处,至少两条新的线条与二维全景图像的地面垂直。
例如,预设夹角可以根据实际应用需求进行设定,本公开的至少一个实施例对此不作具体限定。例如,预设夹角可以位于0.1-5度(例如,0.5度、1度或2度)。
例如,在旋转后的至少两条线段与第一坐标轴的夹角的平均值大于预设夹角时,表示获取的二维全景图片的校正信息不满足预设要求,此时可以获取二维全景图像中的、与二维全景图像的地面垂直的至少两条新的线条,并基于至少两条新的线条获取用于旋转投影参考面的新的旋转轴和新的旋转角度。例如,可以将上述至少两条新的线条替代步骤S120中的至少两条线条,并基于上述的步骤S130和步骤S140获取新的旋转轴和新的旋转角度。
在一个示例中,在获取新的旋转轴和新的旋转角度之后,可以评估(例如,使用步骤S161-步骤S163进行评估)新的旋转轴和新的旋转角度的准确度是否满足预设要求;在新的旋转角度的准确度满足预设要求的情况下,使用新的旋转轴和新的旋转角度替换旋转轴和旋转角度;在新的旋转角度的准确度不满足预设要求的情况下,基于其它的与二维全景图像的地面垂直的至少两条的线条获取新旋转轴和新旋转角度,直至获取的新旋转轴和新旋转角度的准确度满足预设要求,并将使得准确度满足预设要求的新旋转轴和新旋转角度替换最初获得的旋转轴和旋转角度。
需要说明的是,在旋转角度具有正负,且旋转角度的绝对值大于等于0小于等于π的情况下,旋转后的至少两条线段与第一坐标轴的夹角的平均值是指旋转后的至少两条线段与第一坐标轴的夹角的绝对值的平均值。
在另一个示例中,校正信息获取方法包括以下的步骤S164-步骤S166。
步骤S164:将投影参考面围绕旋转轴旋转旋转角度,以获取旋转后的至少两条线段。
步骤S165:通过人工观察评估旋转后的至少两条线段与坐标面XOZ的夹角是否满足预定需求(例如,是否基本垂直)。
步骤S166:在旋转后的至少两条线段与坐标面XOZ的夹角不满足预定需求时,获取二维全景图像中的至少两条新的、与二维全景图像的地面垂直线条,基于至少两条新的线条获取用于旋转投影参考面的新的旋转轴和新的旋转角度,并使用新的旋转轴和新的旋转角度替换旋转轴和旋转角度。
本公开的至少一个实施例还提供了一种三维空间的三维模型的构建方法,其包括以下的步骤S210-步骤S240。
步骤S210:获取基于本公开的至少一个实施例提供的任一校正信息获取方法获取的旋转轴和旋转角度。
步骤S220:获取三维空间对应的二维全景图像。
步骤S230:基于旋转轴和旋转角度旋转位于三维投影空间的投影参考面,以获取校正后的投影参考面。
例如,步骤S230中的投影参考面可以与本公开的至少一个实施例提供的校正信息获取方法中的投影参考面具有相同或相似的性质。例如,步骤S230中的投影参考面可以为球面,三维投影空间的坐标系的坐标原点O与球面形成的球体的球心重合;球面包括第一极和第二极,球面的经线以及三维投影空间的坐标系的第一坐标轴(Y轴)所在的直线均经过第一极和第二极。
例如,基于旋转轴和旋转角度旋转位于三维投影空间的投影参考面,以获取校正后的投影参考面包括:将投影参考面形成的结构围绕旋转轴沿图10B所示的曲线箭头所指的方向旋转旋转角度之后获取的投影参考面作为校正后的投影参考面。
图10C示出了本公开的至少一个实施例提供的校正后的投影参考面。如图10C所示,校正后的投影参考面105的第一极102’和第二极103’不再位于第一坐标轴Y上;对应地,校正后的的投影参考面105的经度和纬度相对于校正前的投影参考面的经度和纬度在三维投影空间的位置发生改变。因此,在旋转投影参考面之前和之后,二维全景图像的像素点投影到三维投影空间的位置以及坐标不同。
步骤S240:基于校正后的投影参考面和二维全景图像构建三维空间的三维模型。
例如,基于校正后的投影参考面和二维全景图像构建三维空间的三维模型是指基于二维全景图像的相关像素点投影到校正后的投影参考面上的校正后的投影点构建三维空间的三维模型。在一个示例中,可以首先旋转投影参考面并获取校正后的投影参考面105,然后通过将二维全景图像的相关像素点投影到校正后的投影参考面105上获取校正后的投影点,在另一个示例中,可以通过首先将二维全景图像的相关像素点投影到投影参考面上,然后通过旋转投影参考面获取校正后的投影点,
例如,步骤S210-步骤S240可以按照步骤S210+步骤S220(也即,步骤S210+步骤S220同时执行)、步骤S230和步骤S240的顺序顺次执行。又例如,步骤S210-步骤S240可以按照步骤S210+步骤S220、步骤S230+步骤S240(也即,步骤S230+步骤S240同时执行)的顺序顺次执行。再例如,步骤S210-步骤S240可以按照步骤S210、步骤S220、步骤S230和步骤S240的顺序顺次执行。又再例如,步骤S210-步骤S240可以按照步骤S220、步骤S210、步骤S230和步骤S240的顺序顺次执行。
例如,本公开的至少一个实施例提供的三维空间的三维模型的构建方法可以基于二维全景图像以及本公开的至少一个实施例提供的校正信息获取方法提供的二维全景图像的校正信息获取对应于该二维全景图像的三维空间的三维模型,由此可以提升获取的三维模型的准确度以及基于该三维模型渲染的三维空间的图像的渲染效果。
本公开的至少一个实施例还提供了一种二维全景图片的校正信息获取装置。图11A是本公开的至少一个实施例提供的一种二维全景图片的校正信息获取装置的示例性框图。如图11A所示,该一种二维全景图片的校正信息获取装置包括:投影装置和旋转信息获取装置。
投影装置被配置为获取二维全景图像以及二维全景图像中与二维全景图像的地面垂直的至少两条线条;投影装置还被配置为将至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得至少两条线条的端点在三维投影空间中的投影点形成的至少两条线段。此处,投影参考面形成的结构的中心与三维投影空间的坐标系的坐标原点重合,二维全景图像在三维投影空间的投影形成的对应于三维空间的结构的高度方向对应于三维投影空间的坐标系的第一坐标轴。
旋转信息获取装置被配置为:基于至少两条线段获得用于旋转投影参考面的旋转轴和旋转角度。此处,投影参考面的旋转轴和旋转角度,作为二维全景图片的校正信息,用于在基于二维全景图像构建对应于二维全景图像的三维空间的三维模型时旋转投影参考面。
例如,投影装置和旋转信息获取装置可以通过软件、固件、硬件及其任意组合实现,例如,该硬件包括现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
例如,投影装置和旋转信息获取装置的具体实现方法可以参见本公开的至少一个实施例提供的二维全景图片的校正信息获取方法的相关步骤,在此不再赘述。
本公开的至少一个实施例还提供了另一种二维全景图片的校正信息获取装置。图11B是本公开的至少一个实施例提供的另一种二维全景图片的校正信息获取装置的示例性框图。如图11B所示,该另一种二维全景图片的校正信息获取装置包括:处理器和存储器。存储器中存储有适于处理器执行的计算机程序指令,计算机程序指令被处理器运行时使得处理器执行本公开的至少一个实施例提供的任一三维空间的三维模型的构建方法。
例如,该处理器例如是中央处理单元(CPU)、图形处理器GPU、张量处理器(TPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,例如,该处理器可以实现为通用处理器,并且也可以为单片机、微处理器、数字信号处理器、专用的图像处理芯片、或现场可编程逻辑阵列等。例如,存储器可以包括易失性存储器和非易失性存储器的至少一种,例如存储器可以包括只读存储器(ROM)、硬盘、闪存等。相应地,该存储器可以实现为一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,在所述计算机可读存储介质上可以存储一个或多个计算机程序指令。处理器可以运行所述程序指令,以执行本公开的至少一个实施例提供的二维全景图片的校正信息获取方法。该存储器还可以存储其他各种应用程序和各种数据,例如,所述应用程序使用和/或产生的各种数据等。
例如,本公开的至少一个实施例提供的一种和另一种二维全景图片的校正信息获取装置可以提升基于二维全景图像以及校正信息获取装置输出的二维全景图像的校正信息获取的对应于该二维全景图像的三维空间的三维模型的准确度以及基于该三维模型渲染的三维空间的图像的渲染效果,并可以降低该二维全景图像的校正信息获取装置涉及的数据交换量。
本公开的至少一个实施例还提供了一种三维空间的三维模型的构建装置。图12A是本公开的至少一个实施例提供的一种三维空间的三维模型的构建装置的示例性框图。如图12A所示,该一种三维空间的三维模型的构建装置包括:参考面校正装置、重建装置以及本公开的至少一个实施例提供的任一二维全景图片的校正信息获取装置。
参考面校正装置被配置为获取三维空间对应的二维全景图像以及校正信息获取装置提供的旋转轴和旋转角度;参考面校正装置还被配置为:基于旋转轴和旋转角度旋转位于三维投影空间的投影参考面,以获取校正后的投影参考面。
重建装置被配置为基于校正后的投影参考面和二维全景图像构建三维空间的三维模型。
例如,参考面校正装置和重建装置可以通过软件、固件、硬件及其任意组合实现,例如,该硬件包括现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
例如,参考面校正装置和重建装置的具体实现方法可以参见三维空间的三维模型的构建方法的相关步骤,在此不再赘述。
本公开的至少一个实施例还提供了另一种三维空间的三维模型的构建装置。图12B是本公开的至少一个实施例提供的另一种三维空间的三维模型的构建装置的示例性框图。如图12B所示,该另一种三维空间的三维模型的构建装置包括:处理器和存储器。存储器中存储有适于处理器执行的计算机程序指令,计算机程序指令被处理器运行时使得处理器执行本公开的至少一个实施例提供的任一三维空间的三维模型的构建方法。例如,该另一种三维空间的三维模型的构建装置包括的处理器和存储器与另一种二维全景图片的校正信息获取装置包括的处理器和存储器的实现方式相似,在此不再赘述。
例如,本公开的至少一个实施例提供的一种和另一种三维空间的三维模型的构建装置可以基于二维全景图像以及本公开的至少一个实施例提供的校正信息获取装置输出的二维全景图像的校正信息获取对应于该二维全景图像的三维空间的三维模型,由此可以提升该三维模型的准确度以及基于该三维模型渲染的三维空间的图像的渲染效果。
本公开的至少一个实施例还提供了一种非暂时性存储介质。图13是本公开的至少一个实施例提供的一种非暂时性存储介质的示例性框图。如图13所示,该非暂时性存储介质包括存储其上的计算机程序指令。计算机程序指令被处理器运行时使得计算机执行本公开的至少一个实施例提供的任一三维空间的三维模型的构建方法和本公开的至少一个实施例提供的任一二维全景图片的校正信息获取装置的至少一个。
在一个示例中,本公开的至少一个实施例提供的非暂时性存储介质可以使用二维全景图像中与二维全景图像的地面垂直的至少两条线条获取二维全景图像的校正信息。此种情况下,可以降低与该介质相关的二维全景图像的校正信息获取装置涉及的数据交换量。
在另一个示例中,本公开的至少一个实施例提供的非暂时性存储介质可以基于二维全景图像以及二维全景图像的校正信息和获取的对应于该二维全景图像的三维空间的三维模型;此种情况下,可以提升获取的三维模型的准确度以及基于该三维模型渲染的三维空间的图像的渲染效果。
在再一个示例中,本公开的至少一个实施例提供的非暂时性存储介质可以使用二维全景图像中与二维全景图像的地面垂直的至少两条线条获取二维全景图像的校正信息,并基于二维全景图像以及二维全景图像的校正信息和获取的对应于该二维全景图像的三维空间的三维模型;此种情况下,可以降低与该介质相关的二维全景图像的校正信息获取装置涉及的数据交换量以及提升获取的三维模型的准确度以及基于该三维模型渲染的三维空间的图像的渲染效果。
图14示出了本公开的至少一个实施例提供的二维全景图片的校正信息获取装置和三维空间的三维模型的构建装置的至少一个的示例性的场景图。如图14所示,该图像处理装置300可以包括用户终端310、网络320、服务器330以及数据库340。
例如,用户终端310可以是图14中示出的电脑310-1、便携式终端310-2。可以理解的是,用户终端还可以是能够执行数据的接收、处理和显示的任何其他类型的电子设备,其可以包括但不限于台式电脑、笔记本电脑、平板电脑、智能家居设备、可穿戴设备、图像采集装置(例如,相机)、车载电子设备、医疗电子设备等。例如,上述用户终端310可以运行在不同操作系统,例如,操作系统可以为IOS、Android、Linux、Windows等。
例如,所述网络320可以是单个网络,或至少两个不同网络的组合。例如,网络320可以包括但不限于局域网、广域网、公用网络、专用网络、因特网、移动通信网络等中的一种或几种的组合。
例如,该服务器可330以为一个单独的服务器,或者为一个服务器群组,服务器群组内的各个服务器通过有线网络或无线网络进行连接。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。该一个服务器群组可以是集中式的,例如数据中心,也可以是分布式的。服务器可以是本地的或远程的。例如,该服务器330可以为通用型服务器或专用型服务器,可以为虚拟服务器或云服务器等。
例如,数据库340可用于存储从用户终端310和服务器330工作中所利用、产生和输出的各种数据。数据库340可以经由网络320与服务器330或服务器330的一部分相互连接或通信,或直接与服务器330相互连接或通信,或者经由上述两种方式的结合实现与服务器330相互连接或通信。在一些实施例中,数据库340可以是独立的设备。在另一些实施例中,数据库340也可以集成在用户终端310和服务器340中的至少一个中。例如,数据库340可以设置在用户终端310上,也可以设置在服务器340上。又例如,数据库340也可以是分布式的,其一部分设置在用户终端310上,另一部分设置在服务器340上。
在一个示例中,可以利用服务器330执行本公开的至少一个实施例提供的任一二维全景图片的校正信息获取方法和本公开的至少一个实施例提供的任一三维空间的三维模型的构建方法的至少一个,并将获得的二维全景图片的校正信息以及三维空间的三维模型的至少一个存储在服务器330或数据库340。
在一些实现方式中,服务器330可以经由网络320或其它技术(如,蓝牙通信、红外通信等)从用户终端310仅获取二维全景图像。在另一些实现方式中,服务器330可以从服务器330或数据库340中仅获取预先存储的二维全景图像(或者获取二维全景图像以及二维全景图像中与二维全景图像的地面垂直的至少两条线条)。在再一些实现方式中,服务器330可以从用户终端310、服务器330或数据库340仅获取三维空间的二维全景图像,并利用相关应用程序或用户图形界面获取二维全景图像中与二维全景图像的地面垂直的至少两条线条。
例如,服务器330可以利用服务器内置的应用程序或者通过调用服务器外部存储的应用程序执行本公开的至少一个实施例提供的任一二维全景图片的校正信息获取方法和本公开的至少一个实施例提供的任一三维空间的三维模型的构建方法的至少一个。
在另一个示例中,可以利用用户终端310执行本公开的至少一个实施例提供的任一二维全景图片的校正信息获取方法和本公开的至少一个实施例提供的任一三维空间的三维模型的构建方法的至少一个。
在一些实现方式中,用户终端310可以经由网络320或其它技术(如,蓝牙通信、红外通信等)从服务器330获取二维全景图像以及二维全景图像中与二维全景图像的地面垂直的至少两条线条。在另一些实现方式中,用户终端310可以直接获取预先存储在用户终端310的存储器件中的二维全景图像以及二维全景图像中与二维全景图像的地面垂直的至少两条线条。在再一些实现方式中,用户终端310可以从用户终端310、用户图形界面、服务器330或数据库340获取二维全景图像,并利用相关应用程序或用户图形界面获取二维全景图像中与二维全景图像的地面垂直的至少两条线条。
例如,用户终端可以利用用户终端310内置的应用程序或者通过调用用户终端310外部存储的应用程序执行本公开的至少一个实施例提供的任一二维全景图片的校正信息获取方法和本公开的至少一个实施例提供的任一三维空间的三维模型的构建方法的至少一个。
根据本公开的至少一个实施例的方法或装置也可以借助于图15所示的计算设备400的架构来实现。
图15示出了本公开的至少一个实施例提供的计算设备400的架构。如图15所示,计算设备400可以包括总线410、一个或至少两个CPU 420、只读存储器(ROM)430、随机存取存储器(RAM)440、连接到网络的通信端口450、输入/输出组件460、硬盘470等。计算设备400中的存储设备(例如,ROM 430或硬盘470)可以存储本公开的至少一个实施例提供的二维全景图片的校正信息获取方法和本公开的至少一个实施例提供三维空间的三维模型的构建方法的至少一个对应的指令以及各种相关的数据或文件。计算设备400还可以包括人机用户界面480。当然,图15所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图15示出的计算设备中的一个或至少两个组件。
虽然上文中已经用一般性说明及具体实施方式,对本公开作了详尽的描述,但在本公开实施例基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本公开精神的基础上所做的这些修改或改进,均属于本公开要求保护的范围。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。
Claims (17)
1.一种二维全景图像的校正信息获取方法,包括:
获取所述二维全景图像,其中,所述二维全景图像对应于三维空间,所述三维空间通过所述三维空间的墙面和地面形成为至少部分封闭;
获取所述二维全景图像中与所述二维全景图像的地面垂直的至少两条线条;
将所述至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得所述至少两条线条的端点在所述三维投影空间中的投影点形成的至少两条线段,
其中,所述投影参考面形成的结构的中心与所述三维投影空间的坐标系的坐标原点重合,所述二维全景图像在所述三维投影空间的投影形成的对应于所述三维空间的结构的高度方向对应于所述三维投影空间的坐标系的第一坐标轴;以及
基于所述至少两条线段获得用于旋转所述投影参考面的旋转轴和旋转角度,其中,所述投影参考面的旋转轴和旋转角度,作为所述二维全景图像的校正信息,用于在基于所述二维全景图像构建对应于所述二维全景图像的所述三维空间的三维模型时旋转所述投影参考面。
2.根据权利要求1所述的校正信息获取方法,其中,所述基于所述至少两条线段获得用于旋转所述投影参考面的旋转轴和旋转角度包括:
基于所述至少两条线段的有效线段中的每两条有效线段获取用于旋转所述投影参考面的备用旋转轴和备用旋转角度;以及
基于所述备用旋转轴和所述备用旋转角度获取所述旋转轴和所述旋转角度;以及
所述至少两条线段的有效线段的每条有效线段所在的经过所述坐标原点的截面与所述至少两条线段的其它有效线段所在的经过所述坐标原点的截面均相交。
3.根据权利要求2所述的校正信息获取方法,其中,所述基于所述至少两条线段获得用于旋转所述投影参考面的旋转轴和旋转角度还包括:获取所述至少两条线段的有效线段。
4.根据权利要求3所述的校正信息获取方法,其中,所述获取所述至少两条线段的有效线段包括:
分别获取所述至少两条线段中每条线段所在的截面的法向量,以获取至少两个向量;
剔除所述至少两个向量中共线的向量对应的冗余线段;以及
将所述至少两条线段的去除所述冗余线段之后的线段作为所述有效线段。
5.根据权利要求2-4任一项所述的校正信息获取方法,其中,所述每两条有效线段包括第一线段和第二线段;
所述基于所述至少两条线段的有效线段中的每两条有效线段获取用于旋转所述投影参考面的备用旋转轴和备用旋转角度包括:
获取所述第一线段所在的第一截面的法向量以及所述第二线段所在的第二截面的法向量,其中,所述第一截面和所述第二截面经过所述三维投影空间的坐标系的坐标原点;
基于所述第一截面的法向量和所述第二截面的法向量获得第一平面;
获取所述第一平面的法向量,并将所述第一平面的法向量和所述第一坐标轴的夹角作为所述备用旋转角度;以及
基于所述第一平面的法向量和所述第一坐标轴获取第二平面,并将所述第二平面的法向量作为所述备用旋转轴。
6.根据权利要求2-4任一项所述的校正信息获取方法,其中,所述有效线段包括两条线段;以及
所述基于所述备用旋转轴和所述备用旋转角度获取所述旋转轴和所述旋转角度包括将基于所述两条线段获得的备用旋转轴和旋转角度分别作为所述旋转轴和所述旋转角度。
7.根据权利要求5所述的校正信息获取方法,其中,所述有效线段的数目大于二;以及
所述基于所述备用旋转轴和所述备用旋转角度获取所述旋转轴和所述旋转角度包括:
获取基于所述有效线段获得的多个备用旋转角度的平均值;
获取所述多个备用旋转角度与所述平均值的差值的绝对值,以获得多个绝对差值;以及
将所述多个绝对差值中取值最小的绝对差值对应的备用旋转轴和旋转角度分别作为所述旋转轴和所述旋转角度。
8.根据权利要求1-4任一项所述的校正信息获取方法,其中,所述将所述至少两条线条的端点投影到位于所述三维投影空间的投影参考面上包括:基于等距柱状投影的逆过程将所述至少两条线条的端点投影到位于所述三维投影空间的投影参考面上;
所述投影参考面为球面,所述三维投影空间的坐标系的坐标原点与所述球面形成的球体的球心重合;以及
所述球面包括第一极和第二极,所述球面的经线以及所述第一坐标轴所在的直线均经过所述第一极和所述第二极。
9.根据权利要求1-4任一项所述的校正信息获取方法,其中,所述获取所述二维全景图像中与所述二维全景图像的地面垂直的至少两条线条包括:
将所述二维全景图像转换为多个局部视角的平面视角图像;
基于线段提取算法提取所述多个局部视角的平面视角图像中的多条线条;以及
将所述多条线条中满足预定长度约束和预定角度约束的线条作为所述至少两条线条。
10.根据权利要求1-4任一项所述的校正信息获取方法,其中,所述获取二维全景图像包括:通过拼接多张平面视角照片获取所述二维全景图像或者直接获取通过拍摄获得的二维全景图像。
11.根据权利要求1-4任一项所述的校正信息获取方法,还包括:
将所述投影参考面围绕所述旋转轴旋转所述旋转角度,以获取旋转后的至少两条线段;
获取所述旋转后的至少两条线段与所述第一坐标轴的夹角的平均值;以及
在所述旋转后的至少两条线段与所述第一坐标轴的夹角的平均值大于预设夹角时,获取所述二维全景图像中的至少两条新的线条,基于所述至少两条新的线条获取用于旋转所述投影参考面的新的旋转轴和新的旋转角度,并使用所述新的旋转轴和所述新的旋转角度替换所述旋转轴和所述旋转角度,其中,所述至少两条新的线条与所述二维全景图像的地面垂直。
12.一种三维空间的三维模型的构建方法,包括:
获取基于如权利要求1-11任一项所述的校正信息获取方法获取的旋转轴和旋转角度;
获取所述三维空间对应的二维全景图像;
基于所述旋转轴和所述旋转角度旋转位于所述三维投影空间的投影参考面,以获取校正后的投影参考面;以及
基于所述校正后的投影参考面和所述二维全景图像构建所述三维空间的三维模型。
13.一种二维全景图像的校正信息获取装置,包括投影装置和旋转信息获取装置,
其中,所述投影装置被配置为获取所述二维全景图像以及所述二维全景图像中与所述二维全景图像的地面垂直的至少两条线条;
所述投影装置还被配置为将所述至少两条线条的端点投影到位于三维投影空间的投影参考面上,以获得所述至少两条线条的端点在所述三维投影空间中的投影点形成的至少两条线段;
所述投影参考面形成的结构的中心与所述三维投影空间的坐标系的坐标原点重合,所述二维全景图像在所述三维投影空间的投影形成的对应于所述三维空间的结构的高度方向对应于所述三维投影空间的坐标系的第一坐标轴;
所述旋转信息获取装置被配置为:基于所述至少两条线段获得用于旋转所述投影参考面的旋转轴和旋转角度;以及
所述投影参考面的旋转轴和旋转角度,作为所述二维全景图像的校正信息,用于在基于所述二维全景图像构建对应于所述二维全景图像的所述三维空间的三维模型时旋转所述投影参考面。
14.一种二维全景图像的校正信息获取装置,包括:
处理器;和
存储器,
其中,所述存储器中存储有适于所述处理器执行的计算机程序指令,所述计算机程序指令被所述处理器运行时使得所述处理器执行如权利要求1-11任一项所述的校正信息获取方法。
15.一种三维空间的三维模型的构建装置,包括:
参考面校正装置;
重建装置;以及
如权利要求13或14所述的二维全景图像的校正信息获取装置,
其中,所述参考面校正装置被配置为获取所述三维空间对应的二维全景图像以及所述校正信息获取装置提供的旋转轴和旋转角度;
所述参考面校正装置还被配置为:基于所述旋转轴和所述旋转角度旋转位于所述三维投影空间的投影参考面,以获取校正后的投影参考面;以及
所述重建装置被配置为基于所述校正后的投影参考面和所述二维全景图像构建所述三维空间的三维模型。
16.一种三维空间的三维模型的构建装置,包括:
处理器;和
存储器,
其中,所述存储器中存储有适于所述处理器执行的计算机程序指令,所述计算机程序指令被所述处理器运行时使得所述处理器执行如权利要求12所述的构建方法。
17.一种非暂时性存储介质,包括存储其上的计算机程序指令,
其中,所述计算机程序指令被处理器运行时使得计算机执行如权利要求1-11任一项所述的校正信息获取方法以及如权利要求12所述的构建方法的至少一个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911315979.0A CN111161173B (zh) | 2019-12-18 | 2019-12-18 | 图像的校正信息获取、模型构建方法和装置、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911315979.0A CN111161173B (zh) | 2019-12-18 | 2019-12-18 | 图像的校正信息获取、模型构建方法和装置、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111161173A CN111161173A (zh) | 2020-05-15 |
CN111161173B true CN111161173B (zh) | 2020-11-06 |
Family
ID=70557428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911315979.0A Active CN111161173B (zh) | 2019-12-18 | 2019-12-18 | 图像的校正信息获取、模型构建方法和装置、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111161173B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597573B (zh) * | 2020-12-18 | 2024-04-19 | 中建钢构武汉有限公司 | 空间三维放样方法、装置、设备及存储介质 |
CN113160309B (zh) * | 2021-04-14 | 2024-04-30 | 上海杰图天下网络科技有限公司 | 基于地面线的全景图定位定姿方法、系统、设备及介质 |
CN113298720B (zh) * | 2021-04-21 | 2022-08-19 | 重庆邮电大学 | 一种自适应的重叠图像旋转方法 |
CN113645456B (zh) * | 2021-09-22 | 2023-11-07 | 业成科技(成都)有限公司 | 投影图像校正方法、投影系统及可读存储介质 |
CN113989166B (zh) * | 2021-12-27 | 2022-03-15 | 贝壳技术有限公司 | 全景图的垂直矫正方法和装置、电子设备和存储介质 |
CN115713465B (zh) * | 2022-10-28 | 2023-11-14 | 北京阅友科技有限公司 | 平面图像的立体展示方法及装置、存储介质、终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0967791B1 (en) * | 1998-06-24 | 2011-12-28 | Canon Kabushiki Kaisha | Image processing method, apparatus and memory medium therefor |
CN102308320A (zh) * | 2009-02-06 | 2012-01-04 | 香港科技大学 | 从图像生成三维模型 |
CN102855665A (zh) * | 2012-08-01 | 2013-01-02 | 北京天人同达软件科技有限公司 | 从单幅图像重建三维建筑模型的方法 |
CN109242958A (zh) * | 2018-08-29 | 2019-01-18 | 广景视睿科技(深圳)有限公司 | 一种三维建模的方法及其装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6750860B1 (en) * | 1998-12-28 | 2004-06-15 | Microsoft Corporation | Rendering with concentric mosaics |
US6614429B1 (en) * | 1999-05-05 | 2003-09-02 | Microsoft Corporation | System and method for determining structure and motion from two-dimensional images for multi-resolution object modeling |
CN106530218B (zh) * | 2016-10-28 | 2020-04-10 | 浙江宇视科技有限公司 | 一种坐标转换方法及装置 |
CN108122203B (zh) * | 2016-11-29 | 2020-04-07 | 上海东软医疗科技有限公司 | 一种几何参数的校正方法、装置、设备及系统 |
KR20170061640A (ko) * | 2017-04-26 | 2017-06-05 | (주)디렉션 | 원근법 대응 이미지 보정 방법 및 장치 |
CN107845061A (zh) * | 2017-11-10 | 2018-03-27 | 暴风集团股份有限公司 | 图像处理方法、装置及终端 |
CN109345587B (zh) * | 2018-09-01 | 2022-02-22 | 哈尔滨工程大学 | 一种基于全景与单目视觉的混合视觉定位方法 |
-
2019
- 2019-12-18 CN CN201911315979.0A patent/CN111161173B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0967791B1 (en) * | 1998-06-24 | 2011-12-28 | Canon Kabushiki Kaisha | Image processing method, apparatus and memory medium therefor |
CN102308320A (zh) * | 2009-02-06 | 2012-01-04 | 香港科技大学 | 从图像生成三维模型 |
CN102855665A (zh) * | 2012-08-01 | 2013-01-02 | 北京天人同达软件科技有限公司 | 从单幅图像重建三维建筑模型的方法 |
CN109242958A (zh) * | 2018-08-29 | 2019-01-18 | 广景视睿科技(深圳)有限公司 | 一种三维建模的方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111161173A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111161173B (zh) | 图像的校正信息获取、模型构建方法和装置、介质 | |
CN111223177B (zh) | 三维空间的三维模型的构建方法和装置、存储介质 | |
CN110910486B (zh) | 室内场景光照估计模型、方法、装置、存储介质以及渲染方法 | |
CN111127655A (zh) | 房屋户型图的构建方法及构建装置、存储介质 | |
TWI387936B (zh) | A video conversion device, a recorded recording medium, a semiconductor integrated circuit, a fish-eye monitoring system, and an image conversion method | |
US20170038942A1 (en) | Playback initialization tool for panoramic videos | |
US9135678B2 (en) | Methods and apparatus for interfacing panoramic image stitching with post-processors | |
WO2018077071A1 (zh) | 一种全景图像的生成方法及装置 | |
US9881425B1 (en) | Synchronized side-by-side display of real and virtual environments | |
US20200111234A1 (en) | Dual-view angle image calibration method and apparatus, storage medium and electronic device | |
CN107924556B (zh) | 图像生成装置和图像显示控制装置 | |
US9047692B1 (en) | Scene scan | |
US10565803B2 (en) | Methods and apparatuses for determining positions of multi-directional image capture apparatuses | |
US20140085295A1 (en) | Direct environmental mapping method and system | |
US11922568B2 (en) | Finite aperture omni-directional stereo light transport | |
CN113989392A (zh) | 拼接摄像机的彩色棋盘格标定方法、装置及摄像机 | |
US20140085303A1 (en) | Splitting of elliptical images | |
CN114511447A (zh) | 图像处理方法、装置、设备及计算机存储介质 | |
CN112288878B (zh) | 增强现实预览方法及预览装置、电子设备及存储介质 | |
CN111091117B (zh) | 用于二维全景图像的目标检测方法、装置、设备、介质 | |
CN111161138B (zh) | 用于二维全景图像的目标检测方法、装置、设备、介质 | |
Bergmann et al. | Gravity alignment for single panorama depth inference | |
WO2018150086A2 (en) | Methods and apparatuses for determining positions of multi-directional image capture apparatuses | |
WO2018100230A1 (en) | Method and apparatuses for determining positions of multi-directional image capture apparatuses | |
CN110786017B (zh) | 分发图像生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |