赞
踩
相机标定是进行视觉测量和定位的基础工作之一,标定参数准确与否直接关系到整个系统的精度,标定结果将影响后续进行其他解算。笔者根据自己在双目相机项目中的标定经验,和网络上查询到的大家对标定图片采集的意见进行了总结,现分享如下:
(1)要保证两个相机都是水平放置的,要固定在同一基准平面上,不能让相机有翻滚角,必须保证相机的Y坐标是水平对齐的。
(2)要保证两个相机的光轴是平行的,即左右相机镜头的朝向一致。不然图像中远处的靶标的像素坐标将产生较大偏移,这会使双目相机在深度-视差映射后,得到的深度不准确,远近分不清。
(3)上图是一个错误示范。从门的角度可以看出,一个相机没水平。同时标定板的角度可以看出,两个相机的光轴也没平行。并且,左右相机还对应反了(这个没什么影响)。
(1)标定板一般选择棋盘格标定板,这类标定板不同尺寸和大小的有很多,我们要根据自己的需要,如相机的视场、图像分辨率、工作距离等要求去选择。标定板通常要求在画面中占据1/4至1/2左右,根据这个标准,去选择合适尺寸的标定板。
(2)棋盘格的参数有两个,第一个是规格,如:8×5。第二个是单元格的尺寸,如:80mm。需要注意,如果选择MATLAB或OpenCV进行标定,这两种工具,主要检测内角点,因此棋盘格的规格就是:(“实际的黑白格行数”-1)×(“实际的黑白格列数”-1)。具体如下图,例如这个棋盘格看着是9×6,其实是8×5的,数已经检测出来的角点数,也可以对应出来。
(3)标定板打印时,最好选择高精度的打印机,感觉打印的比较好。同时,标定板在标定过程中需要保持平整,因此常将标定板打印为那种可以背面粘贴的,粘贴至硬板上,如KT板。但我个人认为KT板也比较软,表面也不够平整,可以粘贴至木板、钢板上。实验室现在是粘贴至雾化处理的玻璃上,表面很平整,同时玻璃也不透光。打印的纸材也要选择反光不那么强的纸材。
(1)标定图片的数量通常在20~30张之间,图像数量太少,容易导致标定参数不准确。
(2)标定板的成像尺寸应大致占整幅画面的1/4至1/2左右。但标定板在画面中必须完整,要完整的检测出所有角点。
(3)选择合适光源对标定板进行打光,保证标定板的亮度足够且均匀,并且不会出现过曝等反光情况。
(4)标定的时候在上图五个部分都应该进行标定板图像的采集,且在四个象限与中间的位置,不止需要正着拍摄标定板还需要再扭转2种角度,这样就至少有15组图像了。使标定板在图像的角,是为了更好的验证相机的径向畸变(桶形畸变与枕形畸变)。
(5)标定的时候要注意相机的工作距离,以我标定的双目相机为例,工作的距离是2m至8m,那么2m和8m处的标定图像也一定要采集到。我主要关心的工作距离是6m左右,那么我在6m距离采集的图像会多一些,占图像比例会大一些。
(1)标定软件我一般选用MATLAB或OpenCV,目前看来,我觉得MATLAB标定更简单,也标定的更加准确?但是利用OpenCV能够好的结合我后续的一些算法进行实验。
(2)MATLAB标定同样有两种方法,一种自动导入图像即可,一种需要手动选择角点,这两种方法的标定结果会有一些差别。我的老师认为手动选择角点的误差有点大,我自己是觉得手动的很麻烦,而且自动标定的结果,目前看来也比较准确,因此推荐自动标定。直接命令行输入:stereoCameraCalibrator进入标定模块。
(1)选择一些可以在图像中快速检测出来的靶标,打印出来,在标定后,可以进行靶标检测。通过匹配检测到的靶标结算点,省去对整幅图像进行立体匹配,然后计算视差和深度,验证双目相机的工作效果。
(2)靶标建议布置在左右两相机连线的中垂线上,这样对于左右相机来说,图像质量和距离比较平均,算出来的值也比较好。
双目相机的标定真的很重要,好的标定结果得来不易,尤其对于自己设计的相机系统,相机的标定是开展任务的第一步,需要认真准备。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。