zoukankan      html  css  js  c++  java
  • 论文-Learning Features and Parts for Fine-Grained Recognition

    Learning Features and Parts for Fine-Grained Recognition

    本文主要讲细粒度识别(fine-grained recognition),主要几种在两点:学习表达性的外表特征和定位可区分特征。其中使用CNN来学习表达性的外部特征,而采用part detector来定位和描述细粒度特征。

    后者part detector and describer 的方法叫: ELLF (Ensemble of Localized Learned Features) , 它含有两个关键点: learning discriminative appearance features 和 discovering parts。

     

    Part的集合,是通过无监督学习得到的,即是通过 traditional human feature 来得到,这些feature 来源于一个CNN网络得到的feature map。

    整个算法的框架是:

    给予一张image,先使用无监督方法的part detector得到一些region 或者 grid,再使用CNN的前基层的Conv层去提取出特征,parts of feature maps,接着分为两路,一路是继续CNN的FC部分,另一路则是part detector之后的feature 的重新组织和ensemble,同时两路为最后的classification服务。

    Part Discovery的几个步骤:

    (1), 对于一张image,先使用GrabCut算法来初始化背景和object的Bounding box,起到一个foreground segmentation的作用,然后再使用multi-scale 的HOG features 提取。

    (2), 以image中的HOG多样性为能量函数,选择能量值最高的parts,这样是为了找到最有判别性的part。同时,在选择一个part之后,除去其他与之overlap大于一定值的未选parts,避免最后的ensemble学习多余的parts。

    (3),为每一个选择的part训练一个detector,训练目标是最小化该函数

     

    (4), 最后将parts detectors 进行ensemble,得到一个part detector collection。

    实验效果:

     

    添加了辅助feature之后,ELLF比没加feature 的CNN增强了3个多点。

    评价:

    在AlexNet阶段,由于CNN的网络层数浅,学习能力稍微弱,无法从image 中提取出更为全面的信息,所以利用传统的方法来增加feature 提取,来为classification更好的服务。

  • 相关阅读:
    理解dajngo ORM查询中select_related的作用
    Django 模型层 Meta 选项详解
    token和session的区别
    Python 爬虫 urllib、urllib2、urllib3用法及区别
    linux里面访问一个链接的方法
    scrapy-redis实现全站分布式数据爬取
    linux shell 操作 mysql命令(不进入mysql操作界面)
    后台+下载(wget)+多个下载url
    维基下载页面说明(指南)
    pytorch --Rnn语言模型(LSTM,BiLSTM) -- 《Recurrent neural network based language model》
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/6535235.html
Copyright © 2011-2022 走看看