付飞蚺,徐晶,李福善,方明,赵晓军
(长春理工大学 计算机科学技术学院,长春 130022)
近年来在移动机器人领域,基于视觉传感器与激光测距的融合技术成为了研究的热点,特别是在未知环境中机器人的同时定位与地图生成(SLAM)问题中激光扫描仪(以下简称:扫描仪)与视觉传感器则起到了决定性的作用[1,2]。当前的研究中,所使用的激光扫描仪不仅体积笨重而且价格昂贵,不适合小型移动机器人装配[3,4]。本系统采用普通的USB摄像机和360度激光扫描仪RPLIDAR进行组合。摄像机和激光扫描仪经本文所提出的方法标定后,能够捕获具有特定深度信息的图像。由于深度信息嵌入到了彩色位图的第四通道中,并且和图像信息具有对应关系,因此非常适合应用到机器人视觉导航及环境地图的构建应用中。本文首先描述系统的结构,之后提出标定的方法,最后用一个实际的例子验证了系统的有效性。另外,该系统具有扫描准确,装配轻便的优点。
本系统主要由RPLIDAR与USB摄像机两部分构成。RPLIDAR可实现360度6米范围内的激光测距,激光器发射波长为785nm的不可见红外光。USB摄像机采用普通中微型摄像机,摄像机采集数据格式为YUYV,采集的图像分辨率为640×480。
当扫描仪与摄像机在同一高度时,摄像机会发生遮挡,在扫描成像上呈现点云,影响数据融合。所以安装时将摄像机与扫描仪置于同一直线的不同高度。最终得到的装置如图1所示。
图1 系统装置图
RPLIDAR需要根据不同的操作系统安装不同的驱动,摄像机是免驱的。扫描仪与摄像机均采用USB2.0接口供电和进行数据传输。扫描仪每个采样点的数据为距离(毫米)、夹角(度),表示当前采样点相对于扫描仪自身朝向的夹角;信号强度,分为30等级,表示当前采样点的信号质量。
视觉传感器和激光传感器的数据信息融合的首要任务是解决传感器之间的标定问题,并且标定结果的好坏影响后期数据信息融合的效果,因此多传感器的联合标定技术是传感器之间信息融合的桥梁。本系统将扫描仪坐标系标定到图像坐标系中。
图2 标定原理图
图2所示,OB线为摄像机光轴、扫描仪零度角,∠AOC为摄像机视角,角α为物体P点与摄像机光轴夹角,角β为物体P点与扫描仪零度线夹角,可得角α与角β的关系:
公式中L为扫描仪的测量距离,d为摄像机与扫描仪的水平距离。
本系统的标定原理是:通过标定板在扫描仪中的点云图像来调整标定板的位置、标定板与扫描仪零度线的夹角;通过摄像机获取标定板图像,通过SFM[5]方法来计算摄像机的旋转矩阵,来求得摄像机的欧拉角;通过获取同一物体在图像中的角度和扫描仪中的角度计算图像的像素偏移量,完成系统标定。
标定板为针对本系统所设计,边长为10cm的正方形标定板。如图3所示,标定板中的几何图形设计为三等边三角形嵌套,最外面的三角形边长为8cm。四边形为正方形,边长为10cm。
图3 标定板
由于360度激光扫描仪是以近似固定的频率转动,所以在对同一个物体进行不同距离的测量时,所获得的数据采样点的个数会发生变化。为了获取精确的点云信息,进行了如下实验。
分别在标定板与扫描仪距离0.5m、1.0m、1.5m、2.0m、2.5m、3.0m时获取标定板点云个数,如表1所示。
表1 距离与点云个数
为了比较精确地装配采用了点云个数较多的0.5m作为标定板与扫描仪距离。观察点云成像,调整扫描仪,使扫描雷达上0°线垂直平分标定板的点云线,通过获取的点云数据来判断精度,固定扫描仪。如图4所示,黑色矩形框中点为标定板点云。
图4 标定板在扫描仪上的成像
通过张正友标定法[6],对摄像机进行标定。计算得出像素焦距为685个像素,在X方向上的像素偏移为0.23152,Y方向的像素偏移为0.33485。摄像机的水平视角为50.0796°。将USB摄像机置于扫描仪前3cm。对标定板进行拍摄,获取图像如图5所示。
图5 摄像机获取的图像
对标准标定板图像与拍摄图像进行处理,在两幅图像中正方形范围选取300×300的像素矩阵,标出角点,匹配对应角点的像素点坐标。两幅图像中角点的对应坐标从上至下,从左至右的角点对应关系如表2所示。
表2 对应角点的像素坐标
通过SFM算法求得摄像机所拍摄的图像相对于标准图像的旋转矩阵为:
在SFM算法中是以摄像机的光学中心为坐标原点,垂直方向为Y轴光轴方向为Z轴,X轴则垂直于YOZ平面。由旋转矩阵R求得绕Y轴方向的旋转角 α=0.82°,绕x轴方向的旋转角 β=1.27°,绕Z轴方向的旋转角γ=1.14°。
同时启动扫描仪与摄像机获取数据。图6所示为系统的成像结果(左侧为扫描仪数据,右侧为摄像机成像)。
图6 系统成像
通过提取扫描仪数据,标定板的点云中第5点的角度为0.3906°距离为500.5mm,第6点的角度为-0.4531°距离为500.5mm。此时0°线垂直平分标定板点云线。通过图7我们可以求得标定板中等边三角形的中心点坐标为(317,215)。偏移了3个像素点,求得偏移角度为0.234375°,与之前摄像机标定的角度0.2415°相差0.007125°。因此当我们从扫描仪点云数据中获取到物体的角度与距离时我们可以在图像中得到物体的像素坐标。
图7 实验场景图像
图8 深度信息成像
图9 深度信息描点
首先通过OPENCV创建4通道BMP图像,之后将摄像机采集到的RGB三通道数据复制到创建的图像中前三个通道,第四通道存储对应的扫描仪获取的深度信息。
通过扫描仪可以实时获取360度的点云数据,数据包含角度信息与距离信息。摄像机的广角为50°所以将扫描仪采集的±25°内的点带入到公式(1)中,求得角α,再通过角度与像素之间的关系求得理想状态的像素点的x坐标:
通过标定可知该系统中实际图像与理想图像的像素差为-3,所以实际点x′:
在数字图像中,每个通道采用8位存储,转化为uchar型的范围是0到255,而扫描仪采集的数据以毫米为单位,范围在110mm到6000mm,所以在数据存储时需要转换到uchar的表示范围进行存储,之后再保存为bmp图像。
实验场景中分别设置两个标志物,分别是位于图像左侧的饮料瓶,水平的实际距离约为0.8m;位于图像中心偏右的茶杯,实际测量距离约为0.5m。摄像机采集的图像如图7所示,将激光扫描仪获取的数据融合到图像中,提取第四通道生成的深度信息图像如图8所示,其中的灰色点表示该位置的景深信息,越亮的点的位置表示景深越小。图9则是将存储的深度信息和角度信息进行描点,从图中可知参照物饮料瓶相对相机中心的角度约-15°,距离约为822.5mm;参照物水杯相对相机中心的角度约5°,距离约为506.8mm。与实际测量距离相符。
本实验设备可以精确获得一定高度的深度图像。在移动机器人视觉导航方面就有一定的应用价值。在对机器人进行行走控制时通过深度图像可以很好地实现路径规划功能。本系统的不足在于目前只矫正了水平方向的偏移量,在以后的研究中计划对装置进行改进,使其同时获得垂直方向的偏移量,使深度图像更精确。
[1]高学海,徐科军,张瀚,等.基于单目视觉和激光测距仪的位姿测量算法[J].仪器仪表学报,2007,28(8):1479-1485.
[2]陈白帆.移动机器人立体视觉三维重建系统的研究与开发[D].长沙:中南大学,2011.
[3]李赣华.基于摄像机和二维激光测距仪的三维建模关键技术研究[D].长沙:国防科学技术大学,2009.
[4]晁志超,伏思华,姜广文,等.单目摄像机-激光测距传感器位姿测量系统[J].光学学报,2011,31(3):75-79.
[5]Wang Kun,Zheng Nanning.3D face modeling based on SFM algorithm[J].Chinese Journal of Computers,2005,28(6):1048-1053.
[6]马颂德,张正友.计算机视觉:计算理论与算法基础[M].北京:科学出版社,2003.