书籍详情
《深度学习之PyTorch物体检测实战》[30M]百度网盘|亲测有效|pdf下载
  • 深度学习之PyTorch物体检测实战

  • 出版社:机械工业出版社
  • 出版时间:2020-01-01
  • 热度:9244
  • 上架时间:2024-06-30 08:52:20
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介
  本书从概念、发展、经典实现方法等几个方面系统地介绍了物体检测的相关知识,重点介绍了Faster RCNN、SDD和YOLO这三个经典的检测器,并利用PyTorch框架从代码角度进行了细致讲解。另外,本书进一步介绍了物体检测的轻量化网络、细节处理、难点问题及未来的发展趋势,从实战角度给出了多种优秀的解决方法,便于读者更深入地掌握物体检测技术,从而做到在实际项目中灵活应用。
目录
前言
第1篇 物体检测基础知识
第1章 浅谈物体检测与PyTorch
1.1 深度学习与计算机视觉
1.1.1 发展历史
1.1.2 计算机视觉
1.2 物体检测技术
1.2.1 发展历程
1.2.2 技术应用领域
1.2.3 评价指标
1.3 PyTorch简介
1.3.1 诞生与特点
1.3.2 各大深度学习框架对比
1.3.3 为什么选择PyTorch
1.3.4 安装方法
1.4 基础知识准备
1.4.1 Linux基础
1.4.2 Python基础
1.4.3 高效开发工具
1.5 总结
第2章 PyTorch基础
2.1 基本数据:Tensor
2.1.1 Tensor数据类型
2.1.2 Tensor的创建与维度查看
2.1.3 Tensor的组合与分块
2.1.4 Tensor的索引与变形
2.1.5 Tensor的排序与取极值
2.1.6 Tensor的自动广播机制与向量化
2.1.7 Tensor的内存共享
2.2 Autograd与计算图
2.2.1 Tensor的自动求导:Autograd
2.2.2 计算图
2.2.3 Autograd注意事项
2.3 神经网络工具箱torch.nn
2.3.1 nn.Module类
2.3.2 损失函数
2.3.3 优化器nn.optim
2.4 模型处理
2.4.1 网络模型库:torchvision.models
2.4.2 加载预训练模型
2.4.3 模型保存
2.5 数据处理
2.5.1 主流公开数据集
2.5.2 数据加载
2.5.3 GPU加速
2.5.4 数据可视化
2.6 总结
第3章 网络骨架:Backbone
3.1 神经网络基本组成
3.1.1 卷积层
3.1.2 激活函数层
3.1.3 池化层
3.1.4 Dropout层
3.1.5 BN层
3.1.6 全连接层
3.1.7 深入理解感受野
3.1.8 详解空洞卷积(Dilated Convolution)
3.2 走向深度:VGGNet
3.3 纵横交错:Inception
3.4 里程碑:ResNet
3.5 继往开来:DenseNet
3.6 特征金字塔:FPN
3.7 为检测而生:DetNet
3.8 总结
第2篇 物体检测经典框架
第4章 两阶经典检测器:Faster RCNN
4.1 RCNN系列发展历程
4.1.1 开山之作:RCNN
4.1.2 端到端:Fast RCNN
4.1.3 走向实时:Faster RCNN
4.2 准备工作
4.3 Faster RCNN总览
4.4 详解RPN
4.4.1 理解Anchor
4.4.2 RPN的真值与预测量
4.4.3 RPN卷积网络
4.4.4 RPN真值的求取
4.4.5 损失函数设计
4.4.6 NMS与生成Proposal
4.4.7 筛选Proposal得到RoI
4.5 RoI Pooling层
4.6 全连接RCNN模块
4.6.1 RCNN全连接网络
4.6.2 损失函数设计
4.7 Faster RCNN的改进算法
4.7.1 审视Faster RCNN
4.7.2 特征融合:HyperNet
4.7.3 实例分割:Mask RCNN
4.7.4 全卷积网络:R-FCN
4.7.5 级联网络:Cascade RCNN
4.8 总结
第5章 单阶多层检测器:SSD
5.1 SSD总览
5.1.1 SSD的算法流程
5.1.2 代码准备工作
5.2 数据预处理
5.2.1 加载PASCAL数据集
5.2.2 数据增强
5.3 网络架构
5.3.1 基础VGG结构
5.3.2 深度卷积层
5.3.3 PriorBox与边框特征提取网络
5.3.4 总体网络计算过程
5.4 匹配与损失求解
5.4.1 预选框与真实框的匹配
5.4.2 定位损失的计算
5.4.3 难样本挖掘
5.4.4 类别损失计算
5.5 SSD的改进算法
5.5.1 审视SSD
5.5.2 特征融合:DSSD
5.5.3 彩虹网络:RSSD
5.5.4 基于SSD的两阶:RefineDet
5.5.5 多感受野融合:RFBNet
5.6 总结
第6章 单阶经典检测器:YOLO
6.1 无锚框预测:YOLO v1
6.1.1 网络结构
6.1.2 特征图的意义
6.1.3 损失计算
6.2 依赖锚框:YOLO v2
6.2.1 网络结构的改善
6.2.2 先验框的设计
6.2.3 正、负样本与损失函数
6.2.4 正、负样本选取代码示例
6.2.5 工程技巧
6.3 多尺度与特征融合:YOLO v3
6.3.1 新网络结构DarkNet-53
6.3.2 多尺度预测
6.3.3 Softmax改为Logistic
6.4 总结
第3篇 物体检测的难点与发展
第7章 模型加速之轻量化网络
7.1 压缩再扩展:SqueezeNet
7.1.1 SqueezeNet网络结构
7.1.2 SqueezeNet总结
7.2 深度可分离:MobileNet
7.2.1 标准卷积
7.2.2 深度可分离卷积
7.2.3 MobileNet v1结构
7.2.4 MobileNet v1总结
7.2.5 MobileNet v2
7.3 通道混洗:ShuffleNet
7.3.1 通道混洗
7.3.2 网络结构
7.3.3 ShuffleNet v2
7.4 总结
第8章 物体检测细节处理
8.1 非极大值抑制:NMS
8.1.1 NMS基本过程
8.1.2 抑制得分:Soft NMS
8.1.3 加权平均:Softer NMS
8.1.4 定位置信度:IoU-Net
8.2 样本不均衡问题
8.2.1 不均衡问题分析
8.2.2 在线难样本挖掘:OHEM
8.2.3 专注难样本:Focal Loss
8.3 模型过拟合
8.3.1 数据增强
8.3.2 L1与L2正则化
8.4 总结
第9章 物体检测难点
9.1 多尺度检测
9.1.1 多尺度问题
9.1.2 降低下采样率与空洞卷积
9.1.3 Anchor设计
9.1.4 多尺度训练
9.1.5 特征融合
9.1.6 尺度归一化:SNIP
9.1.7 三叉戟:TridentNet
9.2 拥挤与遮挡
9.2.1 遮挡背景
9.2.2 排斥损失:Repulsion Loss
9.2.3 OR-CNN
9.3 总结
第10章 物体检测的未来发展
10.1 重新思考物体检测
10.1.1 精度与速度的权衡
10.1.2 卷积网络的可解释性与稳定性
10.1.3 训练:微调还是随机初始化
10.1.4 考虑物体间关系的检测
10.1.5 优化卷积方式
10.1.6 神经架构搜索:NAS
10.1.7 与产业结合的创新
10.2 摆脱锚框:Anchor-Free
10.2.1 重新思考Anchor
10.2.2 基于角点的检测:CornerNet
10.2.3 检测中心点:CenterNet
10.2.4 锚框自学习:Guided Anchoring
10.3 总结
前言
  随着深度学习的飞速发展,计算机视觉技术取得了令人瞩目的成果,尤其是物体检测这一基础又核心的分支,诞生了众多经典算法,在自动驾驶、智能医疗、智能安防及搜索娱乐等多个领域都得到了广泛应用。与此同时,诞生于2017年的PyTorch框架,凭借其简洁优雅、灵活易上手等优点,给开发人员留下了深刻的印象。
  目前,国内图书市场上已经出版了几本PyTorch方面的图书,但大多数图书停留在浅层的概念与简单示例的讲解上,缺乏实用性,而且也没有一本系统讲解PyTorch物体检测方面的图书。因此,图书市场上迫切需要一本系统介绍PyTorch物体检测技术的书籍。这便是笔者写作本书的初衷。
  本书是国内原创图书市场上首部系统介绍物体检测技术的图书。书中利用PyTorch深度学习框架,从代码层面讲解了Faster RCNN、SSD及YOLO这三大经典框架的相关知识,并进一步介绍了物体检测的细节与难点问题,让读者可以全面、深入、透彻地理解物体检测的种种细节,并能真正提升实战能力,从而将这些技术灵活地应用到实际开发中,享受深度学习带来的快乐。
  本书特色
  1.系统介绍了PyTorch物体检测技术
  本书深入物体检测这一基础又核心的技术,从其诞生背景、主流算法、难点问题、发展趋势等多个角度详细介绍了物体检测知识,并结合代码给出了多个算法的实现。
  2.从代码角度详细介绍了物体检测的三大算法
  本书介绍了Faster RCNN、SSD及YOLO这三个影响深远的检测算法,从代码层面详细介绍了它们所实现的每一个细节与难点,并进行了优缺点分析,而且给出了多种优化算法。
  3.涵盖所有主流的物体检测算法
  本书几乎涵盖所有主流的物体检测算法,包括VGGNet、ResNet、FPN、DenseNet和DetNet等卷积基础网络,以及从Faster RCNN、HyperNet、Mask RCNN、SSD、RefineDet、YOLO v1到YOLO v3、RetinaNet、CornerNet和CenterNet等物体检测算法,呈现给读者一个完整的知识体系。
  4.给出了多个实际的物体检测实例,有很强的实用性
  本书对PyTorch的知识体系进行了较为精炼的介绍,还结合物体检测算法重点介绍了PyTorch实现的多个物体检测实例。因此本书不仅是一本很好的PyTorch框架学习书籍,更是一本PyTorch物体检测实战宝典。
  5.对物体检测技术常见的细节、难点及发展做了详细分析
  本书不仅对物体检测技术的热门话题做了详细分析,例如非极大值抑制、样本不均衡、模型过拟合、多尺度检测、物体拥挤与遮挡等,而且对各种细节与常见问题做了详细分析,并给出了多种解决方法。
  本书内容
  第1篇 物体检测基础知识
  本篇涵盖第1~3章,介绍了物体检测技术与PyTorch框架的背景知识与必备的基础知识。主要内容包括物体检测技术的背景与发展;物体检测的多种有效工具;PyTorch背景知识与基础知识;多种基础卷积神经网络的相关知识与具体实现等。掌握本篇内容,可以为读者进一步学习物体检测技术奠定基础。
  第2篇 物体检测经典框架
  本篇涵盖第4~6章,介绍了Faster RCNN、SSD与YOLO三大经典算法的思想与实现。主要内容包括Faster RCNN两阶算法的思想;锚框Anchor的意义与实现;Faster RCNN的多种改进算法;SSD单阶算法的思想与实现;SSD的数据增强方法及多种改进算法;YOLO单阶算法的三个版本演变过程及具体实现等。掌握本篇内容,可以让读者从代码角度学习物体检测的种种细节。
  第3篇 物体检测的难点与发展
  本篇涵盖第7~10章,介绍了物体检测技术的细节、难点及未来发展。主要内容包括针对模型加速的多种轻量化网络思想与实现;非极大值抑制;样本不均衡及模型过拟合等物体检测细节问题的背景知识与解决方法;多尺度、拥挤与遮挡等物体检测难点问题的背景知识与解决方法;多种摆脱锚框的检测算法;物体检测的未来发展趋势等。掌握本篇内容,可以让读者更加深入地学习物体检测的相关技术。
  本书读者对象
  ·需要全面学习物体检测技术的人员;
  ·PyTorch框架爱好者和研究者;
  ·计算机视觉从业人员与研究者;
  ·深度学习从业人员与爱好者;
  ·自动驾驶、智能安防等领域的开发人员;
  ·人工智能相关产业的从业人员;
  ·计算机、机器人等专业的高校学生。
  阅读建议
  ·没有物体检测与PyTorch基础的读者,建议从第1章顺次阅读并演练每一个实例。
  ·有一定PyTorch与物体检测基础的读者,可以根据实际情况有重点地选择阅读各个算法的细节。
  ·对于每一个检测算法,建议读者先阅读一下原论文,多思考算法设计的动机与目的,并重点思考如何用代码实现,这会加深读者对检测算法的理解。原论文的下载地址和本书源代码文件一起提供。
  ·多思考各种物体检测算法的优缺点、相互之间的联系与区别,以及可以优化和改进的细节等,形成完整的知识体系树,这样会进一步加深读者对知识的理解。
  配书资源获取方式
  本书涉及的全部源代码都放在了GitHub上,需要读者自行下载。下载地址如下:
  https://github.com/dongdonghy/Detection-PyTorch-Notebook
  有些章节的代码较多,但在书中仅给出了重要的片段代码,完整代码以GitHub上的代码为准。
  另外,读者也可以登录华章公司的网站www.hzbook.com,搜索到本书,然后单击“资料下载”按钮,即可在本书页面上找到相关的下载链接。
  致谢
  本书的编写得到了许多人的帮助。可以说,本书是多人共同努力的结晶。感谢北京源智天下科技有限公司的王蕾,她在稿件整理方面帮我做了大量的工作!感谢王田苗教授、陶吉博士、夏添博士、侯涛刚博士、严德培、单增光、王策、鄂俊光、李成、丁宁、付航、高鹏、朱本金、彭强、王粟瑶、张腾、王兆玮、黄彬效和拓万琛等人,他们对本书提出了许多宝贵的意见和建议!感谢我的女朋友及家人,他们一直以来都对我鼓励有加,给我写作本书以最大的动力!感谢为本书付出辛勤工作的每一位编辑,他们认真、细致的工作让本书质量提高不少!
  由于本书涉及的知识点较多,难免有错漏与不当之处,敬请各位读者指正。如有疑问,请随时通过电子邮件与笔者联系,笔者将不胜感激。联系邮箱:hzbook2017@163.com。
  董洪义
