/chainercv

ChainerCV: a Library for Deep Learning in Computer Vision

Primary LanguagePythonMIT LicenseMIT

PyPI License travis Read the Docs

ChainerCV: a Library for Deep Learning in Computer Vision

ChainerCV is a collection of tools to train and run neural networks for computer vision tasks using Chainer.

You can find the documentation here.

Supported tasks:

Guiding Principles

ChainerCV is developed under the following three guiding principles.

  • Ease of Use -- Implementations of computer vision networks with a cohesive and simple interface.
  • Reproducibility -- Training scripts that are perfect for being used as reference implementations.
  • Compositionality -- Tools such as data loaders and evaluation scripts that have common API.

Installation

$ pip install -U numpy
$ pip install chainercv

The instruction on installation using Anaconda is here (recommended).

Requirements

  • Chainer and its dependencies
  • Pillow
  • Cython (Build requirements)

For additional features

Environments under Python 2.7.12 and 3.6.0 are tested.

  • The master branch is designed to work on Chainer v6 (the stable version) and v7 (the development version).
  • The following branches are kept for the previous version of Chainer. Note that these branches are unmaintained.
    • 0.4.11 (for Chainer v1). It can be installed by pip install chainercv==0.4.11.
    • 0.7 (for Chainer v2). It can be installed by pip install chainercv==0.7.
    • 0.8 (for Chainer v3). It can be installed by pip install chainercv==0.8.
    • 0.10 (for Chainer v4). It can be installed by pip install chainercv==0.10.
    • 0.12 (for Chainer v5). It can be installed by pip install chainercv==0.12.
    • 0.13 (for Chainer v6). It can be installed by pip install chainercv==0.13.

Data Conventions

  • Image
    • The order of color channel is RGB.
    • Shape is CHW (i.e. (channel, height, width)).
    • The range of values is [0, 255].
    • Size is represented by row-column order (i.e. (height, width)).
  • Bounding Boxes
    • Shape is (R, 4).
    • Coordinates are ordered as (y_min, x_min, y_max, x_max). The order is the opposite of OpenCV.
  • Semantic Segmentation Image
    • Shape is (height, width).
    • The value is class id, which is in range [0, n_class - 1].

Sample Visualization

Example are outputs of detection models supported by ChainerCV These are the outputs of the detection models supported by ChainerCV.

Citation

If ChainerCV helps your research, please cite the paper for ACM Multimedia Open Source Software Competition. Here is a BibTeX entry:

@inproceedings{ChainerCV2017,
    author = {Niitani, Yusuke and Ogawa, Toru and Saito, Shunta and Saito, Masaki},
    title = {ChainerCV: a Library for Deep Learning in Computer Vision},
    booktitle = {ACM Multimedia},
    year = {2017},
}

The preprint can be found in arXiv: https://arxiv.org/abs/1708.08169