登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 电子信息科学与技术 > 正文

基于卷积神经网络方法的图像识别及应用毕业论文

 2020-02-23 09:02  

摘 要

图像识别是指使用计算机感知图片以识别不同物体和图案的技术。传统的图像识别方法比较单一,在识别一类事物之前先要针对该事物建立一个库,这会耗费大量的时间和空间。并且每种方法只能识别一类物体。随着近年来人工智能的不断发展,图像识别成为人工智能研究的一个重要领域,基于卷积神经网络的图像识别方法涌现而出,并且取得较好的识别效果,在效率上也有很大的提升。

本文阐述了卷积神经网络的基本原理及其构成,并具体说明了LeNet和AlexNet两个经典的网络模型。文中详细讲述了卷积神经网络中的卷积操作和池化操作的工作原理。本文使用tensorflow框架搭建了一个卷积神经网络系统识别手写数字数据集,随后使用数据增强和dropout方法优化系统,并用来识别CIFAR-10数据集。本文最后从识别率及效率两个方面将其与传统图像识别方法进行对比分析,证明基于卷积神经网络的图像识别的识别率远远高于传统方法,并且识别效率也高于传统方法,所以深入研究卷积神经网络是势在必行的。

关键词:图像识别;卷积神经网络;数据增强;dropout;tensorflow

Abstract

Image recognition refers to the technique of using computers to perceive pictures to recognize different objects and patterns. The traditional image recognition method is relatively simple. Before identifying a type of thing, it is necessary to establish a library for the thing, which will consume a lot of time and space. And each method can only recognize one type of object. With the continuous development of artificial intelligence in recent years, image recognition has become an important area of ​​artificial intelligence research. Image recognition methods based on convolutional neural networks have emerged, and have achieved better recognition results. The efficiency has also been greatly improved. .

This paper expounds the basic principle and constitution of convolutional neural network, and specifically explains the two classical network models of LeNet and AlexNet. The paper describes in detail the working principle of convolution and pooling operations in convolutional neural networks. This paper uses the tensorflow framework to build a convolutional neural network system to identify handwritten digital datasets, then use the data enhancement and dropout methods to optimize the system and to identify the CIFAR-10 dataset. In the end, the paper compares the recognition rate and efficiency with traditional image recognition methods, and proves that the recognition rate of image recognition based on convolutional neural network is much higher than traditional methods, and the recognition efficiency is higher than the traditional method. It is imperative to thoroughly study convolutional neural networks.

Key Words:image recognition; convolutional neural network; data enhancement; dropout; tensorflow

目录

第1章 绪论 1

1.1 论文研究背景及意义 1

1.2 国内外研究现状 2

1.3 本文的主要内容和结构安排 2

第2章 卷积神经网络 4

2.1 深度神经网络 4

2.2 卷积神经网络的构成 6

2.3 卷积神经网络的连接层及权值共享 7

2.4 卷积神经网络的卷积操作 8

2.5 卷积神经网络的池化层 9

第3章 卷积神经网络在MNIST数据集上的应用 11

3.1 MNIST数据集 11

3.2 实验环境tensorflow的介绍 11

3.3 搭建简单的两层卷积神经网络模型 11

3.4实验结果 15

第4章 卷积神经网络的优化 17

4.1 两种常见的优化方法 17

4.1.1 数据增强 17

4.1.2 dropout 17

4.2 CIFAR-10数据集 19

4.3 卷积神经网络在CIFAR-10数据集识别上的应用 20

4.3.1 优化后的卷积神经网络模型 20

4.3.2 训练过程及结果 22

4.4 传统方法和卷积神经网络的图像识别对比分析 25

第5章 总结与展望 27

5.1 论文总结 27

5.2 工作展望 27

参考文献 29

附 录 30

致 谢 34

第1章 绪论

1.1 论文研究背景及意义

这几年来,随着大数据的炽热发展,如何利用海量的数据产生价值,更好的为人类服务,已成为迫在眉睫的问题,这时机器学习进入了人们的视线。机器学习是研究如何利用计算机来模仿人类的大脑[1],使其能够以类似人的思维方式甚至是超越人类的方式对事件做出反应。机器学习算法的开发过程主要包括以下几个步骤:

(1)数据的搜集。按照不同的场景,我们可以由一个数据流API或者组合多个数据流来获取数据。

(2)数据的预处理。显现一种便于数据用户明白的数据。

(3)数据转换。数据按照详细的算法和场景举行变换。

(4)算法训练。

(5)算法测试。评估算法主要是测试其有效性和性能。

(6)应用强化学习。

(7)执行。

基于机器学习中期望输出和输入数据的潜在映射关系,机器学习算法[2]一共有以下六种:

