关于rcnn roi pooling层的讨论

目标检测群703346870昨天进行了激烈的讨论。聊天记录如下。个人的见解将在群中公布。

轻指谈笑红尘 2020/6/1 星期一 18:51:27
群主,我有个问题不是很明白,最开始的rcnn是在原图上选择性搜索得到roi ,然后对每个roi进行卷积得到目标位置,可是这样速度太慢。后来spp把roi映射到特征图上去,就避免了每一个roi都需要卷积,后来的两阶段目标检测一直保持这一做法,我不明白的是,特征图上的每一个值都是由原图所有像素点信息共同决定的,在特征图上进行roi感觉意义不大,yolo系列并没有这一步骤感觉结果也不差,后来有的fpn层感觉最大的意义也就是使用nms平衡一样正负样本,我个人感觉不需要roi也可,从这个角度理解,感觉两阶段有点多余,不知道你怎么看?如果理解有误,请多多指教

スクルージ 2020/6/1 星期一 19:03:12
轻指谈笑红尘 群主,我有个问题不是很明白,最开始的rcnn是在原图上选择性搜索得到roi ,然后对每个roi进行卷积得到目标位置,可是这样速度太慢。后来spp把roi映射到特征图上去,就避免了每一个roi都需要卷积,后来的两阶段目标检测一直保持这一做法,我不明白的是,特征图上的每一个值都是由原图所有像素点信息共同决定的,在特征图上进行roi感觉意义不大,yolo系列并没有这一步骤感觉结果也不差,后来有的fpn层感觉最大的意义也就是使用nms平衡一样正负样本,我个人感觉不需要roi也可,从这个角度理解,感觉两阶段有点多余,不知道你怎么看?如果理解有误,请多多指教
@轻指谈笑红尘 首先FPN这个我感觉和你不太一样

スクルージ 2020/6/1 星期一 19:03:27
FPN我是觉得是为了不同大小目标在同一场景都能被检测

スクルージ 2020/6/1 星期一 19:03:43
比如说你RPN的锚框如果太大 目标小 IoU就会太小

スクルージ 2020/6/1 星期一 19:04:06
反过来RPN锚框小了目标大IoU也会变小

スクルージ 2020/6/1 星期一 19:04:23
FPN是为了配合锚框去适应不同大小目标来整的

スクルージ 2020/6/1 星期一 19:05:04
第二代用ROI池化个人觉得就是加速 还有就是目标之间的相对位置信息

スクルージ 2020/6/1 星期一 19:05:14
不过我也是业余的 抛砖引玉

スクルージ 2020/6/1 星期一 19:05:18


スクルージ 2020/6/1 星期一 19:06:20
[ 群聊的聊天记录 ]

轻指谈笑红尘 2020/6/1 星期一 19:06:47
我写的时候笔误

轻指谈笑红尘 2020/6/1 星期一 19:07:01
rpn,不是fpn

轻指谈笑红尘 2020/6/1 星期一 19:07:11
区域提议网络

轻指谈笑红尘 2020/6/1 星期一 19:07:39
fpn当然是用来处理多尺度的,这点没什么问题

轻指谈笑红尘 2020/6/1 星期一 19:08:18
感觉rpn意义不大

スクルージ 2020/6/1 星期一 19:08:30
RPN的意义是代替SS

スクルージ 2020/6/1 星期一 19:08:33
你说的没错

スクルージ 2020/6/1 星期一 19:08:41
我最近复现也是一开始跳过RPN

スクルージ 2020/6/1 星期一 19:08:45
全程都用SS

スクルージ 2020/6/1 星期一 19:09:07
RPN个人认为意义是可以针对同一类图给出针对性的ROI

轻指谈笑红尘 2020/6/1 星期一 19:09:11
但是我觉得roi意义也不大

スクルージ 2020/6/1 星期一 19:09:16
SS毕竟是无监督的

スクルージ 2020/6/1 星期一 19:09:19
针对性不强

スクルージ 2020/6/1 星期一 19:09:40
而且我做过对比 SS差不多300个ROI有50个正样本

スクルージ 2020/6/1 星期一 19:09:55
RPN经过训练 正样本的浓度会高很多

スクルージ 2020/6/1 星期一 19:10:16
而二段式前向预测是循环对ROI切出来的小图做分类

轻指谈笑红尘 2020/6/1 星期一 19:10:26
对啊,所以我说rpn最大的意义可能就是平衡下正负样本

スクルージ 2020/6/1 星期一 19:10:37
如果你能循环更少次数得到更多正样本 那么实际应用时速度会更快

轻指谈笑红尘 2020/6/1 星期一 19:10:45
但是rpn最初是用来提roi的

