一种基于多尺度特征融合的图像细粒度识别方法与流程

文档序号:18352164发布日期:2019-08-06 22:34阅读:912来源:国知局
一种基于多尺度特征融合的图像细粒度识别方法与流程

本发明属于计算机视觉与人工智能、多媒体信号处理领域,特别是涉及一种基于多尺度特征融合的图像细粒度识别方法。



背景技术:

图像细粒度识别是研究图像子类识别与分类的课题。随着深度学习与人工智能技术的快速发展,图像细粒度识别问题作为一项基本的计算机视觉基本课题也取得了巨大的进步。细粒度识别问题是相对于粗粒度识别而言,粗粒度识别是指传统意义上的物体大类类别识别和分类,细粒度识别是对于子类进行识别,如加利福尼亚理工学院提出的cub200-2011数据集中的200种鸟类识别,发明作者所在实验整理提出的cigarette67-2018数据集中的67种香烟品牌识别,如说明书附图2所示。这些任务的共同特点是类间方差小,类内方差大,这会导致子类容易误分,因此分类难度较大,但是细粒度识别问题在实际生活中具有较大的应用价值,比如智能零售中的货架商品识别等。

基于多尺度特征融合的图像细粒度识别研究主要依赖两类知识,一类是图像细粒度识别研究知识,另一类是基于特征金字塔的特征融合知识。目前工业应用价值较高的细粒度识别算法是弱监督识别算法。该类算法仅用图像标注信息。典型的,如双线性卷积神经网络算法,这种弱监督方法是利用外积进行池化的方式提取高阶特征进行细粒度识别,本发明将在这种弱监督方法基础上进行细粒度识别算法的改进。另一方面,特征金字塔的融合方式主要是高层特征和底层特征进行融合,因为高层特征具有更多的语义信息,蕴含全局表征量较多,而底层特征更多的是描述了图像的局部信息,表征更多的细节信息。将这两种特征进行叠加,可以充分提取图像的局部和全局信息。典型的,基于特征金字塔(featurepyramidnetwork,fpn)的提取网络可以更好的结合底层和全局信息,本文将基于双线性卷积神经网络结合特征金字塔的思想进行细粒度识别相关算法的改进。



技术实现要素:

针对图像目标子类的细粒度识别任务,目前存在的部分方法未能很好的结合底层局部特征,而且存在实时性要求满足较差的情况,本发明在双线性卷积神经网络的基础上结合多尺度的特征金字塔思想,本发明提供一种基于多尺度特征融合的图像细粒度识别方法,其特征在于:将数据增广后的批量图片送入基础网络提取特征,利用特征金字塔方式融合多尺度特征,在各层提取双线性特征进行独立预测,将各层预测结果进行少数服从多数投票,得到最终的预测结果,方法包括如下步骤:

(1)将输入图片进行数据增广;

(2)将批量图片利用网络vgg-16提取特征,得到多层特征图;

(3)将多尺度特征图特征按照特征金字塔方式进行融合;

(4)将融合的各层特征分别进行双线性操作,分层独立预测结果;

(5)将各层预测的结果进行投票,得到最终的预测结果。

2.根据权利要求1所述的一种基于多尺度特征融合的图像细粒度识别方法,其特征在于:所述步骤(1)中对图像进行数据增广,具体步骤为:

步骤2.1:使用离线旋转和在线旋转来增强数据,离线旋转是将数据集在[0,359]每隔10°进行旋转,在线旋转是对输入网络的图片随机进行一定角度旋转,除此外,还使用了亮度增强,随机裁剪方式进行数据增强。

3.根据权利要求1所述的一种基于多尺度特征融合的图像细粒度识别方法,其特征在于:所述步骤(2)中将批量图片利用网络vgg-16提取特征,得到多层特征图,具体步骤为:

步骤3.1:将步骤2.1的数据增广图片送入vgg-16网络进行特征提取,得到不同尺度的特征图特征。这里取conv5_3、conv5_1、conv4_3特征,以备后续模块特征融合使用。

4.根据权利要求1所述的一种基于多尺度特征融合的图像细粒度识别方法,其特征在于:所述步骤(3)中将多尺度特征图特征按照特征金字塔方式进行融合,得到多层特征图,具体步骤为:

按照特征金字塔方式进行多尺度特征融合,本步骤中的叠加方式为元素优先方式,算法流程如algorithm1所示,具体如下:

步骤4.1:将顶层特征conv5_3直接取出,赋给p5层特征;

步骤4.2:将中间层conv5_1层与p5特征层进行叠加得到p4层特征;

步骤4.3:将p4层经过2倍上采样得到上采样的特征图,然后将其与conv4_3层进行叠加,得到p3层特征,这里的上采样方式是采用最近邻插值方式,所谓最近邻插值是在待求像素的四邻像素中,将距离待求像素最近的邻像素值赋给待求像素;

这样便得到了融合多尺度特征的p5、p4和p3特征层;

5.根据权利要求1所述的一种基于多尺度特征融合的图像细粒度识别方法,其特征在于:所述步骤(4)中将融合的各层特征分别进行双线性操作,分层独立预测结果,具体步骤为:

按照algorithm2算法流程图,将特征层p5、p4和p3利用双线性操作分别进行提取特征得到双线性向量,输入进行分类,这样便在各个尺度上独立预测出了细粒度识别结果,这里的损失函数采用交叉熵损失函数进行指导训练;

