作品简介

开源软件开发作为一种开发模式,社区互动是必不可少的组成部分。我们和OpenCV社区的互动,最早可以追溯到2010年。彼时OpenCV已经在业内流行了,但来自国内的贡献很少。最初,我们也经历了彷徨和不安,担心代码会不被接受。经过一些尝试后,我们逐渐与社区、OpenCV项目的维护者Vadim先生建立了良好的合作关系。待后来Intel收购了Itseez公司之后,大家成为同事,合作就变得更多了。本书的各位作者作为参与OpenCV项目的开发者,贡献了重要算法的优化和实现。他们希望通过本书,分享自己的成长经历,携手国内开源社区的程序员和工程师一起参与OpenCV项目的开发。

吴至文,Intel亚太研发有限公司资深图形图像工程师,拥有多年算法开发优化经验,技术领域涵盖显示系统、视觉处理、深度学习框架加速,尤其擅长基于OpenCL和Vulkan的算法设计及优化,是OpenCV DNN模块Vulkan后端的作者、OpenCL后端主要贡献者之一。近期关注深度学习视觉算法开发及其高效部署。

郭叶军,Intel资深图形图像工程师。多年图形芯片驱动开发经验,主要包括OpenGL驱动和OpenCL驱动。目前关注视频分析中的深度学习,是FFmpeg深度学习模块的代码维护者。

宗炜,Intel资深图形图像工程师,长期从事计算机视觉算法与应用、数字图像处理、Camera成像算法开发,在CPU/GPU/ISP异构计算算法设计与优化上经验颇丰,是图像处理与计算机视觉算法开源项目libXCam的维护者和主要贡献者。近期关注低延时、超高分辨率VR视频直播方案的开发和部署。

李鹏,阿里巴巴高级技术专家,原Intel亚太研发有限公司资深图形图像工程师。涉及领域包括显示系统、图形图像处理、深度学习框架加速。是OpenCV DNN模块OpenCL后端主要贡献者之一。

赵娟,Intel高级研发经理,钻研图形图像、视频编解码和视频处理十几年,带领团队深耕视频编解码和处理软硬件加速、深度学习算法分析与设计,致力于让开源软件在图形图像视频市场落地,并组织团队把多年的“干货”整理成书,与视频行业的朋友们一起探讨与成长。

作品目录

  • 序一
  • 序二
  • 序三
  • 序四
  • 前言
  • 第1章 OpenCV和深度学习
  • 1.1 OpenCV处理流程
  • 1.2 机器学习的数学视角
  • 1.3 OpenCV深度学习模块
  • 1.4 本章小结
  • 第2章 OpenCV深度学习模块解析
  • 2.1 深度学习模块分层架构总览
  • 2.2 语言绑定和测试层
  • 2.3 API层
  • 2.4 DNN引擎层
  • 2.5 引擎加速层
  • 2.6 本章小结
  • 第3章 并行计算与GPU架构
  • 3.1 并行计算浅谈
  • 3.2 Intel GPU架构及其在并行计算中的应用
  • 3.3 本章小结
  • 第4章 基于Vulkan的加速实现
  • 4.1 初识Vulkan
  • 4.2 使用Vulkan加速
  • 4.3 Vulkan后端加速过程解析
  • 4.4 本章小结
  • 第5章 基于OpenCL的加速实现
  • 5.1 OpenCL简介
  • 5.2 如何使用OpenCL加速
  • 5.3 OpenCL加速详解
  • 5.4 本章小结
  • 第6章 CPU及第三方库加速的实现
  • 6.1 原生CPU加速实现
  • 6.2 Halide后端的实现
  • 6.3 Intel推理引擎后端的实现
  • 6.4 本章小结
  • 第7章 可视化工具与性能优化
  • 7.1 Netscope:基于Web的Caffe网络可视化工具
  • 7.2 TensorBoard:助力TensorFlow程序的理解和调试
  • 7.3 VTune:Intel平台的性能调优利器
  • 7.4 程序优化流程总结和建议
  • 7.5 本章小结
  • 第8章 支付级人脸识别项目开发实战
  • 8.1 活体检测的概念与方法
  • 8.2 支付级人脸识别项目流程
  • 8.3 基于OpenCV的支付级人脸识别项目具体实现
  • 8.4 本章小结
  • 第9章 深度学习模块不同场景下的应用实践
  • 9.1 图像分类
  • 9.2 目标检测
  • 9.3 语义分割
  • 9.4 视觉风格变换
  • 9.5 本章小结
  • 附录A OpenCV的编译安装及patch开发流程
  • 附录B intel_gpu_frequency工具的安装和使用
展开全部