yolov系列学习+部署(收集了一些学习网站)

这里置顶的第一个项目是git上star超过k的一个yolo部署项目:
https://github.com/DefTruth/lite.ai.toolkit/

本项目入口地址
配套yolov1入口地址
配套yolov2入口地址

里面截图都来自这几个视频
DeepStream.io简介

机器不学习
说明:机器不学习是知乎专栏,这个博客非常详细,学习的好地方
铁心核桃​
说明:对yolov有代码级别的说明
比如:目标检测那点儿事——快到飞起的YOLO-V1,如果想看代码级别的就看这个博客。
简直描述的太好了,人家是清华的
yolov系列学习+部署(收集了一些学习网站)_第1张图片

yolov系列学习+部署(收集了一些学习网站)_第2张图片

yolov系列学习+部署(收集了一些学习网站)_第3张图片

yolov系列学习+部署(收集了一些学习网站)_第4张图片
yolov系列学习+部署(收集了一些学习网站)_第5张图片

yolov系列学习+部署(收集了一些学习网站)_第6张图片
或者说:
精度=(检测到的正确数量)/(检测到的所有数量)
召回率=(检测到的正确质量)/(所有的正确数量)

但是(检测到的正确数量)跟设置的阈值有关系
yolov系列学习+部署(收集了一些学习网站)_第7张图片
yolov系列学习+部署(收集了一些学习网站)_第8张图片
yolov系列学习+部署(收集了一些学习网站)_第9张图片
yolov系列学习+部署(收集了一些学习网站)_第10张图片
yolov系列学习+部署(收集了一些学习网站)_第11张图片
yolov系列学习+部署(收集了一些学习网站)_第12张图片

yolov系列学习+部署(收集了一些学习网站)_第13张图片

这里要重点说一下14701这个一维张量,很多人问我,为什么他就能按照你说的77*30来排列,这个就是损失函数来控制的,如下:
yolov系列学习+部署(收集了一些学习网站)_第14张图片
(上面这个图有问题,大家都在引用)
yolov系列学习+部署(收集了一些学习网站)_第15张图片


上面这两张图解释一下,上面解释了预测阶段的框和置信度图形化标示,框颜色深的代表了框有没有物体的置信度高,下面红黄等标示了,这个框某个物体置信度高。

yolov系列学习+部署(收集了一些学习网站)_第16张图片
yolov系列学习+部署(收集了一些学习网站)_第17张图片
yolov系列学习+部署(收集了一些学习网站)_第18张图片

这里大致说明一下:
其中S^2就是7*7,B=2,代表有两个框,
位置误差的平方和开根号,主要是为了减少大框和小框对位置偏差的容忍度。
置信度误差是,每个候选框跟实际物体框IOU大小,选出来一个最大的IOU比。注意不含物体的有了一个权重,这是因为图片大部分是背景,如果背景不增加权重,会导致物体检测不出来,加了权重,告诉网络,背景的影响要小一点,比如权重是0.1
yolov系列学习+部署(收集了一些学习网站)_第19张图片

所以任何算法都是两部分组成:
网络结构
损失函数

yolov系列学习+部署(收集了一些学习网站)_第20张图片
yolov系列学习+部署(收集了一些学习网站)_第21张图片

NMS:
将同类别排序,然后做IOU,剔除IOU大的,然后再对后边的进行重复操作。

Yolov1缺点:
1、小物体无法检测
2、狗(哈士奇 花点狗)这种无法检测出来
yolov系列学习+部署(收集了一些学习网站)_第22张图片

yolov系列学习+部署(收集了一些学习网站)_第23张图片
yolov系列学习+部署(收集了一些学习网站)_第24张图片dropout原理

yolov系列学习+部署(收集了一些学习网站)_第25张图片


yolov系列学习+部署(收集了一些学习网站)_第26张图片
yolov系列学习+部署(收集了一些学习网站)_第27张图片
yolov系列学习+部署(收集了一些学习网站)_第28张图片
yolov系列学习+部署(收集了一些学习网站)_第29张图片
yolov系列学习+部署(收集了一些学习网站)_第30张图片

