Find file History
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
data [on behalf of another] Add YOLOv2 training code Jun 27, 2018
ros Fix misspell with aspell. Sep 17, 2018
scripts [yolov2] voc_eval.py compatible with python 3 Oct 26, 2018
tutorial [yolov2] Update tutorial Oct 26, 2018
.gitignore [yolov2] Ignore training artifacts Oct 26, 2018
LICENSE.external [on behalf of another] Add YOLOv2 training code Jun 27, 2018
README.md Fix misspell with aspell. Sep 17, 2018
arg_utils.py [yolov2] arg_utils Oct 26, 2018
convert_darknet19_448_conv_23_weights_to_nnabla.py Properly read headers in darknet weights files Aug 22, 2018
convert_darknet19_weights_to_nnabla.py Properly read headers in darknet weights files Aug 22, 2018
convert_yolov2_weights_to_nnabla.py Fix misspell with aspell. Sep 17, 2018
darknet19.py Darknet19 inference May 15, 2018
darknet19_classification.py fix image_utils inconsistency Nov 20, 2018
darknet_parser.py Properly read headers in darknet weights files Aug 22, 2018
dataset.py [yolov2] Update data loader Oct 26, 2018
download_darknet_yolo.py Download script for requirements of YOLOV2 May 15, 2018
draw_utils.py Use PIL.ImageDraw if cv2 is not available Aug 22, 2018
image.py [yolov2] Update data loader Oct 26, 2018
image2.py [yolov2] Update data loader Oct 26, 2018
quickstart.md [yolov2] Update tutorial Oct 26, 2018
region_loss_utils.py [yolov2] Wrap graph creation, Region loss as PythonFunction Oct 26, 2018
train.py [yolov2] Save the final parameters Oct 26, 2018
train_graph.py Add thresholding for the height. Jan 7, 2019
utils.py [yolov2] Prefetch data in validation script Oct 26, 2018
valid.py [yolov2] Prefetch data in validation script Oct 26, 2018
yolov2.py Fix misspell with aspell. Sep 17, 2018
yolov2_detection.py fix image_utils inconsistency Nov 20, 2018
yolov2_nnp.py [yolov2] arg_utils Oct 26, 2018

README.md

YOLO v2 : Image object detection

Welcome to YOLO-v2-NNabla! YOLO-v2-NNabla allows you to run image object detection on NNabla, producing an image like what is shown below.

For a quick start on running image object detection on a given image using pre-trained network weights, please see the quick start guide!

(TODO: insert image)

Running Image Object Detection

YOLO-v2-NNabla currently runs on Python, or on ROS C++ nodes.

On Python

For instructions on running image object detection the Python API, please see the quick start guide. This tutorial covers the instructions on how to run image object detection on a given image, using pre-trained network weights.

On ROS C++ nodes

NOTE: See this page for a build instruction of C++ libraries.

  1. Generate NNP format file for YOLOv2 inference. (Require the weight file created above.)
python yolov2_nnp.py
  1. Copy the generated coco.names and yolov2.nnp to ./ros/nnabla_object_detection/data/.
  2. Create a symbolic link to nnabla_object_detection at your catkin_workspace.
  3. Build your catkin workspace. The headers and so files of nnabla, nnabla_utils and nnabla_ext_cuda must be in paths. If you don't use a CUDA extension of NNabla, add -DWITH_CUDA=OFF to catkin_make command.
  4. Launch roslaunch nnabla_object_detection demo.launch with appropriate args. See the launch file for options.

Training, Evaluating, and Detection Using Trained Parameters

The training code was forked from https://github.com/marvis/pytorch-yolo2. See the License section for details.

For details on training and evaluating your network's mAP (Mean Average Precision), see Tutorial: Training the YOLO v2 Network with YOLO-v2-NNabla.


License

dataset.py, image.py, region_loss.py, train.py, utils.py, and valid.py were forked from https://github.com/marvis/pytorch-yolo2, licensed under the MIT License (see ./LICENSE.external for more details).

scripts/voc_eval.py was forked from https://github.com/rbgirshick/py-faster-rcnn, licensed under the MIT License (see ./LICENSE.external for more details).