CN114926371B - 一种全景图的垂直校正、灭点检测方法、设备及存储介质 - Google Patents

一种全景图的垂直校正、灭点检测方法、设备及存储介质 Download PDF

Info

Publication number
CN114926371B
CN114926371B CN202210744794.7A CN202210744794A CN114926371B CN 114926371 B CN114926371 B CN 114926371B CN 202210744794 A CN202210744794 A CN 202210744794A CN 114926371 B CN114926371 B CN 114926371B
Authority
CN
China
Prior art keywords
vanishing point
straight line
coordinate system
perspective
camera coordinate
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
Application number
CN202210744794.7A
Other languages
English (en)
Other versions
CN114926371A (zh
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN202210744794.7A priority Critical patent/CN114926371B/zh
Publication of CN114926371A publication Critical patent/CN114926371A/zh
Application granted granted Critical
Publication of CN114926371B publication Critical patent/CN114926371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Abstract

本申请实施例提供一种全景图的垂直校正、灭点检测方法、设备及存储介质。将目标全景图转换为多个透视图;基于多个透视图各自所在的透视相机坐标系与全景相机坐标系之间映射关系,可针对在多个透视图中检测到的直线段进行联合聚类,以获得多个平行直线簇;还可分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置,以确定出目标全景图对应的垂直校正矩阵,作为对目标全景图的垂直校正依据。据此,可基于多个透视图各自对应的前述映射关系,实现对多个透视图的联动,从而可基于在透视图中检测到的直线段而计算出全景相机坐标系中的灭点位置,实现全景图中的灭点检测,从而可为全景图的垂直校正提供更加准确的校正依据,改善垂直校正效果。

Description

一种全景图的垂直校正、灭点检测方法、设备及存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种全景图的垂直校正、灭点检测方法、设备及存储介质。
背景技术
互联网时代,为了便捷看房,VR看房技术得到广泛应用。通常可使用全景相机拍摄房间全景,以呈现房间各个视角的信息。全景相机,是一种具有360°FOV(field of view,视野)的相机,它能够拍摄房间各处的信息,它所拍摄出的图像称为全景图。
目前,由于全景相机的放置姿态倾斜等原因,导致拍摄出的全景图中可能存在画面倾斜问题,影响全景图的质量。
发明内容
本申请的多个方面提供一种全景图的垂直校正、灭点检测方法、设备及存储介质,用以更加准确地实现对全景图的垂直校正。
本申请实施例提供一种全景图的垂直校正方法,包括:
将目标全景图转换为多个透视图;
在所述多个透视图中检测直线段;
基于所述多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在所述全景相机坐标系中对应的灭点位置;
根据所述全景相机坐标系中产生的多个灭点位置,确定所述目标全景图对应的垂直校正矩阵;
按照所述垂直校正矩阵对所述目标全景图进行垂直校正。
本申请实施例还提供一种全景图中的灭点检测方法,包括:
将目标全景图转换为多个透视图;
在所述多个透视图中检测直线段;
基于所述多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在所述全景相机坐标系中对应的灭点位置。
本申请实施例还提供一种计算设备,包括存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于:
将目标全景图转换为多个透视图;
在所述多个透视图中检测直线段;
基于所述多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在所述全景相机坐标系中对应的灭点位置;
根据所述全景相机坐标系中产生的多个灭点位置,确定所述目标全景图对应的垂直校正矩阵;
按照所述垂直校正矩阵对所述目标全景图进行垂直校正。
本申请实施例还提供一种计算设备,包括存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于:
将目标全景图转换为多个透视图;
在所述多个透视图中检测直线段;
基于所述多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在所述全景相机坐标系中对应的灭点位置。
本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行前所述的全景图的垂直校正方法或全景图中的灭点检测方法。
在本申请实施例中,将目标全景图转换为多个透视图,并计算多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系;基于映射关系,可针对在多个透视图中检测到的直线段进行联合聚类,以获得多个平行直线簇,平行直线簇可反映检测出的各直线段在全景图中的位置关系;基于映射关系,还可分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置,以确定出目标全景图对应的垂直校正矩阵;按照垂直校正矩阵即可对目标全景图执行垂直校正。据此,本申请实施例中,可基于多个透视图各自对应的前述映射关系,实现对多个透视图的联动,从而可基于在透视图中检测到的直线段而计算出全景相机坐标系中的灭点位置,实现全景图中的灭点检测,从而可为全景图的垂直校正提供更加准确的校正依据,改善垂直校正效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的一种全景图的垂直校正方法的流程示意图;
图2为本申请一示例性实施例提供一种示例性透视图的示意图;
图3为本申请一示例性实施例提供的一种偏好距离的计算方案示意图;
图4为本申请另一示例性实施例提供的一种全景图中的灭点检测方法;
图5为本申请又一示例性实施例提供的一种计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,对全景图的垂直效果不佳。为此,本申请的一些实施例中:将目标全景图转换为多个透视图,并计算多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系;基于映射关系,可针对在多个透视图中检测到的直线段进行联合聚类,以获得多个平行直线簇,平行直线簇可反映检测出的各直线段在全景图中的位置关系;基于映射关系,还可分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置,以确定出目标全景图对应的垂直校正矩阵;按照垂直校正矩阵即可对目标全景图执行垂直校正。据此,本申请实施例中,可基于多个透视图各自对应的前述映射关系,实现对多个透视图的联动,从而可基于在透视图中检测到的直线段而计算出全景相机坐标系中的灭点位置,实现全景图中的灭点检测,从而可为全景图的垂直校正提供更加准确的校正依据,改善垂直校正效果。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的一种全景图的垂直校正方法的流程示意图,该方法可由数据处理装置执行,该数据处理装置可实现为软件和/或硬件的结合,该数据处理装置可集成在计算设备中。参考图1,该方法可包括:
步骤100、将目标全景图转换为多个透视图;
步骤101、在多个透视图中检测直线段;
步骤102、基于多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
步骤103、分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置;
步骤104、根据全景相机坐标系中产生的多个灭点位置,确定目标全景图对应的垂直校正矩阵;
步骤105、按照垂直校正矩阵对目标全景图进行垂直校正。
本实施例提供的全景图的垂直校正方法可应用于各种需要对全景图进行垂直校正的场景,例如,VR看房、VR看车等,本实施例对应用场景不做限定。本实施例中将需要进行垂直校正的全景图描述为“目标全景图。
全景图是由全景相机拍摄出的一种图像。全景相机,是具有360度FOV(field ofview,视野)的相机,它将三维点投影到单位球面后,以等距柱状投影(EquirectangularProjection)到成像平面,而产生全景图。
参考图1,在步骤100中,可将目标全景图转换为多个透视图。这里,透视图的数量可根据实际需要进行选择,本实施例中,透视图的数量可大于等于4个。
在一种示例性的实现方案中,可将目标全景图的全景视野拆分为指定数量个视野区间;在每个视野区间内分别进行透视图转换,以将目标全景图转换为指定数量个透视图。发明人在实践中验证,将目标全景图经度方向的全景视野拆分为4个90°的区间,纬度方向采用仰角45°,俯角45°,从而获得4个连续的视野区间并分别转换为透视图,即可获得优秀的垂直校正效果,且计算量更少。为此,在该示例性的实现方案中,优选地,可将目标全景图转换为4个透视图,且4个透视图在视野上连续。4个透视图可分别承载目标全景图中1/4的视野区间。
在将目标全景图转换为多个透视图的过程中,还可分别计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。承接上述将目标全景图转换为多个透视图的示例性实施例方案,本实施例中,一种计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系的方案,可以是:
基于当前视野区间所处的经度和纬度,确定当前视野区间对应的透视图所处的视线方向;将目标全景图在当前视野区间内的顶点像素映射在全景相机坐标系对应的单位球上,以产生相应透视图的矩形顶点在全景相机坐标系中的位置;基于视线方向和透视图的矩形顶点在全景相机坐标系中的位置,计算透视图上任意一点在全景相机坐标系中的位置;根据透视图上任意一点在全景相机坐标系中的位置以及在当前视野区间对应的当前透视图所处的透视相机坐标系中的位置,计算当前透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。也即是,前述的将目标全景转换为多个透视图的过程中,可将目标全景图投影至内嵌于全景相机坐标系中原点处单位球内的多侧面柱体上,例如,在透视图的数量为4个的情况下,可理解为将目标全景图投影至内嵌于单位球内的正方体的4个侧面上,这样,正方体的4个侧面上分别产生一张透视图,而每张透视图的四个顶点将位于单位球面上。
图2为本申请一示例性实施例提供一种示例性透视图的示意图,参考图2,本实施例中,可提供一种当前透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系的示例性表征方式,应当理解的是,当前透视图可以是目标全景图所转换出的多个透视图中的任意一个。
参考图2,假设目标全景图的中心为O,这也将是当前透视图的相机中心。假设当前透视图对应的透视相机的视线方向为
Figure BDA0003716594190000041
(经度
Figure BDA0003716594190000042
纬度ψ),假设透视相机在经度和纬度方向的FOV分别为(θcr)。假设当前透视图的矩形的四个顶点分别为A,B,C,D,各边的中点分别为H,I,J,K,透视图的中心为P。正如前文所述,当前透视图的四个顶点在单位球上,也就是‖OA‖=‖OB‖=‖OC‖=‖OD‖=1(这是由于单位球的半径是1)。
基于上述假设,可计算当前透视图的四个顶点的3D坐标,它们是将目标全景图转换为透视图的关键中坚结果。
首先,计算
Figure BDA0003716594190000043
显然,
Figure BDA0003716594190000044
Figure BDA0003716594190000045
因此,我们有:
Figure BDA0003716594190000046
另一方面,根据视线方向的经纬度,我们可以计算视线方向
Figure BDA0003716594190000047
Figure BDA00037165941900000511
Figure BDA0003716594190000051
Figure BDA0003716594190000052
Figure BDA0003716594190000053
Figure BDA0003716594190000054
这样,可计算出
Figure BDA0003716594190000055
当前透视图的尺寸(h,w)将是:
Figure BDA0003716594190000056
w/h=tan(θc/2)/tan(θr/2)。
其中,IH和IW分别为目标全景图的高度和宽度。这样,对于当前透视图上的任一点Q,可以计算
Figure BDA0003716594190000057
最后,将
Figure BDA0003716594190000058
归一化至单位球并应用全景相机坐标系,即可完成透视相机到全景相机的坐标转换。
进一步地,还可以计算当前透视图对应的旋转矩阵R和内参数矩阵K:
Figure BDA0003716594190000059
Figure BDA00037165941900000510
其中,基于上述的R和K可将目标全景图的当前视野区间在全景相机坐标系中对应的点,映射至当前透视图对应的透视相机坐标系中的点。当前透视图对应的旋转矩阵R和内参数矩阵K即可用于表征当前透视图所在的透视相机坐标系与全景相机坐标系之间的映射关系。对其它透视图也应用上述方案,即可获得目标全景图转换出的多个透视图各自对应的旋转矩阵R和内参数矩阵K。
应当理解的是,上述当前透视图对应的旋转矩阵R和内参数矩阵K的表征方式仅是示例性的,本实施例并不限于此,还可采用其它形式来表征当前透视图对应的R和K,在此也不做限定。
继续参考图1,在步骤101中,可在多个透视图中检测直线段。本实施例中,可采用现有或将来可用的各种在二维图像中进行直线段检测的方案来完成步骤101。一种示例性的检测方案可以是:在图像的梯度域,通过区域生长算法检测近邻的具有相似梯度的各像素,将这些区域拟合为矩形从而计算直线段。这并不是本案的重点,在此不再详述。
在完成直线段检测后,在步骤102中,可基于多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇。其中,联合聚类可理解为将在多个透视图中检测出的全部直线段进行统一聚类。在这里,可基于多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,将在多个透视图中检测到的直线都映射到全景相机坐标系中,从而将不共面的直线段统一映射至全景相机坐标系中,以在全景相机坐标系中对检测出的所有直线段进行聚类。
一种示例性的聚类方案可以是:基于多个透视图各自对应的映射关系,将检测到的每条直线段映射至全景相机坐标系中并两两进行灭点假设,以在全景相机坐标系中获得若干假设灭点;将各个假设灭点分别映射回多个透视图,以在多个透视图中产生若干映射灭点;在多个透视图中分别进行直线段与映射灭点的共线性判断;将共线性判断结果关联至全景相机坐标系中的假设灭点,以在全景相机坐标系中对多个透视图中检测到的直线段进行联合聚类而获得多个平行直线簇。
承接前文中为单个透视图计算出的K和R,假定在全景相机坐标系中有灭点V,在某个透视图中对应的映射灭点为v,则v=K(R,0)(V;0)=KRV。由此,各个透视图中的映射灭点,可通过各个透视图的KR与全景图中假设灭点关联。
由于灭点是平行直线的交点,而至少需要两条直线才能确定灭点,因此,在该示例性的聚类方案中,每两条直线段可生成一个灭点假设,为此,可多次采样直线端对,最终可生成数百或上千个假设灭点。举例来说,直线段l1和l2分别属于i1和i2视角(可分属于同一透视图或不同透视图),对于这对直线段确定的假设灭点V,它的映射灭点v分别位于直线段l1和l2上。因此,我们有:
Figure BDA0003716594190000061
可以求解得到
Figure BDA0003716594190000062
接下来可将各个假设灭点分别映射回多个透视图,这里,对于单个假设灭点来说,可基于多个透视图各自对应的前述映射关系,在多个透视图中分别确定该假设灭点对应的映射灭点,基于此,在每个透视图中,可获得若干映射灭点。这样,可在多个透视图中分别判断该假设灭点与每个直线段的共线性,从而确定出与该假设灭点存在共线关系的直线段。确定出的这些直线段可能是在不同透视图中检测出的。对于其它假设灭点,也进行同样处理,可确定出各个假设灭点与各条直线段之间的共线关系。
可选地,以多个透视图中的第一透视图为例,在该示例性的聚类方案中,共线性判断的方式可以是:遍历第一透视图中每条直线段和每个映射灭点;若当前直线段的端点到当前直线段中点与当前映射灭点之间的连线的距离,小于指定阈值,则确定当前映射灭点在全景相机坐标系中对应的假设灭点与当前直线段具有共线性。在该可选方式中,可将直线段的端点到该直线段中点与映射灭点之间的连线的距离,作为假设灭点与该直线段的偏好距离,从而可获得各个假设灭点到各条直线段之间的偏好距离。图3为本申请一示例性实施例提供的一种偏好距离的计算方案示意图。参考图3,偏好距离可记为:
Figure BDA0003716594190000063
其中
Figure BDA0003716594190000064
其中,l为映射灭点与直线段中点e所确定的直线,εj为透视图中的任意直线段。
这里直线段的端点到该直线段中点与映射灭点之间的连线的距离,作为假设灭点与该直线段的偏好距离,可更加准确地表征假设灭点与直线段之间的共线性,这是由于据此得出的偏好距离不会超过直线段长度的一半,相较于传统的假设灭点到直线段垂线这种距离表示方式,这可保持更好的数据稳定性,避免在假设灭点与直线段不共线的情况下出现偏好距离过大的问题。
在该可选方式中,可基于获得的各个假设灭点到各条直线段之间的偏好距离,构建出偏好性矩阵。基于偏好性矩阵,可采用J-Linkage技术,将各条直线段对各个假设灭点的偏好性向量作为直线段在偏好空间中的表达,并计算直线段之间的Jaccard距离,通过贪心算法将直线段聚类。
在此基础上,参考图1,在步骤103中,可分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置。
本实施例中,对于同一平行直线簇内的各个直线段,它们在三维空间中基本是平行的,那么,平行直线簇在全景相机坐标系中的灭点位置与该平行直线簇中的各条直线段的距离应该充分小。为此,本实施例中,可将在全景相机坐标系中的灭点位置确定问题转化为距离优化问题。可选地,针对多个平行直线簇中的第一平行直线簇,可计算其在全景相机坐标系中所对应灭点位置的初始值;从初始值开始,以灭点位置与第一平行直线簇内各直线段的之间的距离之和最小为目标,对灭点位置进行迭代优化,以确定第一平行直线簇在全景相机坐标系中对应的灭点位置。
其中,参考前文,第一平行直线簇中的各条直线段可能分属在不同的透视图中,为此,一种示例性的计算灭点位置与第一平行直线簇内第一直线段之间的距离的方案可以是:确定第一平行直线簇内的第一直线段所处的目标透视图;基于目标透视图所对应的映射关系,计算灭点位置在目标透视图中的映射位置;计算第一直线段的端点到第一直线段的中点与映射位置之间连线的距离,作为灭点位置到第一直线段的距离;其中,第一直线段为第一平行直线簇中的任意直线段。
基于此,上述计算第一平行直线簇在全景相机坐标系中对应的灭点位置的过程可表征为:
Figure BDA0003716594190000071
其中,D即为前述的偏好距离,也即是前述直线段的端点到该直线段的中点与映射灭点之间连线的距离。
这样,可将在全景相机坐标系中的灭点位置确定问题转化为距离优化问题,从而可通过逐步迭代,为第一平行直线簇计算出其在全景相机坐标系中最优的灭点位置。采用同样的方式,可为其它平行直线簇计算出其在全景相机坐标系中最优的灭点位置。
优选地,在迭代优化过程中,可从初始值开始,分别对灭点位置与第一平行直线簇内的各直线段之间的距离进行加权,并以加权后距离之和最小为目标,对灭点位置进行迭代优化。其中,上式中的ωj可表示直线段εj对应的权重,实际应用中,直线段对应的权重可基于直线段的长度而确定,长度更长的直线段可获得更大的权重。通过加入权重,可更加合理地使用前述的偏好距离,从而更加准确地确定出全景坐标系中的灭点位置。
另外,前文多次提到了初始解,本实施例中,考虑到前述的距离优化问题是非线性非凸的,为了更加准确地计算出全景相机坐标系中的灭点位置,本实施例提出,可采用高斯初始化的方式来构建了距离优化问题的初始解。还是以前述的第一平行直线簇为例,一种示例性的计算初始解的方案可以是:以第一平行直线簇内各个直线段对应的转置矩阵与灭点位置在相应透视图中的映射位置对应的矩阵之间的乘积的平方和最小为目标,求解灭点位置的初始值。该初始解的计算过程可表征为:
Figure BDA0003716594190000081
与前述针对灭点位置V的迭代过程类似的,初始解的求解过程中,也可为不同直线段引入权重,并在求和的过程中引入加权,这里的权重可与前述针对灭点位置V的迭代过程中使用的权重一致。这里,初始解的计算问题是一个二次规划问题,有Closed-Form解,是矩阵
Figure BDA0003716594190000082
的最小特征值对应的特征向量。也即是,VGS的求解值可采用该矩阵的最小特征值对应的特征向量,从而可计算出VGS
这样,上述针对灭点位置V的迭代过程将以VGS作为起始,逐步迭代,以求得最优的灭点位置。通过对多个平行直线簇分别执行上述的距离优化操作,可分别确定出多个平行直线簇各自在全景相机坐标系中的灭点位置。
在此基础上,参考图1,在步骤104中,可根据全景相机坐标系中产生的多个灭点位置,确定目标全景图对应的垂直校正矩阵。对于步骤103中在全景相机坐标系中确定出的多个灭点位置,可将其应用到曼哈顿场景中。在曼哈顿场景中存在三个相互垂直的主方向,假设Y轴对应竖直方向,X轴和Z轴对应水平方向。相应地,在步骤104中,可根据多个灭点位置之间的相互垂直关系,选取三个相互垂直的灭点位置作为在全景相机坐标系中的灭点检测结果。
本实施例中,为了进一步提高灭点检测的结果准确性,提出了灭点位置优化方案,在灭点位置优化方案中,可将上述选出的三个相互垂直的灭点位置作为待优化灭点位置,以三个待优化灭点位置在各自所处方向(前述的X、Y或Z轴方向)下的偏好距离之和最小为目标,对三个待优化灭点位置进行联合优化,以确定三个待优化灭点位置各自对应的优化值而获得三个优化后灭点位置;根据三个待优化灭点位置各自对应的优化值,确定目标全景图对应的垂直校正矩阵;其中,单个待优化灭点位置在其所处方向下的偏好距离为该方向下各直线段的端点到相应直线段的中点与待优化灭点位置在相应透视图中的映射位置之间连线的距离之和。
上述的灭点位置优化方案可表征为:
Figure BDA0003716594190000083
s.t.||Vy||=1,||Vz||=1,
VyTVx=0,VyTVz=0,VzTVx=0.
其中,Vy,Vx和Vz分别表示曼哈顿场景中竖直方向和水平方向的灭点位置。在该优化方案中,将三个方向上的灭点位置进行联合优化,这样,可获得三个优化后灭点位置。
在获得曼哈顿场景中的三个灭点位置Vy,Vx,Vz之后,可基于这三个灭点位置来计算目标全景图对应的垂直校正矩阵。由于垂直校正过程中,竖直方向的灭点位置应被校正为(0,1,0)T,而水平方向上的两个灭点位置则相互垂直,因此,可假设水平方向上的两个灭点位置将分别校正为(cosθ,0,-sinθ)T,(sinθ,0,cosθ)T,其中,θ为水平方向上两个灭点位置在全景相机坐标系中的方向角,θ∈(0,2π)。
由于3个灭点相互垂直且已归一化,容易验证det((Vy,Vx,Vz))=-1,这样可以保证Rro是垂直校正矩阵。
优选地,在垂直校正过程中,不希望对目标全景图进行水平方向的旋转,因为这样将导致拍摄点位的pose不准确,影响拼接效果,因此,垂直校正矩阵应当尽量接近单位阵。为此,本实施例中提供一种前述方向角θ的优化方案:以将竖直方向上的优化后灭点位置旋转至三维正交坐标系中的垂直坐标轴且保持水平方向上的两个优化后灭点位置在水平方向不旋转为目标,根据三个优化后灭点位置,计算水平方向上两个优化后灭点位置在全景相机坐标系中的方向角。这里,方向角的优化过程可表示为:
Figure BDA0003716594190000091
Figure BDA0003716594190000092
这一优化问题存在解析的最优解,也就是:
Figure BDA0003716594190000093
k为任意整数.
在此基础上,可基于方向角以及和三个优化后灭点位置,计算目标全景图对应的垂直校正矩阵。对于垂直校正矩阵Rro有:
Figure BDA0003716594190000094
综上,根据在全景相机坐标系中确定出的三个曼哈顿方向上的灭点位置,可计算出垂直校正矩阵Rro,该垂直校正矩阵可将竖直方向上的灭点位置校正至(0,1,0)T,并且不会对目标全景图进行水平方向的旋转。
继续参考图1,在确定出目标全景图对应的垂直校正矩阵后,可按照垂直校正矩阵对目标全景图进行垂直校正。
另外,本实施例还提出了对全景相机坐标系中的灭点位置的进一步优化方案:在确定出垂直校正矩阵后,可仅对竖直方向上的直线段进行垂直校正,以获得竖直方向上的直线段对应的校正后坐标;以将竖直方向上的直线段的两个端点对应的校正后坐标校正至相同纬度为目标,调整灭点位置,从而实现对灭点位置的进一步优化,相应地,基于优化后的灭点位置可获得更加准确的垂直校正矩阵。之后,再以最终获得的垂直校正矩阵对目标全景图进行整体的垂直校正。
综上,在本实施例中,可将目标全景图转换为多个透视图,并计算多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系;基于映射关系,可针对在多个透视图中检测到的直线段进行联合聚类,以获得多个平行直线簇,平行直线簇可反映检测出的各直线段在全景图中的位置关系;基于映射关系,还可分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置,以确定出目标全景图对应的垂直校正矩阵;按照垂直校正矩阵即可对目标全景图执行垂直校正。据此,本申请实施例中,可基于多个透视图各自对应的前述映射关系,实现对多个透视图的联动,从而可基于在透视图中检测到的直线段而计算出全景相机坐标系中的灭点位置,实现全景图中的灭点检测,从而可为全景图的垂直校正提供更加准确的校正依据,改善垂直校正效果。
图4为本申请另一示例性实施例提供的一种全景图中的灭点检测方法,参考图4,该方法可包括:
步骤400、将目标全景图转换为多个透视图;
步骤410、在多个透视图中检测直线段;
步骤402、基于多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
步骤403、分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置。
在一可选实施例中,步骤对检测到的直线段进行联合聚类,以获得多个平行直线簇,包括:
基于多个透视图各自对应的映射关系,将检测到的每条直线段映射至全景相机坐标系中并两两进行灭点假设,以在全景相机坐标系中获得若干假设灭点;
将各个假设灭点分别映射回多个透视图,以在多个透视图中产生若干映射灭点;
在多个透视图中分别进行直线段与映射灭点的共线性判断;
将共线性判断结果关联至全景相机坐标系中的假设灭点,以在全景相机坐标系中对多个透视图中检测到的直线段进行联合聚类而获得多个平行直线簇。
在一可选实施例中,在多个透视图中分别进行直线段与映射灭点的共线性判断的过程,包括:
遍历第一透视图中每条直线段和每个映射灭点;
若当前直线段的端点到当前直线段中点与当前映射灭点之间的连线的距离,小于指定阈值,则确定当前映射灭点在全景相机坐标系中对应的假设灭点与当前直线段具有共线性;
其中,第一透视图为多个透视图中的任意一个。
在一可选实施例中,步骤分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置,包括:
针对多个平行直线簇中的第一平行直线簇,计算其在全景相机坐标系中所对应灭点位置的初始值;
从初始值开始,以灭点位置与第一平行直线簇内各直线段的之间的距离之和最小为目标,对灭点位置进行迭代优化,以确定第一平行直线簇在全景相机坐标系中对应的灭点位置。
在一可选实施例中,步骤计算灭点位置与第一平行直线簇内第一直线段之间的距离的过程包括:
确定第一平行直线簇内的第一直线段所处的目标透视图;
基于目标透视图所对应的映射关系,计算灭点位置在目标透视图中的映射位置;
计算第一直线段的端点到第一直线段的中点与映射位置之间连线的距离,作为灭点位置到第一直线段的距离;
其中,第一直线段为第一平行直线簇中的任意直线段。
在一可选实施例中,为长度更长的直线段配置更高的权重;在迭代优化过程中:
从初始值开始,分别对灭点位置与第一平行直线簇内的各直线段之间的距离进行加权,并以加权后距离之和最小为目标,对灭点位置进行迭代优化。
在一可选实施例中,步骤针对第一平行直线簇,计算其在全景相机坐标系中所对应灭点位置的初始值,包括:
以第一平行直线簇内各个直线段对应的转置矩阵与灭点位置在相应透视图中的映射位置对应的矩阵之间的乘积的平方和最小为目标,求解灭点位置的初始值。
在一可选实施例中,步骤将目标全景图转换为多个透视图,包括:
将目标全景图的全景视野拆分为指定数量个视野区间;
在每个视野区间内分别进行透视图转换,以将目标全景图转换为指定数量个透视图;
分别计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。
在一可选实施例中,步骤分别计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系,包括:
基于当前视野区间所处的经度和纬度,确定当前视野区间对应的透视图所处的视线方向;
将目标全景图在当前视野区间内的顶点像素映射在全景相机坐标系对应的单位球上,以产生透视图的矩形顶点在全景相机坐标系中的位置;
基于视线方向和透视图的矩形顶点在全景相机坐标系中的位置,计算透视图上任意一点在全景相机坐标系中的位置;
根据透视图上任意一点在全景相机坐标系中的位置以及在当前视野区间对应的当前透视图所处的透视相机坐标系中的位置,计算当前透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。
需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的平行直线簇、直线段等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图5为本申请又一示例性实施例提供的一种计算设备的结构示意图。如图5所示,该计算设备包括:存储器50和处理器51。
处理器51,与存储器50耦合,用于执行存储器50中的计算机程序,以用于:
将目标全景图转换为多个透视图;
在多个透视图中检测直线段;
基于多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置;
根据全景相机坐标系中产生的多个灭点位置,确定目标全景图对应的垂直校正矩阵;
按照垂直校正矩阵对目标全景图进行垂直校正。
在一可选实施例中,处理器51在对检测到的直线段进行联合聚类,以获得多个平行直线簇过程中,可用于:
基于多个透视图各自对应的映射关系,将检测到的每条直线段映射至全景相机坐标系中并两两进行灭点假设,以在全景相机坐标系中获得若干假设灭点;
将各个假设灭点分别映射回多个透视图,以在多个透视图中产生若干映射灭点;
在多个透视图中分别进行直线段与映射灭点的共线性判断;
将共线性判断结果关联至全景相机坐标系中的假设灭点,以在全景相机坐标系中对多个透视图中检测到的直线段进行联合聚类而获得多个平行直线簇。
在一可选实施例中,处理器51在多个透视图中分别进行直线段与映射灭点的共线性判断的过程中,可用于:
遍历第一透视图中每条直线段和每个映射灭点;
若当前直线段的端点到当前直线段中点与当前映射灭点之间的连线的距离,小于指定阈值,则确定当前映射灭点在全景相机坐标系中对应的假设灭点与当前直线段具有共线性;
其中,第一透视图为多个透视图中的任意一个。
在一可选实施例中,处理器51在分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置过程中,可用于:
针对多个平行直线簇中的第一平行直线簇,计算其在全景相机坐标系中所对应灭点位置的初始值;
从初始值开始,以灭点位置与第一平行直线簇内各直线段的之间的距离之和最小为目标,对灭点位置进行迭代优化,以确定第一平行直线簇在全景相机坐标系中对应的灭点位置。
在一可选实施例中,处理器51在计算灭点位置与第一平行直线簇内第一直线段之间的距离的过程中,可用于:
确定第一平行直线簇内的第一直线段所处的目标透视图;
基于目标透视图所对应的映射关系,计算灭点位置在目标透视图中的映射位置;
计算第一直线段的端点到第一直线段的中点与映射位置之间连线的距离,作为灭点位置到第一直线段的距离;
其中,第一直线段为第一平行直线簇中的任意直线段。
在一可选实施例中,为长度更长的直线段配置更高的权重;处理器51在迭代优化过程中,可用于:
从初始值开始,分别对灭点位置与第一平行直线簇内的各直线段之间的距离进行加权,并以加权后距离之和最小为目标,对灭点位置进行迭代优化。
在一可选实施例中,处理器51在针对第一平行直线簇,计算其在全景相机坐标系中所对应灭点位置的初始值过程中,可用于:
以第一平行直线簇内各个直线段对应的转置矩阵与灭点位置在相应透视图中的映射位置对应的矩阵之间的乘积的平方和最小为目标,求解灭点位置的初始值。
在一可选实施例中,处理器51在根据全景相机坐标系中产生的多个灭点位置,确定目标全景图对应的垂直校正矩阵过程中,可用于:
根据多个灭点位置之间的相互垂直关系,选取三个相互垂直的灭点位置作为待优化灭点位置;
以三个待优化灭点位置在各自所处方向下的偏好距离之和最小为目标,对三个待优化灭点位置进行联合优化,以确定三个待优化灭点位置各自对应的优化值而获得三个优化后灭点位置;
根据三个待优化灭点位置各自对应的优化值,确定目标全景图对应的垂直校正矩阵;
其中,单个待优化灭点位置在其所处方向下的偏好距离为方向下各直线段的端点到相应直线段的中点与待优化灭点位置在相应透视图中的映射位置之间连线的距离之和。
在一可选实施例中,处理器51在根据三个待优化灭点位置各自对应的优化值,确定目标全景图对应的垂直校正矩阵过程中,可用于:
以将竖直方向上的优化后灭点位置旋转至三维正交坐标系中的垂直坐标轴且保持水平方向上的两个优化后灭点位置在水平方向不旋转为目标,根据三个优化后灭点位置,计算水平方向上两个优化后灭点位置在全景相机坐标系中的方向角;
基于方向角以及和三个优化后灭点位置,计算目标全景图对应的垂直校正矩阵。
在一可选实施例中,处理器51在将目标全景图转换为多个透视图过程中,可用于:
将目标全景图的全景视野拆分为指定数量个视野区间;
在每个视野区间内分别进行透视图转换,以将目标全景图转换为指定数量个透视图;
分别计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。
在一可选实施例中,处理器51在分别计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系过程中,可用于:
基于当前视野区间所处的经度和纬度,确定当前视野区间对应的透视图所处的视线方向;
将目标全景图在当前视野区间内的顶点像素映射在全景相机坐标系对应的单位球上,以产生透视图的矩形顶点在全景相机坐标系中的位置;
基于视线方向和透视图的矩形顶点在全景相机坐标系中的位置,计算透视图上任意一点在全景相机坐标系中的位置;
根据透视图上任意一点在全景相机坐标系中的位置以及在当前视野区间对应的当前透视图所处的透视相机坐标系中的位置,计算当前透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。
进一步,如图5所示,该计算设备还包括:通信组件52、电源组件53等其它组件。图5中仅示意性给出部分组件,并不意味着计算设备只包括图5所示组件。
值得说明的是,上述关于计算设备各实施例中的技术细节,可参考前述的全景图的垂直校正方法实施例中的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
在另一些可能的设计方案中,基于图5所示的计算设备的结构,可基于计算设备实现前述的全景图中的灭点检测方案。
在这些可能的设计方案中,计算设备中的处理器51,可与存储器50耦合,用于执行存储器50中的计算机程序,以用于:
将目标全景图转换为多个透视图;
在多个透视图中检测直线段;
基于多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置。
在一可选实施例中,处理器51在对检测到的直线段进行联合聚类,以获得多个平行直线簇的过程中,可用于:
基于多个透视图各自对应的映射关系,将检测到的每条直线段映射至全景相机坐标系中并两两进行灭点假设,以在全景相机坐标系中获得若干假设灭点;
将各个假设灭点分别映射回多个透视图,以在多个透视图中产生若干映射灭点;
在多个透视图中分别进行直线段与映射灭点的共线性判断;
将共线性判断结果关联至全景相机坐标系中的假设灭点,以在全景相机坐标系中对多个透视图中检测到的直线段进行联合聚类而获得多个平行直线簇。
在一可选实施例中,处理器51在多个透视图中分别进行直线段与映射灭点的共线性判断的过程中,可用于:
遍历第一透视图中每条直线段和每个映射灭点;
若当前直线段的端点到当前直线段中点与当前映射灭点之间的连线的距离,小于指定阈值,则确定当前映射灭点在全景相机坐标系中对应的假设灭点与当前直线段具有共线性;
其中,第一透视图为多个透视图中的任意一个。
在一可选实施例中,处理器51在分别计算多个平行直线簇在全景相机坐标系中对应的灭点位置的过程中,可用于:
针对多个平行直线簇中的第一平行直线簇,计算其在全景相机坐标系中所对应灭点位置的初始值;
从初始值开始,以灭点位置与第一平行直线簇内各直线段的之间的距离之和最小为目标,对灭点位置进行迭代优化,以确定第一平行直线簇在全景相机坐标系中对应的灭点位置。
在一可选实施例中,处理器51在计算灭点位置与第一平行直线簇内第一直线段之间的距离的过程包括:
确定第一平行直线簇内的第一直线段所处的目标透视图;
基于目标透视图所对应的映射关系,计算灭点位置在目标透视图中的映射位置;
计算第一直线段的端点到第一直线段的中点与映射位置之间连线的距离,作为灭点位置到第一直线段的距离;
其中,第一直线段为第一平行直线簇中的任意直线段。
在一可选实施例中,为长度更长的直线段配置更高的权重;处理器51在迭代优化过程中,可用于:
从初始值开始,分别对灭点位置与第一平行直线簇内的各直线段之间的距离进行加权,并以加权后距离之和最小为目标,对灭点位置进行迭代优化。
在一可选实施例中,处理器51在针对第一平行直线簇,计算其在全景相机坐标系中所对应灭点位置的初始值的过程中,可用于:
以第一平行直线簇内各个直线段对应的转置矩阵与灭点位置在相应透视图中的映射位置对应的矩阵之间的乘积的平方和最小为目标,求解灭点位置的初始值。
在一可选实施例中,处理器51在将目标全景图转换为多个透视图的过程中,可用于:
将目标全景图的全景视野拆分为指定数量个视野区间;
在每个视野区间内分别进行透视图转换,以将目标全景图转换为指定数量个透视图;
分别计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。
在一可选实施例中,处理器51在分别计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系的过程中,可用于:
基于当前视野区间所处的经度和纬度,确定当前视野区间对应的透视图所处的视线方向;
将目标全景图在当前视野区间内的顶点像素映射在全景相机坐标系对应的单位球上,以产生透视图的矩形顶点在全景相机坐标系中的位置;
基于视线方向和透视图的矩形顶点在全景相机坐标系中的位置,计算透视图上任意一点在全景相机坐标系中的位置;
根据透视图上任意一点在全景相机坐标系中的位置以及在当前视野区间对应的当前透视图所处的透视相机坐标系中的位置,计算当前透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。
值得说明的是,上述关于计算设备各实施例中的技术细节,可参考前述的全景图中灭点检测方法实施例中的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由计算设备执行的各步骤。
上述图5中的存储器,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述图5中的通信组件,被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图5中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种全景图的垂直校正方法,其特征在于,包括:
将目标全景图转换为多个透视图;
在所述多个透视图中检测直线段;
基于所述多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在所述全景相机坐标系中对应的灭点位置;
根据所述全景相机坐标系中产生的多个灭点位置之间的相互垂直关系,选取三个相互垂直的灭点位置作为待优化灭点位置;
以三个待优化灭点位置在各自所处方向下的偏好距离之和最小为目标,对所述三个待优化灭点位置进行联合优化,以确定所述三个待优化灭点位置各自对应的优化值而获得三个优化后灭点位置;
根据所述三个待优化灭点位置各自对应的优化值,确定所述目标全景图对应的垂直校正矩阵;
按照所述垂直校正矩阵对所述目标全景图进行垂直校正;
其中,单个待优化灭点位置在其所处方向下的偏好距离为所述方向下各直线段的端点到相应直线段的中点与所述待优化灭点位置在相应透视图中的映射位置之间连线的距离之和。
2.根据权利要求1所述的方法,其特征在于,所述对检测到的直线段进行联合聚类,以获得多个平行直线簇,包括:
基于所述多个透视图各自对应的所述映射关系,将检测到的每条直线段映射至所述全景相机坐标系中并两两进行灭点假设,以在所述全景相机坐标系中获得若干假设灭点;
将各个假设灭点分别映射回所述多个透视图,以在所述多个透视图中产生若干映射灭点;
在所述多个透视图中分别进行直线段与映射灭点的共线性判断;
将共线性判断结果关联至所述全景相机坐标系中的假设灭点,以在所述全景相机坐标系中对所述多个透视图中检测到的直线段进行联合聚类而获得多个平行直线簇。
3.根据权利要求2所述的方法,其特征在于,在所述多个透视图中分别进行直线段与映射灭点的共线性判断的过程,包括:
遍历第一透视图中每条直线段和每个映射灭点;
若当前直线段的端点到当前直线段中点与当前映射灭点之间的连线的距离,小于指定阈值,则确定当前映射灭点在所述全景相机坐标系中对应的假设灭点与当前直线段具有共线性;
其中,所述第一透视图为所述多个透视图中的任意一个。
4.根据权利要求1所述的方法,其特征在于,所述分别计算多个平行直线簇在所述全景相机坐标系中对应的灭点位置,包括:
针对多个平行直线簇中的第一平行直线簇,计算其在所述全景相机坐标系中所对应灭点位置的初始值;
从所述初始值开始,以所述灭点位置与所述第一平行直线簇内各直线段的之间的距离之和最小为目标,对灭点位置进行迭代优化,以确定所述第一平行直线簇在所述全景相机坐标系中对应的灭点位置。
5.根据权利要求4所述的方法,其特征在于,计算灭点位置与所述第一平行直线簇内第一直线段之间的距离的过程包括:
确定所述第一平行直线簇内的第一直线段所处的目标透视图;
基于所述目标透视图所对应的所述映射关系,计算所述灭点位置在所述目标透视图中的映射位置;
计算所述第一直线段的端点到所述第一直线段的中点与所述映射位置之间连线的距离,作为所述灭点位置到所述第一直线段的距离;
其中,第一直线段为所述第一平行直线簇中的任意直线段。
6.根据权利要求4所述的方法,其特征在于,为长度更长的直线段配置更高的权重;
在所述迭代优化过程中:
从所述初始值开始,分别对所述灭点位置与所述第一平行直线簇内的各直线段之间的距离进行加权,并以加权后距离之和最小为目标,对灭点位置进行迭代优化。
7.根据权利要求4所述的方法,其特征在于,所述针对第一平行直线簇,计算其在所述全景相机坐标系中所对应灭点位置的初始值,包括:
以所述第一平行直线簇内各个直线段对应的转置矩阵与所述灭点位置在相应透视图中的映射位置对应的矩阵之间的乘积的平方和最小为目标,求解所述灭点位置的初始值。
8.根据权利要求1所述的方法,其特征在于,所述根据所述三个待优化灭点位置各自对应的优化值,确定所述目标全景图对应的垂直校正矩阵,包括:
以将竖直方向上的优化后灭点位置旋转至三维正交坐标系中的垂直坐标轴且保持水平方向上的两个优化后灭点位置在水平方向不旋转为目标,根据所述三个优化后灭点位置,计算水平方向上两个优化后灭点位置在所述全景相机坐标系中的方向角;
基于所述方向角以及和所述三个优化后灭点位置,计算所述目标全景图对应的垂直校正矩阵。
9.根据权利要求1所述的方法,其特征在于,所述将目标全景图转换为多个透视图,包括:
将所述目标全景图的全景视野拆分为指定数量个视野区间;
在每个视野区间内分别进行透视图转换,以将所述目标全景图转换为指定数量个透视图;
分别计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。
10.根据权利要求9所述的方法,其特征在于,所述分别计算各个透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系,包括:
基于当前视野区间所处的经度和纬度,确定当前视野区间对应的透视图所处的视线方向;
将所述目标全景图在所述当前视野区间内的顶点像素映射在所述全景相机坐标系对应的单位球上,以产生所述透视图的矩形顶点在所述全景相机坐标系中的位置;
基于所述视线方向和所述透视图的矩形顶点在所述全景相机坐标系中的位置,计算所述透视图上任意一点在所述全景相机坐标系中的位置;
根据所述透视图上任意一点在所述全景相机坐标系中的位置以及在所述当前视野区间对应的当前透视图所处的透视相机坐标系中的位置,计算当前透视图对应的透视相机坐标系与全景相机坐标系之间的映射关系。
11.一种全景图中的灭点检测方法,其特征在于,包括:
将目标全景图转换为多个透视图;
在所述多个透视图中检测直线段;
基于所述多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在所述全景相机坐标系中对应的灭点位置;
根据所述全景相机坐标系中产生的多个灭点位置之间的相互垂直关系,选取三个相互垂直的灭点位置作为待优化灭点位置;
以三个待优化灭点位置在各自所处方向下的偏好距离之和最小为目标,对所述三个待优化灭点位置进行联合优化,以确定所述三个待优化灭点位置各自对应的优化值而获得三个优化后灭点位置;
其中,单个待优化灭点位置在其所处方向下的偏好距离为所述方向下各直线段的端点到相应直线段的中点与所述待优化灭点位置在相应透视图中的映射位置之间连线的距离之和。
12.一种计算设备,其特征在于,包括存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于:
将目标全景图转换为多个透视图;
在所述多个透视图中检测直线段;
基于所述多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在所述全景相机坐标系中对应的灭点位置;
根据所述全景相机坐标系中产生的多个灭点位置之间的相互垂直关系,选取三个相互垂直的灭点位置作为待优化灭点位置;
以三个待优化灭点位置在各自所处方向下的偏好距离之和最小为目标,对所述三个待优化灭点位置进行联合优化,以确定所述三个待优化灭点位置各自对应的优化值而获得三个优化后灭点位置;
根据所述三个待优化灭点位置各自对应的优化值,确定所述目标全景图对应的垂直校正矩阵;
按照所述垂直校正矩阵对所述目标全景图进行垂直校正;
其中,单个待优化灭点位置在其所处方向下的偏好距离为所述方向下各直线段的端点到相应直线段的中点与所述待优化灭点位置在相应透视图中的映射位置之间连线的距离之和。
13.一种计算设备,其特征在于,包括存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于:
将目标全景图转换为多个透视图;
在所述多个透视图中检测直线段;
基于所述多个透视图各自所在的透视相机坐标系与全景相机坐标系之间的映射关系,对检测到的直线段进行联合聚类,以获得多个平行直线簇;
分别计算多个平行直线簇在所述全景相机坐标系中对应的灭点位置;
根据所述全景相机坐标系中产生的多个灭点位置之间的相互垂直关系,选取三个相互垂直的灭点位置作为待优化灭点位置;
以三个待优化灭点位置在各自所处方向下的偏好距离之和最小为目标,对所述三个待优化灭点位置进行联合优化,以确定所述三个待优化灭点位置各自对应的优化值而获得三个优化后灭点位置;
其中,单个待优化灭点位置在其所处方向下的偏好距离为所述方向下各直线段的端点到相应直线段的中点与所述待优化灭点位置在相应透视图中的映射位置之间连线的距离之和。
14.一种存储计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-10任一项所述的全景图的垂直校正方法或权利要求11所述的全景图中的灭点检测方法。
CN202210744794.7A 2022-06-27 2022-06-27 一种全景图的垂直校正、灭点检测方法、设备及存储介质 Active CN114926371B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210744794.7A CN114926371B (zh) 2022-06-27 2022-06-27 一种全景图的垂直校正、灭点检测方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210744794.7A CN114926371B (zh) 2022-06-27 2022-06-27 一种全景图的垂直校正、灭点检测方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114926371A CN114926371A (zh) 2022-08-19
CN114926371B true CN114926371B (zh) 2023-04-07

Family

ID=82814140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210744794.7A Active CN114926371B (zh) 2022-06-27 2022-06-27 一种全景图的垂直校正、灭点检测方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114926371B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019184885A1 (zh) * 2018-03-30 2019-10-03 杭州海康威视数字技术股份有限公司 一种相机外参标定方法、装置及电子设备
CN111508058A (zh) * 2020-02-24 2020-08-07 当家移动绿色互联网技术集团有限公司 图像三维重建的方法、装置、存储介质及电子设备
CN112788317A (zh) * 2020-12-30 2021-05-11 惠州Tcl移动通信有限公司 一种播放全景视频的方法、系统、存储介质及播放设备
CN114663618A (zh) * 2022-03-03 2022-06-24 北京城市网邻信息技术有限公司 三维重建及校正方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267493B (zh) * 2007-03-16 2011-01-19 富士通株式会社 透视变形文档图像的校正装置和校正方法
CN103714530B (zh) * 2012-09-28 2016-12-21 深圳先进技术研究院 一种灭点检测及图像矫正方法
CN111161336B (zh) * 2019-12-18 2021-01-29 北京城市网邻信息技术有限公司 三维重建方法、三维重建装置和计算机可读存储介质
CN113112412B (zh) * 2020-01-13 2024-03-19 株式会社理光 垂直校正矩阵的生成方法、装置及计算机可读存储介质
CN111540004B (zh) * 2020-04-16 2023-07-14 北京清微智能科技有限公司 单相机极线校正方法及装置
JP6872660B1 (ja) * 2020-10-22 2021-05-19 株式会社スペースリー 情報処理装置及び、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019184885A1 (zh) * 2018-03-30 2019-10-03 杭州海康威视数字技术股份有限公司 一种相机外参标定方法、装置及电子设备
CN111508058A (zh) * 2020-02-24 2020-08-07 当家移动绿色互联网技术集团有限公司 图像三维重建的方法、装置、存储介质及电子设备
CN112788317A (zh) * 2020-12-30 2021-05-11 惠州Tcl移动通信有限公司 一种播放全景视频的方法、系统、存储介质及播放设备
CN114663618A (zh) * 2022-03-03 2022-06-24 北京城市网邻信息技术有限公司 三维重建及校正方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN114926371A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
JP6859442B2 (ja) キャリブレーション装置、キャリブレーションシステム、およびキャリブレーション方法
KR102227583B1 (ko) 딥 러닝 기반의 카메라 캘리브레이션 방법 및 장치
JP6676082B2 (ja) 屋内測位方法及びシステム、ならびにその屋内マップを作成するデバイス
CN110060200B (zh) 图像透视变换方法、装置及设备
US10401716B2 (en) Calibration of projection systems
US11887273B2 (en) Post capture imagery processing and deployment systems
US10063792B1 (en) Formatting stitched panoramic frames for transmission
US8369578B2 (en) Method and system for position determination using image deformation
Brückner et al. Intrinsic and extrinsic active self-calibration of multi-camera systems
CN112929626B (zh) 一种基于智能手机影像的三维信息提取方法
CN108444452B (zh) 目标经纬度和拍摄装置的三维空间姿态的检测方法及装置
WO2013149866A2 (en) Method and device for transforming an image
US20220405968A1 (en) Method, apparatus and system for image processing
CN114926371B (zh) 一种全景图的垂直校正、灭点检测方法、设备及存储介质
CN116228888B (zh) 地理坐标与ptz相机坐标的转换方法及系统
CN115222602B (zh) 图像拼接方法、装置、设备及存储介质
CN116580097A (zh) 用于视频gis的坐标转换方法和装置
EP4266239A1 (en) Image splicing method, computer-readable storage medium, and computer device
JP3660108B2 (ja) 画像保存方法及び機械読み取り可能媒体
Huang et al. 3D Browsing of Wide‐Angle Fisheye Images Under View‐Dependent Perspective Correction
Boittiaux et al. Homography-based loss function for camera pose regression
JP7206530B2 (ja) 画像処理システム、画像処理装置、画像処理方法、およびプログラム
CN116823936B (zh) 一种利用相机屏幕标点获取经纬度的方法及系统
TWI631861B (zh) 室內定位方法與系統及其室內地圖建立裝置
CN116071438B (zh) 一种无人机RigCamera影像的增量SfM方法及装置

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