新書推薦:
《
汴京客
》
售價:NT$
305.0
《
好望角·滑向战争:决定历史的交涉与日本的失败
》
售價:NT$
500.0
《
八千里路云和月(白先勇新作!记述我的父亲母亲并及那个忧患重重的时代)
》
售價:NT$
316.0
《
教师助手:巧用AI高效教学(给教师的66个DeepSeek实战技巧,AI助力备课、教学、练习、考试及测评)
》
售價:NT$
352.0
《
伊壁鸠鲁主义的政治哲学 : 卢克莱修的《物性论》
》
售價:NT$
316.0
《
低空经济:新质生产力的一种新经济结构
》
售價:NT$
709.0
《
你为什么不离开我的生活?
》
售價:NT$
254.0
《
揉碎温柔
》
售價:NT$
245.0
內容簡介:
本书通过具体的案例,循序渐进地讲解了计算机视觉和模型调优的相关内容。首先介绍基础知识,包括人工智能基础、计算机视觉基础、图像基础和编程基础相关知识。然后讲解传统计算机视觉和基于深度学习的计算机视觉,如卷积神经网络等。接着深入探讨算法原理,包括卷积、池化、批归一化、激活函数、残差结构、全连接、SoftMax等,并提供手写算法示例。最后介绍了模型在 Python 和 C 中的实际应用以及性能优化技巧,如计算向量化、权值预加载和多线程等。本书内容实用,由浅入深,案例典型,讲解通俗易懂,随书提供全部程序代码,且代码注释详细,方便读者理解,并上手实践。本书非常适合人工智能、机器学习、深度学习、计算机视觉初学者学习使用,也可用作高等院校中相关专业的教材及参考书。
目錄 :
第一章 基础知识 001~018
1.1 人工智能基础 002
1.2 计算机视觉基础 005
1.2.1 算法 006
1.2.2 性能 007
1.3 编程基础 008
1.3.1 Python简介 008
1.3.2 C 简介 009
1.4 图像基础 010
1.4.1 像素 010
1.4.2 图像特征 011
1.4.3 RGB图 012
1.4.4 灰度图 015
1.5 本章小结 016
第二章 传统计算机视觉 019~034
2.1 概述 020
2.2 均值滤波 020
2.2.1 算法解析 020
2.2.2 代码实战 022
2.3 高斯滤波 024
2.3.1 算法解析 024
2.3.2 代码实战 025
2.4 边缘检测 027
2.5 图像分割 029
2.6 本章小结 032
第三章 基于深度学习的计算机视觉 035~050
3.1 基础概念 036
3.1.1 人工神经网络 036
3.1.2 训练和推理 037
3.1.3 正向传播和反向传播 039
3.2 卷积神经网络 042
3.2.1 ResNet50模型 042
3.2.2 ResNet50中的算法 044
3.3 训练一个卷积神经网络 044
第四章 算法详解与实战 051~110
4.1 卷积 053
4.1.1 初识卷积 053
4.1.2 特征图 055
4.1.3 感受野 056
4.1.4 乘累加运算 058
4.1.5 多维卷积公式 060
4.1.6 填充 063
4.1.7 步长 064
4.1.8 膨胀率 067
4.1.9 输出尺寸公式 068
4.1.10 手写卷积 071
4.1.11 卷积总结 073
4.2 池化 074
4.2.1 什么是池化 074
4.2.2 池化的作用 076
4.2.3 全局平均池化 077
4.2.4 手写池化算法 079
4.3 Batch Normalization 080
4.3.1 BN的作用 080
4.3.2 训练和推理中的BN 081
4.3.3 手写BN 083
4.3.4 卷积与BN的融合 085
4.4 激活函数 087
4.4.1 非线性 088
4.4.2 ReLU 089
4.4.3 Sigmoid 091
4.5 残差结构 093
4.5.1 残差结构的作用 093
4.5.2 手写残差结构 094
4.6 全连接 097
4.6.1 全连接的作用 098
4.6.2 手写全连接 100
4.7 SoftMax与交叉熵损失 101
4.7.1 SoftMax 102
4.7.2 交叉熵损失 105
4.8 本章小结 108
第五章 基于Python从零手写模型 111~134
5.1 Python环境配置 112
5.2 Python目录简介 113
5.3 图像加载 115
5.4 图像预处理 116
5.4.1 图像缩放和裁剪 116
5.4.2 图像标准化 118
5.4.3 实战代码 119
5.5 模型准备 119
5.5.1 模型下载 119
5.5.2 权值保存 121
5.5.3 权值加载 123
5.6 手写算法 126
5.7 搭建模型 126
5.8 模型预测 129
5.9 性能指标 131
5.10 卷积计算优化 133
第六章 基于C 优化模型 135~164
6.1 C 环境配置 137
6.2 C 目录简介 137
6.3 C 代码使用 138
6.4 计算向量化 139
6.4.1 什么是向量计算 139
6.4.2 AVX2指令集 141
6.4.3 向量寄存器 141
6.4.4 向量数据加载 143
6.4.5 利用AVX2优化卷积 145
6.4.6 性能评估 146
6.5 权值预加载优化 147
6.5.1 权值加载 148
6.5.2 预加载操作 149
6.5.3 性能评估 152
6.6 内存优化 153
6.6.1 内存申请机制 153
6.6.2 字符串优化 154
6.6.3 动态内存优化 155
6.6.4 性能评估 157
6.7 多线程优化 157
6.7.1 多线程简介 158
6.7.2 卷积的多线程拆分 159
6.7.3 性能评估 161
6.8 性能优化总结 162
后记 165~170
附录 171~183
1.1 One-hot编码 172
1.2 快速搭建Ubuntu环境 174
1.2.1 安装步骤 175
1.2.2 软件管理 180
1.3 OpenCV介绍 181
1.3.1 什么是OpenCV 181
1.3.2 OpenCV环境搭建 182
参考文献 184
內容試閱 :
随着人工智能(artif icial intelligence,AI)技术的不断发展,尤其是近年来以 AI绘画和 ChatGPT为代表的 AI应用的普及,越来越多的人对人工智能产生了浓厚的兴趣。许多人希望了解并掌握 AI的技术原理,或者希望从事与 AI相关的技术研发和应用服务工作。
目前, AI技术应用主要集中在两个领域:自然语言处理( natural language processing,NLP)和计算机视觉( computer vision,CV)。NLP领域包括聊天机器人、语音翻译和文本生成等应用。 CV领域则包括图像识别、目标检测、图像分割,以及前沿的图像或视频生成等。
本书的内容主要集中在计算机视觉领域。
尽管本书是以计算机视觉作为背景来编写的,但其中涉及的许多算法同样适用于其他业务场景,比如计算机视觉中的卷积算法主要用于提取图像特征并进行特征融合,而与之相类似的矩阵乘法也可以用于数据的特征提取和融合。因此,可以看到,在许多基于 Transformer架构的大型语言模型中,矩阵乘法也会经常出现。原因就在于这些算法在数学运算上存在相通之处,这一点将在本书中详细介绍。
本书以计算机视觉相关知识为重点,以经典的图像分类模型 ResNet50为例子,深入浅出地阐述相关算法原理。通过实战形式,引导读者快速掌握算法并应用,达到手动编写代码、实现快速应用的目标。
本书内容可分为三部分:传统计算机视觉、基于深度学习的计算机视觉算法分析,以及计算机视觉实战。通过阅读和学习本书,读者将从零开始了解计算机视觉,并掌握传统计算机视觉中常见的算法,了解基于深度学习的计算机视觉经典算法。此外,实战部分将指导读者从零搭建一个经典的计算机视觉模型,并以该模型为基础进行推理和神经网络模型的性能优化。
为了便于学习和理解,本书在介绍相关算法时,会结合代码进行讲解,因此在很多章节中,会先介绍算法原理,接着展示相应的实战代码。这样,读者可以边学习算法,边利用相关代码进行实操练习,边学边练,逐步掌握。
在开始学习之前,需要了解基础知识和实战所需的编程工具。因此,第一章首先介绍计算机视觉的基础概念,然后从图像基础入手,详细讲解图像像素、图像特征、灰度图、彩色图的相关知识,最后介绍 Python语言及 OpenCV库,并详细说明其安装和使用方法,帮助读者快速搭建实战环境。
第二章介绍传统计算机视觉的经典算法,并配以相关实战代码,主要内容包括图像滤波原理,如均值滤波和高斯滤波,然后介绍基于 Canny算子的边缘检测以及基于大津算法的图像分割应用。通过这些传统计算机视觉算法,读者可以了解图像处理的基础知识和流程,为学习深度学习相关算法打下基础。
第三章介绍基于深度学习的计算机视觉。首先会介绍深度学习的基础理论知识,包括人工智能、机器学习、神经网络训练与推理、正向传播和反向传播、损失函数等。接下来会介绍卷积神经网络,并以一个经典的小而全的神经网络为例,通过代码实战完成该神经网络的训练和推理。最后介绍 ResNet50模型,这也是本书的重点,第四章的算法原理以及第五章和第六章的实战练习都是基于该模型进行的。
第四章介绍深度学习中的常见算法,包括卷积算法、池化算法、批归一化算法、激活函数算法、残差结构算法、全连接算法以及 SoftMax算法等。每种算法都会详细阐述使用背景和原理,并配以代码实战。
第五章为实战章节,将使用 Python语言从零搭建 ResNet50模型。为了全面展示模型涉及的算法和模型结构,在搭建过程中不会调用其他 Python库,所有算法的实现均基于第四章实战的代码。在此基础上,本章内容将更加注重模型结构的代码编写,以及模型推理前的图像预处理操作,如缩放、裁剪和标准化等,同时,本章也将关注模型推理后的性能指标。
第六章为实战章节,但更加关注性能优化部分。在第五章的基础上,将使用C 语言重新搭建 ResNet50模型。由于模型中的算法全部用 C 编写,模型的优化自由度较高。因此本章进行模型性能调优,主要涉及向量指令、内存以及多线程调优。经过 4个版本的优化,C 手写模型的性能达到了可接受水平。
后记总结了本书内容并进行了展望。
附录为本书涉及知识点的补充介绍。
总体而言,阅读本书不需要具备太多深度学习或人工智能的预备知识,但因其中涉及实战项目,因此需要读者具备一定的编程基础。
本书有配套代码供读者学习使用,可以从化学工业出版社官网 —服务—资源下载模块获取本书的全部代码。
感谢刘增华教授在本书编写过程中给予的支持和帮助;感谢我的同学孙坤明、秦术攀对本书提出宝贵的修改建议;感谢我的太太鲁槺锐女士,鼓励我不断创作,是我坚实的后盾。
由于作者水平有限,书中难免有疏漏之处,如在阅读本书过程中有任何疑问,请发邮件至 dongdongcan2024@163.com。
董董灿 于北京