《卷积神经网络与计算机视觉》
智能科学与技术丛书
卷积神经网络与计算机视觉
A Guide to Convolutional Neural Networks
for Computer Vision
[澳]萨尔曼·汗(Salman Khan)
侯赛因·拉哈马尼(Hossein Rahmani)
赛义德·阿法克·阿里·沙(Syed Afaq Ali Shah)
穆罕默德·本纳努恩(Mohammed Bennamoun)著
黄智濒 戴志涛 译
译者序
A Guide to Convolutional Neural Networks for Computer Vision
1998年,Yann LeCun教授提出了第一个真正意义上的卷积神经网络LeNet,并将它应用到手写数字识别上.然而这个模型在后来的一段时间并未流行起来,主要原因是卷积神经网络虽然可以有效处理噪声信号,提取输入数据的特征,但需要较大的计算量,受限于当时的计算能力,识别的错误率比同时代的支持向量机要高很多.支持向量机精巧地在容量调节上选择了更合适的平衡点,从而获得了较大的成功,但其噪声信号处理能力较差.随着计算机性能沿摩尔定律的提升,多核处理器、通用图形处理器以及各类高性能分布式计算模式的出现,计算能力有了突飞猛进的发展.终于,在2012年ImageNet大规模视觉识别挑战赛(ILSVRC)上,AlexNet的卓越表现,使得人们认识到卷积神经网络的巨大潜力,各类深度网络结构层出不穷,各种卷积神经网络的应用如雨后春笋般冒出来.其中计算机视觉领域的应用最有代表性,并获得了巨大成功,同时也促进了人们学习并深入研究深度神经网络(特别是深度卷积神经网络).本书正是在这样的背景下顺应而生的.
Morgan & Claypool综合报告深受广大科研工作者喜爱,每份报告全面阐述一项重要的研究或技术,由该领域著名专家撰写.报告的独特价值在于能带给读者比期刊文章更综合的内容、更深入的分析,同时比一般图书或工具书更模块化、更动态.本书脉络清晰,突出重点,围绕深度卷积神经网络的基础知识、核心概念、最新进展、在计算机视觉领域各方面的近期典型应用案例、主要支撑工具平台以及未来的研究方向等方面进行了介绍.总之,本书非常合适那些既对计算机视觉感兴趣,又想深入学习深度卷积神经网络的中高级读者.
在翻译的过程中,虽然我们力求准确反映原著表达的思想和概念,但由于本书内容大部分来自于近期有影响力的国际期刊和会议论文,有很多新名词尚没有标准的中文译名,因此只能通过查询互联网来选择被广泛接受的中文译名.我们将这些译名整理成术语表附在本书最后,希望本书的出版能推动这些中文译名的统一化,便于国内的研究学习和交流.由于译者水平有限,翻译中难免有错漏之处,恳请读者和同行批评指正.
最后,感谢家人和朋友的支持和帮助.同时,要感谢在本书翻译过程中做出贡献的人,特别是北京交通大学附属中学的韩乐铮,北京邮电大学的董丹阳和赵达菲;还要感谢北京邮电大学计算机学院的大力支持.
北京邮电大学计算机学院
智能通信软件与多媒体北京市重点实验室
黄智濒戴志涛
2018年11月于北京
前言
A Guide to Convolutional Neural Networks for Computer Vision
本书的主旨是从计算机视觉的角度全面深入地介绍卷积神经网络(Convolutional Neural Network,CNN)的主题,覆盖了与理论和实践方面相关的初级、中级和高级主题.
本书共分为9章.第1章介绍计算机视觉和机器学习主题,并介绍与它们高度相关的应用领域.第1章的后半部分提出本书的主题“深度学习”.第2章介绍背景知识,展示流行的手工提取的特征和分类器,这些特征和分类器在过去二十年间仍然在计算机视觉中很受欢迎.其中包括的特征描述符有尺度不变特征变换(ScaleInvariant Feature Transform,SIFT)、方向梯度直方图(Histogram of Oriented Gradients,HOG)、加速健壮特征(SpeededUp Robust Features,SURF),涵盖的分类器有支持向量机(Support Vector Machine,SVM)和随机决策森林(Random Decision Forest,RDF)等.
第3章描述神经网络,并涵盖与其架构、基本构建块和学习算法相关的初步概念.第4章以此为基础,全面介绍CNN架构.该章介绍各种CNN层,包括基本层(例如,子采样、卷积)以及更高级的层(例如,金字塔池化、空间变换).第5章全面介绍学习和调整CNN参数的技巧,还提供可视化和理解学习参数的工具.
第6章及其后的内容更侧重于CNN的实践方面.具体来说,第6章介绍目前的CNN架构,它们在许多视觉任务中表现出色.该章还深入分析并讨论它们的相对优缺点.第7章进一步深入探讨CNN在核心视觉问题中的应用.对于每项任务,该章都会讨论一组使用CNN的代表性工作,并介绍其成功的关键因素.第8章介绍深度学习的流行软件库,如Theano、TensorFlow、Caffe和Torch.最后,第9章介绍深度学习的开放性问题和挑战,并简要总结本书内容.
本书的目的不是提供关于CNN在计算机视觉中的应用的文献综述.相反,它简洁地涵盖了关键概念,并提供了当前为解决计算机视觉的实际问题而设计的模型的鸟瞰图.
致谢
A Guide to Convolutional Neural Networks for Computer Vision
我们要感谢Gerard Medioni和Sven Dickinson,他们是计算机视觉系列综合图书的编辑,让我们有机会为这个系列做出贡献.非常感谢Morgan & Claypool执行编辑Diane Cerra的帮助和支持,他负责管理整个的图书准备流程.感谢在我们的职业生涯中遇到的同事、学生、合作者和合著者,他们的激励使我们对这一主题始终兴趣不减.我们也深深感谢各类相关研究团体,他们的工作带来了计算机视觉和机器学习方面的重大进步,本书将介绍其中的一部分.更重要的是,我们想对那些允许我们在本书的某些部分使用他们的数据或表格的人表示感谢.本书极大地受益于同行评审的建设性评论和赞赏,这有助于我们改进所呈现的内容.最后,没有家人的帮助和支持,这项成果是不可能实现的.
我们还要感谢澳大利亚研究理事会(ARC),其资金和支持对本书的一些内容至关重要.
Salman Khan,Hossein Rahmani,
Syed Afaq Ali Shah,
Mohammed Bennamoun
2018年1月
作者简介
A Guide to Convolutional Neural Networks for Computer Vision
萨尔曼·汗(Salman Khan)2012年以特优成绩获得美国国家科学技术大学(NUST)电气工程专业工学学士学位,2016年获得西澳大利亚大学(UWA)博士学位.他的博士学位论文获得了院长荣誉榜的特别奖励.2015年,他是澳大利亚国家信息通信技术堪培拉研究实验室的访问研究员.他目前是联邦科学与工业研究组织(CSIRO)Data61部门的研究科学家,自2016年起担任澳大利亚国立大学(ANU)的兼职讲师.他获得了多项著名奖学金,如博士生国际研究生研究奖学金(IPRS)和硕士生富布赖特奖学金.他曾担任多个领先的计算机视觉和机器人会议的程序委员会成员,如IEEE CVPR、ICCV、ICRA、WACV和ACCV.他的研究兴趣包括计算机视觉、模式识别和机器学习.
侯赛因·拉哈马尼(Hossein Rahmani)2004年在伊朗伊斯法罕技术大学计算机软件工程专业获得理学学士学位.2010年在伊朗德黑兰沙希德贝赫什迪大学软件工程专业获得理学硕士学位.他于2016年在西澳大利亚大学学习并获得博士学位.他曾在CVPR、ICCV、ECCV和TPAMI等顶级会议和期刊上发表过多篇论文.他目前是西澳大利亚大学计算机科学与软件工程学院的研究员.他曾担任多个领先的计算机视觉会议和期刊(如IEEE TPAMI和CVPR)的审稿人.他的研究兴趣包括计算机视觉、动作识别、3D形状分析和机器学习.
赛义德·阿法克·阿里·沙(Syed Afaq Ali Shah)分别于2003年和2010年在巴基斯坦白沙瓦工程技术大学(UET)电气工程专业获得理学学士和理学硕士学位.他于2016年在西澳大利亚大学计算机视觉和机器学习领域获得了博士学位.他目前在西澳大利亚大学计算机科学与软件工程学院担任副研究员.他获得了由澳大利亚研究理事会资助的3D面部分析项目“Start Something Prize for Research Impact through Enterprise”.他曾担任ACIVS 2017的程序委员会成员.他的研究兴趣包括深度学习、计算机视觉和模式识别.
穆罕默德·本纳努恩(Mohammed Bennamoun)在加拿大金斯敦女王大学获得控制理论领域的硕士学位,在澳大利亚布里斯班昆士兰科技大学获得计算机视觉领域的博士学位.他在女王大学讲授机器人学,之后于1993年加入昆士兰科技大学担任助理讲师.他目前是西澳大利亚大学的温思罗普教授,并曾担任西澳大利亚大学计算机科学与软件工程学院院长五年(2007年2月至2012年3月).在1998~2002年他曾担任昆士兰科技大学卫星导航空间中心主任.
他曾在2013~2015年期间担任澳大利亚研究理事会(ARC)专家委员会委员.他于2006年在爱丁堡大学担任伊拉斯莫斯学者和客座教授.他还曾担任CNRS(国家科学研究中心)客座教授,2009年法国里尔高等电信工程师学院客座教授,2006年赫尔辛基理工大学客座教授以及2002~2003年法国勃艮第大学和法国巴黎13的客座教授.他是《Object Recognition:Fundamentals and Case Studies》(施普林格出版社,2001)一书的合著者,也是2011年出版的《Ontology Learning and Knowledge Discovery Using the Web》一书的合著者.
穆罕默德已经发表了100多篇期刊论文和250多篇会议论文,并从ARC、政府和其他资助机构获得了极具竞争力的国家拨款.其中一些赠款是与行业合作伙伴(通过ARC联动项目计划)携手解决行业的实际研究问题,这些合作伙伴包括澳洲游泳协会、西澳大利亚体育学院、纺织公司(Beaulieu Pacific)和AAMGeoScan.他致力于研究问题,并与来自不同学科(包括动物生物学、语音处理、生物力学、眼科学、牙科学、语言学、机器人学、摄影测量学和放射学)的研究人员(通过联合出版物、资助和指导博士生)合作.他与澳大利亚境内(如CSIRO)的研究人员以及国际(如德国、法国、芬兰、美国)的研究人员合作.他曾多次获奖,包括1998年昆士兰科技大学年度最佳导师奖、2016年卓越教学奖(指导学生奖)和校长奖(研究导师奖).2008年他还获得了西澳大利亚大学指导学生奖.
他曾担任几个国际期刊的特刊的客座编辑,如国际模式识别和人工智能期刊(IJPRAI).他受邀参加欧洲计算机视觉会议(ECCV)、国际声学语音和信号处理会议(IEEE ICASSP)、IEEE国际计算机视觉会议(CVPR 2016)、Interspeech(2014)以及国际深度学习暑期学校的课程(DeepLearn2017).他组织了几次专题会议,包括IEEE国际图像处理会议(IEEE ICIP)的专题会议.他是许多会议的程序委员会成员,例如3D数字成像和建模(3DIM)以及计算机视觉国际会议.他还为许多地方和国际会议的组织做出了贡献.他感兴趣的领域包括控制理论、机器人技术、避障、目标识别、机器/深度学习、信号/图像处理和计算机视觉(特别是3D).
目录
A Guide to Convolutional Neural Networks for Computer Vision
译者序
前言
致谢
作者简介
第4章卷积神经网络
4.1引言
4.2神经网络层
4.2.1预处理
4.2.2卷积层
4.2.3池化层
4.2.4非线性
4.2.5全连接层
4.2.6转置卷积层
4.2.7感兴趣区域的池化层
4.2.8空间金字塔池化层
4.2.9局部特征聚合描述符层
4.2.10空间变换层
4.3CNN损失函数
4.3.1交叉熵损失函数
4.3.2SVM铰链损失函数
4.3.3平方铰链损失函数
4.3.4欧几里得损失函数
4.3.51误差
4.3.6对比损失函数
4.3.7期望损失函数
4.3.8结构相似性度量
第5章CNN学习
5.1权重初始化
5.1.1高斯随机初始化
5.1.2均匀随机初始化
5.1.3正交随机初始化
5.1.4无监督的预训练
5.1.5泽维尔(Xavier)初始化
5.1.6ReLU敏感的缩放初始化
5.1.7层序单位方差
5.1.8有监督的预训练
5.2CNN的正则化
5.2.1数据增强
5.2.2随机失活
5.2.3随机失连
5.2.4批量归一化
5.2.5集成模型平均
5.2.62正则化
5.2.71正则化
5.2.8弹性网正则化
5.2.9最大范数约束
5.2.10早停
5.3基于梯度的CNN学习
5.3.1批量梯度下降
5.3.2随机梯度下降
5.3.3小批量梯度下降
5.4神经网络优化器
5.4.1动量
5.4.2涅斯捷罗夫动量
5.4.3自适应梯度
5.4.4自适应增量
5.4.5RMSprop
5.4.6自适应矩估计
5.5CNN中的梯度计算
5.5.1分析微分法
5.5.2数值微分法
5.5.3符号微分法
5.5.4自动微分法
5.6通过可视化理解CNN
5.6.1可视化学习的权重
5.6.2可视化激活
5.6.3基于梯度的可视化
第6章CNN架构的例子
6.1LeNet
6.2AlexNet
6.3NiN
6.4VGGnet
6.5GoogleNet
6.6ResNet
6.7ResNeXt
6.8FractalNet
6.9DenseNet
第7章CNN在计算机视觉中的应用
7.1图像分类
7.1.1PointNet
7.2目标检测与定位
7.2.1基于区域的CNN
7.2.2快速RCNN
7.2.3区域建议网络
7.3语义分割
7.3.1全卷积网络
7.3.2深度反卷积网络
7.3.3DeepLab
7.4场景理解
7.4.1DeepContext
7.4.2从RGBD图像中学习丰富的特征
7.4.3用于场景理解的PointNet
7.5图像生成
7.5.1生成对抗网络
7.5.2深度卷积生成对抗网络
7.5.3超分辨率生成对抗网络
7.6基于视频的动作识别
7.6.1静止视频帧的动作识别
7.6.2双流CNN
7.6.3长期递归卷积网络
第8章深度学习工具和库
8.1Caffe
8.2TensorFlow
8.3MatConvNet
8.4Torch7
8.5Theano
8.6Keras
8.7Lasagne
8.8Marvin
8.9Chainer
8.10PyTorch
第9章结束语
9.1本书概要
9.2未来研究方向
术语表
参考文献
- 点赞
- 收藏
- 关注作者
评论(0)