Refinedet 网络解析

refinedet 论文笔记:
https://www.jianshu.com/p/5504f4188d52

       纸上学来终觉浅,继上次读完Refinedet论文后,理论上理解了其中的原理,后面主要花了些功夫阅读了源码,理解整个网络的数据流程。


image.png

       照例先上论文中的架构图,在此我对里面做了一些标注


image.png

上面是ARM里4个特征图的Size,左边为320x320,右边为512x512的原图像输入

网络改动的地方,是在VGG16的"pool5"之后,添加了conv fc6,conv fc7,conv6_1以及conv6_2,还有ODM的[P6, P5, P4, P3], 其中

ARM部分

--conv fc6

通过在"pool5"上做了atrous convolution,kernel_size = 3x3,stride = 3 , channel = 1024,其中stride=3指在map上两两相隔3-1=2 个步长,输出的大小不变,channel为1024,见下图即可明白:

1.应该同样存在信息损失的情况,传统conv如果stride为1,则会有一部分重叠,而dilation conv极大减少这点
2.主要为了在不损失信息的情况下增大感受野,而扩大conv的尺寸也可以,但参数会变得更多,而且conv的增大和感受野的增大是线性,但dilation conv和感受野是指数增长

image.png

--conv fc7

在"conv fc6"之后做了kernel_size = 1x1,stride = 1 , channel = 1024的卷积操作,形状与conv fc6 保持一致

--conv6_1

继"conv fc7"之后,做了kernel_size = 1x1,stride = 1 , channel = 256的卷积操作,size不变,channel为256

--conv6_2

"conv6_1"之后,kernel_size = 3x3,stride = 2 , channel = 512的卷积操作,也就是说把尺寸缩小一半了,channel变成512

ODM部分

ODM部分主要通过TCB模块转换而成,回顾一下TCB的流程:

image.png

Input (上方的箭头)为ARM[conv 4_3,conv5_3,conv fc7,conv6_2],输出分别对应了ODM[P3, P4, P5, P6]
deconv这一步,传入的实际是[P4 , P5 , P6],
根据网络的架构图,我们不难看出,P6 是 首先生成的,而conv6_2的输出已经是最高的feature map所以在conv6_2 到 P6 的TCB,没有deconv这个操作(如下图所示)
image.png

-- P6

因为是最高层的输出,所以没有deconv操作,自然也就没Elte sum,实际就是feature map经过3个kernel_size = 3x3,stride =1 , channel = 256,以及relu的卷积操作,size不变,channel 为 256

-- P5

与"P6"不同,TCB 有了deconv的输入,就是P6。(P3,P4同理)
"conv fc7" 输出的feature map 先经过一个 conv-relu和一个 conv 之后,再和 deconv后的P6 进行eltw_sum操作,而后接了一个relu,最后就是一个con_relu操作,从而得到P5

值得一提的是,TCB里的deconv,是把size加倍

-- P4 P3

原理一样,看P5和 P6 即可明白

有一个细节就是当conv4_3,conv5_3层在做anchor 的预测亦或者是做TCB操作的时候为了防止反向传播的剃度过大导致loss输出nan,这两层会经过一个L2normlization操作然后分别扩大常量倍数,scale的值分别为10和8

ARM和ODM的feature map之后,执行了类似的卷积操作。

ARM:1.kernel_size = 3x3, stride = 1 ,channel = num_anchor✖4(坐标回归)
            2.kernel_size = 3x3, stride = 1 ,channel = num_anchor✖2(判断前后景)

ODM:1.kernel_size = 3x3, stride = 1 ,channel = num_anchor✖4(坐标回归)
            2.kernel_size = 3x3, stride = 1 ,channel = num_anchor✖num_cls(分类)

关于anchor

正样本:选取IOU最大的一个anchor,以及剩下的IO>0.5的作为所有正样本
负样本:

这里开始对论文的理解不太深,不知道是自己理解问题还是作者表达不太清楚,现在可以可以总结出:
1.过滤掉所有负置信度>0.99的anchor,换而言之,就是去掉很明显就能判断出是背景的anchor,如果保留了这些,模型能很快而且轻松的学到把anchor判断为背景,这样反而是不好的,学习过程过于简单而且快,模型的理解能力会很差。
2.相反,我们需要的是误判为物品的anchor,分数越高,证明偏差越大,把这些负样本送进网络训练,告知模型难以判断的错误,能学习到更复杂的情况和更好的效果,总而言之就是让模型尽可能学到更多。
3.貌似在2的时候,ARM并没有把低分的score(误判的)过滤掉,而是一起送进ODM,最后ODM再结合loss计算把这些过滤掉

总体来说,ARM中先第一次调整anchor的位置、尺度,使之为ODM提供修正后的anchor;整体操作方式与RPN类似,在参与预测的feature map每个位置上,密集采样 n 个anchors,每个anchor的尺度、长宽比是预定义好的,位置也是相对固定的;ARM就相当于RPN操作,为每个anchor预测其相对位置偏置(relative offsets,也即,对anchor原始位置的相对位移),并预测每个anchor的objectness二分类得分,那么最终就得到了 n 个调整后的anchor,当然了,并不是所有anchor都被判定为包含目标,ARM就只需要筛选判别为目标的anchor,走下一步ODM的流程;
得到ARM调整的anchor之后,利用TCB得到anchor在feature map上新的特征,并在ODM上进一步实施类似SSD的操作,预测bbox的位置、大小、具体类别等;操作就跟SSD很像了,ARM、ODM上feature map的尺度一致,对ARM中每个判定为object的1-stage refined anchor,进一步输出 C 类得分 + 2-stage refined anchor(也即4个坐标offsets),输出也与SSD保持一致,每个anchor对应C + 4维的输出;

更多细节的东西以后再更

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355

推荐阅读更多精彩内容