SSD目标检测系统系统结构网络训练

首发于个人博客

系统结构

system.png

SSD识别系统也是一种单步物体识别系统,即将提取物体位置和判断物体类别融合在一起进行,其最主要的特点是识别器用于判断物体的特征不仅仅来自于神经网络的输出,还来自于神经网络的中间结果。该系统分为以下几个部分:

  • 神经网络部分:用作特征提取器,提取图像特征
  • 识别器:根据神经网络提取的特征,生成包含物品位置和类别信息的候选框(使用卷积实现)
  • 后处理:对识别器提取出的候选框进行解码和筛选(NMS),输出最终的候选框

神经网络

network.PNG

该系统的网络结构如上图所示基本网络为VGG-16网络,VGG-16网络由一系列3x3卷积顺序连接构成,在conv5_3层卷积之前,共有4个stride=2的最大值池化,因此该层的输出的长和宽比原始输入缩小16倍,在SSD300网络中输入图像的尺寸被归一化到300x300,因此该层的输出长和宽为

,channel为512,即基础网络VGG-16的输出尺寸为512x19x19。

在基础网络之后,还有如下的网络结构:

名称

输入

kernel尺寸

stride

padding

输出

是否输出

conv6

512x19x19

1024x512x3x3

1

1

1024x19x19

N

conv7

1024x19x19

1024x1024x1x1

1

0

1024x19x19

Y

conv8_1

1024x10x10

256x1024x1x1

1

0

256x10x10

N

conv8_2

256x10x10

512x256x3x3

2

1

512x10x10

Y

conv9_1

512x10x10

128x512x1x1

1

0

128x10x10

N

conv9_2

128x10x10

256x128x3x3

2

1

256x5x5

Y

conv10_1

256x5x5

128x256x1x1

1

0

128x5x5

N

conv10_2

128x5x5

256x128x3x3

1

0

256x3x3

Y

conv11_1

256x3x3

128x256x1x1

1

0

128x3x3

N

conv11_2

128x3x3

256x128x3x3

1

0

256x1x1

Y

其中,是否输出一栏标为Y的均将其输出送到识别器,即最终识别器接受不同大小的feature map共(5+1)=6个(5个额外的输出层和1个基础网络输出),分别为10x10,5x5,3x3,1x1和两个19x19,

识别器

识别器使用卷积层构成,其卷积尺寸为

,其中box_num为feature map上一个格点所产生的识别框数量,class_num为类别数量(包括背景类),具体如下所示:

default_box.PNG

图中是一个4x4的feature map,共

个格点,每个格点上有3个候选框,即box_num=3,类别信息中共有p个数据,即共有p类物品以供判断(p中含有背景类),class_num=p。另外的4个数据为loc后的位置微调信息。一个

的feature map经过识别器处理后,变为

的Tensor,共包含

个候选框。

后处理

第一步后处理是解析候选框中的数据,每一个候选框由4+class_num个数据构成:4个位置信息x,y,w,h和class_num个类别信息。解析方式与anchor box几乎相同,如下所示:

其中,

分别是识别出的物品的中心点的宽度坐标,高度坐标和物品的高度和宽度。

分别是输入图像的宽度和高度,

为候选框所在格点的坐标,取值范围分别为0~

和0~

,如上图中有

为候选框所在的feature map的宽度和高度,如上图有

分别是对应default box的默认归一化宽高。对于类别信息,取其中最大的即可:

第二步后处理是使用NMS(非极大值抑制)对候选框进行筛选:当两个候选框的IOU超过一个阈值时,丢弃置信度conf低的候选框。

网络训练

网络训练分为了两个部分:

  • 建立label:一般的物体检测的label为物体的位置信息,为了实现训练需要将label转移到default box上
  • 代价函数:反向传播的起点,标记训练任务

标签建立

default box生成

在每个feature map的格点上,default box的面积是一个定值,长宽比为几种可选的值,如下所示:

其中,

为第k个feature map的归一化尺寸参数(实际尺寸与图片尺寸的比),

,即k=1时(

最大的feature map),尺寸参数为图片尺寸的0.2倍,k=m时(

最小的feature map),尺寸参数为图片尺寸的0.9倍。

