Recurrent attention convolutional neural network for fine-grained image recognition 中的RA-CNN算法不需要对数据做类似bounding box的标注就能取得和采用类似bounding box标注的算法效果。有多个结构相同参数不共享的子网络对应每个scale。每个子网络包含分类网络和APN网络。对两个网络进行教程训练。 用APN网络取代了之前的bbox。通过rank 损失函数使得每一层的准确率逐步提升。
每一层将上一层的图像放大到裁剪前的大小。
训练过程
先将图像送入VGG网络提取特征,得到的feature map,比如说1414256,然后接一个全连接层,变成111024,然后再接一个全连接层,变成113。3是正方形的坐标包括,左上角 的xy,以及框长l。然后把这个框再放大为224*224后,送入级联网络的下一层。放大的时候是用多线性插值的,这样得到的图更细致。
tx ty 是关于x,y的中心点 l是这个正方形的长度的一半
裁剪的计算方法(有利于反向传播)
损失函数
前一项是分类的损失函数,后一项是候选框的损失函数
后面的候选的损失函数
Pt是分类正确的概率,目的是下一层网络分类正确概率大于上一层网络得到的分类正确概率。
向着响应方向更新正方形的中心
训练方式:
交叉训练:设置学习率来达到交替训练的,一段时间内,APN层的学习率为0,训练VGG分类网络;一段时间内,VGG分类网络的学习率为0,训练APN层。
引用:
https://zhuanlan.zhihu.com/p/36395581