1、Introduction

说实话和作者的context encoding那篇有点重了的感觉
作者将字典学习和编码融合到一个模型里面了

  • inherent的视觉字典是从损失中直接学习出来的
  • 整个的表示是无序的,对于material和texture识别是特别有效的
  • 最后的encoder层是传统的residual encoder(VLAD,FISHER)的一个全新的泛化,能够丢弃domain-specific的信息,让学习得到的特征更容易迁徙

2、 CNN

对于传统的CNN的学习其实是一个类似滑动窗口的学习,最后产生的特征都是ordered,这对于一般的分类,场景识别是很有助益的,但是对于识别纹理来讲却不是那么理想,因为对于纹理来说需要一个空间不变性的表示,而普通的CNN最后的全连接类似于一个concat的操作,这对于texture来讲并不是那么理想。因此orderless的 feature pooling对于端到端的学习就显得尤为重要。重点是要让网络对于网络参数和层数可微

3、Contribution

  1. 将字典学习和残差编码融合到一个网络里面了
  2. 新的端到端的网络

新的编码层有三个特点

  1. Encoder layer泛化了VLAD和Fisher Vector的能力,整个的表示是无序的,对于material和texture识别很有益处
  2. Encoder layer扮演了pooling的角色,接受任意大小的输入输出固定长度的表示,通过可以接受任意大小的输入使得整个网络自由度更高
  3. Encoder层学习的字典和编码表示很有可能携带domain-specific信息因此对于pretrained的特征有很好的迁移性。

4、Learnable Residual Encoding Layer(部分参考自己的博客)

Input feature: CXWXH —>x={x1,x2,...,xN},N=H×Wx={x1,x2,...,xN},N=H×Wx = \{x_1,x_2,...,x_N\},N = H \times W
Inherent codebook: D={d1,d2,...,dk}D={d1,d2,...,dk}D=\{d_1,d_2,...,d_k\}
Scaling factors: S={s1,s2,...,sk}S={s1,s2,...,sk}S=\{s_1,s_2,...,s_k\}
最后会输出k个残差编码,ek=∑Ni=1eikek=∑i=1Neike_k = \sum_{i=1}^{N}e_{ik}

Hard 分配

怎么将每一个xixix_i通过aikaika_{ik}分配给rikrikr_{ik}呢?以前hard的分配是rikrikr_{ik}中最小的哪个直接置aikaika_{ik}为1

aik=1(||rik||2=min{||ri1||2...,||riK||2})aik=1(||rik||2=min{||ri1||2...,||riK||2})a_{ik} = 1(||r_{ik}||^2=min\{||r_{i1}||^2...,||r_{iK}||^2\})

soft 分配

ββ\beta是一个平滑因子

模仿GMM的soft分配

,rik=xi−dkrik=xi−dkr_{ik}=x_i - d_k
ekeke_k是C维的,最后将k个ekeke_k融合到一起,这里没有用concat,一方面concat包含了顺序信息,另一方面用加的方法节省了显存。这里加起来的含义是获得整张图像相对于K个语义词的全部信息
,最后的e也是c维的

Dictionary learning: ekeke_k的学习
Residual encoding: rikrikr_{ik}的学习

5、Relation to Dictionary Learning

Relation to Dictionary Learning

Dictionary Learning通常是从descriptor中通过无监督学习到的,例如Kmeans和GMM.如果将上面图中的Residuals(绿色)去掉的话,ββ\beta趋向于无穷大,此时encoding layer等同于dictionary learning

Relation to BoWs and Residual Encoders

Bow会将每一个descriptor hard分配给最近的那个codeword,统计每一个codeword中descriptor出现的频率

VLAD的改变在于他讲residual vector和hard assignment结合在了一起

NetVLAD

  • soft assignment
  • assignment weight和dictionary进行了解耦,使得assignment weight仅仅取决于输入的discriptor.,也就是把上图的绿色箭头给去掉了

Fisher Vector同时编码了一阶和二阶的aggregated residual。FV-CNN用现成的residual encoder和CNN,取得了不错的效果

Relation to Pooling

K=1 ,c=0就等同于sum pooling.

6、Deep Texture Encoding Network

FV能够摒弃经常出现在数据集中的特征,通常包含着domain-specific信息。而本文的encoder layer也具有这个特性。
对于频繁出现的xixix_i,他有极大的可能接近某个codeword xkxkx_k

  • 这样,rik=xi−ckrik=xi−ckr_{ik} = x_i - c_k会很小
  • aij,j≠kaij,j≠ka_{ij},j\not=k也会很小

