CN108269234A - 一种全景相机镜头姿态估计方法及全景相机 - Google Patents

一种全景相机镜头姿态估计方法及全景相机 Download PDF

Info

Publication number
CN108269234A
CN108269234A CN201611254532.3A CN201611254532A CN108269234A CN 108269234 A CN108269234 A CN 108269234A CN 201611254532 A CN201611254532 A CN 201611254532A CN 108269234 A CN108269234 A CN 108269234A
Authority
CN
China
Prior art keywords
fish eye
pair
eye images
fish
images
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.)
Granted
Application number
CN201611254532.3A
Other languages
English (en)
Other versions
CN108269234B (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.)
Chengdu meiruo Mengjing Technology Co.,Ltd.
Original Assignee
Chengdu Guan Chong Chong Yu 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 Chengdu Guan Chong Chong Yu Technology Co Ltd filed Critical Chengdu Guan Chong Chong Yu Technology Co Ltd
Priority to CN201611254532.3A priority Critical patent/CN108269234B/zh
Publication of CN108269234A publication Critical patent/CN108269234A/zh
Application granted granted Critical
Publication of CN108269234B publication Critical patent/CN108269234B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • 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

Landscapes

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

Abstract

本发明公开了一种全景相机镜头姿态估计方法及全景相机,从利用N个鱼眼镜头获取的N个鱼眼图像中选取M对鱼眼图像;根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼镜头转换到同一方向的两个矩阵;根据每对鱼眼镜头转换到同一方向的矩阵和内部参数,对每个鱼眼图像进行校正,并将获取到的校正后的所述M对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对;根据每对鱼眼图像的匹配特征点对在图像坐标系下的二维坐标和每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,获取每对鱼眼图像的匹配特征点对的三维坐标集;根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态。

Description