スクルージ 2020/6/1 星期一 19:10:59
我是把这个当作升级版SS

スクルージ 2020/6/1 星期一 19:11:04


轻指谈笑红尘 2020/6/1 星期一 19:11:11
感觉roi在特征图上没啥意义呀

轻指谈笑红尘 2020/6/1 星期一 19:11:32
最初的rcnn roi在原图上

スクルージ 2020/6/1 星期一 19:11:33
提原图就要每个小图走一遍特征提取了

スクルージ 2020/6/1 星期一 19:11:35


スクルージ 2020/6/1 星期一 19:11:42
这样肯定慢

轻指谈笑红尘 2020/6/1 星期一 19:11:55
还可以说是去除背景,但是这样就比较有意义

轻指谈笑红尘 2020/6/1 星期一 19:12:02
roi 在特征图上

スクルージ 2020/6/1 星期一 19:12:03
是是是

スクルージ 2020/6/1 星期一 19:12:07
有这个好处

轻指谈笑红尘 2020/6/1 星期一 19:12:13
我知道快

スクルージ 2020/6/1 星期一 19:12:28
ROI池化是多个ROI一起训练的

スクルージ 2020/6/1 星期一 19:12:40
这样互相之间的关系也能学习到

轻指谈笑红尘 2020/6/1 星期一 19:13:46
但是我就是感觉特征图上的roi跟原图没什么关系了

スクルージ 2020/6/1 星期一 19:14:27


轻指谈笑红尘 2020/6/1 星期一 19:14:28
roi可不可以理解为认为这个图像中物体的信息都在这个区域内

スクルージ 2020/6/1 星期一 19:14:33


スクルージ 2020/6/1 星期一 19:14:41
特征图那块就是原图的那快

スクルージ 2020/6/1 星期一 19:14:43


スクルージ 2020/6/1 星期一 19:14:49
卷积有不变性

スクルージ 2020/6/1 星期一 19:15:23
https://www.cnblogs.com/Terrypython/p/11147490.html

轻指谈笑红尘 2020/6/1 星期一 19:15:27
卷积具有稀疏交互性

スクルージ 2020/6/1 星期一 19:15:50
这就不太清楚了。。。我是最近才开始的

轻指谈笑红尘 2020/6/1 星期一 19:15:56
特征图上那一块信息仍然是整个图共同决定

スクルージ 2020/6/1 星期一 19:16:01


スクルージ 2020/6/1 星期一 19:16:04
不是吧

スクルージ 2020/6/1 星期一 19:16:24
我记得MNIST范例的特征图看到的还是有对应轮廓

轻指谈笑红尘 2020/6/1 星期一 19:17:19
浅层的还好,深层的就不行了。3×3卷积核表明下一层的一个像素由上一层3个决定

轻指谈笑红尘 2020/6/1 星期一 19:17:30
像rcnn网络这么深

轻指谈笑红尘 2020/6/1 星期一 19:17:50
roi区域的信息照样由整张图决定

スクルージ 2020/6/1 星期一 19:17:57
是啊 ,所以用的ROI是归一化的

スクルージ 2020/6/1 星期一 19:18:01
你原图224*224

スクルージ 2020/6/1 星期一 19:18:05
卷积到2*2

スクルージ 2020/6/1 星期一 19:18:11
ROI是(112,112)

スクルージ 2020/6/1 星期一 19:18:17
对应(1,1)

スクルージ 2020/6/1 星期一 19:18:23
(0,0,112,112)

スクルージ 2020/6/1 星期一 19:18:31
对应到(0,0,1,1)

スクルージ 2020/6/1 星期一 19:19:00
你可以说最后特征层左上角的像素对应原图(0,0,112,112)区域的内容

轻指谈笑红尘 2020/6/1 星期一 19:19:35
感觉也只能这样理解了

轻指谈笑红尘 2020/6/1 星期一 19:19:53
虽然在特征图上提取roi区域

轻指谈笑红尘 2020/6/1 星期一 19:20:05
并不能像原图中那样去掉背景

轻指谈笑红尘 2020/6/1 星期一 19:20:34
但是特征图上这个roi毕竟包含原图那一部分所有信息

スクルージ 2020/6/1 星期一 19:20:39
我复现了ROI池化但是最后没用上

轻指谈笑红尘 2020/6/1 星期一 19:20:41
且速度更快

スクルージ 2020/6/1 星期一 19:20:49
因为不知道为啥会影响收敛结果

スクルージ 2020/6/1 星期一 19:20:55
所以我这里算是失败了

スクルージ 2020/6/1 星期一 19:21:04
我也不清楚实际的ROI池化有啥好处

