AGV小车视觉定位算法的实现研究毕业论文
2020-02-19 19:19:53
摘 要
AGV车定位导航是工业生产自动化中一项重要的基础性工作。在AGV车定位导航任务中,目前多采用电磁感应引导和激光引导的方式实现。电磁感应引导依靠地面上事先铺设的电线产生的电磁信号实现定位,激光引导依靠运行路径上的激光定位标志实现定位,定位受环境影响较大,自适应性差,灵活性差,搭建成本较高。
为使得AGV车定位可自适应不同的环境,提高定位精度,提高灵活度并减少建设成本,应某企业需求,需设计一种基于深度学习方法的AGV车视觉定位算法。详细分析本课题的需求后,进行算法设计与实现。具体研究内容如下:首先,确定整个视觉定位算法的总体设计,包括本课题的硬件平台、软件平台、主要流程以及主要模块;其次,分模块详细描述AGV车视觉定位算法的设计原理和实现技术,包括图像增强、目标检测、边缘描绘、特征点检测和路径规划;然后,详细描述了AGV车视觉定位算法的设计与实现过程中关键技术问题和解决方案,包括坐标系变换、采用Faster-rcnn网络实现目标检测、采用FCN网络实现边缘描绘以及采用CNN实现特征点检测时的关键技术和解决方案;最后,对AGV车视觉定位算法的实现过程进行总结。
论文完成了对AGV车视觉定位算法的设计与实现,各模块功能测试和性能测试结果表明AGV车视觉定位算法具有可行性。
关键词:AGV,视觉定位,深度学习,目标检测,边缘描绘,特征点检测
Abstract
AGV vehicle positioning and navigation is an important basic work in industrial production automation. In the AGV vehicle positioning and navigation task, electromagnetic induction and laser guidance are often used. The electromagnetic induction guide relies on the electromagnetic signals generated by the pre-layed wires on the ground to realize the positioning. The laser guidance relies on the laser positioning marks on the running path to achieve positioning, the positioning is affected by the environment, the adaptability is poor, the flexibility is poor, and the construction cost is high.
In order to make the AGV vehicle position adapt to different environments, improve positioning accuracy, improve flexibility and reduce construction cost, an AGV vehicle vision positioning algorithm based on deep learning method should be designed according to the needs of an enterprise. After analyzing the requirements of this topic in detail, the algorithm design and implementation are carried out. The specific research contents are as follows: Firstly, the overall design of the whole visual positioning algorithm is determined, including the hardware platform, software platform, main process and main modules of the subject; secondly, the sub-module describes in detail the design principle and implementation technology of the AGV vehicle visual positioning algorithm. Including image enhancement, target detection, edge rendering, feature point detection and path planning. Then, the key technical problems and solutions in the design and implementation of AGV vehicle vision location algorithm are described in detail, including coordinate system transformation and adopting Faster-rcnn network. The key technologies and solutions for achieving target detection, implementing edge rendering with FCN network and implementing feature point detection with CNN are summarized. Finally, the implementation process of AGV vehicle vision localization algorithm is summarized.
The paper completed the design and implementation of the AGV vehicle visual positioning algorithm. The functional test and performance test results of each module show that the AGV vehicle visual positioning algorithm is feasible.
Keywords: AGV, visual positioning, deep learning, target detection, edge rendering, feature point detection
目录
摘要 I
Abstract II
目录 1
1绪论 3
1.1选题目的及意义 3
1.1.1研究目的 3
1.1.2研究理论意义 3
1.1.3研究实际意义 3
1.2国内外研究现状 4
1.2.1国外研究现状 4
1.2.2国内研究现状 4
1.3相关技术 5
1.3.1卷积神经网络 5
1.3.2深度学习 6
1.3.3计算机视觉 7
1.3.4TensorFlow架构 8
1.4论文主要工作 9
2总体设计 11
2.1软硬件平台 11
2.2总体流程 11
2.3主要模块 12
2.3.1图像增强 12
2.3.2目标检测 13
2.3.3边缘描绘 13
2.3.4特征点检测 14
2.3.5路径规划 15
2.4本章小结 15
3具体功能实现 16
3.1图像增强 16
3.2目标检测 17
3.3边缘描绘 18
3.4特征点检测 20
3.5路径规划 21
3.6本章小结 21
4关键技术实现 22
4.1坐标变换 22
4.2 利用深度网络的算法实现 24
4.2.1基于Faster-rcnn的目标检测 24
4.2.2基于DCNN的特征点检测 27
4.3本章小结 29
5测试与改进 30
5.1测试结果 30
5.1.1功能测试 30
5.1.2性能测试 33
5.2改进方案 34
5.3本章小结 35
6经济与环保分析 36
6.1经济分析 36
6.2环保分析 36
7总结与展望 37
7.1总结 37
7.2展望 38
参考文献 39
致谢 41
附件:部分源代码 42
1绪论
本章说明本课题的背景和意义,并介绍部分相关技术,最后总结论文的主要工作。明确课题的必要性和现实意义,并提供部分实现途径和思路。
1.1选题目的及意义
1.1.1研究目的
本课题将针对当前工厂AGV引导场地搭建复杂、成本高、扩展性低的现状以及传统机器学习实现的视觉定位算法准确度低的问题,设计一种基于深度学习的视觉定位算法,完成AGV车的视觉定位和路径引导。通过目标检测、语义分割、关键点检测、路径规划等主要问题的解决,实现AGV车的视觉定位和路径引导。本课题最终设计并实现一种AGV车视觉定位的算法,旨在降低定位对环境的依赖、提高自适应性、提高灵活性、减少搭建成本以及解决基于传统机器学习的视觉定位算法准确度低的问题。
1.1.2研究理论意义
当前,工业生产自动化程度逐步提高,自动引导车是实现工业自动化的关键途径之一,研究自动引导车的理论意义重大。其中AGV的导航方式是AGV研究的重点,导航方式的发展决定了AGV的安全性、稳定性、高效性和智能性。现有的AGV导航方式很多,但大都基于固定的引导路径实现,并达到一定的瓶颈阶段。随着深度学习的快速发展,视觉导航正在快速发展,研究基于深度学习的AGV视觉定位算法前景广阔,可以促进工业自动化和智能化,同时为基于深度学习的自动驾驶等领域提供一定的思路,意义重大。
1.1.3研究实际意义
自从 20 世纪 50 年代以来,AGV的应用愈加广泛,在工业智能化生产车间与各大港口和机场的货运运输等一些领域扮演着重要的角色[1]。21 世纪的现代化生产也迫使物流朝着现代化的进程进行发展。本课题研究的视觉定位算法可以应用到工厂车间,提高AGV导航的自适应性,也可以应用到港口等物流行业,为AGV导航带来新鲜血液。AGV视觉定位算法应用场景广泛,应用前景广阔,研究AGV视觉定位算法实际意义重大。
1.2国内外研究现状
1.2.1国外研究现状
AGV的第一台原型机是在1913年产生的,是由美国福特公司发明的,采用的方法是使用带有有轨导引的AGV车去替换掉原来的输送机,节省了很多时间,大大提高了效率。20世纪50年代末,欧洲的国家开始普遍使用AGV;20世纪 60年代,计算机技术开始运用于AGV系统中,AGV系统从仓储进入到了FMS(Flexible Manufacturing System,柔性加工系统)中,使AGV技术得到了迅速的发展,把应用领域增加到柔性加工领域[2];70年代,AGV再次大扩展,将技术应用到企业的生产系统;80年代,因为计算机技术的快速发展,AGV的生产成本降低很多,并且性能得到更加有效的保障;90年代,AGV再次得到大力发展,由于互联网相关技术的发展,AGV开始趋于网络化,趋于信息化,趋于智能化。AGVS 在欧美日等工业发达国家的应用范围已经十分广泛,并且朝着专一化方向发展,许多工厂已经采用 AGVS 作为运载工具的柔性制造装配系统。目前,AGV 的高级发展方向是无需固定线路、全方位运行能力,以及超负荷、高精度定位等能够在特定工作环境需求下的工作能力[3]。
为加快AGV自主研发进展,美国卡耐基梅隆大学和福特公司以及美国国家航空和宇航局等机构展开合作,联合开发AMTS项目。该项目集成了多种计算机技术和智能控制软件,主要包括基于计算机视觉的AGV定位系统、货盘抓取系统、货盘堆垛系统以及相应的规划软件[4]。
1.2.2国内研究现状
在国内,我国的 AGV 技术从20世纪60年代才开始,起步较晚,在70年代中期,诞生了第一台国产AGV。在借鉴国外先进技术的同时,国内研究人员不断研究创新,使得我国的AGV 技术发展迅速。1976 年,北京起重运输机械研究所研制出国内第一台实用型 AGV,以及第一条使用 AGV 的滚珠加工演示系统;80 年代后期,北京机械工业自动化研究所研制出了一款应用于立体仓库的 AGV;沈阳自动化研究所研制出了专用于汽车发动机装配的 AGV 系统,之后又在 AGV 车体结构、导航控制等多个方面取得了多项研究成果和发明专利,它成为第一个自主品牌的搬运型和装配型 AGV 产品生产单位[5]。
吉林大学智能车辆课题组主要从事基于视觉导航方式的研究,先后开发了JUTIV-1、JUTIV-2型视觉导航车,在此基础上,开发出面向工厂实际应用的JLUIV-3型、通用型和装配型视觉导航AGV[6]。AGV导航方式有很多,经过这么多年的发展,很多导航方式已经成熟并商用,而基于视觉技术导航的AGV是近几年才开始兴起的。随着近几年神经网络、深度学习、智能制造等技术的发展,也给AGV的导航方式提供了新的思路和方法。
1.3相关技术
1.3.1卷积神经网络
神经网络的思想最早起源于1943年提出的MCP人工神经元模型。MCP模型希望计算机可以模拟人类神经元反应的全过程,它将神经元反应简化为由信息处理规则、学习规则和作用函数三个要素构成的基本模式。1958年,Rosenblatt提出的感知器(perceptrons)算法首次将MCP用于机器学习的二分类中,并于1962年被证明收敛,引起了第一次神经网络的浪潮。然而,1969年美国数学家Minsky在其著作《Perceptrons》中分析并证明了感知器本质上是一种线性模型,仅局限于处理线性分类问题。此后20年,神经网络研究几无进展。1986年,Hinton提出了适用于多层感知器(MLP)的BP算法[7],用sigmoid函数进行映设,解决了非线性问题,其万能逼近定理于1989年被证明,再次鼓舞了神经网络的发展。1991年,BP算法被指出会出现梯度消失的问题,使得神经网络的发展再次落入冰点。2011年,ReLU激活函数被提出,有效处理并解决了梯度消失的问题。为证明深度学习的潜力,Hinton课题组于2012年用他们构建的CNN网络模型AlexNet在ImageNet图像识别比赛中取得第一的成绩,从此CNN引起了大量研究者的注意。
CNN是一个主要应用在图像处理领域的特殊的深度神经网络,最初源于科学家提出的感受野(Receptiive Field)的概念,具体来说是,动物的神经元在视觉认知过程中,只会处理一小块区域的图像。CNN的主要特点是,它包含一种由卷积层和池化层构成的能够提取样本特征的特征抽取器,且在同一层中卷积核共享,降低了网络的复杂度的同时,也在一定程度上减少了过拟合。CNN虽然能够较好地判断图像中包含的物体属于什么类别,但因为池化过程丢弃了部分细节信息,所以不能给出具体的轮廓,也就是说,不能以像素对像素的形式给出每一像素对应的类别。因此,对于图像边缘检查这样的精确分割任务,传统的CNN还无法胜任。针对精确分割的问题,Jonathan Long等于2015年提出了FCN。
FCN通过反卷积(deconvolution)来进行图像分辨率的恢复,它将各层的输出恢复到原图大小,从而实现像素到像素的类别判断。起初,仅对第五层输出进行反卷积,细节效果不尽人意,于是又对第四层与第三层输出也依次进行反卷积,这样结果就更加精确了。
1.3.2深度学习
深度学习(Deep Learning, DL)是机器学习的技术和研究领域之一,通过建立具有阶层结构的人工神经网络(Artifitial Neural Networks, ANNs),在计算系统中实现人工智能。由于阶层ANN能够对输入信息进行逐层提取和筛选,因此深度学习具有表征学习能力,可以实现端到端的监督学习和非监督学习。此外,深度学习也可参与构建强化学习系统,形成深度强化学习。
深度学习作为机器学习研究的一个新兴领域,由Hinton等人于2006年提出。深度学习来源于多层神经网络,其实质是给出了一种将特征表示和学习合二为一的方式[8]。和传统的机器学习方法相比,深度学习对场景的适应性更强,对特征的提取和抽象使得它具有更好的泛化性和鲁棒性;因为深度学习所涉及的参数量大,所以需要的训练时间会更长;同时深度学习应用领域更加广阔,前景也更广阔。深度学习的特点是摒弃了可解释性,改为追求学习的有效性。通过多层处理,逐渐将初始的“低层”特征表示转化为“高层”特征表示后,用“简单模型”即可完成复杂的分类等学习任务。经过多年的摸索尝试和研究,已经产生了诸多深度神经网络的模型,其中卷积神经网络、循环神经网络是两类典型的模型,另外还有深度置信网络和受限玻尔兹曼机模型[9]。
在应用方面,深度学习被用于对复杂结构和大样本的高维数据进行学习,按研究领域包括计算机视觉、自然语言处理、生物信息学、自动控制等,且在人像识别、机器翻译、自动驾驶等现实问题中取得了成功。
1.3.3计算机视觉
近年来,深度学习技术深刻推动了计算机视觉的发展。计算机视觉是使用计算机及相关设备对生物视觉的一种模拟。它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景的三维信息,就像人类和许多其他类生物每天所做的那样[10],旨在识别和理解图像或者视频中的内容。无论是医疗诊断、无人车、摄像监控,还是智能滤镜,计算机视觉领域的诸多应用都与我们当下和未来的生活息息相关。
计算机视觉主要有四个基本任务,分别是分类、定位、检测、分割。任务难度是递增的,由这四个基本任务可以完成很多扩展应用任务,下面就四个基本任务对计算机视觉进行介绍。
图像分类是根据图像的语义信息将不同类别的图像区分开来,利用图像本身反映出的不同特征把不同类别的目标分开。实现方式是通过卷积神经网络进行特征提取,然后利用分类器进行图像分类。对于分类任务,ImageNet比赛功不可没,从2012年AlexNet利用卷积网络获得比赛冠军后,涌现了一系列CNN模型,不断地在ImageNet上刷新成绩。随着模型变得越来越深以及精妙的结构设计,Top-5的错误率也越来越低,降到了3.5%附近。而在同样的ImageNet数据集上,人眼的辨识错误率大概在5.1%,也就是目前的深度学习模型的分类能力已经超过了人眼[11]。
目标定位是给出目标在图像中的具体位置,通常是以包围盒的形式给出。目标形状不唯一、目标的姿态不一定以及图像中目标的距离问题给图像定位带来了很大的挑战。目标定位的实现主要通过卷积神经网络进行特征的提取,然后利用标注的目标框和识别的目标框之间的损失值进行网络训练。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: