SSD

1、概述

不同于对faster检测器的各个组件进行改进从而提升精度的一系列方法,ssd不对假设包围框进行像素或特征的重采样,而是直接进行默认框的类别预测和边框位置的预测,并且基于不同尺度的特征图进行不同尺度目标框的预测,这些设计特点使得低分辨率图片就能取得很好效果, 从而进一步提高速度。最终在voc2007数据集上取得速度与精度均超过yolo和faster的成绩。

2、SSD框架和训练方法

作者在文章中将ssd与yolo的框架进行了对比。与faster不同,他俩同属于one-stage方法,不需要经过候选框提取这一步骤,从而在速度上显著快于two-stage方法。同时,从框架对比图可以看出,一,相比于yolo,ssd直接采用3*3卷积核做检测,没有全连接层; 二,ssd提取了不同尺度特征图来做检测;三,ssd设计了和faster类似的先验框,从而根据纵横比进行显式的分离预测,提高位置预测的精度。

训练方法细节:

默认框的设计:

首先有一个概念,default box,是指在feature map的每个小格(cell)上都有一系列固定大小的box。作者对每一层feature map的scale取了不同的值,然后结合纵横比,计算出default box的宽高,设计的比较复杂,暂时没有想明白他为什么要这样设计。但其实这是个开放性问题,读者可以按照自己的想法和需求设计不同的default box,文章的设计方法具体如图:


算了一下conv4_3的默认框对应的原图大小,16*0.2~3个像素尺度,感觉很小,不知道是不是自己理解的不对。

正负样本的划分:

当默认框设计好了之后,需要对其进行打tag,文章里使用的划分策略是这样的:先是从groudtruth box出发给每个groudtruth box找到了最匹配的prior box放入候选正样本集,然后再从prior box出发为prior box集中寻找与groundtruth box满足IOU>0.5的一个IOU最大的prior box(如果有的话)放入候选正样本集,这样显然就增大了候选正样本集的数量,而剩余所有与gt没有匹配成功的默认框作为负样本集。

训练样本的选取:

一般情况下,正样本的数量相比于负样本要少得多,这会让训练难以收敛(但是后来出来的大神文Focal loss提出Single stage detector不好的原因完全在于:

极度不平衡的正负样本比例: anchor近似于sliding window的方式会使正负样本接近1000:1,而且绝大部分负样本都是easy example,这就导致下面一个问题:

gradient被easy example dominant的问题:往往这些easy example虽然loss很低,但由于数量众多,对于loss依旧有很大贡献,从而导致收敛到不够好的一个结果。(引自链接https://www.zhihu.com/question/63581984/answer/210832009)

本文采用OHEM方法,先将每一个物体位置上对应 predictions(prior boxes)loss 进行排序。 对于候选正样本集:选择最高的几个prior box与正样本集匹配(box索引同时存在于这两个集合里则匹配成功),匹配不成功则删除这个正样本(因为这个正样本不在难例里已经很接近ground truth box了,不需要再训练了);对于候选负样本集:选择最高的几个prior box与候选负样本集匹配,匹配成功则作为负样本,控制正负样本比例1:3。每迭代一次都要像这样重新sample。

数据增广:

每一张训练图像,随机的进行如下几种选择:

使用原始的图像

随机采样多个 patch(CropImage),与物体之间最小的 jaccard overlap 为:0.1,0.3,0.5,0.7 与 0.9,采样的 patch 是原始图像大小比例是 [0.3,1.0],aspect ratio 在 0.5 或 2。当 groundtruth box 的 中心(center)在采样的 patch 中且在采样的 patch中 groundtruth box面积大于0时,我们保留CropImage。

在这些采样步骤之后,每一个采样的 patch 被 resize 到固定的大小,并且以 0.5 的概率随机的 水平翻转(horizontally flipped,翻转不翻转看prototxt,默认不翻转)

损失函数:

损失函数=1/N *[分类的softmax损失 + 位置的smoothL1损失] (N是正样本数目)

思考:

了解和总结的ssd存在的一些问题:

1、对小物体检测recall提升不明显:一方面,可能是ssd的输入300*300确实比较小,相对来说524的输入就能提高一些;另一方面,这可能是ssd网络设计的问题,虽然利用了多feature map,低层特征的分辨率高,高层特征的感受野大,语义信息丰富,但在检测时并没有进行融合复用,导致低层检测可能语义信息不足。(FPN的提出)也可能是小样本能够匹配的正样本数目本身小,训练不充分。(不同意有人猜想数据增强部分是为了提升小目标检测率,因为crop之后,相对应是大尺度默认框得到了更充分地训练。)

2、采用OHEM的样本选择方法:focal loss指出one-stage方法的精度提升并非在于样本的不平衡,而OHEM方法直接忽略了其余负样本的训练。(Focal loss)

参考文章:https://blog.csdn.net/wfei101/article/details/78176322

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

推荐阅读更多精彩内容