(1)有监督学习是一种根据输入数据和预测值推断潜在映射关系的学习机制。

(2)无监督学习主要用在期望值未知的无标签的数据集中进行数据挖掘的方法。

(3)半监督学习。

(4)强化学习算法,给定条件下,通过可实现最大化累计奖励的智能代理机制,它包含了一系列的活动或者行为活动探测。

(5)推式学习,通过使用数据集上额外的新观察样例在指定的测试条件下预测特定的函数模型。

(6)归纳推理,根据数据到整个假设空间关系预测模型函数,并且使用该模型来预测训练集以外样例的输出值。

深度学习又被称为深层神经网络[3],随着计算机的快速发展,电脑的配置越来越强,神经网络的训练效率急速增高,深度学习也变得更加火热。加之近几年网络上出现的阿尔法狗[4]不断战胜世界围棋高手,越来越的技术人员开始研究深度学习。深度学习也开始被用生活中的各个方面,如图像识别,手机系统,语音辨别、拍照等。

卷积神经网络(Convolutional Neural Network, CNN)是深度学习中的一个重要网络模型。最初出现时不被技术人员看好,认为其识别率低,训练时间长。但在2012年的ImageNet比赛中,Geoffrey和Alex Krizhevsky摘下了图像分类的桂冠,而且打破了这方面的记录,用竞赛冠军证明了卷积神经网络的实力。

传统的图像识别方法采取基于小波矩的图像识别方法[5],该方法的主要过程为识别特征由输入图像的不变矩阵确定,应用BP网络对识别特征识别,对输入的二维二值图像实行归一化处理,极坐标化,提取旋转不变小波矩特征后,再经过网络分类器完成识别,获取识别结果。但是在对图像、音频等外界信息直接进行感知时比较困难。因此,将人工智能和深度学习应用于图像识别、音频识别等方面,成为了现在最热门的方法。本文即采用卷积神经网络搭建一个图像识别系统,记录实验结果与传统识别方法进行对比分析,说明基于卷积神经网络的图像识别方法优于传统识别方法。

1.2 国内外研究现状

卷积神经网络发源于认知神经科学[6],LeCun在十九世纪八十年达末发明了第一个卷积神经网络模型,名字也叫LeCun。

1998年LeCun创建了LeNet,本来认为可以带来卷积神经网络的热潮。但是当时人工创建特征器(SVM)[7]的实验效果更好,LeNet就这样被淹没了。后来,研究人员提出了激活函数Relu和dropout方法,伴随着CPU和GPU的发展以及大数据时代的到来,在2012年,卷积神经网络取得了巨大的发展。

AlexNet在2012年的ImageNet图像分类比赛中摘得桂冠,Top-5识别率为84.7%。AlexNet的识别率远远高于那届比赛的亚军,识别率仅为73.8%。

2014年提出的VGGNet识别率达到了92.68%。它AlexNet一样分为了8个部分,其中包括了五组卷积核,两层全连接图像特征和一层全连接分类特征[8]

2014年,谷歌公司提出的GoogleNet摘得了2014年ILSVRC比赛的桂冠,它的识别率提升到了93.33%。GoogleNet在不同的层次添加损失函数来防止在深层网络中反向传播过程容易出现梯度为0的情况,最终达到了22层。另外在卷积层中使用了不同大小的卷积核。

2015年,由MSRA何凯明等人提出的ResNet(Residual Network,残差网络)[9]在ILSVRC竞赛中摘下了不依赖外部数据的物体检测和物体识别两个项目的桂冠。残差网络的层次达到了152层。

总之,近年来卷积神经网络在图像识别方面的应用发展迅速,并且还有很大的发展空间,后面会有越来越多的科研学者继续为之努力。

1.3 本文的主要内容和结构安排

本文讲解了卷积神经网络的原理及构成,搭建了卷积神经网络系统,在MNIST手写数字数据集上进行了验证,接着对搭建了网络模型实行了优化,并在CIFAR-10数据集上实现了验证,最后与传统的图像识别方法在识别率以及时间效率两个方面进行对比。本文一共有五个章节,结构安排如下:

第一章绪论,首先简述了机器学习、传统图像识别方法,接着阐述了卷积神经网络的出现的过程以及国内外研究现状。

第二章基于卷积神经网络的图像识别,本章详细说明了卷积神经网络的原理及网络结构,然后讲解了两个经典的卷积神经网络。

第三章卷积神经网络MNIST数据集上的验证,采用tensorflow框架搭建了一个卷积神经网络系统在MNIST数据集上进行了验证。

