科技>计算机>网络与互联网
深度学习计算机视觉实战

深度学习计算机视觉实战"

作者:肖铃,刘东
ISBN:9787121417597
定价:¥99.0
字数:465千字
页数:300
出版时间:2021-11
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书是一本看懂计算机视觉的实战指南,使用理论与实践相结合的思想,真正一站式搞定理论学习、算法开发到模型部署上线。 全书内容共分为四个部分。第一部分包括第1、2章,主要讲解深度学习和计算机视觉基础,如计算机视觉领域的经典网络和常见的目标检测算法;第二部分包括第3~6章,主要讲解图像处理知识,结合应用案例,对知识点进行分析说明;第三部分包括第7~11章,主要讲解计算机视觉中的实战项目,对实现细节做了追本溯源的讲解;第四部分包括第12~13章,主要讲解模型的落地部署,该部分的讲解基于TensorFlow Lite框架,该框架受众广、热度高,且在各种平台都有对应的支持与优化加速方案,方便读者使用。 本书中的上百个知识点与50多个案例都是作者工程应用中的经验总结,每章末尾均有"进阶必备”,给读者提供更多的拓展知识。本书适合计算机视觉的初学者、计算机视觉算法开发人员、对深度学习有兴趣的用户或者亟须工程落地使用的用户,也适合作为高校相关专业的学生教材使用。

前言

写作目的 犹记数年之前,自己在学习深度学习技术时的苦恼。那时,有一款能识别不同的植物的App 带给我很大的震撼,于是想弄明白图像处理的原理及其实现方法,结果不甚理想。后来,才知道这个App 是通过AI 技术实现的,自己也萌生了将其复现出来的想法。当时的我没有任何AI 技术基础,于是买了很多书来学习,但这些书讲的都是高深的理论和复杂的公式,即使对我这个从业者而言也很难有读下去的欲望,常常看了几页就没了兴致,甚至怀疑自己可能不适合这个方向。这么断断续续地看下去,机器学习常用算法的理论公式推导了不少,但还是不知道怎么去做出一款App。 通过跌跌撞撞的学习,我开始对机器学习、深度学习有了一个模糊的轮廓,然后明确了自己的学习方向——钻研计算机视觉。然而,这个方向的图书绝大部分是长篇累牍地讲某种深度学习框架的使用,如TensorFlow、PyTorch,或者是将某个功能模型的搭建代码贴出来而鲜有详细说明,在给出训练结果后草草结束。至于这些训练出来的模型怎么使用,以及为什么这么搭建,书中并没有详细说明,很多读者想入门而不得。因此,写作本书的目的是让读者不重蹈覆辙,为读者指明学习的方向,帮助初学者快速入门,为工程应用提供相应的落地解决方案。 主要内容 本书从算法实现到最后的落地部署都有详细的介绍,全书内容可分为四个部分。 第一部分包括第1~2 章,主要讲解深度学习基础和计算机视觉基础。本部分讲解计算机视觉领域的经典网络,这些网络是很多视觉算法模型的主干网络,用于特征的提取;还讲解常见的目标检测算法,有关的算法论文在介绍时都有指出,读者可以查看论文原文,了解更多的算法细节。 第二部分包括第3~6 章,主要讲解图像处理知识。对每个知识的作用点进行分析,说明OpenCV 中Python 和C++接口的详情,并给出多个应用案例,让读者能够清晰地看到图像处理的 效果,增加对知识点的理解。 第三部分包括第7~11 章,主要讲解计算机视觉中的实战项目。这些应用是计算机视觉方向的常见任务,有很多开源代码可供参考。本书在讲解时依照相同的结构讲解,包括数据预处理、网络搭建和模型训练三个模块,这些算法模型经过转换之后的应用效果在本书中也有介绍。在进行项目介绍时,本书对代码做了详细的注释,对于实现细节也做了追本溯源的讲解,让读者能够理解设计意图。 第四部分包括第12~13 章,主要讲解模型的落地部署。本书基于TensorFlow Lite 进行模型 部署的讲解,选用此框架一方面是因为TensorFlow 的受众较广、热度很高;另一方面是因为该框 架在各平台都有对应的支持与优化加速,性能较高,文档完备,比较容易使用。本部分讲解部署中 的模型转换、模型优化、部署中可能遇到的问题及解决办法,这些都是我在工程应用中的经验总结, 遇到的问题也是在部署过程中亲历并顺利解决的,在此讲解是希望帮助读者少走弯路,以最小的代 价实现自己的需求。 本书每章末尾设置了“进阶必备”,作为扩展阅读给读者提供更多的知识,其形式多样,既有 学习方向的指引与选择(如第1、2 章)、工具或开发库的讲解(第3 章),也有对比于深度学习 方法而使用传统图像处理算法实现的任务案例(第8、10 章),还有经验的总结与分享(第9、12 章)等。全书共有近60 个案例,使用理论与实践相结合的思想,真正实现理论学习、算法开发、模 型部署上线的一站式搞定。 学习建议 对于本书的使用,有以下一些建议可供参考。 (1)对于初学者,可按照本书写作的顺序阅读,对不熟悉的算法不需要深究,可以在动手完成 案例的过程中加深理解。从案例中学习,不仅有助于学习理解,还能增加学习的信心与成就感。 (2)对于计算机视觉算法开发人员,本书的算法部分可以作为参考阅读,部署部分可以帮助算 法工程师了解模型研发出来后的部署详情。了解了部署过程中的资源受限情况,可以在算法研发过 程中做一些优化,如模型量化的量化感知训练就是在模型的训练阶段完成的。如果存储或执行速度 受限,算法工程师在选择算法时就应该评估训练出的模型参数量,进而选择合适的算法以匹配存储 或执行速度的要求。另外,执行性能与准确率之间的权衡最好在算法研发的过程中就有所考量。 (3)对于对深度学习有兴趣的用户或者亟须工程落地使用的用户来说,可能只是想通过AI 技术实现某一个功能,这些功能可能使用开源的模型就能满足,那么这些用户只需要参考阅读部署章节。因为这些用户需要考虑的是如何将手上的模型转换为适合部署的模型,以及将这个模型部署到自己负责的端侧设备上去。 最后,希望本书能给予正在学习的读者一些帮助,这将是笔者莫大的荣幸。由于能力有限,书 中可能存在一些疏漏之处,恳请读者不吝赐教。

