当前位置: 代码迷 >> 综合 >> Faster rcnn理论
  详细解决方案

Faster rcnn理论

热度:76   发布时间:2023-11-20 04:19:05.0

网络介绍

Faster R-CNN详解
在这里插入图片描述

在这里插入图片描述

  • 卷积层:提取特征

  • RPN(region proposal network):生成候选区域,替换了之前的search selective.
    在这里插入图片描述

  • ROI Pooling:输入特征提取的map和PRN的proposals
    在这里插入图片描述

  • 分类和回归
    在这里插入图片描述

  • 超详细解读Faster R-CNN-FPN
    添加链接描述
    在这里插入图片描述

捋一捋pytorch官方FasterRCNN代码
在这里插入图片描述
目标检测——Faster R-CNN 详解、Pytorch搭建、训练自己的数据集
在这里插入图片描述

  • List item
    链接汇总
    【目标检测算法】Faster RCNN学习笔记
    可参考该博主的其他博客
    在这里插入图片描述

一文整理Faster R-CNN容易混淆的三次anchor筛选机制(creator)

  • List item
    fasterrcnn中ROI Pooling 与 SPP 理解 在这里插入图片描述

bilibili

哔哩哔哩
睿智的目标检测27——Pytorch搭建Faster R-CNN目标检测平台
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 首先将短边resize到600,长款比不变,图像不会失真 M*N

  • 在这里插入图片描述

  • 共享特征层38381024,相当于把输入的图片划分为38*38个网格,每个网格有9个先验框

  • 两个1*1的卷积的预测结果 判断先验框内是否包含物体

  • 对先验框进行调整,为建议框

  • 9*2(判断先验框是否包含物体,2是背景和物体概率)

  • 9*4(4,先验框的调整参数,4个参数确定一个框,获得建议框)

  • 两次卷积之后获得建议框
    在这里插入图片描述

  • 建议框和共享特征层结合,传入ROIpooling,根据建议框对共享特征层进行截取

  • 建议框获得的大小不是一样的,截取的局部特征层大小不一样,ROIpooling对所有的局部特征层进行分区域的池化,获得的局部特征层大小一样

  • 对所有局部特征层进行分类预测和回归预测,回归预测的结果直接对我们的建议框进行调整,获得预测框

  • 分类预测的结果判断建议框内部是否包含物体,和种类,获得预测框和种类

  • 分类预测的结果建议框是否包含物体,回归预测的结果对建议框进行调整,获得预测框

在特征提取后,获得建议框的过程

1.获得建议框网络预测结果

在这里插入图片描述

RegionProposalNetwork()
在这里插入图片描述
在这里插入图片描述

2.anchor 先验框

generate_anchor_base():
在这里插入图片描述

anchor
获得网格中心,并和9个基础先验框进行组合,获得每个网格的9个先验框
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

feat_stride
原始图片上,每16个像素点会有一个网格

判断先验框是否有物体,并对先验框进行调整,得到建议框
建议框网络的是3838
每个点上的预测结果对应每一个网格,通道数是18(9
2)和36(9*4)

3.根据建议框网络的预测结果对先验框进行调整

建议框网络的结果:
在这里插入图片描述
建议框是物体进行一个初步的筛选
后面的分类对建议框判断是否有物体,并对建议框进行调整

建议框的结果包括两个:先验框的调整参数和得分(判断是否有物体)
在这里插入图片描述
ProposalCreator()
在这里插入图片描述

4.ROIpooling

在这里插入图片描述
将获取到的局部共享特征层分区域,对每个区域进行最大池化,得到2*2的特征图

ROIPool()
得到Faster rcnn14*14区域特征图
在这里插入图片描述

共享特征层(1,1024,38,38)–batch,channel,height,weight
rois建议框,300个
roi_indices-建议框序号,300个
在这里插入图片描述

将建议框对应到共享特征层上,再传入到ROIpooling,包括共享特征层
传入后的shape在这里插入图片描述
1414–ROIpooling将获取到的局部区域划分为1414的网格,对每个网格进行最大池化
即300个调整大小后的局部共享特征层
– ROIpooling的输出:300个同等大小的局部特征层
在这里插入图片描述

进一步对它们进行处理,判断是否包含物体,并进行调整

5.利用ROIpooling的输出进行分类预测和回归预测

–第五次的特征提取,进行分类预测和回归预测–都是针对Proposal建议框的
在这里插入图片描述

resnet101 分割为主干部分和classifier部分(对应原始resnet部分第五次压缩的部分-)

进行第五次压缩的处理–分类和回归
(fc7维度30020481*1,因为classider包含最大池化)
在这里插入图片描述

在这里插入图片描述

预测过程predict.py

在这里插入图片描述

归一化并调整维度
在这里插入图片描述
放入网络得到三个参数
在这里插入图片描述
对三个三个参数进程解码得到预测框

在这里插入图片描述
解码过程如下:

利用建议框的调整参数对建议框进行调整得到预测框
判断建议框内的物体和种类
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
调整过程:loc2bbox
在这里插入图片描述
种类选择
在这里插入图片描述

  相关解决方案