目标检测 and YOLO系列算法

学习视频:吴恩达目标检测Yolo入门讲解

目标检测算法

在这里插入图片描述

在这里插入图片描述

交并比 IoU

在这里插入图片描述
这个阈值你也可以设定为0.6,这样精确度就会更高。

IoU(Interaction of Union)衡量了两个边框重叠的相对大小。

非最大抑制

在这里插入图片描述
在这里插入图片描述
非最大抑制算法就会去掉和当前概率最大的框的其他IoU值很高的矩形。
在这里插入图片描述

当尝试同时检测3个对象,比如行人,汽车,摩托,那么输出向量就会有3个额外的分量(c1,c2,c3)。正确的做法是要独立进行三次非最大抑制,分别对每个输出类别都做一次。

anchor boxes

(可以进一步改善算法效果)

如果想让一个格子检测出多个对象,就可以使用anchor box。
在这里插入图片描述

在这里插入图片描述
算法处理不好以下情况:
1.如果出现你有2个anchor box,但是再同一个格子中有3个对象中心点。
2.两个对象中心店都分配在同一个格子,且他们的anchor box形状也一样。

如何指定anchor box形状?

一般手工指定5~10个anchor box形状,以尽可能多的覆盖到不同形状,这要求你要合理考虑所有对象的形状。


更好的做法(自动选择形状):k-means算法,将两类对象的形状聚类,用它来选择一组最具代表性的anchor box,来代表你试图检测的十几个对象类别。

YOLO算法

在这里插入图片描述
实际中可能划分成 19 ∗ 19 19*19 1919的网格,同时设定更多(n个)anchor box,那么输出就会是 19 ∗ 19 ∗ n ∗ 8 19*19*n*8 1919n8
在这里插入图片描述
在这里插入图片描述

YOLOv1

在这里插入图片描述
YOLOv1的缺点是定位不准,因为它是整个图片normalize到0~1之间之后,去看整张图找物体的。

YOLOv2

在这里插入图片描述
e t x e^{t_{x}} etx 可能会比较容易发散,为避免train到爆炸,把 e x e^x ex 改成 s i g m o i d ( x ) 2 sigmoid(x)^2 sigmoid(x)2 s i g m o i d ( x ) 3 sigmoid(x)^3 sigmoid(x)3,这样走向像有一个盖。

在这里插入图片描述

在这里插入图片描述
还有一个优点是,可以处理不同尺度的图像,通过放大能够更容易检测小物体。

在这里插入图片描述
YOLOv2中一个anchorbox会带一个条件概率(之前YLOLv1是合并共享条件概率的),如果当一只猫和狗距离很近,YOLOv1的处理方式中一个框框的猫,一个框框的狗,但框出来的猫和狗的概率很可能是相当的,这样就很难把离得很近的东西框出来。内容互斥

在这里插入图片描述
在这里插入图片描述

YOLOv3

在这里插入图片描述

候选区域 region proposal:R-CNN

使用训练过的分类器时会针对每个滑动窗跑检测算法,导致在不可能有目标物体的区域仍然跑算法,这是没有意义的。而R-CNN(带区域的卷积网络)会选出一些区域,在这些区域运行卷积网络分类器是有意义的。

选出候选区域的方法是:运行图像分割算法(a segmentation algorithm)

在这里插入图片描述
在这些色块上分别运行分类器,这样可以有效减少需要处理的位置,可以减少卷积网络分类器的运行时间。

R-CNN的缺点在于速度慢
在这里插入图片描述

Yolo三部曲解读——Yolov3
深入浅出Yolo系列之Yolov3&Yolov4&Yolov5核心基础知识完整讲解

猜你喜欢

转载自blog.csdn.net/Nismilesucc/article/details/114242221