目录
论文:链接
简介
在细粒度分类任务中,由于较小的类间差异和较大的类内差异,使其成为一项具有挑战性的问题。针对此情况,作者提出三分支(多分支)多尺度学习网络结构MMAL-Net,该网络结构只要包含两个模块:
1、AOLM(attention object location module):用来预测物体的位置;
2、APPM(attention part proposal module):在不需要边界框或标注的情况下,预测物体重点区域的信息。
通过三个分支的网络结构训练不同尺度的图像,使得该网络结构有良好的分类能力以及对不同尺度的图像有很好的鲁棒性。
MMAL-Net的网络结构如下:
1、raw branch:输入原始图像(raw image),通过CNN学习物体的整体特征,并生成的feature maps用于下一分支;
2、AOLM:原始图像的feature maps经过AOLM模块学习到物体的边界框信息;
3、object branch:根据边界框信息对原始图像进行crop,得到较细尺度的目标图像(object image)不仅包含目标物体的结构特征还包含较细粒度的特征,输入CNN网络中,具有更好的分类效果;
4、APPM:根据目标图像的feature maps得到几个差异最大、冗余度最小的局部区域(part regions);
5、part branch:从目标图像(object image)中裁剪局部区域输入到CNN中训练;
6、在三个分支中CNN和FC的参数是共享的,因此网络结构对不同尺度,不同部位的物体有较好的分类能力;
7、测试阶段只包含上图中的绿框中的结构;分类损失函数是cross entropy loss。
以上就是MMAL-Net网络的整体结构。
AOLM
通过CNNs对输入图片生成C×H×W的feature maps,来确定目标主体的位置坐标。
通过上述公式得到activation map A,其中fi是第i个channel的feature map。从A中可看出网络重点识别的区域以及目标的位置信息。
然后以A的均值a作为阈值来判断位置元素是否为目标主体的一部分,得到mask区域。
论文中,作者经过实验验证,目标经常出现在最大的联通区域内,因此将最大连通区域的最小边界框作为目标的位置信息。
在训练ResNet-50中,取和
交集可以得到位置信息更准确的mask M。
根据mask M对原始图像进行crop得到object image,输入到object branch。
AOLM的实现
def AOLM(fms, fm1):
# fms:[B, C, H, W]
# conv