多个相机标定时重复性差的原因

如题所述

我是试图入门相机标定一年的菜鸟学生,没有什么实践经验,感觉我在坐井观天,说一下对这块的理解,不知道对不对

1,关于相机标定的论文,最经典的就是张正友标定,matlab和opencv用的都是这个原理。对于平常的相机拍摄的不同图像,有效果,而且结果稳定,需要至少3张图。

2,关于鱼眼相机标定的论文,opencv采用的是一篇06年的论文,我忘了名字,记得大概内容好像是类似张正友标定,只是畸变模型变了一点。

而matlab中鱼眼标定的toolbox采用的是一篇05年的论文,忘了名字,记得大概内容是类似自标定,也就是在计算外参的时候就考虑到了畸变。

3,同一个相机标定结果不一样的原因就太多了。可能角点检测的问题,比如标定板打印的细腻程度(是不是用LCD好一些,我不知道),相机的分辨率。可能是距离远近的问题,不同距离,相机光心可能不一样。可能是你标定板在图像中位置的区别,标定板偏转角度过大,拍摄图像的数量什么的

4,最重要的是,我理解的标定畸变本质其实是选一个比较适合的模型,再用多项式拟合一堆参数,最后优化使整体重投影误差极小。而真实相机他没有什么函数,我们不知道畸变和非畸变点之间是什么map关系,而且畸变点和非畸变点之间可能没什么可以用简单的多项式就可以完美拟合的简单map关系。这就导致,你看到的几个标定结果,随便畸变中心略不一样,焦距略不一样,但是最后重投影误差都差不多。因为说白了,即使畸变中心不一样点,都会通过拟合参数,让提取的角点和重投影的点尽量整好对上。可是平均重投影误差一样小,经常遇到畸变系数内参外参却相去甚远,哪个更好呢?

因为相机复杂的透镜结构并不是简单的多项式就可以表示map关系。所以你很难用一个简单的畸变模型就做到所有图像点map关系准确对上。我看到的结果,往往是图像中间区域重投影误差小,图像边缘区域重投影误差大,这是因为你上传图像中的角点本来就集中在中心区域。所以我觉得需要更多的测评标定结果好坏的算法。不受角点检测影响的测评方法会更好吧我觉得,毕竟角点检测的就不一定对。常见的测评方法就是重投影误差,inlier ratio,失败的概率,重建垂直面是否还垂直,重建平行的,重建直线balabala

5,其他的:标定板和自标定各有利弊,连续模型和离散模型各有利弊,generic 模型和non -parameter model不要搞混,前者其实是来一个相机模型就修改他的算法来包容新的相机模型。类似lensfun对很多镜头的去畸变其实是针对人眼视觉效果,不适合视觉重建

想到什么随手补充什么

以上只是我的理解和猜测,不一定对,欢迎大佬拨乱反正给予指导,欢迎同学们和有相机标定工作经验的大哥来和我讨论,一起学习
展开
温馨提示:答案为网友推荐,仅供参考
相似回答