CN115272470A - 相机定位方法、装置、计算机设备和存储介质 - Google Patents

相机定位方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN115272470A
CN115272470A CN202210915895.6A CN202210915895A CN115272470A CN 115272470 A CN115272470 A CN 115272470A CN 202210915895 A CN202210915895 A CN 202210915895A CN 115272470 A CN115272470 A CN 115272470A
Authority
CN
China
Prior art keywords
target
image
processed
mapping
camera
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.)
Pending
Application number
CN202210915895.6A
Other languages
English (en)
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.)
Insta360 Innovation Technology Co Ltd
Original Assignee
Insta360 Innovation 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 Insta360 Innovation Technology Co Ltd filed Critical Insta360 Innovation Technology Co Ltd
Priority to CN202210915895.6A priority Critical patent/CN115272470A/zh
Publication of CN115272470A publication Critical patent/CN115272470A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及一种相机定位方法、装置、计算机设备和存储介质。所述方法包括:获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻,所述目标视频包括所述待处理图像;基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定相机的目标位姿。采用本方法能够提高相机定位的准确度,进而提高视频质量。

Description

相机定位方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机视觉技术领域,特别是涉及一种相机定位方法、装置、计算机设备和存储介质。
背景技术
在相机拍摄视频时,为了保持最佳的拍位置与取景角度,需要保证相机在拍摄过程中时刻处于准确位姿,传统技术中,通常由拍摄者手动或者借助外部工具辅助来确定相机的位置,这难以保证相机定位准确,相机定位的准确度较低,导致拍摄得到的目标视频的质量较差。
发明内容
基于此,有必要针对上述技术问题,提供一种相机定位方法、装置、计算机设备和存储介质,能够提高相机定位的准确度,进而提高视频质量。
第一方面,本申请提供了一种相机定位方法。所述方法包括:
获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻,所述目标视频包括所述待处理图像;
基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
在其中一个实施例中,所述基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧,包括:
提取所述待处理图像的第一特征点集、第一全局描述子和第一局部描述子;
获取所述多个建图关键帧分别对应的多个建图特征点集、多个建图全局描述子和多个建图局部描述子;
基于所述第一全局描述子和多个建图全局描述子,在所述多个建图关键帧中确定多个相似关键帧;
基于所述多个相似关键帧分别对应的多个建图局部描述子和多个建图特征点集、所述第一局部描述子、所述第一特征点集,在所述多个相似关键帧中确定至少一个目标关键帧。
在其中一个实施例中,所述基于所述多个相似关键帧分别对应的多个建图局部描述子和多个建图特征点集、所述第一局部描述子、所述第一特征点集,在所述多个相似关键帧中确定至少一个目标关键帧,包括:
对于每个相似关键帧,基于所述相似关键帧对应的建图局部描述子和所述第一局部描述子,对所述第一特征点集和所述相似关键帧的建图特征点集进行匹配,以确定所述相似关键帧对应的多个匹配点对,若所述相似关键帧对应的多个匹配点对的数量大于预设匹配阈值,则将所述相似关键帧作为目标关键帧。
在其中一个实施例中,所述基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,包括:
获取所述至少一个目标关键帧的建图特征点集,以及提取所述待处理图像的第一特征点集;
基于所述至少一个目标关键帧的建图特征点集和所述第一特征点集确定多个目标匹配点对;
基于所述多个目标匹配点对和所述多个地图点,确定所述待处理图像的目标全局位姿;
对所述待处理图像进行局部位姿估计,得到所述待处理图像的目标局部位姿;
将所述目标全局位姿和所述目标局部位姿融合,得到所述相机的目标位姿。
在其中一个实施例中,所述基于所述至少一个目标关键帧的建图特征点集和所述第一特征点集确定多个目标匹配点对之后,还包括:
若基于所述多个目标匹配点对和所述多个地图点,未确定得到所述待处理图像的目标全局位姿,则通过所述相机获取候选视角下的候选图像;
基于所述候选图像、所述待处理图像和所述多个相似关键帧确定多个候选匹配点对;
基于所述多个候选匹配点对、所述多个目标匹配点对和所述多个地图点确定所述待处理图像的目标全局位姿。
在其中一个实施例中,所述基于所述候选图像、所述待处理图像和所述多个相似关键帧确定多个候选匹配点对,包括:
在所述候选图像中提取候选特征点集,并将所述候选特征点集转换至所述待处理图像所在的图像坐标系,得到第二特征点集;
基于所述第二特征点集,以及所述多个相似关键帧分别对应的多个建图特征点集,确定多个候选匹配点对。
在其中一个实施例中,所述在所述候选图像中提取候选特征点集,并将所述候选特征点集转换至所述待处理图像所在的图像坐标系,得到第二特征点集之后,还包括:
对于所述第一特征点集中的每个第一特征点,在所述待处理图像中确定所述第一特征点对应的邻近区域;
将第二特征点集中,处于每个第一特征点对应的邻近区域内的第二特征点剔除,得到剔除后第二特征点集,并将所述剔除后第二特征点集作为所述第二特征点集。
在其中一个实施例中,所述相机为全景相机,所述通过相机获取当前时刻的待处理图像,包括:
通过所述全景相机获取当前时刻在目标视角下的全景图像,将所述目标视角下的全景图像作为待处理图像。
第二方面,本申请还提供了一种相机定位装置。所述装置包括:
地图信息获取模块,用于获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
待处理图像获取模块,用于在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻,所述目标视频包括所述待处理图像;
目标关键帧确定模块,用于基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
目标位姿确定模块,用于基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻,所述目标视频包括所述待处理图像;
基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻;
基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻;
基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
在上述相机定位方法中,获取目标场景的地图信息,地图信息包括:多个建图关键帧和多个地图点;在目标场景中获取当前时刻的待处理图像,基于待处理图像,以及构建目标场景的地图所用的多个建图关键帧,在多个建图关键帧中确定目标关键帧,再基于目标关键帧、待处理图像和多个地图点,确定相机的目标位姿。在拍摄目标视频的过程中,对于相机在当前时刻获取的待处理图像,根据该待处理图像和目标场景的地图信息,可以确定相机在获取所述待处理图像时的目标位姿,进而在拍摄目标视频的过程中,可以确定相机在获取目标视频中每张图像时的位姿,相较于人工进行相机定位,提高了确定相机位姿的准确度,进而提高了目标视频的质量。
附图说明
图1为一个实施例中相机定位方法的应用环境图;
图2为一个实施例中相机定位方法的流程示意图;
图3为一个实施例中,基于待处理图像和多个建图关键帧,在多个建图关键帧中确定至少一个目标关键帧的流程示意图;
图4为一个实施例中,在相机为全景相机,并且目标视频是延时摄影视频对应的视频的情况下,相机定位方法的示意图;
图5为一个实施例中,在目标场景中对相机定位方法进行试验的一个示意图;
图6为一个实施例中,在目标场景中对相机定位方法进行试验的另一个示意图;
图7为一个实施例中相机定位装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的相机定位方法,可以应用于如图1所示的应用环境中。其中,终端102和相机104,可以通过网络与服务器106进行通信。数据存储系统可以存储服务器106需要处理的数据。数据存储系统可以集成在服务器106上,也可以放在云上或其他网络服务器上。
终端102可以从服务器106获取目标场景的地图信息,地图信息包括:多个建图关键帧和多个地图点;在目标场景中,可以通过相机104获取当前时刻的待处理图像,相机104可以将待处理图像发送到终端102,终端102可以提取待处理图像和多个建图关键帧,在多个建图关键帧中确定至少一个目标关键帧,终端102基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定相机104的目标位姿。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,相机定位方法可以应用于目标视频的拍摄中,以该方法应用于拍摄目标视频的场景为示例,对该方法包括的各步骤进行说明。
如图2所示,提供了一种相机定位方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S202,获取目标场景的地图信息;地图信息包括:多个建图关键帧和多个地图点。
其中,目标场景为目标视频对应的拍摄场景;目标场景的地图信息是预先确定的,多个地图点是世界坐标系下,处于目标场景中的多个三维点;多个建图关键帧,是在构建目标场景的地图的过程中,确定得到的建图关键帧。
具体地,在进行目标视频的拍摄之前,通过相机拍摄目标场景的建图视频,在拍摄建图视频的过程中,对建图视频进行同步定位与地图构建(Simultaneous LocalizationAnd Mapping,SLAM)处理,以确定建图视频中的多个建图关键帧和每个建图关键帧的建图位姿;对多个建图关键帧和每个建图关键帧的建图位姿进行处理,可以得到多个地图点。在进行目标视频的拍摄之前,获取预先确定的目标场景的多个建图关键帧和多个地图点。
示例性地,预先(在进行目标视频的拍摄之前)在目标场景中,通过相机获取建图视频G0,拍摄G0的同时,对G0进行SLAM处理,得到G0中的多个建图关键帧:g1,g2,…,gn,以及多个建图关键帧的位姿:w1,w2,…,wn;基于g1,g2,…,gn,以及w1,w2,…,wn,确定目标场景的多个地图点;d1,d2,…,dm。
步骤S204,在目标场景中,通过相机获取当前时刻的待处理图像;当前时刻是目标视频对应的多个时刻中的任一时刻,目标视频包括待处理图像。
其中,获取待处理图像的相机,与拍摄目标场景的建图视频所用的相机是同一相机。
具体地,目标视频包括多个时刻分别对应的多帧图像,当前时刻是多个时刻中的任一时刻,待处理图像是多帧图像中,当前时刻获取的一帧图像。示例性地,当前时刻可以是目标视频对应的多个时刻中的第一时刻,也可以是多个时刻中的最后时刻,第一时刻获取的待处理图像是目标视频中的第一帧图像,最后时刻获取的待处理图像是目标视频中的最后一帧图像。
示例性地,在t1时刻(当前时刻)获取的图像f1,目标视频包括f1,假设t1是第一时刻,则f1是目标视频中的第一帧图像。
步骤S206,基于待处理图像和多个建图关键帧,在多个建图关键帧中确定至少一个目标关键帧。
其中,目标关键帧是多个建图关键帧中,与待处理图像之间的相似度较高的建图关键帧。建图关键帧与待处理图像之间的相似度,可以通过建图关键帧的全局描述子和待处理图像的全局描述子之间的距离衡量,示例性地,当建图关键帧的全局描述子和待处理图像的全局描述子之间的距离小于预设距离时,可以表示该建图关键帧与待处理图像之间的相似度较高;当建图关键帧的全局描述子和待处理图像的全局描述子之间的距离大于或等于预设匹配阈值时,可以表示该建图关键帧与待处理图像之间的相似度较低。
具体地,对于每个建图关键帧,确定该建图关键帧的全局描述子和待处理图像的全局描述子之间的距离,若确定的距离小于预设距离,则将该建图关键帧作为目标关键帧;若确定的距离大于或等于预设距离,则该建图关键帧不是目标关键帧,如此,在多个建图关键帧中确定至少一个目标关键帧。预设距离可以根据实际需求设定。本申请实施例不对预设距离进行具体限定。
步骤S208,基于至少一个目标关键帧、待处理图像和多个地图点,确定相机的目标位姿;目标位姿是获取待处理图像时,相机的位姿。
其中,相机的位姿,是相机的位置和姿态的合称,描述了世界坐标系与相机坐标系之间的转换关系;相机的目标位姿,是相机在采集待处理图像时的位姿,可以用于描述:相机在采集待处理图像时,世界坐标系与相机坐标系之间的转换关系;由于待处理图像是相机在当前时刻采集的,因此相机的目标位姿也是相机在该当前时刻的位姿。比如,相机在t1时刻采集了待处理图像,相机的目标位姿即相机在t1时刻的位姿。
具体地,确定至少一个目标关键帧和待处理图像之间相匹配的特征点,根据确定的相匹配的特征点和多个地图点,确定待处理图像的目标全局位姿;对待处理图像进行局部位姿估计,得到待处理图像的目标局部位姿;对目标全局位姿和目标局部位姿进行融合,得到相机的目标位姿。
在上述相机定位方法中,获取目标场景的地图信息,地图信息包括:多个建图关键帧和多个地图点;在目标场景中获取当前时刻的待处理图像,基于待处理图像,以及构建目标场景的地图所用的多个建图关键帧,在多个建图关键帧中确定目标关键帧,再基于目标关键帧、待处理图像和多个地图点,确定相机的目标位姿。在拍摄目标视频的过程中,对于相机在当前时刻获取的待处理图像,根据该待处理图像和目标场景的地图信息,可以确定相机在获取待处理图像时的目标位姿,进而在拍摄目标视频的过程中,可以确定相机在获取目标视频中每张图像时的位姿,相较于人工进行相机定位,提高了确定相机位姿的准确度,进而提高了目标视频的质量。
在一种应用场景下,目标视频可以是延时摄影视频;现有技术中,为了使得延时摄影过程中,相机保持最佳的拍摄位置与取景角度,通常由拍摄者手动或借助外部工具辅助来确定相机的位置,这难以保证相机定位的准确度,从而可能导致得到的延时摄影视频的质量较差,此外,还消耗了大量人工与时间成本。在拍摄延时摄影视频的过程中,通过上述相机定位方法,可以确定相机在获取延时摄影视频中每张图像时的目标位姿,使得相机在拍摄延时摄影视频过程中的定位准确,进而得到的延时摄影视频的质量较好,同时,极大地节约了人工与时间成本,从而降低延时摄影的拍摄难度。
在一个实施例中,如图3所示,基于待处理图像和多个建图关键帧,在多个建图关键帧中确定至少一个目标关键帧,包括:
S301,提取所述待处理图像的第一特征点集、第一全局描述子和第一局部描述子。
具体地,第一特征点集包括多个第一特征点,第一特征点是待处理图像中特点较为突出的像素点,比如,第一特征点可以是待处理图像中的角点,边缘点等,示例性地,可以通过尺度不变特征变换方法(Scale-Invariant Feature Transform,SIFT)提取待处理图像中的多个第一特征点。
第一全局描述子用于描述待处理图像的全局特征,第一局部描述子用于描述待处理图像的局部特征。示例性地,可以通过BRIEF特征描述方法确定待处理图像的第一局部描述子,BRIEF是Binary Robust Independent Elementary Features的简称,BRIEF是对已检测到的特征点进行表示和描述的特征描述方法;可以通过全局尺度不变性转变(GIST)方法提取待处理图像的第一全局描述子。
S302,获取多个建图关键帧分别对应的多个建图特征点集、多个建图全局描述子和多个建图局部描述子。
具体地,多个建图关键帧分别对应的多个建图特征点集、多个建图全局描述子和多个建图局部描述子是预先确定的。在完成对建图视频的SLAM处理后,确定多个建图关键帧,提取多个建图关键帧分别对应的多个建图特征点集和多个建图描述子。地图信息中可以包括多个建图关键帧分别对应的多个建图特征点集和多个建图描述子。多个建图描述子包括多个建图全局描述子和多个建图局部描述子。
示例性地,在进行目标视频的拍摄之前,在目标场景中,通过相机获取建图视频G0,对G0进行SLAM处理,得到G0中的多个建图关键帧:g1,g2,…,gn,以及多个建图关键帧的位姿:w1,w2,…,wn;
提取g1,g2,…,gn的特征点集和描述子集;多个特征点集包括:{T1},{T2},…,{Tn},多个描述子包括:{M1},{M2},…,{Mn};
根据重投影误差剔除多个特征点集:{T1},{T2},…,{Tn}中的外点,得到多个建图特征点集:{A1},{A2},…,{An};
根据多个描述子:{M1},{M2},…,{Mn},和多个建图特征点集:{A1},{A2},…,{An},对多个建图关键帧进行特征点匹配,以确定多个建图关键帧之间的匹配关系;
根据多个建图关键帧之间的匹配关系和多个建图关键帧的位姿:w1,w2,…,wn,通过三角测量计算得到m个待优化地图点;
基于m个待优化地图点、多个建图关键帧的位姿:w1,w2,…,wn,以及多个建图关键帧之间的匹配关系构建图优化问题,对m个待优化地图点和多个建图关键帧的位姿进行优化,得到m个地图点:d1,d2,…,dm。
地图信息包括:多个建图关键帧:g1,g2,…,gn,和多个地图点d1,d2,…,dm;多个建图关键帧分别对应的多个建图特征点集为:{A1},{A2},…,{An},相应地,基于多个建图特征点集为,{A1},{A2},…,{An}确定多个建图描述子为:{B1},{B2},…,{Bn}。
S303,基于第一全局描述子和多个建图全局描述子,在多个建图关键帧中确定多个相似关键帧。
具体地,分别计算第一全局描述子和多个建图全局描述子之间的距离,将距离小于预设距离对应的建图全局描述子所对应的建图关键帧作为相似关键帧,如此,在多个建图关键帧中确定多个相似关键帧。
示例性地,第一全局描述子和建图全局描述子之间的距离,可以是汉明距离,预设距离可以根据实际需求确定。本申请实施例不对距离和预设距离进行具体限定。
S304,基于多个相似关键帧分别对应的多个建图局部描述子和多个建图特征点集、第一局部描述子、第一特征点集,在多个相似关键帧中确定至少一个目标关键帧。
具体地,对于每个相似关键帧,将第一局部描述子和该相似关键帧对应的建图局部描述子,对该相似关键帧的建图特征点集与第一特征点集进行特征点匹配,以在多个相似关键帧中确定至少一个目标关键帧。
在一个实施例中,基于多个相似关键帧分别对应的多个建图局部描述子和多个建图特征点集、第一局部描述子、第一特征点集,在多个相似关键帧中确定至少一个目标关键帧,包括:对于每个相似关键帧,基于相似关键帧对应的建图局部描述子和第一局部描述子,对第一特征点集和相似关键帧的建图特征点集进行匹配,以确定相似关键帧对应的多个匹配点对,若相似关键帧对应的多个匹配点对的数量大于预设匹配阈值,则将相似关键帧作为目标关键帧。
示例性地,多个建图关键帧包括:g1,g2,…,gn,多个建图特征点集包括:{A1},{A2},…,{An},多个建图描述子包括:{B1},{B2},…,{Bn},多个建图描述子包括多个建图全局描述子:{BQ1},{BQ2},…,{BQn},和多个建图局部描述子:{BJ1},{BJ2},…,{BJn};
当前时刻的待处理图像为S1,提取S1的第一特征点集{X1}和第一描述子{Y1},第一描述子{Y1}包括:第一全局描述子{YQ1}和第一局部描述子{YJ1};
分别计算{YQ1}与{BQ1},{BQ2},…,{BQn}的距离,将距离小于预设距离对应的建图全局描述子所对应的建图关键帧作为相似关键帧,假设多个相似关键帧为g1,g2,g3;多个相似关键帧分别对应的多个建图局部描述子为:{BJ1},{BJ2},{BJ3};
根据{BJ1}和{YJ1},确定g1的建图特征点集{A1}和第一特征点集{X1}之间的多个匹配点对p1,p1对应的匹配点对的数量大于预设匹配阈值,将g1作为目标关键帧;
根据{BJ2}和{YJ1},确定g2的建图特征点集{A2}和第一特征点集{X1}之间的多个匹配点对p2,p2对应的匹配点对的数量大于预设匹配阈值,将g2作为目标关键帧;
根据{BJ3}和{YJ1},确定g3的建图特征点集{A3}和第一特征点集{X1}之间的多个匹配点对p3,p3对应的匹配点对的数量不大于预设匹配阈值,g3不是目标关键帧;如此,可以得到目标关键帧为:g1和g2。
在一个实施例中,基于至少一个目标关键帧、待处理图像和多个地图点,确定相机的目标位姿,包括:获取至少一个目标关键帧的建图特征点集,以及提取待处理图像的第一特征点集;基于至少一个目标关键帧的建图特征点集和第一特征点集确定多个目标匹配点对;基于多个目标匹配点对和多个地图点,确定待处理图像的目标全局位姿;对待处理图像进行局部位姿估计,得到待处理图像的目标局部位姿;将目标全局位姿和目标局部位姿融合,得到相机的目标位姿。
具体地,若目标关键帧只有一个,则多个目标匹配点对包括:该目标关键帧和待处理图像之间相匹配的目标匹配点对;若目标关键帧有多个,则多个目标匹配点对包括:每个目标关键帧和待处理图像之间相匹配的目标匹配点对。
基于多个目标匹配点对和多个地图点,确定待处理图像的目标全局位姿,可以通过现有方法实现,示例性地,根据多个目标匹配点对和多个地图点,采用PnP(Perspective-n-Point)算法最小化重投影误差,通过迭代计算确定待处理图像在地图中的目标全局位姿。PnP算法是用于求解三维点到二维点对运动的方法。
示例性地,对待处理图像进行局部位姿估计,可以通过SLAM实现,对待处理图像进行SLAM处理,得到局部位姿信息,将目标全局位姿和目标局部位姿融合,得到精度更高的目标位姿。融合目标全局位姿和目标局部位姿可以通过现有方法实现,在此不再赘述了。
在一个实施例中,基于至少一个目标关键帧的建图特征点集和第一特征点集确定多个目标匹配点对之后,还包括:若基于多个目标匹配点对和多个地图点,未确定得到待处理图像的目标全局位姿,则通过相机获取候选视角下的候选图像;基于所述候选图像、所述待处理图像和所述多个相似关键帧确定多个候选匹配点对;基于多个候选匹配点对、多个目标匹配点对和多个地图点确定待处理图像的目标全局位姿。
具体地,若基于多个目标匹配点对和多个地图点,未确定得到待处理图像的目标全局位姿,表示多个目标匹配点对的数量较少,不足以确定待处理图像的目标全局位姿,在此情况下,补充候选视角下的候选图像,以增加匹配点对的数量。
在一个实施例中,基于候选图像、待处理图像和多个相似关键帧确定多个候选匹配点对,包括:在候选图像中提取候选特征点集,并将候选特征点集转换至待处理图像所在的图像坐标系,得到第二特征点集;基于第二特征点集,以及多个相似关键帧分别对应的多个建图特征点集,确定多个候选匹配点对。
具体地,第二特征点集包括多个第二特征点;将候选特征点集转换至待处理图像所在的图像坐标系,使得第二特征点处于待处理图像中,相当于增加了待处理图像中的特征点。基于第二特征点集,以及多个相似关键帧分别对应的多个建图特征点集,确定多个候选匹配点对,指的是对第二特征点集和多个相似关键帧分别对应的多个建图特征点集进行特征点匹配,得到多个候选匹配点对。
根据多个候选匹配点对、多个目标匹配点对和多个地图点,采用PnP算法最小化重投影误差,通过迭代计算确定待处理图像在地图中的目标全局位姿。
在一个实施例中,在候选图像中提取候选特征点集,并将候选特征点集转换至待处理图像所在的图像坐标系,得到第二特征点集之后,还包括:对于第一特征点集中的每个第一特征点,在待处理图像中确定第一特征点对应的邻近区域;将第二特征点集中,处于每个第一特征点对应的邻近区域内的第二特征点剔除,得到剔除后第二特征点集,并将剔除后第二特征点集作为第二特征点集。
具体地,相机在目标视角下获取的待处理图像,与在候选视角下获取的候选图像可能存在重叠区域,因此,部分第二特征点,可能与在待处理图像中提取到的部分第一特征点相同,或者部分第二特征点与部分第一特征点的距离较近;为了避免进行重复匹配(在第二特征点与第一特征点相同的情况下),以及误匹配(在第二特征点与第一特征点距离较近的情况下),在待处理图像中确定每个第一特征点对应的邻近区域,得到多个第一特征点分别对应的多个邻近区域,将落入邻近区域的第二特征点剔除,得到剔除后第二特征点集。
第一特征点对应的邻近区域,是第一特征点周围的区域;在待处理图像中确定第一特征点对应的邻近区域,可以是:以第一特征点为中心,依据预设半径确定圆形区域,将该圆形区域作为第一特征点对应的邻近区域,预设半径可以根据实际需求设定,本申请实施例对预设半径的具体取值不做限定;还可以是:以第一特征点为中心,依据预设边长确定方形区域,将该方形区域作为第一特征点对应的邻近区域;预设边长可以根据实际需求设定,本申请实施例对预设边长的具体取值不做限定。
可以想到的是,确定第一特征点对应的邻近区域还可以是,以第一特征点为中心,依据预设边长确定预设形状区域,将该预设形状区域作为第一特征点对应的邻近区域,本申请实施例对在待处理图像中确定第一特征点对应的邻近区域的具体实现方式不做限定。
将处于第一特征点的邻近区域内的第二特征点剔除,使得剔除后第二特征点集中的第二特征点,与第一特征点之间的存在一定距离,避免了多个第一特征点和剔除后第二特征点集中的第二特征点“扎堆”分布,进而减少了误匹配的情况,提高了目标全局位姿的准确度。
在一个实施例中,基于第二特征点集,以及多个相似关键帧分别对应的多个建图特征点集,确定多个候选匹配点对,包括:在至少一个目标关键帧的建图特征点集中,将与第一特征点集相匹配的建图特征点作为标记特征点,在多个相似关键帧分别对应的多个建图特征点集中,剔除标记特征点,得到多个相似关键帧分别对应的多个剔除后建图特征点集,基于多个相似关键帧分别对应的多个剔除后建图特征点集,以及第二特征点集,确定多个候选匹配点对。
具体地,至少一个目标关键帧是在多个相似关键帧中选取得到的,多个相似关键帧分别对应的多个建图特征点集,包括至少一个目标关键帧的建图特征点集;与第一特征点集相匹配的建图特征点,是目标匹配点对中处于目标关键帧中的建图特征点;将多个相似关键帧分别对应的多个建图特征点集中,与第一特征点集相匹配的建图特征点剔除,以保持标记特征点与第一特征点集之间的匹配关系,使得第二特征点集与多个剔除后建图特征点集(不包括标记特征点)进行匹配,进而减少了计算量,以及减少了误匹配的情况。
在一个实施例中,在基于所述至少一个目标关键帧的建图特征点集和所述第一特征点集确定多个目标匹配点对之后,还包括:若多个目标匹配点对的数量小于预设数量,则通过所述相机获取候选视角下的候选图像;基于所述候选图像、所述待处理图像和所述多个相似关键帧确定多个候选匹配点对;基于所述多个候选匹配点对、所述多个目标匹配点对和所述多个地图点确定所述待处理图像的目标全局位姿。
本实施例为通过候选图像增加匹配点对的数量,提供了另一个条件,即当目标匹配点对的数量小于预设数量时,补充候选视角下的候选图像,以增加匹配点对的数量。预设数量可以根据实际需求设定,本申请实施例对此不进行限定。
在一个实施例中,相机为全景相机,预先通过全景相机获取目标场景的全景建图视频,基于全景建图视频确定目标场景的地图信息。
具体地,全景相机包括多个镜头,在目标场景中,通过全景相机包括的多个镜头获取建图图像,对多个镜头获取的建图图像进行全景拼接,得到全景建图图像,通过全景相机拍摄目标场景的全景建图视频,全景建图视频包括多个全景建图图像。
在拍摄全景建图视频的过程中,对全景建图视频进行SLAM处理,以确定全景建图视频中的多个建图关键帧和每个建图关键帧对应的建图位姿,基于多个建图关键帧和每个建图关键帧对应的建图位姿,可以得到多个地图点。建图关键帧是全景建图视频中的某个全景建图图像,基于全景相机拍摄的全景建图视频包括目标场景中更丰富的场景信息,使得基于建图关键帧可以提取到更多的建图特征点。
在相机为全景相机的情况下,通过相机获取当前时刻的待处理图像,包括:通过全景相机获取当前时刻在目标视角下的全景图像,将目标视角下的全景图像作为待处理图像。
具体地,在当前时刻通过全景相机包括的多个镜头获取目标视角下的图像,对多个镜头获取的图像进行全景拼接,得到当前时刻在目标视角下的全景图像,将该全景图像作为待处理图像。待处理图像为360°的全景图像,因此基于该待处理图像可以提取到更多的第一特征点,使得后续基于建图关键帧建图特征点集和待处理图像的第一特征点集,可以得到更多的匹配点对,提高了目标位姿的准确度。
在相机为全景相机的情况下,目标视角可以为正视视角,候选视角可以为下视视角,其中,正视视角和下视视角之间的视角差处于视角差区间内,视角差区间可以根据需求设定,示例性地,视角差区间可以为:[70°,110°];或者可以设定正式视角和下视视角之间的视角差为90°。
在上述实施例中,通过全景相机预先确定目标场景的地图信息,可以得到目标场景中更丰富的场景信息,通过全景相机获取当前时刻的待处理图像,使得可以依据待处理图像提取到更多第一特征点,进而建图关键帧和待处理图像之间的匹配点对更多,使得基于全景相机确定的目标位姿更鲁棒。
在一种可能的场景下,如图4所示,在相机为全景相机,并且目标视频是延时摄影视频对应的视频的情况下,相机定位方法包括:
在进行延时摄影之前:
S401,通过全景相机采集目标场景的全景建图视频,在采集全景建图视频的过程中,对全景建图视频进行SLAM处理;
S402,在完成全景建图视频的采集时,得到全景建图视频中的多个建图关键帧,以及每个建图关键帧的建图位姿;
S403,根据多个建图关键帧,以及每个建图关键帧的建图位姿确定多个地图点;地图信息包括多个建图关键帧和多个地图点;
在进行延时摄影的过程中:
S404,通过全景相机获取当前时刻,在正视视角下的正视全景图像;
S405,根据正视全景图像和地图信息,确定目标全局位姿;
S406,对正视全景图像进行SLAM处理,得到目标局部位姿;
S407,将目标全局位姿和目标局部位姿融合,得到全景相机在当前时刻(获取正视全景图像的时刻)的目标位姿;
在S404之后,若未能根据正视全景图像和地图信息确定目标全局位姿,则进入S408(如图4中虚线箭头);
S408,获取在下视视角下的下视全景图像;
S409,根据下视全景图像、正视全景图像和地图信息,确定目标全局位姿,进入S407;下视全景图像作为补充视角的全景图像,用于提供更多的特征点。
通过上述过程,可以确定全景相机在延时摄影过程中每个时刻的目标位姿,基于全景相机获取的每个时刻的正视全景图像,得到目标视频,对目标视频进行压缩,得到延时摄影视频。
在上述实施例中,在采用全景相机进行延时摄影的应用场景中,通过上述相机定位方法,可以使得全景相机在延时摄影过程中每个时刻的定位准确,进而提高了延时摄影视频的质量,此外,通过上述相机定位方法可以确定全景相机在延时摄影过程中每个时刻的目标位姿,不需要人工进行相机定位,减少了延时摄影所需的人力消耗,降低了延时摄影的操作难度和时间成本。
在一个具体实施例中,在某个室外场景(目标场景)中对上述相机定位方法进行试验,如图5和图6所示,在室外场景中,相机沿着路径p1(如图5中虚线)的第一方向r1拍摄建图视频,并通过拍摄的建图视频确定地图信息;得到地图信息后,在该室外场景中,从路径p1上一个点k开始,朝着第二方向r2拍摄目标视频,r1方向和r2方向相反;通过上述相机定位方法,可以确定相机在多个时刻的目标位姿,标记出相机拍摄目标视频的多个时刻的位置,得到相机拍摄目标视频的路径p2(如图5中实线),通过图5可知,在拍摄T1时长的目标视频时,路径p2和p1处于同一直线上,通过图6可知,在拍摄T2时长的目标视频时(T2大于T1),路径p2和p1处于同一直线上,且路径p2与路径p1几乎完全重合。通过该具体实施例可知,通过上述相机定位方法,可以得到相机在拍摄目标视频过程中每个时刻的准确定位。
在上述相机定位方法中,获取目标场景的地图信息,地图信息包括:多个建图关键帧和多个地图点;在目标场景中获取当前时刻的待处理图像,基于待处理图像,以及构建目标场景的地图所用的多个建图关键帧,在多个建图关键帧中确定目标关键帧,再基于目标关键帧、待处理图像和多个地图点,确定相机的目标位姿。在拍摄目标视频的过程中,对于相机在当前时刻获取的待处理图像,根据该待处理图像和目标场景的地图信息,可以确定相机在获取所述待处理图像时的目标位姿,进而在拍摄目标视频的过程中,可以确定相机在获取目标视频中每张图像时的位姿,相较于人工进行相机定位,提高了确定相机位姿的准确度,进而提高了目标视频的质量。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的相机定位方法的相机定位装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个相机定位装置实施例中的具体限定可以参见上文中对于相机定位方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种相机定位装置,包括:
地图信息获取模块100,用于获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
待处理图像获取模块200,用于在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻,所述目标视频包括所述待处理图像;
目标关键帧确定模块300,用于基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
目标位姿确定模块400,用于基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
在一个实施例中,目标关键帧确定模块,包括:
第一特征获取单元,用于提取所述待处理图像的第一特征点集、第一全局描述子和第一局部描述子;
第二特征获取单元,用于获取所述多个建图关键帧分别对应的多个建图特征点集、多个建图全局描述子和多个建图局部描述子;
相似关键帧确定单元,用于基于所述第一全局描述子和多个建图全局描述子,在所述多个建图关键帧中确定多个相似关键帧;
目标关键帧确定单元,用于基于所述多个相似关键帧分别对应的多个建图局部描述子和多个建图特征点集、所述第一局部描述子、所述第一特征点集,在所述多个相似关键帧中确定至少一个目标关键帧。
在一个实施例中,目标关键帧确定单元,具体用于对于每个相似关键帧,基于所述相似关键帧对应的建图局部描述子和所述第一局部描述子,对所述第一特征点集和所述相似关键帧的建图特征点集进行匹配,以确定所述相似关键帧对应的多个匹配点对,若所述相似关键帧对应的多个匹配点对的数量大于预设匹配阈值,则将所述相似关键帧作为目标关键帧。
在一个实施例中,目标位姿确定模块包括:
第三特征获取单元,用于获取所述至少一个目标关键帧的建图特征点集,以及提取所述待处理图像的第一特征点集;
第一特征匹配单元,用于基于所述至少一个目标关键帧的建图特征点集和所述第一特征点集确定多个目标匹配点对;
第一全局位姿确定单元,用于基于所述多个目标匹配点对和所述多个地图点,确定所述待处理图像的目标全局位姿;
局部位姿确定单元,用于对所述待处理图像进行局部位姿估计,得到所述待处理图像的目标局部位姿;
位姿融合单元,用于将所述目标全局位姿和所述目标局部位姿融合,得到所述相机的目标位姿。
在一个实施例中,目标位姿确定模块还包括:
特征点补入单元,用于若基于所述多个目标匹配点对和所述多个地图点,未确定得到所述待处理图像的目标全局位姿,则通过所述相机获取候选视角下的候选图像;
第二特征匹配单元,用于基于所述候选图像、所述待处理图像和所述多个相似关键帧确定候选匹配点对;
第二全局位姿确定单元,用于基于所述多个候选匹配点对、所述多个目标匹配点对和所述多个地图点确定所述待处理图像的目标全局位姿。
在一个实施例中,第二特征匹配单元,包括:
第二特征点集确定单元,用于在所述候选图像中提取候选特征点集,并将所述候选特征点集转换至所述待处理图像所在的图像坐标系,得到第二特征点集;
候选匹配点对确定单元,基于所述第二特征点集,以及所述多个相似关键帧分别对应的多个建图特征点集,确定多个候选匹配点对。
在一个实施例中,第二特征匹配单元还包括:
邻近区域确定单元,用于对于所述第一特征点集中的每个第一特征点,在所述待处理图像中确定所述第一特征点对应的邻近区域;
特征点剔除单元,用于将第二特征点集中,处于每个第一特征点对应的邻近区域内的第二特征点剔除,得到剔除后第二特征点集,并将所述剔除后第二特征点集作为所述第二特征点集。
在一个实施例中,所述相机为全景相机,待处理图像获取模块,还用于通过所述全景相机获取当前时刻在目标视角下的全景图像,将所述目标视角下的全景图像作为待处理图像。
上述相机定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线801连接的处理器802、存储器、通信接口803、显示单元804和输入装置805。其中,该计算机设备的处理器802用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质8061、内存储器8062。该非易失性存储介质8061存储有操作系统和计算机程序。该内存储器8062为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口803用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种相机定位方法。该计算机设备的显示单元804可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置805可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻,所述目标视频包括所述待处理图像;
基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻的任一时刻,所述目标视频包括所述待处理图像;
基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻,所述目标视频包括所述待处理图像;
基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (12)

