论文--基于深度学习的图像目标类别检测研究与实现--孔冬荣0522.doc

上传人:1595****071 文档编号:33788863 上传时间:2022-08-12 格式:DOC 页数:37 大小:6.28MB
返回 下载 相关 举报
论文--基于深度学习的图像目标类别检测研究与实现--孔冬荣0522.doc_第1页
第1页 / 共37页
论文--基于深度学习的图像目标类别检测研究与实现--孔冬荣0522.doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《论文--基于深度学习的图像目标类别检测研究与实现--孔冬荣0522.doc》由会员分享,可在线阅读,更多相关《论文--基于深度学习的图像目标类别检测研究与实现--孔冬荣0522.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、_图书分类号:密 级:毕业设计(论文)基于深度学习的图像目标类别检测研究与实现RESEARCH AND IMPLEMENTATION OF IMAGE OBJECT CATEGORY DETECTION BASED ON DEEP LEARNING学生姓名孔冬荣学院名称 信电工程学院学号 20120508106班级12软嵌1专业名称计算机科学与技术指导教师鞠训光 吕宝旺2016年6月3日 31_徐州工程学院学位论文原创性声明本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用或参考的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或

2、成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标注。本人完全意识到本声明的法律结果由本人承担。论文作者签名: 日期: 年 月 日徐州工程学院学位论文版权协议书本人完全了解徐州工程学院关于收集、保存、使用学位论文的规定,即:本校学生在学习期间所完成的学位论文的知识产权归徐州工程学院所拥有。徐州工程学院有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅。徐州工程学院可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。论文作者签名: 导师签名

3、: 日期: 年 月 日 日期: 年 月 日摘要大数据时代使得数字图像的数量和规模与日俱增,给图像处理带来挑战。提高图像识别的效率和速率,对图像物体检测与识别具有一定的现实意义。深度学习DL(Deep Learning)是近几年热门的一种含有多层结构的深度神经网络。通过学习一种深层非线性网络结构,提高对复杂分类问题的泛化能力。由此而言,在图像检测难度较大的情况下,为达到更高的处理效率和准确率,运用深度学习技术便顺理成章。本选题将研究应用机器学习方法的最新成果-深度学习来实现目标类别检测。本文的主要工作包括: (1)查阅近年来的深度学习及目标检测的相关文献资料,了解深度学习和图像检测算法的国内外研

4、究现状,概述深度学习的发展及其机理和训练方法,研究深度学习的Caffe框架及卷积神经网络、Fast R-CNN等机理;(2)在Linux系统下搭建Caffe学习框架,应用CUDA并行架构,采用基于AlexNet网络的图像目标检测Fast R-CNN模型,通过交替无监督和有监督学习训练网络,最终实现对图像目标人、猫、车、沙发等二十个类别的检测;(3)通过实验验证Fast R-CNN在数据集PASCAL VOC 2007的检测效果较为理想,证实使用深度学习进行图像目标检测具有可行性和有效性。关键词 目标类别检测;深度学习;卷积神经网络;Fast R-CNNAbstractBig data era

5、brings growing number of images and the challenges of image processing. Improving the efficiency and speed of image recognition has a certain practical significance of the image object detection and recognition.Deep Learning DL (Deep Learning) is popular in recent years. It has a deep neural network

6、 with multi-layer structure. By learning a deep nonlinear network structure, the generalization ability of the complex classification problem is improved.Therefore, seeing that image detection is very difficult, in order to achieve higher processing efficiency and accuracy, we would use deep learnin

7、g techniques naturally. This topic will study the recent application of machine learning methods - deep learning to achieve the target category detection.The main work of this paper includes:(1) We refer to the literature information of deep learning and target detection in recent years, understand

8、the domestic and foreign research status of deep learning and image detection algorithm. We provide an overview of its development mechanism and training methods deep learning, mechanism of its framework Caffe and convolutional neural networks, fast R-CNN etc;(2) We build a Caffe learning framework

9、under the Linux system. Using CUDA parallel architecture and image target detection fast R-CNN model based on AlexNet network, by alternately unsupervised and supervised learning to train the network, we ultimately detect twenty categories of image target such as cats, cars, sofa and so on;(3) The e

