目标检测学习笔记

目标检测学习笔记1.0(李沐)

目标检测学习笔记_第1张图片
2.
目标检测学习笔记_第2张图片
3.
目标检测学习笔记_第3张图片

目标检测学习笔记2.0(赵卫东)

整张图作为输入
这儿的C是指整个数据集总共只有C类,但是我们只是对每个网格进行类别的预测,不单独对每一个边框进行类别的预测。
目标检测学习笔记_第4张图片

目标检测学习笔记_第5张图片
3.

目标检测学习笔记_第6张图片

目标检测学习笔记3.0(霹雳吧啦Wz)

目标检测学习笔记_第7张图片
2.

目标检测学习笔记_第8张图片

目标检测学习笔记4.0(人工智能-迪迦)

一、 YOLOV1

目标检测学习笔记_第9张图片
2.
目标检测学习笔记_第10张图片
3.
recall:你标记的物体是不是都检测到了多少
在这里插入图片描述
4.

目标检测学习笔记_第11张图片

精度和召回率的计算公式:
目标检测学习笔记_第12张图片
6.
置信度,被检测到的东西是一个物体的概率,下图是在进行人脸检测,所以此时的置信度就是检测到的东西是人脸的概率是多少。
而置信度阈值是程序员自己设置的,当你把阈值设置为0.8,那么置信度低于0.8的框都不会出现。就是是当机器检测出的物体的置信度低于0.8,我们程序员就认为被检测到的东西不是一个物体,拿下图举例,当下图中的置信度低于0.8,那么我们程序员就认为被检测到的区域不是一个人脸,就不再显示。只有大于阈值的框才会被显示出来。
目标检测学习笔记_第13张图片
7.

下图中,斜线的阴影面积的大小就被称作MAP值。
目标检测学习笔记_第14张图片
8.
目标检测学习笔记_第15张图片
9.

目标检测学习笔记_第16张图片
10.

我们对于狗有两个黄色的候选框,但是这两个黄色的候选框我们应该选哪个呢?
蓝色的是我们标记的框,通过计算IOU的值,我们知道长方形的候选框的IOU值更大,所以选择长方形的候选框,然后呢,毕竟我们长方形的候选框和蓝色的真实标记的候选框之间还是存在一定的差距,所以,我们还需要对黄色的框进行微调,那怎样微调呢?因为模型是不知道真实的蓝色框的形状的,所以这里需要既往长调,也要往宽调(这儿还要考虑一个置信度,对于置信度低的框,直接舍去了)。是不是可以通过增加长方形黄色框的长和宽,增加完之后,我们再去计算新的候选款和蓝色的框之间的IOU,就能知道下一步该选择哪一个候选框,以此类推。
目标检测学习笔记_第17张图片
其实还要对每一个框做一个confidence,对于那些confidence值比较小的框就直接舍去不要。
目标检测学习笔记_第18张图片
11.
对于yolov1它的输入图片的大小是固定的,在使用是不能随意改变,
目标检测学习笔记_第19张图片

12…
目标检测学习笔记_第20张图片

目标检测学习笔记_第21张图片

目标检测学习笔记_第22张图片
15.

目标检测学习笔记_第23张图片
16.

目标检测学习笔记_第24张图片
17.

目标检测学习笔记_第25张图片
当wi比较小时,它比较敏感(斜率比较大),当wi比较大时,斜率比较小(不是很敏感)
目标检测学习笔记_第26张图片

下图框起来的是权重项,作用应该是衡量w,h 与x,y对于结果影响的程度的大小。

目标检测学习笔记_第27张图片

在一张图片中,有些是前景,有些背景,所以在讨论置信度误差时,要分开讨论,分为含有object的和不含object的。我们可以设置,前景的真实置信度为1,背景的真实置信度为0。
当某一个框和真实框之间的置信度是0.7(如下图中的黑色框,红色框是正式的目标框),但是框有很多,现在又有一个绿色的框,它和红色的框的置信度是0.6.我们设置置信度阈值是0.5.那么在这里由于有两个框都和真实框有重叠部分,我们在计算置信度误差时就只算置信度最高的0.7的黑色框,把绿色框舍去。
目标检测学习笔记_第28张图片
当置信度低于0.5的,我们在程序逻辑设计就已经认为这里不存在物体,所以置信度直接就设置为0。

目标检测学习笔记_第29张图片
20.