一种全景相机镜头姿态估计方法及全景相机
技术领域
本发明涉及图像处理领域,尤其涉及一种全景相机镜头姿态估计方法及全景相机。
背景技术
全景相机需要将多个摄像头的画面进行拼接,以形成360度的全景图像,拼接计算过程中需要用到各个相机的参数,包括内部参数和外部参数。其中各个摄像头的内部参数可以采用棋盘图像标定算法进行估计。
现有全景拼接方案大多采用直接对相邻图像采用特征点提取、匹配,然后通过RANSAC算法估计图像之间的仿射变换参数(或其它变换),最后通过BA来进行全局相机参数优化,以获取到优化后的各个摄像头的外部参数(姿态):旋转矩阵R和位移向量t。由于全景相机在安装摄像头时,虽然摄像头的安装位置根据全景相机设计相对固定,但是生产安装过程中不可避免会产生误差,即便是较小的误差,会使得获取的各个摄像头的姿态的精确度降低,反应到图像上也会造成图像较大的差异,从而影响全景相机整体的拼接效果,导致拼接效果变差的问题。
发明内容
本发明提供了一种全景相机镜头姿态估计方法及全景相机,能够解决由于摄像头安装误差导致获取的各个摄像头的姿态的精确度差的问题,实现了在摄像头安装误差存在的情况下提高获取的各个摄像头的姿态的精确度的效果,从而有效提高全景图像的拼接效果。
本发明第一方面提供一种全景相机镜头姿态估计方法,所述全景相机具有N个鱼眼镜头,N为不小于2的整数,所述方法包括:
利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像;
从所述N个鱼眼图像中选取M对鱼眼图像,其中,每两个具有相交区域的鱼眼图像组成一对鱼眼图像,M为不小于1的整数;
根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵;
根据每对鱼眼镜头中每个鱼眼镜头转换到同一方向的矩阵和内部参数,对每个鱼眼图像进行校正,获得校正后的所述M对鱼眼图像;
对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对;
根据每对鱼眼图像的匹配特征点对在图像坐标系下的二维坐标和每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,获取每对鱼眼图像的匹配特征点对的三维坐标集;
根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态。
可选的,所述从所述N个鱼眼图像中选取M对鱼眼图像,具体包括:
根据所述N个鱼眼镜头的分布,从所述N个鱼眼镜头中选取M对鱼眼镜头,其中,每相邻两个鱼眼镜头组成一对鱼眼镜头;
根据所述M对鱼眼镜头,从所述N个鱼眼图像中选取与所述M对鱼眼镜头对应的所述M对鱼眼图像。
可选的,所述根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量和内部参数,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,具体包括:
根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼图像对应的两个鱼眼镜头的中间方向向量;
根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量和中间方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵。
可选的,所述对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对,具体包括:
对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的原始匹配特征点对;
检测每对鱼眼图像的原始匹配特征点对数量是否大于预设数量;
若检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量,则从该对鱼眼图像中选取新增匹配特征点对,并将该对鱼眼图像的原始匹配特征点对加上新增匹配特征点对作为该对鱼眼图像的匹配特征点对,其中,该对鱼眼图像的原始匹配特征点对加上新增匹配特征点对的数量大于所述预设数量;
若检测到某对鱼眼图像的原始匹配特征点对数量大于所述预设数量,则将该对鱼眼图像的原始特征点对作为该对鱼眼图像的匹配特征点对。
可选的,在检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量之后,所述方法还包括:
获取该对鱼眼图像对应的预设匹配特征点对,并将该对鱼眼图像的原始匹配特征点对加上预设匹配特征点对作为该对鱼眼图像的匹配特征点对,其中,该对鱼眼图像的原始匹配特征点对加上预设匹配特征点对的数量大于所述预设数量。
可选的,所述根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态,具体包括:
将每对鱼眼图像的匹配特征点对的三维坐标集利用光束平差法进行姿态估计,估计出每个鱼眼镜头在世界坐标系中的姿态。
本申请第二方面还提供了一种应用于全景相机中的全景图像拼接方法,所述全景相机具有N个鱼眼镜头,N为不小于2的整数,所述方法包括:采用如本申请第一方面提供的方法计算出每个鱼眼镜头在世界坐标系中的姿态,并存储到存储器中;
在利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像之后,根据所述存储器中存储的每个鱼眼镜头在世界坐标系中的姿态、所述N个鱼眼图像、每个鱼眼镜头的内参数,将所述N个鱼眼图像拼接成全景图像。
本申请第三方面还提供了一种全景相机,具有N个鱼眼镜头,N为不小于2的整数,所述全景相机还包括:鱼眼图像获取单元,用于利用所述N个鱼眼镜头在同一时刻获取到N个鱼眼图像;
图像对选取单元,用于从所述N个鱼眼图像中选取M对鱼眼图像,其中,每两个具有相交区域的鱼眼图像组成一对鱼眼图像,M为不小于1的整数;
图像转换单元,用于根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵;
图像校正单元,用于根据每对鱼眼镜头中每个鱼眼镜头转换到同一方向的矩阵和内部参数,对每个鱼眼图像进行校正,获得校正后的所述M对鱼眼图像;
匹配单元,用于对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对;
三维坐标获取单元,用于根据每对鱼眼图像的匹配特征点对在图像坐标系下的二维坐标和每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,获取每对鱼眼图像的匹配特征点对的三维坐标集;
姿态获取单元,用于根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态。
可选的,所述图像转换单元具体包括:
向量获取子单元,根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼图像对应的两个鱼眼镜头的中间方向向量;
图像转换子单元,用于根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量和中间方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵。
本申请第四方面还提供了一种全景相机,具有N个鱼眼镜头,N为不小于2的整数,所述全景相机还包括:
初始化单元,用于采用如本申请第一方面的方法计算出每个鱼眼镜头在世界坐标系中的姿态,并存储到存储器中;
拼接单元,用于在利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像之后,根据所述存储器中存储的每个鱼眼镜头在世界坐标系中的姿态、所述N个鱼眼图像、每个鱼眼镜头的内参数,将所述N个鱼眼图像拼接成全景图像。
基于上述技术方案,本发明实施例中是将每对鱼眼图像转换到同一方向并进行校正后获取每对鱼眼图像的匹配特征点对,而现有技术中是直接获取每对鱼眼图像的匹配特征点对,使得本申请实施例中获取的每对鱼眼图像的匹配特征点对的准确度得以大幅提高,在每对鱼眼图像的匹配特征点对的准确度提高的基础上,每对鱼眼图像的匹配特征点对的三维坐标集的精确度也随之提高,使得根据每对鱼眼图像的匹配特征点对的三维坐标集获取的每个鱼眼镜头在世界坐标系中的姿态的精确度也随之提高,从而能够有效提高全景图像的拼接效果。
附图说明
图1为本发明实施例中全景相机镜头姿态估计方法的流程图;
图2a为本发明实施例中鱼眼镜头的世界坐标系和相机坐标系的关系图;
图2b为本发明实施例中鱼眼图像到球面的映射关系图;
图3a和图3b为本发明实施例中一对鱼眼图像转换到同一方向时的图像;
图4为本发明实施例中获取到校正后的每对鱼眼图像的匹配特征点对的流程图;
图5为本发明实施例中应用于全景相机中的全景图像拼接方法的流程图;
图6为本发明实施例中全景相机的第一种模块图;
图7为本发明实施例中全景相机的第二种模块图。
具体实施方式
本发明提供了一种全景相机镜头姿态估计方法及全景相机,能够解决由于摄像头安装误差导致获取的各个摄像头的姿态的精确度差的问题,实现了在摄像头安装误差存在的情况下提高获取的各个摄像头的姿态的精确度的效果,从而有效提高全景图像的拼接效果。
下面结合附图对本发明优选的实施方式进行详细说明。
实施例一:
本发明第一方面提供一种全景相机镜头姿态估计方法,如图1所示,所述全景相机具有N个鱼眼镜头,N为不小于2的整数,所述方法包括:
S101、利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像;
S102、从所述N个鱼眼图像中选取M对鱼眼图像,其中,每两个具有相交区域的鱼眼图像组成一对鱼眼图像,M为不小于1的整数;
S103、根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵;
S104、根据每对鱼眼镜头中每个鱼眼镜头转换到同一方向的矩阵和内部参数,对每个鱼眼图像进行校正,获得校正后的所述M对鱼眼图像;
S105、对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对;
S106、根据每对鱼眼图像的匹配特征点对在图像坐标系下的二维坐标和每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,获取每对鱼眼图像的匹配特征点对的三维坐标集;
S107、根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态。
其中,步骤S101中,由于所述全景相机包括所述N个鱼眼镜头,进而能够精确控制所述N个鱼眼镜头在同一时刻获取所述N个鱼眼图像,其中,每一个鱼眼镜头获取一个鱼眼图像,即所述N个鱼眼图像与所述N个鱼眼镜头一一对应。
本申请实施例中,鱼眼镜头可以包括视场角不超过180°的广角镜头和视场角超过180°的鱼眼镜头,本申请不作具体限制。
具体来讲,同一时刻获取的N个鱼眼图像为一组鱼眼图像,每一组鱼眼图像均可以拼接成一个全景图像,而多组鱼眼图像拼接成的多个全景图像可以组成全景视频,其中,每个鱼眼图像的画面均是水平的;若所述N个鱼眼图像由第一部分鱼眼图像和第二部分鱼眼图像组成,且所述第一部分鱼眼图像的画面不是水平的,则将所述第一部分鱼眼图像的画面旋转至水平,再将旋转后的所述第一部分鱼眼图像和所述第二部分鱼眼图像作为所述N个鱼眼图像。
接下来执行步骤S102,在该步骤中,从所述N个鱼眼图像中选取M对鱼眼图像,其中,每两个具有相交区域的鱼眼图像组成一对鱼眼图像,M为不小于1的整数。
在具体实施过程中,可以根据所述N个鱼眼镜头的分布,从所述N个鱼眼镜头中选取M对鱼眼镜头,其中,每相邻两个鱼眼镜头组成一对鱼眼镜头;再根据所述M对鱼眼镜头,从所述N个鱼眼图像中选取与所述M对鱼眼镜头对应的所述M对鱼眼图像。
具体来讲,根据所述N个鱼眼镜头的分布,可以将每相邻的两个鱼眼镜头组成一对鱼眼镜头,由于鱼眼镜头的视场较大,使得每相邻的两个鱼眼镜头拍摄的鱼眼图像之间必然存在相交区域,即每对鱼眼图像之间也必然存在相交区域,其中,所述M对鱼眼镜头包括所述N个鱼眼镜头中的每个鱼眼镜头。
例如,全景相机包括4个鱼眼镜头,分别为a1、a2、a3和a4鱼眼镜头,其中,a1与a2、a2与a3、a3与a4和a1与a4相邻,则可以确定所述M对鱼眼镜头为4对鱼眼镜头,分别为:a1与a2、a2与a3、a3与a4和a1与a4。
接下来执行步骤S103,在该步骤中,根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵。
本申请实施例中,每个鱼眼镜头的三维方向向量指的是该鱼眼镜头的镜头所指向的三维方向向量;例如以a1和a2为例,a1的三维方向向量为a1的镜头所指向的三维方向向量;a2的三维方向向量为a2的镜头所指向的三维方向向量。
在具体实施过程中,所述N个鱼眼镜头均是以围绕所述全景相机中心分布的,可根据所述全景相机的设计,以每个鱼眼镜头的光心建立各个鱼眼镜头对应的相机坐标系。
具体来讲,在建立每个鱼眼镜头对应的相机坐标系时,根据每个鱼眼镜头在所述相机中的分布,可知每个鱼眼镜头的相机坐标系(o,x,y,z)中的z轴在世界坐标系(o,x‘,y‘,z‘)中的向量用z向量表示,其中,世界坐标系和相机坐标系同原点o;而每个鱼眼镜头的相机坐标系中的x轴在世界坐标系中的向量用x向量表示,而x向量在0x‘z‘平面上,且x向量与z向量在0x‘z‘平面上的投影垂直,进而可以确定X向量;最后获取每个鱼眼镜头的相机坐标系中的y轴在世界坐标系中的向量用y向量表示,y向量为z向量和x向量的叉乘方向;通过这种方式,可以获取到每个鱼眼图像的相机坐标系即三维方向向量。
例如,如图2a所示,以鱼眼镜头a为例,以鱼眼镜头a的光心o为原点建立鱼眼镜头a的相机坐标系(o,x,y,z),而世界坐标系(o,x‘,y‘,z‘)同样是也光心o为原点建立的,世界坐标已知,且根据鱼眼镜头a在所述全景相机的分布,可以确定鱼眼镜头a的相机坐标系中z向量,根据z向量在0x‘z‘平面上的投影与x向量垂直,且x向量也位于0x‘z‘平面上,如此,可以确定出x向量;再获取x向量和z向量的叉乘方向为y向量,获取到x向量、y向量和z向量为鱼眼镜头a的三维方向向量,即x向量、y向量和z向量也为鱼眼镜头a的相机坐标系。
具体来讲,在获取每对鱼眼图像对应的两个鱼眼镜头的三维方向向量之后,根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼图像对应的两个鱼眼镜头的中间方向向量;再根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量和中间方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵。
具体的,若每对鱼眼图像对应的两个鱼眼镜头的中间方向向量以(cx,cy,cz)表示,首先根据每对鱼眼图像中的两个鱼眼图像的z向量,将每对鱼眼图像中的两个鱼眼图像的z向量之和/2作为该对鱼眼图像的cz向量;同理,cx向量在0x‘z‘平面上,且cx向量与cz向量在0x‘z‘平面上的投影垂直,进而可以确定cx向量;cy向量为cz向量和cx向量的叉乘方向;通过这种方式,可以获取到每对鱼眼图像对应的两个鱼眼镜头的中间方向向量(cx,cy,cz)。
具体的,在获取每对鱼眼图像对应的两个鱼眼镜头的中间方向向量(cx,cy,cz)之后,根据每对鱼眼图像中的两个鱼眼图像的三维方向向量与中间方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵。
具体的,若一对鱼眼镜头包括第一鱼眼镜头和第二鱼眼镜头,其中,第一鱼眼镜头转换到同一方向的矩阵用M0表示,且所述第一鱼眼镜头对应的三维方向向量用S0表示,且所述第一、第二鱼眼镜头的中间方向向量用C表示,由于S*M=C,可知所述第一鱼眼镜头转换到同一方向的矩阵M=S0-1*C;同理,若所述第二鱼眼镜头对应的三维方向向量用S表示,所述第二鱼眼镜头转换到同一方向的矩阵M=S-1*C;通过此种方式,可以获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵。
其中,S0还可以是将所述第一鱼眼镜头对应的三维方向向量进行单位化后组成的矩阵;S还可以是将所述第二鱼眼镜头对应的三维方向向量进行单位化后组成的矩阵;C也可以将所述第一、第二鱼眼镜头的中间方向向量进行单位化后组成的矩阵,本申请不作具体限制。
例如,以一对鱼眼图像为例,该对鱼眼图像对应的两个摄像头分别为a1和a2,其中,a1对应的三维方向向量(x1,y1,z1)用S1表示,a2对应的三维方向向量(x2,y2,z2)用S2表示,若a1和a2的中间方向向量(cx,cy,cz)用C表示,则可以确定cz=(z1+z2)/2,再根据cz,获取到cx和cy;根据S*M=C可知,a1转换到同一方向的矩阵M1=S1-1*C,a2转换到同一方向的矩阵M2=S2-1*C;通过这种方式可以获取每对鱼眼图像转换到同一方向的两个矩阵,其中,a1和a2转换到同一方向时的图像具体如图3a和图3b所示。
接下来执行步骤S104,在该步骤中,根据每对鱼眼镜头中每个鱼眼镜头转换到同一方向的矩阵和内部参数,对每个鱼眼图像进行校正,获得校正后的所述M对鱼眼图像。
在具体实施过程中,每个校正后的鱼眼图像为柱面投影图像,首先根据球面坐标和经纬度坐标的映射关系,获取每个柱面投影图像中每个像素点在球面上的三维坐标集,再根据每个柱面投影图像对应的鱼眼镜头转换到同一方向的矩阵,确定每个柱面投影图像中每个像素点在球面上的新三维坐标集;然后根据球面坐标和平面坐标的映射关系,利用每个像素点在球面上的新三维坐标,获取到每个柱面投影图像中的每个像素点与相应的鱼眼图像中的像素点的对应关系,从而获取每个柱面投影图像中每个像素点的像素值,根据所述每个柱面投影图像中每个像素点的像素值,获得校正后的所述M对鱼眼图像。
本申请实施例中,校正后的鱼眼图像可以是鱼眼图像,也可以是柱面投影图像,还可以是传统小孔成像模型下的图像,本申请不作具体限制,下面具体以校正后的鱼眼图像为柱面投影图像为例。
例如,同样以鱼眼镜头a1和a2为例,a1对应鱼眼图像b1,a2对应鱼眼图像b2,鱼眼图像b1校正后的柱面投影图像用b11表示,鱼眼图像b2校正后的柱面投影图像用b21表示,其中,b11中的任意一个像素点(i,j)通过下列公式计算,将其与b1中的像素点(u,v)对应上,具体为:
首先将b11中的任意一个像素点(i,j)转换为经纬度坐标,其中,经度用yaw表示,纬度用pitch表示,具体为:
公式(1)中,pi为180°,width表示b11的宽度,heigh表示b11的高度。
在获取b11中的任意一个像素点(i,j)的经纬度坐标之后,根据经纬度坐标和球面坐标的映射关系,获取到b11中的任意一个像素点(i,j)的球面坐标(x′,y′,z′),具体为:
在获取b11中的任意一个像素点(i,j)的球面坐标之后,根据球面坐标和b11对应的a1转换到同一方向的矩阵M1,获取b11中任意一个像素点(i,j)的新球面坐标(x,y,z),具体为:
(x,y,z)=M1*(x′,y′,z′) 公式(3)
具体的,参见图2b,鱼眼镜头作为半个球面10,半个球面10上的每个像素点可以以三维坐标P(x,y,z)表示,根据小孔成像模型可知:
r2=(x/z)2+(y/z)2 公式(4)
θ=atan(r) 公式(5)
进一步的,参见图2b,θd与θ满足以下关系式:
θd=θ(1+k1θ2+k2θ4+k3θ6+k4θ8) 公式(6)
公式(6)中,k1、k2、k3和k4均表示鱼眼图像b1的畸变参数,所述畸变参数均可通过标定方法获得,例如可以使用黑白棋盘图像进行标定后获取上述参数,其中,θd表示鱼眼图像b1在图像坐标系下像素点的偏转角度。
进一步的,根据三维坐标点投影在图像上的二维坐标的公式,可以确定出柱面投影图像b11中任意一个像素点(i,j)对应的畸变坐标的公式为:
其中,公式(7)中,(x2,y2)表示柱面投影图像b11中任意一个像素点(i,j)对应的畸变坐标。
以及,继续根据三维坐标点投影在图像上的二维坐标的公式,将柱面投影图像b11中任意一个像素点(i,j)对应的畸变坐标转换到到图像坐标系中的坐标为:
其中,公式(8)中fx,fy,cx和cy是鱼眼镜头的内部参数,均可以通过标定方法获得,如此,通过公式(1)到公式(8),可以获取到柱面投影图像b11中的每个像素点与鱼眼图像b1中的像素点的映射关系,然后根据柱面投影图像b11中的每个像素点与鱼眼图像b1中的像素点的映射关系,将鱼眼图像b1中的像素点的像素值填充在柱面投影图像b11中的相应像素点上,从而获取到填充有像素值的柱面投影图像b11;同理,通过上述公式(1)到公式(8)可以获取鱼眼图像b2对应的柱面投影图像b21,柱面投影图像b11和b21为校正后的b1和b2,即柱面投影图像b11和b21为校正后的一对鱼眼图像。
同理,通过公式(1)到公式(8)可以获取到校正后的所述M对鱼眼图像。
由于本申请实施例能够通过公式(1)到公式(8)获取到柱面投影图像与鱼眼图像的平面坐标的映射关系,从而获取到每个鱼眼图像的柱面投影图像,而公式(1)到公式(8)的执行过程中无需进行多次多项方程式求解,而现有技术中在每个鱼眼图像的柱面投影图像通常是将公式(1)到公式(8)进行反向执行,而需要进行八次多项式求解,与本申请实施例相比,其计算量极大且计算得到的数值的精度也较低,如此,与现有技术相比,本申请实施例通过公式(1)到公式(8)获取到每个鱼眼图像的柱面投影图像的计算量得以大幅度降低,且还能提高计算的精确度,在计算量得以大幅度降低的情况下会使其计算时间得以大幅度缩短,从而能够实现在获取全景图像过程中确保实时性的前提下其精度也得以提高的效果。
接下来执行步骤S105,在该步骤中,对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对。
在具体实施过程中,通过特征提取算法从校正后的每对鱼眼图像中提取两个特征点集对,然后通过特征匹配算法对每对鱼眼图像对应的两个特征点集对进行匹配,获取到每对鱼眼图像的匹配特征点对。
其中,所述特征点提取算法例如可以是ORB,SIFT,SURF等算法,所述特征点匹配算法例如可以采用归一化互相关(Normalized Cross Correlation method,简称NCC)匹配算法、序贯相似性检测(sequential similarity detection algorithm,简称SSDA)算法和测度因子有像素灰度差的绝对值和(Sum of Absolute Differences,检测SAD)算法等。
具体来讲,以鱼眼镜头a1和a2为例,a1和a2在同一时刻获取到的鱼眼图像分别为b1和b2,其中a1与b1对应,a2与b2对应,通过步骤S101-S104获取到校正后的b1和b2,再通过特征点提取算法从校正后的b1中提取特征点集C1,以及通过特征点提取算法从校正后的b2中提取特征点集C2,然后通过特征点匹配算法对C1和C2进行特征点匹配,获取到匹配特征点对为b1和b2的匹配特征点对;同理,通常上述方式可以获取到每对鱼眼图像的匹配特征点对。
在本申请另一实施例中,为了提高获取的匹配特征点对的数量和准确性,还可以采用下述步骤来实现,参见图4,包括:
S401、对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的原始匹配特征点对;
S402、检测每对鱼眼图像的原始匹配特征点对数量是否大于预设数量;
S403、若检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量,则从该对鱼眼图像中选取新增匹配特征点对,并将该对鱼眼图像的原始匹配特征点对加上新增匹配特征点对作为该对鱼眼图像的匹配特征点对,其中,该对鱼眼图像的原始匹配特征点对加上新增匹配特征点对的数量大于所述预设数量;
S404、若检测到某对鱼眼图像的原始匹配特征点对数量大于所述预设数量,则将该对鱼眼图像的原始特征点对作为该对鱼眼图像的匹配特征点对。
在步骤S401中,通过特征提取算法从校正后的每对鱼眼图像中提取两个特征点集对,然后通过特征匹配算法对每对鱼眼图像对应的两个特征点集对进行匹配,获取到每对鱼眼图像的匹配特征点对。
例如,以鱼眼镜头a3和a4为例,a3和a4在同一时刻获取到的鱼眼图像分别为b3和b4,其中a3与b3对应,a4与b4对应,通过步骤S101-S104获取到校正后的b3和b4,再通过特征点提取算法从校正后的b3中提取特征点集C3,以及通过特征点提取算法从校正后的b4中提取特征点集C4,然后通过特征点匹配算法对C3和C4进行特征点匹配,获取到匹配特征点对为b3和b4的原始匹配特征点对;同理,通常上述方式可以获取到每对鱼眼图像的原始匹配特征点对。
在获取到每对鱼眼图像的原始匹配特征点对之后,执行步骤S402,检测每对鱼眼图像的原始匹配特征点对数量是否大于预设数量。
本申请实施例中,所述预设数量可以根据实际情况来设定,由于匹配出的特征点对的数量越多,其通过匹配出的特征点对获取到的相应鱼眼镜头在世界坐标系中的姿态越准确,因此,可以将所述预设数量的取值设置的较大;在所述预设数量的取值设置的较大时,其计算量也会设置的随之变大,因此,还可以根据所述全景相机的硬件设备来设定所述预设数量的取值,以兼容计算量和准确度。
在通过步骤S401获取到每对鱼眼图像的原始匹配特征点对之后,检测每对鱼眼图像的原始匹配特征点对数量是否大于所述预设数量,若检测到某对鱼眼图像的原始匹配特征点对数量大于所述预设数量,则执行步骤S404;若检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量,则执行步骤S403。
若检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量,则可以通过人工选取和/或机器自动选取方式从该对鱼眼图像中选取新增匹配特征点对,且该对鱼眼图像的原始匹配特征点对加上新增匹配特征点对的数量大于所述预设数量,以使得该对鱼眼图像的匹配特征点对的数量大于所述预设数量。
在具体实施过程中,在通过人工选取和/或机器自动选取方式从该对鱼眼图像中选取新增匹配特征点对过程中,首先获取该对鱼眼图像的相交区域,然后通过人工选取和/或机器自动选取方式从该对鱼眼图像的相交区域中选取新增匹配特征点对,以使得该对鱼眼图像的匹配特征点对的数量大于所述预设数量,其中,选取的新增匹配特征点对和原始匹配特征点对完全不同。
具体来讲,若检测到某对鱼眼图像的原始匹配特征点对数量大于所述预设数量,则将该对鱼眼图像的原始匹配特征点对作为该对鱼眼图像的匹配特征点对。
具体的,通过步骤S401~S404使得每对鱼眼图像的匹配特征点对的数量均大于所述预设数量,如此,使得获取的每对鱼眼图像的匹配特征点对的数量得以确保,而且由于原始匹配特征点对是匹配出的且新增匹配特征点对是从相交区域中选取的,使得获取的每对鱼眼图像的匹配特征点对的准确性也会较高;以及在每对鱼眼图像的匹配特征点对的数量和准确性均较高的基础上,会使得通过每对鱼眼图像的匹配特征点对的相关参数计算得到的姿态的精确度也会随之提高。
具体的,在检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量之后,所述方法还包括:获取该对鱼眼图像对应的预设匹配特征点对,并将该对鱼眼图像的原始匹配特征点对加上预设匹配特征点对作为该对鱼眼图像的匹配特征点对,其中,该对鱼眼图像的原始匹配特征点对加上预设匹配特征点对的数量大于所述预设数量。
在具体实施过程中,当某对鱼眼图像的图像太单调导致通过步骤S401获取到该对鱼眼图像的原始匹配特征点对的数量不足时,则使用一组预先准备的默认匹配特征点对作为该对鱼眼图像的预设匹配特征点对,然后将该对鱼眼图像的原始匹配特征点对加上预设匹配特征点对作为该对鱼眼图像的匹配特征点对。
本申请实施例中,校正后的每对鱼眼图像是将每对鱼眼图像中的两个鱼眼图像转换到同一方向之后再进行特征点匹配,使得获取到的每对鱼眼图像的匹配特征点对的精确度更高,而每对鱼眼图像的匹配特征点对的三维坐标集是用于计算出每个鱼眼镜头的姿态的参数,在每对鱼眼图像的匹配特征点对的精确度更高的基础上,计算出的每个鱼眼镜头的姿态的精确度也随之提高。
接下来执行步骤S106,在步骤中,根据每对鱼眼图像的匹配特征点对在图像坐标系下的二维坐标和每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,获取每对鱼眼图像的匹配特征点对的三维坐标集。
在具体实施过程中,针对每对鱼眼图像的匹配特征点对,从一对鱼眼图像的匹配特征点对中确定该对鱼眼图像中第一鱼眼图像对应的第一匹配特征点集和第二鱼眼图像对应的第二匹配特征点集,根据所述第一匹配特征点集中每个特征点的二维坐标和与所述第一鱼眼图像对应的鱼眼镜头转换到同一方向的矩阵,获取所述第一匹配特征点集中每个特征点的三维坐标;以及根据所述第二匹配特征点集中每个特征点的二维坐标和与所述第二鱼眼图像对应的鱼眼镜头转换到同一方向的矩阵,获取所述第二匹配特征点集中每个特征点的三维坐标;由所述第一匹配特征点集中每个特征点的三维坐标和所述第二匹配特征点集中每个特征点的三维坐标组成该对鱼眼图像的匹配特征点对的三维坐标集;如此,通过上述方法可以获取每对鱼眼图像的匹配特征点对的三维坐标集。
具体来讲,在获取每对鱼眼图像的匹配特征点对的三维坐标集时,可以通过公式(1)到公式(3)即可获取每对鱼眼图像的匹配特征点对的三维坐标集。
例如,以一对鱼眼图像b1和b2为例,若从校正后的b1中提取特征点集C1和从校正后的b2中提取特征点集C2进行特征点匹配,获取到C1中的多个特征点组成的特征点集合C11与C2中的多个特征点组成的特征点集合C21相匹配;即获取到b1和b2的匹配特征点集为(C11,C21),则可以确定C11为第一匹配特征点集,C21为第二匹配特征点集,根据C11中每个特征点在图像坐标系中的二维坐标和与b1对应的鱼眼镜头a1转换到同一方向的矩阵M1,通过公式(1)到公式(3)即可获取到C11中每个特征点的三维坐标;同理,根据C21中每个特征点在图像坐标系中的二维坐标和与b2对应的鱼眼镜头a2转换到同一方向的矩阵M2,通过公式(1)到公式(3)即可获取到C21中每个特征点的三维坐标;从而获取到由C11中每个特征点的三维坐标和C21中每个特征点的三维坐标组成的b1和b2的匹配特征点对的三维坐标集。
接下来执行步骤S107,在该步骤中,根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态。
在具体实施过程中,可以将每对鱼眼图像的匹配特征点对的三维坐标集利用光束平差法(Bundle Adjustment,简称:BA)进行姿态估计,估计出每个鱼眼镜头在世界坐标系中的姿态,即每个鱼眼镜头在世界坐标系中的旋转矩阵R和平移矩阵t,其中,R表示旋转矩阵(3x3),t表示位移向量(tx,ty,tz),。
例如,以一对鱼眼图像b1和b2为例,获取到b1和b2的匹配特征点集为(C11,C21)用C表示,若(C11,C21)中的一个匹配特征点对的三维坐标为(Ci,Cj),其中Ci为C11中的一个特征点,即Ci为鱼眼图像b1中的一个特征点;Cj为C21中的一个特征点,即Cj为鱼眼图像b2中的一个特征点;则使用BA算法通过优化下列目标函数已求得每个摄像头在世界坐标系中的姿态,BA算法具体为:
BA算法中,是表示匹配特征点对(Ci,Cj)的权重,用于平衡不同匹配数量的摄像头对在优化目标函数中的作用,根据(C11,C21)中的匹配特征点对的数量来确定,Ri表示b1对应的鱼眼镜头a1在世界坐标系中的旋转矩阵;ti表示鱼眼图像b1对应的鱼眼镜头a1在世界坐标系中的平移矩阵;Rj表示b2对应的鱼眼镜头a2在世界坐标系中的旋转矩阵;tj表示b2对应的鱼眼镜头a2在世界坐标系中的平移矩阵。
本发明有益效果如下:
其一、由于本发明实施例中是将每对鱼眼图像转换到同一方向并进行校正后获取每对鱼眼图像的匹配特征点对,而现有技术中是直接获取每对鱼眼图像的匹配特征点对,使得本申请实施例中获取的每对鱼眼图像的匹配特征点对的准确度得以大幅提高,在每对鱼眼图像的匹配特征点对的准确度提高的基础上,每对鱼眼图像的匹配特征点对的三维坐标集的精确度也随之提高,使得根据每对鱼眼图像的匹配特征点对的三维坐标集获取的每个鱼眼镜头在世界坐标系中的姿态的精确度也随之提高,从而能够有效提高全景图像的拼接效果。
其二、由于本发明实施例中每对鱼眼图像的匹配特征点对的数量均大于所述预设数量,如此,使得获取的每对鱼眼图像的匹配特征点对的数量得以确保,而且由于原始匹配特征点对是匹配出的且新增匹配特征点对是从相交区域中选取的,使得获取的每对鱼眼图像的匹配特征点对的准确性也会较高;以及在每对鱼眼图像的匹配特征点对的数量和准确性均较高的基础上,会使得通过每对鱼眼图像的匹配特征点对的相关参数计算得到的姿态的精确度也会随之提高。
实施例二:
本发明第二方面提供一种应用于全景相机中的全景图像拼接方法,所述全景相机具有N个鱼眼镜头,N为不小于2的整数,如图5所示,所述方法包括:
S501、采用如本申请第一方面提供的方法计算出每个鱼眼镜头在世界坐标系中的姿态,并存储到存储器中;
S502、在利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像之后,根据所述存储器中存储的每个鱼眼镜头在世界坐标系中的姿态、所述N个鱼眼图像、每个鱼眼镜头的内参数,将所述N个鱼眼图像拼接成全景图像。
其中,步骤S501的具体实施步骤可以参考本发明第一方面记载的实施步骤,可知,本发明第一方面提供的方法能够有效提高计算出的每个鱼眼镜头在世界坐标系中的姿态精确度,在每个鱼眼镜头在世界坐标系中的姿态的精确度提高的基础上,其使用每个鱼眼镜头在世界坐标系中的姿态及其它参数获取的全景图像的拼接效果也随之提高。
具体的,在采用第一方面提供的方法计算出每个鱼眼镜头在世界坐标系中的姿态之后,还需将每个鱼眼镜头在世界坐标系中的姿态存储到所述全景相机的存储器中,所述存储器例如可以是固态硬盘、机械硬盘等存储设备;在所述存储器中存储每个鱼眼镜头在世界坐标系中的姿态之后,可以在每一时刻获取所述N个鱼眼图像之后,直接从所述存储器中读取每个鱼眼镜头在世界坐标系中的姿态。
在将每个鱼眼镜头在世界坐标系中的姿态存储到所述存储器中之后,执行步骤S502,在利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像之后,根据每个鱼眼图像及其对应的鱼眼镜头的内参数,获取每个鱼眼图像中的每个像素点在球面上的三维坐标,再根据每个鱼眼图像中的每个像素点在球面上的三维坐标和对应鱼眼镜头在世界坐标系中的姿态,确定每个鱼眼图像中的每个像素点与全景图像中的像素点的对应关系;根据所述对应关系,将每个鱼眼图像中的每个像素点的像素值填充到全景图像的对应像素点中,从而获取到所述全景图像。
在具体实施过程中,逆向执行公式(4)~公式(8),则可以获取到每个鱼眼图像中的每个像素点在球面上的三维坐标;当然,先假设一个鱼眼图像的图像在球面的三维坐标用P(x,y,z)表示,然后顺向执行公式(4)~公式(8)获取到的(u,v)与每个鱼眼图像中的每个像素点的坐标进行比对,通过此种方式也可以获取到每个鱼眼图像中的每个像素点在球面上的三维坐标。
例如,以鱼眼镜头a1和a2为例,a1和a2在同一时刻获取到的鱼眼图像分别为b1和b2,根据b1中的每个像素点的二维坐标和a1的内参数,通过执行公式(4)~公式(8),则获取到b1中的每个像素点在球面上的三维坐标;同理,采用上述方法也可以获取到b2中的每个像素点在球面上的三维坐标。
具体来讲,在获取到每个鱼眼图像中每个像素点在球面上的三维坐标之后,利用公式(9)获取到每个鱼眼图像中每个像素点在球面上的新三维坐标用(x′,y′,z′)表示,根据每个鱼眼图像中每个像素点在球面上的新三维坐标,获取个鱼眼图像中每个像素点与全景图像中像素点的对应关系,所述公式(9)具体为:
如此,通过公式(4)~公式(9)可以获取到每个鱼眼图像中每个像素点在球面上的新三维坐标(世界坐标系中的三维坐标),而全景图像中的每个像素点(i,j)根据公式(1)~公式(2),也可以确定全景图像中的每个像素点映射到世界坐标系中的三维坐标,在某个鱼眼图像中的某个像素点的新三维坐标与全景图像的一个像素点映射到世界坐标系中的三维坐标相同时,则确定该鱼眼图像中的该像素点与所述全景图像中的该像素点对应。
例如,以鱼眼镜头a1为例,a1在某一时刻获取到的鱼眼图像为b1,根据b1中的每个像素点的二维坐标、a1的内参数和a1在世界坐标系中的姿态,通过执行公式(4)~公式(9),则获取到b1中的一个像素点H1在球面上的新三维坐标为H11;而全景图像中的像素点Q1映射到世界坐标系中的三维坐标也为H11,则确定b1中的像素点H1与全景图像中的Q1对应;采用这种方式,获取到b1的每个像素点与全景图像中的像素点的对应关系;如此,可以获取到每个鱼眼图像中的每个像素点与全景图像中的像素点的对应关系。
具体的,在获取到每个鱼眼图像中的每个像素点与全景图像中的像素点的对应关系之后,根据所述对应关系,将每个鱼眼图像中的每个像素点的像素值填充到全景图像中的对应像素点中,从而获取到所述全景图像。
具体的,由于每对鱼眼图像之间具有相交区域,从而存在位于相交区域的像素点匹配对与全景图像中的一个像素点对应,使得所述全景图像中的某个像素点可能在多个鱼眼图像中均存在对应像素点,也可能仅在一个鱼眼图像中存在对应像素点,如此,为了使得所述全景图像中每个像素点的像素值的准确性,可以采用下述方式来确定所述全景图像中每个像素点的像素值,具体为:若所述全景图像中某个像素点分别与K个鱼眼图像中的K个像素点对应,则根据所述K个像素点的像素值和权重,确定所述全景图像中该像素点的像素值,所述K个像素点与所述K个鱼眼图像一一对应,K为不小于2且不大于N的整数;若所述全景图像中某个像素点仅与一个鱼眼图像中的一个特定像素点对应,则确定所述全景图像中的该像素点的像素值为所述特定像素点的像素值。
具体的,在所述全景图像中某个像素点分别与K个鱼眼图像中的K个像素点对应时,需要先获取所述K个像素点中每个像素点的权重;再根据所述K个像素点的像素值和每个像素点的权重,确定所述全景图像中该像素点的像素值。
具体的,在获取所述K个像素点中每个像素点的权重时,可以预先设置每个像素点的权重,例如预先设置的每个像素点的权重可以为1/K等;当然,也可以根据所述K个像素点中每个像素点与相应鱼眼图像的中心像素点之间距离来设置权重,所述K个像素点中的一个像素点越靠近相应鱼眼图像的中心像素点其权重越大,反之,其取值越小。
例如,所述全景图像中一个像素点Q1仅与鱼眼图像b1中的像素点H1对应,则可以确定Q1的像素值为H1的像素值。
又例如,以K=2为例,所述全景图像中一个像素点Q1分别与鱼眼图像b1中的像素点H1和鱼眼图像b2中的像素点H2对应,获取H1到鱼眼图像b1的中心像素点之间距离用d1表示和获取H2到鱼眼图像b2的中心像素点之间距离用d2表示,若H1的权重用w1表示和H2的权重用w2标识,则w1、w2具体使用公式(10)计算出,其中,公式(10)为:
其中,在通过公式(10)获取到w1和w2之后,然后再根据H1的像素值用PX1表示和H2的像素值用PX2表示,若Q1的像素值用PX表示,则PX具体可以使用公式(11)计算出,其中,公式(11)为:
PX=PX1×w1+PX2×w2 公式(11)
如此,使得通过公式(10)和公式(11)获取到的Q1的像素值更准确,从而使得获取的所述全景图像中每个像素点的像素值与所述N个鱼眼图像的匹配度更高。
本发明的有益效果如下:
由于通过本发明第一方面计算出的每个鱼眼镜头在世界坐标系中的姿态的精确度更高,使得依据每个鱼眼镜头在世界坐标系中的姿态、所述N个鱼眼图像和每个鱼眼镜头的内参数拼接而成的全景图像的拼接效果也随之提高。
实施例三:
本发明第三方面提供一种全景相机,具有N个鱼眼镜头,N为不小于2的整数,如图6所示,所述全景相机还包括:
鱼眼图像获取单元601,用于利用所述N个鱼眼镜头在同一时刻获取到N个鱼眼图像;
图像对选取单元602,用于从所述N个鱼眼图像中选取M对鱼眼图像,其中,每两个具有相交区域的鱼眼图像组成一对鱼眼图像,M为不小于1的整数;
图像转换单元603,用于根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵;
图像校正单元604,用于根据每对鱼眼镜头中每个鱼眼镜头转换到同一方向的矩阵和内部参数,对每个鱼眼图像进行校正,获得校正后的所述M对鱼眼图像;
匹配单元605,用于对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对;
三维坐标获取单元606,用于根据每对鱼眼图像的匹配特征点对在图像坐标系下的二维坐标和每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,获取每对鱼眼图像的匹配特征点对的三维坐标集;
姿态获取单元607,用于根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态。
较佳的,图像转换单元603具体包括:
向量获取子单元,根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼图像对应的两个鱼眼镜头的中间方向向量;
图像转换子单元,用于根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量和中间方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵。
较佳的,图像对选取单元602,具体用于根据所述N个鱼眼镜头的分布,从所述N个鱼眼镜头中选取M对鱼眼镜头,其中,每相邻两个鱼眼镜头组成一对鱼眼镜头;再根据所述M对鱼眼镜头,从所述N个鱼眼图像中选取与所述M对鱼眼镜头对应的所述M对鱼眼图像。
较佳的,匹配单元605,具体用于对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的原始匹配特征点对;检测每对鱼眼图像的原始匹配特征点对数量是否大于预设数量;若检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量,则从该对鱼眼图像中选取新增匹配特征点对,并将该对鱼眼图像的原始匹配特征点对加上新增匹配特征点对作为该对鱼眼图像的匹配特征点对,其中,该对鱼眼图像的原始匹配特征点对加上新增匹配特征点对的数量大于所述预设数量;若检测到某对鱼眼图像的原始匹配特征点对数量大于所述预设数量,则将该对鱼眼图像的原始特征点对作为该对鱼眼图像的匹配特征点对。
较佳的,匹配单元605,还用于在检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量之后,获取该对鱼眼图像对应的预设匹配特征点对,并将该对鱼眼图像的原始匹配特征点对加上预设匹配特征点对作为该对鱼眼图像的匹配特征点对,其中,该对鱼眼图像的原始匹配特征点对加上预设匹配特征点对的数量大于所述预设数量。
较佳的,姿态获取单元607,具体用于将每对鱼眼图像的匹配特征点对的三维坐标集利用光束平差法进行姿态估计,估计出每个鱼眼镜头在世界坐标系中的姿态。
实施例四:
本发明第四方面还提供了一种全景相机,具有N个鱼眼镜头,N为不小于2的整数,如图7所示,所述全景相机还包括:
初始化单元701,用于采用如本申请第一方面的方法计算出每个鱼眼镜头在世界坐标系中的姿态,并存储到存储器中;
拼接单元702,用于在利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像之后,根据所述存储器中存储的每个鱼眼镜头在世界坐标系中的姿态、所述N个鱼眼图像、每个鱼眼镜头的内参数,将所述N个鱼眼图像拼接成全景图像。
较佳的,拼接单元702,具体用于在利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像之后,根据每个鱼眼图像及其对应的鱼眼镜头的内参数,获取每个鱼眼图像中的每个像素点在球面上的三维坐标,再根据每个鱼眼图像中的每个像素点在球面上的三维坐标和对应鱼眼镜头在世界坐标系中的姿态,确定每个鱼眼图像中的每个像素点与全景图像中的像素点的对应关系;根据所述对应关系,将每个鱼眼图像中的每个像素点的像素值填充到全景图像的对应像素点中,从而获取到所述全景图像。
本发明的有益效果如下:
由于通过本发明第一方面计算出的每个鱼眼镜头在世界坐标系中的姿态的精确度更高,使得依据每个鱼眼镜头在世界坐标系中的姿态、所述N个鱼眼图像和每个鱼眼镜头的内参数拼接而成的全景图像的拼接效果也随之提高。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application SpecificIntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (10)