10、xperimental results show that the detection effect of Fast R-CNN on the data set PASCAL VOC 2007 confirm that the use of deep learning for image target detection is effective and feasible.Keywords Target class detection Deep learning Convolutional neural network Fast R-CNN目 录1 绪论1.1 课题背景人工智能(Artific

11、ial Intelligence),就像长生不老和星际漫游一样,是人类最美好的梦想之一。其中,人们通过机器学习(Machine Learning),使用实例数据或过去的经验训练计算机,使其能够随时间或环境变化,解决特定的问题。数字图像处理已经成为医学、心理学、工商学、社会自然科学等领域的重要研究处理问题。对图像目标对象进行精确且要详细的类型识别,在更全面地理解图像、深入研究图像处理技术有着重要的意义。计算机视觉可以利用计算机判断感知图像中的目标以模拟人的视觉功能。目标类别检测技术(object class detection)受到人们广泛关注1、3。用户可以从中得到图像的简单分类,而且可以更为

12、准确的从图像中获得目标的位置信息,甚至是目标对象的语意类别,这使得图像检测更为方便与智能。图像目标类别检测技术,通过传统构建特征的方法如SIFT、HOG、LBP、MSER等图像处理技术及模式识别领域的方法,用边界框标定出目标对象的位置并检测目标的类别。其中,正确构建并选取特征以对图像合理有效的表达是正确识别图像目标和行为的关键。近年来,研究者发现通过无监督的方式进行学习可以更好提取到本质特征。深度学习,通过逐层构建多层网络可以使机器学习到更隐藏的特征且计算速度更快因而近年来大受欢迎。深度学习在工业界产生了巨大的影响。在Hinton 的科研小组赢得ImageNet 比赛之后半年,谷歌和百度发都布

13、了新的基于图像内容的搜索引擎。他们沿用了Hinton 在ImageNet 竞赛中用的深度学习模型,应用在各自的数据上,发现图像搜索的准确率得到了大幅度的提高。Facebook 于2013 年12 月在纽约成立了新的人工智能实验室,聘请深度学习领域的著名学者,卷积网路的发明人YannLeCun 作为首席科学家。2014 年1 月,谷歌四亿美金收购了一家深度学习的创业公司DeepMind。百度在2012 年就成立了深度学习研究院,于2014 年5月又在美国硅谷成立了新的深度学习实验室,聘请斯坦福著名教授吴恩达担任首席科学家。鉴于深度学习在学术和工业界的巨大影响力,MIT Technology Re

14、view将其列为世界十大技术突破之首。2016年3月9日至15日在进行的围棋人机大战受到各行各业的广泛关注。在这场人类与计算机之间的比赛中,韩国围棋九段棋手与围棋程序“”(AlphaGo)之间的五番棋比赛。比赛采用,最终结果是人工智能阿尔法围棋以总比分4比1战胜人类代表李世石。AlphaGo本质上就是一个深度学习的神经网络,它透过网络架构与大量样本找到了可以预测对手落子(策略网络)、计算胜率(评价网络)以及根据有限选项中计算最佳解的蒙地卡罗搜索树,根据这三个函数来找出最佳动作从而战胜李世石。这使得深度学习备受关注,吸引更多的学习者投入到深度学习的浪潮之中。1.2 研究目的及意义本选题为基于深度

15、学习的图像目标类别检测的研究与实现方法。本文所述的图像目标类别检测属于区域级7目标检测,即确定图像中某个区域含有某类目标。传统的目标检测方法2主要包括基于图像分割的方法、基于模板匹配的方法以及基于机器学习的方法等。本选题的研究目的为将对于机器学习方法的最新成果深度学习技术的Caffe框架及Fast R-CNN机理的进行研究与学习,并且应用深度学习对图像中不同类别物体进行定位与识别,最终实现图像多个目标类别的检测,为今后图像注解、基于内容的图像检索、图像编辑、智能视频监控、场景理解等分支及应用的研究做好铺垫。数字图像目标类别检测是目前很多热门应用的技术前提,图像物体检测问题相比较于图像分类更为复