yolov系列学习+部署(收集了一些学习网站)_第31张图片
yolov系列学习+部署(收集了一些学习网站)_第32张图片
yolov系列学习+部署(收集了一些学习网站)_第33张图片
yolov系列学习+部署(收集了一些学习网站)_第34张图片
yolov系列学习+部署(收集了一些学习网站)_第35张图片
线性层后边,激活前面,BN对初始化条件不那么敏感

也就是说BN在训练阶段调整两个参数,预测就可以直接用了。

BN层是为了防止输出数据进入激活函数的饱和区,导致梯度消失。将输出结果强制归纳到0附近。

yolov系列学习+部署(收集了一些学习网站)_第36张图片

所以目前卷积后面就有一个BN层。
yolov系列学习+部署(收集了一些学习网站)_第37张图片Yolov2详细介绍
YOLO V2目标检测算法
yolov系列学习+部署(收集了一些学习网站)_第38张图片

yolov系列学习+部署(收集了一些学习网站)_第39张图片
这里5次降采样,2^5=32,416/32=13,就是这么来的

VGG 和RESNET组合,这里没有了全连接层,全连接层参数多,训练慢,比如全连接层是1048 1048那么参数就是10481048,但是如果是全连接33 获取64通道,就是3364,所以输入大小一定要被32整除
yolov系列学习+部署(收集了一些学习网站)_第40张图片
在这里插入图片描述
yolov系列学习+部署(收集了一些学习网站)_第41张图片
yolov系列学习+部署(收集了一些学习网站)_第42张图片
yolov系列学习+部署(收集了一些学习网站)_第43张图片

yolov系列学习+部署(收集了一些学习网站)_第44张图片

为什么要全连接,直接做成3370的不好吗?

VGG发现的33卷积核,darknet19个卷基层,就是19个卷基层,里面还有11的卷积核,主要用来增加通道数量,3*3的感受野比较大

yolov系列学习+部署(收集了一些学习网站)_第45张图片faster-rcnn设置了9种框,比例是自己设置的。yolo作者剔除了K-means聚类的算法,聚类出5个框
yolov系列学习+部署(收集了一些学习网站)_第46张图片
这里K means的距离是通过IOU比值。
yolov系列学习+部署(收集了一些学习网站)_第47张图片
在这里插入图片描述

yolov系列学习+部署(收集了一些学习网站)_第48张图片
yolov系列学习+部署(收集了一些学习网站)_第49张图片
感受野越大,将来识别到的物体越大
yolov系列学习+部署(收集了一些学习网站)_第50张图片
yolov系列学习+部署(收集了一些学习网站)_第51张图片
yolov系列学习+部署(收集了一些学习网站)_第52张图片
yolov系列学习+部署(收集了一些学习网站)_第53张图片
yolov系列学习+部署(收集了一些学习网站)_第54张图片

yolov系列学习+部署(收集了一些学习网站)_第55张图片
yolov系列学习+部署(收集了一些学习网站)_第56张图片
上面是yolov1.


这些框都是从所有框里面聚合分类后的5个类别,预测的时候只要偏移一下框就好了,不用去变换框的大小

yolov系列学习+部署(收集了一些学习网站)_第57张图片
yolov系列学习+部署(收集了一些学习网站)_第58张图片
为什么是奇数而不是偶数
yolov系列学习+部署(收集了一些学习网站)_第59张图片
yolov系列学习+部署(收集了一些学习网站)_第60张图片
yolov系列学习+部署(收集了一些学习网站)_第61张图片
yolov系列学习+部署(收集了一些学习网站)_第62张图片
yolov系列学习+部署(收集了一些学习网站)_第63张图片
yolov系列学习+部署(收集了一些学习网站)_第64张图片
yolov系列学习+部署(收集了一些学习网站)_第65张图片
yolov系列学习+部署(收集了一些学习网站)_第66张图片

yolov系列学习+部署(收集了一些学习网站)_第67张图片
三个黄色框都是非0即1,紫色框是权重,超参数

你可能感兴趣的:(编程技巧,深度学习)