1.一种全景相机镜头姿态估计方法,所述全景相机具有N个鱼眼镜头,N为不小于2的整数,其特征在于,所述方法包括:
利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像;
从所述N个鱼眼图像中选取M对鱼眼图像,其中,每两个具有相交区域的鱼眼图像组成一对鱼眼图像,M为不小于1的整数;
根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵;
根据每对鱼眼镜头中每个鱼眼镜头转换到同一方向的矩阵和内部参数,对每个鱼眼图像进行校正,获得校正后的所述M对鱼眼图像;
对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对;
根据每对鱼眼图像的匹配特征点对在图像坐标系下的二维坐标和每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,获取每对鱼眼图像的匹配特征点对的三维坐标集;
根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态。
2.如权利要求1所述的方法,其特征在于,所述从所述N个鱼眼图像中选取M对鱼眼图像,具体包括:
根据所述N个鱼眼镜头的分布,从所述N个鱼眼镜头中选取M对鱼眼镜头,其中,每相邻两个鱼眼镜头组成一对鱼眼镜头;
根据所述M对鱼眼镜头,从所述N个鱼眼图像中选取与所述M对鱼眼镜头对应的所述M对鱼眼图像。
3.如权利要求1所述的方法,其特征在于,所述根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量和内部参数,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,具体包括:
根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼图像对应的两个鱼眼镜头的中间方向向量;
根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量和中间方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵。
4.如权利要求1所述的方法,其特征在于,所述对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对,具体包括:
对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的原始匹配特征点对;
检测每对鱼眼图像的原始匹配特征点对数量是否大于预设数量;
若检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量,则从该对鱼眼图像中选取新增匹配特征点对,并将该对鱼眼图像的原始匹配特征点对加上新增匹配特征点对作为该对鱼眼图像的匹配特征点对,其中,该对鱼眼图像的原始匹配特征点对加上新增匹配特征点对的数量大于所述预设数量;
若检测到某对鱼眼图像的原始匹配特征点对数量大于所述预设数量,则将该对鱼眼图像的原始特征点对作为该对鱼眼图像的匹配特征点对。
5.如权利要求4所述的方法,其特征在于,在检测到某对鱼眼图像的原始匹配特征点对数量不大于所述预设数量之后,所述方法还包括:
获取该对鱼眼图像对应的预设匹配特征点对,并将该对鱼眼图像的原始匹配特征点对加上预设匹配特征点对作为该对鱼眼图像的匹配特征点对,其中,该对鱼眼图像的原始匹配特征点对加上预设匹配特征点对的数量大于所述预设数量。
6.如权利要求1所述的方法,其特征在于,所述根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态,具体包括:
将每对鱼眼图像的匹配特征点对的三维坐标集利用光束平差法进行姿态估计,估计出每个鱼眼镜头在世界坐标系中的姿态。
7.一种应用于全景相机中的全景图像拼接方法,所述全景相机具有N个鱼眼镜头,N为不小于2的整数,其特征在于,所述方法包括:采用如权利要求1-6任一项所述的方法计算出每个鱼眼镜头在世界坐标系中的姿态,并存储到存储器中;
在利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像之后,根据所述存储器中存储的每个鱼眼镜头在世界坐标系中的姿态、所述N个鱼眼图像、每个鱼眼镜头的内参数,将所述N个鱼眼图像拼接成全景图像。
8.一种全景相机,具有N个鱼眼镜头,N为不小于2的整数,其特征在于,所述全景相机还包括:鱼眼图像获取单元,用于利用所述N个鱼眼镜头在同一时刻获取到N个鱼眼图像;
图像对选取单元,用于从所述N个鱼眼图像中选取M对鱼眼图像,其中,每两个具有相交区域的鱼眼图像组成一对鱼眼图像,M为不小于1的整数;
图像转换单元,用于根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵;
图像校正单元,用于根据每对鱼眼镜头中每个鱼眼镜头转换到同一方向的矩阵和内部参数,对每个鱼眼图像进行校正,获得校正后的所述M对鱼眼图像;
匹配单元,用于对校正后的每对鱼眼图像进行特征点提取和特征点匹配,获取到每对鱼眼图像的匹配特征点对;
三维坐标获取单元,用于根据每对鱼眼图像的匹配特征点对在图像坐标系下的二维坐标和每对鱼眼镜头中两个鱼眼镜头转换到同一方向的矩阵,获取每对鱼眼图像的匹配特征点对的三维坐标集;
姿态获取单元,用于根据每对鱼眼图像的匹配特征点对的三维坐标集,获取每个鱼眼镜头在世界坐标系中的姿态。
9.如权利要求8所述的全景相机,其特征在于,所述图像转换单元具体包括:
向量获取子单元,根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量,获取每对鱼眼图像对应的两个鱼眼镜头的中间方向向量;
图像转换子单元,用于根据每对鱼眼图像对应的两个鱼眼镜头的三维方向向量和中间方向向量,获取每对鱼眼镜头中两个鱼眼镜头转换到同一方向的两个矩阵。
10.一种全景相机,具有N个鱼眼镜头,N为不小于2的整数,其特征在于,所述全景相机还包括:
初始化单元,用于采用如权利要求1-6任一项所述的方法计算出每个鱼眼镜头在世界坐标系中的姿态,并存储到存储器中;
拼接单元,用于在利用N个鱼眼镜头在同一时刻获取到N个鱼眼图像之后,根据所述存储器中存储的每个鱼眼镜头在世界坐标系中的姿态、所述N个鱼眼图像、每个鱼眼镜头的内参数,将所述N个鱼眼图像拼接成全景图像。
CN201611254532.3A 2016-12-30 2016-12-30 一种全景相机镜头姿态估计方法及全景相机 Active CN108269234B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611254532.3A CN108269234B (zh) 2016-12-30 2016-12-30 一种全景相机镜头姿态估计方法及全景相机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611254532.3A CN108269234B (zh) 2016-12-30 2016-12-30 一种全景相机镜头姿态估计方法及全景相机

