内容简介
本书作为一本视频图像处理算法与性能优化方法的学术专著,既反映了相关领域近年来的新研究进展,又给出了作者在视频图像处理技术方面的研究成果与应用实例。全书共分为9章,包括绪论、视频图像处理在智能驾驶中的应用、GPU体系架构、CUDA与OpenCL编程模型、异构计算与性能优化方法、Canny边缘检测算法优化、人脸检测算法优化、异构平台激光雷达算法优化、性能与功耗等内容。本书可供从事计算机应用、视频图像处理、并行算法及并行软件的设计与开发、智能驾驶等领域的研究人员、工程技术人员阅读。
内页插图
目录
序
.前言
第1章绪论
1.1视频图像处理
1.1.1概述-I
1.1.2视频图像处理发展与
应用-I
1.1.3视频图像处理算法关键
技术-I
1.2视频图像处理在智能驾驶领
域的应用
1.2.1概述-I
1.2.2视频图像处理在智能驾
驶领域的应用与发展
1.2.3视频图像处理在智能驾
驶领域的关键技术
1.3异构平台与GPU架构
1.3.1概述
1.3.2 GPU体系架构
1.3.3 GPU编程模型
1.4 GPU性能加速优化方法
1.4.1访存优化
1.4.2计算优化
1.4.3数据本地化
第2章视频图像处理在智能
驾驶中的应用
2.1引言
2.1.1国外研究现状
2国内研究现状
2.2车道线的提取和跟踪
2.2.1道路图像预处理方法
2.2.2边缘检测
2.2.3基于Hough变换的车
道线检测
2.3 交通标志牌的检测和识别
2.3.1交通标志简介
2.3.2交通标志识别简介
2.3.3交通标志牌检测
2.3.4基于SVM的交通标志
牌检测
2.3.5交通标志的识别
2.3.6基于SVM的交通标志
牌的识别
2.4交通信号灯的检测
2.4.1颜色分割
2.4.2基于颜色和形状的交通
信号灯检测识别
2.5智能车其他视频图像处理
2.5.1基于SVM的行人检测
2.5.2 SVM与深度学习
2.6本章小结
第3章GPU体系架构
3.1 GPU与CPU架构的区别
3.2 当前主流GPU体系架构
3.2.1 NVIDIA GPU架构
3.2.2 AMD GPU架构
3.2.3两种架构的异同
3.3本章小结
第4章 CUDA与OpenCL编程
模型
4.1 CUDA编程模型
4.2 0penCL编程模型
4 3 CUDA和OpenCL编程
流程
4 3 l CUDA向量相加程序
编写过程
4 3 2 0penCL向量相加程序
编写过程
4 4 GPU程序性能优化分析
4 5本章小结
第5章异构计算与性能优化
方法
5 1视频图像处理算法
5 2访存优化方法
5 2 l CPU与GPU之间的
传输优化
5 2 2 global memory的合并
访问
5 2 3 shared memorT ’
5 2 4寄存器
5 3矩阵转置算法
5 3 l算法简介及分析 ’
5 3 2并行性分析
5 3 3矩阵转置算法优化
5 3 4性能分析
5 4规约算法
5 4.1算法简介及分析
5 4 2并行性分析
5 4 3规约算法优化
5 4 4性能分析
5 5 resize算法
5 5 l算法简介及分析
5 5 2并行性分析
5 5 3 resize算法优化
5 5 4性能分析
5 6 Laplace算法
5 6 l算法简介及分析
5 6 2并行性分析
5 6 3 Laplace算法优化
5 6 4性能分析
5 7本章小结
第6章Cannv边缘检测算法
优化
6 1引言
6 l l边缘检测相关概述
6 1 2视频图像处理问题
及方法
6 2国内外研究现状
6 3 Canny边缘检测算法简介
6 4并行性分析及GPU实现
6 4.1并行性分析
6 4 2基于NVIDIA Tegra Kl
的GPU实现与分析
6 5优化策略分析
6 5 l向量化访存 ’
6 5 2数据本地化
6 5 3条件分支优化
6 6 Canny边缘检测算法优化过程
与实验结果分析
6 6 l灰度化算法
6 6 2滤波及计算梯度幅
值算法
6 6 3非极大值抑制算法
6 6 4递归确定边缘算法
6 6 5 Canny及边缘检测算法
6 7本章小结
第7章人脸检测算法优化
7 1引言
7 2人脸检测算法
7 2 l GPU架构
7 2 2 Viola - Jones人脸
检测算法
7 3人脸检测算法的GPU实现
与优化
7 3.1并行性分析
7 3 2 NaYve实现与负载不
均衡
7 3 3 GPU优化
7 4性能评估
7 4.1实验平台
7 4 2正确性验证
7 4 3性能分析
7 5本章小结
第8章异构平台激光雷达算
法优化
8 1引言
8 l l国外研究现状
8 1 2国内研究现状
8 2车载激光雷达
8 2 l激光雷达目标检测
8 2 2激光雷达环境感知
8 2 3激光雷达的优势
8 2 4 Velodyne三维激光
雷达
8 3激光雷达数据处理算法
8 3 l激光雷达数据获
取及解包
8 3 2激光雷达识别障碍物
8 3 3用Hough变换进行路
边检测
8 4激光雷达数据处理算法
优化
8 4 l栅格投影优化
8 4 2数据传输优化
8 4 3栅格处理优化
8 4 4性能评估
8 5本章小结
第9章性能与能耗的权衡
9 1引言
9 2能效评价指标
9 3各层次能耗优化策略
9 4系统级能耗优化技术
9 5本章小结
参考文献
前言/序言
智能驾驶是当前一个主要的研究热点,视频图像处理技术在智能驾驶领域有着广泛应用,如车道线检测、障碍物识别、红绿灯识别和交通标志牌识别等。视频图像实时处理技术是智能驾驶领域的重要研究内容,也是智能驾驶安全的重要保证。随着GPGPU计算的发展,特别是NVIDIATegra高性能GPU计算平台的推出,通过高性能计算技术实现视频图像的实时处理,成为当前重要的研究热点和发展趋势。
GPGPU的出现和发展,给并行计算带来了新的计算平台。新计算平台需要新方法来进行并行软件开发。GPU编程的重点在于性能优化,经过细致调优的GPU程序可实现巨大的性能提升。然而,GPU编程的难点也在于性能优化,并行程序开发人员不仅要熟悉算法特征,还必须要了解底层硬件架构特征,这就对GPU并行程序开发人员提出了新的挑战。
近年来,我们跟踪新计算平台上视频图像实时处理技术的最新进展并深入研究,试图从算法和硬件架构两方面来迎接这种挑战,书中不仅介绍了在智能驾驶中广泛应用的视频图像处理算法,而且介绍了多种不同的GPU架构,在此基础上,分析了GPU编程和优化的主要思路和方法,不仅能针对各种独立的优化方法,更重要的是能针对各种优化方法组合的情况。研究过程中得到了国家自然科学基金重大研究计划项目、北京市属高等学校高层次人才引进与培养计划项目、北京市教育委员会科技计划面上项目的资助,成果已用到北京联合大学智能车上。
本书作为视频图像处理技术理论研究和应用的一本学术专著,参考了国内外大量的相关文献,总结了我们近几年来的研究成果,并提供了大量的实际案例,通过实际案例的实现和解析,为读者提供一个视频图像处理算法在GPU上实现和优化的具体思路和方法。读者通过本书的阅读和学习,不仅可以学习视频图像处理技术在智能驾驶中的应用,而且可以了解GPU程序从实现到优化的具体方法。虽然本书实际案例的实现都是基于CUDA,但是本书也比较了CUDA和OpenCL的异同,本书描述的优化方法也可以非常方便地移植到OpenCL程序的编写和优化中。
本书可以分成如下四个逻辑单元:
视频图像处理技术在智能驾驶中的应用:第2章在分析了当前国内外主●●●●● 视频图像处理与性能优化Ⅵ 流的智能驾驶技术后,详细介绍了在智能驾驶中应用广泛的几类视频图像处理算法,包括:车道线的提取和跟踪技术、交通标志牌的检测和识别技术、交通信号灯的检测与识别技术等。
GPU硬件架构与编程:第3章介绍了CPU与GPU架构的主要区别,在此基础上,对当前主流的GPU架构特征(包括NVIDAGPU和AMDGPU) 进行了详细介绍,这是进行GPU并行编程和优化的前提。第4章介绍了当前GPU主要的编程模型:CUDA和OpenCL,不仅介绍了这两种编程模型的关键概念和定义、两种编程模型的异同;而且通过一个简单的例子介绍了使用这两种编程模型进行GPU编程的主要流程和方法,最后给出了GPU程序性能优化的主要思路。
实际案例分析:第5章介绍了矩阵转置、规约算法、resize算法和La�瞤lace算法等主要的视频图像处理算子在GPU上的实现和优化方法,结合具体算法详细分析了GPU编程和优化思路和方法。最后第6~8章分别给出了Can�瞡y、人脸检测以及激光雷达算法等具体实际应用案例的GPU移植和优化方法。
性能与能耗:第9章从能效评价指标、各层次能耗优化策略以及系统级能耗优化技术三个方面介绍了在高性能计算以及智能驾驶中对性能与能耗的权衡。
本书由梁军、贾海鹏著,其中肖琳、胡正坤、梁爱华、许武、李威、王晶、魏秋明和李志豪参与了本书的编辑整理工作。在本书编写、出版的过程中,得到了鲍泓教授主持的国家自然科学基金重大研究计划项目(91420202)的资助,同时,也参考了国内外大量的论文和专著,在此一并表示感谢。
由于时间仓促,书中难免会出现错误和不妥之处,恳请广大读者不吝批评指正。
梁 军贾海鹏
视频图像处理技术在智能汽车以及无人驾驶中的应用非常广泛,如车道线识别、前方车辆的检测与识别、交通标志牌的识别、红绿灯识别等。视频图像处理技术在智能驾驶中的应用中除了需要满足可靠性和鲁棒性两方面的要求外,实时性也是非常重要的要求。能够实时对道路的实际情况做出反应,是智能驾驶安全的重要保证。因此,在保证算法可靠性和鲁棒性的前提下,研究视频图像实时处理算法和技术对于智能驾驶来说至关重要。
随着通用计算图形处理器(GeneralPurposeGraphicProcessingUnit,GPGPU)技术的发展,GPU的应用也越来越广泛。英伟达(NVIDIA) Tegra系列高性能GPU计算平台推出后,利用高性能计算技术实现智能驾驶中视频图像的实时处理成为重要的发展趋势。然而,如何编写正确、高效的GPU并行程序成为软件开发人员面临的一大挑战,同时GPU并行程序的调试、性能剖析也日益成为GPU并行软件开发的难题。GPU并行程序开发和优化的本质是实现算法特征向底层硬件架构特征的高效映射,这就对GPU并行软件开发人员提出了更高的要求:不仅要了解算法特征,而且要对底层架构有着清晰的认识。这无疑增加了将GPU高性能计算技术应用到智能驾驶视频图像实时处理应用中的难度。
在这种背景下,本书的出现非常及时。本书从视频图像处理在智能驾驶中的应用、GPU体系架构与编程模型、GPU编程与优化、GPU优化实际案例剖析、性能与能耗的权衡五个方面,详细讨论了利用GPU高性能计算技术实现智能驾驶视频图像实时处理的关键方法。GPU编程的重要内容是性能优化,这就需要软件开发人员在详细了解GPU硬件架构特征的基础上,根据实际的算法特征,选择最优的优化方法组合,从而实现算法的最佳性能。本书详细介绍了NVIDIA和AMD多代GPU计算平台的架构特点,计算统一设备架构(ComputeUnifiedDeviceArchitec�瞭ure,CUDA)与开放计算语言(OpenComputingLanguage,OpenCL) 两种GPU编程模型的比较以及GPU通用优化方法,同时提供了大量的实际案例,更加深入地讨论GPU优化方法的选择与应用方式。通过本书,读者可以了解视频图像处理技术在智能驾驶中的应用和GPU架构的发展,学习如何使用CUDA开发高性能的GPU程序,包括访存优化、计算优化和数据本地化优化等。
本书作者梁军是北京联合大学副教授,李德毅院士智能车团队的重要成员。研究方向包括智能驾驶、并行算法及并行软件的设计与开发等,实际参与了多辆智能车并行软件的开发、调试和应用,本书是作者根据自己在智能驾驶领域多年的研究●●●●● 视频图像处理与性能优化Ⅳ 基础和实际并行编程经验,从开发优秀GPU并行软件的本质出发,以通俗易懂的方式对最为关键的基本知识和技术进行了细致讲解。本书既可成为智能驾驶领域的参考书籍,也可供GPU并行软件开发人员及高校师生参考。
视频图像处理与性能优化 电子书 下载 mobi epub pdf txt