专栏首页专知【下载】PyTorch 实现的YOLO v2目标检测算法

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

【导读】目标检测是计算机视觉的重要组成部分,其目的是实现图像中目标的检测。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

本文分享自微信公众号 - 专知(Quan_Zhuanzhi)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 什么是MAP? 理解目标检测模型中的性能评估

    【导读】近日,机器学习工程师Tarang Shah发布一篇文章,探讨了机器学习中模型的度量指标的相关问题。本文首先介绍了机器学习中两个比较直观和常用的度量指标:...

    WZEARW
  • Think with Google 2018:谷歌在北京“AI演讲”

    【导读】北京时间2月6日,一年一度的Think With Google在北京召开。谷歌大中华区总裁石博盟发表开场演讲,感叹中国AI的发展迅猛,李佳博士介绍了谷歌...

    WZEARW
  • 方法总结:教你处理机器学习中不平衡类问题

    【导读】在构建机器学习模型的时候,你是否遇到过类样本不平衡问题?本文就讨论一下如何解决不同程度的类样本不平衡问题。本文整理了数据科学研究者Devin Soni发...

    WZEARW
  • 巡风源码浅析之 Vulscan 分析篇

    巡风是一款适用于企业内网的漏洞快速应急、巡航扫描系统,通过搜索功能可清晰的了解内部网络资产分布情况,并且可指定漏洞插件对搜索结果进行快速漏洞检测并输出结果报表。

    信安之路
  • 终于过审!首批小程序插件诞生了

    知晓君
  • 爱了爱了,这个 GitHub 的 Chrome 神仙插件把我整的服服帖帖的

    链接: https://pan.baidu.com/s/1oO3qQxn-1b_nwaTp0wBeBQ

    GitHubDaily
  • Alpha 版本的插件管理库和 CLI 工具

    我的 Google Summer of Code project 项目试图解决这个问题,方法是创建一个库,该库将在 Jenkins 的不同实现中统一插件管理逻辑...

    LinuxSuRen
  • 发布插件目录

    iOSDevLog
  • 动手实践:美化 Jenkins 报告插件的用户界面

    对于 Jenkins 而言,可使用插件来可视化各种构建步骤的结果。有一些插件可用于呈现测试结果、代码覆盖率、静态分析等。这些插件通常都会获取给定构建步骤的构建结...

    LinuxSuRen
  • 推荐几个好用到爆炸的Google Chrome插件

    这年头,上网不用Google Chrome都不好意思说自己是搞技术的高富帅……咳咳。

    短短的路走走停停

扫码关注云+社区

领取腾讯云代金券