• Faster RCNN基本结构和各部分原理详解


    一、网络总体结构

            总体结构如图:

            可分为以下四个模块↓

    名称

    作用

    卷积层(conv)

    提取feature maps

    区域候选网络(RPN)

    • 分类:对预设的anchor进行二分类
    • Bounding box regression-修正较为准确的proposals

    兴趣域池化(RoI Pooling)

    收集PRN生成的proposals,并从feature maps中抠出对应的位置

    分类和回归(Classification & Regression)

    利用proposals feature maps计算具体类别,在使用bounding box regression获得检测框的精确位置

     二、分层详解

            ①卷积层

                    卷积层可以基于VGG或ResNet50,本文基于ResNet50构造卷积层。

                    卷积层合计13个Conv,13个ReLu,4个Pooling。

                            其中Conv的属性为:kernel_size=3, padding=1, stride=1

                                    Pooling的属性为:kernel_size=2, padding=0, stride=2

                            Tips:卷积&池化公式

                                    

                                    

                     其被组织成两个模组:Conv BlockIdentity Block

                              

                             这两个模块的区别是:Conv Block的残差边有卷积,而Identity Block的残差边上没有卷积。拥有卷积边的Conv Block可以通过改变残差边来改变输出维度,而Identity Block的输入和输出维度是一致的。                       

                                    其中使用Conv Block的会将图片的长宽/2(步长=2)

                                    使用Identity Block的不会改变图片尺寸

                            作用:Conv Block用于改变网络维度,Identity Block用于串联以及加深网络深度。

                    一张MxN的图像经过卷积层后生成的feature map 为(M/16)x(N/16)

             ②RPN

            分为两个部分,

                    上面的线路通过softmax分类anchors获得正负两类(positive&negtive)

                    下面的线路通过reg layer计算anchors的bounding box regression偏移量获取proposal

                    两者在Proposal层汇合,本层负责将positive anchors和对应bounding box regression偏移量获取修正后的proposals(会剔除过小/超出边界的proposals)

                    其实执行到此处相当于完成了目标定位

            ②-1Cls layer-anchors

                    PRN的输入feature map为(M/16)x(N/16),在其上对每个像素点设置n个anchor(原作为9个)。这些anchor按照一定长宽比设置大小(原作为ratio[1:1,1:2,2:1])。

                    原图上的anchor的数量为(M/16)x(N/16)xn。但大部分会淘汰;此通道数为18=2x9->9对应着每个像素点上的九个先验框,2用于判断先验框是否包含物体。

            ②-3:reg layer

                    (M/16)x(N/16)x256的features通过一个1x1的kernel输出一组(M/16)x(N/16)x4k,为每个anchor的偏移量(此处输出的仅为偏移量,需要和原坐标进行叠加),通道数为9x2x4,4为先验框对于建议框的调整量。

            4k是应为其偏移量有四个通道,如下

            [tx,ty,tw,th],[xa,ya,wa,ha]为anchor的中心坐标和宽高,其计算公式如下

            ​​​​​​​        ​​​​​​​                         

            ​​​​​​​        ​​​​​​​                            

            经过修正(p为原始坐标,d为PRN预测的坐标),anchor的坐标为

                                         

                                     )

             ②-4:Proposal

                  合计共三个输入

                         Cls生成的(M/16)x(N/16)x2k的向量

                         Reg生成的(M/16)x(N/16)x2k的向量

                         Im_info=[M,N,scale_factor]

                  其作用如下:

                     (1)利用reg层的偏移量,对所有的原始anchor进行修正

                    (2)利用cls层的scores,按positive socres由大到小排列所有anchors,取前topN(比如6000个)个anchors

                    (3)边界处理,把超出图像边界的positive anchor超出的部分收拢到图像边界处,防止后续RoI pooling时proposals超出边界。

                    (4)剔除尺寸非常小的positive anchor

                    (5)对剩余的positive anchors进行NMS(非极大抑制)

                    (6)最后输出一堆proposals左上角和右下角坐标值([x1,y1,x2,y2]对应原图MxN尺度)

            ③RoI pooling

                    全连接层输入的feature尺寸必须相同,传统的做法一般是裁剪(crop)或

            缩放(wrap),虽然可以resize图像,但是会出现信息缺失/破坏原始形状信息的问题。

                    RoI pooling的原理

                           将每个proposal对应的feature map区域分为pooled_w x pooled_h的网格

                           对每个部分做max pooling,使每个proposal输出都是pooled_w x pooled_h

             ④Classification

                   其与RPN的区别是RPN仅进行二分类(目标/背景),而classification还需要确定具体属于哪一类。

                   其主要功能有:

                          ①通过全连接层和softmax对proposals进行分类(多分类)

                          ②在此对proposals进行bunding box regression,获取更高精度的box

  • 相关阅读:
    太极限了,JDK的这个BUG都能被我踩到
    MinIO实战
    Zookeeper - 本地安装与参数配置
    Java项目源码SSM农场信息管理系统
    【C++】​——多态性与模板(其一)
    java面向对象之封装-抽象-继承-组合-多态五种概念一网打尽
    文件列表创建工具 Nifty File Lists mac中文版功能特色
    JavaWeb--06Vue组件库Element
    RediSearch - 将搜索功能引入Redis的强大工具
    RabbitMQ 之 死信队列
  • 原文地址:https://blog.csdn.net/weixin_37878740/article/details/127792590