Publications (2)

Publication Number Publication Date
CN108269234A true CN108269234A (zh) 2018-07-10
CN108269234B CN108269234B (zh) 2021-11-19

Family

ID=62754425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611254532.3A Active CN108269234B (zh) 2016-12-30 2016-12-30 一种全景相机镜头姿态估计方法及全景相机

Country Status (1)

Country Link
CN (1) CN108269234B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109540173A (zh) * 2018-09-17 2019-03-29 江西洪都航空工业集团有限责任公司 一种视觉辅助的传递对准方法
WO2021025780A1 (en) * 2019-08-07 2021-02-11 Microsoft Technology Licensing, Llc Camera-specific distortion correction
CN112837207A (zh) * 2019-11-25 2021-05-25 影石创新科技股份有限公司 全景深度测量方法、四目鱼眼相机及双目鱼眼相机
CN113610927A (zh) * 2021-08-06 2021-11-05 镁佳(北京)科技有限公司 一种avm摄像头参数标定方法、装置及电子设备
US11663704B2 (en) 2021-04-28 2023-05-30 Microsoft Technology Licensing, Llc Distortion correction via modified analytical projection

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425181A (zh) * 2008-12-15 2009-05-06 浙江大学 一种全景视觉辅助泊车系统的标定方法
JP2014066683A (ja) * 2012-09-27 2014-04-17 Osaka Gas Co Ltd 日照評価システム及び日照評価用コンピュータプログラム
CN104680505A (zh) * 2013-11-29 2015-06-03 陆婷 一种鱼眼镜头校正的全景视图算法
US20160086463A1 (en) * 2014-09-16 2016-03-24 Geovision Inc. Camera system with a full view monitoring function
CN105654502A (zh) * 2016-03-30 2016-06-08 广州市盛光微电子有限公司 一种基于多镜头多传感器的全景相机标定装置和方法
CN105678729A (zh) * 2016-02-24 2016-06-15 段梦凡 鱼眼镜头全景图像拼接方法
CN105898139A (zh) * 2015-12-23 2016-08-24 乐视致新电子科技(天津)有限公司 全景视频制作方法及装置、全景视频播放方法及装置
CN105959529A (zh) * 2016-04-22 2016-09-21 首都师范大学 一种基于全景相机的单像自定位方法及系统
CN105957048A (zh) * 2016-01-26 2016-09-21 优势拓展(北京)科技有限公司 鱼眼镜头拍摄图像的3d全景显示方法和系统
CN106125262A (zh) * 2016-08-31 2016-11-16 上海杰图软件技术有限公司 一种用于全景摄影的鱼眼镜头组合装置
CN106127680A (zh) * 2016-06-29 2016-11-16 深圳市优象计算技术有限公司 一种720度全景视频快速浏览方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101425181A (zh) * 2008-12-15 2009-05-06 浙江大学 一种全景视觉辅助泊车系统的标定方法
JP2014066683A (ja) * 2012-09-27 2014-04-17 Osaka Gas Co Ltd 日照評価システム及び日照評価用コンピュータプログラム
CN104680505A (zh) * 2013-11-29 2015-06-03 陆婷 一种鱼眼镜头校正的全景视图算法
US20160086463A1 (en) * 2014-09-16 2016-03-24 Geovision Inc. Camera system with a full view monitoring function
CN105898139A (zh) * 2015-12-23 2016-08-24 乐视致新电子科技(天津)有限公司 全景视频制作方法及装置、全景视频播放方法及装置
CN105957048A (zh) * 2016-01-26 2016-09-21 优势拓展(北京)科技有限公司 鱼眼镜头拍摄图像的3d全景显示方法和系统
CN105678729A (zh) * 2016-02-24 2016-06-15 段梦凡 鱼眼镜头全景图像拼接方法
CN105654502A (zh) * 2016-03-30 2016-06-08 广州市盛光微电子有限公司 一种基于多镜头多传感器的全景相机标定装置和方法
CN105959529A (zh) * 2016-04-22 2016-09-21 首都师范大学 一种基于全景相机的单像自定位方法及系统
CN106127680A (zh) * 2016-06-29 2016-11-16 深圳市优象计算技术有限公司 一种720度全景视频快速浏览方法
CN106125262A (zh) * 2016-08-31 2016-11-16 上海杰图软件技术有限公司 一种用于全景摄影的鱼眼镜头组合装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
季顺平 等: "多镜头组合型全景相机两种成像模型的定位精度比较", 《测绘学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109540173A (zh) * 2018-09-17 2019-03-29 江西洪都航空工业集团有限责任公司 一种视觉辅助的传递对准方法
WO2021025780A1 (en) * 2019-08-07 2021-02-11 Microsoft Technology Licensing, Llc Camera-specific distortion correction
US11277544B2 (en) 2019-08-07 2022-03-15 Microsoft Technology Licensing, Llc Camera-specific distortion correction
CN112837207A (zh) * 2019-11-25 2021-05-25 影石创新科技股份有限公司 全景深度测量方法、四目鱼眼相机及双目鱼眼相机
US11663704B2 (en) 2021-04-28 2023-05-30 Microsoft Technology Licensing, Llc Distortion correction via modified analytical projection
CN113610927A (zh) * 2021-08-06 2021-11-05 镁佳(北京)科技有限公司 一种avm摄像头参数标定方法、装置及电子设备
CN113610927B (zh) * 2021-08-06 2022-04-15 镁佳(北京)科技有限公司 一种avm摄像头参数标定方法、装置及电子设备

