学习mask r_cnn的笔记

在这里插入图片描述
针对上图

1)Conv layers使用的是VGG16,feat_stride=32(即表示,经过网络层后图片缩小为原图的1/32),原图800800,最后一层特征图feature map大小:2525

2)假定原图中有一region proposal,大小为665665,这样,映射到特征图中的大小:665/32=20.78,即20.7820.78,如果你看过Caffe的Roi Pooling的C++源码,在计算的时候会进行取整操作,于是,进行所谓的第一次量化,即映射的特征图大小为20*20

3)假定pooled_w=7,pooled_h=7,即pooling后固定成77大小的特征图,所以,将上面在 feature map上映射的2020的 region proposal划分成49个同等大小的小区域,每个小区域的大小20/7=2.86,即2.862.86,此时,进行第二次量化,故小区域大小变成22

4)每个22的小区域里,取出其中最大的像素值,作为这一个区域的‘代表’,这样,49个小区域就输出49个像素值,组成77大小的feature map

总结,所以,通过上面可以看出,经过两次量化,即将浮点数取整,原本在特征图上映射的2020大小的region proposal,偏差成大小为1414的,这样的像素偏差势必会对后层的回归定位产生影响

所以,产生了替代方案,RoiAlign
在这里插入图片描述
同样,针对上图,有着类似的映射

1)Conv layers使用的是VGG16,feat_stride=32(即表示,经过网络层后图片缩小为原图的1/32),原图800800,最后一层特征图feature map大小:2525

2)假定原图中有一region proposal,大小为665665,这样,映射到特征图中的大小:665/32=20.78,即20.7820.78,此时,没有像RoiPooling那样就行取整操作,保留浮点数

3)假定pooled_w=7,pooled_h=7,即pooling后固定成77大小的特征图,所以,将在 feature map上映射的20.7820.78的region proposal 划分成49个同等大小的小区域,每个小区域的大小20.78/7=2.97,即2.97*2.97

4)假定采样点数为4,即表示,对于每个2.97*2.97的小区域,平分四份,每一份取其中心点位置,而中心点位置的像素,采用双线性插值法(下面介绍)进行计算,这样,就会得到四个点的像素值,如下图

上图中,四个红色叉叉‘×’的像素值是通过双线性插值算法计算得到的

最后,取四个像素值中最大值作为这个小区域(即:2.972.97大小的区域)的像素值,如此类推,同样是49个小区域得到49个像素值,组成77大小的feature map。

上面说到双线性插值法,那么什么是双线性插值法呢?

二、双线性插值法(图像插值法)
2.1、为什么要用双线性插值法
在图像的放大和缩小的过程中,需要计算新图像像素点在原图的位置,如果计算的位置不是整数,就需要用到图像的内插,我们需要寻找在原图中最近得像素点赋值给新的像素点,这种方法很简单是最近邻插法,这种方法好理解、简单,但是不实用,会产生是真现象,产生棋盘格效应,更实用的方法就是双线性插值法。

2.2、一维线性插值

在这里插入图片描述
在这里插入图片描述
2.3、双线性插值法的推导过程
双线性插值是做了二次一维的线性插值,我们用四个最近邻估计给定的灰度。我们新图像的像素点对应输入图像的(u0 , v0)(u0,v0不是整数),则其必定落在原始图像四个像素点中间。四个像素点分别是(u’ , v’ )、(u’ , v’ +1)、(u’+1 , v’ )、(u’ +1, v’+1 )。如下图1所示:
在这里插入图片描述
图一图二
在这里插入图片描述
图三图四

如图2所示:在红色平面内,在红色平面内,只有u’ 是变量,v’ 是常值,连线 g(u’ , v’ )、 g(u’+1 , v’ ),相当于做一次一维线性插值,求出 g(u0, v’ )的值。同理,如图3中,在蓝色的平面内我们可以再做一次一维线性插值,求出g(u0, v’ +1)的值。同理如图4,在黑色的平面内,我们可以求出(u0, v0)对应的值g(u0, v0)的值。(双线性插值就是分别在 u、v方向上做线性插值)数学推导过程如下:
rpn的理解https://blog.csdn.net/lanran2/article/details/54376126
在这里插入图片描述
RPN是一个 卷积层(256维) + relu + 左右两个层的(clc layer 和 reg layer)的小网络
应用在滑动窗口区域上的 , 所有的滑动窗口共享这个 RPN
这个卷积层 对比 普通的卷积层
1,它是一个将 n x n x channels的输入 通过256个 n x n 大小的卷积核 生成 1 * 1 * 256的feature map,即最后是256维的特征(假设前面得到的特征图是w x h x channels,那么n x n x channels的输入是在这个w x h x channels的特征图上的用滑动窗口框出的区域, 这个滑动窗口就是卷积核, 比如3x3的卷积核, stride=1)
2,它的输入就是滑动窗口nxn对应的特征图区域,经过它卷积后 特征图变成1 x 1了
3,由于此时输出的是 1 * 1 *256,所有cls layer 和reg layer是用 1 x 1的卷积核进行进一步的特征提取,
这里1 x 1卷积核卷积时,对各个通道都有不同的参数,因为输入又是1 x 1的图片,所以相当于全连接的功能,相当于把 1 * 1 * 256展平成 256,然后进行全连接a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mask_r_cnn_r50_fpn_3x和mask_r_cnn_r50_fpn_1x是两种不同的模型配置。其中,3x和1x表示模型的训练时长,分别对应训练3个epoch和1个epoch。这两个模型都是基于ResNet-50和FPN的Mask R-CNN模型,用于目标检测和实例分割任务。 如果你想使用mask_r_cnn_r50_fpn_3x模型进行训练,你可以使用以下命令: ``` !python /home/jyt/mmdetection/tools/train.py /home/jyt/mmdetection/configs/mask_rcnn/mask_rcnn_r50_fpn_3x_coco.py --work-dir /500/checkpoints/ ``` 其中,`/home/jyt/mmdetection/configs/mask_rcnn/mask_rcnn_r50_fpn_3x_coco.py`是mask_r_cnn_r50_fpn_3x模型的配置文件路径,`/500/checkpoints/`是模型保存的路径。 如果你想使用mask_r_cnn_r50_fpn_1x模型进行训练,你可以使用以下命令: ``` !python /home/jyt/mmdetection/tools/train.py /home/jyt/mmdetection/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py --work-dir /500/checkpoints/ ``` 其中,`/home/jyt/mmdetection/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py`是mask_r_cnn_r50_fpn_1x模型的配置文件路径,`/500/checkpoints/`是模型保存的路径。 请根据你的需求选择适合的模型进行训练。 #### 引用[.reference_title] - *1* *2* *3* [【Ubuntu机器学习实战】MMdetection训练自己的数据集并预测(使用mask_rcnn_r50_fpn_1x_coco完美走个流程)](https://blog.csdn.net/weixin_44227405/article/details/126181170)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值