此示例说明如何评估使用cameraCalibrator应用程序或estimateCameraParameters函数估计的相机参数的准确性。

1.概述

相机标定是使用特殊校准图案的图像估计相机参数的过程。参数包括相机内在参数、畸变系数和相机外在参数。相机标定后,有几种方法可以评估估计参数的准确性:

  • 绘制相机的相对位置和标定模板
  • 计算重投影误差
  • 计算参数估计误差

2.相机标定

使用一组棋盘格图案估计相机参数。

% Create a set of calibration images.
images = imageDatastore(fullfile(toolboxdir('vision'), 'visiondata', ...'calibration', 'mono'));
imageFileNames = images.Files;% Detect calibration pattern.
[imagePoints, boardSize] = detectCheckerboardPoints(imageFileNames);% Generate world coordinates of the corners of the squares.
squareSize = 29; % millimeters
worldPoints = generateCheckerboardPoints(boardSize, squareSize);% Calibrate the camera.
I = readimage(images, 1);
imageSize = [size(I, 1), size(I, 2)];
[params, ~, estimationErrors] = estimateCameraParameters(imagePoints, worldPoints, ...'ImageSize', imageSize);

3.外参

通过绘制相机的相对位置和校准图案,您可以快速发现标定中的明显错误。使用showExtrinsics函数可以在相机坐标系中绘制标定图案的位置,或者在图像坐标系中绘制相机的位置。寻找明显的问题,例如图案在相机后面,或相机在图案后面。还要检查图案是否离相机太远或太近。

figure;
showExtrinsics(params, 'CameraCentric');

figure;
showExtrinsics(params, 'PatternCentric');

4.重投影误差

重投影误差提供了准确度的定性度量。重投影误差是在标定图像中检测到的模式关键点与投影到同一图像中的相应世界点之间的距离。showReprojectionErrors函数提供了每个标定图像中平均重投影误差的可视化。如果整体平均重投影误差太高,请考虑排除误差最大的图像并重新标定。

5.估计误差

估计误差代表每个估计参数的不确定性。estimateCameraParameters函数可选择返回estimationErrors输出,其中包含与每个估计的相机参数对应的标准误差。返回的标准错误σ(与相应参数的单位相同)可用于计算置信区间。例如 +/-1.96σ对应于 95% 的置信区间。换句话说,给定参数的实际值在 1.96σ 其估计为 95%。

5.如何提高校准精度

特定的重投影或估计误差是否可接受取决于您的特定应用的精度要求。但是,如果您确定您的标定精度不可接受,有几种方法可以改进它:

  • 修改标定设置。尝试使用 3 个径向畸变系数,估计切向畸变或偏斜。
  • 拍摄更多标定图像。图像中的图案必须处于不同的 3D 方向,并且其位置应确保在视野的所有部分都有关键点。特别是让关键点靠近图像的边缘和角落非常重要,以便更好地估计失真系数。
  • 排除重投影错误高的图像并重新标定。

参考目录

https://in.mathworks.com/help/vision/ug/evaluating-the-accuracy-of-single-camera-calibration.html;jsessionid=1376b6c6ef72aefb9ee07084e1fe?.mathworks.com

