基于视觉重定位的室内AR导航APP的大创项目思路(3)手机相机内参数据获取和相机标定

文章目录


前情提要:

是第一次做项目的小白,文章内的资料介绍如有错误,请多包含!


相机内参

相机内参是本身的物理数据,包括焦距f和缩放c,一般以矩阵K的形式存放和使用

为什么要获取相机的内参数据:

1.相机的内参数据在建图的时候就需要使用,SLAM中需要根据相机内参数据结合传入的图像数据等进行建图,不然无法根据2D图像建立三维点云地图。

bash 复制代码
如果使用的是SFM技术构建三维点云地图,运动结构恢复,就无相机内参数据

2.在进行视觉重定位的时候,无论是几何方法还是图像检索方法,都需要当前传入输入数据的相机的内参来进一步计算得出当前的位姿信息。

因此,获取当前相机的内参数据是必不可少的。

如果不了解什么是几何方法或是图像检索方法,可以看看这篇文章:基于视觉重定位的室内AR导航APP的大创项目思路(2):改进的项目思路------建图和定位分离

由于项目的预期搭配设备是手机,因此需要解决的问题变为了如何获取手机相机的内参数据。

获取相机内存数据的方法

棋盘格标定

目前主流的获取相机内参数据的方法是:使用棋盘格进行相机标定(张正友棋盘格标定法)。

但是对于这个项目来说,这个方法是无法在项目的全部流程中使用的。

你可以在建图时使用这个标定方法获取建图时的手机的相机内参,但是在定位导航时,你是无法要求用户在使用一个app的时候,还要专门购买一个标定板进行相机标定的。

项目思路2中提到了建图和定位分离的思想,因此我们并非要完全舍弃标定板标定,而是只在建图时使用这种方法,定位导航时另寻他法。

自动相机标定

使用棋盘格标定获取的相机内参数据是较为准确的,要不是别无选择,使用这种准确的数据进行相机重定位是最好的。

项目思路1中,我提到过使用过一个ORB-SLAM3的安卓端移植APP,这个APP在进行建图的时候是无需进行相机标定的。

那么必然存在一种或是多种无需进行标定板标定就能获取相机内参数据的方法,尽管数据可能不如使用标定板进行相机标定那么准确。

在经过一系列的搜寻和确定后,目标的关键词变为了:自动相机标定

而自动相机标定的方法有很多种,后文展开再讲


未完待续

如果你觉得这篇文章写的不错,多多点赞~收藏吧!

相关推荐
bin91533 小时前
幻境寻踪:Rokid AR眼镜上的沉浸式解谜冒险游戏开发实战
后端·ar·restful·沉浸式体验·ar游戏开发·rokid眼镜·解谜游戏
雾岛听蓝8 小时前
C++ 类和对象(一):从概念到实践,吃透类的核心基础
开发语言·c++·经验分享·笔记
brave and determined10 小时前
接口通讯学习(day05):智能手机的内部高速公路:揭秘MIPI CSI与DSI技术
学习·智能手机·软件工程·制造·csi·mipi·dsi
后端小张10 小时前
智眼法盾:基于Rokid AR眼镜的合同条款智能审查系统开发全解析
人工智能·目标检测·计算机视觉·ai·语言模型·ar·硬件架构
wheeldown10 小时前
【Rokid+CXR-M】基于Rokid CXR-M SDK的博物馆AR导览系统开发全解析
c++·人工智能·ar
E***q5391 天前
Vue增强现实开发
前端·vue.js·ar
小屋主人1 天前
【实用软件】UninstallTool:一个小巧、安全、快速、强大的卸载软件
经验分享·其他·软件·软件卸载
星轨初途1 天前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法