一种基于棋盘格的相机实时定位方法
文献发布时间:2023-06-19 11:52:33
技术领域:
本发明属于计算机图像处理和计算机多视图几何学技术领域,涉及一种基于棋盘格的相机实时定位方法,具体说是一种相机定位算法。
技术背景:
三维计算机视觉是基于相机拍摄的图像或视频,计算出周围的三维环境和结构,同时计算出相机的位置和姿态。以输出三维环境和结构为主要目的为三维重建,以输出相机的位置和姿态为主要目的为视觉定位。三维重建和视觉定位在虚拟现实,增强现实,人机交互,无人驾驶,机器人导航等领域有着广泛的应用。
中国专利申请CN201910568633.5公开了一种相机标定方法,所述方法包括:获取第一标定图像和第二标定图像;从第一标定图像和第二标定图像中提取特征点;对第一标定图像和第二标定图像进行特征点匹配,获得特征点对;确定所述特征点对位于图像区域中的子区域,所述图像区域包括至少两个子区域;继续获取第一标定图像和第二标定图像并进行特征点提取和匹配,直至图像区域中的每个子区域均具有预设数量以上的特征点对;基于各子区域内的各特征点对进行相机标定;中国专利CN201711106653.8公开了一种鱼眼相机标定方法及系统,步骤:首先,利用鱼眼相机采集标定靶图像,并得到有畸变的子标定板图像;然后,将采集到的有畸变的子标定板图像进行透视投影变换,并提取所有有畸变的子标定板图像在成像平面内的特征点坐标;最后,利用相机标定模型并结合所述特征点坐标进行鱼眼相机的标定;中国专利CN201710108686.X公开了一种相机标定方法,该方法包括:确定第一原始图像与第二原始图像的第一特征点集和第二特征点集;基于第一组外参数,将第一特征点集映射到参考映射面;从第二组外参数的初始值开始,按照预设方式以预设步长调整上一次迭代得到的第二组外参数;基于调整后的第二组外参数,将第二特征点集映射到参考映射面;计算第二映射点集中每一个映射点与第一映射点集中相匹配的映射点之间的距离偏差;基于上一次迭代得到的第二组外参数、偏差总和以及第二组外参数各自对应的预设步长,标定第二相机的相机外参数。
由于现有技术利用图像特征点的方法难以满足实时性要求,同时特征点的计算与匹配精度低导致相机定位精度差,因此需要寻求一种利用棋盘格的角点代替图像特征点,以提高计算速度与精度的方法是非常必要的。
发明内容:
为了克服现有技术存在的上述缺点,本发明提供一种利用棋盘格的角点计算相机位姿的方法,以解决利用图像特征点计算相机位姿速度慢精度低的问题。
为了实现上述目的,本发明提供一种基于棋盘格的相机实时定位方法,其具体步骤包括:
步骤一,检测棋盘格位置并判断其边界顺序:在棋盘格上绘制“回”形方格做为模板,获取模板图像,利用“回”形方格判断模板位置和边界顺序;
步骤二,检测图像棋盘格中的角点:利用“回”形方格的重心在图像中的坐标,计算单应变换矩阵,根据单应矩阵对图像中棋盘格区域进行变换,然后利用棋盘格角点滤波算子进行滤波,计算角点在图像中的位置;
步骤三,图像棋盘格角点与模板棋盘格角点做匹配;
步骤四,利用匹配点计算相机位姿。
进一步的,所述步骤一的具体步骤为:在棋盘格的四个角和其中一侧绘制“回”形方格做为模板,用相机拍摄模板,在相机拍摄的图像中检测“回”形方格,计算四个角的“回”形方格的重心作为边界标记棋盘格在图像中的位置,并根据一侧“回”形方格的位置确定边界顺序。
进一步的,“回”形方格的判定方法为:先对拍摄图像进行二值化处理,检测二值化图像中所有物体的轮廓,并计算轮廓的外包四边形,当四边形的宽W、高H、对角线L1,L2、周长C和面积S均满足4×W≥H,4×H≥W,H×W≥1.5×S,L1≥0.15×C和L2≥0.15×C时,则判定该四边形为矩形;当检测到两个嵌套的矩形,并且内矩形面积大于外矩形面积1/3时,则判定检测到“回”形方格。
进一步的,所述步骤二计算单应变换矩阵的具体步骤为:设模板和图像中的“回”形方格的重心分别为M
进一步的,步骤二计算角点在图像中位置的具体步骤为:
(1)初始化四个尺寸为8×8的算子,初始值为0,记为K
(2)四个算子分别对四个方向上的像素点赋值,设当前点与中心之间的距离为d,则当前点赋值为:
(3)四个滤波算子分别滤波后I
进一步的,步骤三图像棋盘格角点与模板棋盘格角点做匹配的具体步骤为:以变换后图像中的棋盘格角点坐标值作为模板的棋盘格角点的特征,利用最邻近匹配算法对图像和模板中的角点进行匹配。
进一步的,步骤四利用匹配点计算相机位姿的具体步骤为:利用单应变换矩阵逆矩阵H
本发明与现有技术相比,利用“回”形方格判断模板位置和边界顺序,快速定位棋盘位置,利用棋盘格的角点代替图像特征点,棋盘角点坐标值作为角点特征描述子,提高特征点计算效率;每个棋盘角点独立检测,部分角点存在遮挡时仍可正常运行,提高特征点检测稳定性;其方法简单,用时短,稳定性高,能够满足相机的实时定位。
附图说明:
图1为本发明涉及的棋盘格模板示意图。
图2为本发明涉及的棋盘格角点滤波算子示意图。
图3为本发明涉及的实施例1的相机定位结果示意图。
具体实施方式:
下面通过实施例结合附图对本发明作进一步说明。
实施例1:
本实施例涉及一种基于棋盘格的相机实时定位方法,其具体步骤包括:
步骤一,检测棋盘格位置并判断其边界顺序:
在棋盘格四个角和其中一侧绘制“回”形方格做为模板,用相机拍摄棋盘格模板,在相机拍摄的图像中检测“回”形方格,“回”形方格的判定方法为:先对拍摄图像进行二值化处理,检测二值化图像中所有物体的轮廓,并计算轮廓的外包四边形,当四边形的宽(W)、高(H)、对角线(L1,L2)、周长(C)、面积(S)均满足4×W≥H,4×H≥W,H×W≥1.5×S,L1≥0.15×C和L2≥0.15×C时,则判定该四边形为矩形;当检测到两个嵌套的矩形,并且内矩形面积大于外矩形面积1/3时,则判定检测到“回”形方格;计算四个角的“回”形方格的重心作为边界标记棋盘格在图像中的位置,并根据一侧“回”形方格的位置确定边界顺序;确定棋盘格边界后,在边界内检测角点即可,无需全图检测,提高计算效率;
步骤二,检测图像棋盘格中的角点:
利用“回”形方格的重心在图像中的坐标,计算单应变换矩阵,设模板和图像中的“回”形方格的重心分别为M
(1)初始化四个尺寸为8×8的滤波算子,初始值为0,记为K
(2)四个滤波算子K
(3)四个赋值后的滤波算子分别进行滤波,I
步骤三,图像棋盘格角点与模板棋盘格角点做匹配:
由于I
步骤四,利用匹配点计算相机位姿:
利用单应变换矩阵逆矩阵H
本实施例涉及的步骤二中的每个棋盘角点坐标值独立计算,角点之间不需要建立拓扑关系,因此棋盘中部分角点被遮挡时,算法可正常运行,提高计算稳定性。
- 一种基于棋盘格的相机实时定位方法
- 基于棋盘格三面体的相机与激光器外参检校方法及装置