SPDA-CNN:Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition

来源:互联网 发布:vm12虚拟机安装mac os 编辑:程序博客网 时间:2024/06/05 15:21

SPDA-CNN:联合语义检测和提取用以细粒度识别

最近在做细粒度分类和研读CVPR2016结果,看到这篇文章。做个笔记,方便自己回顾和与大家讨论。


1.摘要及引言

多数的卷积神经网络缺少能够model目标中层语义特征的层。诸如在常见鸟类目标分类任务中,通常卷积神经网络的低层为一些线、边等初级特征。而高层为具体的鸟这样高级特征,文章说的中层语义特征指的是鸟喙、翅膀、鸟腿等特征。这些特征对于细粒度分类是尤为重要的。
对于细粒度分类,很多paper使用了part定位,如两个state-of-art paper[41,28],但是都是只针对鸟头和鸟身进行的学习,而忽略了其他的部位。[5,39]使用了更多的语义信息,但是这些paper的做法是将这些部位通过不同的网络分别检测到然后合成一个较长的特征向量,然后使用常规的学习算法如SVM进行训练。但是这种分开的部位检测无法学习到各个部位间的相关性。
文章提出一种联合语义检测和提取的卷积神经网络,CNN architecture that
integrates semantic part detection and abstraction (SPDACNN)。该网络具有两个子网络,其中检测子网拥有一个自上而下的区域候选方法生成小的语义区域候选。分类子网从检测子网的候选区域中提取特征并结合用于分类。整个目标识别是在一个总体网络框架中,共享卷积核。本文的语义检测在CUB-2011数据集上做到了state-of-art水平,并且分类效果也取得了85.14%的效果。

2.相关工作

某一类别的细粒度类别通常拥有相似的外观,但是在某些part存在不易察觉微小差异。因此定位目标的part以及提取具有区分性的part特征至关重要。一些开创性的工作直接使用low-level的图像特征用以part的定位和提取。其中DPM[11,42,7]和Poselet[4,10]被广泛用于目标局部定位。[16,12]将part定位转换为训练外观相似的samples。[16]为每个part人工设计了特征用以最后的分类,为part定位带来了希望,但是定位重叠率仅有0.45。
目前,基于CNN的方法大大优于以前的基于手工设计特征的方法,例如[41]使用自下而上的选择搜索法产生part和目标的候选区域,然后使用RCNN进行检测。由于他们的搜索方法比较难产生小的part和目标定位,因此只是用了两个part(头和躯干),另外需要额外定位几何约束用来进一步筛选候选区域。[28]提出使用CNN特征直接回归Bounding Box然后使用valve linkage function将part定位,拼接和预测放在一个网络。但是同样只使用了两个part(头和躯干)。[24, 25, 39, 34]其他无监督方法能够产生多个目标part,但是这些part不具有语义信息。另一方面,这些基于CNN的方法[41, 28, 5]都是采用典型的CNN-SVM模型,使得训练成本过于昂贵,也限制了对于多part的使用。尽管卷积网络可视化[40]能够看到一些神经元捕获到了part或属性信息,但是没有明显的证据表明这些模型很好的model了这些part。

3.本文方法

图1:SPDA-CNN框架

  • 3.1 Part Detection Sub-network
  • 3.1.1 Geometrically-constrained Top-down Region

Proposals for Small Semantic Parts
传统的区域候选方法[36, 6, 1, 43]通常是注重自底向上的方法而忽略了几何限制,因此很难产生small 语义part的区域候选。本文参考近期较为成功的nonparametric part transfer methods [16, 12],我们提出了一个类似于K近邻(K-NN)的几何限制的part候选方法。

