首页> 中国专利> 一种基于AM-Softmax损失的蝴蝶图像细粒度识别方法

一种基于AM-Softmax损失的蝴蝶图像细粒度识别方法

摘要

本发明公开了一种用于基于AM‑Softmax损失的蝴蝶图像细粒度识别方法,属于计算机视觉领域;具体步骤包括:首先选择使用网络收集以及标注的334类蝴蝶数据集作为实验数据集,并进行预处理操作;然后,建立双线性模型;其次,使用AM‑Softmax作为损失函数,选择优化方法,设置合适的学习率以及迭代次数等超参数,训练双线性网络,训练完成后保存模型;最后,对测试集图像进行测试,输出分类准确率。本说明在计算机视觉、细粒度识别领域具有一定的研究意义和价值。

著录项

  • 公开/公告号CN112800927A

    专利类型发明专利

  • 公开/公告日2021-05-14

    原文格式PDF

  • 申请/专利权人 北京工业大学;

    申请/专利号CN202110092924.9

  • 发明设计人 张培杰;张婷;刘兆英;李玉鑑;

    申请日2021-01-25

  • 分类号G06K9/00(20060101);G06K9/62(20060101);G06N3/04(20060101);

  • 代理机构11203 北京思海天达知识产权代理有限公司;

  • 代理人沈波

  • 地址 100124 北京市朝阳区平乐园100号

  • 入库时间 2023-06-19 10:58:46

说明书

技术领域

本发明属于机器视觉中的图像识别技术领域,尤其涉及一种基于AM-Softmax损失的蝴蝶图像细粒度识别方法。

背景技术

现在大多数的图像识别,通常是针对不同物种进行的识别,例如“鸟”、“车”、“狗”等,类别间特征差异较为明显。然而,在许多的实际应用当中,我们需要识别的往往不是它是属于哪个物种,而是想要具体的知道它是这个物种中的哪个类别,这就是细粒度图像识别任务。针对于蝴蝶进行的图像识别分类就属于细粒度图像识别任务,蝴蝶与人类生活和自然环境息息相关,一方面,在生态环境中,蝴蝶有助于保护生态系统健康,帮助科学家监测气候变化,有助于花的授粉;另一方面,在人类生活中,蝴蝶有着很高的观赏价值,有助于促进旅游业的发展,因此,针对于蝴蝶图像进行识别分类无论是在生态方面,还是人类生活方面都具有重大意义。

与传统图像识别任务相比,蝴蝶图像识别任务难点在于其图像所属类别的力度更为精细,物体的差异仅仅体现在细微之处,并且由于受姿态、光照等的影响,其类内差异非常大,类间差异比较小;其次,在生态图像中,蝴蝶尺寸较小,仅仅占据图像很小的位置;最后,蝴蝶还具有一种拟态的能力,这使得其蝴蝶目标与背景难以区分,这些均为细粒度蝴蝶图像的识别分类带来了巨大的挑战。

以卷积神经网络(Convolutional Neural Network,CNN)为代表的深度学习方法在图像识别领域取得了巨大的成功,它首先自动提取图像的特征,然后使用软最大(softmax)分类器进行分类识别。在传统图像识别训练中,通常使用交叉熵损失函数,该损失函数擅长处理优化类间差异,即分离不同的类,但是针对于蝴蝶这种类内差异非常大,类间差异不是很大的图像来说,其并不擅长减少类内差异(即使同一类的特性紧凑),因而可能会影响最终的识别准确率。

本发明通过引入AM-Softmax损失函数,将交叉熵损失重新定义为一种余弦损失,并在此基础上引入余弦边缘项来进一步增大决策区域,进而让类内特征更为的紧凑,类间的差异更为的明显,最终提升蝴蝶图像识别分类的准确率。

本发明在自主构建的334类蝴蝶图像数据集上进行实验,基于双线性模型,引入AM-Softmax损失函数,有效的对蝴蝶细粒度图像进行识别。

发明内容