16、杂,因此本选题具有广阔的市场前景。目前基于图像的检测的应用有:1.辅助驾驶:车辆行人检测(SenseADAS-Vehicle and Pedestrian Detection)、辅助驾驶-车道检测(SenseSDAS-Lane Detection)、辅助驾驶-夜间(SenseADAS-Night Vision)、辅助驾驶-雨雪天气(SenseADAS-Stormy Weather)、手势技术(Gesture Technologies)等;2.人脸图像处理技术:人脸检测跟踪(Face Detection And Tracking)、人脸关键点定位(Face Alignment)、人脸聚类(Fac

17、e Grouping)、人脸身份认证、人脸属性、人脸聚类、真人检测、人像美颜/美妆等;3.人群分析系统:人群跟踪(Growd Tracking)、人群运动预测(Crowd Motion Prediction)、人群行为分析(Crowd Behaviour Analysis); 4.智能监控(Smart Surveillance):行人车辆检测、行人属性、人群分析等;5.图像识别(Image Recognition):服装属性识别、物体检测、场景识别、车型识别等;6.文字识别(Character Recognition):文字识别、票据类、卡证类、车牌号码等;7.图像及视频编辑(Image An

18、d Video Editing):去雾、超分辨率、修复、暗光增强、单图HDR、失焦修复、滤镜、后聚焦、视频去抖等。因此,基于深度学习的目标类别检测在计算机视觉和现实应用中的重要意义,促使本文对深度学习的Fast R-CNN目标检测模型进行研究。1.3 国内外研究现状传统的图像目标检测的实现方法多使用机器学习方法,通过利用训练特征得到的分类器对图像进行目标匹配,但计算量较大耗费时间长。近年来,随着深度学习的优越性突显,使用深度学习进行目标检测逐渐成为主流。同时,在图像处理的硬件方面,深度学习使用CUDA并行计算框架可以将CPU计算转移到CPU与GPU协同计算,极大的提升了程序运行速度。1.3.1

19、 国内研究现状Zhang Xin等1对目标类别检测在关键人物和挑战、核心技术和评价指标等方面做了详尽研究,回顾了目标类别检测所取得的成就,讨论了未来可能举办的面向对象类检测的研究。蔡强等3对图像目标检测的分类器和定位策略等关键问题进行了综述,总结难点和发展方向。王倩5研究了图像运动目标在外观相似等复杂条件下检测与跟踪算法的改进与应用。国防科学技术大学的周莉16重点研究基于局部特征模型的图像分类识别,实现自然场景图像分类和显著性目标检测。在深度学习方面,清华大学的郑胤等7概述了深度学习及其在目标和行为识别中新进展及需要解决的主要问题。卢宏涛6对深度卷积神经网络在计算机视觉中的应用进行研究和综述,

20、介绍了深度学习算法在卷积神经网络模型上的构建、训练和性能表现。在深度学习的应用方面,马冬梅11对基于深度学习的图像和图像内容的检索进行了研究,使用深度学习消除底层特征带来的影响;华中科技大学自动化研究院的高常鑫等12将深度学习应用于高分辨率遥感影像数据,使其自学习特征实现高精度目标检测;汪海波14应用深度学习实现人脸身份识别系统,得到较高的识别率;哈尔滨工业大学的朱少杰17用深度学习进行文本情感分类研究;洪俊23研究基于深度学习的领域概念抽取方法;王斌25实现深度学习的行人检测。由于简单易用、性能强大,深度学习的计算框架Caffe受到了广泛的应用。王茜等15利用Caffe框架对印章类型进行识别

21、,取得较好的实验效果,对印章的自动识别提供新的参考。1.3.2 国外研究现状Lee等人应用高斯混合模型减少计算量,实现基于背景差分法的静态区域检测。Vailaya等使用层次化分类方式对多类旅游景区图像分类。Lourenco等使用改进SIFT特征提高检测匹配率。D. Ciresan28在2012年的计算机视觉与模式识别会议上发表了多卷积神经网络用于图像分类的文章,使用深层人工神经网络架构,提高图像分类的训练速度和准确率。E Denton,W Zaremba等27在对卷积神经网络的线性结构进行有效性评估,得出利用线性结构中的卷积滤波器可以显著减少所需计算的结论。LeCun发现对卷积神经网络中采用的

22、SGD(通过反向传播的随机梯度下降算法)对网络训练很有效,这也直接促进他利用CNN来做检测。CNN的算法早在90年代就已经出现了,可惜当时被SVM所取代,主要原因就是当时硬件条件还不足以支撑大数据的计算,因此模型训练无法正常训练下去。直至2012年,Krizhevsky和机器学习领域泰斗Geoffrey E. Hinton复燃了CNN,他主要是运用了LeCun的一些如rectifying non-linearities 、“dropout” 正则化方法等技巧减少全连接层的过拟合情况,在 Imagenet的数据集上共120万张高分辨率图像的1000种分类,训练达到了非常好的效果。Google D

