YOLO-V2论文学习(超详细)

YOLO9000:Better, Faster, Stronger

1.简单介绍

YOLO9000是一款先进实时的目标检测系统,可以检测出超过9000目标种类。基于YOLO-v1的问题,作者采用了很多新奇的方法又借鉴一些之前的工作,提出YOLO-v2,相同的YOLO-v2可以运行在不同尺寸之下,实现一种简单的速度与精度的权衡。同时作者提出了在目标检测数据集和分类数据集联合训练的方式,并取得了很好的效果。我们接下来的文章主要围绕这两个部分展开。

2.设计方案

作者回顾了YOLO-v1的缺点,相对于最先进的检测系统,YOLO的确存在很多不足,与Fast R-CNN的误差分析表明,YOLO存在大量的定位错误。此外,与基于区域提案的方法相比,YOLO的召回率相对较低。因此YOLO-V2的很多工作也聚焦于提升召回率定位上。

计算机主流的趋势是朝着更大更深的网络发展,更好的性能往往依赖于训练更大的的网络或者同时聚合不同的模型。而YOLO-V2的想法是在获得更精确模型的同时依旧保持很快的速度,与扩大网络相反,YOLO-v2简化网络并使特征更容易去学习。

Batch Normalization

Batch Normalization 在模型收敛方面带来了显著的提升,同时可以去除了对其他形式的正则化形式。通过在YOLO中对所有卷积层进行批量归一化,在mAP上得到了超过2%的提升。批量归一化还有助于规范化模型。通过批量归一化,可以从模型中去除dropout且不会引起过拟合。

High Resolution Classifier

大多数先进的检测方法都采用在ImageNet上预先训练好的分类器。从AlexNet开始,大多数分类器进行的输入图像都小于256×256。原先YOLO是在224×224的尺寸下训练分类器网络,将分辨率提高到448进行检测任务。而对于YOLO-V2,首先在448 * 448分辨率ImageNet 分类网络中fine turn 10个周期,这使得网络有时间调整卷积核,以可以更好地在高分辨率图像下工作,然后再将结果网络进行fine turn去做检测任务。这种方法将最终结果提高了4%的mAP。

Convolutional With Anchor Boxes

YOLO对于边框的预测是采用最后的全连接层直接预测bounding box的坐标,而Faster R-CNN在预测bounding box 的时候采用手工挑选先验框,仅仅使用RPN的卷积层去预测anchor boxes偏移量而不是坐标,这大大简化了问题,也使网络更容易去学习。基于这个思想,作者移除了全连接层使用anchor boxes去预测bounding boxes,也去除一个pooling层来获得更大的输出分辨率,对于输入图片将448 * 448调整到416 * 416。

为什么要这样调整大小呢?作者的回答是YOLO的卷积经过了32倍下采样,我们希望我们特征图是奇数个locations,这样中心网格

就是一个了,这样好处是什么呢?一些是大的物体,往往占据图像的中心,所以最好在中心有一个单独的位置来预测这些物体,而不是四个位置都在附近。416 * 416的输入,32倍下采样就是13 * 13,满足我们这样的设计目的。

继我们前面说的话题,当我们采用anchor boxes的方法时,我们也将类预测机制与空间位置进行了解耦,取而代之的是为每个anchor boxes预测类和对象。遵循YOLO设计,目标预测仍然预测了ground truth与和建议框的IOU;而类预测则预测了该类在有对象的情况下的条件概率。在没有采用anchor boxes的情况下,模型有着69.5的mAP和81%的召回率。使用该方法之后69.2的mAP和88%的召回率。虽然mAP有所下降,但是召回率的提高意味着模型有着更多的改进空间。

维度聚类

在使用Anchor boxes进行预测时box的尺寸都是手工挑选的,网络可以学会适

### 关于 YOLO-FaceV2 和 CSMM 技术资源 #### GitHub 项目 对于寻找关于 YOLO-FaceV2 及其使用的 CSMM (通道和空间混合模块) 的具体实现和技术文档,在多个开源平台上存在相关项目。GitHub 是获取这些资源的理想场所之一。 - **YOLO-FaceV2 官方或社区维护的仓库**:虽然官方可能未提供特定名称为 "YOLO-FaceV2" 的存储库,但可以通过搜索关键词 `yoloface` 或者更具体的 `yolo face v2` 找到类似的项目。一些活跃的开发者可能会分享他们基于论文描述构建的实际版本[^2]。 - **CSMM 实现细节**:考虑到 CSMM 结构的独特性及其在处理图像中的应用价值,部分研究团队和个人贡献者会在自己的 GitHub 页面上发布有关此模块的具体编码实践以及如何将其集成到其他模型中去的方法[^1]。 #### 文档与教程 为了更好地理解和部署这两个组件: - **官方文档**:如果能够定位到上述提到的任何官方源码,则其中往往附带详细的 README 文件和其他形式的帮助指南,解释安装过程、配置选项及参数调整建议等重要信息。 - **第三方博客文章/视频课程**:网络上有不少博主会撰写深入浅出的文章介绍最新发布的计算机视觉框架特性;YouTube 上也有许多教育频道专注于教授机器学习爱好者们怎样动手操作最新的 CV 工具包。通过搜索引擎输入诸如 `"implementing csmm in yolov5"` 或 `"tutorial on seam attention mechanism"` 就能找到大量实用的学习材料。 ```python import torch from torchvision import models, transforms # 假设已经加载了预训练好的YOLO-FaceV2模型 model = torch.hub.load('ultralytics/yolov5', 'custom', path='path/to/best.pt') transform = transforms.Compose([transforms.ToTensor()]) img = transform(image).unsqueeze(0) preds = model(img) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值