该方法是自顶向下的结构,首先计算给定目标bounding box的梯度直方图(HOG)特征代表目标的粗略形状,然后根据HOG特征在训练集中选取K个近邻。根据目标的大小将K个近邻的M个part区域放缩到合适的大小。B = [b11; … b1m; b21; …, b2m; … bk1; …, bkm]表示所有的K个近邻M个part的区域。这些缩放后part区域保留了以前的先验知识,如几何形状以及part标注。为了通过这些part产生区域候选,本文提出了两种先验策略。

  1. 强先验知识 同时考虑part label和part几何形状,通过这种策略,第i个part的候选区域通过B矩阵中的[b1i,b2i,…,bki]给出。因此每个part的候选区域为k个。
  2. 弱先验知识 不考虑part的label信息,通过这种策略,每个part的候选区域都是整个B矩阵。B = [b11; … b1m; b21; …, b2m; … bk1; …, bkm]
    策略的优点,由于文章考虑了先验知识,因此会将区域候选的数量降低一个级别。如200 vs . 2000。

3.1.2 Fast RCNN based Part Detection
根据K-NN给出的候选区域,检测网络通过Fast-RCNN 进行区域回归,回归出每一个区域的bounding box b 和一个置信度 s。由于每个目标具有m个part,因此回归网络具有m+1个输出(包含背景区域)。
通过RCNN 回归整个网络使用多任务Loss函数。
RCNN Loss
其中,c取值0-m 是part bounding box的正确类别分类。
L(cls) 是正确类别分类的log loss。
L(loc)是part bounding box的loss。
b(c)是true class的bounding box 回归。
b(gt)是ground truth box的回归。

3.2 Part Abstraction and Classification
目标提取和分类子网(CLS-NET)共分为三个部分,语义部分PoI池化层基于part的全连接层(PFC),串联全连接层(CFC)。其他层参数和Imagenet
classification with deep convolutional neural networks 网络一致。

  1. RoI pooling 提取检测子网的part特征,并按照一定顺序合成一个特征向量。
    传统的在任意位置进行池化操作忽略了一个事实,就是不是所有的特征对于最后的分类结果都有效,因此本文提出的ROI pooling只针对语义part进行。ROI层首先根据detection或是ground truth给的part范围,先将part区域分成H*W的子网络(例如,3*3)[13,19],然后对这个区域进行pooling。然后将不同part的池化后的特征按照一定顺序进行组合。

  2. PFC层仅允许同种part的内部连接,用以提取mid-level part-specific特征。PFC层
    Xi为第i个part的特征。Wi对于每个part是不一样的。本文只在mid-level使用PFC,低层的特征使用的卷积是一样的。

  3. CFC层组合所有part的PFC层用以产生一个对于所有part的端到端训练网络。 通常part-based CNN是针对每个part训练分类器,然后将CNN特征进行组合进行SVM分类。本文提出cfc网络将不同part组合起来,这样反向传播就可以流到所有的part。这层的结点与pfc所有的结点相连 。可以model到不同part之间的相互作用。
    CFC层

3.3 Unifying Two Subnetworks
检测子网和分类子网均可以为了相应的任务单独训练,本文将两个网络链接在一起进行训练,这样也可以共享卷积的计算[8,32,33]也是这样做的。
为了将两个网络合并在一起,使用了类似[32]的idea。三步走策略如下:

  1. DET-NET和CLS-NET为了单独的任务,单独进行end-to-end训练,在训练CLS-NET的时候,使用原始图片的标注信息,而不使用DET-NET的信息。这样两个网络仍然是使用不同的卷积层,两个网络都是使用ImageNet 预训练的model。

  2. 使用CLS-NET的前n个卷积层替代相应的DET-NET种卷积层,然后fine-tune其他层,其中n是一个超参数,在精度和效率之间trade-off。

  3. 最后一步,DET-NET种的part detection,然后微调CLS-NET中其他层。这样使得两个子网络共享相同的卷积网络。

4.实验

