目标检测——Faster RCNN系列算法原理介绍

一、Faster RCNN介绍

        ➢Ross B. Girshick大神在201 6年提出
        ➢目标检测任务
                给定图片中精确定位物体位置 ,预测物体的类别
                尺度变化、 视角变化、姿态变化、场景不确定、多个类别
                RCNN->SPPNet-> Fast- :RCNN-> Faster- RCNN升级 

传统目标检测方法流程:

1.1 RCNN网络:

        ➢RBG 2014年提出
        ➢深度特征

目标检测——Faster RCNN系列算法原理介绍_第1张图片

RCNN步骤:
        ➢步骤一:训练分类网络(AlexNet)
        ➢步骤二:模型做fine-tuning
                类别1000改为20
                去掉FC
        ➢步骤三:特征提取
                提取候选框(选择性搜索)
                对于每一一个区域: 修正区域为CNN的输入,利用网络对候选框提取到特征
 提取候选框(选择性搜索步骤)
        ➢step0:生成区域集R,具体参见论文《Efficient Graph-Based Image Segmentation》
        ➢step1:计算区域集R里每个相邻区域的相似度S={s1,2...}
        ➢step2:找出相似度最高的两个区域,将其合并为新集,添加进R .
        ➢step3:从S中移除所有与step2中有关的子集
        ➢step4:计算新集与所有子集的相似度
        ➢step5:跳至step2,直至S为空

        ➢步骤四:训练SVM分类器:每个类别对应一一个SVM
        ➢步骤五:回归器精修候选框位置:利用线性回归模型判定框的准确度

目标检测——Faster RCNN系列算法原理介绍_第2张图片

 ●RCNN缺点:
        ➢候选框选择算法耗时严重
        ➢重叠区域特征重复计算
        ➢分步骤进行,过程繁琐

1.2 SPPNet介绍

        ➢Spatial Pyramid Pooling
        ➢空间金字塔池化

                CNN不同尺度输入
                仅对原图提取一次卷积特征

目标检测——Faster RCNN系列算法原理介绍_第3张图片

ssp:

目标检测——Faster RCNN系列算法原理介绍_第4张图片

 1.3 Fast RNN介绍

        ➢结合SPPNet改进RCNN
                ROI Pooling:单层SPPNet
        ➢多任务网络同时解决分类和位置回归
                共享卷积特征
        ➢为Faster RCNN的提出打下基础,提供了可能

 Fast RNN网络结构:

目标检测——Faster RCNN系列算法原理介绍_第5张图片

 ROI Pooling:
        ROI Pooling是pooling层的一种,为了将proposal抠出来的过程,然后resize到统一 的大小。
        操作如下:
                1、根据输入的image,将Roi映射到feature map对应的位置
                2、将映射后的区域划分为相同大小的sections (sections数量和输出的维度相同)
                3、对每个section进行max pooling操作

Fast RNN网络性能提升:

目标检测——Faster RCNN系列算法原理介绍_第6张图片

 Fast RNN网络缺点:
        ➢存在瓶颈: 选择性搜索,找出所有的候选框十分耗时
        ➢那我们能不能找出 个更加高效的方法来求出这些候选框呢?
                Region Proposal Network (RPN)网络

Region Proposal Network (RPN)
        端到端的检测

目标检测——Faster RCNN系列算法原理介绍_第7张图片

 Faster RNN网络结构:
        ➢主干网络: 13con+ 13relu+ 4pooling
        ➢RPN: 3x3+ 背景前景区分+初步定位
        ➢ROIPooling
        ➢分类+位置精确定位

目标检测——Faster RCNN系列算法原理介绍_第8张图片

 1.4 RPN网络

        ➢Anchor
        ➢前景背景分类+框位置的回归
                粗定位.
                粗分类

目标检测——Faster RCNN系列算法原理介绍_第9张图片

 找到候选区候,针对每个候选区来估计每个候选区的类别和坐标:

        ➢Anchor
        ➢三个面积尺寸(128, 256,512)
        ➢在每个面积尺寸下,取三种不同的长宽比例(1:1,1:2,2:1)

