目标检测
0.手工时代
1.RCNN
2.SPP
3.FAST-RCNN
4.FASTER-RCNN
评价标准
参数说明:
P
r
e
c
i
s
o
n
c
Precison_c
Precisonc:c在一张图片上识别准确率;
N
(
T
r
u
e
P
o
s
i
t
i
v
e
s
)
c
N(TruePositives)_c
N(TruePositives)c:在一张图片上被识别出来C的个数;
N
(
T
o
t
a
l
O
b
j
e
c
t
s
)
c
N(TotalObjects)_c
N(TotalObjects)c:在一张图片上C的个数;
A
v
e
r
a
g
e
P
r
e
c
i
s
i
o
n
c
AveragePrecision_c
AveragePrecisionc:在整个数据集上C被识别的平均准确率;
∑
P
r
e
c
i
s
i
o
n
c
\sum{Precision_c}
∑Precisionc:在整个数据集上C被识别概率的总和;
N
(
T
o
t
a
l
I
m
a
g
e
s
)
c
N(TotalImages)_c
N(TotalImages)c:数据集上有C的图片张数;
M
e
a
n
A
v
e
r
a
g
e
P
r
e
c
i
s
i
o
n
MeanAveragePrecision
MeanAveragePrecision:数据集上所有类别的平均准确率;
∑
A
v
e
r
a
g
e
P
r
e
c
i
s
i
o
n
\sum{AveragePrecision}
∑AveragePrecision:数据集上所有类别平均准确率的总和;
N
(
c
l
a
s
s
e
s
)
N(classes)
N(classes):数据集上有有类别的个数;
P
r
e
c
i
s
i
o
n
C
=
N
(
t
r
u
e
P
o
s
i
t
i
v
e
s
)
c
N
(
T
o
t
a
l
O
b
j
e
c
t
s
)
c
A
v
e
r
a
g
e
P
r
e
c
i
s
i
o
n
c
=
∑
P
r
e
c
i
s
i
o
n
c
N
(
T
o
t
a
l
I
m
a
g
e
s
)
c
M
e
a
n
A
v
e
a
r
a
g
e
P
r
e
c
i
s
i
o
n
=
∑
A
v
e
r
a
g
e
P
r
e
c
i
s
i
o
n
c
N
(
c
l
a
s
s
e
s
)
\begin{aligned} Precision_C &= \frac{N(truePositives)_c}{N(TotalObjects)_c}\\ AveragePrecision_c &= \frac{\sum{Precision_c}}{N(TotalImages)_c}\\ MeanAvearagePrecision &= \frac{\sum{AveragePrecision_c}}{N(classes)} \end{aligned}
PrecisionCAveragePrecisioncMeanAvearagePrecision=N(TotalObjects)cN(truePositives)c=N(TotalImages)c∑Precisionc=N(classes)∑AveragePrecisionc
图像检测
手工时代
手工特征+滑动窗口
RCNN
论文链接:https://arxiv.org/pdf/1311.2524.pdf
1.下载模型进行微调<正样本IOU>0.5,负样本IOU<0.5>
2.使用SS算法选取候选区域
3.将候选区域内的图形变形作为网络输入,同时将网络输出的第5层特征保存下来
4.将上步保存的特征作为SVM的输入进行训练<SVM训练的正负样本,正样本:ground-truth内的样本;负样本:IOU<0.3 &其他样本的IOU<0.7>
5.将第三步保存的特征作为输入,进行bounding-box进行回归学习<输入
(
P
x
,
P
y
,
P
w
,
P
h
)
(P_x,P_y,P_w,P_h)
(Px,Py,Pw,Ph) CNN 特征,输出:
(
d
x
(
P
)
,
d
y
(
P
)
,
d
w
(
P
)
,
d
h
(
P
)
)
(d_x(P),d_y(P),d_w(P),d_h(P))
(dx(P),dy(P),dw(P),dh(P))>;
SPP
论文链接:https://arxiv.org/pdf/1406.4729.pdf
1.下载模型进行微调
2.使用CONV层提取特征&使用SS算法选取候选区域
3.将SS算法选取的候选区域映射到conv特征提取层
4.对相应区域的特征提取层输入到spatial pyramid pooling layer层提取固定长度的特征
5.将固定长度的特征输入到全连接层,最后进行SVM分类
6.将全连接层的输出,进行bounding-box的学习
特点 | rcnn | spp |
---|---|---|
输入 | 固定尺寸 | 任意尺寸,由于使用了spatial pyramid pooling layer |
卷积计算 | 每个候选区域都需要要计算一遍 | 只需要计算一次 |
FAST-RCNN
文章链接:https://arxiv.org/pdf/1504.08083.pdf
1.下载模型进行微调
2.使用CONV层提取特征&使用SS算法选取候选区域
3.将SS算法选取的候选区域映射到conv特征提取层
4.对相应区域的特征提取层输入到ROI层提取固定长度的特征
5.将固定长度的特征输入到全连接层,最后进行Softmax分类
6.将全连接层的输出,进行bounding-box的学习
特点 | rcnn | spp | fast-rcnn |
---|---|---|---|
输入 | 固定尺寸 | 任意尺寸,由于使用了spatial pyramid pooling layer | 使用ROI层 |
卷积计算 | 每个候选区域都需要要计算一遍 | 只需要计算一次 | 只需计算一遍 |
分类方法 | SVM | SVM | SoftMax |
FASTER-RCNN
论文链接:https://arxiv.org/pdf/1506.01497.pdf
1.下载模型进行微调
2.从conv层提取的特征训练RPN<用于候选区域的生成>网络;
3.使用ROI层提取固定长度的特征
4.在2学习到的网络上继续进行分类和bounding-box的回归;
特点 | rcnn | spp | fast-rcnn | faster-rcnn |
---|---|---|---|---|
输入 | 固定尺寸 | 任意尺寸,由于使用了spatial pyramid pooling layer | 使用ROI层 | 使用ROI层 |
卷积计算 | 每个候选区域都需要要计算一遍 | 只需要计算一次 | 只需计算一遍 | 只需计算一遍 |
分类方法 | SVM | SVM | SoftMax | SoftMax |
候选区域提取 | SS | SS | SS | RPN并使用anchor |