## **1.什么是YOLO**
YOLO是目标检测模型。
YOLO (You Only Look Once),是一个用于**目标检测**的网络。目标检测任务包括**确定图像中存在某些对象的位置**,以及对这些**对象进行分类**。以前的方法,比如[R-CNN](https://so.csdn.net/so/search?q=CNN&spm=1001.2101.3001.7020)和它的变种,使用一个管道在多个步骤中执行这个任务。这可能运行缓慢,也很难优化,因为每个单独的组件都必须单独训练。YOLO,只用一个神经网络就能搞定。
--: YOLOv5 模型是 **Ultralytics** 公司于 2020 年 6 月 9 日公开发布的。YOLOv5 模型是基于 YOLOv3 模型基础上改进而来的,有** YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x** 四个模型,主要是模型的**深度和宽度不同**。YOLOv5 模型由**骨干网络、颈部和头部组成**。


值得一提的是,YOLO采用**anchor机制**,是一种**先验框**。也就是说我们预先设定不同比例的边界框大小。由于我们采用了多尺度的方式,每个尺度上都有不同的anchor。
#### **2.与R-CNN的对比**
1、统一网络:YOLO没有显示求取region proposal的过程。**Faster R-CNN**中尽管RPN与fast rcnn共享卷积层,但是在模型训练过程中,需要反复训练RPN网络和fast rcnn网络。相对于R-CNN系列的"看两眼"(**候选框提取与分类**),YOLO只需要Look Once.
2、YOLO统一为一个回归问题,而Faster R-CNN将检测结果分为两部分求解:物体类别(**分类问题**)、物体位置即bounding box(**回归问题**)。
#### **3. Yolo系列知识点梳理(Yolov1-v5)**
**此处有时间再细细研究,目前掌握用法即可(并不是很全,一起补充)**
YOLOV5算法相关概念(**个人整理的,仅供参考**):
1.IOU
2.NMS(置信度)
3.置信度(Pr(obj)\*IOU(预测框与实际框的交并比))
4.Recall(召回率)检测到的object与总的object比值
5.Precision(准确率)检测正确率
6.AP(平均精度)
7.MAP(PR曲线的锯齿形补偿)
8.卷积Conv(特征提取)
9.BN(归一化,提高收敛速度,防止梯度爆炸和消失,防止过拟合(batchsize)作用,提高精度,调参更简单)还有CBN(主要是利用泰勒公式解决batchsize太小导致的feature map(特征映射)拟合不好)
10.CBL(conv+BN+Leak\_rule)
11.CBM(conv+BN+Mish)
12.ResNet主要是Add(通道数不变,数值叠加)DenseNet(密集网)concate(每一通道的数不变,通道数增加)
Focus层图像进入backbone前的切片操作(每隔一一个像素取一个像素,一张图可以拆分成四张
[卷积神经网络](https://blog.csdn.net/qq_25762497/article/details/51052861)
[激活函数](https://zhuanlan.zhihu.com/p/99401264#:~:text=%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E5%B8%B8%E7%94%A8%E7%9A%8412%E7%A7%8D%E6%BF%80%E6%B4%BB%E5%87%BD%E6%95%B0%201%20%E3%80%81ReLU%202%20%E3%80%81%E6%94%B9%E8%BF%9B%E7%89%88LeakyReLU%203%20%E3%80%81ELU%204,%E3%80%81CELU%209%20%E3%80%81Sigmoid%2010%20%E3%80%81LogSigmoid%20More%20items...%20)
[池化](https://blog.csdn.net/weixin_55073640/article/details/122621148)
[R-CNN](https://zhuanlan.zhihu.com/p/23006190)
[Fast-RCNN](https://zhuanlan.zhihu.com/p/43624561)
[Yolo系列](https://blog.csdn.net/zjupeco/article/details/119709824)
[Yolo算法(详细介绍)](https://www.cnblogs.com/shuimuqingyang/p/14200018.html)
#### **4.为什么选择Yolo**
**YOLOV5的优点:**
* 使用**Pytorch**框架,对用户非常友好,能够方便地训练自己的数据集,相对于YOLO V4采用的Darknet框架,Pytorch框架更容易投入生产。
* 代码易读,整合了大量的计算机视觉技术,非常有利于学习和借鉴。
* 不仅易于配置环境,模型训练也**非常快速**,并且批处理推理产生实时结果。
* 能够直接对单个图像,批处理图像,视频甚至网络摄像头端口输入进行有效推理。
* 能够轻松的将Pytorch权重文件转化为安卓使用的ONXX格式,然后可以转换为**OPENCV**的使用格式,或者通过CoreML转化为IOS格式,直接部署到手机应用端。
* 最后YOLOV5s高达140FPS的对象识别速度令人印象非常深刻,使用体验非常棒。***