• 9. 计算机视觉

    9. 计算机视觉

    无论是医疗诊断、无人车、摄像监控,还是智能滤镜,计算机视觉领域的诸多应用都与我们当下和未来的生活息息相关。近年来,深度学习技术深刻推动了计算机视觉系统性能的提升。可以说,当下最先进的计算机视觉应用几乎离不开深度学习。鉴于此,本章将关注计算机视觉领域,并从中挑选时下在学术界和工业界具有影响力的方法与应用来展示深度学习的魅力。

    我们在“卷积神经网络”一章中已经介绍了计算机视觉领域常使用的深度学习模型,并实践了简单的图像分类任务。在本章的开头,我们介绍两种有助于提升模型的泛化能力的方法,即图像增广和微调,并把它们应用于图像分类。由于深度神经网络能够对图像逐级有效地进行表征,这一特性被广泛应用在目标检测、语义分割和样式迁移这些主流计算机视觉任务中,并取得了成功。围绕这一核心思想,首先,我们将描述目标检测的工作流程与各类方法。之后,我们将探究如何使用全卷积网络对图像做语义分割。接下来,我们再解释如何使用样式迁移技术生成像本书封面一样的图像。最后,我们在两个计算机视觉的重要数据集上实践本章和前几章的知识。

    • 9.1. 图像增广
      • 9.1.1. 常用的图像增广方法
      • 9.1.2. 使用图像增广训练模型
      • 9.1.3. 小结
      • 9.1.4. 练习
      • 9.1.5. 参与讨论
    • 9.2. 微调
      • 9.2.1. 热狗识别
      • 9.2.2. 小结
      • 9.2.3. 练习
      • 9.2.4. 参考文献
      • 9.2.5. 参与讨论
    • 9.3. 目标检测和边界框
      • 9.3.1. 边界框
      • 9.3.2. 小结
      • 9.3.3. 练习
      • 9.3.4. 参与讨论
    • 9.4. 锚框
      • 9.4.1. 生成多个锚框
      • 9.4.2. 交并比
      • 9.4.3. 标注训练集的锚框
      • 9.4.4. 输出预测边界框
      • 9.4.5. 小结
      • 9.4.6. 练习
      • 9.4.7. 参与讨论
    • 9.5. 多尺度目标检测
      • 9.5.1. 小结
      • 9.5.2. 练习
      • 9.5.3. 参与讨论
    • 9.6. 目标检测数据集(皮卡丘)
      • 9.6.1. 下载数据集
      • 9.6.2. 读取数据集
      • 9.6.3. 图示数据
      • 9.6.4. 小结
      • 9.6.5. 练习
      • 9.6.6. 参考文献
      • 9.6.7. 参与讨论
    • 9.7. 单发多框检测(SSD)
      • 9.7.1. 模型
      • 9.7.2. 训练模型
      • 9.7.3. 预测
      • 9.7.4. 小结
      • 9.7.5. 练习
      • 9.7.6. 参考文献
      • 9.7.7. 参与讨论
    • 9.8. 区域卷积神经网络(R-CNN)系列
      • 9.8.1. R-CNN
      • 9.8.2. Fast R-CNN
      • 9.8.3. Faster R-CNN
      • 9.8.4. Mask R-CNN
      • 9.8.5. 小结
      • 9.8.6. 练习
      • 9.8.7. 参考文献
      • 9.8.8. 参与讨论
    • 9.9. 语义分割和数据集
      • 9.9.1. 图像分割和实例分割
      • 9.9.2. Pascal VOC2012语义分割数据集
      • 9.9.3. 小结
      • 9.9.4. 练习
      • 9.9.5. 参考文献
      • 9.9.6. 参与讨论
    • 9.10. 全卷积网络(FCN)
      • 9.10.1. 转置卷积层
      • 9.10.2. 构造模型
      • 9.10.3. 初始化转置卷积层
      • 9.10.4. 读取数据集
      • 9.10.5. 训练模型
      • 9.10.6. 预测像素类别
      • 9.10.7. 小结
      • 9.10.8. 练习
      • 9.10.9. 参考文献
      • 9.10.10. 参与讨论
    • 9.11. 样式迁移
      • 9.11.1. 方法
      • 9.11.2. 读取内容图像和样式图像
      • 9.11.3. 预处理和后处理图像
      • 9.11.4. 抽取特征
      • 9.11.5. 定义损失函数
      • 9.11.6. 创建和初始化合成图像
      • 9.11.7. 训练
      • 9.11.8. 小结
      • 9.11.9. 练习
      • 9.11.10. 参考文献
      • 9.11.11. 参与讨论
    • 9.12. 实战Kaggle比赛:图像分类(CIFAR-10)
      • 9.12.1. 获取和整理数据集
      • 9.12.2. 图像增广
      • 9.12.3. 读取数据集
      • 9.12.4. 定义模型
      • 9.12.5. 定义训练函数
      • 9.12.6. 训练并验证模型
      • 9.12.7. 对测试集分类并在Kaggle提交结果
      • 9.12.8. 小结
      • 9.12.9. 练习
      • 9.12.10. 参与讨论
    • 9.13. 实战Kaggle比赛:狗的品种识别(ImageNet Dogs)
      • 9.13.1. 获取和整理数据集
      • 9.13.2. 图像增广
      • 9.13.3. 读取数据集
      • 9.13.4. 定义模型
      • 9.13.5. 定义训练函数
      • 9.13.6. 训练并验证模型
      • 9.13.7. 对测试集分类并在Kaggle提交结果
      • 9.13.8. 小结
      • 9.13.9. 练习
      • 9.13.10. 参与讨论