細粒度圖像分類(FGVC)理解與探究
細粒度圖像分類與傳統圖像分類而言,細粒度圖像分類中所需要進行分類的圖像中的可判別區域(discriminative parts)往往只是在圖像中很小的一塊區域內。
在傳統的圖像分類網絡中,無論圖像中的重要判別區域占整個圖像的比重有多大,都只會對整張圖片一視同仁的提取特征。因此,在一些判別區域占圖像比重較小的一些圖片,進行同樣的特征提取及處理,大量不關注的background信息會被訓練進去,增加了圖像分類的難度,降低分類的准確度。
引入細粒度圖像分類這一概念,就是為了解決這樣的問題,關注圖像中細小的差別,實現更精確的圖像分類:如蔬果中更細小的品種分類,草木的病蟲害分類等。目前常規的細粒度圖像分類的方法為,先得到關注目標的區域,再對該目標進行細分類,從而使網絡更了解分類物體。
目前針對細粒度圖像分類的訓練方法主要有兩類:強監督學習和無監督學習。
-
強監督學習
額外添加更多的bounding-box標注信息加入網絡進行強監督學習,使網絡能學習到目標的位置信息。
不足:(1)需要大量人力資源進行圖像的標注。(2)人力標注的信息並不一定准確就是目標真正需要關注的區域。
(個人觀點:添加了了更多的bounding-box標注信息進行圖像的細節分類,方法上已經和目標檢測很像,超出了圖像分類的初衷)
-
弱監督學習
弱監督並不是無監督學習,而只是根據基本圖像分類網絡一樣,只需要給出圖像的類別即可。由網絡通過無監督學習出判別區域的位置,再特別關注此區域的特征差異,識別出目標的類別。
常用方法有:
基於注意力(Attention)機制的圖像分類,通過分析特征圖中最突出的部分得到判別區域的位置。
RA-CNN (Recurrent Attention Convolutional Neural Network):
算法分為兩個部分,分類網絡和注意力提取網絡(APN, Attention Proposal Network),將圖片進行三次注意力提取,得到最關注的區域,再通過三個通過不同尺度的feature map進行特征融合,再接入softmax進行分類。
SENet: Squeeze-And-Excitation Networks
SENet通過注意力機制對卷積后的feature map的每個channel進行加權,提高關鍵特征的明顯度,降低不必要特征的影響。可以嵌入到各類基礎分類網絡當中。
主要實現為:Squeeze通過global average pooling對feature map進行降維,將H*W降到1;Excitation通過一個bottleneck(結構為綠框),捕捉到不同channel的相關性,從而學習到channel間的注意力因子(attention factor)。
MAMC (Multi-Attention Multi-Class Constraint)
MAMC算法借鑒了SENet的注意力機制與度量學習的方法,改進了正負樣本之間的關系,將正樣本之間的距離更加接近,並稀疏了負樣本之間的距離。這種方法改進了以上RA-CNN的多次多層的注意力提取融合的過程,改善RA-CNN引入噪聲的影響,
該算法主要分為兩個模塊:OSME module和MAMC module
OSME:One-Squeeze Multi-Excitation
OSME主要借鑒了SENet的思想,不同的是采用了多層Excitation結構,產生了多種注意力結構,也就代表提取多個注意力區域傳入后期的MAMC module進行分析。
MAMC: Multi-Attention Multi-Class Constraint
MAMC借鑒度量學習的方法,將OSME產生的多種注意力區域進行划分,拉近正樣本之間的距離。此方法改進了RA-CNN中循環注意力的方法,防止了初次注意力檢測就引入噪聲而帶來的后期的噪聲不斷放大帶來的缺陷。並且整個過程為one-stage的過程,便以進行端到端的訓練。
※SCDA(Selective Convolutional Descriptor Aggregation)
SCDA主題上不算是細粒度的圖像分類,而應用在圖像檢索方向,但與FGVC有相似之處,SCDA是一種無監督檢測算法,連圖像級別的標注都不需要,自行分類圖像的類別。通過對圖像中主要物體的提取,對數據的圖片進行聚類匹配,從而對數據中的圖片進行相似檢索,達到分類效果。
其具體流程為:通過預訓練好的特征提取網絡進行基礎的特征提取,如(基於ImageNet預訓練的VGG網絡)取最后一層網絡進行特征匹配。
將feature map進行堆疊求和,得到最突出的物體區域,隨后濾除較小的噪聲,只保留主體區域。
再將圖片與其他圖片提取出來的特征進行距離分析(度量學習?k-means?),分出圖片類別。
※Meta-Reinforced Synthetic Data for One-Shot Fine-Grained Visual Recognition
這篇論文討論了GAN生成圖像在細粒度圖像分類中的作用及局限性。細粒度圖像分類的特點為區分圖像中細小的差別,而GAN網絡生成的圖像特征通常較為模糊,並且可能並沒有很好生成可區分的判斷區域。所以來說,如果直接將GAN網絡生成的圖像直接仍入FGVC網絡中,會造成網絡的模糊與抖動,從而造成精度的下降。所以,paper中為了使GAN生成的圖像能適用細粒度圖像分類,提出了用真實圖像強化GAN生成的圖像的方法,盡可能的保留原圖的細粒度特征,從而使GAN能在細粒度圖像識別中取得一定作用。(但是生成樣本不能過多,會造成網絡傾斜於生成圖像,對真實圖像檢測精度降低)