现在的位置: 首页 > 综合 > 正文

三维栅格地图构建之一:双目系统

2017年11月11日 ⁄ 综合 ⁄ 共 1037字 ⁄ 字号 评论关闭

前言:对一般物体(刚体、文物、建筑物)的三维重建通过一个摄像机或几个摄像机(不需要平行)可完成。但在机器人技术中,一般都应用双目平行视觉或三目视觉,目前三目系统应用的比较多。三目即在双目基础上在上方再加一个摄像头,目的是测量垂向视差,使测量的更靠谱。 

摄像头的选择:最好是视角广的,因为可视范围广。但具体要看利用什么方法建模与定位了。

双目系统的搭建:双目系统一般指双目平行视觉系统,自己搭建时,使两个摄像机基本平行就可以。我采用的是两个logitech C-310。

双目系统标定:标定是指利用数学方法找到摄像机的内外部参数。有很多种方法,目前较流行的是根据实际中的物体进行标定。我利用的方法比较落伍,采用的MATLAB校正工具箱calib_toolbox(见http://www.vision.caltech.edu/bouguetj/calib_doc/,该网站上有使用方法的详细介绍)。利用OpenCV也可以,LearningOpenCV教材上有介绍。

(我的经验:利用MATLAB工具箱标定时,棋盘的摆放位置应尽量离谱点,以给出更多的空间信息。还有那个重投影映射,如果误差比较大的话,会越来越大,最好慎用,对于像我这样的什么都不懂的选手,最好别用。)

上图是标定棋盘示意图,摆放的姿态差异要尽量大。下图是单目定标的误差,误差基本上在0.2左右,还算可以。

双目图片校正:校正是指利用标定过程中得到的参数对图片进行修正。双目图像的校正需要双目间的旋转和平移参数,这些都可以在标定过程中得到。(前期试过LearningOpenCV教材上的方法,不过那种方法对分辨率为640*480的图像效果很好,但对320*240的图像有时候校正的效果非常离谱。)利用MATLAB工具箱校正结果如下:

从上图可以看出,经双目校正后,相应特征点在同一极线上。

双目图像的同时抓取:我是参见的“http://blog.csdn.net/chenyusiyuan”的博客代码改写的,他博文中开始提到的方法说如果两个相同型号的摄像头放在一起就不行,但我试了,可以。最后我用的directShow的方法实现。

采集图像时分表率要设置为多大?

自己经验:如果是需要提特征点(兴趣点)的话,分辨率越大越好;若不需要提取兴趣点而直接获取视差图,则分辨率越小越好(因为视差小,这类方法都是视差越小越好)。

经校正后的双目图片是极线对齐的,即应对应的像素点在同一水平线上。在此基础上可以进行下一步工作——生成视差图和三维点云。

抱歉!评论已关闭.