23、eepMind卷积神经网络中加入空间变换的概念,使得自主学习输出的特征更易于分类;2015年Ross Girshick等8尝试将卷积神经网络CNN应用于目标检测,提出基于区域的卷积神经网络(R-CNN)模型,在标签数据不足的情况下,应用大容量的卷积神经网络自底向上方法给出区域建议来定位和分割目标,能够显著的提高性能。Ross Girshick等9用Python、C+实现快速的基于区域的卷积神经网络Fast R-CNN,其在R-CNN的基础上做了创新,提升了检测正确率。Shaoqing Ren等10于2016年提出了Faster R-CNN,使用区域建议网络(RPN)再次减少了检测网络的运行时间

24、。深度学习框架创始人yangqing Jia等人26 调查场景识别、区域适应性、和细粒度等,对深度卷积网络有监督的训练特征提取效果进行评估。在数据集方面,Xiao J等20研究了大范围场景识别的Sun数据集;Russakovsky O等21研究大范围视觉识别挑战赛著名的ImageNet数据集;Lin T Y等22则介绍了名为“Microsoft COCO”的包含常见物品的大型数据集。1.4 论文组织结构本文以图像中目标类别检测识别算法为主要研究对象,利用NVIDIA 的CUDA 并行计算架构,运用于本文实验的硬件设备GeForce GPU上,以达到加快程序的运行速度。在此硬件基础上,搭建深度学

25、习框架Caffe:使用C+/CUDA架构,通过Python和MATLAB接口,在CPU和GPU直接无缝切换,从而计算卷积神经网络框架(CNN)等相关算法。虽然目前最新的目标检测模型Faster R-CNN训练时间更快的优点而受到极大的关注,但由于本文硬件实验条件对于显卡和显存的限制,本文研究暂时选用研究Fast R-CNN模型,并实现图像目标中人、猫、狗、沙发等20个类别的检测。本文旨在介绍深度学习的原理及它在目标分类识别这一视觉领域做出良好效果并阐述了基于深度学习的图像目标识别与分类的研究与实现,各章节安排如下:第一章,绪论,主要介绍了本课题的研究内容为基于深度学习的目标类别检测,使用了深度

26、学习的框架Caffe。接着介绍课题背景、国内外研究现状、研究目的和意义,提出基于深度学习理论的图像目标类别检测研究与实现。第二章,深度学习相关技术章节,讲述了深度学习的概述、机理和训练方法、卷积神经网络以及深度学习的框架caffe。在卷积神经网络CNN中,重点详实的介绍了卷积和池化操作。第三章,介绍深度学习框架Caffe,主要对blob数据块、layer层结构、net网络等层次结构以及Caffe中关于机器学习的内容进行说明。第四章,概述系统的基本框架AlexNet网络,研究了RCNN以及本论文使用到的Fast R-CNN模型的机理。第五章,重点从软硬件环境、系统框架等方面对基于深度学习的图像目

27、标识别与分类的实现方法进行概括说明,同时对数据集和评价标准、系统实验测试与分析进行综述,最后给出了分析小结。2 深度学习相关技术2.1 深度学习概述深度学习19是机器学习的一个新领域,用于建立、模拟人脑进行学习、分析、解释例如图像,声音和文本等数据的神经网络。深度学习是一种无监督学习的。深度学习通过组合底层特征,提取抽象的高层表示属性类别或特征。传统的学习方法例如分类、回归等都是浅层结构算法,受有限样本和计算单元的影响,难以表示复杂函数。而深度学习通过学习一种深层非线性网络结构,逼近表示复杂函数,提高对复杂分类问题的泛化能力。见图2-1。图2-1 深度学习表示复杂函数人的视觉系统对信息的处理是

28、分级的。从低级的提取边缘特征到形状(或者目标等),再到更高层的目标、目标的行为等,即底层特征组合成了高层特征,由低到高的特征表示越来越抽象。那深度学习是如何借鉴这个过程的呢?这个借鉴的过程就是建模的过程。Bruno Olshausen和 David Field从收集的黑白照片中提取出每张大小为16*16像素的400个碎片,标记为。接着,随机从黑白照片中提取同样像素大小的另一个碎片记为 T。最后选取一组数量尽可能少碎片,叠加合成出一个新的碎片,该碎片应当与随机选择的目标碎片 T相似。见式(2.1)。 , 式(2.1)式中 表示在叠加碎片时的权重系数; 表示数量尽可能少的一组碎片;随机选择目标碎片

