前言:对一般物体(刚体、文物、建筑物)的三维重建通过一个摄像机或几个摄像机(不需要平行)可完成。但在机器人技术中,一般都应用双目平行视觉或三目视觉,目前三目系统应用的比较多。三目即在双目基础上在上方再加一个摄像头,目的是测量垂向视差,使测量的更靠谱。
摄像头的选择:最好是视角广的,因为可视范围广。但具体要看利用什么方法建模与定位了。
双目系统的搭建:双目系统一般指双目平行视觉系统,自己搭建时,使两个摄像机基本平行就可以。我采用的是两个logitech C-310。
双目系统标定:标定是指利用数学方法找到摄像机的内外部参数。有很多种方法,目前较流行的是根据实际中的物体进行标定。我利用的方法比较落伍,采用的MATLAB校正工具箱calib_toolbox(见http://www.vision.caltech.edu/bouguetj/calib_doc/,该网站上有使用方法的详细介绍)。利用OpenCV也可以,LearningOpenCV教材上有介绍。
(我的经验:利用MATLAB工具箱标定时,棋盘的摆放位置应尽量离谱点,以给出更多的空间信息。还有那个重投影映射,如果误差比较大的话,会越来越大,最好慎用,对于像我这样的什么都不懂的选手,最好别用。)
上图是标定棋盘示意图,摆放的姿态差异要尽量大。下图是单目定标的误差,误差基本上在0.2左右,还算可以。