第四章卷积神经网络的优化,本章介绍了数据增强和dropout两种优化方法的原理,并在CIFAR-10数据集上进行了验证。然后收集实验数据,并从识别率和时间效率两个方面进行传统图像识别与基于卷积神经网络图像识别的对比。

第五章总结与展望,对前面四个章节进行总结,并分析本文的不足之处,对基于卷积神经网络的图像识别进行更加的深入研究,期望可以达到更好的效果。

第2章 卷积神经网络

2.1 深度神经网络

神经元是神经网络(neural networks,NN)最基本的组成单元。神经元一般是由细胞核、树突、轴突和轴突末梢几个部分构成[10]。如图2.1所示:

图2.1 神经元组成

20世纪50年代,人工神经元被发明,这个原型的结构的很简单,其中包含一个计算单元,它可以接受多个输入,输入的数据经过处理后产生一个输出,如图2.2所示:

X₁

W₁

W₂

O

X₂

θ

∑WX

. . .

W₃

X₃

θ

图2.2 人工神经元

将多个单一的神经元组合到一起时,选择部分神经元的输出作为部分其余神经元的输入,这样就组成了一个单层的神经网络。如图2.3所示,接受数据的层是输入层,输出结果的层是输出层,然后中间的神经元组成隐藏层。

大多数情况下,在创建一个网络模型的时候,输入层和输出层基本上是不会变化的,而隐藏层的层数和节点数都可以自由变化。

O₁

X₃

X₂

X₁

输入层 中间层 输出层

图2.3 神经网络的基本组成图

神经元之间的计算如果只采用简单的加权计算在大多数情况下都是不够的。我们首先用一个随机分布对权值和偏置进行初始化(通常比较小),然后筛选一个输入数据,将其放入网络模型中,乘以权重,再加上偏置,计算模型的结果,最终还要加上激励函数。

常见的激励函数[11]有:logistic、relu以及它们的变种。它们的公式如下:

Logistic激活函数:

(2.1)

Relu激活函数:

(2.2)

只有一层的神经网络在实际应用中表现不出来很好的效果,前面提到隐藏层的层数是可以自由改变的,当我们将它的层数由一层变成多层时,就构成了深度神经网络。

在深度神经网络模型中,刚开始对它进行训练时,对于一个输入数据,产出的输出结果肯定比我们想要的结果是差很远的,因为网络中的参数都是不确定的。网络的输入结果和实际的真实结果差多少,通常采用损失函数(loss function)[12]对它进行量化。损失函数有很多种,本文给出3种损失函数的计算公式:

0-1损失函数,公式如下:

(2.3)

绝对值损失函数,公式如下:

(2.4)

均方误差损失函数,公式如下:

(2.5)

总之,损失函数用于权衡预测值偏离实际值的程度,帮助网络模型在训练过程不断改善从而降低目标值的变化。

随着人工神经网络模型的不断发展,参数和层数越来越多,梯度计算越来越复杂,研究人员发明了反向传播算法,来解决层次过深、参数过多的训练问题。

反向传播算法的实现原理如下:

(1)对于一个样本(x,y),我们先进行“前向计算[5]”,从输入层开始,根据公式逐层计算神经网络中所有节点的激活值,包括最终输出层的输出。

(2)对于每一层节点,计算其“残差[5]”,其含义就是该节点的值对最终输出层的结果和真实值的偏差造成了多大的影响。

(3)根据残差值计算损失函数对权值的导数,然后更新权值。

2.2 卷积神经网络的构成

卷积神经网络(CNN)属于神经网络,它的不同之处是它的中间层由卷积层和下采样层(pooling layer)[13]构成。

下面介绍一个经典的卷积神经网络LeNet,它的网络模型如图2.4所示:

图2.4 LeNet网络结构图

下面简单介绍一下每一层的作用。

(1)输入层(INPUT)。将输入数据大小调整为32*32,这样做是可以让数据的特征尽可能出现在卷积核的中间。

(2)卷积层(C1,C2,C3)。增强图像,并进行降噪。

(3)下采样层(又叫池化层,S2,S4)。池化层主要是用于防止网络模型中参数过多时,训练过程中容易出现过拟合的状况。

(4)全连接层(F6)。将各个神经元得到的信息联系起来,再经过激活函数后输出新的结果。

(5)输出层。输出层是径向基函数[14]构成,一个单元对应数字的0~9中的一个,一个单元包含84个输入,输出RBF单元推算输入和标签之间的间距,RBF的输出结果随间距增大而增大。

另一个经典的卷积神经网络AlexNet,它的网络模型如图2.5所示。该图划定了两个GPU各自的责任,上半部分由一个GPU完成,下半部分由另一个完成,两个GPU只在部分层进行联系。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图