步骤5.1:双线性算法输入为两路卷积神经网络特征图,分别为a,b,将a进行转置然后与b相乘;

步骤5.2:将上步骤结果进行归一化操作,并进行l2正则化;

步骤5.3:将上步骤提取的双线性特征结果送入分类器进行分类,得到预测的k类;

6.根据权利要求1所述的一种基于多尺度特征融合的图像细粒度识别方法,其特征在于:

所述步骤(5)中将各层预测的结果进行投票,得到最终的预测结果,具体步骤为:

步骤6.1:将步骤5.3得到的预测结果y_logitsi(i=1,2,3)进行少数服从多数原则进行投票,也可以采用加权方式的少数服从多数原则投票,这样经本步骤后,得到了最终的细粒度识别预测结果。

附图说明

图1为基于多尺度特征融合的图像细粒度识别模型;

图2为cigarette67-2018数据集香烟品牌部分样本示例;

图3为双线性卷积神经网络算法模型;

图4为cigarette67-2018和cub200-2011数据集中测试图片结果举例;

图5为cigarette67-2018和cub200-2011数据集中测试部分测试样本示意图。

具体实施方式

下面结合附图与具体实施方式对本发明作进一步详细描述:

本发明提供一种基于多尺度特征融合的图像细粒度识别方法,本发明采用特征金字塔方式融合多层双线性特征,在各层独立进行预测细粒度识别结果,最后将各层预测结果进行vote,得到最终的细粒度识别结果。本发明在实验室整理提出的香烟细粒度识别数据集cigarette67-2018和公开鸟类细粒度识别数据集cub200-2011上进行测试,得到了随着融合的底层特征的增多,细粒度识别结果也略有提高,在上述两个测试集的准确率分别为85.4%和95.95%。另一方面,本发明在单核cpu上的实时推理速度可以满足实时性的要求。

下面以公开数据集cub200-2011和实验室实际环境测试数据集cigarette67-2018为例,结合附图对本发明一种基于多尺度特征融合的图像细粒度识别方法的具体实施方式作进一步详细说明。

步骤1:将输入图片使用离线旋转和在线旋转来增强,离线旋转是将数据集在[0,359]每隔10°进行旋转,在线旋转是对输入网络的图片随机进行一定角度旋转。同时也使用亮度增强和随机裁剪方式进行数据增强。

步骤2:利用基础网络vgg-16提取特征,得到多层特征图特征:

将步骤1中的数据增广图片送入vgg-16网络进行特征提取,得到不同尺度的特征图特征。如说明书附图1所示。这里取conv5_3、conv5_1、conv4_3特征,以备后续模块特征融合使用。

步骤3:将多尺度特征图特征按照特征金字塔方式进行融合:

按照说明书附图1所示特征融合方式进行特征融合。本步骤中的叠加方式为元素优先方式。算法流程如algorithm1所示,具体如下:

步骤3.1:将顶层特征conv5_3直接取出,赋给p5层特征;

步骤3.2:将中间层conv5_1层与p5特征层进行叠加得到p4层特征;

步骤3.3:将p4层经过2倍上采样得到上采样的特征图,然后将其与conv4_3层进行叠加,得到p3层特征。这里的上采样方式是采用最近邻插值方式。所谓最近邻插值是在待求像素的四邻像素中,将距离待求像素最近的邻像素值赋给待求像素。

这样便得到了融合多尺度特征的p5、p4和p3特征层。

步骤4:将融合的各层特征分别进行双线性操作,分层独立预测结果:

如图1所示,按照algorithm2算法流程图,将特征层p5、p4和p3利用双线性操作分别进行提取特征得到双线性向量,输入分类器进行分类,这样便在各个尺度上独立预测出了细粒度识别结果。这里的损失函数采用交叉熵损失函数进行指导训练。

步骤4.1:双线性输入为两路卷积神经网络特征图,分别为a,b,如图3所示,将a进行转置然后与b相乘;

步骤4.2:将上步骤结果进行归一化操作,并进行l2正则化;

步骤4.3:将上步骤提取的双线性特征结果送入分类器进行分类,得到预测的k类。

步骤5:将各层预测的结果进行投票,得到最终的预测结果:

将步骤4得到的预测的向量y_logitsi(i=1,2,3)进行少数服从多数投票,也可以采用加权方式的少数服从多数原则投票,这样经本步骤后,得到了最终的细粒度识别预测结果。

本发明所使用的cigarette67-2018细粒度数据集由作者所在的实验室整理提出的,该数据集包含12960张训练样本,共67类不同品牌香烟,平均每类195张左右。测试集共2916张,平均每类45张左右。每张图片采用大类加子类命名,如nanjing_yingjinsha(南京—硬金莎)表示大类是南京牌,子类是硬金莎牌。

本发明所建立模型的实验平台如下:centos7系统,配置e5处理器,一块nvidiateslap100显卡。采用交叉熵损失函数指训练,优化器采用随机梯度下降优化器sgd,初始学习率设置为lr=0.001,batch_size=16,迭代1w步后,得到训练好的模型,并进行在加利福尼亚理工学院提出的数据集cub200-2011数据集和实验室所提出的cigarette67-2018数据集进行测试。本发明中模型训练的超参数不限于如下参数:

至此便完成了基于多尺度特征融合的图像细粒度识别方法的训练和推理流程。

本发明在数据集上的测试结果如说明书下表所示,部分测试样本如说明书附图5所示。

基于多尺度特征融合的图像细粒度测试结果

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1