摘要
深度学习作为机器学习的一个重要分支,经过十多年的研究和发展,在计算机视觉分类、定位、检测和分割方面取得了良好的效果。花卉图像是一种典型的细粒度图像,具有许多复杂的特征,难以区分和识别。使用传统的方法识别花朵图像既费力又效果不佳。本文使用深度学习方法研究了花卉图像的分类和检测。对现有算法进行实验验证,详细分析其优缺点,并提出改进算法。
关键词: 深度学习;识花系统;花朵图像;
Abstract
As an important branch of machine learning, deep learning has achieved good results in computer vision classification, localization, detection, and segmentation after more than ten years of research and development. Flower images are a typical fine-grained image with many complex features that are difficult to distinguish and recognize. Using traditional methods to recognize flower images is both laborious and ineffective. This article uses deep learning methods to study the classification and detection of flower images. Conduct experimental verification on existing algorithms, analyze their advantages and disadvantages in detail, and propose improved algorithms.
Keywords: deep learning; Flower recognition system; Flower image;
目录
基于深度学习的智慧识花系统的设计与实现 - 1 -
摘要 I
Abstract II
第1章 绪论 1
1.1 研究背景和意义 1
1.2国内外研究现状 1
1.3本文研究内容 5
第2章 深度学习的基本理论 6
2.1卷积神经网络 6
2.2 神经元的数学模型 8
2.3 多层前向神经网络 10
2.4深度神经网络 11
2.5 神经网络的学习方式 11
2.6卷积神经网络VGG16详解 13
第3章 基于卷积神经网络的花朵图像 15
3.1基于常见卷积神经网络的花朵分类 15
3.1.1 AlexNet模型 15
3.1.2 VGG模型 16
3.1.3 Inception模型 17
3.2基于空间金字塔池化的全连接层改进 19
3.2.1 全连接层 19
3.2.2全局池化 21
3.2.3空间金字塔池化 21
第4章 网络性能分析 23
4.1 参数的选择 23
4.2 识别结果 23
4.3 隐层神经元数量对网络性能的影响 27
4.4 学习率对网络性能的影响 28
第5章 总结与展望 31
5.1 论文总结 31
5.2 工作展望 31
参考文献 32
致谢 34
第1章 绪论
1.1 研究背景和意义
植被分类是植被研究和农林生产管理领域的重要关键工具。植被类是长期重要性的关键研究,其主要类是植被的外观,包括叶子、花朵、物品、树皮、果实等。因此,分类是组织感染的重要组成部分,使用计算机对花型进行自动诊断非常重要。本文从一般劣质花卉入手,探讨了基于计算机花卉图像的花卉类型检测方法。本文基于Keras的VG16身体检查构建了一个著名的花卉诊断系统,并用十种花卉类型对该系统进行了测试,达到了98%以上的准确率。研究结果表明,本文所包含的花卉类型知识体系具有较高的知识准确性和稳定性。
1.2国内外研究现状
作为计算机科学领域最重要的研究成果之一,该视频引起了国内外科学家的极大兴趣,他们投入了大量的人力和资源,并取得了一些研究成果。纵观过去几年的研究结果,可以注意到发展成像有两种主要方法:手动提取特征和自动提取特征。手动属性表达式包括手动属性表达式,然后使用基线成像方法,但自动属性表达式包括深层神经系统用于自提取和执行分析。
1.手动特征提取
(1) Nilsback M E和Zisserman A3,14,15,16,作为花卉分类的先驱,使用了牛津大学的牛津102花卉数据集,其中包括102种流行的英国花卉和8188幅画作。首先,对花朵图像的前景和背景进行分割。图像分类使用四种类型的特征:花瓣特征、纹理形状特征、边缘形状特征和颜色特征。
由于HSV颜色空间对光照差异不敏感,因此选择HSV颜色空间来描述颜色特征。首先,使用K-Means对每个像素的HSV值进行聚类,其中每个像素都属于中点。通过这种方式,由不同频率的中点组成的向量可以作为花朵的局部颜色特征。纹理形状的特征由SIFT前景的特征表示。由于SIFT函数的连续旋转,这里只能使用灰度值。在前景提取中,SIFT函数可以获得纹理形状的特征。边缘形状特征也由前景SIFT提取函数表示,仍然使用128维灰度特征和值描述符。花瓣的特征由梯度直方图表示,与SIFT的特征不同,梯度直方图是从整个花朵分割区域提取的。不同特征的分类效果见表1-1,分割效果图见图1-1。
表1-1不同特征分类效果
图1-1 分割效果图
(2)2014年,B Fernando和E Fromont等人使用中等级特征提取方法来解决图像分类问题。使用简单的本地直方图模板提取低级函数以获取适当的中间函数,然后将其输入分类器进行分类。该方法结合了本地和全球空间信息,使他们能够有效地构建基于FLH袋的功能。
图1-2 FLH特征挖掘和图像表征过程
(3)2011年,Yuning Chai和Victor Lempitsky提出了一种新的可扩展BiCoS连接分割算法,以提高分类精度。与传统算法相比,BiCoS分割算法更简单,但分类精度更高。
图1-3 BiCoS 算法分割效果图
(3)2013年,朱对Angelo VAA算法进行了改进,首先检测可能存在对象的低级区域,然后使用传播算法进行完全分割,将发现的感兴趣区域向内移动,从原始图像中提取HOG1函数,从分割图像中提取出HOG2函数,最后将HOG1和HOG2合并发送到。
2. 自动特征提取
虽然传统的手工特征提取方法已经取得了良好的效果,但它们需要大量的时间和精力,在很大程度上依赖于工作人员的经验,并要求工作人员对所识别的对象有一定的了解。因此,手工提取特征有很大的局限性。随着深度学习的出现,模型可以通过不断训练大量数据来创建更复杂的深度模型,从而实现自动特征提取和不断优化并提高识别准确性。2012年,由Hinton和他的学生Alex Krizhevsky设计的AlexNet以绝对优势赢得了ImageNet冠军。从那时起,已经提出了更多和更好的对流神经网络,如VGG,ResNet,GoogleNet等。作为一种新型神经网络,卷积神经网络(CNN)在许多应用领域取得了成功。公约作为一个特殊的线性运算,可以被视为一个函数对另一个函数的加权叠加。与传统神经网络相比,卷积神经网络大大减少了参数数量,提高了训练速度,并保留了有关图像空间结构的更多信息,这有利于特征提取,最终导致更好的模型性能。
1.3本文研究内容
基于深度学习的智能花卉识别系统的开发旨在利用先进的计算机视觉技术和机器学习算法实现花卉种类的自动识别和分类。该系统旨在解决传统花卉识别方法识别效率低、准确率低、人工成本高等问题。通过构建高效准确的自动识别系统,不仅可以为园艺爱好者、植物学家、生态学家等专业人士提供便捷的识别工具,还可以促进花卉产业的智能现代化,提高花卉种植、管理和销售效率。此外,该系统还具有教育意义,可以帮助社会更好地了解和学习花卉,提高公众意识,保护自然生态。
第2章 深度学习的基本理论
2.1卷积神经网络
彩色图像有三个颜色通道,RGB,可以用二维数组表示。例如,彩色图像160x60可以由阵列表示。
图2-1 彩色图像
卷积运算可以提取图像的特征。使用卷绕核以步长连续扫描像素矩阵的每一层。将每次扫描的值与卷绕核中的相应位置相乘,然后将它们相加以生成新的矩阵。线圈睾丸的常用尺寸是3x3,而5x5也很有用,但前者能提供更好的训练效果。卷积核中的每个值都是一个权重(训练期间的神经元参数),最初设置为随机初始值。在训练过程中,网络通过反向传播不断更新这些参数值,直到找到最佳参数值。使用损失函数评估参数的最佳值。
图2-2 卷积运算
图像是5x5大小的图像,必须绑定,函数由绑定后获得的函数映射和绑定;黄色矩阵是一个3x3滤镜。在卷绕过程中,将滤波器乘以适当的图像位置,并将它们加在一起,得到当时的中心位置值。然后在会话映射的第一行和第一列中填写值,在逐一移动(步幅=1)后,它仍然与下一个位置交织在一起,直到获得最终的3x3x1矩阵。
卷积后得到的Convolved feature的特征图的宽度(width)和高度(height)的计算:卷积后的Convolved feature的矩阵维度=(Image矩阵维数-Filter矩阵维数+2xpad)/2+1。
Width= (5-3+2x0)/1+1,Height=(5-3+2x0)/1+1
操作填充可以更好地隔离边界特征。在合成图像的过程中,中值很容易被多次提取,但分离极限值的特征相对较少。为了更好地隔离边界特征,可以通过在原始阵列的边缘周围添加一个零层来执行填充操作。
图2-3 操作填充
对上述的例子进行padding填充,那么卷积后图片大小不会发生改变,如5x5的图像大小。
Padding=1变成为7x7,再用3x3的Filter进行卷积,那么卷积后的宽高为(7-3+2x1)/1+1=7
连接操作可用于减小大小,包括最大连接和平均连接,其中最大连接最常用。对流操作后,我们提取的特征信息在相邻区域具有相似的特征信息,可以相互替换。如果保留所有这些信息,它将是多余的,并将增加计算难度。池化层可用于减小数据的空间大小,从而减少参数的数量和计算复杂性,这在一定程度上也控制了过度匹配。最大池化是在适当的滤波器区域中用最大像素值替换像素值的过程。它的功能是减小尺寸。池中使用的过滤器大小为2x2,因此合并后的图像大小是原始大小的一半。
图2-4 连接操作
Flatten可以将聚合数据转换为一维向量,从而促进完全连接网络的进入。全连接层是计算过程中n层中每个节点的激活函数输入,是n-1层中所有节点的加权表示。Drops可以在一定程度上拒绝网络中的神经元,以防止训练过程中的过度适应。
人工神经网络是对生物神经网络的计算机模拟和近似,由大量相互连接的人工神经元(感知器)组成,以创建自适应非线性动态网络。神经网络的每一层都由大量的神经节点组成,这些节点通过权重参数连接。经过有效训练的神经网络可以自行处理复杂的非线性问题,神经网络学习的本质是自适应调整权重和偏见。
2.2 神经元的数学模型
依据人体神经元的生物结构,来自美国的心理学家McCulloch和另一位数学家Pitts于1943年提出了神经单元的数学模型:
图2-5 神经元的M-P模型
根据图2-5可以得到神经元的输出为:
其中,、…是输入的个数据量,、…是神经元的连接量,是偏置量,为神经元的输出。是激活函数,它的作用是加入非线性因素,在一定程度上能够用来解决线性模型表达、分类能力不足的问题[12,13]。
使用较为广泛的激活函数有sigmoid函数:
tanh函数:
relu函数:
以及softmax函数:
这里表示输入向量中的第个数据,输出代表的指数占所有输入数据的指数的和的概率。
2.3 多层前向神经网络
神经网络是由大量神经元组成的网络,不同层的神经元作用不同,相互作用,创建了一个可以解释复杂输入数据的网络。神经网络的典型结构如图所示2-6所示[32]。
图2-6 前向神经网络模型