主要内容

单摄像机标定精度评估

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

概述

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

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

  • 计算重投影误差

  • 计算参数估计误差

校准相机

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

%创建一组校准图像。图像= imageDatastore (fullfile (toolboxdir (“愿景”),“visiondata”...'校准''单核细胞增多症'));imagefilenames = images.files;%检测校准模式。[imagePoints, boardSize] = detectCheckerboardPoints(imageFileNames); / /检查全局%生成方块角落的世界坐标。Squaresize = 29;%毫米worldPoints = generateCheckerboardPoints(boardSize, squareSize);校准相机。i = ReadImage(图像,1);图像zize = [size(i,1),size(i,2)];[Params,〜,估计识别] =估计估计(象,WorldPoints,...'图片尺寸', 图片尺寸);

外在

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

数字;showextrinsics(Params,'camerectric');

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

数字;showextrinsics(Params,“PatternCentric”);

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

重新注入错误

重新注入误差提供了一种定性的准确度。输出误差是在校准图像中检测到的模式键点之间的距离,并投影到相同图像中的相应世界点。的showReprojectionErrors函数在每个校准图像中提供了平均刻录错误的有用可视化。如果整体均值刻录误差太高,请考虑排除具有最高误差和重新校准的图像。

数字;ShowreproizeErrors(Params);

图中包含一个轴对象。具有标题的轴对象是每个图像的刻录误差的轴对象包含3个类型的栏,线路。该对象表示总体平均值误差:0.18像素。

估计错误

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

DisplayErrors(估算识别,Params);
标准的错误估计摄像机的参数  ---------------------------------------------- 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径向失真系数,估计切向失真或偏斜。

  • 采取更多的校准图像。图像中的模式必须具有不同的3D方向,并且应该定位,使得您在视野的所有部分中具有关键点。特别地,将靠近边缘的关键点和图像的角部具有非常重要的是,为了获得更好地估计失真系数。

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

概括

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

参考

[1] Z.张。一种灵活的相机校准技术。图案分析和机器智能的IEEE交易,22(11):1330-1334,2000。