基于人体检测与跟踪的AGV视觉导航技术研究毕业论文
2020-02-19 14:54:49
摘 要
科技的进步使得工业自动化程度越来越高,其中,自动导引车(Automated Guided Vehicle,AGV),在工业自动化生产中扮演着越来越重要的角色,且日益广泛的被应用在物流仓库、自动化工厂、港口、码头等地。而视觉导航技术是控制AGV高效运作的关键技术之一,本设计的主要工作是研究基于人体检测与跟踪的AGV视觉导航技术。目的是将其应用于携货的AGV车在仓库或者码头等地追踪人体移动、实现自动导航的场景。
本设计在导航算法上采用了KLT稀疏光流法与人脸识别相结合的检测方法,其中,KLT光流法需要的特征点由Harris角点检测法获得。人脸识别基于OpenCV库,用于锁定人脸进行追踪。而KLT光流追踪法可以测算人体下一时刻的移动位置,从而进行追踪。由于在同一环境下可以假设光照强度相同,不妨设人体上的特征点在某一局限域内移动时,像素值保持近似不变,只要求出二维图像中该像素的速度矢量(u,v),就能测算出该物体这一点在下一时刻的移动位置。通过追踪人体上大量这样的特征点,就能实现人体移动位置的实时追踪。本设计同时基于Pioneer-LX AGV研究平台,进行了实验验证。实验结果表明,跟踪方法能够使得AGV小车很好的达到预设的追踪要求。光流追踪法能够对人体的移动位置进行测算,提高了追踪的实时性,而人脸识别高了追踪的准确度。本实验可作为AGV车在仓库等地进行人体追踪与自动导航的雏形。
关键字:AGV,人脸识别,OpenCV,光流追踪,Harris角点算法
Abstract
Automated Guided Vehicle (AGV) plays an increasingly important role in Automated industrial production and is widely used in logistics warehouses, Automated factories, ports and docks. Visual navigation technology is one of the key technologies to control the efficient operation of AGV. The main work of this design is to research AGV visual navigation technology based on human detection and tracking. The purpose is to apply it to the scene where AGV vehicles carrying goods track human body movement and realize automatic navigation in warehouse or dock.
In the navigation algorithm, this design adopts the detection method combining KLT sparse optical flow method and face recognition. Among them, the feature points required by KLT optical flow method are obtained by Harris corner point detection method. Face recognition based on OpenCV library, used to lock face tracking. KLT tracking tracks the body's movements at the next moment. Since the illumination intensity can be assumed to be the same in the same environment, the pixel value remains approximately unchanged when the feature point on the human body moves within a certain limited domain. Only the velocity vector (u,v) of the pixel in the two.dimensional image is required to calculate the moving position of the object at this point in the next moment. By tracking a large number of such feature points on the human body, real.time tracking of the body's moving position can be achieved. The design is also based on the Pioneer-LX AGV research platform and verified by experiments. Experimental results show that the tracking method can make the AGV vehicle well meet the preset tracking requirements. The optical flow tracking method can measure and track the moving position of human body, which improves the real.time tracking, while face recognition improves the tracking accuracy. This experiment can be used as the prototype of human body tracking and automatic navigation for AGV vehicles in warehouses and other places.
Keywords: AGV, face recognition, OpenCV, optical flow tracking, Harris corner algorithm
目录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 2
1.3 人体检测研究算法简介 4
1.4 本文的组织与架构 5
第2章 Pioneer-LX 机器人 7
2.1 Pioneer-LX 机器人简述 7
2.2 Pioneer-LX软件系统 8
2.3 用户连接简介 9
2.4 Pioneer-LX的运用 10
2.5 本章小结 11
第3章 人脸识别与光流追踪 12
3.1 人脸识别算法简介 12
3.2 光流追踪法 14
3.2.1 光流法基本原理 15
3.2.2 HS光流法 17
3.2.3 LK光流法 19
3.2.4 光流法特征点的选取 21
3.3 KLT光流追踪算法 26
3.3.1 KLT算法流程 26
3.3.2 KLT算法编程调试 28
3.4 本章小结 31
第4章 实验结果分析 32
4.1 人脸识别与光流跟踪的整合 32
4.2 实验验证 34
4.3 结果分析 37
4.4 本章小结 37
第5章 总结与展望 38
5.1 本设计的主要工作 38
5.2 下一步计划 38
致谢 39
参考文献 40
附录 42
第1章 绪论
1.1 研究背景及意义
科技不断的发展,使其带来工业自动化程度的不断提高,自20世纪50年代以来[1],自动导引车(Automated Guided Vehicle),也就是常说的AGV车,不仅日益在工业领域举足轻重,而且广泛的被应用在了物流仓库、自动化工厂、港口、码头等地。AGV车是一种用于无人驾驶的高智能化移动机器人。高柔性,高灵活,高可靠使得其能够方便的调试及维护。能够快速的投入到工业生产中去,而且,AGV具有AI的普遍优势,能够将工人从高强度的生产作业中解放出来,比如说在高温高压,易燃易爆等环境中,由AGV携货运输就好得多。并且,AGV不知疲倦,可以全天24小时运行,极大提高了生产效率,降低了生产成本。我国生产制造规模庞大,结合我国国情,人力成本越来越高,人口老龄化现象日趋严峻。因此,可以认为,当前的制造业现状不佳,迫切需要转型,以机械替代人力劳动已成为大势所趋。而作为一种智能化、自动化的搬运设备,自动导引车(AGV)将会深度融入自动化工业领域[2],融入自动化和智能化物流领域。
图1.1 AGV小车
AGV作为智能化运输领域的重要组成部分,其自身就具有自调度,可编程和协调工作等特点,比如上海港的洋山四期全自动化码头,已经实现了多台AGV全自动无人运作。它是一种具有对传统制造企业发展成为敏捷制造企业有强大的推动力的智能设备。自动导航技术是使得AGV小车具有无人驾驶优势的关键性技术。目前,低成本高可靠的实现AGV的导航功能,是AGV导航技术的发展趋势。目前产品主要是以磁导航和激光导航为主。例如洋山港四期无人化码头中的80多台AGV车同时运行,就是靠地面的上万磁钉进行的定位。
图1.2 无人化码头AGV车
AGV车目前运用的比较传统的导航方式主要包括惯性、电磁、激光导引以及视觉导引[1,2]等方面。其中视觉导引拥有特别显著的优势:通过视觉能够充分获取到外界负责的环境信息;能够很好地适应外界光照强度的变化(这一点对本设计的研究颇为重要),因此对外界环境的适应性强。本文所研究的视觉导航AGV,需要通过摄像头获取到外界环境的信息,将背景信息过滤掉,将人体移动的信息提取出来,标记人脸,测算特征点的移动,从而进行追踪。提高AGV检测的效率,提高追踪时的准确度和实时性,算法选用是实现目的的关键环节,拟选用算法时需要考虑其实用性和运行效率。通过视觉导引和算法选用及时有效地提取信息,能够保证AGV运行时的安全性、可靠性以及稳定性。
运用SLAM技术进行定位构图,结合激光技术可以实现AGV车的有效避障[3],这些都是AGV导航技术目前比较成熟的运用。但是这些技术目前主要适用于大型生产装备车间的应用,在成本和灵活运用上存在不足。不利于AGV的推广。本设计就是在这种背景下,试图通过视觉导引,探索AGV小车在携货情形下,能够避障,对人体进行追踪和自动导航的雏形。本设计有利于AGV在我国的推广和应用,研究基于一定的理论基础,并且进行了创新。具有一定的实际运用价值。
1.2 国内外研究现状
国外关于AGV的研究一直处于领先地位。自从20世纪50年代第一台AGV自动导引小车由美国的BE公司[4]自主研发以来。AGV导航技术发展速度非常迅速。到了70年代中期[5],已经有将近5000台的AGV服务于欧洲的自动化生产,智能物流领域等各行各业中。至于80年代中期[6],已有上万台的AGV服务于欧美。通过与计算机相互配合,AGV的智能化、自动化程度大大提高。时至今日[7],AGV小车在全球的总数已经达到了10万台,AGV运行系统也超过了2万个,AGV应用的前景变得越来越广阔,其用途也逐渐多样化。
关于视觉导航技术,Cheng团队[8]在当时基于AGV导航的最新突破,在1987年分析了视觉导航在当时的发展前景,认为视觉导航可以突破很多技术方面的难题,成为研究的热点与前沿。视觉导航可以动态采集周围环境的图像等信息。随着电子信息技术的发展,视觉导航AGV成了AGV车研制发展的重要方向。卡耐基.梅隆大学(CMU)在2010年成功研制了RALPH、NAVLAB[9]以及加州伯克利大学自主研制的PATH,在原理上都是基于视觉导航的AGV自动导引车。与此同时,RALPH AGV采用的导航技术,使其能够自动识别车道线、计算路况信息,从而实现自主导航的功能。CMU研制的NAVLAB.11版本系列,采用了神经网络优化算法,进一步提高了AGV车的智能化程度。并且,NASA研制的“机遇号”和“勇气号”已经成功地运行在火星上[10]并且开始在火星上面执行探险任务,如下图1.3所示。
图1.3 火星探测器
在视觉导航AGV的研制领域,国内的相关研究也取得了相当大的进展。包括吉林大学研制的JUTIV.3型V.AGV车 [11],清华大学研制的THMR.V型智能AGV小车[12],南京航空航天大学研发的NHV.II型视觉导航AGV[13]等等。但是国内关于AGV视觉导航在人体检测方面的研究相对而言较少。朴磊团队在2006年介绍了视觉导航的基本原理[14]。贺长林等人在2008年有了基于双目立体视觉技术的研究[15]。周凯在2012年有了人体检测与跟踪算法在跟人AGV视觉导航中的应用研究[16]。但是周凯等是基于Camshift和KCF算法进行的研究,而本设计是基于人脸识别和KLT算法进行的。
1.3 人体检测研究算法简介
计算机技术在现代发展迅猛,其中,图像处理技术更是其不可或缺的环节,进行图像处理的多数原因是为了进行目标检测。目标检测应用十分广泛。人体检测也属于目标检测。人体检测技术已经应用于人体的运动,视频监控等各大领域。武汉的天眼计划耗资上亿,主要采用的也是人体检测技术。但是人体特征各有不同,而且环境也具有复杂多样性,导致人体检测相当困难。
人体检测可以概括为基于图像的人体检测和基于摄像机视频流的人体检测。前者是从图像中检测出人体,当然,也可以提取出视频流中的某一帧检测出人体。MOHan团队在2001年提出了基于静态图像目标检测技术的研究。该研究方法主要是训练SVM,各个SVM分别跟踪头、腿和手臂等部位,最后通过约束来得出跟踪的人体目标。通过各个SVM在复杂场景中锁定人体;PaPaGeorgiu等人在2000年通过Haar特征检测与SVM结合[17],进行了部分的人体检测;Haar特征检测也是本设计人脸识别中的关键环节,不过由于不是本设计的研究重点,在此不作详细介绍。Dala等人在2005年利用梯度直方图和SVM结合进行了人体的检测[18]。而后者基于摄像机视频流的人体检测包括两个方面。一个是背景不变的人体检测。另一个是背景会发生变化的人体检测。背景变不变化主要是看摄像机移不移动。前一种主要包括帧间差分,高斯建模等方法,后一种包括光流法。2006年,罗伯特等人使用放射模型判断帧间背景的运动方向[19],用Harris角点计算稀疏光流,在此基础上,董向舟等人提出了Sift特征点来代替Harris角点[20],并且和传统的光流法进行对比,最后成功得出了检测结果。
在人体检测跟踪算法上面,对于人体的跟踪,无法只凭借单一的图像进行,必须要通过视频流进行,而且在本设计的AGV追踪过程中,必须使用摄像头连续的读取人体移动的视频流。JIA等人在2008年总结了近十年的基于AGV的目标跟踪方法[21],还分析了各种方法的效果,目前来说,跟踪算法可大致分为三种。
第一种是模版匹配跟踪,这种方法是先在当前图像的在特定的局限域内建立模型,之后在下一帧去寻找与当前图像局限域内相同与相似模型。该模型对应区域就是与当前图像局限域最相似的区域,可以认为是需要跟踪的目标区域。目前比较传统的模版匹配跟踪方法是MEAN.Shift。MEAN.shift方法的目标是为了求解追踪的目标的下一帧的位置,是非参核密度估算法。该算法虽然计算速度快,但是MEAN.Shift不能保证全局最优,有时候会出现失误。
第二种是分类器跟踪法,该类是利用机器学习的方法提取图像的特征,比如说在当前图像上,先将刚开始设定好的目标区域当作正样本,将背景区域当作负样本,利用机器学习来训练分类器,再在下一帧利用训练好的分类器去寻找目标区域。比较传统的机器学习法是TLD算法。
第三种是状态估计方法,该方法是通过测算下一帧的位置,主要原理是通过上一帧的信息估算当前的帧的信息,之后更新当前帧的信息,估算下一帧的信息。该类跟踪算法包括KLT光流法,卡尔曼滤波等等算法。
本设计所采用的就是KLT光流追踪法,通过前一帧特征点的信息来测算其在当前帧的位置,并更新当前帧信息,继续测算下一帧的位置。如此,可以通过追踪特征点实现对人体的实时追踪。
1.4 本文的组织与架构
本设计的目的是通过AGV实进行人体检测与追踪的研究。算法上最终采用KLT稀疏光流法与人脸识别相结合的人体检测与跟踪方法,其中,人脸识别基于OpenCV库,用于锁定人脸。而KLT光流追踪法可以测算人体下一时刻的移动位置,从而进行追踪。因此,需要学习掌握C 和KLT算法的相关知识。KLT算法工作原理大致如下:
由于在同一环境下可以假设光照强度相同,则三维物体转换成为摄像头中的二维图像后,该物体某一点的像素值在物体略微移动前后可以假设不变。则物体在某一局限域内移动时,只要求出二维图像中该像素的速度矢量(u,v),就能预估出该物体这一点在下一时刻的移动位置。通过追踪人体上大量这样的特征点,就能实现人体移动位置的测算与追踪。关于KLT算法,将在后文中详细介绍。
本设计同时基于Pioneer-LX AGV研究平台,进行了实验验证。
本文的设计架构主要如图1.4所示:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: