YOLO算法详解

 

写点随笔

最近真的被优秀的学长震撼到了,带我入门的师兄已经早早拿到了offer,也有了很优秀的实习经历,再看看自己(,每次学习的时候都忍不住摸鱼,为了消消惰性和好好准备互联网+,决定认真做做算法详解这部分内容。

1.YOLOv1

检测算法的发展

初始检测算法的的基本构成主要由下图所示 pSPNafe.png 图像输入后对其中元素进行基本的备选操作,得出可能出现的部分,之后由人为来进行特征工程,也就是对备选操作中的出的元素做出总结(Stage-1),总结出满足需要检测物体的元素,选择出特征后,作为神经网络的输入传入模型中,进行模型的迭代与梯度下降,最终生成检测结果(Stage-2),但最终产生的效果较差。 在Two-stage算法中,我们采用CNN这个网络利器来对备选元素做出总结,以及生成对应的检测模型,在这个过程中,我们发现Stage-1部分完全可以被CNN代替,这步转变也就是Two-Stage到One-Stage的转变。 One-stage算法的代表: SSD,YOLO,RetinaNet。

网络框架综述

pSPtLQA.png 网络框架的总体可以分为三个阶段

  • pre-algorithm:对应数据阶段,对数据进行改良,进行数据增强,对抗学习,以及标签工程(改良我们的label标注办法,如取代单一的0/1表示方法,采用置信度等方法)
  • in-algorithm:算法部分,又可以再细分为与算法框架有关的部分以及训练中的策略部分,算法框架部分中可以分为backbone,neck以及head,backbone对应主体框架,例如(resnet,vgg)neck部分承接head,利用neck改变将backbone部分数据转换维head需要的向量形状,head部分帮助我们实现总体的功能,例如标注出物体位置,进行物体分类,显示物体信息等,训练中的策略部分就包含优化器部分,梯度下降策略以及初始训练策略(warm up)
  • post-algorithm:收尾部分,主要包含loss以及一些剩下的操作如NMS(选取置信度较高的部分进行显示)等

YOLO综述

YOLO算法,即You Only Look Once,是目前应用最广泛的物体检测算法之一。