目录

第1章 深度学习基础 1 1.1 神经网络 1 1.1.1 感知机 1 1.1.2 神经网络原理 2 1.2 卷积神经网络 3 1.2.1 CNN基本操作 3 1.2.2 CNN原理 6 1.3 循环神经网络 7 1.3.1 RNN 7 1.3.2 LSTM与GRU 8 1.4 经典网络 9 1.4.1 AlexNet 9 1.4.2 VGG 10 1.4.3 GoogLeNet 11 1.4.4 ResNet 12 1.4.5 MobileNet 13 1.5 进阶必备:如何学习深度学习 并“落地”求职 16 1.5.1 深度学习如何快速入门 16 1.5.2 深度学习行业求职技巧 17 第2章 计算机视觉基础 18 2.1 目标检测Two-stage算法 18 2.1.1 R-CNN算法 18 2.1.2 Fast R-CNN算法 20 2.1.3 Faster R-CNN算法 21 2.2 目标检测One-stage算法 23 2.2.1 YOLO系列算法 23 2.2.2 SSD算法 29 2.3 图像分割算法 31 2.3.1 FCN算法 31 2.3.2 U-Net算法 33 2.3.3 DeepLab系列算法 34 2.3.4 Mask R-CNN算法 37 2.4 进阶必备:计算机视觉方向知多少 38 第3章 基础图像处理 40 3.1 线性滤波 40 3.1.1 案例1:使用方框滤波 41 3.1.2 案例2:使用均值滤波 46 3.1.3 案例3:使用高斯滤波 48 3.2 非线性滤波 50 3.2.1 案例4:使用中值滤波例 50 3.2.2 案例5:使用双边滤波 52 3.3 OpenCV形态学运算 54 3.3.1 案例6:进行膨胀操作 55 3.3.2 案例7:进行腐蚀操作 57 3.3.3 案例8:使用形态学运算 58 3.4 案例9:使用漫水填充 63 3.5 图像金字塔 67 3.5.1 案例10:使用高斯金字塔 67 3.5.2 案例11:使用拉普拉斯 金字塔 70 3.6 阈值化 73 3.6.1 案例12:使用基本阈值 74 3.6.2 案例13:使用自适应阈值 78 3.7 进阶必备:选择一款合适的图像处理工具 80 3.7.1 OpenCV 80 3.7.2 Matlab 81 第4章 图像变换 83 4.1 边缘检测 83 4.1.1 案例14:Sobel算法 83 4.1.2 案例15:Scharr算法 87 4.1.3 案例16:Laplacian算法 90 4.1.4 案例17:Canny算法 91 4.2 案例18:绘制轮廓 94 4.3 霍夫变换 97 4.3.1 案例19:霍夫线变换 97 4.3.2 案例20:霍夫圆变换 101 4.4 案例21:重映射 103 4.5 案例22:仿射变换 106 4.6 案例23:透视变换 109 4.7 直方图 111 4.7.1 案例24:直方图的计算 与绘制 111 4.7.2 案例25:直方图均衡化 113 4.8 进阶必备:图像变换应用之文本 图像矫正 114 4.8.1 图像变换知识总结 114 4.8.2 案例26:文本图像矫正 115 第5章 角点检测 117 5.1 案例27:Harris角点检测 117 5.2 案例28:Shi-Tomasi角点检测 119 5.3 案例29:亚像素级角点检测 122 5.4 进阶必备:角点检测知识总结 125 第6章 特征点检测与匹配 127 6.1 特征点检测 127 6.1.1 opencv-contrib环境安装 127 6.1.2 案例30:SIFT特征点检测 130 6.1.3 案例31:SURF特征点检测 137 6.2 特征匹配 139 6.2.1 案例32:BruteForce匹配 139 6.2.2 案例33:FLANN匹配 146 6.3 案例34:ORB特征提取 148 6.4 进阶必备:利用特征点拼接图像 151 6.4.1 特征点检测算法汇总 151 6.4.2 案例35:基于特征点检测与 匹配的图像拼接 151 第7章 手写数字识别 155 7.1 Keras的应用 155 7.1.1 Keras模型 155 7.1.2 Keras层 156 7.1.3 模型编译 157 7.1.4 模型训练 158 7.2 LeNet算法 159 7.3 案例36:使用Keras实现手写数字识别 160 7.3.1 模型训练 160 7.3.2 手写数字识别模型推理 164 7.4 进阶必备:算法模型开发流程 167 7.4.1 数据准备 167 7.4.2 网络搭建 169 7.4.3 模型训练 170 第8章 CIFAR-10图像分类 171 8.1 图像分类数据集 171 8.1.1 CIFAR-10数据集和 CIFAR-100数据集 171 8.1.2 ImageNet数据集 172 8.1.3 PASCAL VOC数据集 173 8.2 案例37:CIFAR-10图像分类 173 8.2.1 模型训练过程 174 8.2.2 模型推理 179 8.3 进阶必备:COCO数据集与使用 HOGTSVM方法实现图像分类 180 8.3.1 COCO数据集 180 8.3.2 案例38:使用HOG+SVM 方法实现图像分类 180 第9章 验证码识别 184 9.1 TensorFlow应用 184 9.1.1 案例39:TensorFlow的 基本使用 184 9.1.2 TensorFlow的常用模块 186 9.2 案例40:验证码识别 188 9.2.1 生成验证码图片 188 9.2.2 基于TensorFlow的 验证码识别 189 9.3 进阶必备:算法模型开发技巧 194 9.3.1 数据预处理技巧 194 9.3.2 网络搭建技巧 195 9.3.3 模型训练技巧 196 第10章 文本检测实战 197 10.1 文本检测算法 197 10.1.1 CTPN算法 198 10.1.2 EAST算法 200 10.2 案例41:基于EAST算法的文本检测 202 10.2.1 数据预处理 202 10.2.2 网络搭建 205 10.2.3 模型训练 212 10.2.4 文本检测验证 217 10.3 进阶必备:在不同场景下文本检测的 应对方式 218 10.3.1 复杂场景文本检测 219 10.3.2 案例42:使用形态学运算 实现简单场景文本检测 220 10.3.3 案例43:使用MSER+NMS 实现简单场景文本检测 223 第11章 文本识别实战 226 11.1 文本识别算法 226 11.1.1 CRNN算法 226 11.1.2 Attention OCR算法 229 11.2 案例44:基于C-RNN算法的 文本识别 231 11.2.1 数据预处理 231 11.2.2 网络搭建 232 11.2.3 模型训练 236 11.2.4 文本识别验证 237 11.3 进阶必备:单字OCR 238 11.3.1 OCR探究 238 11.3.2 案例45:文本图片 字符切割 238 第12章 TensorFlow Lite 244 12.1 TensorFlow Lite介绍 244 12.1.1 TensorFlow Lite基础 245 12.1.2 TensorFlow Lite源码分析 246 12.2 模型转换 248 12.2.1 FlatBuffers文件格式 248 12.2.2 案例46:其他格式 转换为.tflite模型 250 12.3 模型量化 252 12.3.1 案例47:量化感知训练 252 12.3.2 案例48:训练后量化 255 12.4 进阶必备:模型转换与 模型部署优化答疑 257 12.4.1 模型转换问题 257 12.4.2 模型部署优化 258 第13章 基于TensorFlow Lite的AI 功能部署实战 260 13.1 部署流程 260 13.2 案例49:移动端部署 261 13.2.1 搭建开发环境 262 13.2.2 编译运行项目 262 13.2.3 调用过程解析 264 13.3 PC端部署 266 13.3.1 案例50:Windows端部署 266 13.3.2 案例51:Linux端部署 278 13.3.3 案例52:ARM平台部署 282 13.3.4 案例53:MIPS平台部署 285 13.4 进阶必备:推理框架拓展与 OpenCV编译部署 286 13.4.1 其他深度学习推理框架 286 13.4.2 OpenCV编译 286

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个