分别为第k个feature map下不同长宽比的default box的默认归一化宽和高。除了以上所述4个default box之外,每个feature map的格点default box还有两个长宽比为1的框,其尺寸系数分别是:

综上所述,每个feature map的格点共对应6个default box

label匹配

对一个default box进行label匹配时,遍历这张输入图片的物体信息label,若该物品和这个default box的IOU超过某个阈值时,认定这个default box用于识别这个物体,按如下建立label:

  • 对于位置信息:根据以上后处理所示的公式进行反处理,则可以获得位置信息的label
  • 对于类别信息:将物品类别对应位置的置信度置1,其他置0

按以上方法遍历所有default box,即生成了对于一张输入数据的label

代价函数

代价函数由两个部分构成,分别对于定位准度和分类精度:

其中x为标记信息,

,当第i个default box被标记为属于类别p的第j个物体时,

,否则该标记为0。代价函数分为两个部分,第一个部分是分类精度,使用softmax损失函数,如下所示。

指该default box的在label中不属于背景(p>0),反之

。c为网络输出中置信度有关的向量,

为SSD输出的第i个default box中属于类别p的置信度。

第二个部分为定位准确度,使用L1下的smooth函数作为代价函数:

其他训练细节

正反例

保证正例:反例=1:3,由于一般正例远远少于反例,所以保留所有正例,并根据正例三倍的数量选择反例,选择的标准为置信度:即选择

高的反例。

图像预处理

输入图片随机选择进行以下处理:

  • 输入原始图像
  • 截取与物品IOU大于0.3,0.5,0.7或0.9的部分
  • 随机截取图片部分

进行完以上随机选择后,随机对处理后的图片做翻转处理

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器人网

机器学习算法集锦:最常见算法类别与优缺点?

它是另一种方法(通常是回归方法)的拓展,这种方法会基于模型复杂性对其进行惩罚,它喜欢相对简单能够更好的泛化的模型。

15820
来自专栏和蔼的张星的图像处理专栏

数字图像处理:

冈萨里斯数字图像处理的那本书的一小点点东西,数字图像处理其实是学过了的,这里我只是把这本书完整看一遍,也是略略的看,查漏补缺,前两张略过了,从第三章开始。

31240
来自专栏大数据挖掘DT机器学习

常见的机器学习&数据挖掘数学知识点

常见的机器学习&数据挖掘数学知识点之Basis SSE(Sum of Squared Error, 平方误差和) SSE=∑i=1n(Xi−X¯¯¯)2 ...

69070
来自专栏AI研习社

机器学习经典算法优缺点总结

决策树:判别模型,多分类与回归,正则化的极大似然估计 特点: 适用于小数据集,在进行逐步应答过程中,典型的决策树分析会使用分层变量或决策节点,例如,可将一个给定...

40280
来自专栏GAN&CV

四大经典卷积网络介绍

原标题:独家 |《TensorFlow实战》作者黄文坚:四大经典CNN网络技术原理

18710
来自专栏潇涧技术专栏

Dog Face Recognition

采用PCA狗脸识别的方法完成下面的实验。图像特征可以采用灰度像素值、颜色直方图等。

9220
来自专栏机器学习算法工程师

七夕节最好的礼物:生成对抗网络的tensorflow实现

原文地址:http://blog.evjang.com/2016/06/generative-adversarial-nets-in.html

17150
来自专栏大数据挖掘DT机器学习

【R语言】用gbm包来提升决策树能力

中国有句老话:三个臭皮匠,顶个诸葛亮。这个说法至少在变形金刚中得到了体现,没有组合之前的大力神只是五个可以被柱子哥随手秒掉工地苦力。但组合之后却是威力大增。在机...

43640
来自专栏PPV课数据科学社区

【V课堂】R语言十八讲(十六)—广义线性模型

所谓广义线性模型,顾名思义就是一般狭义线性模型的推广,那我们先看看我们一般的狭义线性模型,这在第十讲也说过可以参看http://www.ppvke.com/Bl...

36490
来自专栏张俊红

朴素贝叶斯详解

总第78篇 一、统计知识 01|随机事件: 1、概念 随机事件是在随机试验中,可能出现也可能不出现,而在大量重复试验中具有某种规律性的事件叫做随机事件(简称事件...

31560

扫码关注云+社区

领取腾讯云代金券