基于SURF算法的自动导引车精确定位技术 下载: 1099次
1 引言
自动导引车(AGV)属于移动机器人的范畴,已广泛应用于车间物料运输、仓储物流等领域[1]。目前,AGV在工业应用中,存在多种导引方式,不同的领域中对AGV的性能指标有不同的要求,导引方式也随之不同。在绝对定位领域中,采用全球定位系统(GPS)导引[2],定位精度较低,为±20 mm,且易受到干扰,尤其是在被建筑物遮挡的车间中;采用磁导引[3]成本较低且定位结构简单,但定位精度低,约为±10 mm;采用激光导引[4]定位精度为±5 mm,但其成本较高,且易被外界干扰;采用超声波导引[5]定位精度可达±3 mm左右,但其成本较高,且对外界环境要求极高;采用视觉导引[6]定位结构紧凑,性价比高,定位精度可达±2 mm,但在精密加工作业中这种精度不能满足实际需求。如何实现AGV的绝对定位精度的进一步提升,仍然是将AGV应用于精密加工中遇到的瓶颈。
目前,在利用视觉导引定位的领域中许多研究人员进行了大量的探索与研究。何珍等[7]结合激光扫描与视觉定位信息,采用无迹卡尔曼滤波算法进行多传感器信息融合,最终实现了精确定位,但是该方法模型建立复杂,结构误差相对较大;朱奇光等[8]提出了一种同时定位与地图创建(SLAM)的方法,但其未进行站点精确定位;李照等[9]提出了一种基于视觉导引的三点定位法,通过三点定位获取二维码轮廓,然后,利用中心点偏移计算误差,实现了精确定位,但是该方法定位精度不高;魏明明等[10]提出了一种导航信标定位的方法,在地面铺设特定的定位标识符,系统可识别到相机视野中的定位标识符,即发送停车信号,但是该方法缺少信息反馈,定位精度不能得到可靠的保证。
针对以上情况,本文提出一种基于单目视觉的AGV精确定位的方法。根据视觉导引AGV的特点,建立视觉导引模型。利用摄像机获取目标图像,采用加速稳健特性(SURF)算法提取目标图像特征点以及特征点的主方向和描述算子,并实时拍摄图像,对其进行相似处理,再利用特征点的相关信息与目标图像特征点作匹配,并根据匹配的特征点坐标信息,利用最小二乘拟合获取实时拍摄图像与目标图像之间的转换矩阵。基于AGV的视觉导引模型将获取的转换矩阵转化到AGV实际运动坐标系中进行单步运动,完成单步运动后,实时反馈图像,并对反馈图像信息作相似处理生成下一步运动,直至满足AGV的精确定位要求。本文的精确定位过程中包含了图像采集与预处理、特征点提取、特征点信息获取、特征点匹配、位姿矫正、实时图像反馈等。
2 单目视觉定位建模
2.1 AGV布局与视觉系统标定
AGV布局如
考虑相机畸变的原因,相机每次获取的图像都需要作修正。采用李涛涛等[12]提出的平面标定方法获取相机的内参矩阵,以及径向畸变系数
式中:
获取内参矩阵后,还需要获取地面物理场景与像素的关系(同一物距下,地面物理场景与像素的关系值是固定的),以及图像坐标系与AGV坐标系之间的角度关系。如
式中:(
根据顶点坐标可分别计算出世界坐标系下矩形周长
式中:
2.2 导引系统坐标系建立
根据相机成像原理可知,摄影图像与世界坐标之间存在世界坐标系、相机坐标系、图像坐标系3个坐标系的转换关系;由于相机垂直于地面安装,世界坐标系与图像坐标系的转换关系如
AGV坐标系
式中:(
由于AGV姿态是通过控制量Δ
图 4. 补偿运动模型。(a)图像旋转示意图;(b)图像旋转坐标关系
Fig. 4. Model of motion-compensation. (a) Schematic of image rotation; (b) coordinate relation for image rotation
补偿运动模型如
式中:Δ
3 精确定位算法分析
采用QR码作为标识图像,如
3.1 标识图像滤波
图像滤波是对图像的噪声进行抑制并保留原有图像的细节特征,滤波的效果直接影响后期算法的可靠性和有效性。因此采用高斯滤波方法[13],由于高斯函数的傅里叶变化后为另外一个高斯函数,因此利用高斯函数可以实现低通滤波,使图像模糊化,并去除高斯白噪声,以防止图像出现失真或噪声而提取到错误的特征点。同时,高斯滤波相对于均值滤波[14]可有效地保护图像细节特征,以防止提取的特征点过少而影响匹配效果。高斯滤波可分为频域和时域滤波,频域滤波是将函数进行傅里叶变换并与高斯函数作乘积,通过设立阈值来过滤高频信号,但是采用这种滤波方法处理图像函数存在数据和计算量较大的缺点,所以本文采用高斯时域滤波,利用二维零均值高斯函数与图像函数卷积来实现滤波。二维零均值高斯函数表达式为
滤波后的图像函数表达式为
式中:
高斯滤波中,标准差
式中:
3
本文获取标识图像特征点信息采用SURF算法[16],通过近似Hessian行列式图构造金字塔图像,利用判别式从金字塔图像中提取图像特征点,再对提取的特征点利用Haar小波确定主方向以及描述算子。
3.2.1 特征点提取
特征点提取首先需要构造Hessian行列式图,即根据每个像素点
式中:
式中:
式中:
获得Hessian行列式图后,需构建金字塔图像。SURF算法中的金字塔图像是采用不同的尺度和不同的高斯模板来对图像进行模糊,层数越高的图像,高斯模板以及尺度值越大,即图像越模糊、斑点越大;相比于尺度不变特征变换(SIFT)算法[17]中的高斯函数差分(DOG)图像,SURF算法没有降采样过程且每层图像可同时处理,算法的速度比SIFT快。金字塔层数的选取直接影响特征点数量,层数越高,图像衰减越快。本文选取4层金字塔构造金字塔图像,其中,高斯模板选择以一个像素点为中心,取值为3×3,9×9,15×15,21×21的尺寸,高斯函数中标准差
令一阶导数为零,则
式中:
3.2.2 获取特征点主方向及描述算子
匹配两张图像中相同的特征点时,将特征点的主方向以及描述算子作为主要的参考量。本文主方向的寻找是通过以特征点为原点,特征点尺度
式中:
特征点描述算子是通过以检测的主方向为方向在特征点周围取一个正方形的方框,再将方框划分为16个子区域,每个子区域统计一定量像素点的Haar特征。综合考虑匹配的精度以及算法的时间复杂度,本文方框的边长取15
3.3 特征点匹配及定位控制量计算
3.3.1 获取特征点匹配
根据对目标图像和当前拍摄的图像获取的特征点信息以及判别式的符号,可对两张图像进行特征点匹配,本文采用近似最近邻(FLANN)搜索算法[18]对两张图像的特征点进行匹配。
图 8. 不同算法下的图像匹配结果。(a)(b) ORB算法;(c)(d) SIFT算法;(e)(f) SURF算法
Fig. 8. Image matching results for different algorithms. (a)(b) ORB algorithm; (c)(d) SIFT algorithm; (e)(f) SURF algorithm
提取特征点主方向及描述算子的方法,准确率是其重要的指标之一。本文将SURF特征点提取算法与两种常用的特征点提取算法作比较,分别为ORB(Oriented FAST and Rotated BRIEF)特征点提取算法[19]和SIFT特征点提取算法,如
3.3.2 定位控制量计算
获取到匹配后的特征点对,求取匹配点对的欧氏距离表示为
式中:(
根据欧氏距离排序,提取较小的20对特征点对。将获取的特征点对转化到图像坐标系下,表达式为
式中:(
根据最小二乘拟合,可得
式中:
获取到2张图像的转换关系后,需要转换为实际的控制量。所提模型中,物距变化较小,计算控制量时,2张图像可近似为尺度一致的图像,小车的控制量可表示为
式中:(Δ
4 实验结果与分析
实验平台采用自主开发的全向重载AGV,如
视觉系统标定中采用15 mm×20 mm的矩形作为标定图像,利用标定方法,可以得到图像坐标系与AGV坐标系的夹角
实验中,AGV事先运动到工位的定位点并以此作为定位参考点,拍摄地面二维码作为定位目标图像,然后AGV驶离再进入工位进行自动定位。定位采用位置模式,由于存在运动误差需进行多步运动,单步运动完成后,将相机拍摄的实时图像与目标图像对比,并基于设定的阈值判断是否达到所需精度。综合考虑电机分辨率、机械结构误差、相机实时拍摄物距误差,以及其他外部因素的影响,AGV的
图 10. 实验数据。(a) X轴方向定位结果;(b) Y轴方向定位结果;(c)角度定位结果
Fig. 10. Experimental data. (a) Positioning results in X axis; (b) positioning results in Y axis; (c) angular positioning results
5 结论
提出了一种基于单目视觉的AGV精确定位方法,通过视觉系统识别二维码完成定位预判与姿态矫正。根据AGV的结构特性,建立视觉导引模型。利用高斯函数对图像进行平滑以及噪声过滤,并采用SURF算法提取目标图像和实时拍摄图像的特征点以及特征点的主方向和描述算子,再根据获取的信息匹配特征点。利用最小二乘拟合获取目标图像与实时拍摄图像之间的转换矩阵,并根据获取的转换矩阵结合视觉导引模型生成AGV的单步运动控制量,再根据实时反馈的图像生成下一步运动控制量,并通过设定阈值以实现AGV的精确定位。通过实验验证,本文的精确定位方法定位稳健性较好,定位精度可达±1 mm,适用于结构尺寸较大的AGV中,下一步准备将该方法运用到更多复杂的场景中,并进一步提高定位精度以及缩减算法时间。
[1] 谢永良, 尹建军, 贺坤, 等. 轮式AGV纯滚动转向系统设计与无侧滑转向控制研究[J]. 农业机械学报, 2018, 49(4): 27-35.
[4] 陈顺平, 梅德庆, 陈子辰. 激光导引AGV的自动引导系统设计[J]. 工程设计学报, 2003, 10(5): 279-282.
[5] 王凡, 彭勇. 基于TDOA的室内超声波定位方法的改进[J]. 计算机技术与发展, 2014, 24(6): 250-253.
[7] 何珍, 楼佩煌, 钱晓明, 等. 多目视觉与激光组合导航AGV精确定位技术研究[J]. 仪器仪表学报, 2017, 38(11): 2830-2838.
[8] 朱奇光, 袁梅, 陈卫东, 等. 基于CEH∞F的移动机器人SLAM算法研究[J]. 仪器仪表学报, 2015, 36(10): 2304-2311.
[9] 李照, 舒志兵, 严亮. 基于模糊路径纠偏的AGV视觉精定位研究[J]. 电子技术应用, 2018, 44(4): 81-85.
[10] 魏明明, 汪焰恩. 基于计算机视觉反馈的AGV定位停车研究[J]. 机床与液压, 2011, 39(15): 35-37, 51.
[11] 张建鹏, 楼佩煌, 钱晓明, 等. 多窗口实时测距的视觉导引 AGV 精确定位技术研究[J]. 仪器仪表学报, 2016, 37(6): 1356-1363.
[12] 李涛涛, 杨峰, 许献磊. 基于多视觉线结构光传感器的大尺度测量方法[J]. 中国激光, 2017, 44(11): 1104003.
[13] 郭显久, 庄严, 王珂, 等. 基于高斯滤波器的尺度相乘边缘检测算法[J]. 计算机工程与应用, 2005, 41(3): 70-71, 197.
[14] 廖建尚, 王立国. 两类空间信息融合的高光谱图像分类方法[J]. 激光与光电子学进展, 2017, 54(8): 081002.
[15] 李巍巍. 基于积分图快速图像处理方法研究[J]. 自动化与仪器仪表, 2016( 5): 105- 106, 109.
Li WW. Research on fast image processing method based on integral graph[J]. Automation & Instrumentation, 2016( 5): 105- 106, 109.
[16] 靳京京, 卢文龙, 郭小庭, 等. 基于SURF和RANSAC算法的同步相移干涉图位置配准方法[J]. 光学学报, 2017, 37(10): 1012002.
[18] 冯亦东, 孙跃. 基于SURF特征提取和FLANN搜索的图像匹配算法[J]. 图学学报, 2015, 36(4): 650-654.
[19] 景军锋, 谢佳, 李鹏飞. 基于SURB结合随机抽样一致算法在鞋面匹配中的应用[J]. 激光与光电子学进展, 2018, 55(1): 011005.
Article Outline
高雪松, 李宇昊, 张立强, 陈志华. 基于SURF算法的自动导引车精确定位技术[J]. 激光与光电子学进展, 2019, 56(10): 101203. Xuesong Gao, Yuhao Li, Liqiang Zhang, Zhihua Chen. Precise Positioning Technology for Automatic Guided Vehicles Based on SURF Algorithm[J]. Laser & Optoelectronics Progress, 2019, 56(10): 101203.