目标检测之Fast R-CNN

目录

  • [1. Fast R-CNN](#1. Fast R-CNN)
  • [2. Roi pooling](#2. Roi pooling)
  • [3. End-to-End model](#3. End-to-End model)
  • [4. 多任务损失](#4. 多任务损失)
  • [5. 对比](#5. 对比)
  • [6. 总结](#6. 总结)

1. Fast R-CNN

改进的地方:

提出一个Rol pooling,然后整合整个模型,把CNN、SPP变换层、分类器、bbox回归几个模块一起训练

步骤

首先将整个图片输入到一个基础卷积网络,得到整张图的feature map中

将region proposal(Rol)映射到feature map中。

Rol pooling layer提取一个固定长度的特征向量,每个特征会输入到一系列全连接层,得到一个Rol特征向量(此步骤是对每一个候选区域都会进行同样的操作)

其中一个是传统softmax层进行分类,输出类别有K个类别加上"背景"类

另一个是bounding box regressor

2. Roi pooling

首先Rol pooling只是一个简单版本的SPP,目的是为了减少计算时间并且得出固定长度的向量。

Rol池层使用最大池化将任何有效的RoI区域内的特征转换成具有HxW的固定空间范围的小featuremap,其中H和W是超参数 它们独立于任何特定的Roi。

例如:VGG16 的第一个 FC 层的输入是7x7x512,其中 512 表示 feature map 的层数。在经过pooling 操作后,其特征输出维度满足 HxW。假设输出的结果与FC层要求大小不一致,对原本 maxoooling 的单位网格进行调整,使得 pooling 的每个网格大小动态调整为 h/H,w/W,最终得到的特征维度都是 HxWxD。

它要求 Pooling 后的特征为7x7x512,如果碰巧 ROI区域只有6x6大小怎么办?每个网格的大小取6/7=0.85,6/7=0.85,以长宽为例,按照这样的间隔取网格:[0,0.85,1.7,2.55,3.4,4.25,5.1,5.95],取整后,每个网格对应的起始坐标为:[0,1,2,3,3,4,5]

为什么要设计单个尺度呢?这要涉及到single scale与multi scale两者的优缺点

single scale,直接将image定为某种scale,直接输入网络来训练即可。(Fast R-CNN)multi scal,也就是要生成一个金字塔,然后对于obiect,在金字塔上找到一个大小比较接近227的投影版本,后者比前者更加准确些,没有突更多,但是第一种时间要省很多,所以实际采用的是第一个策略,因R-CNN要比SPPNet快很多也是因为这里的原因。

3. End-to-End model

从输入端到输出端直接用一个神经网络相连,整体优化目标函数。

接着我们来看为什么后面的整个网络能进行统一训练?

特征提取CNN的训练和SVM分类器的训练在时间上是先后顺序,两者的训练方式独立,因此SVM的训练Loss无法更新SPP-Layer之前的卷积层参数,去掉了SVM分类这一过程,所有特征都存储在内存中,不占用硬盘空间,形成了End-to-End模型(proposal除外,end-to-end在Faster-RCNN中得以完善)

  • 使用了softmax分类
  • Rol pooling能进行反向传播,SPP层不适合

4. 多任务损失

两个loss,分别是:

对于分类loss,是一个N+1路的softmax输出,其中的N是类别个数,1是背景,使用交叉熵损失

对于回归loss,是一个4xN路输出的regressor,也就是说对于每个类别都会训练一个单独的regressor的意思,使用平均绝对误差(MAE)损失即L1损失

5. 对比

6. 总结

相关推荐
向哆哆2 天前
高精度织物缺陷检测数据集(适用YOLO系列/1000+标注)(已标注+划分/可直接训练)
yolo·目标检测
有梦想的攻城狮3 天前
卷积神经网络(CNN)详解
人工智能·神经网络·cnn·卷积神经网络
码农三叔3 天前
(3-2-01)视觉感知:目标检测与分类
人工智能·目标检测·分类·机器人·人机交互·人形机器人
冰西瓜6003 天前
深度学习的数学原理(十三)—— CNN实战
人工智能·深度学习·cnn
沃达德软件3 天前
模糊图像复原技术解析
图像处理·人工智能·深度学习·目标检测·机器学习·计算机视觉·目标跟踪
智驱力人工智能3 天前
地铁隧道轨道障碍物实时检测方案 守护城市地下动脉的工程实践 轨道障碍物检测 高铁站区轨道障碍物AI预警 铁路轨道异物识别系统价格
人工智能·算法·yolo·目标检测·计算机视觉·边缘计算
智驱力人工智能3 天前
机场鸟类活动智能监测 守护航空安全的精准工程实践 飞鸟检测 机场鸟击预防AI预警系统方案 机场停机坪鸟类干扰实时监测机场航站楼鸟击预警
人工智能·opencv·算法·安全·yolo·目标检测·边缘计算
椒颜皮皮虾྅4 天前
OpenVINO C# API 中文README.md
人工智能·深度学习·目标检测·计算机视觉·c#·边缘计算·openvino
前端摸鱼匠4 天前
YOLOv8使用 Ultralytics 内置功能简化格式转换:介绍如何使用 yolo mode=data 等相关功能或辅助工具来加速和简化数据格式的准备工作
人工智能·yolo·目标检测·机器学习·目标跟踪·视觉检测
向哆哆4 天前
单车/共享单车目标检测数据集(适用YOLO系列)(已标注+划分/可直接训练)
人工智能·yolo·目标检测