论文提要“You Only Look Once: Unified, Real-Time Object Detection”

项目主页:http://pjreddie.com/darknet/yolo/

这篇文章着重在检测的速度提升,区别于之前的方法是用分类器来做检测,文章对bbox和对应的类概率进行回归,检测速度可以达到45f/s,mAP与原始的R-CNN差不多。

出现原因:
CNN在分类上已经可以达到实时,而在检测上R-CNN需要几秒的时间处理一张图片,主要是由于proposal的提取时间需要约1~2s的时间,然后还有很多后续步骤:proposal的特征学习,矫正bbox,消除虚警等,最好的方法需要2~40s时间处理完毕。并且R-CNN的每个检测步骤是分离的不便整体优化。

一体化的检测:
输入图像划分为7*7的网格,如果一个物体的中心落在某个格子内,则对应的格子负责检测该物体。每个网格预测一个bbox和对应的类概率,系统流程如下:
这里写图片描述

系统使用cnn实现并在VOC上测试,初始卷积层从图像中提取特征,全连接层预测概率和坐标。网络框架与GoogleNet类似,拥有24个卷积层和2个全连接层,网络如下图所示,最终的输出是对7*7网格的预测,每个网格预测20类的概率和坐标。
这里写图片描述

网络训练:
使用ImageNet进行初始训练,使用图3中的前20层加一个maxpooling层及两个全连接层进行训练,1星期训练得到top-5error为86%。由于检测需要更为精细的信息,作者将网络输入由224*224调整至448*448.

网络的最后一层预测类概率和bbox,在最后一层使用逻辑激活函数,其他层使用leaky ReLU:
这里写图片描述

网络输出使用平方和误差,并引入尺度因子 λ 对类概率和bbox的误差进行加权,同时为了反映出偏离在大的bbox中的影响比较小,文章使用bbox宽高的平方根,最终的损失函数是:
这里写图片描述
为了避免过拟合,作者使用了dropout和数据增加。

参数化类概率:
49个网格给出20类的概率,一幅图像产生980个预测的概率,大部分概率为0。这会导致训练离散,作者引入了一个变量解决这个问题:即某位置是否有物体存在的概率。因此除了20个类概率还有一个“objectness”概率Pr(Object),则某位置每一类的非条件概率为Pr(Object)与条件概率的乘积;
Pr(Dog) = Pr(Object)*Pr(Dog|Object)
在每个位置都对Pr(Object)进行更新,而只在有物体存在时才对Pr(Dog|Object)更新。

YOLO的限制:
由于YOLO具有极强的空间限制,它限制了模型在邻近物体上的预测,如果两个物体出现在同一个cell中,模型只能预测一个物体,所以在小物体检测上会出问题。另外模型对训练数据中不包含的物体或具有异常长宽比的物体扩展不是太好。loss函数对大小bbox采取相同的error也是个问题。

实验结果:
在voc2012上的实验结果对比如下,YOLO在不基于R-CNN的方法中mAP最高,但比state-of-art低。
这里写图片描述

YOLO的速度提升比较明显,在voc2007上的实验结果对比如下:
这里写图片描述

### 关于YOLO V1论文PDF下载 YOLO (You Only Look Once) 是一种实时目标检测算法,其首个版本由 Joseph Redmon 等人在2015年提出[^4]。该论文的全名是 **"You Only Look Once: Unified, Real-Time Object Detection"**,并被提交至 CVPR 2016 大会发表。 要获取 YOLO V1 的 PDF 文件,可以通过以下几种方式: #### 官方资源 - 如果您有访问学术数据库的权利(例如 IEEE Xplore 或 ACM Digital Library),可以直接通过这些平台搜索论文标题 “You Only Look Once: Unified, Real-Time Object Detection”,通常能够找到官方发布的 PDF 版本。 #### 开放存取网站 - 可以尝试在 arXiv 上查找这篇论文。Joseph Redmon 将许多研究工作发布到 arXiv 平台上,因此可以在 https://arxiv.org/ 输入关键词或作者名称进行检索[^5]。 #### 学术搜索引擎 - 利用 Google Scholar (https://scholar.google.com/)输入完整的论文标题或者部分关键字如 "YOLO unified real-time object detection" 进行查询。有时会出现免费链接指向预印本或其他开放源文件。 #### 社区分享站点 - 部分技术爱好者可能会上传高质量扫描件或电子档至 GitHub、ResearchGate 等社交科研网络上供同行学习交流之用,请注意版权规定勿用于商业用途之外的目的。 以下是实现简单的目标检测代码片段作为补充说明: ```python import torch from torchvision import models # 加载预训练模型 model = models.detection.fasterrcnn_resnet50_fpn(pretrained=True) # 设置为评估模式 model.eval() # 假设 img 已经准备好 img_tensor = ... # 转换成 tensor 类型 prediction = model([img_tensor]) print(prediction) ```
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值