之所以在下图红色框中加速权重,使用为在实际使用中,图片一般背景多,儿前景少,如果不加权重参数,那么损失函数很大程度被背景影响,那么这个损失函数最终实现的目的就是迫使网络模型去寻找背景,但是我们设计这个网络模型的目的是找物体,所以损失函数应该受前景的影响更大,所以这里需要设置一个权重参数。

目标检测学习笔记_第30张图片
21.
网络架构:
目标检测学习笔记_第31张图片
损失函数:
目标检测学习笔记_第32张图片
22.
yolo测试的时候,当你设置一个置信度阈值之后,大于置信度阈值的候选框可能会有很多个,但是由于它们检测到的都是同一个物体,所以我们对同一个物体的所有候选款置信度之间排序,选择置信度最大的候选框显示即可。
目标检测学习笔记_第33张图片
23.

目标检测学习笔记_第34张图片

二、yolov2

yolov2中没有全连接层了
目标检测学习笔记_第35张图片
2.
每次卷积之后都加了batch normalization
目标检测学习笔记_第36张图片
3.

目标检测学习笔记_第37张图片
4.
目标检测学习笔记_第38张图片
5.

目标检测学习笔记_第39张图片
6.

目标检测学习笔记_第40张图片
上图的1313,就是下面最后的把yolov1的77换成13*13,这样相同的一张图片yolov2得到的方框会更多,检测到的物体也会更多,也更加容易检测到小物体。
目标检测学习笔记_第41张图片
7.

目标检测学习笔记_第42张图片
8.
目标检测学习笔记_第43张图片
9.

目标检测学习笔记_第44张图片
10.
目标检测学习笔记_第45张图片
11.
通过下面的实验就得出yolov2中一个框,会有5个候选款比较合适,并且通过聚类,聚类的k=5,所以每一个框有5个候选框,且每一个候选框的大小就是聚类的中心x,y。
目标检测学习笔记_第46张图片
12.
recall:;对于一张图中标记的物体,recall越高,表示模型能够检测到的物体越多。
目标检测学习笔记_第47张图片

目标检测学习笔记_第48张图片

下面这张图是在讲解yolov1的缺点。需要改进的地方。
目标检测学习笔记_第49张图片
15.

目标检测学习笔记_第50张图片
16.
方框中的数值,是通过之前进行k聚类得到的宽和高的数值大小。
目标检测学习笔记_第51张图片
17.
目标检测学习笔记_第52张图片
目标检测学习笔记_第53张图片
18.

目标检测学习笔记_第54张图片
19.
在yolov1中模型预测的直接的移动位置,而在yolov2中预测的是相对位置,且这个相对位置逃不出一个13*13中的小方框,也就是下面的红色方框中的值会在一个小方框中,不会出这个小方框
目标检测学习笔记_第55张图片
目标检测学习笔记_第56张图片
20.
在这里插入图片描述
21.

目标检测学习笔记_第57张图片
目标检测学习笔记_第58张图片
22.
目标检测学习笔记_第59张图片
23.
由于之间的感受野太大,导致一些小目标会被忽略,所以进行了改进,下面这个在上面的卷积后会得到大目标,而下面的残差结构会结合小目标,这样就即考虑了大目标也考虑了小目标。
目标检测学习笔记_第60张图片
24.
由于实际应用中,输入图片的大小难以统一,并且统一的图片,可能对于结果的影响很大,所以对于yolov2就设置成输入的图片大小可以是不同的。

目标检测学习笔记_第61张图片

三、YOLOV3

目标检测学习笔记_第62张图片

目标检测学习笔记_第63张图片
2.
目标检测学习笔记_第64张图片
3.
目标检测学习笔记_第65张图片
4.

目标检测学习笔记_第66张图片

目标检测学习笔记_第67张图片
6.
目标检测学习笔记_第68张图片
7.
左边的图像金字塔,它需要把原始图片先resize成三种不同的尺寸,但是resize三种不同的尺寸,相当于要做三次,那么这样会让我们的模型的速度变得很慢,而在yolov中速度是第一位的,所以这是不被允许的。

目标检测学习笔记_第69张图片

YOLOV3网络模型取名叫做darknet-53
目标检测学习笔记_第70张图片

目标检测学习笔记_第71张图片
10.

目标检测学习笔记_第72张图片
11.
目标检测学习笔记_第73张图片

目标检测学习笔记_第74张图片
13.
目标检测学习笔记_第75张图片
14.
目标检测学习笔记_第76张图片
由于是多标签,这里最后使用的是二分类方法去实现。
目标检测学习笔记_第77张图片
15.

你可能感兴趣的:(深度学习之美,Code,Python,学习,深度学习,计算机视觉)