主要内容

单摄像机标定精度评估

这个例子展示了如何评估精度的相机参数估计使用cameraCalibrator应用程序或估计摄像机参数函数。

概述

摄像机定标是利用特定定标模式的图像估计摄像机参数的过程。参数包括相机固有参数、失真系数和相机外部参数。校准相机后,有几种方法来评估估计参数的准确性:

  • 绘制相机的相对位置和校准模式

  • 计算重投影误差

  • 计算参数估计误差

校准照相机

估计相机参数使用一组图像的棋盘校准模式。

%创建一组校准图像。图像= imageDatastore (fullfile (toolboxdir (“愿景”),“visiondata”...“校准”“单声道”)); imageFileNames=images.Files;%检测校准模式。[imagePoints, boardSize] = detectCheckerboardPoints(imageFileNames); / /检查全局%生成方块角落的世界坐标。平方大小=29;%毫米worldPoints = generateCheckerboardPoints(boardSize, squareSize);校准相机。I=读取图像(图像,1);图像大小=[大小(I,1),大小(I,2)];[params,~,estimationErrors]=estimateCameraParameters(图像点、世界点、,...“图像大小”,图像大小);

外在

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

图形显示外部(参数,“摄影机中心”);

图中包含一个轴。标题为“外部参数可视化”的轴包含23个patch、text和line类型的对象。

图形显示外部(参数,“PatternCentric”);

图中包含一个轴。标题为“外部参数可视化”的轴包含47个patch、text、line类型的对象。

重投影错误

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

图;showReprojectionErrors(参数);

图中包含一个坐标轴。标题为“每个图像平均重投影误差”的轴包含3个类型为bar, line的对象。这个对象表示总体平均误差:0.18像素。

估计误差

估计误差表示每个估计参数的不确定性。的估计摄像机参数函数可以返回估算员输出,包含与每个估计摄像机参数对应的标准误差。返回的标准错误 σ (与相应参数相同单位)可用于计算置信区间。例如+ / - 1 9 6 σ 对应于95%置信区间。换句话说,给定参数的实际值在 1 9 6 σ 据估计,这一比例为95%。

显示错误(估计错误、参数);
标准的错误估计摄像机的参数  ---------------------------------------------- intrinsic  ---------- 焦距(像素):[714.1886 + / - 3.3219 - 710.3786 + / - 4.0579]主点(像素):[563.6480 + / - 5.3967 - 355.7251 + / - 3.3036)径向畸变:[-0.3536 +/- 0.0091 0.1730 +/- 0.0488] Extrinsics ----------旋转矢量:(-0.6096 + / - 0.0054 - -0.1789 + / - 0.0073 - -0.3835 + / - 0.0024) (-0.7283 + / - 0.0050 - -0.0996 + / - 0.0072 - 0.1964 + / - 0.0027) (-0.6722 + / - 0.0051 - -0.1444 + / - 0.0074 - -0.1329 + / - 0.0026) (-0.5836 + / - 0.0056 - -0.2901 + / - 0.0074 - -0.5622 + / - 0.0025) (-0.3157 + / - 0.0065 - -0.1441 + / - 0.0075 - -0.1067 + / - 0.0011] [-0.7581 + / - 0.0052 - 0.1947 + / - 0.0072 - 0.4324[-0.7515 +/- 0.0051 0.0767 +/- 0.0072 0.2070 +/- 0.0029][-0.6223 +/- 0.0053 0.0231 +/- 0.0073 0.3663 +/- 0.0024][0.3443 +/- 0.0063 -0.2226 +/- 0.0073 -0.0437 +/- 0.0014]平移向量(mm):(-146.0516 + / - 6.0391 - -26.8684 + / - 3.7318 - 797.9027 + / - 3.9002) (-209.4357 + / - 6.9637 - -59.4563 + / - 4.3578 - 921.8198 + / - 4.6295) (-129.3823 + / - 7.0907 - -44.1028 + / - 4.3751 - 937.6832 + / - 4.4913) (-151.0048 + / - 6.6905 - -27.3251 + / - 4.1339 - 884.2789 + / - 4.3925) (-174.9499 + / - 6.7056 - -24.3498 + / - 4.1606 - 886.4961 + / - 4.6686] [-134.3095 + / - 7.8887[-173.9845 +/- 7.6891 -73.1689 +/- 4.7812 1017.2386 +/- 4.8126] [-202.9446 +/- 7.4327 -87.9089 +/- 4.6482 +/- 4.9072] [-319.8860 +/- 6.3213 -119.8897 +/- 4.0922 829.4582 +/- 4.9591]

如何提高校准精度

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

  • 修改校准设置。尝试使用3个径向畸变系数、估计切向畸变或倾斜。

  • 拍摄更多校准图像。图像中的图案必须处于不同的三维方向,并且其位置应确保在视野的所有部分都有关键点。特别是,关键点靠近图像的边缘和角点是非常重要的,以便更好地估计失真系数。

  • 排除具有高重投影错误的图像并重新校准。

总结

这个例子展示了如何获取和解释摄像机校准误差。

工具书类

[1] 张志忠。一种灵活的摄像机标定新技术。模式分析与机器智能IEEE学报,22(11):1330-13342000。