编辑推荐
深入解析OpenCV DNN模块、基于GPU/CPU的加速实现、性能优化技巧与可视化工具,以及人脸活体检测等应用。
内容简介
开源软件开发作为一种开发模式,社区互动是必不可少的组成部分。作者和OpenCV社区的互动,最早可以追溯到2010年。彼时OpenCV已经在业内流行了,但来自国内的贡献很少。
最初,作者也经历了彷徨和不安,担心代码会不被接受。经过一些尝试后,逐渐与社区、OpenCV项目的维护者Vadim先生建立了良好的合作关系。待后来Intel收购了Itseez公司之后,大家成为同事,合作就变得更多了。
本书的各位作者作为参与OpenCV项目的开发者,贡献了重要算法的优化和实现。他们希望通过本书,分享自己的成长经历,携手国内开源社区的程序员和工程师一起参与OpenCV项目的开发。
作者简介
作者吴至文,Intel亚太研发有限公司资深图形图像工程师,拥有多年算法开发优化经验,技术领域涵盖显示系统、视觉处理、深度学习框架加速,尤其擅长基于OpenCL和Vulkan的算法设计及优化,是OpenCV DNN模块Vulkan后端的作者、OpenCL后端主要贡献者之一。近期关注深度学习视觉算法开发及其高效部署。
章节目录
版权信息
序一
序二
序三
序四
前言
第1章 OpenCV和深度学习
1.1 OpenCV处理流程
1.1.1 OpenCV库
1.1.2 OpenCV深度学习应用的典型流程
1.2 机器学习的数学视角
1.2.1 机器学习和非机器学习
1.2.2 从人工神经网络到深度学习
1.2.3 破除神秘——神经网络是如何训练的
1.3 OpenCV深度学习模块
1.3.1 主要特性
1.3.2 OpenCV DNN图像分类举例(Python)
1.4 本章小结
第2章 OpenCV深度学习模块解析
2.1 深度学习模块分层架构总览
2.2 语言绑定和测试层
2.2.1 深度学习模块的Python语言绑定
2.2.2 深度学习模块的正确性测试和性能测试
2.3 API层
2.3.1 Layer类及如何定制一个新的层类型
2.3.2 Net类
2.3.3 常用函数
2.4 DNN引擎层
2.4.1 模型导入
2.4.2 推理引擎数据对象管理
2.4.3 推理引擎重点层解释
2.4.4 层的合并优化
2.5 引擎加速层
2.5.1 深度学习模块支持的运算目标设备
2.5.2 深度学习模块支持的加速后端
2.5.3 加速方式的选择
2.6 本章小结
第3章 并行计算与GPU架构
3.1 并行计算浅谈
3.2 Intel GPU架构及其在并行计算中的应用
3.2.1 Intel GPU的计算架构
3.2.2 两种不同的SIMD使用思路——AOS和SOA
3.2.3 cl_intel_subgroups在Intel GPU上的参考实现
3.3 本章小结
第4章 基于Vulkan的加速实现
4.1 初识Vulkan
4.2 使用Vulkan加速
4.2.1 安装Vulkan运行环境
4.2.2 改写应用程序代码
4.2.3 运行DNN模块测试程序
4.3 Vulkan后端加速过程解析
4.3.1 数据对象初始化
4.3.2 后端运算节点初始化
4.3.3 调用后端运算节点进行前向运算
4.3.4 Vulkan后端库
4.4 本章小结
第5章 基于OpenCL的加速实现
5.1 OpenCL简介
5.2 如何使用OpenCL加速
5.3 OpenCL加速详解
5.3.1 OpenCL API封装
5.3.2 DNN模块的卷积层实现详解
5.3.3 ocl4dnn库的卷积运算类详解
5.3.4 卷积核函数auto-tuning机制解析
5.4 本章小结
第6章 CPU及第三方库加速的实现
6.1 原生CPU加速实现
6.1.1 基于多线程技术的加速
6.1.2 基于并行指令的加速
6.2 Halide后端的实现
6.2.1 Halide介绍
6.2.2 如何启用Halide
6.2.3 Halide后端的实现原理
6.3 Intel推理引擎后端的实现
6.3.1 Intel推理引擎介绍
6.3.2 如何启用推理引擎后端
6.3.3 Intel推理引擎后端的实现原理
6.4 本章小结
第7章 可视化工具与性能优化
7.1 Netscope:基于Web的Caffe网络可视化工具
7.2 TensorBoard:助力TensorFlow程序的理解和调试
7.2.1 图的可视化
7.2.2 数据的可视化
7.2.3 调试的可视化
7.3 VTune:Intel平台的性能调优利器
7.3.1 系统性能查看工具
7.3.2 Intel VTune功能介绍
7.3.3 VTune程序性能优化实例
7.4 程序优化流程总结和建议
7.5 本章小结
第8章 支付级人脸识别项目开发实战
8.1 活体检测的概念与方法
8.2 支付级人脸识别项目流程
8.3 基于OpenCV的支付级人脸识别项目具体实现
8.3.1 数据准备
8.3.2 活体检测模型训练
8.3.3 支付级人脸识别系统实现
8.4 本章小结
第9章 深度学习模块不同场景下的应用实践
9.1 图像分类
9.1.1 图像分类经典网络结构
9.1.2 GoogLeNet
9.1.3 图像分类程序源码分析
9.1.4 图像分类程序运行结果
9.2 目标检测
9.2.1 SSD算法解析
9.2.2 目标检测程序源码分析
9.2.3 目标检测程序运行结果
9.3 语义分割
9.3.1 FCN模型
9.3.2 语义分割程序源码分析
9.3.3 语义分割程序运行结果
9.4 视觉风格变换
9.4.1 视觉风格变换模型
9.4.2 视觉风格变换程序源码分析
9.4.3 视觉风格变换程序运行结果
9.5 本章小结
附录A OpenCV的编译安装及patch开发流程
附录B intel_gpu_frequency工具的安装和使用
OpenCV深度学习应用与性能优化实践是2020年由机械工业出版社华章分社出版,作者李鹏。
得书感谢您对《OpenCV深度学习应用与性能优化实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。