[ 目标检测 ] 经典网络模型3——Faster R-CNN 详解与复现


🤵 AuthorHorizon Max

编程技巧篇各种操作小结

🎇 机器视觉篇会变魔术 OpenCV

💥 深度学习篇简单入门 PyTorch

🏆 神经网络篇经典网络模型

💻 算法篇再忙也别忘了 LeetCode


🚀 Real-Time Object Detection with RPN

目前先进的目标检测网络如 SPP-NetFast R-CNN 都采用区域建议算法 (region proposal algorithms) 假设目标位置 ;

这些网络都缩短了检测网络的运行时间,但 区域建议计算 依然是目标检测任务的 瓶颈 问题 ;

基于此,提出了一个 区域建议网络( Region Proposal Network,RPN ) ,实现与检测网络 共享 输入图像的 卷积特征

RPN 是一个完全的卷积网络,可以同时预测每个位置的 目标边框(object bounds) 和 目标得分(objectness scores) ;

RPN 经过端到端(end-to-end) 的训练,可以生成高质量的 区域建议(region proposals) ;

ILSVRCCOCO 2015 比赛中,Faster R-CNNRPN 是夺得 第一名 的基础 ;


🔗 论文地址:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks


#pic_center


🚀 Faster R-CNN 详解

🎨 Faster R-CNN 提出背景

基于 选择性搜索(Selective Search) 的区域建议(region proposal) 算法成功的推动了目标检测的最新进展 ;

但与 高效的检测网络(efficient detection networks) 相比,选择性搜索仍要慢一个数量级,成为目标检测计算的 瓶颈


🚩 核心思想

Faster R-CNN 利用深度卷积神经网络计算建议框 (proposals),实现区域建议网络与目标检测网络 共享卷积层

在测试阶段共享卷积,从而使得计算建议框的成本很小 ;


🎨 Faster R-CNN 网络结构

Faster R-CNN 有两个模块组成:

  • 用于提出建议框(proposes regions)的深度全卷积网络 ;
  • 使用建议框的 Faster R-CNN 检测器 ;

RPN 模块使用了 注意力机制,实现其高效的检测 ;

🚩 Region Proposal Network


(a)构建了图像金字塔和特征图,并在所有尺度下运行分类器 ;
(b)在特征图上运行具有多尺寸(multiple scales/sizes)的过滤器金字塔 ;
(c)在回归函数中使用参考框(reference boxes)的金字塔 ;

RPN 的设计用于有效的预测具有广泛尺度和横纵比的区域建议框,避免了枚举多尺寸或宽高比的图像或过滤器 ;

RPN 将任意大小的图像作为输入,并输出一组 矩形目标建议框(rectangular object proposals),每一个建议框都有一个 对象得分(objectness score);

为生成区域 建议框 ,在最后一个共享卷积层输出的卷积特征图(conv feature map)滑动一个小网络 (如上图所示) ;

这个小网络以输入卷积特征图的 n×n 空间窗口作为输入,每次滑动窗口(sliding window)都映射到一个 低维特征

然后将低维特征输入到两个同级的全连接层中 —— 回归层(reg layer) 和 分类层(cls layer) ;

RPN结构:一个n×n卷积层(滑动窗口) 和 两个1×1卷积层(reg 和 cla) 组成 ;

在每个滑动窗口的位置,同时预测多个区域建议框(作者取名为 Anchors),假设每个位置的最大预测数量为 k,则有:

  • reg layer 有 4k 个输出:每个建议框有4个参数 (x,y,h,w) ,这里的 x和y 对应着滑动窗口的中心 ;
  • cla layer 有 2k个输出:每个建议框有2个得分 (目标概率 和 非目标概率) ;

这里有有一个重要的特性:Anchors 和 计算相对于Anchors的建议框 都具有 平移不变性(translation invariant) ;

并利用多尺寸(Multi-Scale) Anchors 解决尺寸问题 ;

学习一组 bounding-box regressors ,每个回归器负责一个尺寸和一个横纵比 ;


🚩 Sharing Features for RPN and Fast R-CNN

前面所说的 RPN 是一个训练用来 生成区域建议框 的网络,对于检测网络仍使用 Fast R-CNN

有三种方法用于共享特征训练网络:

  • 交替训练(Alternating training);
  • 近似联合训练(Approximate joint training);
  • 非近似联合训练(Non-approximate joint training);

Faster R-CNN采用的是交替训练,先训练 RPN 然后利用生成的 建议框 训练 Fast R-CNN,再用 Fast R-CNN 调整后网络 初始化RPN ;


🚩 Faster R-CNN 结构框图


🚀 Faster R-CNN 复现

输出结果:



文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2022年5月10日
下一篇 2022年5月10日

相关推荐