实验细节:文章通过caffeNet进行两个子网络的初始化
part ROI pooling size 为 3*3
pfc层结点数为512 for each part
cfc层节点数为4096
一共有5个卷积层,两个子网络共享前三个卷积层。

  • 4.1 Part Detection Results on CUB2011
    DET-NET CUB2011 结果
    从结果中看,无论是时间还是准确度,paper均取得了state-of-art的效果。文章总结了两方面的原因,一是由于使用了KNN加入了很多先验知识。另一方面是fast-RCNN提高了定位精确度。

  • 4.2 Classification Results on CUB2011
    Classification Results on CUB2011
    从上表的实验结果中来看,可以得到三个结论。第一,增加part layers和使用更多的part是很有必要的。第二,一层PFC差不多就够了。最后,尽管其他的模型需要whole object[16,28,41],但是我们这个模型由于提取到了每个part,因此不需要。

  • 4.3 Classification Results of Our Unified Network
    通过各个模型在两个数据集上的测试,发现我们的模型均取得了最好的效果。

5.讨论和结论

文章最后发现通过ground truth的bounding box和我们的DET-NET进行分类的结果相差很小,但是我们的DET-NET的精度却不高,因此作者对于0.5的阈值提出质疑,认为bounding box的重合度小于0.5也可以认为是定位正确。
另一方面为了验证PFC网络具有提取部分特征的能力,作者进行了一个额外的测试,使用头部提取的特征进行part属性预测。

6.我的理解

  • 本文的亮点1在于K-NN进行区域候选,在数量级上减少了候选区域的个数。
  • 亮点2在于pfc网络的提出,对于细粒度分类,part确实比整体重要得多。
  • 亮点3在于检测和分类的卷积参数共享,提出了很好的三步走。

