查看auto ML 算法-YoloV5前的准备工作

Yolo是“You only look once”的简写,是一种物体检测算法,因为它的检测速度和准确性而闻名。

Yolov5实在yolov4发布后一个月后由Ultralystics公司的Glenn Jocher发布的,和以前的yolo算法不同,它是用python写的,而yolov4以前是Alexey Bochkovsky用C语言写的。

在聊yolov5之前,先得讲一下卷积神经网络Convolutional Neural Networks(CNNs),它是利用权值共享策略挖掘图像中不同位置出现的相似结构。

传统的神经网络叫多层感知机Multilayer perceptron(MLP).它在处理图像方面有天生的缺陷: 1.训练工作量随图像变大而异常变大 2.修正模型时不能解决物体出现位置不同的问题

卷积神经网络: 通过移动3*3或5*5的过滤器,以扫描的方式从图像的左上角移动到右下角,每移动一个点,就算出和过滤器中心点重合的点的卷积。 对每个过滤器来讲,移动一遍会生成特征图。然后通过激活函数,就会保留指定位置的一定特征。我们可以通过持续的操作来获得更为抽象的特征(Deeper CNNs)

卷积神经网络中有三层:

  1. 卷积层:用过滤器抓取特征 
  2. 池化层:降维
  3. 全连接层:在最终特征图获取总的信息并分类

具体可参考网页https://www.cs.ryerson.ca/~aharley/vis./conv中的例子,演示了从手写字到识别用到的层

卷积的计算:

查看auto ML 算法-YoloV5前的准备工作_第1张图片

平滑卷积核和边缘提取卷积核:平滑卷积核就是将中心像素与周围像素值进行平均,实现平滑处理 边缘提取卷积核就是将中心像素值复制4份,然后减去周围的4个临近像素值。如果所在区域周围像素值比较近,像素值减为0,边缘像素值有差值,就保留了下来。

1

1

1

1

1

1

1

1

1

1

1/25*

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

-1

0

-1

4

-1

0

-1

0

 池化层类型包括Max和Average.Max举例如下:查看auto ML 算法-YoloV5前的准备工作_第2张图片

激活函数(ReLU): 线性模型的表达能力不够,激活函数增加神经网络的非线性,提升神经网络表达能力,使得神经网络可以任意逼近非线性函数。 

查看网络结构图:

  1. 安装Netron
  2. 下载yolov5s.onnx(https://github.com/ultralytics/yolov5/releases)
  3. 打开yolov5s.onnx就可以看到yolov5的网络结构图了

你可能感兴趣的:(笔记,算法,深度学习,计算机视觉)