简介
《深度学习计算机视觉实战》是一本看懂计算机视觉的实战指南,使用理论与实践相结合的思想,真正一站式搞定理论学习、算法开发到模型部署上线。 全书内容共分为四个部分。第一部分包括第1、2章,主要讲解深度学习和计算机视觉基础,如计算机视觉领域的经典网络和常见的目标检测算法;第二部分包括第3~6章,主要讲解图像处理知识,结合应用案例,对知识点进行分析说明;第三部分包括第7~11章,主要讲解计算机视觉中的实战项目,对实现细节做了追本溯源的讲解;第四部分包括第12~13章,主要讲解模型的落地部署,该部分的讲解基于TensorFlow Lite框架,该框架受众广、热度高,且在各种平台都有对应的支持与优化加速方案,方便读者使用。 本书中的上百个知识点与50多个案例都是作者工程应用中的经验总结,每章末尾均有"进阶必备”,给读者提供更多的拓展知识。本书适合计算机视觉的初学者、计算机视觉算法开发人员、对深度学习有兴趣的用户或者亟须工程落地使用的用户,也适合作为高校相关专业的学生教材使用。
作者介绍
肖铃,硕士,现任职于南方海洋科学与工程广东省实验室。2016年毕业于中国科学技术大学与中国科学院合肥物质科学研究院安徽光机所大气光学研究中心,曾就职于中兴通讯股份有限公司和珠海金山办公软件有限公司,长期从事图像处理、深度学习计算机视觉算法,以及基于TensorFlow Lite的AI模型部署研究。
刘东,研究员,博士生导师。现任中国科学院合肥物质科学研究院安徽光机所大气光学研究中心副主任,曾在美国怀俄明大学大气科学系做博士后。主要从事大气光学和激光雷达大气探测研究工作,是国际激光大气探测协会(ICLAS)中国唯一委员,SKYNET国际委员会中国委员,安徽省气象学会副理事长。
部分摘录:
前言 写作目的
犹记数年之前,自己在学习深度学习技术时的苦恼。那时,有一款能识别不同的植物的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技术实现某一个功能,这些功能可能使用开源的模型就能满足,那么这些用户只需要参考阅读部署章节。因为这些用户需要考虑的是如何将手上的模型转换为适合部署的模型,以及将这个模型部署到自己负责的端侧设备上去。
最后,希望本书能给予正在学习的读者一些帮助,这将是笔者莫大的荣幸。由于能力有限,书中可能存在一些疏漏之处,恳请读者不吝赐教。
肖铃
2021年5月30日