登录

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

注册

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

找回密码

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

基于区域卷积神经网络的图像物体检测毕业论文

 2020-04-01 11:04  

摘 要

随着网络上图片流量的不断增加,图像处理技术变得越来越重要。图像物体检测是图像处理技术的一个主要分支,它的目标是检测出图像中物体的位置并判断物体类别。图像物体检测技术有着很广泛的应用前景,因此在理论和实践上都有着很重要的研究意义。传统物体检测算法只能应用于一些简单的场景,而基于深度学习的物体检测算法方兴未艾。

本文基于Faster R-CNN算法实现了一个端到端的图像物体检测系统,主要工作内容如下:

1. 本文首先介绍了物体检测算法的国内外研究现状,然后对一些典型的物体检测算法进行了系统性的讨论,分析了它们各自的特点,优缺点以及适用情况。这些算法即包括传统的物体检测算法,也包括基于深度学习的物体检测算法,其中后者又可以细分为基于候选区域的物体检测算法和基于回归方法的物体检测算法。

2. 本文深入阐述了卷积神经网络的基本概念和工作原理,随后本文对Faster R-CNN算法机制和原理进行了深入的推理分析。

3. 本文基于Faster R-CNN算法设计和实现了一个可视化的端到端的图像物体检测系统。本文还对系统的检测精度做了评估。

最后,本文对实现的物体检测系统未来的发展方向提出了一些期待性的展望。

关键词: 物体检测算法;卷积神经网络;Faster R-CNN

Abstract

With the increasing of image traffic on the Internet, image processing technology becomes more and more important. Image object detection is a major branch of image processing technology, its goal is to detect the location of objects in the image and then to judge the categories of these objects. Image object detection technology has a wide application prospect, so it has important research significance in theory and practice. The traditional object detection algorithms can only be applied to some simple scenes, but the object detection algorithms based on deep learning is unfolding.

Based on the Faster R-CNN algorithm, an end-to-end image object detection system is implemented. The main work is as follows:

1. This thesis firstly introduces the research status quo of object detection algorithm at home and abroad, and then some typical object detection algorithms are discussed systematically, including analyzing their respective advantages and disadvantages and applicable scenes. These algorithms include traditional object detection algorithms and object detection algorithms based on deep learning, and the latter can be subdivided into object detection algorithm based on region proposal and object detection algorithm based on regression method.

2. This thesis elaborates the basic concepts and working principles of the convolutional neural network, and then makes an in-depth analysis on the mechanism and principle of Faster R-CNN algorithm.

3. Based on Faster R-CNN algorithm, this thesis designed and implemented a visual end-to-end image object detection system. This thesis also made evaluation on the system's precision.

Finally, this thesis puts forward some expectant prospects for the development direction of my object detection application in the future.

Key Words: object detection algorithm;convolutional neural network; Faster R-CNN

目 录

摘 要 I

Abstract II

第1章 绪论 1

1.1 研究背景和意义 1

1.2 国内外研究现状 2

1.3 本文主要工作 3

1.4 本文结构安排 4

第2章 图像物体检测算法研究 5

2.1 传统物体检测算法 5

2.2 卷积神经网络 6

2.2.1 卷积神经网络基本特性 6

2.2.2 卷积神经网络基本结构 8

2.2.3 卷积神经网络反向传播原理 9

2.2.4 小结 12

2.3 基于深度学习的物体检测算法 13

2.3.1 基于候选区域的物体检测算法 13

2.3.2 基于回归方法的物体检测算法 15

2.3.3 小结 17

2.4 基于Faster R-CNN的物体检测算法 18

2.4.1 特征提取网络 18

2.4.2 候选区域生成网络 18

2.4.3 检测网络 23

第3章 基于Faster R-CNN的物体检测算法的实现 25

3.1 网络结构的实现 25

3.1.1 特征提取网络 26

3.1.2 候选区域生成网络 26

3.1.3 检测网络 28

3.2 系统结构设计 28

3.3 系统实现 30

3.3.1 数据集处理 30

