• 神经网络(十七)RCNN及其变体的概述


    一、RCNN算法

            RCNN的实质是在图像输入CNN之前将其划分为数个特征区域。传统的方法有滑窗法Selective Search(选择搜索)

            Selective Search首先会通过sub-分割将图片分为多个区域;然后基于颜色、结构、尺寸、形状等信息将相似的区域聚合。一般会生成大于20k个region proposal(候选区域)

                                    ​​​​​​​        

             1.基本结构

                    标准RCNN算法由以下四个结构组成

    选择搜索生成候选区域,再由warp缩放为固定尺寸
    特征提取CNN提取4096维特征(一般使用AlexNet)
    类别分类使用SVM对4096维特征进行分类,得到2000x20的矩阵
    位置修正使用线性回归器修正分类区域,生成一个更精确的边界框

             2.优缺点

                    优点:①精度相对较高        ②将CNN引入目标检测

                    缺点:①训练步骤繁琐(需要同时训练CNN网络,SVM分类器和线性回归器)

                               ②候选区域会产生大量特征文件,占用资源,降低运算速度

                               ③CNN提取特征的速度较慢

                               ④最后使用SVM进行分类,无法实现end-to-end的训练

                               ⑤由于CNN中有全连接层,要求输入尺寸一致,需要对候选区域进行warp

    二、Fast RCNN

            相较于RCNN,Fast RCNN在以下几点取得了突破:

                    ①训练速度(9倍)和测试速度(200倍)大大提升

                    ②无需使用SVM分类器

            与RCNN相比,其结构主要有以下改变

                    ①使用softmax替代了SVM

                    ②引入了多任务函数边框回归(bbox regressor),除Selective Search阶段外实现了end-to-end

                    ③引入RoI Pooling(一层SPP),对输入图像没有了限制

            1.基本结构

                    Fast RCNN对整张图片仅需进行一次CNN,生成兴趣区域后再利用ROI池化对区域进行调整;相较于RCNN中需要对2k多候选区域都进行CNN计算快了很多倍。

    CNN使用CNN网络卷积后生成兴趣区域
    RoI池化确保这些兴趣区域尺寸一致
    完全连接神经网络

    进行分类(softmax),同时用线性回归层返回边框

             2.存在的不足

                    第一次卷积层在搜索兴趣区域时需要一个2秒左右的时间,速度较慢。

    三、Faster RCNN

            Faster RCNN使用Region Proposal网络(RPN)替代Fast RCNN中使用CNN进行兴趣区域检索的功能。RPN以图像特征映射(由卷积层生成作为输入,生成一系列object proposal,它们每一个都有对应的分数。

            1.基本结构

    卷积层生成图像的特征映射
    RPN网络生成object proposals及其分数
    RoI池化层修正object proposals为一致的尺寸
    全连接层进行分类(softmax),同时用线性回归层返回边框

             2.关于RPN网络

                    RPN在图像特征映射上使用一个滑动窗口,每个窗口均会生成不同形状、尺寸的k个anchor box

                    对于anchor box,PRN网络会预测其两点:

                            ①其就是目标物体的概率(小概率)

                            ②经过调整能更合适目标物体的边界框回归量

                    将这些边界框传入RoI,将每个proposal进行切割,使其都含有目标物体;最后,这些特征映射会传递到全连接层,对目标进行分类并预测边界框。

            3.存在的问题

                    网络并不是一次性浏览所有图像,而是关注图像的多个部分,所以会造成以下情况:

                            ①需要多个步骤才能提取到所有目标

                            ②由于可能出现多个嵌套,系统性能可能取决于前面步骤的表现水平。

  • 相关阅读:
    详细介绍BERT模型
    【Spring Boot】创建一个 Spring Boot 项目
    Linux常用命令
    http 请求 Cros 跨域问题记录(转)
    计算机毕业设计Java智能家电商城(系统+源码+mysql数据库+lw文档)
    解密网络世界的秘密——Wireshark Mac/Win中文版网络抓包工具
    c语言用json解析库(jansson)检测字符串是否是json格式的数据
    wget 下载盯盘文件
    mysql第四次作业
    【华为机试真题 JAVA】整型数组按个位值排序-100
  • 原文地址:https://blog.csdn.net/weixin_37878740/article/details/127426388