Also Published As

Publication number Publication date
CN108269234B (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
CN110211043B (zh) 一种用于全景图像拼接的基于网格优化的配准方法
CN105678742B (zh) 一种水下相机标定方法
CN109272570B (zh) 一种基于立体视觉数学模型的空间点三维坐标求解方法
CN109903227B (zh) 基于相机几何位置关系的全景影像拼接方法
TWI555378B (zh) 一種全景魚眼相機影像校正、合成與景深重建方法與其系統
CN103150715B (zh) 图像拼接处理方法及装置
TWI555379B (zh) 一種全景魚眼相機影像校正、合成與景深重建方法與其系統
Furukawa et al. Accurate camera calibration from multi-view stereo and bundle adjustment
CN105243637B (zh) 一种基于三维激光点云进行全景影像拼接方法
CN108269234A (zh) 一种全景相机镜头姿态估计方法及全景相机
CN107492069B (zh) 基于多镜头传感器的图像融合方法
CN110782394A (zh) 全景视频快速拼接方法及系统
CN108765498A (zh) 单目视觉跟踪方法、装置及存储介质
CN105488766B (zh) 鱼眼镜头图像校正方法及装置
CN108564617A (zh) 多目相机的三维重建方法、装置、vr相机和全景相机
CN104778656B (zh) 基于球面透视投影的鱼眼图像校正方法
CN109325981B (zh) 基于聚焦像点的微透镜阵列型光场相机几何参数标定方法
CN107424118A (zh) 基于改进径向畸变校正的球状全景拼接方法
CN110874854B (zh) 一种基于小基线条件下的相机双目摄影测量方法
CN108629829B (zh) 一种球幕相机与深度相机结合的三维建模方法和系统
CN107358633A (zh) 一种基于三点标定物的多相机内外参标定方法
CN108122191A (zh) 鱼眼图像拼接成全景图像和全景视频的方法及装置
CN109118544B (zh) 基于透视变换的合成孔径成像方法
CN111009030A (zh) 一种多视高分辨率纹理图像与双目三维点云映射方法
CN112734863A (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
TA01 Transfer of patent application right

Effective date of registration: 20210118

Address after: No. 102, 1st floor, building 1, No. 1129, shijicheng Road, high tech Zone, Chengdu, Sichuan 610000

Applicant after: Chengdu meiruo Mengjing Technology Co.,Ltd.

Address before: No.3, 1st floor, unit 1, building 2, 219 Tianhua 2nd Road, high tech Zone, Chengdu, Sichuan 610041

Applicant before: CHENGDU GUANJIE CHUANGYU TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant