【下载】PyTorch 实现的YOLO v2目标检测算法

2017 年 12 月 27 日 专知

【导读】目标检测是计算机视觉的重要组成部分,其目的是实现图像中目标的检测。YOLO是基于深度学习方法的端到端实时目标检测系统(YOLO:实时快速目标检测)。YOLO的升级版有两种:YOLOv2和YOLO9000。YOLOv2是针对YOLO算法不足的改进版本,作者使用了一系列的方法对原来的YOLO多目标检测框架进行了改进,在保持原有速度的优势之下,精度上得以提升。近日,Ruimin Shen在Github上发布了YOLO v2的PyTorch实现版本,让我们来看下。



YOLO v2是目前最受欢迎的单一网络目标检测算法之一,由于整个检测流水线是单一网络,因此可以直接对检测性能进行端到端的优化。 本项目是对该算法的代码实现,为了提高效率,项目采用PyTorch开发框架。同时为了更方便的部署在实际应用中,可以利用ONNX将模型转换为Caffe 2支持的格式 。


设计




  • 灵活的配置设计。 代码的运行是可配置的,比如可以使用命令行参数进行修改(可以通过配置文件重叠(-c / - 配置选项)或命令编辑(-m / - 修改选项)的方式)。


  • 通过TensorBoard监控损失函数值和调试检测结果图像(例如IoU热图,标准数据集以及预测边界框)。


  • 并行的模型训练设计。 不同的模型被保存到不同的目录中,从而可以同时训练。


  • 使用NoSQL数据库存储具有高维信息的评估结果。这个设计在分析大量的实验结果时非常有用。


  • 基于时间的输出设计。运行信息(例如模型,摘要summaries(由TensorBoard生成)以及评估结果)被定期保存到文件中。


  • 对于检查点Checkpoint的管理。代码会将最近生成的几个检查点文件(.pth)保存在模型目录中,旧的将被删除。


  • NaN调试。当检测到NaN损失时,将导出当前的运行环境(data batch)和模型,用来分析NaN出现的原因。


  • 统一的数据缓存设计。各种数据集通过相应的缓存插件转换为统一的数据缓存。 一些例如PASCAL VOC和MS COCO的插件已经实现。


  • 任意可替换的模型插件设计。主要的深度神经网络(DNN)可以利用配置修改来轻松替换。其中已经包含了Darknet,ResNet,Inception v3、v4,MobileNet和DenseNet等模块。


  • 可扩展的数据预处理插件设计。 原始图像(具有不同大小)和标签通过一系列操作进行处理从而形成一个训练批次(图像大小相同,边界框列表被填充)。 多个预处理插件已经实现, 例如同时处理图像和标签(如随机旋转和随机翻转),将图像和标签的大小批量调整为固定大小(如随机裁剪),增加没有标签的图像等(例如随机模糊,随机饱和度和随机亮度)。


项目特点




  • 重现原始文件的训练结果。

  • 多规模训练。

  • 维度集群。

  • Darknet模型文件(.weights)解析器。

  • 从图像和相机检测。

  • 处理视频文件。

  • 多GPU支持。

  • 分布式训练。

  • 焦点损失。

  • 通道模型参数分析仪和修剪器。

 

快速开始



 

该项目需要使用Python 3去安装依赖库,在终端键入以下命令:

sudo pip3 install -r requirements.txt


quick_start.sh包含执行检测和评估的示例。 运行这个脚本。 将下载多个数据集和模型(原始的Darknet格式,将被转换成PyTorch的格式)。 这些数据集将缓存到不同的数据配置文件中,模型会对缓存的数据进行评估。并用于检测示例图像中的对象,并显示检测结果。


链接:https://github.com/ruiminshen/yolo2-pytorch


-END-

专 · 知

人工智能领域主题知识资料查看获取【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)

同时欢迎各位用户进行专知投稿,详情请点击

诚邀】专知诚挚邀请各位专业者加入AI创作者计划了解使用专知!

请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!

请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!

点击“阅读原文”,使用专知

登录查看更多
15

相关内容

Yolo算法,其全称是You Only Look Once: Unified, Real-Time Object Detection,You Only Look Once说的是只需要一次CNN运算,Unified指的是这是一个统一的框架,提供end-to-end的预测,而Real-Time体现是Yolo算法速度快。
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
专知会员服务
161+阅读 · 2020年4月21日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
199+阅读 · 2020年2月11日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
119+阅读 · 2019年12月31日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
生成式对抗网络GAN异常检测
专知会员服务
116+阅读 · 2019年10月13日
只需10行Python代码,就能实现计算机视觉中目标检测
用PyTorch做物体检测和追踪
AI研习社
12+阅读 · 2019年1月6日
基于深度学习的目标检测算法剖析与实现【附PPT与视频资料】
人工智能前沿讲习班
12+阅读 · 2018年12月25日
理解 YOLO 目标检测
AI研习社
21+阅读 · 2018年11月5日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
从零开始PyTorch项目:YOLO v3目标检测实现
机器之心
14+阅读 · 2018年4月23日
期待已久的—YOLO V3
计算机视觉战队
20+阅读 · 2018年4月13日
论文 | YOLO(You Only Look Once)目标检测
七月在线实验室
14+阅读 · 2017年12月12日
TensorMask: A Foundation for Dense Object Segmentation
Arxiv
10+阅读 · 2019年3月28日
Few-shot Adaptive Faster R-CNN
Arxiv
3+阅读 · 2019年3月22日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
4+阅读 · 2017年11月14日
Arxiv
4+阅读 · 2016年12月29日
VIP会员
相关VIP内容
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
专知会员服务
161+阅读 · 2020年4月21日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
199+阅读 · 2020年2月11日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
119+阅读 · 2019年12月31日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
生成式对抗网络GAN异常检测
专知会员服务
116+阅读 · 2019年10月13日
相关资讯
只需10行Python代码,就能实现计算机视觉中目标检测
用PyTorch做物体检测和追踪
AI研习社
12+阅读 · 2019年1月6日
基于深度学习的目标检测算法剖析与实现【附PPT与视频资料】
人工智能前沿讲习班
12+阅读 · 2018年12月25日
理解 YOLO 目标检测
AI研习社
21+阅读 · 2018年11月5日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
从零开始PyTorch项目:YOLO v3目标检测实现
机器之心
14+阅读 · 2018年4月23日
期待已久的—YOLO V3
计算机视觉战队
20+阅读 · 2018年4月13日
论文 | YOLO(You Only Look Once)目标检测
七月在线实验室
14+阅读 · 2017年12月12日
Top
微信扫码咨询专知VIP会员