29、T。Bruno Olshausen和 David Field 进而发明了稀疏编码(Sparse Coding)。稀疏编码重复迭代过程如下:1)选择一组,调整,使得 最接近 T。2)固定住,在 400 个碎片中,选择其它更合适的碎片,替代原先的,使得 最接近 T。经过几次迭代后,最佳的组合被选出。其中,被选中的,基本上都是照片上不同物体线段形状像素但方向不同的边缘线。我们来模拟应图片的基本机构组成。若原始输入图像可以通过用64种正交的edges来线性表示,则目标图像只与其中的三个edges有关,且权重系数分别为0.8,0.3,0.5调和而成,其他无关edge权重系统均为0,见图2-2。图2-2

30、张图片的基本结构组成在检测方法上,传统的神经网络有大量的参数,经常发生过拟合问题,即往往在训练集上准确率很高,而在测试集上效果差。而如今,使用深度学习用GPU训练数据集可以保证训练规模较大,而且计算资源不再局限,即便是训练一个较小的网络也不再需要很长的时间。总体而言,深度学习与传统神经网络模型相比在识别的准确率上体现出明显的优势,而且训练更为方便。2.2 深度学习机理及训练方法2.2.1 深度学习机理Deep Learning的基本思想是:堆叠多个层,这一层的Input即为下一层的Output,对输入信息分级表达,通过调整系统参数,使得输出Output近似等于Input且二者差别尽可能小,我们

31、即可通过这种深层网络,自动获得输入Input的一系列层次特征S1,.Sn。2.2.2 深度学习训练方法由于深度神经网络的神经元和参数较多,若对所有层同时训练,则会提高训练时间复杂度;若每次只训练一层,则会逐层传递偏差,导致欠拟合。为解决上述问题,hinton提出了自己的方法,步骤如下:(1)逐层构建并训练单层神经元,第n-1层的输出作为第n层的输入;(2)训练完整个网络的所有层后,进行调优(fine-tuning)。这两个步骤有效地在非监督数据上建立了深度神经网络。网络的最顶层仍属于单层的神经网络,因为除了最顶层之外的各层的层间权重是双向的,向上的权重由前向传播(forward)产生,向下的权

32、重由反向传播(backward)产生。利用这种方式调整所有权重,可以保证最高层可以尽可能正确地复原最底层结点。深度学习的具体训练方式如下所示:(1)从底层向上逐层无监督地进行特征学习feature learning。通过使模型学习输入无标签数据的结构,通过模型能力的限制及稀疏性约束更好的学习到数据的特征,这一步决定深度学习的效果;(2)从最高层向下逐层有监督地进行微调fine-tuning。通过第(1)步我们得到了各层参数后,使用有标签的数据微调各层参数,使得结果取得更准确。2.3 卷积神经网络CNN卷积神经网络CNN全称为Convolutional Neural Networks 5是一种前

33、馈神经网络。卷积神经网络是受生物学上感受野(Receptive Field)的机制而提出的。感受野主要是指听觉系统、本体感觉系统和视觉系统中神经元的一些性质。卷积神经网络有三个结构上的特性:局部连接,权重共享以及空间或时间上的次采样。权值共享使得参数数量减少,显著降低了问题的复杂度,避免传统算法中的复杂特征提取及数据重建问题。这些特性使得卷积神经网络具有一定程度上的平移、缩放和扭曲不变性。卷积神经网络是一种用来处理输入二维数据的多层人工神经网络。多个独立神经元构成每一平面,而多个二维平面构成神经网络中的每一层。层间的神经元互相连接,而层内的神经元不发生连接。卷积神经网络类似于生物神经网络,通过

34、共享权值网络代替传统的全连接网络以降低计算复杂度节约时间,在语音信号处理和时间序列信号方面与较大优势。同时,卷积神经网络可以改变网络的深度和广度以达到改变模型容量的目的。因此,卷积神经网络凭借更少的网络连接数和权值参数使其相比较于其他网络更容易训练。2.3.1 卷积神经网络的网络结构卷积神经网络含有多个二维平面层,其中包括特征提取层C层、使用Sigmoid激励函数以获得局部平均和二次提取的特征映射层S层,每层含有多个独立神经元。卷积神经网络网络凭借这种两次特征提取结构可以容忍输入样本图像的畸变。图2-4 简化的卷积神经网络结构简化的卷积神经网络模型结构见2-4。该网络模型由C1卷积层1、S1子

