Yin C, Yang S, Chen S, et al. Large Scale Fine-Grained Categorization and Domain-Specific Transfer Learning. In CVPR, 2018.
这篇论文是目前发表的细粒度分类性能最高的一篇论文,在CUB200数据集上取得了89.6的分类准确率,超过之前最好的结果3%。本文提出一种处理数据的长尾分布的方法,并且在iNaturalist2017大规模物种分类比赛上取得了第一名。在细粒度分类上作者采用了迁移学习的方法,从大规模数据集(如ImageNet,iNaturalist2017数据集)上训练网络,然后将学到的知识迁移到特定域(比如birds,dogs等)的小规模数据集上,进行网络微调,在细粒度图像分类(FGVC)上取得了很好的效果。并且提出了一种测量两个域的相似度的方法。
常用的FGVC数据集相对较小, 在这种情况下,一般采用微调大型数据集(如ImageNet)预训练的网络。这种常见的设置引出了两个问题:1)在大规模FGVC上实现良好性能的重要因素是什么;2)如何有效地进行迁移学习,首先在大规模数据集上训练网络,然后在特定领域的细粒度数据集上进行微调?针对这两个问题,本文首先提出了一种在大规模细粒度分类上的训练方法,在iNat上取得很好的性能;然后提出一种新方法通过使用搬土距离(earth mover’s distance,即EMD)来测量源域和目标域之间的视觉相似度。然后在源域中选取和目标域相似度较高的子集,对模型进行预训练,将学习到的知识再迁移到目标域上进行细粒度分类。
1,图像分辨率对细粒度的图像分类的影响
每个网络结构通常有默认的输入大小。例如,AlexNet和VGGNet具有默认输入大小224*224,并且由于全连接层需要固定的特征图大小,因此默认输入大小不容易更改。之后的ResNet和Inception是全卷积的,后面跟的是全局平均池化层,这种设计使得输入图像可以是任意大小。输入图像具有高分辨率,通常包含对细粒度分类很重要的更丰富的信息和微小细节。因此高分辨率输入图像能取得更好的性能。
2,域相似度的测量:
迁移学习可被视为将一组图像从源域S移动到目标域T. 通过将图像移动到另一个域所需的工作量可以定义为它们的图像距离。两个域之间的距离可以定义为所需总工作量的最小值,这种域相似性的定义可以通过搬土距离(EMD)来计算。
假设有源域S和目标域T. 将两个图像s∈S和t∈T之间的距离定义为它们的特征表示之间的欧几里德距离:d(s,t) = || g(s) - g(t) ||,其中g(∙)表示图像的特征提取器。实验中使用从大规模JFT数据集训练的ResNet-101的倒数第二层中提取的特征作为g(∙)。
为了便于计算,将类别中图像特征平均值作为该类别所有图像特征。形式上,将源域表示为S=si,wsii=1m,si是S中的第 i 个类别, wsi 是该类别中图像的归一化数量; 目标域T类似。m、n分别是源域和目标域的类别总数。则S和T之间的距离定义为它们的搬土距离:
dS,T=EMDS,T=i=1,j=1m,nfi,j di,ji=1,j=1m,nfi,j (2)
最优流fi,j是解决搬土距离最优化问题的最小总工作量。最后,域相似度定义为:
simS.T=e-γd(S , T) (3)
3,源域选择
使用公式2中定义的域相似性,我们能从源域中选择一个与目标域更相似的子集。我们使用贪婪选择策略逐步包含源域中最相似的类别。 也就是说,对于源域S中的每个类别si,我们通过sim(si,1,T)计算其与目标域的域相似性。然后选择具有最高域相似性的前k个类别。