精彩书摘
  视觉是人类最为重要的感知系统,大脑皮层中近一半的神经元与视觉有关系。计算机视觉则是研究如何使机器学会“看”的学科,最早起源于20世纪50年代,当时主要专注于光学字符识别、航空图片的分析等特定任务。在20世纪90年代,计算机视觉在多视几何、三维重建、相机标定等多个领域取得了众多成果,也走向了繁荣发展的阶段。
  然而在很长的一段时间里,计算机视觉的发展都是基于规则与人工设定的模板,很难有鲁棒的高语义理解。真正将计算机视觉的发展推向高峰的,当属深度学习的爆发。由于视觉图像丰富的语义性与图像的结构性,计算机视觉也是当前人工智能发展最为迅速的领域之一。
  进入深度学习发展阶段后,计算机视觉在多个领域都取得了令人瞩目的成就,如图1.7所示。
  ·图像成像:成像是计算机视觉较为底层的技术,深度学习在此发挥的空间更多的是成像后的应用,如修复图像的DCGAN网络,图像风格迁移的CycleGAN,这些任务中GAN有着广阔的发挥空间。此外,在医学成像、卫星成像等领域中,超分辨率也至关重要,例如SRCNN(Super-Resolution CNN)。
  ·2.5D空间:我们通常将涉及2D运动或者视差的任务定义为2.5D空间问题,因为其任务跳出了单纯的2D图像,但又缺乏3D空间的信息。这里包含的任务有光流的估计、单目的深度估计及双目的深度估计。
  ·3D空间:3D空间的任务通常应用于机器人或者自动驾驶领域,将2D图像检测与3D空间进行结合。这其中,主要任务有相机标定(Camera Calibration)、视觉里程计(Visual Odometry,VO)及SLAM(Simultaneous Localization and Mapping)等。
  ·环境理解:环境的高语义理解是深度学习在计算机视觉中的主战场,相比传统算法其优势更为明显。主要任务有图像分类(Classification)、物体检测(Object Detection)、图像分割(Segmentation)、物体跟踪(Tracking)及关键点检测。其中,图像分割又可以细分为语义分割(Semantic Segmentation)与实例分割(Instance Segmentation)。