35、采样层1、C2卷积层2、S2子采样层2组成,网络训练的步骤如下:(1) 输入图像通过与三个滤波器(卷积核),加上偏置向量进行卷积运算,在卷积层1层产生三个特征映射图feature map;(2) 对每个特征映射图的局部区域进行加权平均求和,增加偏置后通过三个非线性激活函数在子采样层1得到三个新的特征映射图。(3) 将特征映射图与卷积层2的三个滤波器进行卷积计算,通过子采样层2得到三个特征映射图。(4) 分别向量化子采样层2的三个输出,输入到传统的神经网络(NN)中进行训练。2.3.2 卷积操作2.3.2.1 一维卷积运算一维卷积经常用在信号处理中。给定一个输入信号序列,和滤波器,一般情况下滤波

36、器的长度m远小于信号序列长度n。卷积的输出见式(2.2) 式(2.2) 当滤波器 ft = 1/n时,卷积相当于信号序列的移动平均。2.3.2.2 二维卷积运算二维卷积经常用在图像处理中。给定一个图像,和滤波器,一般,。卷积的输出见式(2.3)。 式(2.3)在图像处理中,常用的均值滤波( mean filter)就是当前位置的像素值设为滤波器窗口中所有像素的平均值,见式(2.4)。 式(2.4)2.3.2.3 卷积特征提取图像的具有“静态”的特定性,即其某一部分的统计特性与其他部分相同,所以一部分学习到的特征也能用在另一部分上。即从大尺寸的图像中从随机选取的一小块区域训练样本中学习到的特征作

37、为滤波器,与原始图像作卷积计算,得到原始图像中任一位置上的不同特征的激活值。二维卷积计算的示意图,见图2-5。图2-5二维卷积运算操作示意图假设原始输入图像像素为128*128,预训练后得到200个8*8像素的特征映射(滤波器),则对原始图像中每个8*8像素区域用200个特征映射(滤波器)进行卷积运算,每个特征映射可以得到(128-8+1)*(128-8+1)即121*121的卷积特征映射图,可以得到200*121*121像素大小的卷积特征映射图。2.3.3 子采样(池化)操作2.3.3.1 子采样运算卷积层虽然可以显著减少连接的个数,但是每一个特征映射的神经元个数并没有显著减少。这样,如果后

38、面接一个分类器,分类器的输入维数依然很高,并且图像的尺寸越大分辨率越高,需要的计算开销越大,很容易出现过拟合情况。为了解决这个问题,在卷积神经网络一般会在卷积层之后再加上一个池化(Pooling)操作,也就是子采样(Subsampling),构成一个子采样层。子采样层可以来大大降低特征的维数,避免过拟合。对于卷积层得到的一个特征映射,我们可以将划分为很多区域,这些区域可以重叠,也可以不重叠。见式(2.5)。, , 式(2.5)其中,和分别是可训练的权重和偏置参数。见式(2.6)。, , 式(2.6)是指子采样后的特征映射。子采样函数一般是取区域内所有神经元的最大值( Maximum Pooli

39、ng)或平均值( Average Pooling)。子采样的作用还在于可以使得下一层的神经元对一些小的形态改变保持不变性,并拥有更大的感受野。见式(2.7)、式(2.8)。 式(2.7) 式(2.8)2.3.3.2 子采样流程子采样(池化)有最大池化(或平均池化),指的是计算某局部区域的某卷积特征的最大值(或平均值)。例如m*n像素大小的池化区域提取卷积特征后,划分成多个m*n大小的不相交区域,进行池化后可得到特征映射图。图2-6 特征映射图例如6*6像素大小的原始图像中,见图2-6,有四块不重合四块子区域。取m=3,n=3,使用3*3像素大小的卷积核对其进行最大池化,可得到如图靠右的池化后的