1.一种相机定位方法,其特征在于,所述方法包括:
获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻,所述目标视频包括所述待处理图像;
基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧,包括:
提取所述待处理图像的第一特征点集、第一全局描述子和第一局部描述子;
获取所述多个建图关键帧分别对应的多个建图特征点集、多个建图全局描述子和多个建图局部描述子;
基于所述第一全局描述子和多个建图全局描述子,在所述多个建图关键帧中确定多个相似关键帧;
基于所述多个相似关键帧分别对应的多个建图局部描述子和多个建图特征点集、所述第一局部描述子、所述第一特征点集,在所述多个相似关键帧中确定至少一个目标关键帧。
3.根据权利要求2所述的方法,其特征在于,所述基于所述多个相似关键帧分别对应的多个建图局部描述子和多个建图特征点集、所述第一局部描述子、所述第一特征点集,在所述多个相似关键帧中确定至少一个目标关键帧,包括:
对于每个相似关键帧,基于所述相似关键帧对应的建图局部描述子和所述第一局部描述子,对所述第一特征点集和所述相似关键帧的建图特征点集进行匹配,以确定所述相似关键帧对应的多个匹配点对,若所述相似关键帧对应的多个匹配点对的数量大于预设匹配阈值,则将所述相似关键帧作为目标关键帧。
4.根据权利要求2所述的方法,其特征在于,所述基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,包括:
获取所述至少一个目标关键帧的建图特征点集;
基于所述至少一个目标关键帧的建图特征点集和所述第一特征点集确定多个目标匹配点对;
基于所述多个目标匹配点对和所述多个地图点,确定所述待处理图像的目标全局位姿;
对所述待处理图像进行局部位姿估计,得到所述待处理图像的目标局部位姿;
将所述目标全局位姿和所述目标局部位姿融合,得到所述相机的目标位姿。
5.根据权利要求4所述的方法,其特征在于,所述基于所述至少一个目标关键帧的建图特征点集和所述第一特征点集确定多个目标匹配点对之后,还包括:
若基于所述多个目标匹配点对和所述多个地图点,未确定得到所述待处理图像的目标全局位姿,则通过所述相机获取候选视角下的候选图像;
基于所述候选图像、所述待处理图像和所述多个相似关键帧确定多个候选匹配点对;
基于所述多个候选匹配点对、所述多个目标匹配点对和所述多个地图点确定所述待处理图像的目标全局位姿。
6.根据权利要求5所述的方法,其特征在于,所述基于所述候选图像、所述待处理图像和所述多个相似关键帧确定多个候选匹配点对,包括:
在所述候选图像中提取候选特征点集,并将所述候选特征点集转换至所述待处理图像所在的图像坐标系,得到第二特征点集;
基于所述第二特征点集,以及所述多个相似关键帧分别对应的多个建图特征点集,确定多个候选匹配点对。
7.根据权利要求6所述的方法,其特征在于,所述在所述候选图像中提取候选特征点集,并将所述候选特征点集转换至所述待处理图像所在的图像坐标系,得到第二特征点集之后,还包括:
对于所述第一特征点集中的每个第一特征点,在所述待处理图像中确定所述第一特征点对应的邻近区域;
将第二特征点集中,处于每个第一特征点对应的邻近区域内的第二特征点剔除,得到剔除后第二特征点集,并将所述剔除后第二特征点集作为所述第二特征点集。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述相机为全景相机,所述通过相机获取当前时刻的待处理图像,包括:
通过所述全景相机获取当前时刻在目标视角下的全景图像,将所述目标视角下的全景图像作为待处理图像。
9.一种相机定位装置,其特征在于,所述装置包括:
地图信息获取模块,用于获取目标场景的地图信息;所述地图信息包括:多个建图关键帧和多个地图点;
待处理图像获取模块,用于在所述目标场景中,通过相机获取当前时刻的待处理图像;所述当前时刻是目标视频对应的多个时刻中的任一时刻,所述目标视频包括所述待处理图像;
目标关键帧确定模块,用于基于所述待处理图像和所述多个建图关键帧,在所述多个建图关键帧中确定至少一个目标关键帧;
目标位姿确定模块,用于基于所述至少一个目标关键帧、所述待处理图像和所述多个地图点,确定所述相机的目标位姿,所述目标位姿是获取所述待处理图像时,所述相机的位姿。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202210915895.6A 2022-08-01 2022-08-01 相机定位方法、装置、计算机设备和存储介质 Pending CN115272470A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210915895.6A CN115272470A (zh) 2022-08-01 2022-08-01 相机定位方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210915895.6A CN115272470A (zh) 2022-08-01 2022-08-01 相机定位方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN115272470A true CN115272470A (zh) 2022-11-01

