目标检测基础知识(2)--R-CNN

目标检测基础知识(2)–R-CNN

    本文是目标检测基础知识相关的第2次学习记录,主要记录R-CNN算法相关的知识。

0.参考博客

  1. 干货 | 目标检测入门,看这篇就够了(已更完)
  2. 【目标检测系列】经典论文回顾
  3. 深度学习检测小目标常用方法
  4. OverFeat 详解
  5. (一)目标检测-R-CNN模型

1.背景

    对于存在多个目标的检测问题,不能确定图片中具体有多少个物体,所以不能设置一个超参数来限定每次输出多少个物体以及物体的位置信息,所以提出了一种目标检测的Overfeat模型。

2.滑动窗口

    通过设置滑动窗口模型,用窗口从左到右,从上到下,对原始图像进行遍历,并对每个窗口中的图像类别进行判定,是否属于某种类别,通过这种方式,将图像中的目标检测问题转化成了图像的分类问题。使用滑动窗口的步骤表述为:

  1. 首先定义若干个窗口的大小,为K个;
  2. K个窗口分别对图像进行滑动遍历,每个窗口需要在图片上滑动M次;
  3. 一幅图需要滑动K×M次。

    滑动窗口是一种采用暴力破解的方法,计算代价较大。

3.R-CNN模型

    2014年的CVPR会议中提出,论文链接:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation,可参照博文:目标检测R-CNN模型。不适用暴力方法,而是采用候选区域方法(region proposal model),实现20个类别的物体分类。

    R-CNN模型的实现步骤(以AlexNet网络为基准):

  1. 对于一张图片,找出默认2000个候选区域;
  2. 2000个候选区域做大小变换,输入AlexNet当中,得到特征向量,大小为2000×4096;
  3. 经过20个类别的SVM分类器,对于2000个候选区域做判断,得到一个[2000,20]的得分矩阵;
  4. 对于2000个候选区域做NMS(非极大值抑制),去处不好的、重叠度较高的一些候选区域,得到剩下的分数高的、结果好的区域。
  5. 修正候选框,做bbox的回归微调。

4.候选区域选择

    候选区域也可以成为是感兴趣区(Region of Interest, ROI),通过选择性搜索(selective search)的方法在一张图片上提取出来约2000个候选区域,由于候选区域的长宽各不相同,不能直接输入到AlexNet中,所以要对2000个候选区做大小变换,将候选区大小都调整成为227×227的尺寸。
    R-CNN选用SVM进行二分类,假设检测20个类别,那么会提供20个不同类别的SVM分类器,每个分类器都会对2000个候选区域的特征向量分别判断一次,这样得出[2000,20]的得分矩阵。

5.非极大值抑制(NMS)

    NMS目的:筛选候选区域,目标是一个物体只保留一个最优的框,来抑制那些冗余的候选框。
    RCNN预测2000个候选框,得到3个(比如有3个ground truth)比较准确的候选框。
    非极大值抑制的过程:

  1. 对于所有的2000个候选区域得分进行概率筛选;
  2. 然后对剩余的候选框,每个类别进行IoU(交并比)>= 0.5 筛选;
  3. 假设现在滑动窗口有:A、B、C、D、E 5个候选框,
  4. 第一轮:假设B是得分最高的,与B的IoU>0.5删除。现在与B计算IoU,DE结果>0.5,剔除DE,B作为一个预测结果;
  5. 第二轮:AC中,A的得分最高,与A计算IoU,C的结果>0.5,剔除C,A作为一个结果;
  6. 最终结果为在这个5个中检测出了两个目标为A和B。
    在这里插入图片描述

6.修正候选区域(边框回归)

    通过非最大抑制筛选出来的候选框不一定就非常准确怎么办?R-CNN提供了这样的方法,建立一个bbox regressor回归用于修正筛选后的候选区域,使之回归于ground-truth,默认认为这两个框之间是线性关系,因为在最后筛选出来的候选区域和ground-truth很接近了,使用边框回归的方法进行修正的过程可以表示为下图(线性回归):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.目标检测评估指标

    对目标检测的评估指标主要有2个,分别是IOU(Intersection over Union, 交并比)和平均精确率(mean average precision, map)。

  1. IOU交并比:计算公式为IOU = (Area of Overlap)/(Area of Union) ,并且IOU的取值范围在0~1。
  2. 平均精确率:是物体分类准确度的考量标准,定义为多个分类任务的AP的平均值,计算方法为:map=所有类别的AP之和/类别的总个数,以20个类别的检测为例,map=(AP1+AP2+AP3+…+AP20)/20,对于每个类别计算其AP值。

8.R-CNN过程总结

    对整个R-CNN过程进行总结如下:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值