CN107680035B - 一种参数标定方法和装置、服务器及可读存储介质 - Google Patents
一种参数标定方法和装置、服务器及可读存储介质 Download PDFInfo
- Publication number
- CN107680035B CN107680035B CN201710906740.5A CN201710906740A CN107680035B CN 107680035 B CN107680035 B CN 107680035B CN 201710906740 A CN201710906740 A CN 201710906740A CN 107680035 B CN107680035 B CN 107680035B
- Authority
- CN
- China
- Prior art keywords
- checkerboard
- corner points
- corner
- points
- matching
- 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 45
- 238000003860 storage Methods 0.000 title claims abstract description 8
- 238000009826 distribution Methods 0.000 claims abstract description 55
- 238000001514 detection method Methods 0.000 claims abstract description 33
- 238000005457 optimization Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 235000005121 Sorbus torminalis Nutrition 0.000 description 2
- 244000152100 Sorbus torminalis Species 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种参数标定方法和装置、服务器及可读存储介质。该参数标定方法包括:利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布;基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格;对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,得到第一角点和第二角点之间的匹配关系;以及基于匹配关系进行参数标定。本发明能够提高鱼眼图像的匹配正确率,从而实现全景相机的参数优化。
Description
技术领域
本发明涉及机器视觉及图像处理技术领域,尤其涉及一种参数标定方法和装置、服务器及可读存储介质。
背景技术
在全景视频的拼接过程中,全景图通常是对两个或多个鱼眼图像进行匹配和拼接得到的。为了得到两个或多个待拼接相机的参数,需要获取大量待拼接相机的客观图像的特征匹配点,进而通过算法优化得到好的镜头参数。然而,由于鱼眼图像的非线性变形,特别是在鱼眼图像的边缘处存在大量畸变,因此,确定鱼眼图像间的特征匹配点是非常困难的。
现有技术中,寻找鱼眼图像间的特征匹配点的方法通常包括以下两种:一是利用诸如SIFT算法、SURF算法、ORB算法等寻找两张畸变的鱼眼图像中的特征匹配点;二是通过人工肉眼寻找特征匹配点。
第一种方法的错误率高且运算量大,因为这些算法是针对通用图像设计的,所以会出现很多错误的特征匹配点,需要后期利用剔除算法减少一些错误的特征匹配点,因此,对后期的参数优化算法要求较高,进一步地,由于这些错误的特征匹配点不可能完全剔除,因此,无法优化得到镜头参数;另外,这些算法对环境的依赖性非常大,易受光照、场景和物体大小等的影响,因此,无法检测到鱼眼图像间的特征匹配点。
第二种方法相对于第一种方法而言较为准确,但肉眼精度较低且操作人员的工作量大,因此,无法实现工业化生产。
发明内容
有鉴于此,本发明实施例提供一种参数标定方法和装置、服务器及可读存储介质,能够提高鱼眼图像的匹配正确率,从而实现全景相机的参数优化。
本发明的一个方面提供一种参数标定方法,该参数标定方法包括:利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布;基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格,其中至少一个第一棋盘格的位置和至少一个第二棋盘格的位置对称,并且位置对称的第一棋盘格和第二棋盘格对应同一棋盘格;对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,得到第一角点和第二角点之间的匹配关系;以及基于匹配关系进行参数标定。
在本发明的一个实施例中,在利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点之前,该参数标定方法还包括:利用背靠背放置的两个全景相机的鱼眼镜头拍摄至少一个棋盘格,得到第一鱼眼图像和第二鱼眼图像。
在本发明的一个实施例中,对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,包括:在至少一个第一棋盘格内的所有第一角点均位于第一鱼眼图像中且至少一个第二棋盘格内的所有第二角点均位于第二鱼眼图像中时,对至少一个第一棋盘格内的所有第一角点和至少一个第二棋盘格内的所有第二角点进行一对一匹配。
在本发明的一个实施例中,对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,包括:在至少一个第一棋盘格内的部分第一角点位于第一鱼眼图像中且至少一个第二棋盘格内的部分第二角点位于第二鱼眼图像中时,确定至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量;基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点和至少一个第二棋盘格内的不匹配第二角点;以及对至少一个第一棋盘格内的匹配第一角点和至少一个第二棋盘格内的匹配第二角点进行匹配。
在本发明的一个实施例中,基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点和至少一个第二棋盘格内的不匹配第二角点,包括:基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量;基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,并基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量;以及基于至少一个第一棋盘格内的不匹配第一角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点,并基于至少一个第二棋盘格内的不匹配第二角点的数量,剔除至少一个第二棋盘格内的不匹配第二角点。
在本发明的一个实施例中,基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,采用的公式如下:M×(N1+N2-N);基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,采用的公式如下:M×(N-N2);以及基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量,采用的公式如下:M×(N-N1),其中,M表示至少一个棋盘格的行数,N表示至少一个棋盘格的列数,N1表示至少一个第一棋盘格的列数,N2表示至少一个第二棋盘格的列数,M、N、N1和N2均为正整数。
本发明的另一个方面提供一种参数标定装置,该参数标定装置包括:检测模块,用于利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布;确定模块,用于基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格,其中至少一个第一棋盘格的位置和至少一个第二棋盘格的位置对称,并且位置对称的第一棋盘格和第二棋盘格对应同一棋盘格;匹配模块,用于对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,得到第一角点和第二角点之间的匹配关系;以及标定模块,用于基于匹配关系进行参数标定。
在本发明的一个实施例中,匹配模块用于在至少一个第一棋盘格内的所有第一角点均位于第一鱼眼图像中且至少一个第二棋盘格内的所有第二角点均位于第二鱼眼图像中时,对至少一个第一棋盘格内的所有第一角点和至少一个第二棋盘格内的所有第二角点进行一对一匹配。
在本发明的一个实施例中,匹配模块用于在至少一个第一棋盘格内的部分第一角点位于第一鱼眼图像中且至少一个第二棋盘格内的部分第二角点位于第二鱼眼图像中时,确定至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点和至少一个第二棋盘格内的不匹配第二角点,并对至少一个第一棋盘格内的匹配第一角点和至少一个第二棋盘格内的匹配第二角点进行匹配。
在本发明的一个实施例中,匹配模块还基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,并基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量,并基于至少一个第一棋盘格内的不匹配第一角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点,并基于至少一个第二棋盘格内的不匹配第二角点的数量,剔除至少一个第二棋盘格内的不匹配第二角点。
在本发明的一个实施例中,基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,采用的公式如下:M×(N1+N2-N);基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,采用的公式如下:M×(N-N2);以及基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量,采用的公式如下:M×(N-N1),其中,M表示至少一个棋盘格的行数,N表示至少一个棋盘格的列数,N1表示至少一个第一棋盘格的列数,N2表示至少一个第二棋盘格的列数,M、N、N1和N2均为正整数。
本发明的再一个方面提供一种服务器,包括:存储器、处理器及存储在存储器中并可在处理器中运行的可执行指令,其中,处理器执行可执行指令时实现如上所述的参数标定方法。
本发明的又一个方面提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,可执行指令被处理器执行时实现如上所述的参数标定方法。
根据本发明实施例提供的技术方案,通过利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布;基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格,对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,得到第一角点和第二角点之间的匹配关系;以及基于匹配关系进行参数标定,提高了鱼眼图像的匹配正确率,从而实现了全景相机的参数优化。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据本发明一示例性实施例示出的一种参数标定方法的流程图。
图2是根据本发明一示例性实施例示出的一种棋盘格的示意图。
图3是根据本发明另一示例性实施例示出的一种参数标定方法的流程图。
图4是根据本发明另一示例性实施例示出的棋盘格在鱼眼镜头中的位置的示意图。
图5是根据本发明另一示例性实施例示出的棋盘格内的所有角点都在鱼眼镜头中的匹配关系的示意图。
图6是根据本发明另一示例性实施例示出的棋盘格内的部分角点在鱼眼镜头中的匹配关系的示意图。
图7是根据本发明一示例性实施例示出的一种参数标定装置的框图。
图8是根据本发明另一示例性实施例示出的一种参数标定装置的框图。
图9是根据本发明一示例性实施例示出的用于实现参数标定的装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。根据本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机(或摄像机)标定。
相机标定的目的是确定相机的一些参数的值。通常,这些参数可以建立标定板(Calibration Target)确定的三维坐标系和相机图像坐标系的映射关系,换言之,可以用这些参数把一个三维空间中的点映射到图像空间,或者反过来。
相机需要标定的参数通常分为内参和外参两部分。内参是指相机的内部参数,即与相机自身特性相关的参数,比如相机的焦距、像素大小等;外参是指相机在世界坐标系中的参数,比如相机的位置、旋转方向等,外参确定了相机在某个三维空间中的位置和朝向。
图1是根据本发明一示例性实施例示出的一种参数标定方法的流程图。图1的方法可以由参数标定装置来执行。如图1所示,该参数标定方法包括:
110:利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布。
在本发明实施例中,在利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点之前,首先要对第一鱼眼图像和第二鱼眼图像进行灰度化、高斯滤波以及直方图均衡化处理,以降低图像的噪声,并增强棋盘格黑白两色的对比度。
接续,利用基于生长的角点检测算法对位于第一鱼眼图像的边缘处的多个第一角点和位于第二鱼眼图像的边缘处的多个第二角点进行检测,得到多个第一角点的分布和多个第二角点的分布。
这里,角点检测(Corner Detection),也称特征点检测,是计算机视觉系统中用来获得图像特征的一种方法,且广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域。角点检测算法可以包括基于灰度图像的角点检测(例如,Harris角点检测算法、Kitchen-Rosenfeld角点检测算法、KLT角点检测算法、SUSAN角点检测算法等)、基于二值图像的角点检测、以及基于轮廓曲线的角点检测(例如,基于边缘链码的角点检测、基于小波变换的角点检测、基于曲率尺度空间的角点检测等),本发明对此不作限制。
需要说明的是,角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,使其信息的含量很高,有效地提高了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。角点通常并没有明确的定义,一般将图像中亮度变化剧烈的点或图像边缘上的曲率取极大值的点认为是角点。
120:基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格,其中至少一个第一棋盘格的位置和至少一个第二棋盘格的位置对称,并且位置对称的第一棋盘格和第二棋盘格对应同一棋盘格。
在本发明实施例中,第一鱼眼图像中的至少一个第一棋盘格的位置和第二鱼眼图像中的至少一个第二棋盘格的位置可以基于多个第一角点和多个第二角点的分布情况(例如,聚集或密集程度)并利用聚类算法来确定。
这里,聚类(Cluster)是指按照某个特定标准(例如,距离准则)把一个数据集分割成不同的类或簇,使同一簇内的数据对象的相似性尽可能大,同时不在同一簇中的数据对象的差异性也尽可能地大,也就是说,聚类后同一类的数据尽可能聚集到一起,不同数据尽量分离。常用的聚类算法可以包括但不限于k-means聚类算法、层次聚类算法、SOM聚类算法、FCM聚类算法等。
需要说明的是,第一鱼眼图像中的至少一个第一棋盘格的位置和第二鱼眼图像中的至少一个第二棋盘格的位置是彼此对称的,并且位置对称的第一棋盘格和第二棋盘格实际上对应的实物为同一棋盘格。
130:对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,得到第一角点和第二角点之间的匹配关系。
在本发明实施例中,从位于至少一个第一棋盘格的左上角处的第一角点开始对至少一个第一棋盘格内的所有第一角点进行扫描,并读出所有第一角点的位置坐标。具体地,以待匹配的第一鱼眼图像作为参考,对匹配的第二鱼眼图像中的至少一个第二棋盘格内的第二角点的位置坐标的扫描顺序进行旋转或翻转,得到与待匹配的第一鱼眼图像中的至少一个第一棋盘格内的第一角点的位置坐标一致的扫描顺序。举例而言,如图5所示,第一鱼眼图像51中位于9点钟位置上的第一棋盘格511与第二鱼眼图像52中位于3点钟位置上的第二棋盘格521是同一棋盘格。
这里,扫描的方式可以包括但不限于光栅扫描(Raster Scan)和Z字形扫描(Zigzag Scan)。在本实施例中,采用光栅扫描的方式。具体地,光栅扫描是指依照固定的扫描线和规定的扫描顺序进行扫描,即从至少一个第一棋盘格的左上角开始向右扫描一条水平线,然后迅速地回扫到左边偏下一点的位置再扫描第二条水平线,按照这种固定的路径和顺序(例如,先行后列)扫描下去,直到扫描完最后一条水平线为止,即完成了整个棋盘格的扫描。需要说明的是,光栅扫描也可以按照先列后行的顺序进行,本发明对此不作限制。
接续,将至少一个第一棋盘格内的第一角点的位置坐标与至少一个第二棋盘格内的第二角点的位置坐标进行匹配,得到第一角点和第二角点之间的匹配关系。
在本发明实施例中,对于两张鱼眼图像中匹配的两个棋盘格而言,如果两个棋盘格的角点均完整地落入鱼眼图像的边缘,那么两张鱼眼图像经过翻转或旋转调整后,按照光栅扫描顺序导出的角点坐标可以进行一对一的匹配,从而完成角点(即特征点)的匹配。
如果两个棋盘格中的一个棋盘格的部分角点或者两个棋盘格的部分角点落入鱼眼图像的边缘,那么需要剔除两个棋盘格中不匹配的角点,然后按照光栅扫描顺序对剩余的角点进行一对一的匹配。需要说明的是,剔除的是没有被遮挡一侧的不匹配的棋盘格角点。
140:基于匹配关系进行参数标定。
在本发明实施例中,在得到所有角点的匹配关系之后,将第一鱼眼图像和第二鱼眼图像中的匹配角点反映射到全景图中,通过列文伯格-马夸尔特(Levenberg-Marquardt,LM)算法优化出最好的全景相机的内参与外参,使之所有匹配角点反映射到全景图上的平均距离最小。
根据本发明实施例提供的技术方案,通过利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布;基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格,对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,得到第一角点和第二角点之间的匹配关系;以及基于匹配关系进行参数标定,提高了鱼眼图像的匹配正确率,从而实现了全景相机的参数优化。
在本发明的另一个实施例中,在利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点之前,该参数标定方法还包括:利用背靠背放置的两个全景相机的鱼眼镜头拍摄至少一个棋盘格,得到第一鱼眼图像和第二鱼眼图像。
具体地,利用一前一后水平放置的两个全景相机各自的鱼眼镜头分别对同一棋盘格进行拍摄,得到两张鱼眼图像,即第一鱼眼图像和第二鱼眼图像,该第一鱼眼图像和第二鱼眼图像的分辨率均为1920×1920。需要说明的是,第一鱼眼图像和第二鱼眼图像的分辨率可以为相同值(例如,1280×1024、1680×1050等),也可以为不同值(例如,第一鱼眼图像的分辨率可以为1920×1920,第二鱼眼图像的分辨率可以为1280×1024等),本发明对此不作限制。此外,还需要说明的是,两个全景相机的放置方式不限于如上所述的水平放置,而是可以为其它放置方式,例如,背靠背成一定角度放置等。
进一步地,两个全景相机中的每一个的鱼眼镜头的视场角约为190度,因此,两个全景相机拍摄得到的鱼眼图像中包含了水平和垂直方向的360度全景图信息。需要说明的是,在鱼眼图像的边缘处,有一些图像信息是重叠的。
此外,标定板是带有固定间距图案阵列的平板。常见的标定板可以包括但不限于棋盘格标定板、实心圆阵列标定板、网格标定板、陶瓷标定板等。在本实施例中,采用广泛应用于相机标定方法中的棋盘格,具体地,该棋盘格为一张4行8列且大小固定的黑白格平板,如图2所示。需要说明的是,棋盘格的数量可以根据实际需要设置,例如,可以仅设置一个棋盘格、也可以设置两个或多个棋盘格,本发明对此不作限制。
在本发明的另一个实施例中,对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,包括:在至少一个第一棋盘格内的所有第一角点均位于第一鱼眼图像中且至少一个第二棋盘格内的所有第二角点均位于第二鱼眼图像中时,对至少一个第一棋盘格内的所有第一角点和至少一个第二棋盘格内的所有第二角点进行一对一匹配。
具体地,按照从左到右、从上到下的光栅扫描顺序分别对第一鱼眼图像中的至少一个第一棋盘格内的第一角点和第二鱼眼图像中的至少一个第二棋盘格内的第二角点进行扫描,得到至少一个第一棋盘格内的第一角点的数量和至少一个第二棋盘格内的第二角点的数量。
接续,将至少一个第一棋盘格内的第一角点的数量和至少一个第二棋盘格内的第二角点的数量分别与棋盘格实物内的角点的数量进行比较,确定至少一个第一棋盘格内的第一角点是否全部位于第一鱼眼图像中以及至少一个第二棋盘格内的第二角点是否全部位于第二鱼眼图像中。
再续,在至少一个第一棋盘格内的第一角点的数量等于棋盘格实物的角点的数量且至少一个第二棋盘格内的第二角点的数量等于棋盘格实物的角点的数量时,确定至少一个第一棋盘格内的所有第一角点均位于第一鱼眼图像中且至少一个第二棋盘格内的所有第二角点均位于第二鱼眼图像中。
进一步地,对至少一个第一棋盘格内的所有第一角点和至少一个第二棋盘格内的所有第二角点进行一对一匹配。具体地,将至少一个第一棋盘格内的第一行的第一个第一角点与至少一个第二棋盘格内的第一行的第一个第二角点进行匹配,将至少一个第一棋盘格内的第一行的第二个第一角点与至少一个第二棋盘格内的第一行的第二个第二角点进行匹配,以此类推,直到至少一个第一棋盘格内的所有第一角点都与至少一个第二棋盘格内的所有第二角点完成匹配。
在本发明的另一个实施例中,对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,包括:在至少一个第一棋盘格内的部分第一角点位于第一鱼眼图像中且至少一个第二棋盘格内的部分第二角点位于第二鱼眼图像中时,确定至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量;基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点和至少一个第二棋盘格内的不匹配第二角点;以及对至少一个第一棋盘格内的匹配第一角点和至少一个第二棋盘格内的匹配第二角点进行匹配。
具体地,按照从左到右、从上到下的光栅扫描顺序分别对第一鱼眼图像中的至少一个第一棋盘格内的第一角点和第二鱼眼图像中的至少一个第二棋盘格内的第二角点进行扫描,得到至少一个第一棋盘格内的第一角点的数量和至少一个第二棋盘格内的第二角点的数量。
接续,将至少一个第一棋盘格内的第一角点的数量和至少一个第二棋盘格内的第二角点的数量分别与棋盘格实物的角点的数量进行比较,确定至少一个第一棋盘格内的第一角点是否全部位于第一鱼眼图像中以及至少一个第二棋盘格内的第二角点是否全部位于第二鱼眼图像中。
再续,在至少一个第一棋盘格内的第一角点的数量和至少一个第二棋盘格内的第二角点的数量均不等于棋盘格实物的角点的数量时,确定至少一个第一棋盘格内只有部分第一角点位于第一鱼眼图像中且至少一个第二棋盘格内只有部分第二角点位于第二鱼眼图像中,并基于此确定至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量。
进一步地,基于棋盘格实物的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,将至少一个第一棋盘格内的不匹配第一角点和至少一个第二棋盘格内的不匹配第二角点剔除。
最后,对至少一个第一棋盘格内的匹配第一角点和至少一个第二棋盘格内的匹配第二角点进行匹配。
可选地,作为另一个实施例,在至少一个第一棋盘格内的第一角点的数量等于棋盘格实物的角点的数量且至少一个第二棋盘格内的第二角点的数量不等于棋盘格实物的角点的数量,或者至少一个第一棋盘格内的第一角点的数量不等于棋盘格实物的角点的数量且至少一个第二棋盘格内的第二角点的数量等于棋盘格实物的角点的数量时,对至少一个第一棋盘格内的匹配第一角点和至少一个第二棋盘格内的匹配第二角点进行匹配的方法与至少一个第一棋盘格内的第一角点的数量和至少一个第二棋盘格内的第二角点的数量均不等于棋盘格实物的角点的数量时的匹配方法相同,故在此将不再进行赘述。
在本发明的另一个实施例中,基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点和至少一个第二棋盘格内的不匹配第二角点,包括:基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量;基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,并基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量;以及基于至少一个第一棋盘格内的不匹配第一角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点,并基于至少一个第二棋盘格内的不匹配第二角点的数量,剔除至少一个第二棋盘格内的不匹配第二角点。
具体地,基于棋盘格实物的角点的数量、位于第一鱼眼图像中的部分第一角点的数量和位于第二鱼眼图像中的部分第二角点的数量,分别计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量。
接续,基于至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,分别计算至少一个第一棋盘格内的不匹配第一角点的数量和至少一个第二棋盘格内的不匹配第二角点的数量。
再续,基于至少一个第一棋盘格内的不匹配第一角点的数量和至少一个第二棋盘格内的不匹配第二角点的数量,分别将至少一个第一棋盘格内的不匹配第一角点和至少一个第二棋盘格内的不匹配第二角点剔除。
根据本发明实施例提供的技术方案,通过剔除第一棋盘格和第二棋盘格中的不匹配角点,能够得到亚像素精度的角点匹配,因此,提高了鱼眼图像的匹配正确率。
在本发明的另一个实施例中,基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,采用的公式如下:M×(N1+N2-N);基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,采用的公式如下:M×(N-N2);以及基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量,采用的公式如下:M×(N-N1),其中,M表示至少一个棋盘格的行数,N表示至少一个棋盘格的列数,N1表示至少一个第一棋盘格的列数,N2表示至少一个第二棋盘格的列数,M、N、N1和N2均为正整数。
具体地,基于棋盘格实物的角点数量、位于第一鱼眼图像中的部分第一角点的数量和位于第二鱼眼图像中的部分第二角点的数量并利用公式M×(N1+N2-N),分别计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,其中M表示至少一个棋盘格的行数,N表示至少一个棋盘格(即实际棋盘格)的列数,N1表示至少一个第一棋盘格(即第一拍摄棋盘格)的列数,N2表示至少一个第二棋盘格(即第二拍摄棋盘格)的列数,M、N、N1和N2均为正整数。需要说明的是,在图像拍摄时,只存在拍不到列位置的情况,因此,行数是不变的,也就是说,只需计算待剔除的列数即可。
进一步地,基于位于第一鱼眼图像中的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量并利用公式M×(N-N2),计算至少一个第一棋盘格内的不匹配第一角点的数量;以及基于位于第二鱼眼图像中的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量并利用公式M×(N-N1),计算至少一个第二棋盘格内的不匹配第二角点的数量。
图3是根据本发明另一示例性实施例示出的一种参数标定方法的流程图。如图3所示,该参数标定方法包括:
300:利用背靠背放置的两个全景相机的鱼眼镜头拍摄至少一个棋盘格,得到第一鱼眼图像和第二鱼眼图像。
在本发明实施例中,一前一后水平放置分别具有第一鱼眼镜头和第二鱼眼镜头的两个全景相机,将一个或多个棋盘格水平且垂直于第一鱼眼镜头和第二鱼眼镜头的边缘放置并与第一鱼眼镜头和第二鱼眼镜头保持一定的距离。具体地,一个或多个棋盘格可以放置在第一鱼眼镜头和第二鱼眼镜头的视场角的边缘处,如图4所示的1点钟、3点钟、5点钟、7点钟、9点钟和11点钟方向中的任一位置处。
需要说明的是,如果两个全景相机的位置固定,则两个全景相机的边的匹配也是确定的。参见图4,全景相机的第一鱼眼镜头的7点钟、9点钟和11点钟方向所对应的边分别与全景相机的第二鱼眼镜头的5点钟、3点钟和1点钟方向所对应的边对应。还需要说明的是,图4中箭头的方向代表光栅扫描的顺序,例如,该顺序可以是先行后列,也可以是先列后行,本发明对此不作限制。
302:利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布。
304:基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格。
在本发明实施例中,至少一个第一棋盘格的位置和至少一个第二棋盘格的位置对称,并且位置对称的第一棋盘格和第二棋盘格对应的实物为同一棋盘格。
306:判断至少一个第一棋盘格内的所有第一角点是否均位于第一鱼眼图像中且至少一个第二棋盘格内的所有第二角点是否均位于第二鱼眼图像中。
308:如果是,则对至少一个第一棋盘格内的所有第一角点和至少一个第二棋盘格内的所有第二角点进行一对一匹配。
在本发明实施例中,在至少一个第一棋盘格内的所有第一角点均位于第一鱼眼图像中且至少一个第二棋盘格内的所有第二角点均位于第二鱼眼图像中时,对至少一个第一棋盘格内的所有第一角点和至少一个第二棋盘格内的所有第二角点进行一对一匹配,并进一步执行320。
具体地,如图5所示,以一个4行8列的棋盘格(即被拍摄的棋盘格实物)为例,该棋盘格内共有3×7个角点。在利用全景相机的第一鱼眼镜头拍摄得到的第一鱼眼图像51中,第一棋盘格511位于第一鱼眼图像51的9点钟方向处,并且该第一棋盘格511内共有3×7个第一角点512。在利用全景相机的第二鱼眼镜头拍摄得到的第二鱼眼图像52中,第二棋盘格521位于第二鱼眼图像52的3点钟方向处,并且该第二棋盘格521内共有3×7个第二角点522。由此可见,第一角点512的数量和第二角点522的数量均与棋盘格实物内的角点的数量相同,这表明第一棋盘格511内的所有第一角点512均位于第一鱼眼图像51中且第二棋盘格521内的所有第二角点522均位于第二鱼眼图像52中,因此,可以对第一棋盘格511内的所有第一角点512和第二棋盘格521内的所有第二角点522进行一对一匹配。
310:如果否,则确定至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量。
在本发明实施例中,在至少一个第一棋盘格内的部分第一角点位于第一鱼眼图像中且至少一个第二棋盘格内的部分第二角点位于第二鱼眼图像中时,确定至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量。
具体地,如图6所示,仍以一个4行8列的棋盘格(即被拍摄的棋盘格实物)为例,该棋盘格内共有3×7个角点。在利用全景相机的第一鱼眼镜头拍摄得到的第一鱼眼图像61中,第一棋盘格611位于第一鱼眼图像61的9点钟方向处,并且该第一棋盘格611内共有3×6个第一角点612。在利用全景相机的第二鱼眼镜头拍摄得到的第二鱼眼图像62中,第二棋盘格621位于第二鱼眼图像62的3点钟方向处,并且该第二棋盘格621内共有3×5个第二角点622。由此可见,第一角点612的数量和第二角点622的数量均不同于棋盘格实物内的角点的数量,这表明第一棋盘格611内只有一部分第一角点612位于第一鱼眼图像61中且第二棋盘格621内只有一部分第二角点622位于第二鱼眼图像62中,继续执行312。
312:基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量。
具体地,基于棋盘格内的角点的数量3×7个、第一棋盘格611内的第一角点612的数量3×6个和第二棋盘格621内的第二角点622的数量3×5个,计算第一角点612和第二角点622之间的匹配角点的数量,得到匹配角点的数量为:3×(6+5-7)=3×4个,继续执行314。
314:基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,并基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量。
具体地,基于匹配角点的数量3×4个和第一棋盘格611内的第一角点612的数量3×6个,计算第一棋盘格611内的不匹配第一角点612的数量,得到不匹配第一角点612的数量为:3×(6-4)=3×2个。同样地,基于匹配角点的数量3×4个和第二棋盘格621内的第二角点622的数量3×5个,计算第二棋盘格621内的不匹配第二角点622的数量,得到不匹配第二角点622的数量为:3×(5-4)=3×1个。由此可见,第一棋盘格611中最右侧的两列第一角点612为不匹配第一角点612,第二棋盘格621中最左侧的一列第二角点622为不匹配第二角点622,如图6所示。
316:基于至少一个第一棋盘格内的不匹配第一角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点,并基于至少一个第二棋盘格内的不匹配第二角点的数量,剔除至少一个第二棋盘格内的不匹配第二角点。
具体地,基于不匹配第一角点612的数量3×2个和不匹配第二角点622的数量3×1个,将第一棋盘格611中最右侧的两列不匹配第一角点612和第二棋盘格621中最左侧的一列不匹配第二角点622剔除。
318:对至少一个第一棋盘格内的匹配第一角点和至少一个第二棋盘格内的匹配第二角点进行匹配。
320:基于匹配关系进行参数标定。
根据本发明实施例提供的技术方案,通过剔除第一棋盘格和第二棋盘格中的不匹配角点,能够得到亚像素精度的角点匹配,因此,提高了鱼眼图像的匹配正确率。
另外,由于鱼眼图像的匹配正确率的提高,因此,实现了全景相机的参数优化。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图7是根据本发明一示例性实施例示出的一种参数标定装置700的框图。如图7所示,该参数标定装置700包括:
检测模块710,用于利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布;
确定模块720,用于基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格,其中至少一个第一棋盘格的位置和至少一个第二棋盘格的位置对称,并且位置对称的第一棋盘格和第二棋盘格对应同一棋盘格;
匹配模块730,用于对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,得到第一角点和第二角点之间的匹配关系;以及
标定模块740,用于基于匹配关系进行参数标定。
根据本发明实施例提供的技术方案,通过利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布;基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格,对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,得到第一角点和第二角点之间的匹配关系;以及基于匹配关系进行参数标定,提高了鱼眼图像的匹配正确率,从而实现了全景相机的参数优化。
在本发明的另一个实施例中,图7的参数标定装置700还包括:获取模块750,用于利用背靠背放置的两个全景相机的鱼眼镜头拍摄至少一个棋盘格,得到第一鱼眼图像和第二鱼眼图像。
在本发明的另一个实施例中,图7的匹配模块730用于在至少一个第一棋盘格内的所有第一角点均位于第一鱼眼图像中且至少一个第二棋盘格内的所有第二角点均位于第二鱼眼图像中时,对至少一个第一棋盘格内的所有第一角点和至少一个第二棋盘格内的所有第二角点进行一对一匹配。
在本发明的另一个实施例中,图7的匹配模块730用于在至少一个第一棋盘格内的部分第一角点位于第一鱼眼图像中且至少一个第二棋盘格内的部分第二角点位于第二鱼眼图像中时,确定至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点和至少一个第二棋盘格内的不匹配第二角点,并对至少一个第一棋盘格内的匹配第一角点和至少一个第二棋盘格内的匹配第二角点进行匹配。
在本发明的另一个实施例中,图7的匹配模块730还基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,并基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量,并基于至少一个第一棋盘格内的不匹配第一角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点,并基于至少一个第二棋盘格内的不匹配第二角点的数量,剔除至少一个第二棋盘格内的不匹配第二角点。
在本发明的另一个实施例中,基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,采用的公式如下:M×(N1+N2-N);基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,采用的公式如下:M×(N-N2);以及基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量,采用的公式如下:M×(N-N1),其中,M表示至少一个棋盘格的行数,N表示至少一个棋盘格的列数,N1表示至少一个第一棋盘格的列数,N2表示至少一个第二棋盘格的列数,M、N、N1和N2均为正整数。
图8是根据本发明另一示例性实施例示出的一种参数标定装置800的框图。如图8所示,该参数标定装置800包括:
获取模块810,用于利用背靠背放置的两个全景相机的鱼眼镜头拍摄至少一个棋盘格,得到第一鱼眼图像和第二鱼眼图像。
检测模块820,用于利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布。
确定模块830,用于基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格。
判断模块840,用于判断至少一个第一棋盘格内的所有第一角点是否均位于第一鱼眼图像中且至少一个第二棋盘格内的所有第二角点是否均位于第二鱼眼图像中。
匹配模块850,用于对至少一个第一棋盘格内的所有第一角点和至少一个第二棋盘格内的所有第二角点进行一对一匹配。
该确定模块830还用于确定至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量。
计算模块860,用于基于至少一个棋盘格的角点的数量、至少一个第一棋盘格内的部分第一角点的数量和至少一个第二棋盘格内的部分第二角点的数量,计算至少一个第一棋盘格内的匹配第一角点的数量和至少一个第二棋盘格内的匹配第二角点的数量。
该计算模块860还用于基于至少一个第一棋盘格内的部分第一角点的数量和至少一个第一棋盘格内的匹配第一角点的数量,计算至少一个第一棋盘格内的不匹配第一角点的数量,并基于至少一个第二棋盘格内的部分第二角点的数量和至少一个第二棋盘格内的匹配第二角点的数量,计算至少一个第二棋盘格内的不匹配第二角点的数量。
剔除模块870,用于基于至少一个第一棋盘格内的不匹配第一角点的数量,剔除至少一个第一棋盘格内的不匹配第一角点,并基于至少一个第二棋盘格内的不匹配第二角点的数量,剔除至少一个第二棋盘格内的不匹配第二角点。
该匹配模块850还用于对至少一个第一棋盘格内的匹配第一角点和至少一个第二棋盘格内的匹配第二角点进行匹配。
标定模块880,用于基于匹配关系进行参数标定。
根据本发明实施例提供的技术方案,通过剔除第一棋盘格和第二棋盘格中的不匹配角点,能够得到亚像素精度的角点匹配,因此,提高了鱼眼图像的匹配正确率。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
图9是根据本发明一示例性实施例示出的用于实现参数标定的装置900的框图。
参照图9,装置900包括处理组件910,其进一步包括一个或多个处理器,以及由存储器920所代表的存储器资源,用于存储可由处理组件910的执行的指令,例如应用程序。存储器920中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件910被配置为执行指令,以执行上述对图像进行分类方法。
装置900还可以包括一个电源组件被配置为执行装置900的电源管理,一个有线或无线网络接口被配置为将装置900连接到网络,和一个输入输出(I/O)接口。装置900可以操作基于存储在存储器920的操作系统,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD或类似。
一种非临时性计算机可读存储介质,当存储介质中的指令由上述装置900的处理器执行时,使得上述装置900能够执行一种参数标定方法,包括:利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到多个第一角点的分布和多个第二角点的分布;基于多个第一角点的分布和多个第二角点的分布并利用聚类算法,确定第一鱼眼图像中的至少一个第一棋盘格和第二鱼眼图像中的至少一个第二棋盘格;对多个第一角点中位于至少一个第一棋盘格内的第一角点和多个第二角点中位于至少一个第二棋盘格内的第二角点进行匹配,得到第一角点和第二角点之间的匹配关系;以及基于匹配关系进行参数标定。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (8)
1.一种参数标定方法,其特征在于,所述参数标定方法包括:
利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到所述多个第一角点的分布和所述多个第二角点的分布;
基于所述多个第一角点的分布和所述多个第二角点的分布并利用聚类算法,确定所述第一鱼眼图像中的至少一个第一棋盘格和所述第二鱼眼图像中的至少一个第二棋盘格,其中所述至少一个第一棋盘格的位置和所述至少一个第二棋盘格的位置对称,并且位置对称的第一棋盘格和第二棋盘格对应同一棋盘格;
对所述多个第一角点中位于所述至少一个第一棋盘格内的第一角点和所述多个第二角点中位于所述至少一个第二棋盘格内的第二角点进行匹配,得到所述第一角点和所述第二角点之间的匹配关系;以及
基于所述匹配关系进行参数标定,
其中,所述对所述多个第一角点中位于所述至少一个第一棋盘格内的第一角点和所述多个第二角点中位于所述至少一个第二棋盘格内的第二角点进行匹配,包括:
在所述至少一个第一棋盘格内的部分第一角点位于所述第一鱼眼图像中且所述至少一个第二棋盘格内的部分第二角点位于所述第二鱼眼图像中时,确定所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第二棋盘格内的部分第二角点的数量;
基于所述至少一个棋盘格的角点的数量、所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第二棋盘格内的部分第二角点的数量,剔除所述至少一个第一棋盘格内的不匹配第一角点和所述至少一个第二棋盘格内的不匹配第二角点;以及
对所述至少一个第一棋盘格内的匹配第一角点和所述至少一个第二棋盘格内的匹配第二角点进行匹配,
所述基于所述至少一个棋盘格的角点的数量、所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第二棋盘格内的部分第二角点的数量,剔除所述至少一个第一棋盘格内的不匹配第一角点和所述至少一个第二棋盘格内的不匹配第二角点,包括:
基于所述至少一个棋盘格的角点的数量、所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第二棋盘格内的部分第二角点的数量,计算所述至少一个第一棋盘格内的匹配第一角点的数量和所述至少一个第二棋盘格内的匹配第二角点的数量;
基于所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第一棋盘格内的匹配第一角点的数量,计算所述至少一个第一棋盘格内的不匹配第一角点的数量,并基于所述至少一个第二棋盘格内的部分第二角点的数量和所述至少一个第二棋盘格内的匹配第二角点的数量,计算所述至少一个第二棋盘格内的不匹配第二角点的数量;以及
基于所述至少一个第一棋盘格内的不匹配第一角点的数量,剔除所述至少一个第一棋盘格内的不匹配第一角点,并基于所述至少一个第二棋盘格内的不匹配第二角点的数量,剔除所述至少一个第二棋盘格内的不匹配第二角点,
其中所述基于所述至少一个棋盘格的角点的数量、所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第二棋盘格内的部分第二角点的数量,计算所述至少一个第一棋盘格内的匹配第一角点的数量和所述至少一个第二棋盘格内的匹配第二角点的数量,采用的公式如下:
M×(N1+N2-N);
所述基于所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第一棋盘格内的匹配第一角点的数量,计算所述至少一个第一棋盘格内的不匹配第一角点的数量,采用的公式如下:
M×(N-N2);以及
所述基于所述至少一个第二棋盘格内的部分第二角点的数量和所述至少一个第二棋盘格内的匹配第二角点的数量,计算所述至少一个第二棋盘格内的不匹配第二角点的数量,采用的公式如下:
M×(N-N1),
其中,M表示所述至少一个棋盘格的行数,N表示所述至少一个棋盘格的列数,N1表示所述至少一个第一棋盘格的列数,N2表示所述至少一个第二棋盘格的列数,M、N、N1和N2均为正整数。
2.根据权利要求1所述的参数标定方法,其特征在于,在所述利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点之前,所述参数标定方法还包括:
利用背靠背放置的两个全景相机的鱼眼镜头拍摄至少一个棋盘格,得到所述第一鱼眼图像和所述第二鱼眼图像。
3.根据权利要求1或2所述的参数标定方法,其特征在于,所述对所述多个第一角点中位于所述至少一个第一棋盘格内的第一角点和所述多个第二角点中位于所述至少一个第二棋盘格内的第二角点进行匹配,包括:
在所述至少一个第一棋盘格内的所有第一角点均位于所述第一鱼眼图像中且所述至少一个第二棋盘格内的所有第二角点均位于所述第二鱼眼图像中时,对所述至少一个第一棋盘格内的所有第一角点和所述至少一个第二棋盘格内的所有第二角点进行一对一匹配。
4.一种参数标定装置,其特征在于,所述参数标定装置包括:
检测模块,用于利用角点检测算法检测位于第一鱼眼图像中的多个第一角点和位于第二鱼眼图像中的多个第二角点,得到所述多个第一角点的分布和所述多个第二角点的分布;
确定模块,用于基于所述多个第一角点的分布和所述多个第二角点的分布并利用聚类算法,确定所述第一鱼眼图像中的至少一个第一棋盘格和所述第二鱼眼图像中的至少一个第二棋盘格,其中所述至少一个第一棋盘格的位置和所述至少一个第二棋盘格的位置对称,并且位置对称的第一棋盘格和第二棋盘格对应同一棋盘格;
匹配模块,用于对所述多个第一角点中位于所述至少一个第一棋盘格内的第一角点和所述多个第二角点中位于所述至少一个第二棋盘格内的第二角点进行匹配,得到所述第一角点和所述第二角点之间的匹配关系;以及
标定模块,用于基于所述匹配关系进行参数标定,
其中所述匹配模块用于在所述至少一个第一棋盘格内的部分第一角点位于所述第一鱼眼图像中且所述至少一个第二棋盘格内的部分第二角点位于所述第二鱼眼图像中时,确定所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第二棋盘格内的部分第二角点的数量,基于所述至少一个棋盘格的角点的数量、所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第二棋盘格内的部分第二角点的数量,剔除所述至少一个第一棋盘格内的不匹配第一角点和所述至少一个第二棋盘格内的不匹配第二角点,并对所述至少一个第一棋盘格内的匹配第一角点和所述至少一个第二棋盘格内的匹配第二角点进行匹配;
所述匹配模块还基于所述至少一个棋盘格的角点的数量、所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第二棋盘格内的部分第二角点的数量,计算所述至少一个第一棋盘格内的匹配第一角点的数量和所述至少一个第二棋盘格内的匹配第二角点的数量,基于所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第一棋盘格内的匹配第一角点的数量,计算所述至少一个第一棋盘格内的不匹配第一角点的数量,并基于所述至少一个第二棋盘格内的部分第二角点的数量和所述至少一个第二棋盘格内的匹配第二角点的数量,计算所述至少一个第二棋盘格内的不匹配第二角点的数量,并基于所述至少一个第一棋盘格内的不匹配第一角点的数量,剔除所述至少一个第一棋盘格内的不匹配第一角点,并基于所述至少一个第二棋盘格内的不匹配第二角点的数量,剔除所述至少一个第二棋盘格内的不匹配第二角点;
其中所述基于所述至少一个棋盘格的角点的数量、所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第二棋盘格内的部分第二角点的数量,计算所述至少一个第一棋盘格内的匹配第一角点的数量和所述至少一个第二棋盘格内的匹配第二角点的数量,采用的公式如下:
M×(N1+N2-N);
所述基于所述至少一个第一棋盘格内的部分第一角点的数量和所述至少一个第一棋盘格内的匹配第一角点的数量,计算所述至少一个第一棋盘格内的不匹配第一角点的数量,采用的公式如下:
M×(N-N2);以及
所述基于所述至少一个第二棋盘格内的部分第二角点的数量和所述至少一个第二棋盘格内的匹配第二角点的数量,计算所述至少一个第二棋盘格内的不匹配第二角点的数量,采用的公式如下:
M×(N-N1),
其中,M表示所述至少一个棋盘格的行数,N表示所述至少一个棋盘格的列数,N1表示所述至少一个第一棋盘格的列数,N2表示所述至少一个第二棋盘格的列数,M、N、N1和N2均为正整数。
5.根据权利要求4所述的参数标定装置,其特征在于,所述参数标定装置还包括:
获取模块,用于利用背靠背放置的两个全景相机的鱼眼镜头拍摄至少一个棋盘格,得到所述第一鱼眼图像和所述第二鱼眼图像。
6.根据权利要求4或5所述的参数标定装置,其特征在于,所述匹配模块用于在所述至少一个第一棋盘格内的所有第一角点均位于所述第一鱼眼图像中且所述至少一个第二棋盘格内的所有第二角点均位于所述第二鱼眼图像中时,对所述至少一个第一棋盘格内的所有第一角点和所述至少一个第二棋盘格内的所有第二角点进行一对一匹配。
7.一种服务器,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1至3中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710906740.5A CN107680035B (zh) | 2017-09-29 | 2017-09-29 | 一种参数标定方法和装置、服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710906740.5A CN107680035B (zh) | 2017-09-29 | 2017-09-29 | 一种参数标定方法和装置、服务器及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107680035A CN107680035A (zh) | 2018-02-09 |
CN107680035B true CN107680035B (zh) | 2021-08-17 |
Family
ID=61139350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710906740.5A Active CN107680035B (zh) | 2017-09-29 | 2017-09-29 | 一种参数标定方法和装置、服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107680035B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110335307B (zh) * | 2019-06-26 | 2021-07-09 | Oppo广东移动通信有限公司 | 标定方法、装置、计算机存储介质和终端设备 |
CN113516718A (zh) * | 2020-04-10 | 2021-10-19 | 富华科精密工业(深圳)有限公司 | 批量摄像装置外参标定方法及电子设备 |
CN112258581B (zh) * | 2020-09-25 | 2022-08-19 | 湖北久之洋红外系统股份有限公司 | 一种多鱼眼镜头全景相机的现场标定方法 |
CN117710488A (zh) * | 2024-01-17 | 2024-03-15 | 苏州市欧冶半导体有限公司 | 相机内参标定方法、装置、计算机设备和存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003023494A1 (en) * | 2001-09-12 | 2003-03-20 | Micronic Laser Systems Ab | Improved method and apparatus using an slm |
WO2008130903A1 (en) * | 2007-04-17 | 2008-10-30 | Mikos, Ltd. | System and method for using three dimensional infrared imaging for libraries of standardized medical imagery |
CN101467887A (zh) * | 2007-12-29 | 2009-07-01 | 复旦大学 | 一种手术导航系统中x射线透视图像标定方法 |
CN101477687A (zh) * | 2009-01-22 | 2009-07-08 | 上海交通大学 | 复杂背景下的棋盘格角点检测方法 |
CN101894366A (zh) * | 2009-05-21 | 2010-11-24 | 北京中星微电子有限公司 | 一种获取标定参数的方法、装置及一种视频监控系统 |
CN102750697A (zh) * | 2012-06-08 | 2012-10-24 | 华为技术有限公司 | 一种参数标定方法及装置 |
CN103822614A (zh) * | 2014-03-14 | 2014-05-28 | 河北工业大学 | 倒车影像的三维测量方法 |
CN105023265A (zh) * | 2014-04-29 | 2015-11-04 | 东北大学 | 鱼眼镜头下的棋盘格角点自动检测方法 |
CN105578021A (zh) * | 2014-10-15 | 2016-05-11 | 上海弘视通信技术有限公司 | 双目相机的成像方法及其装置 |
EP3206184A1 (en) * | 2016-02-11 | 2017-08-16 | NXP USA, Inc. | Apparatus, method and system for adjusting predefined calibration data for generating a perspective view |
CN107067371A (zh) * | 2017-05-12 | 2017-08-18 | 浙江工业大学 | 大幅面皮革图像拼接方法 |
DE102016203709A1 (de) * | 2016-03-08 | 2017-09-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Bildverarbeitungsverfahren, Bildverarbeitungsmittel und Bildverarbeitungsvorrichtung zur Erzeugung von Abbildungen eines Teils eines dreidimensionalen Raums |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070200121A1 (en) * | 2006-02-24 | 2007-08-30 | Lumileds Lighting U.S., Llc | Multi-colored LED array with improved color uniformity |
CN101285428B (zh) * | 2007-04-09 | 2010-04-21 | 山东申普汽车控制技术有限公司 | 组合脉谱对发动机电子节气门控制的方法 |
CN101839692B (zh) * | 2010-05-27 | 2012-09-05 | 西安交通大学 | 单相机测量物体三维位置与姿态的方法 |
CN105761233A (zh) * | 2014-12-15 | 2016-07-13 | 南京理工大学 | 一种基于fpga的实时全景图像拼接方法 |
-
2017
- 2017-09-29 CN CN201710906740.5A patent/CN107680035B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003023494A1 (en) * | 2001-09-12 | 2003-03-20 | Micronic Laser Systems Ab | Improved method and apparatus using an slm |
WO2008130903A1 (en) * | 2007-04-17 | 2008-10-30 | Mikos, Ltd. | System and method for using three dimensional infrared imaging for libraries of standardized medical imagery |
CN101467887A (zh) * | 2007-12-29 | 2009-07-01 | 复旦大学 | 一种手术导航系统中x射线透视图像标定方法 |
CN101477687A (zh) * | 2009-01-22 | 2009-07-08 | 上海交通大学 | 复杂背景下的棋盘格角点检测方法 |
CN101894366A (zh) * | 2009-05-21 | 2010-11-24 | 北京中星微电子有限公司 | 一种获取标定参数的方法、装置及一种视频监控系统 |
CN102750697A (zh) * | 2012-06-08 | 2012-10-24 | 华为技术有限公司 | 一种参数标定方法及装置 |
CN103822614A (zh) * | 2014-03-14 | 2014-05-28 | 河北工业大学 | 倒车影像的三维测量方法 |
CN105023265A (zh) * | 2014-04-29 | 2015-11-04 | 东北大学 | 鱼眼镜头下的棋盘格角点自动检测方法 |
CN105578021A (zh) * | 2014-10-15 | 2016-05-11 | 上海弘视通信技术有限公司 | 双目相机的成像方法及其装置 |
EP3206184A1 (en) * | 2016-02-11 | 2017-08-16 | NXP USA, Inc. | Apparatus, method and system for adjusting predefined calibration data for generating a perspective view |
DE102016203709A1 (de) * | 2016-03-08 | 2017-09-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Bildverarbeitungsverfahren, Bildverarbeitungsmittel und Bildverarbeitungsvorrichtung zur Erzeugung von Abbildungen eines Teils eines dreidimensionalen Raums |
CN107067371A (zh) * | 2017-05-12 | 2017-08-18 | 浙江工业大学 | 大幅面皮革图像拼接方法 |
Non-Patent Citations (2)
Title |
---|
Calibration of Panoramic Catadioptric Sensors Made Easier;Jonathan Fabrizio 等;《Proceedings of the Third Workshop on Omnidirectional Vision 》;20021231;第1-8页 * |
基于相机标定的全景图拼接方法研究;马嘉琳 等;《系统仿真学报》;20170531;第29卷(第5期);第1112-1119页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107680035A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111145238B (zh) | 单目内窥镜图像的三维重建方法、装置及终端设备 | |
CN109035320B (zh) | 基于单目视觉的深度提取方法 | |
CN109146980B (zh) | 基于单目视觉的优化的深度提取和被动测距方法 | |
US11461930B2 (en) | Camera calibration plate, camera calibration method and device, and image acquisition system | |
US11227405B2 (en) | Determining positions and orientations of objects | |
CN110717942B (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
WO2018219054A1 (zh) | 一种车牌识别方法、装置及系统 | |
CN107680035B (zh) | 一种参数标定方法和装置、服务器及可读存储介质 | |
CN109479082B (zh) | 图象处理方法及装置 | |
KR102206108B1 (ko) | 체적형 객체 촬영을 위한 다중 rgb-d 카메라 기반의 포인트 클라우드 정합 방법 | |
CN109859137B (zh) | 一种广角相机非规则畸变全域校正方法 | |
WO2012113732A1 (en) | Determining model parameters based on transforming a model of an object | |
CN108470356B (zh) | 一种基于双目视觉的目标对象快速测距方法 | |
CN113191954B (zh) | 一种基于双目相机的全景图像拼接方法 | |
CN105934757B (zh) | 一种用于检测第一图像的关键点和第二图像的关键点之间的不正确关联关系的方法和装置 | |
CN109255818B (zh) | 一种新型标靶及其亚像素级角点的提取方法 | |
WO2019232793A1 (zh) | 双摄像头标定方法、电子设备、计算机可读存储介质 | |
CN112927306B (zh) | 拍摄装置的标定方法、装置及终端设备 | |
CN113313116A (zh) | 一种基于视觉的水下人工目标准确检测与定位方法 | |
CN112257713A (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN116402904A (zh) | 一种基于激光雷达间和单目相机的联合标定方法 | |
CN111353945A (zh) | 鱼眼图像校正方法、装置及存储介质 | |
CN114882122A (zh) | 图像局部自动标定方法、装置及相关设备 | |
CN113870190A (zh) | 竖直线条检测方法、装置、设备及存储介质 | |
EP2953096B1 (en) | Information processing device, information processing method, system and carrier means |
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 |