1. 目标定位

目标检测(Object detection)基础
图片分类任务之前我们很熟悉了,本节学习定位分类问题。不仅仅要判断图片是不是一辆汽车,还要在图中标记其位置,后面还会讲多目标定位。
目标检测(Object detection)基础
图片分类任务流程很熟悉,比如,输入一张图片到多层卷积神经网络,输出一个特征向量,然后反馈给softmax单元来预测图片类型。
如果构建一个自动驾驶系统(如上图),对象可能包括:行人、汽车、摩托车和背景。这四种分类就是softmax函数可能的输出结果。这是分类任务,如果我们让神经网络增加4个输出,标记为bx,by,bh,bw b_{x}, b_{y}, b_{h}, b_{w}
这四个数字是被检测对象边界框的参数化表示。
notations:
左上角坐标(0,0),右下角坐标(1,1)。
红色边框中心点(bx,by),边框高度bn,宽度bw

训练集不经包括类别标签,还应该有这四个参数,通过监督学习方法,输出一个分类标签和四个参数值。
目标检测(Object detection)基础
x=x=汽车图片
y=[pcbxbybhc1czc3]y=\left[\begin{array}{l}{p_{c}} \\ {b_{x}} \\ {b_{y}} \\ {b_{h}} \\ {c_{1}} \\ {c_{z}} \\ {c_{3}}\end{array}\right]
上图对应的y见图中y向量。如果没有检测对象,训练样本pc=0,其余为问号(表示毫无意义)。

最后说一下神经网络的损失函数:(参数为类别y和输出y_bar)
采用平方误差策略:
L(y^,y)=(y^1y1)2+(y^2y2)2+(y^8y8)2L(\hat{y}, y)=\left(\hat{y}_{1}-y_{1}\right)^{2}+\left(\hat{y}_{2}-y_{2}\right)^{2}+\cdots\left(\hat{y}_{8}-y_{8}\right)^{2}
pc不等于0,等于所有元素差值平方和;等于0的时候,只需关注pc的准确度。
在实际应用中,对分类和边框使用不同的误差函数。分类pc应用逻辑回归函数,对边界框坐标用平法差。

2. 特征点检测

目标检测(Object detection)基础
让神经网络输出四个特征点标签就好了。
(l2x,l2y)\left(l_{2 x}, l_{2 y}\right) ……

这里没啥可说的,就是定义训练即的特征点标注,然后输出的时候增加相应的神经元。需要注意的是,训练数据中的特征点标记的位置要一致。

3. 目标检测

有了对象定位和特征点检测的先验知识,本节构建一个基于滑动窗口的目标检测算法。
目标检测(Object detection)基础

目标检测(Object detection)基础
目标检测(Object detection)基础
步骤:

  • 首先创建一个标签训练集,经过适当的剪切,作为训练集开始训练卷积神经网络,输出y表示图片有无汽车。
  • 选择一个特定大小的窗口,将每个红色小方块输入到卷积神经网络中,预测红框内有无汽车。依次往后滑动,如果需要滑动的更快,选择比较大的步幅。
    问题:计算成本过大。

4. 滑动窗口的卷积实现

5. Bounding Box预测

6. 交并比

7. 非极大值抑制

8.Anchor Boxes

9.YOLO算法

10.候选区域

相关文章:

  • 2021-12-09
  • 2021-11-27
  • 2021-09-12
  • 2022-12-23
  • 2021-06-21
  • 2021-06-30
猜你喜欢
  • 2021-08-22
  • 2022-01-10
  • 2021-12-16
  • 2021-07-23
  • 2021-10-04
  • 2022-01-15
  • 2021-07-28
相关资源
相似解决方案