论文总字数:27468字
摘 要
本文主要探讨了课题的主要内容:设计一种基于双目视觉的无人车速度和位置估计系统,验证双目视觉系统对于速度和位置估计的算法可行性。
首先对双目相机进行标定。分别对双目相机的左右两个摄像头建立针孔成像模型,确定从真实世界中的三维坐标转换到图像像素坐标所需的相机内部参数矩阵和外部参数矩阵。然后建立相机的畸变模型,确定畸变纠正多项式。建立双目相机的深度解析模型。使用MATLAB自带的标定工具箱对双目相机进行标定,确定内参和畸变纠正参数。
然后根据双目相机采集的双目图像序列,使用ORB特征算法提取图像中的特征点;使用逐个匹配或快速近似最近邻算法对左右两幅图像中的特征点进行匹配;再计算匹配点之间的汉明距离,对匹配点进行筛选。对正确匹配特征点根据深度解析原理解算三维坐标。
将解算出三维坐标的特征点作为路标,将相机与特征点之间的距离作为观测值,使用扩展卡尔曼滤波算法(EKF)对相机运动的位置和速度进行估计和优化,输出结果。
本课题验证了双目视觉系统进行速度和位置估计的可行性。主要创新点在于双目相机的成本较为低廉,针对GPS在封闭空间容易丢失信号、车轮滑转率高时编码器测量不准确、雷达的成本高昂等缺陷,双目视觉系统可以代替以上几种常用环境感知方法。
关键词:双目视觉,特征点检测,深度解算,扩展卡尔曼滤波
Abstract
This paper has explained the main content of this topic: to design a system based on binocular vision that can estimate speed and location of the self-driving car.
First, the binocular camera was calibrated. The pin-hole models of both camera on the binocular camera were built respectively so that the intrinsic parameters and extrinsic parameters of the camera used to transfer coordinates in the real world to coordinates in pictures can be known.
Secondly, the distortion models were built to get the polynomials of distortion correction. The model used to calculate depth was built. The binocular camera was calibrated using calibration toolbox in MATLAB. The intrinsic parameters and distortion correction parameters were known due to the calibration.
Finally, features in pictures taken by the binocular camera were extracted using ORB. Then features in both series of pictures were matched using Brute-Force or FLANN. The matched features were screened by hamming distance. The 3D coordinates of matched features were known using principles of calculating depth.
This paper used EKF to estimate and optimize the speed and location of the camera, which was based on the distance between camera and features.
This topic verified the practicability of the system that estimated speed and location. The innovation is that GPS is easy to lose signal in some enclosed environment and encoders’ results will be inaccurate when wheels slip and radars are very expensive, binocular cameras can replace those kinds of sensors under certain conditions.
KEY WORDS: binocular vision, feature detection, depth calculation, EKF
目 录
摘 要 I
Abstract II
第一章 绪论 1
1.1课题研究的背景和意义 1
1.1.1课题研究的背景 1
1.1.2课题研究的意义 1
1.2无人驾驶技术研究现状 1
1.3环境感知研究现状 3
1.4本课题的研究内容及目的 4
1.5本章小结 6
第二章 双目相机的标定 7
2.1建立相机的成像模型 7
2.1.1相机的内参和外参 7
2.1.2相机的畸变 9
2.2建立双目相机的深度测量模型 11
2.3相机的标定 12
2.3.1相机的选择 12
2.3.2使用 MATLAB对ZED相机标定 12
2.4本章小结 15
第三章 三维坐标解算 16
3.1特征点检测 16
3.1.1特征点检测常用方法 16
3.1.2 ORB特征算法原理 19
3.2特征点匹配 21
3.3特征点检测与匹配的实现 21
3.4筛选匹配点 22
3.5获取三维坐标 22
3.6本章小结 23
第四章 速度估计以及优化 24
4.1非线性优化常用方法 24
4.2扩展卡尔曼滤波算法基本原理 24
4.3扩展卡尔曼滤波算法仿真实现 26
4.4本章小结 28
第五章 总结 29
5.1课题总结 29
5.2不足和展望 30
参考文献 31
致 谢 34
第一章 绪论
1.1课题研究的背景和意义
1.1.1课题研究的背景
自上世纪开始电子和计算机技术开始了迅猛的发展,同时在此基础上的各类应用也有了翻天覆地的发展。无人驾驶技术就是其中之一。自从无人驾驶的概念在久远的年代提出来,到上世纪70年代开始初步取得成果,再到近几年由于人工智能算法的成熟和硬件计算能力的提升,大量机构和公司研制出了具有一定自动驾驶能力的无人车,无人驾驶技术一直在发展。无人驾驶技术的前景良好,随着算法的发展完善和计算机的处理能力的提高,无人驾驶技术将朝着最终完全自主行驶的目标发展。无人驾驶技术包括很多研究领域,其中环境感知是一大方向。找到兼顾经济性、准确性和鲁棒性的环境感知方案是最终的目标。
1.1.2课题研究的意义
无人驾驶技术,主要是指通过安装车身的各类传感器,感知车辆周围的环境如道路信息、车辆的速度和位置等,再由车载计算机处理器进行信息处理,完成路径规划、速度控制等任务,代替人类对车辆进行操控,实现车辆自主行驶。无人驾驶技术改变了传统的由人类对车辆进行完全操控的形式。因为人类在疲劳驾驶、注意力分散甚至是酒驾的情况下的行为具有随机、不可预测的特点,每年因为此类原因而发生的交通事故在总数中占有相当大的比重。无人驾驶技术则避免了由此类原因引起的交通事故,因为除去了人类在驾驶过程中的不确定性。但是目前无人驾驶技术的发展还较不成熟。虽然互联网和计算机科技在近年来的迅猛发展为汽车工业带来了深远的影响,包括无人驾驶技术、网联汽车、电动汽车等在内的新兴技术取得了较为显著的研究成果,但是目前这些技术还不足以完全代替传统的车辆模式,如无人驾驶还不能完全取代人类来操控汽车。不过从长远的角度来看,无人驾驶技术对于汽车工业有着重大和深远的意义,不仅可以减少不可预测的交通事故的发生,还可以更精确和理想的控制汽车,减少尾气排放对环境更加友好。综上所述,无人驾驶技术值得大力投入发展。
1.2无人驾驶技术研究现状
在1970年代初一些发达国家就开始了针对无人驾驶技术的研究。最早的无人驾驶概念早在1939年就被美国工程师提出。而第一辆可以被称为无人驾驶汽车的车辆由日本科学家在1977年研制出来。从上世纪直到今天,有很多机构都在进行无人驾驶技术的研究,包括谷歌、苹果、特斯拉等公司,还有斯坦福大学、卡耐基梅隆大学等顶尖科研机构。其中卡耐基梅隆大学研制的NavLab无人车曾经完成了独自横跨美国大陆的自动行驶,其中包括崎岖泥泞的道路和恶劣的暴风雨天气。
剩余内容已隐藏,请支付后下载全文,论文总字数:27468字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;