YOLO系列详解(YOLOV1-YOLOV3)

本文详细介绍了YOLO系列的目标检测算法,从YOLOv1的单一检测到YOLOv2/YOLO9000的精度提升和速度优化,以及YOLOv3的网络结构改进和多尺度特征融合。重点阐述了YOLO算法的网络结构、训练过程和性能特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

YOLO算法

简介

本文主要介绍YOLO算法,包括YOLOv1、YOLOv2/YOLO9000和YOLOv3。YOLO算法作为one-stage目标检测算法最典型的代表,其基于深度神经网络进行对象的识别和定位,运行速度很快,可以用于实时系统。了解YOLO是对目标检测算法研究的一个必须步骤。

目标检测思路

目标检测属于计算机视觉的一个中层任务,该任务可以细化为目标定位目标识别两个任务,简单来说,找到图片中存在某个对象的区域,然后识别出该区域的具体对象是什么。上述这两个过程就是目标检测中很常用的two-stage方法(两阶段检测)。

目标识别(给定一张包含一个目标的图片,该目标占据图片大部分区域,要求识别出图片中目标的类型)属于计算机视觉的基本任务,这些年以卷积神经网络为核心的深度识别网络已经做得很好了。所以剩下的问题就是目标的定位。

当然,目标的定位有个很直接很粗暴的想法:遍历图片中所有可能的位置,搜索不同大小、宽高比的所有区域,逐个检测其中是否存在某个目标,以概率最大的结果作为输出。显然,这种思路也许精度还行,但是效率太低。

RCNN系

RCNN极具开创性地提出了候选区的方法(Region Proposals),先从输入图像中找到一些可能存在对象的候选区,这个过程称为Selective Search。在RCNN中这些候选区大概会有2000个,对这些区域进行目标识别即可完成检测(提出候选区,对候选区进行识别,这就是two-stage的具体两步)。候选区的提出大大减少了目标定位的时间,提高了目标检测的效率。

不过。。。

RCNN依然很慢,它为后来实时检测提供了可能,但也只是可能而已。后续的Fast RCNN和Faster RCNN则将这种可能变为了现实,它们针对网络结构和候选区算法进行了很多改进,已经可以达到平均0.2秒一张图片的速度。由于RCNN系并非本文重点,这里不多赘述,具体其效率变化如下表。

算法 平均单图处理时长(second)
RCNN 49
Fast RCNN 2.3
Faster RCNN 0.2

YOLOv1

YOLO算法(全名You Only Look Once,代表只需要看一眼图片就能完成目标检测),其作者为Joseph Redmon,被称为YOLO之父,其本人在2020年初由于自己的开源算法用于军事和隐私问题,宣布退出CV领域。

YOLO创造性地将候选区和目标识别两个阶段合二为一,look once即可完成目标检测,也实现了端到端的目标检测。事实上,YOLO并没有去掉候选区,而是使用一种预定义的类似候选区的预测区域。它将图片划分为$S\times S$个网格(论文中$S=7$,下文均使用7为例),也就是49个网格每个网格允许预测出两个bbox(bounding box,边界框),共98个。也可以理解为预定义了98个候选区。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X.AI666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值