40、特征映射图。池化后的单元具有平移不变的特性。若池化区域为图像的连续范围,且对相同隐含神经元产生的卷积特征进行池化,则这些池化后的特征单元具有平移不变性。换句话说,原始图像中的物体发生微小的平移后仍可以提取出相同的池化特征,继而分类器输出的分类结果也相同。池化使得统计特征极大地降低特征向量的维度,降低训练分类器所需的计算量,而且能够有效地扩充训练数据,有利于防止过拟合。2.4 本章小结本章研究了深度学习的相关技术,如深度学习机理及训练方法,详细介绍卷积神经网络CNN的网络结构及卷积、子采样操作。3 深度学习框架Caffe3.1 Caffe概述Caffe全称为Convolutional Archi

41、tecture for Fast Feature Embedding,是一个清晰,可读性高,快速的用于计算卷积神经网络(CNN)相关算法的深度学习框架。作者是贾扬清,加州大学伯克利的ph.D,现就职于FaceBook。Caffe是纯粹的C+/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换。Caffe的优势有以下几点:(1)易懂:Caffe中的模型定义和相应的最优化设置都是非代码文本文件,可尽快了解Caffe;(2)计算:Caffe和cuDNN相结合,使用AlexNet网络模型测试海量数据,极大的提高了训练时间(例如在K40显卡上运行1.17ms即可处

42、理一张图像);(3)扩展:Caffe提供的各层类型可以较为方便的扩展到自己新定义的模型上;(4)开源:Caffe代码基本公开并且模型可供参考;(5)交流: BSD-2社区可供研究者参与研讨。3.2 Caffe层次结构简介3.2.1 blob数据Blob 是 Caffe 中处理和传递实际数据的数据封装包, 并且在 CPU 与 GPU 之间具有同步处理能力。从数学意义上说, blob 是按 C 风格连续存储的 N 维数组。Caffe 基于 blobs 存储和交换数据。为了便于优化, blobs 提供统一的内存接口来存储某种类型的数据,例如批量图像数据、模型参数以及用来进行优化的导数。Blobs 可

43、根据 CPU 主机到 GPU 设备的同步需要,屏蔽 CPU/GPU 混和运算在计算上的开销。主机和设备上的内存按需求分配( lazily),以提高内存的使用效率。对于批量图像数据来说, blob 常规的维数为N*K*H*W,见式(3.1)。 式(3.1)式中表示图像数量; 表示通道数; 表示图像高度; 表示图像宽度。Blob 按行为主( row-major) 进行存储,所以一个 4 维 blob 中,坐标为的值的物理位置见式(3.2)。 式(3.2)这也使得最后面/最右边的维度更新最快。 Number/N 是每个批次处理的数据量。批量处理信息有利于提高设备处理和交换的数据的吞吐率。 在 Ima

44、geNet 上每个训练批量为 256 张图像,则 N=256。l Channel/K 是特征维度,例如对 RGB 图像来说,K=3。虽然 Caffe 的图像应用例子中很多 blobs 都是 4 维坐标,但是对于非图像应用任务,blobs也完全可以照常使用。例如,如果你仅仅需要类似于传统多层感知机那样的全连接网络,使用 2 维的 blobs (形式为(N, D)),之后再调用 InnerProductLayer (全连接层)即可。参数 Blob 的维度是根据层的类型和配置而变化的。一个卷积层中若有 96 个空间维度为11 x 11、输入为 3 通道的滤波器,那么其 blob 维度是 96 x 3

45、 x 11 x 11。对于一个输入是 1024维(输入通道数),输出是 1000 维(输出通道数)的内积层/全连接层, 参数 blob 维度是 1000x 1024。对于 blob 中的数据,我们关心的是 values(值)和 gradients(梯度),所以一个 blob单元存储了两块数据data 和 diff。前者是我们在网络中传送的普通数据,后者是通过网络计算得到的梯度。而且,由于数据既可存储在 CPU 上,也可存储在 GPU 上,因而有两种数据访问方式:静态方式,不改变数值;动态方式,改变数值。blob 使用了一个 SyncedMem 类来同步 CPU 和 GPU 上的数值,以隐藏同步的细节和最小化传送数据。一个经验准则是,如果不想改变数值,就一直使用常量调用,而且绝不要在自定义类中存储指针。每次操作 blob 时,调用相应的函数来获取它的指针,因为 SyncedMem 需要用这种方式来确定何时需要复制数据。实际上,使用 GPU 时, Caffe 中 CPU 代码先从磁盘中加载数据到 blob,同时请求分配一个 GPU 设备核(device kernel)以使用 GPU 进行计算,再将计算好的 blob

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