基于深度学习的细粒度图像分类综述

细粒度图像分类是计算机视觉中的挑战,它需要区分同一基础类别的子类。深度学习在此领域发挥了重要作用,尤其是深度卷积网络。方法主要包括基于常规网络微调、细粒度特征学习、目标块检测和视觉注意机制。双线性CNN通过结合两个CNN流的特征提升表现,而Part-RCNN检测目标和区分性区域进行分类。循环注意卷积神经网络(RA-CNN)利用视觉注意机制寻找图像中的关键区域,提高分类精度。
摘要由CSDN通过智能技术生成

SIGAI特约作者

卢宪凯

上海交通大学在读博士

其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。

1.简介

细粒度图像分类 (Fine-grained image categorization), 又被称作子类别图像分类 (Sub-category recognition),是近年来计算机视觉、 模式识别等领域一个非常热门的研究课题。 其目的是对属于同一基础类别的图像(汽车、狗、花、鸟等)进行更加细致的子类划分, 但由于子类别间细微的类间差异以及较大的类内差异, 较之普通的图像分类任务, 细粒度图像分类难度更大。 图1所示为细粒度图像分类数据集CUB-200[1]中的两个物种,加州鸥和北极鸥,从竖直方向的图片对比可以看出,两个不同物种长相非常相似,而从对比水平方向可知,同一物种由于姿态,背景以及拍摄角度的不同,存在较大的类内差异。 因此,要想顺利的对两个极为相似的物种进行细粒度分类,最重要的是在图像中找到能够区分这两个物种的区分性的区域块(discriminative part),并能够对这些有区分性的区域块的特征进行较好的表示。

 

由于深度卷积网络能够学习到非常鲁棒的图像特征表示,对图像进行细粒度分类的方法,大多都是以深度卷积网络为基础的,这些方法大致可以分为以下四个方向:

  1. 基于常规图像分类网络的微调方法
  2. 基于细粒度特征学习(fine-grained feature learning)的方法
  3. 基于目标块的检测(part detection)和对齐(alignment)的方法
  4. 基于视觉注意机制(visualattention)的方法

 

2.基于常规图像分类网络的方法

这一类方法大多直接采用常见的深度卷积网络来直接进行图像细粒度分类,比如AlexNet[3]、VGG[4]、GoogleNet[5]、ResNet[6]以及DenseNet[7]和 SENet[8] 等。

 

由于这些分类网络具有较强的特征表示能力,因此在常规图像分类中能取得较好的效果。然而在细粒度分类中,不同物种之间的差异其实十分细微,因此,直接将常规的图像分类网络用于对细粒度图像的分类,效果并不理想。受迁移学习理论启发,一种方法是将大规模数据上训练好的网络迁移到细粒度分类识别任务中来。常用的解决方法是采用在ImageNet上预训练过的网络权值作为初始权值,然后再通过在细粒度分类数据集上对网络的权值进行微调(finetune),得到最终的分类网络。

在[9]中,Zhang等人进一步将度量损失函数引入到精细分类网络的微调中来。具体而言,每次输入三个样本(Postive,Reference以及Negative)到三个共享权值的网络中,然后利用三个网络的特征输出用来计算损失函数,除了传统的softmax 损失函数,三个特征输出还构成了广义的triplet 损失。最后两个损失函数联合用来微调网络:

E=\lambda _{s}E_{s}(r)+(1-\lambda )E_{t}(r,p,n)

其中, E_{s}(r) 是softmax获取的分类误差,E_{t}(r,p,n)E_{s}(r)是通过图2中三个共享参数的子网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值