资源 | ChainerCV:基于Chainer的深度学习计算机视觉实用库(内含工具集)

选自GitHub

作者:二井谷勇佑(Yusuke Niitani)

机器之心编译

参与:黄小天、蒋思源

近日,Preferred Networks 通过其研究博客发布了深度学习计算机视觉实用库 ChainerCV,它基于 Chainer,能够简化计算机视觉的训练和应用过程,并含有用于计算机视觉研究的必备工具集。未来,ChainerCV 将会支持分类任务;其论文已被 ACM Multimedia 2017 开源软件竞赛接收,并很快在 arXiv 上开放。

我们发布了 ChainerCV,一个用于计算机视觉的深度学习实用库。这个库旨在通过 Chainer 简易化计算机视觉的训练和深度学习模型应用的过程。它包含计算机视觉模型的高质量实现,以及开展计算机视觉研究的必备工具集。

  • GitHub 地址:https://github.com/chainer/chainercv
  • 文档:http://chainercv.readthedocs.io/en/stable/

ChainerCV 支持的功能

计算机视觉模型的高质量实现

软件的质量通过文档和测试获得保证。除了那些传统的软件工程实践之外,对于想要尝试新想法的研发人员来说,一个与前沿论文性能一致的训练脚本同样重要。我们在 GitHub 上列举了实现的性能,其评估脚本可用于验证本地计算机上的分数。所有的实现都与原始报告的分数相一致。

我们的实现尽可能忠于参考实现。无论何时进行更改,文档中都会生成一个相应的评论。

当前,ChainerCV 提供了目标检测和语义分割模型(Faster R-CNN、SSD 和 SegNet)的实现。

简单易用的实现

在 ChainerCV 中执行推理非常容易。ChainerCV 具有大量的已训练权重,可在运行时自动从网络上下载,因此用户无需担心下载或者记住已训练权重的文件位置。同样,ChainerCV 提供了简单统一的界面,从而为解决相同任务的不同模型执行推理。例如,Faster R-CNN 和 SSD 都具备一个被称作「预测」的方法,它可以接收图像并返回物体检测的结果。

转换

ChainerCV 还提供了通用函数以在馈送到神经网络之前执行数据预处理。用户可以通过定义函数创建定制化的预处理流程,因此以描述转换输入数据的过程。

计算机视觉的研究工具

ChainerCV 包含了一组指导计算机视觉研究的工具:

  • 为一般视觉数据集(如 PASCAL VOC 任务的目标识别数据集)而构建的数据集加载器
  • 能用于数据预处理/数据增强的转换
  • 可视化
  • 一般度量方法的评估代码

可视化执行模型所得到的推理结果

在上图左侧,我们的物体检测模型推理出一个输出结果。该物体检测是一种带有物体定位的图像识别任务。上图右侧显示了输入图片和输出的语义分割图像。语义分割是一种像素级分类任务,它将整张图片按属性分割为不同的对象。

安装

$ pip install -U numpy
$ pip install chainercv

使用 Anaconda 安装 ChainerCV 的指南:http://chainercv.readthedocs.io/en/stable/#install-guide

环境要求

  • Chainer 和其依赖项
  • Pillow
  • Cython(构建要求)

附加特征

  • Matplotlib
  • OpenCV

Python 2.7.12 和 3.6.0 下的环境已经获得测试。

主分支在稳定版(v2)和开发版(v3)都能运行

对于使用 Chainer v1 的用户,请使用 0.4.11 版本,我们可以使用命令行「pip install chainercv==0.4.11」安装该版本,但是该分支并没有进行维护。

使用 ChainerCV 的注意事项

计算机视觉上的数据很多都有不同的表征标准,例如色彩通道规则等。所以用户需要了解本软件库默认采用的规范就很重要了。ChainerCV 使用的全部约定可以在 Github 中的 README 页面中找到。

ChainerCV 未来的计划

  • 计划未来能支持更广泛的任务,很快 ChainerCV 就能支持分类任务了。
  • 计划提供在大数据集上训练的预训练模型,但这在有限的计算力下比较困难或比较耗时。
  • ChainerCV 的论文已被 ACM Multimedia 2017 开源软件竞赛接收,并很快在 arXiv 上开放。

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-08-16

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量子位

深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目

问耕 编译自 Source Dexter 量子位 出品 | 公众号 QbitAI 作者简介:akshay pai,数据科学工程师,热爱研究机器学习问题。Sour...

5749
来自专栏AI科技大本营的专栏

如何通过深度学习轻松实现自动化监控?

【导读】这是一篇关于使用基于深度学习的目标检测来实现监控系统的快速教程。在教程中通过使用 GPU 多处理器来比较不同目标检测模型在行人检测上的性能。

1145
来自专栏腾讯云服务器团队的专栏

基于混合集成学习算法的热迁移超时预测模型

在云计算资源管理中,热迁移是实现资源配置的重要手段,常常会因为多种场景需要发起热迁移:例如资源调配,母机负载均衡以及运维人工热迁移等场景。

5573
来自专栏机器之心

教程 |「世界模型」实现,一步步让机器掌握赛车和躲避火球的技能

1535
来自专栏AI科技大本营的专栏

10行代码实现目标检测,请收下这份教程

作为人工智能的一个重要领域,计算机视觉是一门可以识别并理解图像和场景的计算机及软件系统科学。该领域主要包括图像识别,目标检测,图像生成,图像超分辨率等多个方向。...

1301
来自专栏自学笔记

Label Propagation

Label propagation是基于标传播的一种社区划分算法。Label Propagation Algorithm简称LPA算法,也可以是说是一种划分小团...

2574
来自专栏IT派

11 个Javascript机器学习库

Brain.js是一个Javascript库,用于替代(现在已弃用的)“ 脑 ”库的神经网络,该库可与Node.js一起使用或在浏览器中使用(注释计算),并为不...

1334
来自专栏量子位

自动给神经网络找bug,Google发布TensorFuzz

能不能把炼丹师们从无休止无希望的debug工作中拯救出来?两位谷歌大脑研究员Augustus Odena和Ian Goodfellow说,好像能。

1500
来自专栏新智元

DeepMind 提出分层强化学习新模型 FuN,超越 LSTM

【新智元导读】在用强化学习玩游戏的路上越走越远的 DeepMind,今天发表在 arxiv上的最新论文《分层强化学习的 FeUdal 网络》引起热议。简称 Fu...

50312
来自专栏新智元

谷歌最强NLP模型BERT官方代码来了!GitHub一天3000星

昨天,谷歌在GitHub上发布了备受关注的“最强NLP模型”BERT的TensorFlow代码和预训练模型,不到一天时间,已经获得3000多星!

2953

扫码关注云+社区

领取腾讯云代金券