>100 Views
June 19, 18
スライド概要
2018/06/18
Deep Learning JP:
http://deeplearning.jp/hacks/
DL輪読会資料
LT: Introduction to ChainerCV Shingo Kitagawa
What is ChainerCV? • Deep learning computer vision library with Chainer. • ChainerCV is developed by Preferred Networks. • Feel free to make PRs and issues • We are always welcome review and merge. • Implementations • • • • • Feature extraction Object detection Semantic segmentation Instance segmentation (New) and more.. • Github: https://github.com/chainer/chainercv • Arxiv: https://arxiv.org/abs/1708.08169
Feature extraction • ResNet • • • • Arch: He(original) and Facebook implementation is supported. ResNet50 ResNet101 ResNet152 • VGG • VGG16 • https://chainercv.readthedocs.io/en/stable/reference/links/resnet.html • https://chainercv.readthedocs.io/en/stable/reference/links/vgg.html
Object detection • Faster-RCNN • Faster-RCNN + VGG16 • Faster-RCNN + ResNet101 • (working) • SSD • SSD300 + VGG16 • SSD512 + VGG16 • YOLO • YOLO v2 + Darknet19 • YOLO v3 + Darknet53 • Training is now working
Semantic segmentation • SegNet • PSPNet • Training is now working Instance segmentation • FCIS • FCIS + ResNet101 • Training is now working • Mask-RCNN • It will be implemented soon.
What is different from other CV library? • Reproduce the score of original papers. • Standardize API. • Implement various useful functions. • Prepared sample example code. • Read a lot of WEB documentation. • Easy to install and use. • A lot of test codes for maintenance.
Reproduction of the original score • Stable: Faster-RCNN, SSD, YOLO, SegNet • No less than 0.5 point lower or even higher • Use it for the comparison with your method! • Experimental: FCIS, PSPNet (New) • Implemented but score is around 1.0 point lower • But we are still working to reproduce original paper.
API standardization • Models have the same utility functions. • prepare() : Preprocess input • predict() : Predict and return output • use_preset() : Set parameters • Naming conventions • It is strictly fixed in the source code.
Useful functions • Transforms • crop, flip, resize, translate, pca_lighting, scale, sized_crop • Random + crop, expand, flip, rotate, sized_crop • bounding box, image, point • Visualizations (matplotlib) • vis_bbox, vis_image, vis_point • vis_instance_segmentation, vis_semantic_segmentation • Utils • bbox_iou, mask_iou, nms, I/O • Evaluations • COCO, VOC and more.
Prepared example codes • chainercv/examples • Demo: • python demo.py • Training: • python train.py • Evaluation: • python eval_voc.py
WEB documentation (sphinx) • DOC: https://chainercv.readthedocs.io/en/stable/
Easy to install • pip install chainercv • Additional requirements • ChainerMN, Matplotlib, OpenCV, SciPy • Datasets and models will be installed automatically. • Default: ~/.chainer/pfnet/chainercv • Of course, you can install it manually by yourself. • ROS integration • Rosdistro: python-chainer-pip, python-chainercv-pip
Test codes • Github + Travis CI • chainercv/tests
Other Chainer family and useful pages • Chainer is super awesome! • Chainer family • ChainerMN, ChainerRL, ChainerUI • ONNX: ONNX-Chainer • Chainer Research • https://github.com/pfnet-research • chainer-chemistry, sngan, picking-instruction • Chainer community • https://github.com/chainer-community/awesome-chainer • https://github.com/chainer-community/chainer-info • Forum / Slack / Twitter
If you still cannot love chainer , • PyTorch: kuangliu/torchcv • Inspired from chainercv • Easy to use, read and write • https://github.com/kuangliu/torchcv • Tensorflow: tensorflow/models • A lot of model • Good to read and study, but not good to use. • Caffe2: facebookresearch/Detectron • Easy to use, read and write • Caffe2 is hard to install • Mxnet: apache/incubator-mxnet • A lot of model, but no proof of scores. • Spaghetti codes!