资源算法YAD2K

YAD2K

2020-01-03 | |  28 |   0 |   0

YAD2K: Yet Another Darknet 2 Keras

license

Welcome to YAD2K

You only look once, but you reimplement neural nets over and over again.

YAD2K is a 90% Keras/10% Tensorflow implementation of YOLO_v2.

Original paper: YOLO9000: Better, Faster, Stronger by Joseph Redmond and Ali Farhadi.

YOLO_v2 COCO model with test_yolo defaults


Requirements

Installation

git clone https://github.com/allanzelener/yad2k.gitcd yad2k# [Option 1] To replicate the conda environment:conda env create -f environment.ymlsource activate yad2k# [Option 2] Install everything globaly.pip install numpy h5py pillow
pip install tensorflow-gpu  # CPU-only: conda install -c conda-forge tensorflowpip install keras # Possibly older release: conda install keras

Quick Start

  • Download Darknet model cfg and weights from the official YOLO website.

  • Convert the Darknet YOLO_v2 model to a Keras model.

  • Test the converted model on the small test set in images/.

wget http://pjreddie.com/media/files/yolo.weights
wget https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolo.cfg
./yad2k.py yolo.cfg yolo.weights model_data/yolo.h5
./test_yolo.py model_data/yolo.h5  # output in images/out/

See ./yad2k.py --help and ./test_yolo.py --help for more options.


More Details

The YAD2K converter currently only supports YOLO_v2 style models, this include the following configurations: darknet19_448, tiny-yolo-voc, yolo-voc, and yolo.

yad2k.py -p will produce a plot of the generated Keras model. For example see yolo.png.

YAD2K assumes the Keras backend is Tensorflow. In particular for YOLO_v2 models with a passthrough layer, YAD2K uses tf.space_to_depth to implement the passthrough layer. The evaluation script also directly uses Tensorflow tensors and uses tf.non_max_suppression for the final output.

voc_conversion_scripts contains two scripts for converting the Pascal VOC image dataset with XML annotations to either HDF5 or TFRecords format for easier training with Keras or Tensorflow.

yad2k/models contains reference implementations of Darknet-19 and YOLO_v2.

train_overfit is a sample training script that overfits a YOLO_v2 model to a single image from the Pascal VOC dataset.

Known Issues and TODOs

  • Expand sample training script to train YOLO_v2 reference model on full dataset.

  • Support for additional Darknet layer types.

  • Tuck away the Tensorflow dependencies with Keras wrappers where possible.

  • YOLO_v2 model does not support fully convolutional mode. Current implementation assumes 1:1 aspect ratio images.

Darknets of Yore

YAD2K stands on the shoulders of giants.

上一篇:darknet-ocr

下一篇:async_faspell

用户评价
全部评价

热门资源

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • shih-styletransfer

    shih-styletransfer Code from Style Transfer ...