基于双目视觉的泊车机器人障碍物检测系统
2019-09-12王帅杨建玺
王帅 杨建玺
摘 要:针对泊车机器人和智能停车库研究领域中对视觉系统的需求,设计了一种基于双目视觉的泊车机器人障碍物检测系统。 借鉴物理学中的控制变量法完成双目相机标定,采用Bouguet算法进行立体校正,引入YOLO卷积神经网络对障碍物进行快速检测,利用改进立体匹配算法完成对弱光照下光滑边缘障碍物的检测,搭建双目视觉系统并进行实验验证。 实验结果表明,该系统检测平均耗时为0.463 s,在1 400 mm至2 100 mm范围内检测误差在50 mm内,具有良好的实时性和较高精度,为经济型泊车机器人的研制奠定基础。
关键词:泊车机器人;机器视觉;相机标定;立体匹配;YOLO卷积神经网络
文章编号:2095-2163(2019)04-0079-04 中图分类号:TP317.4 文献标志码:A
0 引 言
随着人们生活质量的日益提高和经济水平的不断发展,汽车保有量呈现井喷式增长,停车成了日常出行的难题[1]。 因此,智能停车库应运而生,作为其核心运载工具的泊车机器人日趋受人们关注,成为移动机器人领域的全新重点应用。 文献[2]中提到的泊车机器人采用激光导航方式,可完成较高精度的导航,但遇到障碍物就会自动停止,需人工干预,不能获取障碍物三维信息而进行自主避障。 文献[3]中由德国Serva公司研制的新型泊车机器人Ray虽已应用到德国杜塞尔机场,但由于其采用激光导航方式,运行速度不高,技术难度大,很难得到推广。 文献[4]中的国产最新泊车机器人的导航方式为“激光导引+磁钉导航”,虽能完成泊车导航,但前期需对停车场进行较大改造,铺设磁钉,使得机器人运行路径固定,使用不方便,成本较大,不能实时检测行进路径上可能出现的障碍物。
以上文献中的泊车机器人虽能完成泊车导航功能,但均采用了成本较高的激光导航技术,不利于推广,且缺少对泊车路径上出现的障碍物(人为误进,车辆附属物脱落等)进行实时检测的功能,易发生泊车事故[5]。 故本文采用双目视觉技术,设计一套泊车机器人障碍物视觉检测系统,完成对泊车路径上障碍物的类别和距离检测,弥补了国内泊车机器人缺少障碍物视觉检测功能的缺陷,为泊车机器人视觉避障奠定基础,且有助于经济型泊车机器人的研制与推广。
1 系统设计
障碍物视觉检测系统作为泊车机器人的“眼睛”,需对泊车路径上的障碍物进行种类和距离检测。 搭建双目视觉检测系统以实时获得丰富的环境信息。 系统由软、硬件2部分组成。 其中,硬件系统包括2台MV-E800M/C相机、LP-03微调长型云台板、Inter i7、GTX980和8G内存。软件系统包括VS2015、Matlab2016a、OpenCV 3.3.0和Ubuntu16.04,将具有可移植性和扩展性的Python语言作为编程语言。
系统的工作流程为:通过双目相机捕捉前方障碍物的目标图像,采集的图像经过立体校正、YOLO障碍物类别检测、立体匹配和深度计算,实现泊车机器人障碍物视觉检测功能。 系统结构流程如图1所示。
2 基于控制变量法的双目相机标定
由于相机的焦距会对障碍物的深度、距离、精度产生影响,故引入物理学中的控制变量法设置2组实验,研究棋盘格标定板规格和标定距离对标定误差的影响,以得到精度较高的焦距。
实验a:设标定距离为1 600 mm,绘制规格分别为8 mm*8 mm、12 mm*12 mm、14 mm*14 mm、16 mm*16 mm、18 mm*18 mm、20 mm*20 mm、22 mm*22 mm、24 mm*24 mm、26 mm*26 mm、28 mm*28 mm、30 mm*30 mm、40 mm*40 mm的棋盘格标定板。
实验b:设置棋盘格标定板规格为26 mm*26 mm,设置12组不同的标定距离,从800 mm至1 900 mm依次增加100 mm,其它条件与实验a保持一致。 实验结果表明在标定板规格为26 mm*26 mm,标定距离为1 300 mm时,标定误差最小。 标定流程如图2所示。
3 基于OpenCV的Bouguet立体校正
通过双目视差求解距离公式是在双目视觉系统处于理想状态下推导出来的[6],而在实际操作中,由于相机畸变、相机装配等原因,使得完全共面行对准的两个相机成像平面是不存在的。 因此,必须对其进行校正,以减少实际误差。 校正步骤:
(1)共面:校正过程中2个图像平面均按照相机旋转矩阵R旋转一半,使重投影畸变最小[7],此时2个相机图像平面共面(畸变校正后光轴也平行),但是行不对准。
(2)行对准:极点是2个相機坐标系原点的连线和图像平面的交点,2个相机的图像平面和2个相机坐标系原点的连线平行,则极点处于无穷远处(即行对准)。
4 障碍物类别检测与深度计算
4.1 基于YOLO卷积神经网络的障碍物快速检测
YOLO(You Only Look Once[8])是一个十分容易构造的目标检测算法。 其将目标区域预测和目标类别预测整合于单个神经网络模型中,可在准确率较高的情况下实现快速目标检测[9],适合泊车机器人的应用环境。 YOLO卷积网络模型共有24个卷积层和2个全连接层。 其中,卷积层用来提取图像特征,全连接层用来预测图像位置和类别概率值。 YOLO卷积神经网络采用PASCAL VOC数据训练卷积层[10-11],然后利用卷积层和全连接构成RPN(Region Proposal Network)实现目标类别和物体位置预测[12]。
YOLO目标检测算法:首先把输入图像划分成S×S的格子,然后对每个格子预测B个检测框(bounding boxes),每个检测框包含5个预测值:x,y,w,h和置信度(confidence)。 其中,x和y是检测框的中心坐标;w和h是检测框的宽与高,每个格子预测C个假定类别的概率,最后输出特征图,其大小为S×S×(B×5+C)。
4.2 立体匹配
由于泊车机器人在弱光照条件下工作,且需对误进的具有边缘光滑的障碍物,如人、猫和狗等进行检测,故需要设计一种满足泊车机器人要求的立体匹配算法。 在对比分析传统的立体匹配算法与边缘检测算法的基础上,选择具有对噪声不敏感,能够完成对弱边缘的检测且精度较高的Canny算子,和简化后的具有光照不变性的SURF算法相结合的方式,完成本文算法设计。 改进的立体匹配算法流程如图3所示。
4.3 深度计算
通过视差图和标定参数,将左右成像平面上的成像点转化到3D空间,可求得障碍物目标点的真实距离。 重投影矩阵Q的表达式如下所示:
5 实验结果与分析
为了验证系统的实时性与准确性,以目标障碍物在同一车库环境的不同距离情况下进行检测。 首先把左相机图像输入YOLO卷积神经网络,确定立体匹配区域,然后采用本文立体匹配算法完成立体匹配(如图4所示),计算最大视差,最后利用双目相机标定参数(见表1)和三角形相似原理,计算出目标区域中最小的实际距离。 系统输出的障碍物类别检测及深度信息如图5所示。
通过8组实验结果可知,该系统在1 400 mm~2 100 mm距离内测距误差在50 mm内,系统平均耗时0.463 s,可满足泊车机器人对障碍物检测的实时性与精度要求,系统性能分析见表2。
6 结束语
针对目前搭载激光传感器的泊车机器人成本高、技术难度大,本文搭建了基于双目视觉的泊车机器人障碍物检测系统,采用控制变量法完成双目标定以得到较高精度的焦距,利用改进立体匹配算法完成立体匹配,引入YOLO卷积神经网络完成障碍物类别检测,最终输出障碍物的类别和距离。 由于国内外相关研究较少,智能车库环境下的检测算法不成熟,硬件成本高,如何制造出低成本、高效率的经济型泊车机器人将是未来研究的重点和难点。
参考文献
[1] 徐欣, 周香琴, 江先志,等. 基于物联网技术的小区停车位共享平台的设计与开发[J]. 工业控制计算机, 2018, 31(1):139-141.
[2]申爱萍. 揭开"最牛泊车机器人"的神秘面纱[J]. 驾驶园, 2017 (9):42-43.
[3]刘爽. 基于二维码识别的自动泊车机器人定位导航技术研究[D]. 武汉:华中科技大学, 2017.
[4]研华科技.怡豐机器人携手研华:以技术力量, 扩展AGV市场应用[J]. 自动化博览, 2018, 35(8):76-77.
[5]魏言华. 基于视觉的车辆后方障碍物检测算法研究与实现[D]. 沈阳:东北大学, 2008.
[6]谢若冰. 双目立体成像和显示的FPGA视频处理技术研究[D]. 北京:北京理工大学, 2015.
[7]叶峰, 王敏, 陈剑东,等. 共面点的摄像机非线性畸变校正[J]. 光学精密工程, 2015, 23(10):2962-2970.
[8]Shubham Shinde, Ashwin Kothari, Vikram Gupta. YOLO based Human Action Recognition and Localization[J]. Procedia Computer Science, 2018, 20(3):133-134.
[9]王昊. 基于卷积神经网络的目标检测与识别方法研究[D]. 南京:南京财经大学, 2016.
[10]施泽浩, 赵启军. 基于全卷积网络的目标检测算法[J]. 计算机技术与发展, 2018, 28(5):55-58.
[11]杨梓豪. 基于区域卷积神经网络的物体识别算法研究[D]. 北京:北京邮电大学, 2017.
[12]李旭冬. 基于卷积神经网络的目标检测若干问题研究[D]. 成都:电子科技大学, 2017.