Bilinear CNN 《Bilinear CNNs for Fine-grained Visual Recognition》

假如想象 提交于 2019-12-06 21:13:41

Bilinear CNN 《Bilinear CNNs for Fine-grained Visual Recognition》


深度学习成功的一个重要精髓,就是将原本分散的处理过程,如特征提取,模型训练等,整合进了一个完整的系统,进行端到端的整体优化训练。不过,在以上所有的工作中,我们所看到的都是将卷积网络当做一个特征提取器,并未从整体上进行考虑。最近,T.-Y. Lin、A.RoyChowdhury等人设计了一种端到端的网络模型Bilinear CNN,在CUB200-2011数据集上取得了弱监督细粒度分类模型的最好分类准确度。 

如下图所示,一个Bilinear模型Β由一个四元组组成:Β=(fA,fB,Ρ,C)。

其中,fA,fB代表特征提取函数,即图中的网络A、B;P是一个池化函数(Pooling Function);C则是分类函数。

特征提取函数f (•)的作用可以看作一个函数映射,f:LXI→RcXD将输入图像I与位置区域L映射为一个cXD 维的特征。

而两个特征提取函数的输出,可以通过一个双线性操作进行汇聚,得到最终的Bilinear特征。

其中池化函数 的作用是将所有位置的Bilinear特征汇聚成一个特征。

到此Bilinear向量即可表示该细粒度图像,后续则为经典的全连接层进行图像分类。

一种对Bilinear CNN模型的解释是,网络A的作用是对物体/部件进行定位,即完成前面介绍算法的物体与局部区域检测工作,而网络B则是用来对网络A检测到的物体位置进行特征提取。

两个网络相互协调作用,完成了细粒度图像分类过程中两个最重要的任务:物体、局部区域的检测与特征提取。

另外,值得一提的是,Bilinear模型由于其优异的泛化性能,不仅在细粒度图像分类上取得了优异效果,还被用于其他图像分类任务,如行人重检测(Person Re-ID)。
--------------------- 
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!