基于一般标志物检测的目标追踪算法研究毕业论文
2021-11-05 19:21:09
摘 要
随着自动驾驶汽车相关技术的更迭创新和5G技术的逐步优化,智能网联汽车已经成为各大车企的研发重点。目前全球的自动驾驶产业链已初步形成,技术也在逐步成熟,并且主要处于L3级的研究阶段。我国的百度公司获得了自动驾驶测试许可,发布了“Apollo”计划。目标检测是自动驾驶汽车的基础技术之一,也是后续自动驾驶技术执行路径规划等操作的依据。由于深度学习的发展,目标检测技术也得以提高,催生出了如R-CNN等先进方法,但还是存在尺度变换以及成本耗费大等问题。本文主要研究基于Python来实现一般标志物(二维码等)的识别,利用识别结果求解相机的位姿问题来反推目标物与车辆的距离,并最终实现目标追踪。
论文主要研究了基于二维码等一般标志物的特征提取算法以及利用识别出的二维码中储存的坐标信息(本文中坐标由人工输入,不涉及二维码的解码)结合solvePnP算法来进行目标物距离的计算。研究结果表明:本论文的算法能成功识别出图片中的二维码并能直接利用OpenCV中的solvePnP函数来计算出相机距离标志物的距离,进而实现目标跟踪的目的。
本文的特色:使用Python代替传统的在Microsoft Visual Studio环境中配置OpenCV以及C 语言环境,实现了代码可读性的提高以及简洁化,提高了实现目标检测的检测速度。
关键词:Python;二维码检测;OpenCV;solvePnP;目标追踪
Abstract
With the change and innovation of technologies related to autonomous vehicles and the gradual optimization of 5G technology, Intelligent Connected Vehicle has become the research and development focus of major car companies. At present, the global automatic driving industry chain has been preliminarily formed, and the technology is gradually maturing, which is mainly in the research stage of L3. China's baidu has won approval for autonomous driving tests and launched the "Apollo" project. Target detection is one of the basic technologies of sautonomous vehicles, and it is also the basis for the implementation path planning and other operations of the following self-driving technologies. Due to the development of deep learning, the target detection technology has been improved and advanced methods such as r-cnn have been generated. However, there are still problems such as scale transformation and high cost. This paper mainly studies the recognition of general markers (two-dimensional code, etc.) based on Python, and uses the recognition results to solve the pose problem of the camera to invert the distance between the target object and the vehicle, and finally realizes the target tracking.
This paper mainly studies the feature extraction algorithm based on QR codes and other general markers, and uses the recognized coordinate information stored in the QR codes (the coordinates in this paper are manually input and the decoding of the QR codes is not involved)combining with the solvePnP algorithm to calculate the distance between the target and us.
The result of the research shows that the algorithm in this paper can successfully identify the QR code in the picture and directly use the solvePnP function in OpenCV to calculate the distance between the camera and the target to achieve the purpose of target tracking.
This paper features: Using Python instead of the traditional Microsoft Visual Studio environment in the configuration of OpenCV and C language environment, thus make the code more readable and concise,and improve the speed to achieve the target detection.
Key Words:Python;QR code detection;OpenCV;solvePnP;target tracking
目 录
第1章 绪论 1
1.1研究背景和研究意义 1
1.2 国内外研究现状 2
1.2.1 国外研究现状 2
1.2.2 国内研究现状 3
1.2.3 目前研究存在的问题 3
1.3 本文主要研究内容 3
1.4 本文章节安排 4
第2章 目标检测的理论与方法 5
2.1 图像特征提取及分类 5
2.1.1 基于数据形式的图像特征表现 5
2.1.2 基于视觉形式的图像特征表现 5
2.2 目标检测简介 6
2.3 本文实验环境介绍 6
第3章 二维码识别定位方法 7
3.1 二维码发展历程 7
3.2 QR码简介与识别定位 10
3.2.1 QR码简介 10
3.2.2 QR码识别定位实验 13
3.3 实验结果比较分析 18
第4章 目标追踪实现算法 19
4.1 PnP问题简介 19
4.2 相机标定 19
4.2.1 相机成像模型 20
4.2.2 典型标定方法简介 22
4.2.3 实验验证 24
4.2.4 实验结果对比分析 32
4.3 目标距离计算理论与实验 33
4.3.1 目标距离计算理论 33
4.3.2 实验验证 35
4.4 实验结果分析与比较 37
第5章 本文小结及展望 38
5.1 本文小结 38
5.2 问题与展望 38
参考文献 39
致谢 42
第1章 绪论
1.1研究背景和研究意义
21世纪是一个信息爆炸、网络和科技急速发展的时代,我们的生活真正感受到了“每天不一样”,对于人们来说,汽车已经不再是单纯的代步工具,更是成为了一种休闲娱乐的工具;汽车也不再是只有少数人拥有的奢侈品,它已经走进了寻常百姓家。正是因为我国汽车产业的不断发展,使得我国的汽车保有量在不断提高。这也使得环境、能源以及交通等问题变得越来越被重视。
智能网联汽车是一个有效解决上述问题的产品,是汽车产业的前进方向,也是全球各国对于汽车产业前景的共识[1]。并且,最近国内的5G技术在不断的发展优化,更是为智能网联汽车提供了发展的契机,5G技术的低延迟、高效率使得智能网联汽车更加安全可靠。在计算机信息技术发展如此迅猛的时代,各大汽车企业都在着力研究智能网联汽车这一方向,这是促进汽车行业转型升级的重要举措。
在智能网联汽车领域里,涵盖了诸如主动安全、辅助驾驶和无人驾驶等多个方面。并且自主驾驶是智能车辆领域发展的最终结果,无人驾驶包含于自主驾驶,是自主驾驶以另一种形式表现出来[2]。无人驾驶技术是一项重要的研究工作,也是研究过程中的难点,而在无人驾驶技术中,首先需要的便是“眼睛”,即在车辆上运用机器视觉的技术。因为无人驾驶汽车与一般的智能汽车相比,需要更加先进的环境感知技术等才能实现不需要人为操作的完全的自主驾驶[3],故机器视觉的应用在无人驾驶技术中是至关重要的一环。本文主要研究的是被动视觉传感器,即相机、摄像机等传感器的应用,因为其相对于如激光雷达传感器的距离传感器而言,具有能耗低、成本低以及重量轻等特点,故其无论在自动驾驶中或是在辅助驾驶中都有很广泛的运用。通过本文研究,希望能实现无人驾驶领域中目标追踪的目的。