3.3.2 开发语言与开发工具 32

3.3.3 使用TensorFlow框架 33

3.4 Faster R-CNN网络训练 33

3.4.1 使用预训练模型 33

3.4.2 超参数设置 34

3.4.3 模型保存和恢复 36

3.4.4 改进训练效率的两种措施 36

3.4.5 训练结果 38

第4章 测试工作及可视化 40

4.1 测试 40

4.1.1 超参数设置 40

4.1.2 测试方法 41

4.1.3 测试结果 43

4.2 可视化 45

4.2.1 WxPython简介 45

4.2.2 使用WxPython创建GUI 45

4.2.3 运行结果 47

第5章 总结与展望 50

参考文献 51

致谢 53

第1章 绪论

1.1 研究背景和意义

随着经济和科技的发展以及人们生活水平的提高,人们不再只满足于文字的交流,现在每天在网上传送的图像流量与日俱增,图像相较于文字有着所见即所得的巨大优点,因此越来越受人们欢迎。目前越来越多的信息采用图像形式存储,因此对于图像信息的处理就变得相对重要。图像物体检测是图像处理领域的一个主要研究方向,优秀的图像物体检测技术可以应用到很广泛的领域,如医学影像处理、卫星遥感中的图像分析处理、目标跟踪、无人驾驶、银行、交通、军事等。

目前的图像多数以jpg、gif、bmp、png等格式存储,而这些格式无一例外都存储为数字形式,即像素矩阵。像素矩阵对应到计算机程序内部就是一个多维数组,这就构成了采用计算机来处理图像的基础,因为计算机有着强大的计算能力,可以通过对像素矩阵的各种运算实现对图像的处理。

一张图片出现在人们的眼前,人们可以立即说出里面有哪几种物体并且可以告诉这些物体所在的位置。这些是由人眼分辨出来的,但这绝对不是天生的,毕竟婴儿无法得知图片里面有什么物体以及这些物体到底在什么位置,因为图像在婴儿眼里只是一些丰富多彩的颜色,婴儿没有任何有关物体的概念,他/她甚至也不知道什么叫“图像的位置”。

计算机就相当于人类中的“婴儿”,对于一张图像,计算机无法知道里面有什么,更不用提物体的精确位置,它甚至连这些概念都没有。对于计算机来说,它看到的只是一些值为0~255的数组,即前面提到的像素矩阵,它仅仅知道这么多。

由于计算机无法得知图像中高级的语义概念,自然无法实现对图像中物体的检测,但这并不是说计算机没有办法完成这个任务。就像婴儿早晚有一天会懂得图像,会知道图像里有什么东西一样,计算机也可以预测图像中有何种物体以及物体出现在什么位置,决定这一转变的秘诀就是——学习。人们给计算机的学习过程起了一个专门的名称——机器学习。在机器学习过程中,学习者不是人,而是计算机。目前,研究者们已经提出了多种机器学习方法,这些方法都旨在模拟或者实现人类学习知识的行为从而使得计算机能自动获取新的知识和技能。

得益于计算机硬件(尤其是GPU)的快速发展以及大数据的普及,深度学习逐步成为机器学习的核心。目前,深度学习方法是图像处理问题的主流解决方法,本课题要完成的图像物体检测任务也是基于深度学习,通过深度学习网络对大量图像进行学习,逐步“掌握”图像中高级的语义信息,即让计算机从一个什么不知道的“婴儿”逐步成长为可以快速判断出图像中物体位置以及物体类别的“成年人”。

1.2 国内外研究现状

图像物体检测技术是计算机视觉图像处理方向的一个重要分支,有着很广泛的应用前景,从上个世纪90年代以来就备受学术界和工业界的关注。

1994年,T. Ojala等[1]研究者提出使用局部二值模式(LBP)算子,用来提取图像特征。 LBP算法基本思想是将图像一点的像素与其周围像素相比较,产生的二进制结果作为该点的特征值,再统计检测窗口像素的特征值作为该窗口的特征值。LBP算法在思想上和实现上都十分简单,然而算法提前假设一个固定的窗口大小阈值,因此无法适应不同大小的检测目标。

