图书简介:
第 1 章 绪论·································································································1
1.1 视频动作理解 ·····················································································2
1.2 视频描述与定位··················································································2
1.3 视觉语义分割 ·····················································································3
1.4 视觉模型轻量化··················································································3
1.5 视觉模型安全性··················································································4
1.6 本章习题 ···························································································4
参考文献 ································································································6
第 2 章 基础网络结构 ·····················································································8
2.1 CNN ································································································8
2.1.1 AlexNet ·························································································8
2.1.2 ResNet ··························································································9
2.2 VGG ·····························································································.11
2.3 RNN ·····························································································.12
2.3.1 LSTM ························································································.12
2.3.2 GRU ··························································································.13
2.4 Diffusion ························································································.15
2.5 Transformer ·····················································································.16
2.6 GNN ·····························································································.17
2.7 Mamba ··························································································.18
2.8 GAN ·····························································································.19
2.9 本章习题 ························································································.19
参考文献 ·····························································································.20
第 3 章 动作识别 ························································································.21
3.1 任务介绍 ························································································.21
VI | 视觉模式分析及实践
3.2 方法总览 ························································································.22
3.2.1 概况 ··························································································.22
3.2.2 基于双流卷积神经网络的动作识别 ···················································.22
3.2.3 基于三维卷积神经网络的方法 ·························································.24
3.2.4 基于循环神经网络的动作识别 ·························································.24
3.2.5 基于 Transformer 的方法 ·································································.25
3.2.6 全监督点云动作识别 ·····································································.25
3.2.7 半监督点云动作识别 ·····································································.26
3.2.8 自监督点云动作识别 ·····································································.27
3.3 典型方法 ························································································.27
3.3.1 基于双流卷积神经网络的 RGB 动作识别 ···········································.27
3.3.2 基于三维卷积神经网络的 RGB 动作识别 ···········································.32
3.3.3 基于循环神经网络的 RGB 动作识别 ·················································.34
3.3.4 基于 Transformer 的 RGB 动作识别 ··················································.35
3.3.5 全监督点云动作识别 ·····································································.39
3.3.6 半监督点云动作识别 ····································································.42
3.3.7 自监督点云动作识别 ·····································································.44
3.4 代码实例 ·······················································································.47
3.4.1 RGB 动作识别方法 ·······································································.47
3.4.2 基于膨胀三维卷积神经网络的动作识别 ·············································.52
3.4.3 基于点 4D Transformer 的点云动作识别 ·············································.56
3.4.4 基于掩码伪标记自编码的半监督点云动作识别 ····································.59
3.5 本章习题 ························································································.64
3.5.1 简答题 ·······················································································.64
3.5.2 动手实践题 ·················································································.64
参考文献 ·····························································································.66
第 4 章 时序动作检测 ··················································································.69
4.1 任务介绍 . ······················································································.69
4.2 方法总览 ························································································.70
4.2.1 概况 ··························································································.70
4.2.2 全监督时序动作检测 ·····································································.70
4.2.3 半监督时序动作检测 ·····································································.74
4.2.4 点监督时序动作检测 ·····································································.75
4.2.5 弱监督时序动作检测 ·····································································.75
4.3 典型方法 ························································································.76
4.3.1 全监督时序动作检测 ·····································································.76
4.3.2 半监督时序动作检测 ·····································································.80
4.3.3 点监督时序动作检测 ·····································································.83
4.3.4 弱监督时序动作检测 ·····································································.88
4.4 代码实例 ························································································.94
4.4.1 全监督时序动作检测 ·····································································.94
4.4.2 半监督时序动作检测 ·····································································100
4.4.3 点监督时序动作检测 ·····································································104
4.4.4 弱监督时序动作检测 ·····································································109
4.5 本章习题 ························································································111
4.5.1 简答题 ······················································································.111
4.5.2 动手实践题 ················································································.111
参考文献 ·····························································································113
第 5 章 时空动作检测 ··················································································115
5.1 任务介绍 ························································································115
5.2 方法总览 ························································································116
5.2.1 概况 ··························································································116
5.2.2 全监督时空动作检测 ·····································································116
5.2.3 半监督时空动作检测 ·····································································119
5.2.4 点监督时空动作检测 ·····································································120
5.2.5 弱监督时空动作检测 ·····································································120
5.3 典型方法 ························································································121
5.3.1 全监督时空动作检测 ·····································································121
5.3.2 半监督时空动作检测 ·····································································125
5.3.3 点监督时空动作检测 ·····································································127
5.3.4 弱监督时空动作检测 ·····································································131
5.4 代码实例 ························································································135
5.4.1 全监督时空动作检测 ·····································································135
5.4.2 半监督时空动作检测 ·····································································139
5.5 本章习题 ························································································144
5.5.1 简答题 ·······················································································144
VIII | 视觉模式分析及实践
5.5.2 动手实践题 ·················································································145
参考文献 ·····························································································146
第 6 章 视频描述 ························································································149
6.1 任务介绍 ························································································149
6.2 方法总览 ························································································150
6.2.1 方法概述 ····················································································150
6.2.2 全监督单语句视频描述 ··································································150
6.2.3 密集视频描述 ··············································································152
6.2.4 少样本及少监督视频描述 ·······························································152
6.2.5 零样本视频描述 ···········································································153
6.3 典型方法 ························································································154
6.3.1 单语句视频描述 ···········································································154
6.3.2 密集视频描述 ··············································································156
6.3.3 少监督视频描述 ···········································································158
6.4 代码实例 ························································································162
6.4.1 单语句视频描述 ···········································································162
6.4.2 零样本视频描述 ···········································································166
6.5 本章习题 ························································································170
6.5.1 简答题 ·······················································································170
6.5.2 动手实践题 ·················································································170
参考文献 ·····························································································171
第 7 章 视频定位 ························································································174
7.1 任务介绍 ························································································174
7.2 方法总览 ························································································175
7.2.1 概况 ··························································································175
7.2.2 全监督视频定位 ···········································································175
7.2.3 弱监督视频定位 ···········································································178
7.2.4 点监督视频定位 ···········································································179
7.3 典型方法 ························································································180
7.3.1 全监督视频定位 ···········································································180
7.3.2 弱监督视频定位 ···········································································185
7.3.3 点监督视频定位 ···········································································191
7.4 代码实例 ························································································198
7.4.1 全监督视频定位 ···········································································198
7.4.2 弱监督视频定位 ···········································································203
7.5 本章习题 ························································································209
7.5.1 简答题 ·······················································································209
7.5.2 动手实践题 ·················································································210
参考文献 ·····························································································211
第 8 章 语义分割 ························································································214
8.1 任务介绍 ························································································214
8.2 方法总览 ························································································215
8.2.1 概况 ··························································································215
8.2.2 全监督图像语义分割 ·····································································216
8.2.3 半监督图像语义分割 ·····································································217
8.2.4 弱监督图像语义分割 ·····································································219
8.2.5 RGB-T 语义分割 ···········································································220
8.2.6 RGB-D 语义分割 ··········································································221
8.2.7 参考图像语义分割 ········································································222
8.2.8 视频语义分割 ··············································································225
8.3 典型方法 ························································································227
8.3.1 全监督图像语义分割 ·····································································227
8.3.2 半监督图像语义分割 ·····································································231
8.3.3 弱监督图像语义分割 ·····································································234
8.3.4 RGB-T 语义分割 ···········································································237
8.3.5 RGB-D 语义分割 ··········································································239
8.3.6 参考语句分割 ··············································································242
8.3.7 视频语义分割 ··············································································245
8.4 代码实例 ······················································································.248
8.4.1 全监督图像语义分割 ·····································································248
8.4.2 半监督图像语义分割 ·····································································251
8.4.3 RGB-D 语义分割 ··········································································254
8.4.4 参考语句分割 ··············································································261
8.4.5 视频语义分割 ··············································································264
8.5 本章习题 ························································································268
8.5.1 简答题 ·······················································································268
8.5.2 动手实践题 ·················································································268
参考文献 ·····························································································270
第 9 章 模型压缩 ························································································275
9.1 任务介绍 ························································································275
9.2 方法总览 ························································································276
9.2.1 方法概述 ····················································································276
9.2.2 知识蒸馏 ····················································································277
9.2.3 网络剪枝 ····················································································281
9.2.4 网络量化 ····················································································284
9.2.5 数据集蒸馏 ·················································································287
9.3 典型方法 ························································································290
9.3.1 知识蒸馏 ····················································································290
9.3.2 网络剪枝 ····················································································294
9.3.3 网络量化 ····················································································296
9.3.4 数据集蒸馏 ·················································································300
9.4 代码实例 ························································································303
9.4.1 基于响应或中间特征的知识蒸馏方法 ················································303
9.4.2 基于跨头知识蒸馏的目标检测 ·························································304
9.4.3 网络剪枝 ····················································································306
9.4.4 网络量化 ····················································································309
9.4.5 数据集蒸馏 ·················································································313
9.5 本章习题 ························································································319
9.5.1 简答题 ·······················································································319
9.5.2 动手实践题 ·················································································320
参考文献 ·····························································································323
第 10 章 对抗攻防 ······················································································327
10.1 任务介绍 ······················································································327
10.2 方法总览 ······················································································328
10.2.1 视觉白盒攻击 ·············································································329
10.2.2 视觉黑盒查询攻击 ·······································································330
10.2.3 视觉黑盒迁移攻击 ·······································································331
10.2.4 视觉对抗训练防御方法 ·································································334
10.2.5 视觉对抗净化防御方法 ·································································337
10.2.6 大模型攻击方法 ··········································································338
10.2.7 大模型防御方法 ··········································································343
10.3 典型方法 ······················································································345
10.3.1 白盒攻击 ···················································································345
10.3.2 查询攻击 ···················································································347
10.3.3 迁移攻击 ···················································································348
10.3.4 视觉对抗训练防御方法 ·································································349
10.3.5 视觉对抗净化防御方法 ·································································353
10.3.6 大模型攻击方法 ··········································································354
10.3.7 大模型防御方法 ··········································································357
10.4 代码实例 ······················································································360
10.4.1 白盒攻击 ···················································································360
10.4.2 查询攻击 ···················································································361
10.4.3 迁移攻击 ···················································································362
10.4.4 视觉对抗训练防御方法 ·································································364
10.4.5 视觉对抗净化防御方法 ·································································368
10.4.6 大模型攻击方法 ··········································································371
10.4.7 大模型防御方法 ··········································································374
10.5 本章习题 ······················································································377
10.5.1 简答题 ······················································································377
10.5.2 动手实践题 ················································································378
参考文献 ·····························································································380
展开
随着人工智能技术的发展,视觉模式分析作为其核心分支之一,正迅速渗透科学研究、工业应用与社会生活的方方面面。从图像分类、目标检测到视频理解、语义分割,视觉智能正在重新定义人们与世界的交互方式。在此背景下,我们编写了这本《视觉模式分析及实践》,旨在系统地介绍视觉模式分析的基础理论、主流任务、典型方法与前沿实践,特别强调通过PyTorch代码实现与动手实践来深化理论理解,为相关领域的学习者、研究者和工程师提供一本结构清晰、内容翔实、实践性强的教材与工程参考用书。
本书面向具有一定机器学习与深度学习基础的高年级本科生和研究生,适用于“人工智能与模式识别”“计算机视觉”“人工智能导论”等课程。我们不仅在理论层面进行深入剖析,更注重实践能力的培养,每一章均配有丰富的PyTorch代码案例分析、习题与动手实践项目,帮助读者巩固知识、拓展视野、掌握网络实现细节,真正掌握从理论到实现的完整能力。
全书共十章,从基础骨干网络到高级视觉任务,从监督学习到弱监督、无监督范式,从视觉模型压缩到视觉模型安全,覆盖了现代视觉智能领域的多个研究方向。
第1章为绪论,概述视觉模式分析的基本任务与当前挑战。第2章深人讲解基础骨干网络,包括卷积神经网络(CNN)、循环神经网络(RNN)、图神经网络(GNN)、对抗生成网络(GAN)、Transformer,以及新兴的 Diffusion模型、Mamba模型。
第3~7章聚焦于视频理解与行为分析。第3章介绍动作识别,涵盖RGB与点云两种模态,并提供基于PyTorch的动作识别模型训练代码;第4章系统阐述时序动作检测的不同监督范式,配套代码涵盖数据预处理、模型训练与评估全流程;第5章沿时空维度扩展至时空动作检测,阐述全监督、半监督、点监督、弱监督等不同学习范式下的时空动作检测典型方法;第6章探讨视频描述生成技术,包括单语句视频描述与多语句视频描述两大类;第7章介绍视频定位任务,涵盖全监督、弱监督与点监督方法,并提供相应的训练与推理代码。
第8章专门讨论视觉语义分割,作为视觉模式分析中的经典任务,本章不仅覆盖全监督、半监督与弱监督方法,还引人参考语句分割、多模态(RGB-T、RGB-D)分割以及视频语义分割等前沿方向。
第9~10章转向模型压缩与安全领域。第9章介绍视觉模型压缩技术,包括知识蒸馏、网络剪枝、网络量化与数据集蒸馏,提供完整的PyTorch实现案例,助力读者在实际资源受限的环境中部署高效模型;第10章聚焦对抗攻防,从攻击方法(如迁移攻击、查询攻击)到防御策略(如对抗训练、净化防御),并延伸至视觉大模型的安全问题。
本书所有代码均开源,并托管于GitHub平台,每个章节的代码目录与教材结构一一对应,包含数据集准备脚本、模型定义、训练与测试代码,以及预训练模型权重,方便读者快速上手和复现实验结果。此外,每一章末尾的“习题”部分不仅包含理论思考题,还设有“动手实践”环节,鼓励读者基于提供的代码进行修改和扩展,例如尝试不同的网络结构、调整超参数、在新的数据集上验证性能等,真正实现学中做、做中学。
本书工作得到了浙江省自然科学基金项目(LR23F020002)、杭州电子科技大学研究生教材建设项目的支持。杭州电子科技大学机器学习与视觉计算研究团队(MLVC)成员在编写过程中提供了帮助,他们包括何凌风、平晨昊、庞博、唐晨,以及倪家楠、刘钧宇、田绍启、尚立杰、李逸凡、郭晓晨、陈宇安、周伟超等。视觉模式分析是一个跨学科、快迭代的领域,新的网络结构、训练范式与应用场景不断涌现。我们希望本书不仅能帮助读者建立系统的知识体系,更能通过丰富的代码实践激发大家在这一广阔领域中的探索与创新。鉴于本书采用双色印刷,为帮助读者更好地理解书中内容,请扫描下方二维码下载全书彩色插图。

由于作者水平有限,书中难免存在疏漏与不足之处,恳请广大读者批评指正,以便后续不断完善。
谨以此书献给所有致力于视觉智能研究的同行者。
李平
2025年9月3日于杭州
展开