轻指谈笑红尘 2020/6/1 星期一 19:21:34
一阶段实际就没有这个步骤

スクルージ 2020/6/1 星期一 19:21:47
是啊

轻指谈笑红尘 2020/6/1 星期一 19:21:56
但是毕竟是何凯明提出的,感觉也很少有人分析这个问题

スクルージ 2020/6/1 星期一 19:22:00
这个在RCNN系列是第二代才有的

fasterrcnn 2020/6/1 星期一 19:37:30
ROI不是归一化proposal的吗?

スクルージ 2020/6/1 星期一 19:37:43
???

スクルージ 2020/6/1 星期一 19:37:57
哦对了

スクルージ 2020/6/1 星期一 19:38:00
我的电脑不行

スクルージ 2020/6/1 星期一 19:38:05
跑不了ResNet

スクルージ 2020/6/1 星期一 19:38:13
一直都用VGG16作为骨干网络

fasterrcnn 2020/6/1 星期一 19:38:18
RPN出来的proposal尺寸不一啊

スクルージ 2020/6/1 星期一 19:38:21
所以里面高宽维度我都是固定的

スクルージ 2020/6/1 星期一 19:38:28
当然不一样

スクルージ 2020/6/1 星期一 19:38:33
???

スクルージ 2020/6/1 星期一 19:38:47
RPN实际不是直接给proposal

スクルージ 2020/6/1 星期一 19:38:59
它给的是正样本锚框的偏移量

fasterrcnn 2020/6/1 星期一 19:39:12
是啊

fasterrcnn撤回了一条消息

スクルージ 2020/6/1 星期一 19:39:25
我没理解归一化的意思

スクルージ 2020/6/1 星期一 19:39:29


fasterrcnn 2020/6/1 星期一 19:40:06
后面进行分类不是用的全连接?

スクルージ 2020/6/1 星期一 19:40:54


轻指谈笑红尘 2020/6/1 星期一 19:40:54
那个roi pooling 

スクルージ 2020/6/1 星期一 19:40:57
哦哦哦

スクルージ 2020/6/1 星期一 19:40:58
你是说

スクルージ 2020/6/1 星期一 19:41:01
定维

スクルージ 2020/6/1 星期一 19:41:02
是吗

スクルージ 2020/6/1 星期一 19:41:06
固定维度

スクルージ 2020/6/1 星期一 19:41:16
让不同ROI用固定的维度输出?

fasterrcnn 2020/6/1 星期一 19:41:21
把proposal变成7×7或者14×14

轻指谈笑红尘 2020/6/1 星期一 19:41:23
我们讨论的是roi 本身的意义

fasterrcnn 2020/6/1 星期一 19:41:23
还有其他的地方用了roi?

スクルージ 2020/6/1 星期一 19:41:36
ROI的意思是感兴趣的区域

スクルージ 2020/6/1 星期一 19:41:42
你可能指的是ROI池化

スクルージ 2020/6/1 星期一 19:41:47


fasterrcnn 2020/6/1 星期一 19:42:29
后面的也就这里用到了roi吧,还有其他用了?

スクルージ 2020/6/1 星期一 19:42:29
对了 有么有老哥复现了靠谱的ROI池化 TF能用的?

スクルージ 2020/6/1 星期一 19:42:47
fasterrcnn
@fasterrcnn 你说用到是指那个ROI池化还是这个坐标

スクルージ 2020/6/1 星期一 19:43:04
如果没记错 完整版的最后边框还回归了一次

スクルージ 2020/6/1 星期一 19:43:12
我反正是没写这个

スクルージ 2020/6/1 星期一 19:43:19
我连NMS都没写

スクルージ 2020/6/1 星期一 19:43:24


fasterrcnn 2020/6/1 星期一 19:43:28
额,我回去看看

スクルージ 2020/6/1 星期一 19:43:51
我思路比较简单,RPN辛辛苦苦算出来的ROI,你还要改?

スクルージ 2020/6/1 星期一 19:43:56


スクルージ 2020/6/1 星期一 19:44:33
最近我搞了一个RPN+FPN的玩意

fasterrcnn 2020/6/1 星期一 19:44:36
对呀,我就记得RPN出来的就是了

スクルージ 2020/6/1 星期一 19:44:45


スクルージ 2020/6/1 星期一 19:44:51
这玩意我正愁怎么训练

fasterrcnn 2020/6/1 星期一 19:45:03
后面就是计算矫正了

スクルージ 2020/6/1 星期一 19:45:19
按道理三个输出都有对应的anchors和dxdydwdh

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

andeyeluguo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值