Family

ID=83746579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210915895.6A Pending CN115272470A (zh) 2022-08-01 2022-08-01 相机定位方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN115272470A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116193279A (zh) * 2022-12-29 2023-05-30 影石创新科技股份有限公司 视频处理方法、装置、计算机设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116193279A (zh) * 2022-12-29 2023-05-30 影石创新科技股份有限公司 视频处理方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN110705574B (zh) 定位方法及装置、设备、存储介质
US10580148B2 (en) Graphical coordinate system transform for video frames
CN113240769B (zh) 空间链接关系识别方法及装置、存储介质
CN115661371B (zh) 三维对象建模方法、装置、计算机设备及存储介质
CN108122280A (zh) 一种三维点云的重建方法及装置
CN115272470A (zh) 相机定位方法、装置、计算机设备和存储介质
TW201913575A (zh) 三維影像重建方法、裝置及其非暫態電腦可讀取儲存媒體
CN110851639A (zh) 一种以图搜图的方法及设备
CN112991429B (zh) 箱体体积测量方法、装置、计算机设备和存储介质
JP2019105992A (ja) 画像処理装置、画像処理プログラム及び画像処理方法
CN115086625A (zh) 投影画面的校正方法、装置、系统、校正设备和投影设备
CN115294280A (zh) 三维重建方法、装置、设备、存储介质和程序产品
CN116309824A (zh) 地面水迹识别方法、装置、计算机设备和存储介质
CN110866535B (zh) 视差图的获取方法、装置、计算机设备和存储介质
CN115601451B (zh) 外参数据标定方法、装置、计算机设备和存储介质
CN114511448B (zh) 拼接图像的方法、装置、设备和介质
CN114750147B (zh) 机器人的空间位姿确定方法、装置和机器人
CN116481516B (zh) 机器人、地图创建方法和存储介质
CN116402967B (zh) 场景建筑快速单体化方法、装置、计算机设备和存储介质
CN118279389A (zh) 重定位方法、计算机设备和存储介质
CN117372343A (zh) 芯片空洞的检测方法、装置、设备、存储介质和程序产品
CN116402855A (zh) 靶标追踪方法、装置、系统、计算机设备和存储介质
CN117237826A (zh) 基于空间位姿信息的配电网的缺陷去重方法、装置和设备
CN116977386A (zh) 房屋点云数据的处理方法和装置
CN117333528A (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