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)。
---------------------
来源:CSDN
作者:jessican_uestc
链接:https://blog.csdn.net/jessican_uestc/article/details/83312505