目标检测复盘 --3. Fast RCNN

在这里插入图片描述

  • RCNN的CNN部分使用AlexNet作为backbone来提取特征,Fast RCNN使用了VGG16来作为backbone
  • RCNN将2000个框送入网络提取特征,Fast RCNN是将图像送入CNN来提取特征得到一个特征图
  • 将SS(Selective Search)算法获取的提议框映射到上面的特征图上,获取相应的每个框的特征
  • 将每个框的特征图使用ROI pooling进行缩放,固定到统一的尺寸
  • RCNN在获取结果的时候使用育训练的SVM分类器,而这里直接根据特征输出类别信息
    在这里插入图片描述
  • 样本策略并不是完全使用SS算法提供的2000个框来提取特征,而是根据策略进行采样,这样一方面保证正负样本平衡另一方面减少计算量

在这里插入图片描述

  • ROI Pooling:这里首先将特征图划分成7*7的大小,然后对每一个单元运用最大池化采样,最后输出特征图的尺寸为7*7,这种方法支持不同尺寸的输入,而不需要固定的尺寸

在这里插入图片描述

  • 获取完特征之后便开始分类,这里的输出size为N+1,这里的输出经过softmax处理(和为1)

  • 分类器:
    在这里插入图片描述

  • 回归器:
    在这里插入图片描述

  • 基于回归器对先验框做调整,注意网络的输出,用网络的输出来调整先验框的值(这个和后边YOLO系列的等anchor based方法都基本一致)

  • 这里为什么宽高是基于指数e的,一种可能的解释是 d x , d y d_x,d_y dx,dy可能是负值,为了保证最终的宽高都为正值?我觉得不太对,具体原因尚未可知,或许就是简单的一种范式吧,反正可以学习可以调整,形式不重要,哈哈哈。

在这里插入图片描述

  • 损失计算,分类损失,就是log损失,也就是softmax交叉熵损失
    在这里插入图片描述

  • 知识点回顾

  • 如果采用onehot编码,最终的多分类交叉熵的计算方式就是 l o g ( x ) log(x) log(x),注意,只有标签是采用onehot编码表示的,概率输出还是原始softmax的结果

    onehot:[0,0,...,1,.....0]
    sofmax:[0.1,0.3,...,0.4,...0.1]
    那么Loss=-log(0.4)
    

在这里插入图片描述

  • 损失计算,边界框回归损失
  • 注意这里的 v x v_x vx几个数字并不是标注结果, t x u t^u_x txu也不是输出的坐标或者宽高,他们都是中间值,经过计算才到最终的结果,标签的计算方式是通过标注结果反推,预测的结果直接由网络输出
    v x ( g t ) = G x ^ − P x P w v_x(gt) = \frac{\hat{G_x} - P_x}{P_w} vx(gt)=PwGx^Px
  • 这里有个 [ u ≥    1 ] [u\geq\;1] [u1],含义是正样本+指示函数,只有正样本的时候才是1,这部分才参与计算损失函数
    在这里插入图片描述- 速度瓶颈在SS算法上,后面的CNN模块还是挺快的,所以Faster RCNN就重点来解决这个问题咯
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值