References
[1] P. A. Arbel´aez, J. Pont-Tuset, J. T. Barron, F. Marqu´es, and J. Malik. Multiscale combinatorial grouping. In CVPR,2014. 3, 6
[2] H. Azizpour and I. Laptev. Object detection using stronglysupervised deformable part models. In ECCV, 2012. 5, 6,8
[3] T. Berg and P. N. Belhumeur. POOF: part-based one-vs.-one features for fine-grained categorization, face verification, and
attribute estimation. In CVPR, 2013. 7
[4] L. D. Bourdev and J. Malik. Poselets: Body part detectors trained using 3d human pose annotations. In ICCV, 2009. 2
[5] S. Branson, G. Van Horn, P. Perona, and S. Belongie. Improved bird species recognition using pose normalized deep
convolutional nets. In BMVC, 2014. 1, 3, 4
[6] J. Carreira and C. Sminchisescu. CPMC: automatic object segmentation using constrained parametric min-cuts.
TPAMI, 2012. 3
[7] Y. Chai, V. S. Lempitsky, and A. Zisserman. Symbiotic segmentation and part localization for fine-grained categorization.
In ICCV, 2013. 2, 7
[8] J. Dai, K. He, and J. Sun. Convolutional feature masking for joint object and stuff segmentation. In CVPR, 2015. 5
[9] J. Deng, J. Krause, and F. Li. Fine-grained crowdsourcing for fine-grained recognition. In CVPR, 2013. 1
[10] R. Farrell, O. Oza, N. Zhang, V. I. Morariu, T. Darrell, and L. S. Davis. Birdlets: Subordinate categorization using volumetric
primitives and pose-normalized appearance. In ICCV, 2011. 2
[11] P. F. Felzenszwalb, R. B. Girshick, D. A. McAllester, and D. Ramanan. Object detection with discriminatively trained
part-based models. TPAMI, 2010. 2
[12] E. Gavves, B. Fernando, C. G. M. Snoek, A. W. M. Smeulders, and T. Tuytelaars. Fine-grained categorization by alignments.
In ICCV, 2013. 2, 3
[13] R. B. Girshick. Fast R-CNN. In ICCV, 2015. 2, 3, 4
[14] R. B. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic
segmentation. In CVPR, 2014. 3
[15] G. Gkioxari, R. Girshick, and J. Malik. Actions and attributes from wholes and parts. In ICCV, 2015. 3
[16] C. G¨oring, E. Rodner, A. Freytag, and J. Denzler. Nonparametric part transfer for fine-grained recognition. In CVPR,
2014. 2, 3, 5, 6, 7
[17] K. Gregor and Y. LeCun. Emergence of complex-like cells in a temporal product network with local receptive fields.
CoRR, abs/1006.0448, 2010. 4
[18] B. Hariharan, P. A. Arbel´aez, R. B. Girshick, and J. Malik. Hypercolumns for object segmentation and fine-grained localization.
In CVPR, 2015. 3
[19] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition.
TPAMI, 2015. 4
[20] G. B. Huang, H. Lee, and E. G. Learned-Miller. Learning hierarchical representations for face verification with convolutional
deep belief networks. In CVPR, 2012. 4
[21] M. Jaderberg, K. Simonyan, A. Zisserman, and K. Kavukcuoglu. Spatial transformer networks. In NIPS, 2015. 7
[22] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick,S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for fast feature embedding. arXiv preprint arXiv:1408.5093, 2014. 5
[23] A. Khosla, N. Jayadevaprakash, B. Yao, and L. Fei-Fei. Novel dataset for fine-grained image categorization. In
CVPR Workshop, 2011. 1
[24] J. Krause, T. Gebru, J. Deng, L. Li, and F. Li. Learning features and parts for fine-grained recognition. In ICPR, 2014.3
[25] J. Krause, H. Jin, J. Yang, and F. Li. Fine-grained recognition without part annotations. In CVPR, 2015. 3, 7
[26] J. Krause, M. Stark, J. Deng, and L. Fei-Fei. 3D object representationsfor fine-grained categorization. In ICCV Workshop,2013. 1
[27] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. InNIPS, 2012. 4, 5
[28] D. Lin, X. Shen, C. Lu, and J. Jia. Deep LAC: Deep localization, alignment and classification for fine-grained recognition.
In CVPR, 2015. 1, 3, 4, 5, 6, 7, 8
[29] T.-Y. Lin, A. RoyChowdhury, and S. Maji. Bilinear cnn models for fine-grained visual recognition. In ICCV, 2015. 7
[30] Y.-L. Lin, V. I. Morariu, W. Hsu, and L. S. Davis. Jointly optimizing 3d model fitting and fine-grained classification. In ECCV, 2014.
[31] S. Maji, J. Kannala, E. Rahtu, M. Blaschko, and A. Vedaldi.Fine-grained visual classification of aircraft. Technical report, 2013. 1
[32] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015. 5
[33] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus,and Y. LeCun. Overfeat: Integrated recognition, localization and detection using convolutional networks. In ICLR, 2014.
[34] M. Simon and E. Rodner. Neural activation constellations:Unsupervised part model discovery with convolutional networks.
In ICCV, 2015. 3, 7
[35] Y. Taigman, M. Yang, M. Ranzato, and L. Wolf. DeepFace:Closing the gap to human-level performance in face verification.
In CVPR, 2014. 4
[36] J. R. R. Uijlings, K. E. A. van de Sande, T. Gevers, andA.W. M. Smeulders. Selective search for object recognition.IJCV, 2013. 2, 3,
[37] C. Wah, S. Branson, P. Welinder, P. Perona, and S. Belongie.The Caltech-UCSD Birds-200-2011 Dataset. Technical report,2011. 1,
[38] P. Welinder, S. Branson, T. Mita, C. Wah, F. Schroff, S. Belongie,and P. Perona. Caltech-UCSD Birds 200. Technicalreport, 2010. 2,
[39] T. Xiao, Y. Xu, K. Yang, J. Zhang, Y. Peng, and Z. Zhang.The application of two-level attention models in deep convolutional
neural network for fine-grained image classification.In CVPR, 2015. 1, 3
[40] M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional networks. In ECCV, 2014. 3
[41] N. Zhang, J. Donahue, R. B. Girshick, and T. Darrell.Part-based R-CNNs for fine-grained category detection. InECCV, 2014. 1, 3, 4, 5, 6, 7, 8
[42] N. Zhang, R. Farrell, F. N. Iandola, and T. Darrell. Deformable part descriptors for fine-grained recognition and attribute
prediction. In ICCV, 2013. 2, 7
[43] C. L. Zitnick and P. Doll´ar. Edge boxes: Locating object proposals from edges. In ECCV, 2014. 3, 6

2 0