尺度不变特征变换 (SIFT)是由David Lowe[2]于1999年提出的一种特征描述算子。SIFT算子对旋转,亮度变化,尺度缩放不敏感,对仿射变换,噪声等也能保持良好的稳定性。

方向梯度直方图(HOG)是由Dalal[3]于2005年提出的一种特征描述算子,起初用来解决行人检测问题。HOG算法主要思想是将图像分成多个连通区域,在各个连通区域上采集梯度方向直方图信息,最后把这些信息组合成特征向量。该算法对图像几何和光学上的变化不敏感,允许图像里的人有小幅度的肢体动作,因此在行人检测任务中获得极大成功。

LBP、SIFT、HOG等都是传统物体检测算法常用的提取特征的方法,然而这些人工设计的特征仅能满足小场景的需求,难以适应现在大规模多场景图像物体检测任务的要求。

幸运的是,Hinton等人[4]于2006年在《Science》上提出了深度学习的概念,深度学习的基本思想是通过多层次的深层神经网络,逐步从输入信息中提取关键特征。和传统人工设计特征不同,深度学习特征提取过程是计算机自动进行的。在ImageNet[1]于2012年举办的ILSVRC(大规模视觉识别挑战赛)上,Krizhevsky等人[5]使用CNN在图像分类任务上取得极大成功,遥遥领先于传统分类算法。这一结果震惊了全世界所有的计算机视觉研究者们。此后,CNN一跃成为图像处理问题的主流解决方法。

2014年,Ross B. Girshick基于候选区域和卷积神经网络,提出了R-CNN[6]算法,使得物体检测技术取得巨大突破,并开启了基于深度特征的物体检测新时代。 R-CNN算法基本思想是预先找出所有可能存在物体的候选框,然后在候选框上进行后续的分类工作。相对于传统物体检测算法简单粗暴地采用滑动窗口选择候选框,R-CNN框架使用selective search[7]算法选取候选框,由于selective search算法利用了图像的纹理,边缘等信息,因此可以避免大多数无用的窗口,使得后续的分类工作复杂度大大降低,同时由于选取的候选框没有固定的长宽比,因此相对于传统物体检测算法能更好地适应不同尺度的物体的检测。R-CNN提出后,又出现了Fast R-CNN[8], Faster R-CNN[9]等算法。

基于候选区域的物体检测算法都是分两步走,即先找出候选区域,然后在候选区域上进行分类。而基于回归方法的图像物体检测算法则对于给定的输入图像,直接在图像的多个位置上回归出对应于每个位置的物体位置和物体类别。这类算法有YOLO[10]和SSD[11]算法等。

国内对物体检测的研究也有很多,比较有代表性的就是行人检测。清华大学、中国科学院大学自动化研究所、中国科学技术大学等机构都在此领域取得一定成果。此外,香港高校行人检测研究水平也处于世界一流水准。国内对物体检测的研究主要集中在特征提取上,属于传统物体检测算法的一部分。

1.3 本文主要工作

本文主要完成了一个图像物体检测系统,实际工作可以分为以下几个方面:

1) 本文阐述了各种物体检测算法的基本思想以及工作流程,分析了它们各自的优缺点以及适用场景。

2) 本文阐述了CNN的基本概念和原理,本文选用基于CNN和候选区域的Faster R-CNN算法完成图像物体检测任务,本文深入推理分析了算法工作原理。

4) 本文利用Python[2]语言与深度学习tensorflow[3]框架,构建了Faster R-CNN检测网络提取图像特征、生成并检测候选区域。本文使用PASCAL VOC[4]数据集训练检测网络。

5) 本文检测了PASCAL VOC测试集,得出了系统检测精度并对结果进行了评估。

6) 本文实现了系统的GUI界面。

1.4 本文结构安排

