
本书的写作初衷是,从学者的角度,用一种通俗易懂的方式,将基于深度学习的目标检测的相关论文中的理论和方法呈现给读者,同时针对作者在深度学习教学过程中遇到的难点,进行深入的分析和讲解。本书侧重对卷积神经网络的介绍,而深度学习的内容不止于此。所以,作者将深度学习分为有监督学习、无监督学习和强化学习三类,将图像分类、目标检测、人脸识别、语音识别、双向生成对抗网络和AlphaGo等应用场景归入不同的类别,并分别对其原理进行了概括性的讲解。本书适合有一定深度学习或目标检测学习基础的学生、研究者、从业者阅读。
第1版序 深度学习自2006年被正式提出后,经过10余年的发展,已经在很多领域取得了突破性的进展。2015年,深度学习在著名的图像分类数据集ImageNet上成功超越了人类的分类准确率。2016年,深度学习应用于强化学习领域,在围棋项目上击败了最优秀的人类棋手。2019年,在《星际争霸Ⅱ》这样复杂的游戏项目中,深度学习同样击败了人类职业选手。 尽管深度学习让人工智能的实现变得似乎不再那么遥不可及,但是在目标检测领域,深度学习还没能让计算机超越人类。因此,系统性地整理这个领域的研究成果并成书,让更多的人参与进来,对推动深度学习在目标检测领域的研究具有积极的意义。 本书从深度学习的发展历史开始,为读者介绍了机器学习的各个流派在深度学习出现后的代表性研究成果,然后,介绍了成熟的深度学习方法和技术,以及两阶段和单阶段的基于深度学习的目标检测方法。本书内容由浅入深,适合不同层次的读者阅读,我本人读后也收获颇丰,感觉大有裨益。 本书不仅梳理了在目标检测领域应用深度学习之后出现的主流方法,还讲解了具体的训练过程,为读者学习深度学习的参数调节打下了基础,使读者能更加全面地了解相关算法,在真正进入这个领域时更容易上手。对于已经熟悉这个领域的读者,通过反复研读本书的内容,可以使自己对调参的理解更加透彻。 除了以上内容,本书还介绍了目标检测算法在一些实际问题中的应用案例。应用案例覆盖面广,并涉及当下热门的人工智能创业场景——智慧医疗和智慧交通。对每个案例,都介绍了国内外的研究现状,给出了解决方案,并详细描述了预处理、算法实现细节和实验结果。这些内容,不仅是深度学习在不同目标检测领域得以成功应用的关键,而且能帮助读者提高解决实际问题的能力。 我期待这本书能帮助更多的读者了解深度学习和目标检测领域的前沿知识,更期待这本书的读者将来能让计算机拥有超越人类的目标检测能力。 何晓飞 前 言 从2018年3月开始组织素材,到2020年3月本书第1版出版,再到如今本书第2版即将面世,已经过去了四年多的时间。 笔者写作本书的初衷是希望从学者的角度,用一种通俗易懂的方式,将基于深度学习的目标检测的相关论文中的理论和方法呈现给读者。因此,本书选取了R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、R-FCN、SSD、RetinaNet、RefineDet、YOLO等典型的目标检测网络及U-Net、SegNet、Mask R-CNN等实例分割网络进行介绍,同时针对各位作者在深度学习教学过程中遇到的难点进行了深入的分析和讲解。此外,结合各位作者的研究成果,给出了目标检测在医疗、交通等领域的深度学习应用案例。 本书分为3篇,第1章~第3章为基础篇,第4章和第5章为进阶篇,第6章~第10章为应用篇。 *第1章介绍了深度学习的发展史、基本概念和典型应用。 *第2章介绍了深度神经网络的基础知识。 *第3章介绍了卷积神经网络的基础知识,以及典型的卷积神经网络。 *第4章介绍了两阶段目标检测方法及相应的分割算法。 *第5章介绍了单阶段目标检测方法。 *第6章给出了肋骨骨折检测的应用案例。 *第7章给出了肺结节检测的应用案例。 *第8章给出了车道线检测的应用案例。 *第9章给出了交通视频分析的应用案例。 *第10章给出了道路坑洞检测的应用案例。 本书的主要编著者为杜鹏、苏统华、王波、谌明。本书第6章~第10章的实验部分由汪纯、许卫东、金弘晟、李松泽、孙黎完成。罗同桉、张栋、胡明玥、陈希坚等同学参与了本书的编写。金耀博士参与了本书的审校。对此,我们表示衷心的感谢。 感谢读者朋友和电子工业出版社的编辑潘昕对本书第1版提出的宝贵意见。 本书的不足之处,恳请各位读者批评、指正。 杜鹏 苏统华 王波 谌明 2022年8月
第1章 深度学习概述 2 1.1 深度学习发展简史 2 1.2 有监督学习 4 1.2.1 图像分类 4 1.2.2 目标检测 6 1.2.3 人脸识别 10 1.2.4 语音识别 13 1.3 无监督学习 17 1.3.1 无监督学习概述 18 1.3.2 双向生成对抗网络 18 1.4 强化学习 21 1.4.1 AlphaGo 22 1.4.2 AlphaGo Zero 24 1.5 小结 25 参考资料 25 第2章 深度神经网络 28 2.1 神经元 28 2.2 感知机 31 2.3 前向传递 32 2.3.1 前向传递的流程 33 2.3.2 激活函数 34 2.3.3 损失函数 38 2.4 后向传递 41 2.4.1 后向传递的流程 41 2.4.2 梯度下降 41 2.4.3 参数修正 43 2.5 防止过拟合 45 2.5.1 dropout 46 2.5.2 正则化 46 2.6 小结 47 第3章 卷积神经网络 48 3.1 卷积层 49 3.1.1 valid卷积 49 3.1.2 full卷积 51 3.1.3 same卷积 52 3.2 池化层 53 3.3 反卷积 54 3.4 感受野 56 3.5 卷积神经网络实例 57 3.5.1 LeNet-5 58 3.5.2 AlexNet 60 3.5.3 VGGNet 63 3.5.4 GoogLeNet 66 3.5.5 ResNet 76 3.5.6 MobileNet 77 3.6 小结 79 进 阶 篇 第4章 两阶段目标检测方法 82 4.1 R-CNN 82 4.1.1 算法流程 82 4.1.2 训练过程 83 4.2 SPP-Net 87 4.2.1 网络结构 87 4.2.2 空间金字塔池化 88 4.3 Fast R-CNN 89 4.3.1 感兴趣区域池化层 90 4.3.2 网络结构 91 4.3.3 全连接层计算加速 92 4.3.4 目标分类 93 4.3.5 边界框回归 94 4.3.6 训练过程 95 4.4 Faster R-CNN 99 4.4.1 网络结构 100 4.4.2 RPN 101 4.4.3 训练过程 107 4.5 R-FCN 109 4.5.1 R-FCN网络结构 110 4.5.2 位置敏感的分数图 111 4.5.3 位置敏感的RoI池化 111 4.5.4 R-FCN损失函数 113 4.5.5 Caffe网络模型解析 113 4.5.6 U-Net 117 4.5.7 SegNet 118 4.6 Mask R-CNN 119 4.6.1 实例分割简介 119 4.6.2 COCO数据集的像素级标注 121 4.6.3 网络结构 121 4.7 小结 125 参考资料 125 第5章 单阶段目标检测方法 126 5.1 SSD 126 5.1.1 default box 126 5.1.2 网络结构 127 5.1.3 Caffe网络模型解析 128 5.1.4 训练过程 137 5.2 RetinaNet 138 5.2.1 FPN 139 5.2.2 聚焦损失函数 140 5.3 RefineDet 142 5.3.1 网络模型 142 5.3.2 Caffe网络模型解析 144 5.3.3 训练过程 153 5.4 YOLO 154 5.4.1 YOLO v1 154 5.4.2 YOLO v2 157 5.4.3 YOLO v3 159 5.5 目标检测算法应用场景举例 161 5.5.1 高速公路坑洞检测 161 5.5.2 息肉检测 162 5.6 小结 163 参考资料 164 应 用 篇 第6章 肋骨骨折检测 166 6.1 国内外研究现状 166 6.2 解决方案 168 6.3 预处理 168 6.4 肋骨骨折检测 169 6.5 实验结果分析 170 6.6 小结 172 参考资料 172 第7章 肺结节检测 174 7.1 国内外研究现状 174 7.2 总体框架 176 7.2.1 肺结节数据集 176 7.2.2 肺结节检测难点 177 7.2.3 算法框架 177 7.3 肺结节可疑位置推荐算法 178 7.3.1 CT图像的预处理 179 7.3.2 肺结节分割算法 180 7.3.3 优化方法 182 7.3.4 推断方法 184 7.4 可疑肺结节定位算法 185 7.5 实验结果与分析(1) 186 7.5.1 实验结果 186 7.5.2 改进点效果分析 186 7.6 假阳性肺结节抑制算法 188 7.6.1 假阳性肺结节抑制网络 188 7.6.2 优化策略 192 7.6.3 推断策略 194 7.7 实验结果与分析(2) 194 7.7.1 实验结果 194 7.7.2 改进点效果分析 195 7.7.3 可疑位置推荐算法与假阳性抑制算法的整合 196 7.8 小结 197 参考资料 197 第8章 车道线检测 199 8.1 国内外研究现状 199 8.2 主要研究内容 201 8.2.1 总体解决方案 201 8.2.2 各阶段概述 202 8.3 车道线检测系统的设计与实现 205 8.3.1 车道线图像数据标注与筛选 206 8.3.2 车道线图片预处理 207 8.3.3 车道线分割模型训练 211 8.3.4 车道线检测 220 8.3.5 车道线检测结果 224 8.4 车道线检测系统性能测试 224 8.4.1 车道线检测质量测试 224 8.4.2 车道线检测时间测试 226 8.5 小结 226 参考资料 227 第9章 交通视频分析 228 9.1 国内外研究现状 229 9.2 主要研究内容 230 9.2.1 总体设计 231 9.2.2 精度和性能要求 231 9.3 交通视频分析 232 9.3.1 车辆检测和车牌检测 232 9.3.2 车牌识别功能设计详解 234 9.3.3 车辆品牌及颜色的识别 242 9.3.4 目标跟踪设计详解 243 9.4 系统测试 246 9.4.1 车辆检测 247 9.4.2 车牌检测 250 9.4.3 车牌识别 252 9.4.4 车辆品牌识别 255 9.4.5 目标跟踪 257 9.5 小结 258 参考资料 258 第10章 道路坑洞检测 260 10.1 系统流程 260 10.2 道路坑洞图像生成 262 10.2.1 坑洞生成网络 262 10.2.2 遮罩生成方法 263 10.2.3 图像融合 264 10.2.4 基于增广训练集的目标检测 265 10.3 实验与分析 266 10.3.1 影响因素 267 10.3.2 数据增广方法对比 268 10.3.3 边缘提取方法对比 270 10.3.4 图像融合方法对比 271 10.3.5 目标检测 273 10.4 小结 274 参考资料 274