相机标定与3D重建(4)评估单台相机标定的准确性相关推荐

  1. 相机标定与3D重建(0)标定板说明

    准确标定相机对于任何机器/计算机视觉设置的成功都很重要.但是,有不同的标定板可供选择.为了让您更轻松地进行选择,本文解释了每种方法的主要优点. 标定板尺寸 在选择标定板时,一个重要的考虑因素是它的物理 ...

  2. 相机标定与3D重建(1)创建标定板(上)

    本教程的目标是学习如何创建标定板. 1.方法(一)利用第三方在线生成 https://calib.io/pages/camera-calibration-pattern-generator 可以根据所 ...

  3. KinectFusion:用运动的深度相机进行实时3D重建及交互

    KinectFusion的GPU Pipeline实现, 涉及到的两篇原理和实现中的一篇,两年前翻译的,那时候多数不理解,再拿出来整理一下,也是加深理解,配图来自原论文,文字为本人翻译,如有不正,敬请 ...

  4. 【3D目标检测】单目相机成像原理

    目录 学习资料 学习笔记 学习资料 2.2 针孔相机模型 3D视觉坐标系与坐标转换 学习笔记 相机结构最基本的理解就是透镜模型,穿过光心的光线没有改变方向,其他光线都会在一定程度上改变方向. 为了方便 ...

  5. 相机校准和3D重建10-计算基本矩阵2

    根据两个图像中的对应点计算基本矩阵. Mat cv::findFundamentalMat(InputArray points1, InputArray points2, int method, do ...

  6. Opencv相机标定与3D重构---使用棋盘格来进行摄像机标定

    让我们写一点代码来检测在一幅图像中的棋盘格,并获取他到摄像机的距离. 你可以使用同样的方法来针对任何已知三维几何结构的物体,这个物体可以在一幅图像中被检测到. 创建一个空的控制台项目. 载入一幅图片: ...

  7. 一文图解单目相机标定算法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 有一天,蟹老板找底下的员工川建国同学: 等蟹老板走后,然后转头问旁边的学霸李雷同学: 李雷同学整理了下 ...

  8. 基于OpenCV的单目相机标定与三维定位

    相机是产生图像数据的硬件,广泛应用于消费电子.汽车.安防等领域.围绕着相机衍生出一系列的研究与应用领域,包括传统的图像处理和基于深度学习的智能应用等.目前大火的自动驾驶中相机也是重要的硬件组成,如环视 ...

  9. 相机标定的意义,单目相机和双目相机标定注意事项

    本博客解释了相机标定的意义,单目相机和双目相机标定注意事项.对单目相机标定时物体距离相机位置不同,需要在不同位置进行标定做了解释. 坐标转换 像素坐标.相机坐标.世界物理坐标之间的坐标转换条件 相机标 ...

  10. 3D重建:硬派几何求解vs深度学习打天下?

    点击我爱计算机视觉标星,更快获取CVML新技术 本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载. 机器之心原创 作者:Yuanyuan Li 编辑:Hao Wang ...

最新文章

  1. OpenGL - Normal Map
  2. android studio 中 .9.png的制作
  3. Go语言生成区间随机数
  4. 计算机专业单元测试卷答案,银保监会考试题库:计算机类模拟试题练习(六)答案...
  5. 苹果将削减iPhone SE及AirPods产量 iPhone 13也要求减产
  6. linux安装pl脚本,nagios插件脚本check_linux_stats.pl 安装
  7. c语言程序设计2020年版,2020年新版c语言程序设计题库.docx
  8. 电脑重装系统超详细完整教程图解
  9. 全国计算机建模三等奖,喜报 | 建院学子喜获2019年第十三届全国大学生结构设计竞赛三等奖...
  10. Ubuntu 安装宋体
  11. 为什么SecureCRT里无法输入?
  12. 如何独立开发 APP 赚钱?
  13. 将本机文件复制到安装的虚拟机系统中的两种方法
  14. 【物联网中间件平台-05】YFIOs策略开发指南
  15. 数据规范化(标准化)
  16. 财险商闭口不提交强险利润
  17. 国科大计算机应用技术导师,北京航空航天大学计算机学院计算机应用技术导师介绍:吴威...
  18. 各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况
  19. 校企合作计算机专业共建协议书,校企合作共建实训基地协议书
  20. python中eps参数_DBSCAN、python参数eps

热门文章

  1. SQL SERVER 2005禁用 VIA协议
  2. 基于Docker在Win10平台搭建Ruby on Rails 6.0框架开发环境
  3. 云计算安全防护和网络监控的应用
  4. 关于stm32导入芯片
  5. apriori算法_原理 + 代码 | Apriori 算法与基于关联规则的购物篮推荐(附源数据)
  6. iPhone与Android的平台对比分析
  7. 中英双语言云挖矿授权质押理财生息源码完整版
  8. zz:陈莉君写的中断絮说
  9. zybo 作业板 linux,Zybo GPIO Demo Run Embedded Linux
  10. echarts实现刻度盘