综合上述两点,根据ek=∑Ni=1aikrikek=∑i=1Naikrike_k = \sum_{i=1}^{N}a_{ik}r_{ik}会很小,这也就是对于频繁出现的descriptor具有削弱功效,对于不同领域的特征迁徙学习很重要

Our Encoding Layer on top of convolution layers accepts arbitrary input image sizes and learns domain independent convolutional features, enabling convenient joint training. We present and evaluate a network that shares convolutional features for two different datasets and has two separate Encoding Layers. We demonstrate joint training with two datasets and show that recognition results are significantly improved.

所以作者在最终的实验里用CIFAR-10和STL-10进行了不同domain的图像的学习,也即在主干网络Resnet20上面加上两个encoder layer,一个用来训练CIFAR-10,一个用来训练STL-10,损失是两个损失的和。发现性能得到了很大的提升。

论文阅读 Deep TEN: Texture Encoding Network相关推荐

  1. Deep TEN: Texture Encoding Network

    纹理特征,材料分类(Material Classification),在MINC-2500.Flickr Material Database.KTH-TIPS-2b.4D-Light-Field-Ma ...

  2. 论文阅读11——《Mutual Boost Network for Attributed Graph Clustering》

    是聚类让我们"聚类",我整理了部分深度图聚类代码,希望大家多多支持(GitHub代码):A-Unified-Framework-for-Deep-Attribute-Graph-C ...

  3. 论文阅读:Saliency-Guided Region Proposal Network for CNN Based Object Detection

    论文阅读:Saliency-Guided Region Proposal Network for CNN Based Object Detection (1)Author (2)Abstract (3 ...

  4. 年龄论文阅读——Deep Label Distribution Learning With Label Ambiguity

    论文阅读--Deep Label Distribution Learning With Label Ambiguity 版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.c ...

  5. 【论文阅读】Gait Quality Aware Network: Toward the Interpretability of Silhouette-Based Gait Recognition

    Gait Quality Aware Network: Toward the Interpretability of Silhouette-Based Gait Recognition 摘要 Intr ...

  6. 论文阅读——CcNet:A cross-connected convolutional network for segmenting retinal vessels using multi-scale

    论文阅读:CcNet:A cross-connected convolutional network for segmenting retinal vessels using multi-scale ...

  7. 论文阅读--Deep Stereo using Adaptive Thin Volume Representation with Uncertainty Awareness

    UCSNet(CVPR2020) 论文阅读 UCSNet(CVPR2020) 1. MVSNet 2. UCSNet细节 a. Cascade module b. Plane sweep volume ...

  8. 论文阅读:Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos

    Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos 文章目录 Tube Convolutional Neu ...

  9. 【论文阅读】Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud

    最近在看3d目标检测的文章,感觉看完东西还是要记一下自己的想法,尤其是有思考的文章. 论文题目:Point-GNN: Graph Neural Network for 3D Object Detect ...

最新文章

  1. AIFramework框架Jittor特性(上)
  2. Algs4-1.4.8计算输入文件中相等的整数对的数量
  3. JPA和CMT –为什么捕获持久性异常不够?
  4. 理解Synchronized
  5. 解决centos sudo执行仍旧显示Permission denied
  6. JPA @Lob 存储大文本 org.postgresql.util.PSQLException: 大型对象无法被使用在自动确认事物交易模式。问题...
  7. 评分9.7! 这本Python神作,火爆编程圈!网友:太香!
  8. Microsoft Word 段前距设置和页眉设置
  9. 2008流媒体服务器点播搭建详解
  10. server-sent events
  11. wpf 如何让当前窗口隐藏
  12. 如何用eclipse读取.txt文件
  13. 论文笔记目录(ver2.0)
  14. 投身数字化,助力智能化
  15. APP地推效果监测精准方案
  16. python爬虫下载梨视频
  17. 学生信息管理系统代码全篇
  18. SpringMVC —— @ResponseBody原理
  19. 1094:与7无关的数
  20. safari cookie_如何在OS X上清除Safari的浏览历史记录和Cookie

热门文章

  1. 假如时光可以倒流我要如何选择
  2. nginx $remote_addr 详解
  3. 2022年全国计算机等级考试(四级)测试题含答案
  4. 虚拟机网络连接方式 主机连接WLAN(wifi)时
  5. Kafka rebalance触发条件
  6. vw 前端_前端常用开发单位-vw
  7. 网络渗透测试实验三——XSS和SQL注入
  8. 论文笔记:WWW 2019 Heterogeneous Graph Attention Network
  9. 【system verilog】继续探究IC前端仿真中的“时间”,timescale,timeunit/timeprecision设置
  10. AudioUnit录制音频+耳返(四)