目标检测——Faster RCNN系列算法原理介绍_第10张图片

 Faster RCNN性能对比

目标检测——Faster RCNN系列算法原理介绍_第11张图片

 Faster RCNN算法改进
        ➢更好的网络特征
        ➢更精准的RPN
        ➢更完善的ROI分类
        ➢样本后处理
        ➢更大的mini-Batch

目标检测——Faster RCNN系列算法原理介绍_第12张图片

 二、改进算法

2.1 HyperNet

        ➢HyperNet是201 6年清华提出的优秀的Faster-RCNN变种

目标检测——Faster RCNN系列算法原理介绍_第13张图片

 2.2 RFCN

        ➢代季峰,何恺明,孙剑
        ➢Body+Head
        ➢base的VGG1 6换成了ResNet
        ➢通过position sensitive score map把目标的位置信息融合进ROI pooling
        ➢耗时的卷积都尽量移到前面共享的subnetwork上

目标检测——Faster RCNN系列算法原理介绍_第14张图片

 RFCN性能对比:目标检测——Faster RCNN系列算法原理介绍_第15张图片

 2.3 Light-Head RCNN

        ➢旷视和清华大学在COCO,2017比赛拿到冠军
        ➢Body+Head
        ➢通过对head部分的修改减少了较多计算量

目标检测——Faster RCNN系列算法原理介绍_第16张图片

Light-Head RCNN VS Faster RCNN:
        ➢在精度上, Faster RCNN为了减少全连接层的计算量,使用了global average pool,这会导致在一定程度上丢失位置信息;
        ➢在速度上, Faster RCNN的每一个ROI都要通过R-CNN subnet做计算,这必将引起计算量过大,导致检测速度慢。
 

Light-Head RCNN核心结构
        ➢thinner feature map: score map维度变成了10*p*p=490
        ➢借鉴了Inception V3的思想,将k*k的卷积转化为1*k和k*1
        ➢R-CNN subnet部分使用channel为2048的fc层来改变前一-层的feature map的通道数,最后通过两个fc实现分类和回归。

目标检测——Faster RCNN系列算法原理介绍_第17张图片

 Light-Head RCNN效果对比:   COCO数据集
目标检测——Faster RCNN系列算法原理介绍_第18张图片

目标检测——Faster RCNN系列算法原理介绍_第19张图片

2.4 Mask- RCNN

        主要强调通过多个任务来提高目标检测的效果,  Mask- RCNN不仅包括了目标检测分类和bounding boxe任务之外,还包括了一个分割的任务。总而言之,Mask- RCNN综合考虑了多个任务,通过这种方式去提高深度学习目标检测的整体效果。

目标检测——Faster RCNN系列算法原理介绍_第20张图片

2.5 Cascade RCNN:

        ➢只有proposal自身的阈值和训练器训练用的阈值较为接近的时候,训练器的性能才最好
目标检测——Faster RCNN系列算法原理介绍_第21张图片

2.6 CoupleNet

        ➢中科院nlpr实验室 ICCV2017
        ➢R-FCN可以看成是对一个proposal, 用- -些position-sensitive的weak classifier去做检测,然后把这些classifier的检测结果ensemble起来(position-sensitive Rol pooling) 
        ➢这种方法没有考虑到region proposal的global的信息和context的信息。

CoupleNet网络结构:
目标检测——Faster RCNN系列算法原理介绍_第22张图片

 在Faster RCNN后续的改进算法中经常用到的两种策略:

OHEM(在线难例挖掘)        
        ➢根据输入样本的损失进行筛选,筛选出hard example,表示对分类和检测影响较大的样本,然后将筛选得到的这些样本应用在随机梯度下降中训练。
        ➢两个: ROI Network完成Soft- NMS
        ➢I0U小于阈值的Bbox, 降低阈值

Faster RCNN系列算法应用场景
        ●人脸检测与识别任务
        ●ADAS场景目标检测与识别(车、行人、非机动车)
        ●通用物体检测与识别
        ●自然场景下文本检测与识别等等

你可能感兴趣的:(目标检测,算法,目标检测,算法,深度学习)