本书的内容
本书共分为13章,所有代码均采用Python语言(TensorFlow框架推荐使用的语言)编写。
第1章介绍计算机视觉与深度学习的关系,旨在说明使用深度学习和人工智能实现计算机视觉是未来的发展方向,也是必然趋势。
第2章介绍Python 3.6+Tensorflow 1.9+OpenCV 3.4.2的环境搭建。Python语言是易用性非常强的语言,可以很方便地将公式和愿景以代码的形式表达出来,而无须学习过多的编程知识。本章还介绍Python专用类库threading的使用。这个类库虽不常见,但会为后文的数据读取和TensorFlow专用格式的生成打下基础。
第3章主要介绍Python语言的使用。通过介绍和实现不同的Python类库,帮助读者强化Python的编程能力、学习相应类库。这些都是在后文中反复使用的内容。同时借用掌握的知识学习数据的可视化展示能力(在数据分析中是一项基本技能,具有非常重要的作用)。
第4章全面介绍机器学习的基本分类、算法和理论基础,以及不同算法(例如回归算法和决策树算法)的具体实现和应用。这些是深度学习的基础理论部分,向读者透彻而准确地展示深度学习的结构与应用,为后文进一步掌握深度学习在计算机视觉中的应用打下扎实的基础。
第5~6章是对OpenCV类库(Python中专门用于图像处理的类库)使用方法的介绍。本书以图像处理为重点,因此对图像数据的读取、编辑以及加工是重中之重。通过基础讲解和进阶介绍,读者可以掌握这个重要类库的使用,学会对图像的裁剪、变换和平移的代码编写。
第7~8章是TensorFlow的入门基础,通过一个娱乐性质的网站向读者介绍TensorFlow的基本应用,用图形图像的方式演示神经网络进行类别分类的拟合过程,在娱乐的同时了解其背后的技术。
第9章是本书的一个重点,也是神经网络的基础内容。本章的反馈算法是解决神经网络计算量过大的里程碑算法。作者使用通俗易懂的语言,通过详细严谨的讲解,对这个算法进行了介绍,并且通过独立编写代码的形式,为读者实现神经网络中最重要的算法。本章的内容看起来不多,但是非常重要。
第10章对TensorFlow的数据输入输出做了详细的介绍。从读取CSV文件开始,到教会读者制作专用的TensorFlow数据格式TFRecord,这是目前市面上的书籍鲜有涉及的。对于使用TensorFlow框架进行程序编写,数据的准备和规范化是重中之重,因此本章也是较为重要的一个章节。
第11~12章是应用卷积神经网络在TensorFlow框架上进行学习的一个基础教程,经过前面章节的铺垫和介绍,采用基本理论——卷积神经网络进行手写体的辨识是深度学习最基本的技能,也是非常重要的一个学习基础。并且在程序编写的过程中,作者向读者展示了参数调整对模型测试结果的重要作用,这也是目前市面上相关书籍没有涉及的内容,非常重要。
第13章通过一个完整的例子演示使用卷积神经网络进行图像识别的流程。例子来自于ImageNet图像识别竞赛,所采用的模型也是比赛中获得准确率最高的模型。通过对项目每一步的详细分析,手把手地教会读者使用卷积神经网络进行图像识别。
除此之外,全书对于目前图像识别最流行和取得最好成绩的深度学习模型做了介绍,这些都是目前深度学习的热点和研究重点。