本发明要解决的技术问题是,提供一种基于AM-Softmax损失的蝴蝶图像细粒度识别方法,用于提升蝴蝶细粒度图像识别的准确率,本发明采用如下的技术方案:

一种基于AM-Softmax损失的蝴蝶图像细粒度识别的方法包括以下步骤:

步骤1:预处理蝴蝶图像细粒度识别数据集,本发明在自主构建的334类共N幅蝴蝶图像的数据集D上面进行验证,将每一种类的数据集以8:2的比例划分为训练和测试图像,最终得到训练集D

步骤2:构建基础网络,选择VGG-16的前13层作为基础网络,该基础网络由5个卷积块组成,其中前两个卷积块包含两个卷积层和一个池化层,后三个卷积块包含三个卷积层和一个池化层,其中每个卷积核大小都是3×3,采用最大池化的方式;基础网络的输入为彩色图像I

步骤3:构建双线性网络模型,此网络包含A和B两个并行的分支,其中A分支用于提取细粒度特征,B分支用于定位区域,这两个分支都使用步骤2中的基础网络:

步骤3.1:对于第p幅蝴蝶训练图像I

步骤3.2:将特征

其中,vector(·)表示向量化操作;

步骤3.3:使用外积操作对

其中,bi

步骤3.3:将bi

Bi

其中,vector(·)表示向量化操作;

步骤3.4:将获取到的双线性特征做如下标准化计算:

其中,z

步骤3.5:使用softmax分类器对归一化后的双线性特征z

其中C代表图像类别的个数。

步骤4:建立网络的损失函数,使用AM-softmax作为损失函数,表示为:

其中,f

步骤5:网络训练:设置迭代次数、学习率等超参数,使用随机梯度下降算法对网络参数进行迭代更新,保存最终的模型;

步骤6:网络测试:加载保存的模型,将测试集D

附图说明

图1为本方法实施流程图。

图2为原图像。

图3为网络整体结构。

具体实施方式

本发明实例提供一种基于AM-Softmax的蝴蝶细粒度识别方法,下面结合相关附图对本发明进行解释和阐述:

本发明是在卷积神经网络的基础上,使用包含334类的蝴蝶图像数据集(通道数为3,像素值∈[0,255]),采用双线性网络模型,引用AM-Softmax损失函数来减少类内差异,来有效的对蝴蝶数据集进行图像识别。

本发明的实施方案流程如下:

步骤1:预处理蝴蝶数据集。蝴蝶数据集D分为334类,共包含N=74111幅图像,该数据集的图像如附图2所示。将数据集D按照每类8:2的比例划分为训练集D

步骤2:构建基础网络,选择VGG-16的前13层作为基础网络,该基础网络由5个卷积块组成,其中前两个卷积块包含两个卷积层和一个池化层,后三个卷积块包含三个卷积层和一个池化层,其中每个卷积核大小都是3×3,采用最大池化的方式。基础网络的输入为彩色的蝴蝶图像I

步骤3:构建双线性网络模型,此网络包含A和B两个并行的分支,其中A分支用于提取细粒度特征,B分支用于定位区域,这两个分支都使用步骤2中的基础网络:

步骤3.1:对于第p幅训练图像I

步骤3.2:将特征

其中,vector(·)表示向量化操作;

步骤3.3::使用外积操作对

其中,bi

步骤3.4:将bi

Bi

其中,vector(·)表示向量化操作;

步骤3.5:将获取到的双线性特征做如下标准化计算:

其中,z

步骤3.6:使用softmax分类器对归一化后的双线性特征z

其中C代表图像类别的个数。

步骤4:建立网络的损失函数,使用AM-Softmax作为损失函数,表示为:

其中,

步骤5:网络训练。设置迭代次数为55、学习率为0.001,将训练集D

步骤6:网络测试。加载保存的模型,将测试集D

表1 Butterfly334蝴蝶数据集

以上实例仅用于描述本发明,而非限制本发明所描述的技术方案。因此,一切不脱离本发明精神和范围的技术方案及其改进,均应涵盖在本发明的权利要求范围中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号