自动驾驶异构计算能力及CNN算法的研究(任务书,开题报告,论文说明书31000字)
摘要
自动驾驶是传统汽车产业和新一代信息技术结合的产物,是信息化时代到来所必然产生的结果。在信息技术日益发达地情况下,传统的汽车已逐渐不能满足人们的生活需要,人们趋向于更加便捷更加智能的生活。而无人驾驶技术是一门多学科交叉而成的新技术,涉及到通信技术,计算机技术,车辆工程技术以及数学学科等多们学科技术。本文主要针对无人驾驶系统中的硬件计算平台进行研究,了解常用的几种异构计算技术,并分析各自的优劣;同时本文还对CUDA,一种GPU并行通用计算平台展开了详细地介绍,分析了CPU-GPU异构计算平台相对于传统CPU集群的优势,同时对如何进行CUDA程序优化展开了详细地描述。最后对无人驾驶系统的环境感知部分所要用到的CNN算法进行了深入的研究,了解到了卷积神经网络在计算机视觉领域的广泛应用以及该技术在环境感知部分发挥的重要作用;同时利用CNN算法完成了基于MNIST数据库的手写数字识别的实验。
关键词:自动驾驶,异构计算,CUDA,CNN,手写数字识别
Abstract
Autopilot is a product of the combination of the traditional automotive industry and the new generation of information technology. It is the result of the arrival of the information age. With the development of information technology, traditional cars have gradually failed to meet people's needs. People tend to be more convenient and smarter lives. Driverless technology is a multidisciplinary new technology, involving communication technology, computer technology, vehicle engineering technology and mathematics disciplines and many other subjects. This paper focuses on the research of hardware computing platforms in unmanned systems, understanding several commonly used heterogeneous computing technologies, and analyzing their advantages and disadvantages. At the same time, this article also presents a detailed introduction to CUDA, a GPU parallel general computing platform. This paper analyzes the advantages of CPU-GPU heterogeneous computing platform over traditional CPU clusters, and describes in detail how to perform CUDA program optimization. Finally, the CNN algorithm used in the environment-sensing part of the unmanned system is studied in depth. It is understood that the convolutional neural network is widely used in the field of computer vision and the technology plays an important role in the perception of the environment. At the same time, CNN is used. The algorithm completed the experiment of handwritten digit recognition based on the MNIST database.
Keywords:Autopilot, heterogeneous computing, CUDA, CNN, handwriting recognition
目录
摘要 I
Abstract II
目录 3
第1章绪论 1
1.1自动驾驶汽车的发展历程 1
1.2研究现状 2
1.2.1自动驾驶异构计算平台的现状及发展 3
1.2.2人工神经网络的发展及现状 3
1.2.3卷积神经网络的发展及现状 4
1.3研究内容及主要工作 5
1.4本章小结 5
第2章自动驾驶异构计算平台 7
2.1异构计算 7
2.1.1异构计算的概述 7
2.1.2异构计算的研究现状 7
2.2几种常见的异构计算平台 8
2.2.1基于CPU-GPU架构的异构计算平台 8
2.2.2基于CPU-FPGA架构的异构计算平台 9
2.2.3基于ASIC的异构计算平台 9
2.2本章小结 10
第3章基于CPU—GPU异构模型的CUDA计算平台 11
3.1 CPU—GPU异构计算模型 11
3.1.1CPU和GPU的介绍及硬件结构的比较 11
3.2 CUDA简介 12
3.2.1 CUDA理论基础 12
3.2.1 CUDA的应用 14
3.3 基于CUDA模型的GPU硬件体系结构 14
3.4 基于CUDA的编程模型 16
3.4.1 线程组织 17
3.4.2 存储结构 18
3.4.3 编程模型 19
3.5本章小结 20
第4章 CUDA程序的性能优化 21
4.1影响计算性能的因素 21
4.1.1 访存延迟 21
4.1.2 负载分配 22
4.1.2 同步开销 22
4.2访存优化 23
4.2.1存储器间数据传输的优化 23
4.2.2全局存储器的联合访问 24
4.2.3利用共享存储器进行合并 25
4.3指令流的优化 26
4.3.1 指令性能和和延迟 26
4.3.2避免控制流分支 27
4.4本章小结 28
第5章人工神经网络和卷积神经网络 29
5.1人工神经网络 30
5.1.1神经感知元模型 30
5.1.2感知机与多层网络 31
5.1.3 误差逆传播算法 32
5.2卷积神经网络 35
5.2.1卷积神经网络的结构 36
5.2.2卷积神经网络的特点 37
5.3本章小结 38
第6章基于卷积神经网络的手写数字识别 39
6.1手写数字识别的概述 39
6.2手写数字识别的流程 39
6.3MNIST手写数字数据库的简介 39
6.4基于CNN的手写数字识别 40
6.4.1基于MLP的手写数字识别 40
6.4.2基于CNN的手写数字识别算法 41
6.4.3基于CNN改进的手写数字识别算法 42
6.5本章小结 43
第7章结论 44
7.1全文总结 44
7.2展望 44
参考文献 46
致谢 48 |