R-CNN 模型简介



  • R - CNN 简介

    大致流程

    1. 输入图像

    2. Region proposal

      利用选择性搜索Selective Search算法在图像中从下到上提取2000个左右的可能包含物体的候选区域Region Proposal

    3. 因为取出的区域大小各自不同,所以需要将每个Region Proposal缩放(warp)成统一的227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征

    4. 将每个Region Proposal提取到的CNN特征输入到SVM进行分类

    具体步骤

    训练分类模型

    训练或下载一个分类模型(如AlexNet)

    0_1551961665832_1.jpg

    对该模型做fine-tuning

    • 将分类数从1000改为21,比如一个背景+20个物体类别
    • 去掉最后一个全连接层

    0_1551961708928_2.jpg

    特征提取

    • 提取图像的所有候选框
      • 选择性搜索Selective search
      • 还有其他方法比如 Edge Boxes
    • 对于每一个区域:修正区域大小以适合CNN的输入,做一次前向运算,将第五个池化层的输出(就是对候选框提取到的特征)存到硬盘

    0_1551961725708_3.jpg

    SVM分类器

    每个类别对应一个SVM,判断是不是属于这个类别,是就是positive,反之nagative。

    比如下图,就是狗分类的SVM

    0_1551961736332_4.jpg

    回归器

    使用回归器精细修正候选框位置:对于每一个类,训练一个线性回归模型去判定这个框是否框得完美

    0_1551961745216_5.jpg

    参考自文章


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待