本文共五章,包括对物体检测算法的研究现状分析,讨论各种物体检测算法,Faster R-CNN算法思想和原理解释,基于Faster R-CNN的物体检测算法的实现,以及实验结果展示等。

第一章主要介绍了本文研究背景,物体检测技术的发展,以及本文完成的主要工作。

第二章综合讨论了各种物体检测算法。简要介绍了传统物体检测算法的一般流程和基本思想。随后详细解释了深度学习网络CNN的基本特性,基本结构以及CNN的参数更新机制。最后讨论了几种典型的基于深度学习的物体检测算法,并对本文采用的Faster R-CNN算法原理进行了深入的推理分析。

第三章主要描述实现检测系统过程中的一些细节。包括Faster R-CNN网络实现中各层的参数,系统文件组织结构,系统实现采用的开发语言与框架等。此外,还描述了训练过程中的迁移学习思想,超参数设置,训练模型的保存和恢复以及为了加快训练速度使用的两种策略,利用tensorflow提供的tensorboard观察训练loss情况等内容。

第四章主要介绍了测试以及可视化。详细描述了本文测试流程与测试原理,以及测试结果分析。随后介绍了本文使用的GUI框架以及GUI效果图,最后展示了一些检测本地图片的结果截图。

第五章是本文的结束章节,主要就本文所做的工作进行了概括总结以及对未来系统的发展方向做了一些期待性的展望。

第2章 图像物体检测算法研究

图像物体检测的目标是检测图像中物体的位置并判断物体的类别。图像物体检测算法可以分为传统物体检测算法和基于深度学习的物体检测算法。本章主要对其中一些典型的算法思想及流程进行详细解释。

2.1 传统物体检测算法

如图2.1所示, 传统物体检测算法流程分为三个基本步骤:① 选择区域,通常采用滑动窗口的方法。② 提取特征,一般采用SIFT,HOG等特征描述算子。③ 分类,常见分类器为SVM[12], Adaboost[13]等。

图2.1 传统物体检测算法流程

(1) 选择区域

物体检测,首先要获取物体存在的区域,选择区域就是为了选出物体可能存在的区域。然而由于物体可能出现在图像中的任何位置,因此早期的物体检测算法采用滑动窗口的做法来产生候选区域。滑动窗口的方法是一种简单的暴力搜索算法,它的基本思想是对滑动窗口设置各种尺度和长宽比来遍历图中任何物体可能存在的区域。虽然理论上来说滑动窗口包括物体所有可能存在的区域,可是这个暴力算法有着难以接受的时间复杂度。因此,即使是采取滑动窗口的措施,也需要设定几个固定的长宽比,所以该方法无法适应不同大小的物体的检测。同时,因为没有利用任何图像内部的信息,如纹理,色彩,边缘信息等,算法搜索结果包含了大部分无用的候选区,严重浪费了处理时间和计算机资源。

(2) 提取特征

SIFT和HOG特征描述算子是传统图像物体检测算法常用的提取图像特征的方法。这些方法已经在1.2节介绍过。

(3)分类

常见的分类器有SVM和Adaboost,它们的作用是判断物体类别。

2.2 卷积神经网络

卷积神经网络(CNN),受生物学上感受野的机制启发而来。将CNN引入图像物体检测,避免了手工设计特征的复杂性。现在基于CNN的物体检测算法是物体检测领域的最主流算法。

2.2.1 卷积神经网络基本特性

(1) 局部感受野

如图2.2所示,左边为普通神经网络示意图,右边为CNN网络示意图。普通神经网络每个神经元和输入图像所有像素(神经元)之间都是有连接的,而CNN每个神经元只连接输入图像的一部分像素,这个特性叫做CNN的局部感受野。因此,CNN每个神经元只是局部地提取特征。CNN使用卷积核进行局部特征的提取,提取的方法就是数学上的卷积运算。卷积核是一个k*w的连接权重矩阵,一般k,w取值相同,比如3*3卷积核,5*5卷积核。因为卷积核是局部提取特征,因此还可以减少网络所需要的参数数目。

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

相关图片展示:

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

企业微信

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