commit 90a0f6d63ae94e97d72ae5dc49090eb74ec93fd7 Author: sipp11 Date: Fri Oct 18 17:43:13 2019 +0900 Initial commit Originally from https://github.com/balancap/SSD-Tensorflow diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a561fe1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Directories. +__pycache__/ +datasets/__pycache__/ +deployment/__pycache__/ +nets/__pycache__/ +preprocessing/__pycache__/ + +.ipynb_checkpoints/ +notebooks/.ipynb_checkpoints/ + +checkpoints/ssd_300_vgg.ckpt.data-00000-of-00001 +checkpoints/ssd_300_vgg.ckpt.index +checkpoints/models/* +checkpoints/VGG_VOC0712_SSD_* +checkpoints/vgg_16.ckpt +checkpoints/model.ckpt-* + +logs/ +*.log +nohup.out + +ssd-tensorflow.sublime-workspace +ssd-tensorflow.sublime-project + +tf_records diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c72aad5 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "python.pythonPath": "~/.virtualenvs/tf/bin/python", + "python.formatting.provider": "black" +} \ No newline at end of file diff --git a/COMMANDS.md b/COMMANDS.md new file mode 100644 index 0000000..5442a8e --- /dev/null +++ b/COMMANDS.md @@ -0,0 +1,333 @@ +# =========================================================================== # +# Dataset convert... +# =========================================================================== # +rm events* graph* model* checkpoint +mv events* graph* model* checkpoint ./log + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/rawdata/VOC2012/trainval/ +OUTPUT_DIR=/media/paul/DataExt4/PascalVOC/dataset +python tf_convert_data.py \ + --dataset_name=pascalvoc \ + --dataset_dir=${DATASET_DIR} \ + --output_name=voc_2012_train \ + --output_dir=${OUTPUT_DIR} + +CAFFE_MODEL=/media/paul/DataExt4/PascalVOC/training/ckpts/SSD_300x300_VOC0712/VGG_VOC0712_SSD_300x300_iter_120000.caffemodel +python caffe_to_tensorflow.py \ + --model_name=ssd_300_vgg \ + --num_classes=21 \ + --caffemodel_path=${CAFFE_MODEL} + +# =========================================================================== # +# VGG-based SSD network +# =========================================================================== # +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=./logs/ssd_300_vgg_3 +CHECKPOINT_PATH=./checkpoints/ssd_300_vgg.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --learning_rate_decay_factor=0.95 \ + --batch_size=32 + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=./logs/ssd_300_vgg_3 +EVAL_DIR=${TRAIN_DIR}/eval +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${TRAIN_DIR} \ + --wait_for_checkpoints=True \ + --batch_size=1 \ + --max_num_batches=500 + + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +EVAL_DIR=./logs/ssd_300_vgg_1_eval +CHECKPOINT_PATH=./checkpoints/ssd_300_vgg.ckpt +CHECKPOINT_PATH=./checkpoints/VGG_VOC0712_SSD_300x300_iter_120000.ckpt +CHECKPOINT_PATH=./checkpoints/VGG_VOC0712_SSD_300x300_ft_iter_120000.ckpt +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --batch_size=1 \ + --max_num_batches=10 + + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +EVAL_DIR=./logs/ssd_300_vgg_1_eval +CHECKPOINT_PATH=./checkpoints/VGG_VOC0712_SSD_512x512_ft_iter_120000.ckpt +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_512_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --batch_size=1 \ + --max_num_batches=10 + +# =========================================================================== # +# Fine tune VGG-based SSD network +# =========================================================================== # +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=/media/paul/DataExt4/PascalVOC/training/logs/ssd_300_vgg_6 +CHECKPOINT_PATH=./checkpoints/vgg_16.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --checkpoint_model_scope=vgg_16 \ + --checkpoint_exclude_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --learning_rate_decay_factor=0.94 \ + --batch_size=32 + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=/media/paul/DataExt4/PascalVOC/training/logs/ssd_300_vgg_13 +CHECKPOINT_PATH=./checkpoints/vgg_16.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --checkpoint_model_scope=vgg_16 \ + --checkpoint_exclude_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --trainable_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --learning_rate_decay_factor=0.94 \ + --batch_size=32 + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=/media/paul/DataExt4/PascalVOC/training/logs/ssd_300_vgg_2 +CHECKPOINT_PATH=./checkpoints/vgg_16.ckpt +CHECKPOINT_PATH=media/paul/DataExt4/PascalVOC/training/logs/ssd_300_vgg_1/ +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.0005 \ + --learning_rate_decay_factor=0.96 \ + --batch_size=32 + +EVAL_DIR=${TRAIN_DIR}/eval +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${TRAIN_DIR} \ + --wait_for_checkpoints=True \ + --batch_size=1 + + +# =========================================================================== # +# Inception v3 +# =========================================================================== # +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +DATASET_DIR=../datasets/ImageNet +TRAIN_DIR=./logs/inception_v3 +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/ckpts/inception_v3.ckpt +CHECKPOINT_PATH=./checkpoints/inception_v3.ckpt +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=inception_v3 \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=60 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.00005 \ + --batch_size=4 + + +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/logs +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/ckpts/inception_v3.ckpt +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=validation \ + --model_name=inception_v3 + + +# =========================================================================== # +# VGG 16 and 19 +# =========================================================================== # +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/ckpts/vgg_19.ckpt +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --labels_offset=1 \ + --dataset_split_name=validation \ + --model_name=vgg_19 + + +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/ckpts/vgg_16.ckpt +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --labels_offset=1 \ + --dataset_split_name=validation \ + --model_name=vgg_16 + + +# =========================================================================== # +# Xception +# =========================================================================== # +DATASET_DIR=../datasets/ImageNet +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +TRAIN_DIR=./logs/xception +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt + +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=xception \ + --labels_offset=1 \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=600 \ + --save_interval_secs=600 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.0001 \ + --batch_size=32 + +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=xception \ + --labels_offset=1 \ + --save_summaries_secs=60 \ + --save_interval_secs=60 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.00005 \ + --batch_size=1 + + +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt +CHECKPOINT_PATH=./logs/xception +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt +DATASET_DIR=../datasets/ImageNet +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --labels_offset=1 \ + --dataset_name=imagenet \ + --dataset_split_name=validation \ + --model_name=xception \ + --max_num_batches=10 + + +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.h5 +python ckpt_keras_to_tensorflow.py \ + --model_name=xception_keras \ + --num_classes=1000 \ + --checkpoint_path=${CHECKPOINT_PATH} + + +# =========================================================================== # +# Dception +# =========================================================================== # +DATASET_DIR=../datasets/ImageNet +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +TRAIN_DIR=./logs/dception +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt + +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=dception \ + --labels_offset=1 \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=60 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.00005 \ + --batch_size=32 + +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=dception \ + --labels_offset=1 \ + --save_summaries_secs=60 \ + --save_interval_secs=60 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.00005 \ + --batch_size=1 + + +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt +CHECKPOINT_PATH=./logs/dception +DATASET_DIR=../datasets/ImageNet +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --labels_offset=1 \ + --dataset_name=imagenet \ + --dataset_split_name=validation \ + --model_name=dception diff --git a/README.md b/README.md new file mode 100644 index 0000000..4137fb9 --- /dev/null +++ b/README.md @@ -0,0 +1,169 @@ +# SSD: Single Shot MultiBox Detector in TensorFlow + +SSD is an unified framework for object detection with a single network. It has been originally introduced in this research [article](http://arxiv.org/abs/1512.02325). + +This repository contains a TensorFlow re-implementation of the original [Caffe code](https://github.com/weiliu89/caffe/tree/ssd). At present, it only implements VGG-based SSD networks (with 300 and 512 inputs), but the architecture of the project is modular, and should make easy the implementation and training of other SSD variants (ResNet or Inception based for instance). Present TF checkpoints have been directly converted from SSD Caffe models. + +The organisation is inspired by the TF-Slim models repository containing the implementation of popular architectures (ResNet, Inception and VGG). Hence, it is separated in three main parts: +* datasets: interface to popular datasets (Pascal VOC, COCO, ...) and scripts to convert the former to TF-Records; +* networks: definition of SSD networks, and common encoding and decoding methods (we refer to the paper on this precise topic); +* pre-processing: pre-processing and data augmentation routines, inspired by original VGG and Inception implementations. + +## SSD minimal example + +The [SSD Notebook](notebooks/ssd_notebook.ipynb) contains a minimal example of the SSD TensorFlow pipeline. Shortly, the detection is made of two main steps: running the SSD network on the image and post-processing the output using common algorithms (top-k filtering and Non-Maximum Suppression algorithm). + +Here are two examples of successful detection outputs: +![](pictures/ex1.png "SSD anchors") +![](pictures/ex2.png "SSD anchors") + +To run the notebook you first have to unzip the checkpoint files in ./checkpoint +```bash +unzip ssd_300_vgg.ckpt.zip +``` +and then start a jupyter notebook with +```bash +jupyter notebook notebooks/ssd_notebook.ipynb +``` + + +## Datasets + +The current version only supports Pascal VOC datasets (2007 and 2012). In order to be used for training a SSD model, the former need to be converted to TF-Records using the `tf_convert_data.py` script: +```bash +DATASET_DIR=./VOC2007/test/ +OUTPUT_DIR=./tfrecords +python tf_convert_data.py \ + --dataset_name=pascalvoc \ + --dataset_dir=${DATASET_DIR} \ + --output_name=voc_2007_train \ + --output_dir=${OUTPUT_DIR} +``` +Note the previous command generated a collection of TF-Records instead of a single file in order to ease shuffling during training. + +## Evaluation on Pascal VOC 2007 + +The present TensorFlow implementation of SSD models have the following performances: + +| Model | Training data | Testing data | mAP | FPS | +|--------|:---------:|:------:|:------:|:------:| +| [SSD-300 VGG-based](https://drive.google.com/open?id=0B0qPCUZ-3YwWZlJaRTRRQWRFYXM) | VOC07+12 trainval | VOC07 test | 0.778 | - | +| [SSD-300 VGG-based](https://drive.google.com/file/d/0B0qPCUZ-3YwWUXh4UHJrd1RDM3c/view?usp=sharing) | VOC07+12+COCO trainval | VOC07 test | 0.817 | - | +| [SSD-512 VGG-based](https://drive.google.com/open?id=0B0qPCUZ-3YwWT1RCLVZNN3RTVEU) | VOC07+12+COCO trainval | VOC07 test | 0.837 | - | + +We are working hard at reproducing the same performance as the original [Caffe implementation](https://github.com/weiliu89/caffe/tree/ssd)! + +After downloading and extracting the previous checkpoints, the evaluation metrics should be reproducible by running the following command: +```bash +EVAL_DIR=./logs/ +CHECKPOINT_PATH=./checkpoints/VGG_VOC0712_SSD_300x300_ft_iter_120000.ckpt +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --batch_size=1 +``` +The evaluation script provides estimates on the recall-precision curve and compute the mAP metrics following the Pascal VOC 2007 and 2012 guidelines. + +In addition, if one wants to experiment/test a different Caffe SSD checkpoint, the former can be converted to TensorFlow checkpoints as following: +```sh +CAFFE_MODEL=./ckpts/SSD_300x300_ft_VOC0712/VGG_VOC0712_SSD_300x300_ft_iter_120000.caffemodel +python caffe_to_tensorflow.py \ + --model_name=ssd_300_vgg \ + --num_classes=21 \ + --caffemodel_path=${CAFFE_MODEL} +``` + +## Training + +The script `train_ssd_network.py` is in charged of training the network. Similarly to TF-Slim models, one can pass numerous options to the training process (dataset, optimiser, hyper-parameters, model, ...). In particular, it is possible to provide a checkpoint file which can be use as starting point in order to fine-tune a network. + +### Fine-tuning existing SSD checkpoints + +The easiest way to fine the SSD model is to use as pre-trained SSD network (VGG-300 or VGG-512). For instance, one can fine a model starting from the former as following: +```bash +DATASET_DIR=./tfrecords +TRAIN_DIR=./logs/ +CHECKPOINT_PATH=./checkpoints/ssd_300_vgg.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --batch_size=32 +``` +Note that in addition to the training script flags, one may also want to experiment with data augmentation parameters (random cropping, resolution, ...) in `ssd_vgg_preprocessing.py` or/and network parameters (feature layers, anchors boxes, ...) in `ssd_vgg_300/512.py` + +Furthermore, the training script can be combined with the evaluation routine in order to monitor the performance of saved checkpoints on a validation dataset. For that purpose, one can pass to training and validation scripts a GPU memory upper limit such that both can run in parallel on the same device. If some GPU memory is available for the evaluation script, the former can be run in parallel as follows: +```bash +EVAL_DIR=${TRAIN_DIR}/eval +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${TRAIN_DIR} \ + --wait_for_checkpoints=True \ + --batch_size=1 \ + --max_num_batches=500 +``` + +### Fine-tuning a network trained on ImageNet + +One can also try to build a new SSD model based on standard architecture (VGG, ResNet, Inception, ...) and set up on top of it the `multibox` layers (with specific anchors, ratios, ...). For that purpose, you can fine-tune a network by only loading the weights of the original architecture, and initialize randomly the rest of network. For instance, in the case of the [VGG-16 architecture](http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz), one can train a new model as following: +```bash +DATASET_DIR=./tfrecords +TRAIN_DIR=./log/ +CHECKPOINT_PATH=./checkpoints/vgg_16.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --checkpoint_model_scope=vgg_16 \ + --checkpoint_exclude_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --trainable_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --learning_rate_decay_factor=0.94 \ + --batch_size=32 +``` +Hence, in the former command, the training script randomly initializes the weights belonging to the `checkpoint_exclude_scopes` and load from the checkpoint file `vgg_16.ckpt` the remaining part of the network. Note that we also specify with the `trainable_scopes` parameter to first only train the new SSD components and left the rest of VGG network unchanged. Once the network has converged to a good first result (~0.5 mAP for instance), you can fine-tuned the complete network as following: +```bash +DATASET_DIR=./tfrecords +TRAIN_DIR=./log_finetune/ +CHECKPOINT_PATH=./log/model.ckpt-N +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --checkpoint_model_scope=vgg_16 \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.00001 \ + --learning_rate_decay_factor=0.94 \ + --batch_size=32 +``` + +A number of pre-trained weights of popular deep architectures can be found on [TF-Slim models page](https://github.com/tensorflow/models/tree/master/slim). diff --git a/caffe_to_tensorflow.py b/caffe_to_tensorflow.py new file mode 100644 index 0000000..e1fa2fd --- /dev/null +++ b/caffe_to_tensorflow.py @@ -0,0 +1,66 @@ +"""Convert a Caffe model file to TensorFlow checkpoint format. + +Assume that the network built is a equivalent (or a sub-) to the Caffe +definition. +""" +import tensorflow as tf + +from nets import caffe_scope +from nets import nets_factory + +slim = tf.contrib.slim + +# =========================================================================== # +# Main flags. +# =========================================================================== # +tf.app.flags.DEFINE_string( + 'model_name', 'ssd_300_vgg', 'Name of the model to convert.') +tf.app.flags.DEFINE_string( + 'num_classes', 21, 'Number of classes in the dataset.') +tf.app.flags.DEFINE_string( + 'caffemodel_path', None, + 'The path to the Caffe model file to convert.') + +FLAGS = tf.app.flags.FLAGS + + +# =========================================================================== # +# Main converting routine. +# =========================================================================== # +def main(_): + # Caffe scope... + caffemodel = caffe_scope.CaffeScope() + caffemodel.load(FLAGS.caffemodel_path) + + tf.logging.set_verbosity(tf.logging.INFO) + with tf.Graph().as_default(): + global_step = slim.create_global_step() + num_classes = int(FLAGS.num_classes) + + # Select the network. + ssd_class = nets_factory.get_network(FLAGS.model_name) + ssd_params = ssd_class.default_params._replace(num_classes=num_classes) + ssd_net = ssd_class(ssd_params) + ssd_shape = ssd_net.params.img_shape + + # Image placeholder and model. + shape = (1, ssd_shape[0], ssd_shape[1], 3) + img_input = tf.placeholder(shape=shape, dtype=tf.float32) + # Create model. + with slim.arg_scope(ssd_net.arg_scope_caffe(caffemodel)): + ssd_net.net(img_input, is_training=False) + + init_op = tf.global_variables_initializer() + with tf.Session() as session: + # Run the init operation. + session.run(init_op) + + # Save model in checkpoint. + saver = tf.train.Saver() + ckpt_path = FLAGS.caffemodel_path.replace('.caffemodel', '.ckpt') + saver.save(session, ckpt_path, write_meta_graph=False) + + +if __name__ == '__main__': + tf.app.run() + diff --git a/checkpoints/.gitignore b/checkpoints/.gitignore new file mode 100644 index 0000000..72e8ffc --- /dev/null +++ b/checkpoints/.gitignore @@ -0,0 +1 @@ +* diff --git a/datasets/__init__.py b/datasets/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/datasets/__init__.py @@ -0,0 +1 @@ + diff --git a/datasets/cifar10.py b/datasets/cifar10.py new file mode 100644 index 0000000..2334269 --- /dev/null +++ b/datasets/cifar10.py @@ -0,0 +1,98 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the Cifar10 dataset. + +The dataset scripts used to create the dataset can be found at: +tensorflow/models/slim/data/create_cifar10_dataset.py +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import tensorflow as tf + +from datasets import dataset_utils + +slim = tf.contrib.slim + +_FILE_PATTERN = 'cifar10_%s.tfrecord' + +SPLITS_TO_SIZES = {'train': 50000, 'test': 10000} + +_NUM_CLASSES = 10 + +_ITEMS_TO_DESCRIPTIONS = { + 'image': 'A [32 x 32 x 3] color image.', + 'label': 'A single integer between 0 and 9', +} + + +def get_split(split_name, dataset_dir, file_pattern=None, reader=None): + """Gets a dataset tuple with instructions for reading cifar10. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if split_name not in SPLITS_TO_SIZES: + raise ValueError('split name %s was not recognized.' % split_name) + + if not file_pattern: + file_pattern = _FILE_PATTERN + file_pattern = os.path.join(dataset_dir, file_pattern % split_name) + + # Allowing None in the signature so that dataset_factory can use the default. + if not reader: + reader = tf.TFRecordReader + + keys_to_features = { + 'image/encoded': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature((), tf.string, default_value='png'), + 'image/class/label': tf.FixedLenFeature( + [], tf.int64, default_value=tf.zeros([], dtype=tf.int64)), + } + + items_to_handlers = { + 'image': slim.tfexample_decoder.Image(shape=[32, 32, 3]), + 'label': slim.tfexample_decoder.Tensor('image/class/label'), + } + + decoder = slim.tfexample_decoder.TFExampleDecoder( + keys_to_features, items_to_handlers) + + labels_to_names = None + if dataset_utils.has_labels(dataset_dir): + labels_to_names = dataset_utils.read_label_file(dataset_dir) + + return slim.dataset.Dataset( + data_sources=file_pattern, + reader=reader, + decoder=decoder, + num_samples=SPLITS_TO_SIZES[split_name], + items_to_descriptions=_ITEMS_TO_DESCRIPTIONS, + num_classes=_NUM_CLASSES, + labels_to_names=labels_to_names) diff --git a/datasets/dataset_factory.py b/datasets/dataset_factory.py new file mode 100644 index 0000000..dee6e90 --- /dev/null +++ b/datasets/dataset_factory.py @@ -0,0 +1,55 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""A factory-pattern class which returns classification image/label pairs.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from datasets import cifar10 +from datasets import imagenet + +from datasets import pascalvoc_2007 +from datasets import pascalvoc_2012 + +datasets_map = { + 'cifar10': cifar10, + 'imagenet': imagenet, + 'pascalvoc_2007': pascalvoc_2007, + 'pascalvoc_2012': pascalvoc_2012, +} + + +def get_dataset(name, split_name, dataset_dir, file_pattern=None, reader=None): + """Given a dataset name and a split_name returns a Dataset. + + Args: + name: String, the name of the dataset. + split_name: A train/test split name. + dataset_dir: The directory where the dataset files are stored. + file_pattern: The file pattern to use for matching the dataset source files. + reader: The subclass of tf.ReaderBase. If left as `None`, then the default + reader defined by each dataset is used. + Returns: + A `Dataset` class. + Raises: + ValueError: If the dataset `name` is unknown. + """ + if name not in datasets_map: + raise ValueError('Name of dataset unknown %s' % name) + return datasets_map[name].get_split(split_name, + dataset_dir, + file_pattern, + reader) diff --git a/datasets/dataset_utils.py b/datasets/dataset_utils.py new file mode 100644 index 0000000..63a56c4 --- /dev/null +++ b/datasets/dataset_utils.py @@ -0,0 +1,134 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains utilities for downloading and converting datasets.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import sys +import tarfile + +from six.moves import urllib +import tensorflow as tf + +LABELS_FILENAME = 'labels.txt' + + +def int64_feature(value): + """Wrapper for inserting int64 features into Example proto. + """ + if not isinstance(value, list): + value = [value] + return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) + + +def float_feature(value): + """Wrapper for inserting float features into Example proto. + """ + if not isinstance(value, list): + value = [value] + return tf.train.Feature(float_list=tf.train.FloatList(value=value)) + + +def bytes_feature(value): + """Wrapper for inserting bytes features into Example proto. + """ + if not isinstance(value, list): + value = [value] + return tf.train.Feature(bytes_list=tf.train.BytesList(value=value)) + + +def image_to_tfexample(image_data, image_format, height, width, class_id): + return tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': bytes_feature(image_data), + 'image/format': bytes_feature(image_format), + 'image/class/label': int64_feature(class_id), + 'image/height': int64_feature(height), + 'image/width': int64_feature(width), + })) + + +def download_and_uncompress_tarball(tarball_url, dataset_dir): + """Downloads the `tarball_url` and uncompresses it locally. + + Args: + tarball_url: The URL of a tarball file. + dataset_dir: The directory where the temporary files are stored. + """ + filename = tarball_url.split('/')[-1] + filepath = os.path.join(dataset_dir, filename) + + def _progress(count, block_size, total_size): + sys.stdout.write('\r>> Downloading %s %.1f%%' % ( + filename, float(count * block_size) / float(total_size) * 100.0)) + sys.stdout.flush() + filepath, _ = urllib.request.urlretrieve(tarball_url, filepath, _progress) + print() + statinfo = os.stat(filepath) + print('Successfully downloaded', filename, statinfo.st_size, 'bytes.') + tarfile.open(filepath, 'r:gz').extractall(dataset_dir) + + +def write_label_file(labels_to_class_names, dataset_dir, + filename=LABELS_FILENAME): + """Writes a file with the list of class names. + + Args: + labels_to_class_names: A map of (integer) labels to class names. + dataset_dir: The directory in which the labels file should be written. + filename: The filename where the class names are written. + """ + labels_filename = os.path.join(dataset_dir, filename) + with tf.gfile.Open(labels_filename, 'w') as f: + for label in labels_to_class_names: + class_name = labels_to_class_names[label] + f.write('%d:%s\n' % (label, class_name)) + + +def has_labels(dataset_dir, filename=LABELS_FILENAME): + """Specifies whether or not the dataset directory contains a label map file. + + Args: + dataset_dir: The directory in which the labels file is found. + filename: The filename where the class names are written. + + Returns: + `True` if the labels file exists and `False` otherwise. + """ + return tf.gfile.Exists(os.path.join(dataset_dir, filename)) + + +def read_label_file(dataset_dir, filename=LABELS_FILENAME): + """Reads the labels file and returns a mapping from ID to class name. + + Args: + dataset_dir: The directory in which the labels file is found. + filename: The filename where the class names are written. + + Returns: + A map from a label (integer) to class name. + """ + labels_filename = os.path.join(dataset_dir, filename) + with tf.gfile.Open(labels_filename, 'rb') as f: + lines = f.read() + lines = lines.split(b'\n') + lines = filter(None, lines) + + labels_to_class_names = {} + for line in lines: + index = line.index(b':') + labels_to_class_names[int(line[:index])] = line[index+1:] + return labels_to_class_names diff --git a/datasets/imagenet.py b/datasets/imagenet.py new file mode 100644 index 0000000..3eec86f --- /dev/null +++ b/datasets/imagenet.py @@ -0,0 +1,193 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the ImageNet ILSVRC 2012 Dataset plus some bounding boxes. + +Some images have one or more bounding boxes associated with the label of the +image. See details here: http://image-net.org/download-bboxes + +ImageNet is based upon WordNet 3.0. To uniquely identify a synset, we use +"WordNet ID" (wnid), which is a concatenation of POS ( i.e. part of speech ) +and SYNSET OFFSET of WordNet. For more information, please refer to the +WordNet documentation[http://wordnet.princeton.edu/wordnet/documentation/]. + +"There are bounding boxes for over 3000 popular synsets available. +For each synset, there are on average 150 images with bounding boxes." + +WARNING: Don't use for object detection, in this case all the bounding boxes +of the image belong to just one class. +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +from six.moves import urllib +import tensorflow as tf + +from datasets import dataset_utils + +slim = tf.contrib.slim + +# TODO(nsilberman): Add tfrecord file type once the script is updated. +_FILE_PATTERN = '%s-*' + +_SPLITS_TO_SIZES = { + 'train': 1281167, + 'validation': 50000, +} + +_ITEMS_TO_DESCRIPTIONS = { + 'image': 'A color image of varying height and width.', + 'label': 'The label id of the image, integer between 0 and 999', + 'label_text': 'The text of the label.', + 'object/bbox': 'A list of bounding boxes.', + 'object/label': 'A list of labels, one per each object.', +} + +_NUM_CLASSES = 1001 + + +def create_readable_names_for_imagenet_labels(): + """Create a dict mapping label id to human readable string. + + Returns: + labels_to_names: dictionary where keys are integers from to 1000 + and values are human-readable names. + + We retrieve a synset file, which contains a list of valid synset labels used + by ILSVRC competition. There is one synset one per line, eg. + # n01440764 + # n01443537 + We also retrieve a synset_to_human_file, which contains a mapping from synsets + to human-readable names for every synset in Imagenet. These are stored in a + tsv format, as follows: + # n02119247 black fox + # n02119359 silver fox + We assign each synset (in alphabetical order) an integer, starting from 1 + (since 0 is reserved for the background class). + + Code is based on + https://github.com/tensorflow/models/blob/master/inception/inception/data/build_imagenet_data.py#L463 + """ + + # pylint: disable=g-line-too-long + base_url = 'https://raw.githubusercontent.com/tensorflow/models/master/inception/inception/data/' + synset_url = '{}/imagenet_lsvrc_2015_synsets.txt'.format(base_url) + synset_to_human_url = '{}/imagenet_metadata.txt'.format(base_url) + + filename, _ = urllib.request.urlretrieve(synset_url) + synset_list = [s.strip() for s in open(filename).readlines()] + num_synsets_in_ilsvrc = len(synset_list) + assert num_synsets_in_ilsvrc == 1000 + + filename, _ = urllib.request.urlretrieve(synset_to_human_url) + synset_to_human_list = open(filename).readlines() + num_synsets_in_all_imagenet = len(synset_to_human_list) + assert num_synsets_in_all_imagenet == 21842 + + synset_to_human = {} + for s in synset_to_human_list: + parts = s.strip().split('\t') + assert len(parts) == 2 + synset = parts[0] + human = parts[1] + synset_to_human[synset] = human + + label_index = 1 + labels_to_names = {0: 'background'} + for synset in synset_list: + name = synset_to_human[synset] + labels_to_names[label_index] = name + label_index += 1 + + return labels_to_names + + +def get_split(split_name, dataset_dir, file_pattern=None, reader=None): + """Gets a dataset tuple with instructions for reading ImageNet. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if split_name not in _SPLITS_TO_SIZES: + raise ValueError('split name %s was not recognized.' % split_name) + + if not file_pattern: + file_pattern = _FILE_PATTERN + file_pattern = os.path.join(dataset_dir, file_pattern % split_name) + + # Allowing None in the signature so that dataset_factory can use the default. + if reader is None: + reader = tf.TFRecordReader + + keys_to_features = { + 'image/encoded': tf.FixedLenFeature( + (), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature( + (), tf.string, default_value='jpeg'), + 'image/class/label': tf.FixedLenFeature( + [], dtype=tf.int64, default_value=-1), + 'image/class/text': tf.FixedLenFeature( + [], dtype=tf.string, default_value=''), + 'image/object/bbox/xmin': tf.VarLenFeature( + dtype=tf.float32), + 'image/object/bbox/ymin': tf.VarLenFeature( + dtype=tf.float32), + 'image/object/bbox/xmax': tf.VarLenFeature( + dtype=tf.float32), + 'image/object/bbox/ymax': tf.VarLenFeature( + dtype=tf.float32), + 'image/object/class/label': tf.VarLenFeature( + dtype=tf.int64), + } + + items_to_handlers = { + 'image': slim.tfexample_decoder.Image('image/encoded', 'image/format'), + 'label': slim.tfexample_decoder.Tensor('image/class/label'), + 'label_text': slim.tfexample_decoder.Tensor('image/class/text'), + 'object/bbox': slim.tfexample_decoder.BoundingBox( + ['ymin', 'xmin', 'ymax', 'xmax'], 'image/object/bbox/'), + 'object/label': slim.tfexample_decoder.Tensor('image/object/class/label'), + } + + decoder = slim.tfexample_decoder.TFExampleDecoder( + keys_to_features, items_to_handlers) + + labels_to_names = None + if dataset_utils.has_labels(dataset_dir): + labels_to_names = dataset_utils.read_label_file(dataset_dir) + else: + labels_to_names = create_readable_names_for_imagenet_labels() + dataset_utils.write_label_file(labels_to_names, dataset_dir) + + return slim.dataset.Dataset( + data_sources=file_pattern, + reader=reader, + decoder=decoder, + num_samples=_SPLITS_TO_SIZES[split_name], + items_to_descriptions=_ITEMS_TO_DESCRIPTIONS, + num_classes=_NUM_CLASSES, + labels_to_names=labels_to_names) diff --git a/datasets/pascalvoc_2007.py b/datasets/pascalvoc_2007.py new file mode 100644 index 0000000..210f9ac --- /dev/null +++ b/datasets/pascalvoc_2007.py @@ -0,0 +1,112 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the Pascal VOC Dataset (images + annotations). +""" +import tensorflow as tf +from datasets import pascalvoc_common + +slim = tf.contrib.slim + +FILE_PATTERN = 'voc_2007_%s_*.tfrecord' +ITEMS_TO_DESCRIPTIONS = { + 'image': 'A color image of varying height and width.', + 'shape': 'Shape of the image', + 'object/bbox': 'A list of bounding boxes, one per each object.', + 'object/label': 'A list of labels, one per each object.', +} +# (Images, Objects) statistics on every class. +TRAIN_STATISTICS = { + 'none': (0, 0), + 'aeroplane': (238, 306), + 'bicycle': (243, 353), + 'bird': (330, 486), + 'boat': (181, 290), + 'bottle': (244, 505), + 'bus': (186, 229), + 'car': (713, 1250), + 'cat': (337, 376), + 'chair': (445, 798), + 'cow': (141, 259), + 'diningtable': (200, 215), + 'dog': (421, 510), + 'horse': (287, 362), + 'motorbike': (245, 339), + 'person': (2008, 4690), + 'pottedplant': (245, 514), + 'sheep': (96, 257), + 'sofa': (229, 248), + 'train': (261, 297), + 'tvmonitor': (256, 324), + 'total': (5011, 12608), +} +TEST_STATISTICS = { + 'none': (0, 0), + 'aeroplane': (1, 1), + 'bicycle': (1, 1), + 'bird': (1, 1), + 'boat': (1, 1), + 'bottle': (1, 1), + 'bus': (1, 1), + 'car': (1, 1), + 'cat': (1, 1), + 'chair': (1, 1), + 'cow': (1, 1), + 'diningtable': (1, 1), + 'dog': (1, 1), + 'horse': (1, 1), + 'motorbike': (1, 1), + 'person': (1, 1), + 'pottedplant': (1, 1), + 'sheep': (1, 1), + 'sofa': (1, 1), + 'train': (1, 1), + 'tvmonitor': (1, 1), + 'total': (20, 20), +} +SPLITS_TO_SIZES = { + 'train': 5011, + 'test': 4952, +} +SPLITS_TO_STATISTICS = { + 'train': TRAIN_STATISTICS, + 'test': TEST_STATISTICS, +} +NUM_CLASSES = 20 + + +def get_split(split_name, dataset_dir, file_pattern=None, reader=None): + """Gets a dataset tuple with instructions for reading ImageNet. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if not file_pattern: + file_pattern = FILE_PATTERN + return pascalvoc_common.get_split(split_name, dataset_dir, + file_pattern, reader, + SPLITS_TO_SIZES, + ITEMS_TO_DESCRIPTIONS, + NUM_CLASSES) diff --git a/datasets/pascalvoc_2012.py b/datasets/pascalvoc_2012.py new file mode 100644 index 0000000..ddc77c5 --- /dev/null +++ b/datasets/pascalvoc_2012.py @@ -0,0 +1,87 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the Pascal VOC Dataset (images + annotations). +""" +import tensorflow as tf +from datasets import pascalvoc_common + +slim = tf.contrib.slim + +FILE_PATTERN = 'voc_2012_%s_*.tfrecord' +ITEMS_TO_DESCRIPTIONS = { + 'image': 'A color image of varying height and width.', + 'shape': 'Shape of the image', + 'object/bbox': 'A list of bounding boxes, one per each object.', + 'object/label': 'A list of labels, one per each object.', +} +# (Images, Objects) statistics on every class. +TRAIN_STATISTICS = { + 'none': (0, 0), + 'aeroplane': (670, 865), + 'bicycle': (552, 711), + 'bird': (765, 1119), + 'boat': (508, 850), + 'bottle': (706, 1259), + 'bus': (421, 593), + 'car': (1161, 2017), + 'cat': (1080, 1217), + 'chair': (1119, 2354), + 'cow': (303, 588), + 'diningtable': (538, 609), + 'dog': (1286, 1515), + 'horse': (482, 710), + 'motorbike': (526, 713), + 'person': (4087, 8566), + 'pottedplant': (527, 973), + 'sheep': (325, 813), + 'sofa': (507, 566), + 'train': (544, 628), + 'tvmonitor': (575, 784), + 'total': (11540, 27450), +} +SPLITS_TO_SIZES = { + 'train': 17125, +} +SPLITS_TO_STATISTICS = { + 'train': TRAIN_STATISTICS, +} +NUM_CLASSES = 20 + + +def get_split(split_name, dataset_dir, file_pattern=None, reader=None): + """Gets a dataset tuple with instructions for reading ImageNet. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if not file_pattern: + file_pattern = FILE_PATTERN + return pascalvoc_common.get_split(split_name, dataset_dir, + file_pattern, reader, + SPLITS_TO_SIZES, + ITEMS_TO_DESCRIPTIONS, + NUM_CLASSES) + diff --git a/datasets/pascalvoc_common.py b/datasets/pascalvoc_common.py new file mode 100644 index 0000000..4daf2aa --- /dev/null +++ b/datasets/pascalvoc_common.py @@ -0,0 +1,116 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the Pascal VOC Dataset (images + annotations). +""" +import os + +import tensorflow as tf +from datasets import dataset_utils + +slim = tf.contrib.slim + +VOC_LABELS = { + 'none': (0, 'Background'), + 'aeroplane': (1, 'Vehicle'), + 'bicycle': (2, 'Vehicle'), + 'bird': (3, 'Animal'), + 'boat': (4, 'Vehicle'), + 'bottle': (5, 'Indoor'), + 'bus': (6, 'Vehicle'), + 'car': (7, 'Vehicle'), + 'cat': (8, 'Animal'), + 'chair': (9, 'Indoor'), + 'cow': (10, 'Animal'), + 'diningtable': (11, 'Indoor'), + 'dog': (12, 'Animal'), + 'horse': (13, 'Animal'), + 'motorbike': (14, 'Vehicle'), + 'person': (15, 'Person'), + 'pottedplant': (16, 'Indoor'), + 'sheep': (17, 'Animal'), + 'sofa': (18, 'Indoor'), + 'train': (19, 'Vehicle'), + 'tvmonitor': (20, 'Indoor'), +} + + +def get_split(split_name, dataset_dir, file_pattern, reader, + split_to_sizes, items_to_descriptions, num_classes): + """Gets a dataset tuple with instructions for reading Pascal VOC dataset. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if split_name not in split_to_sizes: + raise ValueError('split name %s was not recognized.' % split_name) + file_pattern = os.path.join(dataset_dir, file_pattern % split_name) + + # Allowing None in the signature so that dataset_factory can use the default. + if reader is None: + reader = tf.TFRecordReader + # Features in Pascal VOC TFRecords. + keys_to_features = { + 'image/encoded': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature((), tf.string, default_value='jpeg'), + 'image/height': tf.FixedLenFeature([1], tf.int64), + 'image/width': tf.FixedLenFeature([1], tf.int64), + 'image/channels': tf.FixedLenFeature([1], tf.int64), + 'image/shape': tf.FixedLenFeature([3], tf.int64), + 'image/object/bbox/xmin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/xmax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/label': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/difficult': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/truncated': tf.VarLenFeature(dtype=tf.int64), + } + items_to_handlers = { + 'image': slim.tfexample_decoder.Image('image/encoded', 'image/format'), + 'shape': slim.tfexample_decoder.Tensor('image/shape'), + 'object/bbox': slim.tfexample_decoder.BoundingBox( + ['ymin', 'xmin', 'ymax', 'xmax'], 'image/object/bbox/'), + 'object/label': slim.tfexample_decoder.Tensor('image/object/bbox/label'), + 'object/difficult': slim.tfexample_decoder.Tensor('image/object/bbox/difficult'), + 'object/truncated': slim.tfexample_decoder.Tensor('image/object/bbox/truncated'), + } + decoder = slim.tfexample_decoder.TFExampleDecoder( + keys_to_features, items_to_handlers) + + labels_to_names = None + if dataset_utils.has_labels(dataset_dir): + labels_to_names = dataset_utils.read_label_file(dataset_dir) + # else: + # labels_to_names = create_readable_names_for_imagenet_labels() + # dataset_utils.write_label_file(labels_to_names, dataset_dir) + + return slim.dataset.Dataset( + data_sources=file_pattern, + reader=reader, + decoder=decoder, + num_samples=split_to_sizes[split_name], + items_to_descriptions=items_to_descriptions, + num_classes=num_classes, + labels_to_names=labels_to_names) diff --git a/datasets/pascalvoc_to_tfrecords.py b/datasets/pascalvoc_to_tfrecords.py new file mode 100644 index 0000000..37d0cce --- /dev/null +++ b/datasets/pascalvoc_to_tfrecords.py @@ -0,0 +1,226 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Converts Pascal VOC data to TFRecords file format with Example protos. + +The raw Pascal VOC data set is expected to reside in JPEG files located in the +directory 'JPEGImages'. Similarly, bounding box annotations are supposed to be +stored in the 'Annotation directory' + +This TensorFlow script converts the training and evaluation data into +a sharded data set consisting of 1024 and 128 TFRecord files, respectively. + +Each validation TFRecord file contains ~500 records. Each training TFREcord +file contains ~1000 records. Each record within the TFRecord file is a +serialized Example proto. The Example proto contains the following fields: + + image/encoded: string containing JPEG encoded image in RGB colorspace + image/height: integer, image height in pixels + image/width: integer, image width in pixels + image/channels: integer, specifying the number of channels, always 3 + image/format: string, specifying the format, always'JPEG' + + + image/object/bbox/xmin: list of float specifying the 0+ human annotated + bounding boxes + image/object/bbox/xmax: list of float specifying the 0+ human annotated + bounding boxes + image/object/bbox/ymin: list of float specifying the 0+ human annotated + bounding boxes + image/object/bbox/ymax: list of float specifying the 0+ human annotated + bounding boxes + image/object/bbox/label: list of integer specifying the classification index. + image/object/bbox/label_text: list of string descriptions. + +Note that the length of xmin is identical to the length of xmax, ymin and ymax +for each example. +""" +import os +import sys +import random + +import numpy as np +import tensorflow as tf + +import xml.etree.ElementTree as ET + +from datasets.dataset_utils import int64_feature, float_feature, bytes_feature +from datasets.pascalvoc_common import VOC_LABELS + +# Original dataset organisation. +DIRECTORY_ANNOTATIONS = 'Annotations/' +DIRECTORY_IMAGES = 'JPEGImages/' + +# TFRecords convertion parameters. +RANDOM_SEED = 4242 +SAMPLES_PER_FILES = 200 + + +def _process_image(directory, name): + """Process a image and annotation file. + + Args: + filename: string, path to an image file e.g., '/path/to/example.JPG'. + coder: instance of ImageCoder to provide TensorFlow image coding utils. + Returns: + image_buffer: string, JPEG encoding of RGB image. + height: integer, image height in pixels. + width: integer, image width in pixels. + """ + # Read the image file. + filename = os.path.join(directory, DIRECTORY_IMAGES, f'{name}.jpg') + image_data = tf.gfile.FastGFile(filename, 'rb').read() + + # Read the XML annotation file. + filename = os.path.join(directory, DIRECTORY_ANNOTATIONS, name + '.xml') + tree = ET.parse(filename) + root = tree.getroot() + + # Image shape. + size = root.find('size') + shape = [int(size.find('height').text), + int(size.find('width').text), + int(size.find('depth').text)] + # Find annotations. + bboxes = [] + labels = [] + labels_text = [] + difficult = [] + truncated = [] + for obj in root.findall('object'): + label = obj.find('name').text + labels.append(int(VOC_LABELS[label][0])) + labels_text.append(label.encode('ascii')) + + if obj.find('difficult'): + difficult.append(int(obj.find('difficult').text)) + else: + difficult.append(0) + if obj.find('truncated'): + truncated.append(int(obj.find('truncated').text)) + else: + truncated.append(0) + + bbox = obj.find('bndbox') + bboxes.append((float(bbox.find('ymin').text) / shape[0], + float(bbox.find('xmin').text) / shape[1], + float(bbox.find('ymax').text) / shape[0], + float(bbox.find('xmax').text) / shape[1] + )) + return image_data, shape, bboxes, labels, labels_text, difficult, truncated + + +def _convert_to_example(image_data, labels, labels_text, bboxes, shape, + difficult, truncated): + """Build an Example proto for an image example. + + Args: + image_data: string, JPEG encoding of RGB image; + labels: list of integers, identifier for the ground truth; + labels_text: list of strings, human-readable labels; + bboxes: list of bounding boxes; each box is a list of integers; + specifying [xmin, ymin, xmax, ymax]. All boxes are assumed to belong + to the same label as the image label. + shape: 3 integers, image shapes in pixels. + Returns: + Example proto + """ + xmin = [] + ymin = [] + xmax = [] + ymax = [] + for b in bboxes: + assert len(b) == 4 + # pylint: disable=expression-not-assigned + [l.append(point) for l, point in zip([ymin, xmin, ymax, xmax], b)] + # pylint: enable=expression-not-assigned + + image_format = b'JPEG' + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/height': int64_feature(shape[0]), + 'image/width': int64_feature(shape[1]), + 'image/channels': int64_feature(shape[2]), + 'image/shape': int64_feature(shape), + 'image/object/bbox/xmin': float_feature(xmin), + 'image/object/bbox/xmax': float_feature(xmax), + 'image/object/bbox/ymin': float_feature(ymin), + 'image/object/bbox/ymax': float_feature(ymax), + 'image/object/bbox/label': int64_feature(labels), + 'image/object/bbox/label_text': bytes_feature(labels_text), + 'image/object/bbox/difficult': int64_feature(difficult), + 'image/object/bbox/truncated': int64_feature(truncated), + 'image/format': bytes_feature(image_format), + 'image/encoded': bytes_feature(image_data)})) + return example + + +def _add_to_tfrecord(dataset_dir, name, tfrecord_writer): + """Loads data from image and annotations files and add them to a TFRecord. + + Args: + dataset_dir: Dataset directory; + name: Image name to add to the TFRecord; + tfrecord_writer: The TFRecord writer to use for writing. + """ + image_data, shape, bboxes, labels, labels_text, difficult, truncated = \ + _process_image(dataset_dir, name) + example = _convert_to_example(image_data, labels, labels_text, + bboxes, shape, difficult, truncated) + tfrecord_writer.write(example.SerializeToString()) + + +def _get_output_filename(output_dir, name, idx): + return '%s/%s_%03d.tfrecord' % (output_dir, name, idx) + + +def run(dataset_dir, output_dir, name='voc_train', shuffling=False): + """Runs the conversion operation. + + Args: + dataset_dir: The dataset directory where the dataset is stored. + output_dir: Output directory. + """ + if not tf.gfile.Exists(dataset_dir): + tf.gfile.MakeDirs(dataset_dir) + + # Dataset filenames, and shuffling. + path = os.path.join(dataset_dir, DIRECTORY_ANNOTATIONS) + filenames = sorted(os.listdir(path)) + if shuffling: + random.seed(RANDOM_SEED) + random.shuffle(filenames) + + # Process dataset files. + i = 0 + fidx = 0 + while i < len(filenames): + # Open new TFRecord file. + tf_filename = _get_output_filename(output_dir, name, fidx) + with tf.python_io.TFRecordWriter(tf_filename) as tfrecord_writer: + j = 0 + while i < len(filenames) and j < SAMPLES_PER_FILES: + sys.stdout.write('\r>> Converting image %d/%d' % (i+1, len(filenames))) + sys.stdout.flush() + + filename = filenames[i] + img_name = filename[:-4] + _add_to_tfrecord(dataset_dir, img_name, tfrecord_writer) + i += 1 + j += 1 + fidx += 1 + + # Finally, write the labels file: + # labels_to_class_names = dict(zip(range(len(_CLASS_NAMES)), _CLASS_NAMES)) + # dataset_utils.write_label_file(labels_to_class_names, dataset_dir) + print('\nFinished converting the Pascal VOC dataset!') diff --git a/demo/000001.jpg b/demo/000001.jpg new file mode 100644 index 0000000..a137366 Binary files /dev/null and b/demo/000001.jpg differ diff --git a/demo/000002.jpg b/demo/000002.jpg new file mode 100644 index 0000000..d832967 Binary files /dev/null and b/demo/000002.jpg differ diff --git a/demo/000003.jpg b/demo/000003.jpg new file mode 100644 index 0000000..3a16129 Binary files /dev/null and b/demo/000003.jpg differ diff --git a/demo/000004.jpg b/demo/000004.jpg new file mode 100644 index 0000000..832688c Binary files /dev/null and b/demo/000004.jpg differ diff --git a/demo/000006.jpg b/demo/000006.jpg new file mode 100644 index 0000000..d63485e Binary files /dev/null and b/demo/000006.jpg differ diff --git a/demo/000008.jpg b/demo/000008.jpg new file mode 100644 index 0000000..ee57b76 Binary files /dev/null and b/demo/000008.jpg differ diff --git a/demo/000010.jpg b/demo/000010.jpg new file mode 100644 index 0000000..2519229 Binary files /dev/null and b/demo/000010.jpg differ diff --git a/demo/000022.jpg b/demo/000022.jpg new file mode 100644 index 0000000..c83174d Binary files /dev/null and b/demo/000022.jpg differ diff --git a/demo/dog.jpg b/demo/dog.jpg new file mode 100644 index 0000000..665a81c Binary files /dev/null and b/demo/dog.jpg differ diff --git a/demo/eagle.jpg b/demo/eagle.jpg new file mode 100644 index 0000000..8b75095 Binary files /dev/null and b/demo/eagle.jpg differ diff --git a/demo/horses.jpg b/demo/horses.jpg new file mode 100644 index 0000000..3a761f4 Binary files /dev/null and b/demo/horses.jpg differ diff --git a/demo/person.jpg b/demo/person.jpg new file mode 100644 index 0000000..61d377f Binary files /dev/null and b/demo/person.jpg differ diff --git a/demo/street.jpg b/demo/street.jpg new file mode 100644 index 0000000..6750d37 Binary files /dev/null and b/demo/street.jpg differ diff --git a/deployment/__init__.py b/deployment/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/deployment/__init__.py @@ -0,0 +1 @@ + diff --git a/deployment/model_deploy.py b/deployment/model_deploy.py new file mode 100644 index 0000000..030c115 --- /dev/null +++ b/deployment/model_deploy.py @@ -0,0 +1,690 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Deploy Slim models across multiple clones and replicas. + +# TODO(sguada) docstring paragraph by (a) motivating the need for the file and +# (b) defining clones. + +# TODO(sguada) describe the high-level components of model deployment. +# E.g. "each model deployment is composed of several parts: a DeploymentConfig, +# which captures A, B and C, an input_fn which loads data.. etc + +To easily train a model on multiple GPUs or across multiple machines this +module provides a set of helper functions: `create_clones`, +`optimize_clones` and `deploy`. + +Usage: + + g = tf.Graph() + + # Set up DeploymentConfig + config = model_deploy.DeploymentConfig(num_clones=2, clone_on_cpu=True) + + # Create the global step on the device storing the variables. + with tf.device(config.variables_device()): + global_step = slim.create_global_step() + + # Define the inputs + with tf.device(config.inputs_device()): + images, labels = LoadData(...) + inputs_queue = slim.data.prefetch_queue((images, labels)) + + # Define the optimizer. + with tf.device(config.optimizer_device()): + optimizer = tf.train.MomentumOptimizer(FLAGS.learning_rate, FLAGS.momentum) + + # Define the model including the loss. + def model_fn(inputs_queue): + images, labels = inputs_queue.dequeue() + predictions = CreateNetwork(images) + slim.losses.log_loss(predictions, labels) + + model_dp = model_deploy.deploy(config, model_fn, [inputs_queue], + optimizer=optimizer) + + # Run training. + slim.learning.train(model_dp.train_op, my_log_dir, + summary_op=model_dp.summary_op) + +The Clone namedtuple holds together the values associated with each call to +model_fn: + * outputs: The return values of the calls to `model_fn()`. + * scope: The scope used to create the clone. + * device: The device used to create the clone. + +DeployedModel namedtuple, holds together the values needed to train multiple +clones: + * train_op: An operation that run the optimizer training op and include + all the update ops created by `model_fn`. Present only if an optimizer + was specified. + * summary_op: An operation that run the summaries created by `model_fn` + and process_gradients. + * total_loss: A `Tensor` that contains the sum of all losses created by + `model_fn` plus the regularization losses. + * clones: List of `Clone` tuples returned by `create_clones()`. + +DeploymentConfig parameters: + * num_clones: Number of model clones to deploy in each replica. + * clone_on_cpu: True if clones should be placed on CPU. + * replica_id: Integer. Index of the replica for which the model is + deployed. Usually 0 for the chief replica. + * num_replicas: Number of replicas to use. + * num_ps_tasks: Number of tasks for the `ps` job. 0 to not use replicas. + * worker_job_name: A name for the worker job. + * ps_job_name: A name for the parameter server job. + +TODO(sguada): + - describe side effect to the graph. + - what happens to summaries and update_ops. + - which graph collections are altered. + - write a tutorial on how to use this. + - analyze the possibility of calling deploy more than once. + + +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import collections + +import tensorflow as tf + +from tensorflow.python.ops import control_flow_ops + +slim = tf.contrib.slim + + +__all__ = ['create_clones', + 'deploy', + 'optimize_clones', + 'DeployedModel', + 'DeploymentConfig', + 'Clone', + ] + + +# Namedtuple used to represent a clone during deployment. +Clone = collections.namedtuple('Clone', + ['outputs', # Whatever model_fn() returned. + 'scope', # The scope used to create it. + 'device', # The device used to create. + ]) + +# Namedtuple used to represent a DeployedModel, returned by deploy(). +DeployedModel = collections.namedtuple('DeployedModel', + ['train_op', # The `train_op` + 'summary_op', # The `summary_op` + 'total_loss', # The loss `Tensor` + 'clones', # A list of `Clones` tuples. + ]) + +# Default parameters for DeploymentConfig +_deployment_params = {'num_clones': 1, + 'clone_on_cpu': False, + 'fake_multiple_gpus': False, + 'replica_id': 0, + 'num_replicas': 1, + 'num_ps_tasks': 0, + 'worker_job_name': 'worker', + 'ps_job_name': 'ps'} + + +def create_clones(config, model_fn, args=None, kwargs=None): + """Creates multiple clones according to config using a `model_fn`. + + The returned values of `model_fn(*args, **kwargs)` are collected along with + the scope and device used to created it in a namedtuple + `Clone(outputs, scope, device)` + + Note: it is assumed that any loss created by `model_fn` is collected at + the tf.GraphKeys.LOSSES collection. + + To recover the losses, summaries or update_ops created by the clone use: + ```python + losses = tf.get_collection(tf.GraphKeys.LOSSES, clone.scope) + summaries = tf.get_collection(tf.GraphKeys.SUMMARIES, clone.scope) + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS, clone.scope) + ``` + + The deployment options are specified by the config object and support + deploying one or several clones on different GPUs and one or several replicas + of such clones. + + The argument `model_fn` is called `config.num_clones` times to create the + model clones as `model_fn(*args, **kwargs)`. + + If `config` specifies deployment on multiple replicas then the default + tensorflow device is set appropriatly for each call to `model_fn` and for the + slim variable creation functions: model and global variables will be created + on the `ps` device, the clone operations will be on the `worker` device. + + Args: + config: A DeploymentConfig object. + model_fn: A callable. Called as `model_fn(*args, **kwargs)` + args: Optional list of arguments to pass to `model_fn`. + kwargs: Optional list of keyword arguments to pass to `model_fn`. + + Returns: + A list of namedtuples `Clone`. + """ + clones = [] + args = args or [] + kwargs = kwargs or {} + with slim.arg_scope([slim.model_variable, slim.variable], + device=config.variables_device()): + # Create clones. + for i in range(0, config.num_clones): + with tf.name_scope(config.clone_scope(i)) as clone_scope: + clone_device = config.clone_device(i) + with tf.device(clone_device): + with tf.variable_scope(tf.get_variable_scope(), + reuse=True if i > 0 else None): + outputs = model_fn(*args, **kwargs) + clones.append(Clone(outputs, clone_scope, clone_device)) + return clones + + +def _gather_clone_loss(clone, num_clones, regularization_losses): + """Gather the loss for a single clone. + + Args: + clone: A Clone namedtuple. + num_clones: The number of clones being deployed. + regularization_losses: Possibly empty list of regularization_losses + to add to the clone losses. + + Returns: + A tensor for the total loss for the clone. Can be None. + """ + # The return value. + sum_loss = None + # Individual components of the loss that will need summaries. + clone_loss = None + regularization_loss = None + # Compute and aggregate losses on the clone device. + with tf.device(clone.device): + all_losses = [] + clone_losses = tf.get_collection(tf.GraphKeys.LOSSES, clone.scope) + if clone_losses: + clone_loss = tf.add_n(clone_losses, name='clone_loss') + if num_clones > 1: + clone_loss = tf.div(clone_loss, 1.0 * num_clones, + name='scaled_clone_loss') + all_losses.append(clone_loss) + if regularization_losses: + regularization_loss = tf.add_n(regularization_losses, + name='regularization_loss') + all_losses.append(regularization_loss) + if all_losses: + sum_loss = tf.add_n(all_losses) + # Add the summaries out of the clone device block. + if clone_loss is not None: + tf.summary.scalar('clone_loss', clone_loss) + # tf.summary.scalar(clone.scope + '/clone_loss', clone_loss) + if regularization_loss is not None: + tf.summary.scalar('regularization_loss', regularization_loss) + return sum_loss + + +def _optimize_clone(optimizer, clone, num_clones, regularization_losses, + **kwargs): + """Compute losses and gradients for a single clone. + + Args: + optimizer: A tf.Optimizer object. + clone: A Clone namedtuple. + num_clones: The number of clones being deployed. + regularization_losses: Possibly empty list of regularization_losses + to add to the clone losses. + **kwargs: Dict of kwarg to pass to compute_gradients(). + + Returns: + A tuple (clone_loss, clone_grads_and_vars). + - clone_loss: A tensor for the total loss for the clone. Can be None. + - clone_grads_and_vars: List of (gradient, variable) for the clone. + Can be empty. + """ + sum_loss = _gather_clone_loss(clone, num_clones, regularization_losses) + clone_grad = None + if sum_loss is not None: + with tf.device(clone.device): + clone_grad = optimizer.compute_gradients(sum_loss, **kwargs) + return sum_loss, clone_grad + + +def optimize_clones(clones, optimizer, + regularization_losses=None, + **kwargs): + """Compute clone losses and gradients for the given list of `Clones`. + + Note: The regularization_losses are added to the first clone losses. + + Args: + clones: List of `Clones` created by `create_clones()`. + optimizer: An `Optimizer` object. + regularization_losses: Optional list of regularization losses. If None it + will gather them from tf.GraphKeys.REGULARIZATION_LOSSES. Pass `[]` to + exclude them. + **kwargs: Optional list of keyword arguments to pass to `compute_gradients`. + + Returns: + A tuple (total_loss, grads_and_vars). + - total_loss: A Tensor containing the average of the clone losses + including the regularization loss. + - grads_and_vars: A List of tuples (gradient, variable) containing the + sum of the gradients for each variable. + + """ + grads_and_vars = [] + clones_losses = [] + num_clones = len(clones) + if regularization_losses is None: + regularization_losses = tf.get_collection( + tf.GraphKeys.REGULARIZATION_LOSSES) + for clone in clones: + with tf.name_scope(clone.scope): + clone_loss, clone_grad = _optimize_clone( + optimizer, clone, num_clones, regularization_losses, **kwargs) + if clone_loss is not None: + clones_losses.append(clone_loss) + grads_and_vars.append(clone_grad) + # Only use regularization_losses for the first clone + regularization_losses = None + # Compute the total_loss summing all the clones_losses. + total_loss = tf.add_n(clones_losses, name='total_loss') + # Sum the gradients accross clones. + grads_and_vars = _sum_clones_gradients(grads_and_vars) + return total_loss, grads_and_vars + + +def deploy(config, + model_fn, + args=None, + kwargs=None, + optimizer=None, + summarize_gradients=False): + """Deploys a Slim-constructed model across multiple clones. + + The deployment options are specified by the config object and support + deploying one or several clones on different GPUs and one or several replicas + of such clones. + + The argument `model_fn` is called `config.num_clones` times to create the + model clones as `model_fn(*args, **kwargs)`. + + The optional argument `optimizer` is an `Optimizer` object. If not `None`, + the deployed model is configured for training with that optimizer. + + If `config` specifies deployment on multiple replicas then the default + tensorflow device is set appropriatly for each call to `model_fn` and for the + slim variable creation functions: model and global variables will be created + on the `ps` device, the clone operations will be on the `worker` device. + + Args: + config: A `DeploymentConfig` object. + model_fn: A callable. Called as `model_fn(*args, **kwargs)` + args: Optional list of arguments to pass to `model_fn`. + kwargs: Optional list of keyword arguments to pass to `model_fn`. + optimizer: Optional `Optimizer` object. If passed the model is deployed + for training with that optimizer. + summarize_gradients: Whether or not add summaries to the gradients. + + Returns: + A `DeployedModel` namedtuple. + + """ + # Gather initial summaries. + summaries = set(tf.get_collection(tf.GraphKeys.SUMMARIES)) + + # Create Clones. + clones = create_clones(config, model_fn, args, kwargs) + first_clone = clones[0] + + # Gather update_ops from the first clone. These contain, for example, + # the updates for the batch_norm variables created by model_fn. + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS, first_clone.scope) + + train_op = None + total_loss = None + with tf.device(config.optimizer_device()): + if optimizer: + # Place the global step on the device storing the variables. + with tf.device(config.variables_device()): + global_step = slim.get_or_create_global_step() + + # Compute the gradients for the clones. + total_loss, clones_gradients = optimize_clones(clones, optimizer) + + if clones_gradients: + if summarize_gradients: + # Add summaries to the gradients. + summaries |= set(_add_gradients_summaries(clones_gradients)) + + # Create gradient updates. + grad_updates = optimizer.apply_gradients(clones_gradients, + global_step=global_step) + update_ops.append(grad_updates) + + update_op = tf.group(*update_ops) + train_op = control_flow_ops.with_dependencies([update_op], total_loss, + name='train_op') + else: + clones_losses = [] + regularization_losses = tf.get_collection( + tf.GraphKeys.REGULARIZATION_LOSSES) + for clone in clones: + with tf.name_scope(clone.scope): + clone_loss = _gather_clone_loss(clone, len(clones), + regularization_losses) + if clone_loss is not None: + clones_losses.append(clone_loss) + # Only use regularization_losses for the first clone + regularization_losses = None + if clones_losses: + total_loss = tf.add_n(clones_losses, name='total_loss') + + # Add the summaries from the first clone. These contain the summaries + # created by model_fn and either optimize_clones() or _gather_clone_loss(). + summaries |= set(tf.get_collection(tf.GraphKeys.SUMMARIES, + first_clone.scope)) + + if total_loss is not None: + # Add total_loss to summary. + summaries.add(tf.summary.scalar('total_loss', total_loss)) + + if summaries: + # Merge all summaries together. + summary_op = tf.merge_summary(list(summaries), name='summary_op') + else: + summary_op = None + + return DeployedModel(train_op, summary_op, total_loss, clones) + + +def _sum_clones_gradients(clone_grads): + """Calculate the sum gradient for each shared variable across all clones. + + This function assumes that the clone_grads has been scaled appropriately by + 1 / num_clones. + + Args: + clone_grads: A List of List of tuples (gradient, variable), one list per + `Clone`. + + Returns: + List of tuples of (gradient, variable) where the gradient has been summed + across all clones. + """ + sum_grads = [] + for grad_and_vars in zip(*clone_grads): + # Note that each grad_and_vars looks like the following: + # ((grad_var0_clone0, var0), ... (grad_varN_cloneN, varN)) + grads = [] + var = grad_and_vars[0][1] + for g, v in grad_and_vars: + assert v == var + if g is not None: + grads.append(g) + if grads: + if len(grads) > 1: + sum_grad = tf.add_n(grads, name=var.op.name + '/sum_grads') + else: + sum_grad = grads[0] + sum_grads.append((sum_grad, var)) + return sum_grads + + +def _add_gradients_summaries(grads_and_vars): + """Add histogram summaries to gradients. + + Note: The summaries are also added to the SUMMARIES collection. + + Args: + grads_and_vars: A list of gradient to variable pairs (tuples). + + Returns: + The _list_ of the added summaries for grads_and_vars. + """ + summaries = [] + for grad, var in grads_and_vars: + if grad is not None: + if isinstance(grad, tf.IndexedSlices): + grad_values = grad.values + else: + grad_values = grad + summaries.append(tf.histogram_summary(var.op.name + ':gradient', + grad_values)) + summaries.append(tf.histogram_summary(var.op.name + ':gradient_norm', + tf.global_norm([grad_values]))) + else: + tf.logging.info('Var %s has no gradient', var.op.name) + return summaries + + +class DeploymentConfig(object): + """Configuration for deploying a model with `deploy()`. + + You can pass an instance of this class to `deploy()` to specify exactly + how to deploy the model to build. If you do not pass one, an instance built + from the default deployment_hparams will be used. + """ + + def __init__(self, + num_clones=1, + clone_on_cpu=False, + fake_multiple_gpus=False, + replica_id=0, + num_replicas=1, + num_ps_tasks=0, + worker_job_name='worker', + ps_job_name='ps'): + """Create a DeploymentConfig. + + The config describes how to deploy a model across multiple clones and + replicas. The model will be replicated `num_clones` times in each replica. + If `clone_on_cpu` is True, each clone will placed on CPU. + + If `fake_multiple_gpus` is True, the model will only be replicated once on + a single GPU. This trick enables larger batch sizes, necessary for training + deep networks such as InceptionV3/V4, on a single GPU. + + If `num_replicas` is 1, the model is deployed via a single process. In that + case `worker_device`, `num_ps_tasks`, and `ps_device` are ignored. + + If `num_replicas` is greater than 1, then `worker_device` and `ps_device` + must specify TensorFlow devices for the `worker` and `ps` jobs and + `num_ps_tasks` must be positive. + + Args: + num_clones: Number of model clones to deploy in each replica. + clone_on_cpu: If True clones would be placed on CPU. + replica_id: Integer. Index of the replica for which the model is + deployed. Usually 0 for the chief replica. + num_replicas: Number of replicas to use. + num_ps_tasks: Number of tasks for the `ps` job. 0 to not use replicas. + worker_job_name: A name for the worker job. + ps_job_name: A name for the parameter server job. + + Raises: + ValueError: If the arguments are invalid. + """ + if num_replicas > 1: + if num_ps_tasks < 1: + raise ValueError('When using replicas num_ps_tasks must be positive') + if num_replicas > 1 or num_ps_tasks > 0: + if not worker_job_name: + raise ValueError('Must specify worker_job_name when using replicas') + if not ps_job_name: + raise ValueError('Must specify ps_job_name when using parameter server') + if replica_id >= num_replicas: + raise ValueError('replica_id must be less than num_replicas') + self._num_clones = num_clones + self._clone_on_cpu = clone_on_cpu + self._fake_multiple_gpus = fake_multiple_gpus + self._replica_id = replica_id + self._num_replicas = num_replicas + self._num_ps_tasks = num_ps_tasks + self._ps_device = '/job:' + ps_job_name if num_ps_tasks > 0 else '' + self._worker_device = '/job:' + worker_job_name if num_ps_tasks > 0 else '' + + @property + def num_clones(self): + return self._num_clones + + @property + def clone_on_cpu(self): + return self._clone_on_cpu + + @property + def fake_multiple_gpus(self): + return self._fake_multiple_gpus + + @property + def replica_id(self): + return self._replica_id + + @property + def num_replicas(self): + return self._num_replicas + + @property + def num_ps_tasks(self): + return self._num_ps_tasks + + @property + def ps_device(self): + return self._ps_device + + @property + def worker_device(self): + return self._worker_device + + def caching_device(self): + """Returns the device to use for caching variables. + + Variables are cached on the worker CPU when using replicas. + + Returns: + A device string or None if the variables do not need to be cached. + """ + if self._num_ps_tasks > 0: + return lambda op: op.device + else: + return None + + def clone_device(self, clone_index): + """Device used to create the clone and all the ops inside the clone. + + Args: + clone_index: Int, representing the clone_index. + + Returns: + A value suitable for `tf.device()`. + + Raises: + ValueError: if `clone_index` is greater or equal to the number of clones". + """ + if clone_index >= self._num_clones: + raise ValueError('clone_index must be less than num_clones') + device = '' + if self._num_ps_tasks > 0: + device += self._worker_device + if self._clone_on_cpu: + device += '/device:CPU:0' + else: + if self._num_clones > 1 and not self._fake_multiple_gpus: + device += '/device:GPU:%d' % clone_index + return device + + def clone_scope(self, clone_index): + """Name scope to create the clone. + + Args: + clone_index: Int, representing the clone_index. + + Returns: + A name_scope suitable for `tf.name_scope()`. + + Raises: + ValueError: if `clone_index` is greater or equal to the number of clones". + """ + if clone_index >= self._num_clones: + raise ValueError('clone_index must be less than num_clones') + scope = '' + if self._num_clones > 1: + scope = 'clone_%d' % clone_index + return scope + + def optimizer_device(self): + """Device to use with the optimizer. + + Returns: + A value suitable for `tf.device()`. + """ + if self._num_ps_tasks > 0 or self._num_clones > 0: + return self._worker_device + '/device:CPU:0' + else: + return '' + + def inputs_device(self): + """Device to use to build the inputs. + + Returns: + A value suitable for `tf.device()`. + """ + device = '' + if self._num_ps_tasks > 0: + device += self._worker_device + device += '/device:CPU:0' + return device + + def variables_device(self): + """Returns the device to use for variables created inside the clone. + + Returns: + A value suitable for `tf.device()`. + """ + device = '' + if self._num_ps_tasks > 0: + device += self._ps_device + device += '/device:CPU:0' + + class _PSDeviceChooser(object): + """Slim device chooser for variables when using PS.""" + + def __init__(self, device, tasks): + self._device = device + self._tasks = tasks + self._task = 0 + + def choose(self, op): + if op.device: + return op.device + node_def = op if isinstance(op, tf.NodeDef) else op.node_def + if node_def.op == 'Variable': + t = self._task + self._task = (self._task + 1) % self._tasks + d = '%s/task:%d' % (self._device, t) + return d + else: + return op.device + + if not self._num_ps_tasks: + return device + else: + chooser = _PSDeviceChooser(device, self._num_ps_tasks) + return chooser.choose diff --git a/eval_ssd_network.py b/eval_ssd_network.py new file mode 100644 index 0000000..acdb792 --- /dev/null +++ b/eval_ssd_network.py @@ -0,0 +1,346 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Generic evaluation script that evaluates a SSD model +on a given dataset.""" +import math +import sys +import six +import time + +import numpy as np +import tensorflow as tf +import tf_extended as tfe +import tf_utils +from tensorflow.python.framework import ops + +from datasets import dataset_factory +from nets import nets_factory +from preprocessing import preprocessing_factory + +slim = tf.contrib.slim + +# =========================================================================== # +# Some default EVAL parameters +# =========================================================================== # +# List of recalls values at which precision is evaluated. +LIST_RECALLS = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.85, + 0.90, 0.95, 0.96, 0.97, 0.98, 0.99] +DATA_FORMAT = 'NHWC' + +# =========================================================================== # +# SSD evaluation Flags. +# =========================================================================== # +tf.app.flags.DEFINE_float( + 'select_threshold', 0.01, 'Selection threshold.') +tf.app.flags.DEFINE_integer( + 'select_top_k', 400, 'Select top-k detected bounding boxes.') +tf.app.flags.DEFINE_integer( + 'keep_top_k', 200, 'Keep top-k detected objects.') +tf.app.flags.DEFINE_float( + 'nms_threshold', 0.45, 'Non-Maximum Selection threshold.') +tf.app.flags.DEFINE_float( + 'matching_threshold', 0.5, 'Matching threshold with groundtruth objects.') +tf.app.flags.DEFINE_integer( + 'eval_resize', 4, 'Image resizing: None / CENTRAL_CROP / PAD_AND_RESIZE / WARP_RESIZE.') +tf.app.flags.DEFINE_integer( + 'eval_image_size', None, 'Eval image size.') +tf.app.flags.DEFINE_boolean( + 'remove_difficult', True, 'Remove difficult objects from evaluation.') + +# =========================================================================== # +# Main evaluation flags. +# =========================================================================== # +tf.app.flags.DEFINE_integer( + 'num_classes', 21, 'Number of classes to use in the dataset.') +tf.app.flags.DEFINE_integer( + 'batch_size', 1, 'The number of samples in each batch.') +tf.app.flags.DEFINE_integer( + 'max_num_batches', None, + 'Max number of batches to evaluate by default use all.') +tf.app.flags.DEFINE_string( + 'master', '', 'The address of the TensorFlow master to use.') +tf.app.flags.DEFINE_string( + 'checkpoint_path', '/tmp/tfmodel/', + 'The directory where the model was written to or an absolute path to a ' + 'checkpoint file.') +tf.app.flags.DEFINE_string( + 'eval_dir', '/tmp/tfmodel/', 'Directory where the results are saved to.') +tf.app.flags.DEFINE_integer( + 'num_preprocessing_threads', 4, + 'The number of threads used to create the batches.') +tf.app.flags.DEFINE_string( + 'dataset_name', 'imagenet', 'The name of the dataset to load.') +tf.app.flags.DEFINE_string( + 'dataset_split_name', 'test', 'The name of the train/test split.') +tf.app.flags.DEFINE_string( + 'dataset_dir', None, 'The directory where the dataset files are stored.') +tf.app.flags.DEFINE_string( + 'model_name', 'inception_v3', 'The name of the architecture to evaluate.') +tf.app.flags.DEFINE_string( + 'preprocessing_name', None, 'The name of the preprocessing to use. If left ' + 'as `None`, then the model_name flag is used.') +tf.app.flags.DEFINE_float( + 'moving_average_decay', None, + 'The decay to use for the moving average.' + 'If left as None, then moving averages are not used.') +tf.app.flags.DEFINE_float( + 'gpu_memory_fraction', 0.1, 'GPU memory fraction to use.') +tf.app.flags.DEFINE_boolean( + 'wait_for_checkpoints', False, 'Wait for new checkpoints in the eval loop.') + + +FLAGS = tf.app.flags.FLAGS + + +def main(_): + if not FLAGS.dataset_dir: + raise ValueError('You must supply the dataset directory with --dataset_dir') + + tf.logging.set_verbosity(tf.logging.INFO) + with tf.Graph().as_default(): + tf_global_step = slim.get_or_create_global_step() + + # =================================================================== # + # Dataset + SSD model + Pre-processing + # =================================================================== # + dataset = dataset_factory.get_dataset( + FLAGS.dataset_name, FLAGS.dataset_split_name, FLAGS.dataset_dir) + + # Get the SSD network and its anchors. + ssd_class = nets_factory.get_network(FLAGS.model_name) + ssd_params = ssd_class.default_params._replace(num_classes=FLAGS.num_classes) + ssd_net = ssd_class(ssd_params) + + # Evaluation shape and associated anchors: eval_image_size + ssd_shape = ssd_net.params.img_shape + ssd_anchors = ssd_net.anchors(ssd_shape) + + # Select the preprocessing function. + preprocessing_name = FLAGS.preprocessing_name or FLAGS.model_name + image_preprocessing_fn = preprocessing_factory.get_preprocessing( + preprocessing_name, is_training=False) + + tf_utils.print_configuration(FLAGS.__flags, ssd_params, + dataset.data_sources, FLAGS.eval_dir) + # =================================================================== # + # Create a dataset provider and batches. + # =================================================================== # + with tf.device('/cpu:0'): + with tf.name_scope(FLAGS.dataset_name + '_data_provider'): + provider = slim.dataset_data_provider.DatasetDataProvider( + dataset, + common_queue_capacity=2 * FLAGS.batch_size, + common_queue_min=FLAGS.batch_size, + shuffle=False) + # Get for SSD network: image, labels, bboxes. + [image, shape, glabels, gbboxes] = provider.get(['image', 'shape', + 'object/label', + 'object/bbox']) + if FLAGS.remove_difficult: + [gdifficults] = provider.get(['object/difficult']) + else: + gdifficults = tf.zeros(tf.shape(glabels), dtype=tf.int64) + + # Pre-processing image, labels and bboxes. + image, glabels, gbboxes, gbbox_img = \ + image_preprocessing_fn(image, glabels, gbboxes, + out_shape=ssd_shape, + data_format=DATA_FORMAT, + resize=FLAGS.eval_resize, + difficults=None) + + # Encode groundtruth labels and bboxes. + gclasses, glocalisations, gscores = \ + ssd_net.bboxes_encode(glabels, gbboxes, ssd_anchors) + batch_shape = [1] * 5 + [len(ssd_anchors)] * 3 + + # Evaluation batch. + r = tf.train.batch( + tf_utils.reshape_list([image, glabels, gbboxes, gdifficults, gbbox_img, + gclasses, glocalisations, gscores]), + batch_size=FLAGS.batch_size, + num_threads=FLAGS.num_preprocessing_threads, + capacity=5 * FLAGS.batch_size, + dynamic_pad=True) + (b_image, b_glabels, b_gbboxes, b_gdifficults, b_gbbox_img, b_gclasses, + b_glocalisations, b_gscores) = tf_utils.reshape_list(r, batch_shape) + + # =================================================================== # + # SSD Network + Ouputs decoding. + # =================================================================== # + dict_metrics = {} + arg_scope = ssd_net.arg_scope(data_format=DATA_FORMAT) + with slim.arg_scope(arg_scope): + predictions, localisations, logits, end_points = \ + ssd_net.net(b_image, is_training=False) + # Add losses functions. + ssd_net.losses(logits, localisations, + b_gclasses, b_glocalisations, b_gscores) + + # Performing post-processing on CPU: loop-intensive, usually more efficient. + with tf.device('/device:CPU:0'): + # Detected objects from SSD output. + localisations = ssd_net.bboxes_decode(localisations, ssd_anchors) + rscores, rbboxes = \ + ssd_net.detected_bboxes(predictions, localisations, + select_threshold=FLAGS.select_threshold, + nms_threshold=FLAGS.nms_threshold, + clipping_bbox=None, + top_k=FLAGS.select_top_k, + keep_top_k=FLAGS.keep_top_k) + # Compute TP and FP statistics. + num_gbboxes, tp, fp, rscores = \ + tfe.bboxes_matching_batch(rscores.keys(), rscores, rbboxes, + b_glabels, b_gbboxes, b_gdifficults, + matching_threshold=FLAGS.matching_threshold) + + # Variables to restore: moving avg. or normal weights. + if FLAGS.moving_average_decay: + variable_averages = tf.train.ExponentialMovingAverage( + FLAGS.moving_average_decay, tf_global_step) + variables_to_restore = variable_averages.variables_to_restore( + slim.get_model_variables()) + variables_to_restore[tf_global_step.op.name] = tf_global_step + else: + variables_to_restore = slim.get_variables_to_restore() + + # =================================================================== # + # Evaluation metrics. + # =================================================================== # + with tf.device('/device:CPU:0'): + dict_metrics = {} + # First add all losses. + for loss in tf.get_collection(tf.GraphKeys.LOSSES): + dict_metrics[loss.op.name] = slim.metrics.streaming_mean(loss) + # Extra losses as well. + for loss in tf.get_collection('EXTRA_LOSSES'): + dict_metrics[loss.op.name] = slim.metrics.streaming_mean(loss) + + # Add metrics to summaries and Print on screen. + for name, metric in dict_metrics.items(): + # summary_name = 'eval/%s' % name + summary_name = name + op = tf.summary.scalar(summary_name, metric[0], collections=[]) + # op = tf.Print(op, [metric[0]], summary_name) + tf.add_to_collection(tf.GraphKeys.SUMMARIES, op) + + # FP and TP metrics. + tp_fp_metric = tfe.streaming_tp_fp_arrays(num_gbboxes, tp, fp, rscores) + for c in tp_fp_metric[0].keys(): + dict_metrics['tp_fp_%s' % c] = (tp_fp_metric[0][c], + tp_fp_metric[1][c]) + + # Add to summaries precision/recall values. + aps_voc07 = {} + aps_voc12 = {} + for c in tp_fp_metric[0].keys(): + # Precison and recall values. + prec, rec = tfe.precision_recall(*tp_fp_metric[0][c]) + + # Average precision VOC07. + v = tfe.average_precision_voc07(prec, rec) + summary_name = 'AP_VOC07/%s' % c + op = tf.summary.scalar(summary_name, v, collections=[]) + # op = tf.Print(op, [v], summary_name) + tf.add_to_collection(tf.GraphKeys.SUMMARIES, op) + aps_voc07[c] = v + + # Average precision VOC12. + v = tfe.average_precision_voc12(prec, rec) + summary_name = 'AP_VOC12/%s' % c + op = tf.summary.scalar(summary_name, v, collections=[]) + # op = tf.Print(op, [v], summary_name) + tf.add_to_collection(tf.GraphKeys.SUMMARIES, op) + aps_voc12[c] = v + + # Mean average precision VOC07. + summary_name = 'AP_VOC07/mAP' + mAP = tf.add_n(list(aps_voc07.values())) / len(aps_voc07) + op = tf.summary.scalar(summary_name, mAP, collections=[]) + op = tf.Print(op, [mAP], summary_name) + tf.add_to_collection(tf.GraphKeys.SUMMARIES, op) + + # Mean average precision VOC12. + summary_name = 'AP_VOC12/mAP' + mAP = tf.add_n(list(aps_voc12.values())) / len(aps_voc12) + op = tf.summary.scalar(summary_name, mAP, collections=[]) + op = tf.Print(op, [mAP], summary_name) + tf.add_to_collection(tf.GraphKeys.SUMMARIES, op) + + # for i, v in enumerate(l_precisions): + # summary_name = 'eval/precision_at_recall_%.2f' % LIST_RECALLS[i] + # op = tf.summary.scalar(summary_name, v, collections=[]) + # op = tf.Print(op, [v], summary_name) + # tf.add_to_collection(tf.GraphKeys.SUMMARIES, op) + + # Split into values and updates ops. + names_to_values, names_to_updates = slim.metrics.aggregate_metric_map(dict_metrics) + + # =================================================================== # + # Evaluation loop. + # =================================================================== # + gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=FLAGS.gpu_memory_fraction) + config = tf.ConfigProto(log_device_placement=False, gpu_options=gpu_options) + # config.graph_options.optimizer_options.global_jit_level = tf.OptimizerOptions.ON_1 + + # Number of batches... + if FLAGS.max_num_batches: + num_batches = FLAGS.max_num_batches + else: + num_batches = math.ceil(dataset.num_samples / float(FLAGS.batch_size)) + + if not FLAGS.wait_for_checkpoints: + if tf.gfile.IsDirectory(FLAGS.checkpoint_path): + checkpoint_path = tf.train.latest_checkpoint(FLAGS.checkpoint_path) + else: + checkpoint_path = FLAGS.checkpoint_path + tf.logging.info('Evaluating %s' % checkpoint_path) + + # Standard evaluation loop. + start = time.time() + slim.evaluation.evaluate_once( + master=FLAGS.master, + checkpoint_path=checkpoint_path, + logdir=FLAGS.eval_dir, + num_evals=num_batches, + eval_op=list(names_to_updates.values()), + variables_to_restore=variables_to_restore, + session_config=config) + # Log time spent. + elapsed = time.time() + elapsed = elapsed - start + print('Time spent : %.3f seconds.' % elapsed) + print('Time spent per BATCH: %.3f seconds.' % (elapsed / num_batches)) + + else: + checkpoint_path = FLAGS.checkpoint_path + tf.logging.info('Evaluating %s' % checkpoint_path) + + # Waiting loop. + slim.evaluation.evaluation_loop( + master=FLAGS.master, + checkpoint_dir=checkpoint_path, + logdir=FLAGS.eval_dir, + num_evals=num_batches, + eval_op=list(names_to_updates.values()), + variables_to_restore=variables_to_restore, + eval_interval_secs=60, + max_number_of_evaluations=np.inf, + session_config=config, + timeout=None) + + +if __name__ == '__main__': + tf.app.run() diff --git a/inspect_checkpoint.py b/inspect_checkpoint.py new file mode 100644 index 0000000..e6beef2 --- /dev/null +++ b/inspect_checkpoint.py @@ -0,0 +1,131 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""A simple script for inspect checkpoint files.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import argparse +import sys + +import numpy as np + +from tensorflow.python import pywrap_tensorflow +from tensorflow.python.platform import app +from tensorflow.python.platform import flags + +FLAGS = None + + +def print_tensors_in_checkpoint_file(file_name, tensor_name, all_tensors): + """Prints tensors in a checkpoint file. + + If no `tensor_name` is provided, prints the tensor names and shapes + in the checkpoint file. + + If `tensor_name` is provided, prints the content of the tensor. + + Args: + file_name: Name of the checkpoint file. + tensor_name: Name of the tensor in the checkpoint file to print. + all_tensors: Boolean indicating whether to print all tensors. + """ + try: + reader = pywrap_tensorflow.NewCheckpointReader(file_name) + if all_tensors: + var_to_shape_map = reader.get_variable_to_shape_map() + for key in var_to_shape_map: + print("tensor_name: ", key) + print(reader.get_tensor(key)) + elif not tensor_name: + print(reader.debug_string().decode("utf-8")) + else: + print("tensor_name: ", tensor_name) + print(reader.get_tensor(tensor_name)) + except Exception as e: # pylint: disable=broad-except + print(str(e)) + if "corrupted compressed block contents" in str(e): + print("It's likely that your checkpoint file has been compressed " + "with SNAPPY.") + + +def parse_numpy_printoption(kv_str): + """Sets a single numpy printoption from a string of the form 'x=y'. + + See documentation on numpy.set_printoptions() for details about what values + x and y can take. x can be any option listed there other than 'formatter'. + + Args: + kv_str: A string of the form 'x=y', such as 'threshold=100000' + + Raises: + argparse.ArgumentTypeError: If the string couldn't be used to set any + nump printoption. + """ + k_v_str = kv_str.split("=", 1) + if len(k_v_str) != 2 or not k_v_str[0]: + raise argparse.ArgumentTypeError("'%s' is not in the form k=v." % kv_str) + k, v_str = k_v_str + printoptions = np.get_printoptions() + if k not in printoptions: + raise argparse.ArgumentTypeError("'%s' is not a valid printoption." % k) + v_type = type(printoptions[k]) + if v_type is type(None): + raise argparse.ArgumentTypeError( + "Setting '%s' from the command line is not supported." % k) + try: + v = (v_type(v_str) if v_type is not bool + else flags.BooleanParser().Parse(v_str)) + except ValueError as e: + raise argparse.ArgumentTypeError(e.message) + np.set_printoptions(**{k: v}) + + +def main(unused_argv): + if not FLAGS.file_name: + print("Usage: inspect_checkpoint --file_name=checkpoint_file_name " + "[--tensor_name=tensor_to_print]") + sys.exit(1) + else: + print_tensors_in_checkpoint_file(FLAGS.file_name, FLAGS.tensor_name, + FLAGS.all_tensors) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.register("type", "bool", lambda v: v.lower() == "true") + parser.add_argument( + "--file_name", type=str, default="", help="Checkpoint filename. " + "Note, if using Checkpoint V2 format, file_name is the " + "shared prefix between all files in the checkpoint.") + parser.add_argument( + "--tensor_name", + type=str, + default="", + help="Name of the tensor to inspect") + parser.add_argument( + "--all_tensors", + nargs="?", + const=True, + type="bool", + default=False, + help="If True, print the values of all the tensors.") + parser.add_argument( + "--printoptions", + nargs="*", + type=parse_numpy_printoption, + help="Argument for numpy.set_printoptions(), in the form 'k=v'.") + FLAGS, unparsed = parser.parse_known_args() + app.run(main=main, argv=[sys.argv[0]] + unparsed) diff --git a/nets/__init__.py b/nets/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/nets/__init__.py @@ -0,0 +1 @@ + diff --git a/nets/caffe_scope.py b/nets/caffe_scope.py new file mode 100644 index 0000000..1d5c14e --- /dev/null +++ b/nets/caffe_scope.py @@ -0,0 +1,90 @@ +"""Specific Caffe scope used to import weights from a .caffemodel file. + +The idea is to create special initializers loading weights from protobuf +.caffemodel files. +""" +import caffe +from caffe.proto import caffe_pb2 + +import numpy as np +import tensorflow as tf + +slim = tf.contrib.slim + + +class CaffeScope(object): + """Caffe scope. + """ + def __init__(self): + """Initialize the caffee scope. + """ + self.counters = {} + self.layers = {} + self.caffe_layers = None + self.bgr_to_rgb = 0 + + def load(self, filename, bgr_to_rgb=True): + """Load weights from a .caffemodel file and initialize counters. + + Params: + filename: caffemodel file. + """ + print('Loading Caffe file:', filename) + caffemodel_params = caffe_pb2.NetParameter() + caffemodel_str = open(filename, 'rb').read() + caffemodel_params.ParseFromString(caffemodel_str) + self.caffe_layers = caffemodel_params.layer + + # Layers collection. + self.layers['convolution'] = [i for i, l in enumerate(self.caffe_layers) + if l.type == 'Convolution'] + self.layers['l2_normalization'] = [i for i, l in enumerate(self.caffe_layers) + if l.type == 'Normalize'] + # BGR to RGB convertion. Tries to find the first convolution with 3 + # and exchange parameters. + if bgr_to_rgb: + self.bgr_to_rgb = 1 + + def conv_weights_init(self): + def _initializer(shape, dtype, partition_info=None): + counter = self.counters.get(self.conv_weights_init, 0) + idx = self.layers['convolution'][counter] + layer = self.caffe_layers[idx] + # Weights: reshape and transpose dimensions. + w = np.array(layer.blobs[0].data) + w = np.reshape(w, layer.blobs[0].shape.dim) + # w = np.transpose(w, (1, 0, 2, 3)) + w = np.transpose(w, (2, 3, 1, 0)) + if self.bgr_to_rgb == 1 and w.shape[2] == 3: + print('Convert BGR to RGB in convolution layer:', layer.name) + w[:, :, (0, 1, 2)] = w[:, :, (2, 1, 0)] + self.bgr_to_rgb += 1 + self.counters[self.conv_weights_init] = counter + 1 + print('Load weights from convolution layer:', layer.name, w.shape) + return tf.cast(w, dtype) + return _initializer + + def conv_biases_init(self): + def _initializer(shape, dtype, partition_info=None): + counter = self.counters.get(self.conv_biases_init, 0) + idx = self.layers['convolution'][counter] + layer = self.caffe_layers[idx] + # Biases data... + b = np.array(layer.blobs[1].data) + self.counters[self.conv_biases_init] = counter + 1 + print('Load biases from convolution layer:', layer.name, b.shape) + return tf.cast(b, dtype) + return _initializer + + def l2_norm_scale_init(self): + def _initializer(shape, dtype, partition_info=None): + counter = self.counters.get(self.l2_norm_scale_init, 0) + idx = self.layers['l2_normalization'][counter] + layer = self.caffe_layers[idx] + # Scaling parameter. + s = np.array(layer.blobs[0].data) + s = np.reshape(s, layer.blobs[0].shape.dim) + self.counters[self.l2_norm_scale_init] = counter + 1 + print('Load scaling from L2 normalization layer:', layer.name, s.shape) + return tf.cast(s, dtype) + return _initializer diff --git a/nets/custom_layers.py b/nets/custom_layers.py new file mode 100644 index 0000000..4939c87 --- /dev/null +++ b/nets/custom_layers.py @@ -0,0 +1,164 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Implement some custom layers, not provided by TensorFlow. + +Trying to follow as much as possible the style/standards used in +tf.contrib.layers +""" +import tensorflow as tf + +from tensorflow.contrib.framework.python.ops import add_arg_scope +from tensorflow.contrib.layers.python.layers import initializers +from tensorflow.contrib.framework.python.ops import variables +from tensorflow.contrib.layers.python.layers import utils +from tensorflow.python.ops import nn +from tensorflow.python.ops import init_ops +from tensorflow.python.ops import variable_scope + + +def abs_smooth(x): + """Smoothed absolute function. Useful to compute an L1 smooth error. + + Define as: + x^2 / 2 if abs(x) < 1 + abs(x) - 0.5 if abs(x) > 1 + We use here a differentiable definition using min(x) and abs(x). Clearly + not optimal, but good enough for our purpose! + """ + absx = tf.abs(x) + minx = tf.minimum(absx, 1) + r = 0.5 * ((absx - 1) * minx + absx) + return r + + +@add_arg_scope +def l2_normalization( + inputs, + scaling=False, + scale_initializer=init_ops.ones_initializer(), + reuse=None, + variables_collections=None, + outputs_collections=None, + data_format='NHWC', + trainable=True, + scope=None): + """Implement L2 normalization on every feature (i.e. spatial normalization). + + Should be extended in some near future to other dimensions, providing a more + flexible normalization framework. + + Args: + inputs: a 4-D tensor with dimensions [batch_size, height, width, channels]. + scaling: whether or not to add a post scaling operation along the dimensions + which have been normalized. + scale_initializer: An initializer for the weights. + reuse: whether or not the layer and its variables should be reused. To be + able to reuse the layer scope must be given. + variables_collections: optional list of collections for all the variables or + a dictionary containing a different list of collection per variable. + outputs_collections: collection to add the outputs. + data_format: NHWC or NCHW data format. + trainable: If `True` also add variables to the graph collection + `GraphKeys.TRAINABLE_VARIABLES` (see tf.Variable). + scope: Optional scope for `variable_scope`. + Returns: + A `Tensor` representing the output of the operation. + """ + + with variable_scope.variable_scope( + scope, 'L2Normalization', [inputs], reuse=reuse) as sc: + inputs_shape = inputs.get_shape() + inputs_rank = inputs_shape.ndims + dtype = inputs.dtype.base_dtype + if data_format == 'NHWC': + # norm_dim = tf.range(1, inputs_rank-1) + norm_dim = tf.range(inputs_rank-1, inputs_rank) + params_shape = inputs_shape[-1:] + elif data_format == 'NCHW': + # norm_dim = tf.range(2, inputs_rank) + norm_dim = tf.range(1, 2) + params_shape = (inputs_shape[1]) + + # Normalize along spatial dimensions. + outputs = nn.l2_normalize(inputs, norm_dim, epsilon=1e-12) + # Additional scaling. + if scaling: + scale_collections = utils.get_variable_collections( + variables_collections, 'scale') + scale = variables.model_variable('gamma', + shape=params_shape, + dtype=dtype, + initializer=scale_initializer, + collections=scale_collections, + trainable=trainable) + if data_format == 'NHWC': + outputs = tf.multiply(outputs, scale) + elif data_format == 'NCHW': + scale = tf.expand_dims(scale, axis=-1) + scale = tf.expand_dims(scale, axis=-1) + outputs = tf.multiply(outputs, scale) + # outputs = tf.transpose(outputs, perm=(0, 2, 3, 1)) + + return utils.collect_named_outputs(outputs_collections, + sc.original_name_scope, outputs) + + +@add_arg_scope +def pad2d(inputs, + pad=(0, 0), + mode='CONSTANT', + data_format='NHWC', + trainable=True, + scope=None): + """2D Padding layer, adding a symmetric padding to H and W dimensions. + + Aims to mimic padding in Caffe and MXNet, helping the port of models to + TensorFlow. Tries to follow the naming convention of `tf.contrib.layers`. + + Args: + inputs: 4D input Tensor; + pad: 2-Tuple with padding values for H and W dimensions; + mode: Padding mode. C.f. `tf.pad` + data_format: NHWC or NCHW data format. + """ + with tf.name_scope(scope, 'pad2d', [inputs]): + # Padding shape. + if data_format == 'NHWC': + paddings = [[0, 0], [pad[0], pad[0]], [pad[1], pad[1]], [0, 0]] + elif data_format == 'NCHW': + paddings = [[0, 0], [0, 0], [pad[0], pad[0]], [pad[1], pad[1]]] + net = tf.pad(inputs, paddings, mode=mode) + return net + + +@add_arg_scope +def channel_to_last(inputs, + data_format='NHWC', + scope=None): + """Move the channel axis to the last dimension. Allows to + provide a single output format whatever the input data format. + + Args: + inputs: Input Tensor; + data_format: NHWC or NCHW. + Return: + Input in NHWC format. + """ + with tf.name_scope(scope, 'channel_to_last', [inputs]): + if data_format == 'NHWC': + net = inputs + elif data_format == 'NCHW': + net = tf.transpose(inputs, perm=(0, 2, 3, 1)) + return net diff --git a/nets/inception.py b/nets/inception.py new file mode 100644 index 0000000..fb51435 --- /dev/null +++ b/nets/inception.py @@ -0,0 +1,33 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Brings inception_v1, inception_v2 and inception_v3 under one namespace.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +# pylint: disable=unused-import +from nets.inception_resnet_v2 import inception_resnet_v2 +from nets.inception_resnet_v2 import inception_resnet_v2_arg_scope +# from nets.inception_v1 import inception_v1 +# from nets.inception_v1 import inception_v1_arg_scope +# from nets.inception_v1 import inception_v1_base +# from nets.inception_v2 import inception_v2 +# from nets.inception_v2 import inception_v2_arg_scope +# from nets.inception_v2 import inception_v2_base +from nets.inception_v3 import inception_v3 +from nets.inception_v3 import inception_v3_arg_scope +from nets.inception_v3 import inception_v3_base +# pylint: enable=unused-import diff --git a/nets/inception_resnet_v2.py b/nets/inception_resnet_v2.py new file mode 100644 index 0000000..4b3c5bd --- /dev/null +++ b/nets/inception_resnet_v2.py @@ -0,0 +1,280 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains the definition of the Inception Resnet V2 architecture. + +As described in http://arxiv.org/abs/1602.07261. + + Inception-v4, Inception-ResNet and the Impact of Residual Connections + on Learning + Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alex Alemi +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + + +import tensorflow as tf + +slim = tf.contrib.slim + + +def block35(net, scale=1.0, activation_fn=tf.nn.relu, scope=None, reuse=None): + """Builds the 35x35 resnet block.""" + with tf.variable_scope(scope, 'Block35', [net], reuse=reuse): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(net, 32, 1, scope='Conv2d_1x1') + with tf.variable_scope('Branch_1'): + tower_conv1_0 = slim.conv2d(net, 32, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d(tower_conv1_0, 32, 3, scope='Conv2d_0b_3x3') + with tf.variable_scope('Branch_2'): + tower_conv2_0 = slim.conv2d(net, 32, 1, scope='Conv2d_0a_1x1') + tower_conv2_1 = slim.conv2d(tower_conv2_0, 48, 3, scope='Conv2d_0b_3x3') + tower_conv2_2 = slim.conv2d(tower_conv2_1, 64, 3, scope='Conv2d_0c_3x3') + mixed = tf.concat(3, [tower_conv, tower_conv1_1, tower_conv2_2]) + up = slim.conv2d(mixed, net.get_shape()[3], 1, normalizer_fn=None, + activation_fn=None, scope='Conv2d_1x1') + net += scale * up + if activation_fn: + net = activation_fn(net) + return net + + +def block17(net, scale=1.0, activation_fn=tf.nn.relu, scope=None, reuse=None): + """Builds the 17x17 resnet block.""" + with tf.variable_scope(scope, 'Block17', [net], reuse=reuse): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(net, 192, 1, scope='Conv2d_1x1') + with tf.variable_scope('Branch_1'): + tower_conv1_0 = slim.conv2d(net, 128, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d(tower_conv1_0, 160, [1, 7], + scope='Conv2d_0b_1x7') + tower_conv1_2 = slim.conv2d(tower_conv1_1, 192, [7, 1], + scope='Conv2d_0c_7x1') + mixed = tf.concat(3, [tower_conv, tower_conv1_2]) + up = slim.conv2d(mixed, net.get_shape()[3], 1, normalizer_fn=None, + activation_fn=None, scope='Conv2d_1x1') + net += scale * up + if activation_fn: + net = activation_fn(net) + return net + + +def block8(net, scale=1.0, activation_fn=tf.nn.relu, scope=None, reuse=None): + """Builds the 8x8 resnet block.""" + with tf.variable_scope(scope, 'Block8', [net], reuse=reuse): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(net, 192, 1, scope='Conv2d_1x1') + with tf.variable_scope('Branch_1'): + tower_conv1_0 = slim.conv2d(net, 192, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d(tower_conv1_0, 224, [1, 3], + scope='Conv2d_0b_1x3') + tower_conv1_2 = slim.conv2d(tower_conv1_1, 256, [3, 1], + scope='Conv2d_0c_3x1') + mixed = tf.concat(3, [tower_conv, tower_conv1_2]) + up = slim.conv2d(mixed, net.get_shape()[3], 1, normalizer_fn=None, + activation_fn=None, scope='Conv2d_1x1') + net += scale * up + if activation_fn: + net = activation_fn(net) + return net + + +def inception_resnet_v2(inputs, num_classes=1001, is_training=True, + dropout_keep_prob=0.8, + reuse=None, + scope='InceptionResnetV2'): + """Creates the Inception Resnet V2 model. + + Args: + inputs: a 4-D tensor of size [batch_size, height, width, 3]. + num_classes: number of predicted classes. + is_training: whether is training or not. + dropout_keep_prob: float, the fraction to keep before final layer. + reuse: whether or not the network and its variables should be reused. To be + able to reuse 'scope' must be given. + scope: Optional variable_scope. + + Returns: + logits: the logits outputs of the model. + end_points: the set of end_points from the inception model. + """ + end_points = {} + + with tf.variable_scope(scope, 'InceptionResnetV2', [inputs], reuse=reuse): + with slim.arg_scope([slim.batch_norm, slim.dropout], + is_training=is_training): + with slim.arg_scope([slim.conv2d, slim.max_pool2d, slim.avg_pool2d], + stride=1, padding='SAME'): + + # 149 x 149 x 32 + net = slim.conv2d(inputs, 32, 3, stride=2, padding='VALID', + scope='Conv2d_1a_3x3') + end_points['Conv2d_1a_3x3'] = net + # 147 x 147 x 32 + net = slim.conv2d(net, 32, 3, padding='VALID', + scope='Conv2d_2a_3x3') + end_points['Conv2d_2a_3x3'] = net + # 147 x 147 x 64 + net = slim.conv2d(net, 64, 3, scope='Conv2d_2b_3x3') + end_points['Conv2d_2b_3x3'] = net + # 73 x 73 x 64 + net = slim.max_pool2d(net, 3, stride=2, padding='VALID', + scope='MaxPool_3a_3x3') + end_points['MaxPool_3a_3x3'] = net + # 73 x 73 x 80 + net = slim.conv2d(net, 80, 1, padding='VALID', + scope='Conv2d_3b_1x1') + end_points['Conv2d_3b_1x1'] = net + # 71 x 71 x 192 + net = slim.conv2d(net, 192, 3, padding='VALID', + scope='Conv2d_4a_3x3') + end_points['Conv2d_4a_3x3'] = net + # 35 x 35 x 192 + net = slim.max_pool2d(net, 3, stride=2, padding='VALID', + scope='MaxPool_5a_3x3') + end_points['MaxPool_5a_3x3'] = net + + # 35 x 35 x 320 + with tf.variable_scope('Mixed_5b'): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(net, 96, 1, scope='Conv2d_1x1') + with tf.variable_scope('Branch_1'): + tower_conv1_0 = slim.conv2d(net, 48, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d(tower_conv1_0, 64, 5, + scope='Conv2d_0b_5x5') + with tf.variable_scope('Branch_2'): + tower_conv2_0 = slim.conv2d(net, 64, 1, scope='Conv2d_0a_1x1') + tower_conv2_1 = slim.conv2d(tower_conv2_0, 96, 3, + scope='Conv2d_0b_3x3') + tower_conv2_2 = slim.conv2d(tower_conv2_1, 96, 3, + scope='Conv2d_0c_3x3') + with tf.variable_scope('Branch_3'): + tower_pool = slim.avg_pool2d(net, 3, stride=1, padding='SAME', + scope='AvgPool_0a_3x3') + tower_pool_1 = slim.conv2d(tower_pool, 64, 1, + scope='Conv2d_0b_1x1') + net = tf.concat(3, [tower_conv, tower_conv1_1, + tower_conv2_2, tower_pool_1]) + + end_points['Mixed_5b'] = net + net = slim.repeat(net, 10, block35, scale=0.17) + + # 17 x 17 x 1024 + with tf.variable_scope('Mixed_6a'): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(net, 384, 3, stride=2, padding='VALID', + scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_1'): + tower_conv1_0 = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d(tower_conv1_0, 256, 3, + scope='Conv2d_0b_3x3') + tower_conv1_2 = slim.conv2d(tower_conv1_1, 384, 3, + stride=2, padding='VALID', + scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_2'): + tower_pool = slim.max_pool2d(net, 3, stride=2, padding='VALID', + scope='MaxPool_1a_3x3') + net = tf.concat(3, [tower_conv, tower_conv1_2, tower_pool]) + + end_points['Mixed_6a'] = net + net = slim.repeat(net, 20, block17, scale=0.10) + + # Auxillary tower + with tf.variable_scope('AuxLogits'): + aux = slim.avg_pool2d(net, 5, stride=3, padding='VALID', + scope='Conv2d_1a_3x3') + aux = slim.conv2d(aux, 128, 1, scope='Conv2d_1b_1x1') + aux = slim.conv2d(aux, 768, aux.get_shape()[1:3], + padding='VALID', scope='Conv2d_2a_5x5') + aux = slim.flatten(aux) + aux = slim.fully_connected(aux, num_classes, activation_fn=None, + scope='Logits') + end_points['AuxLogits'] = aux + + with tf.variable_scope('Mixed_7a'): + with tf.variable_scope('Branch_0'): + tower_conv = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') + tower_conv_1 = slim.conv2d(tower_conv, 384, 3, stride=2, + padding='VALID', scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_1'): + tower_conv1 = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') + tower_conv1_1 = slim.conv2d(tower_conv1, 288, 3, stride=2, + padding='VALID', scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_2'): + tower_conv2 = slim.conv2d(net, 256, 1, scope='Conv2d_0a_1x1') + tower_conv2_1 = slim.conv2d(tower_conv2, 288, 3, + scope='Conv2d_0b_3x3') + tower_conv2_2 = slim.conv2d(tower_conv2_1, 320, 3, stride=2, + padding='VALID', scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_3'): + tower_pool = slim.max_pool2d(net, 3, stride=2, padding='VALID', + scope='MaxPool_1a_3x3') + net = tf.concat(3, [tower_conv_1, tower_conv1_1, + tower_conv2_2, tower_pool]) + + end_points['Mixed_7a'] = net + + net = slim.repeat(net, 9, block8, scale=0.20) + net = block8(net, activation_fn=None) + + net = slim.conv2d(net, 1536, 1, scope='Conv2d_7b_1x1') + end_points['Conv2d_7b_1x1'] = net + + with tf.variable_scope('Logits'): + end_points['PrePool'] = net + net = slim.avg_pool2d(net, net.get_shape()[1:3], padding='VALID', + scope='AvgPool_1a_8x8') + net = slim.flatten(net) + + net = slim.dropout(net, dropout_keep_prob, is_training=is_training, + scope='Dropout') + + end_points['PreLogitsFlatten'] = net + logits = slim.fully_connected(net, num_classes, activation_fn=None, + scope='Logits') + end_points['Logits'] = logits + end_points['Predictions'] = tf.nn.softmax(logits, name='Predictions') + + return logits, end_points +inception_resnet_v2.default_image_size = 299 + + +def inception_resnet_v2_arg_scope(weight_decay=0.00004, + batch_norm_decay=0.9997, + batch_norm_epsilon=0.001): + """Yields the scope with the default parameters for inception_resnet_v2. + + Args: + weight_decay: the weight decay for weights variables. + batch_norm_decay: decay for the moving average of batch_norm momentums. + batch_norm_epsilon: small float added to variance to avoid dividing by zero. + + Returns: + a arg_scope with the parameters needed for inception_resnet_v2. + """ + # Set weight_decay for weights in conv2d and fully_connected layers. + with slim.arg_scope([slim.conv2d, slim.fully_connected], + weights_regularizer=slim.l2_regularizer(weight_decay), + biases_regularizer=slim.l2_regularizer(weight_decay)): + + batch_norm_params = { + 'decay': batch_norm_decay, + 'epsilon': batch_norm_epsilon, + } + # Set activation_fn and parameters for batch_norm. + with slim.arg_scope([slim.conv2d], activation_fn=tf.nn.relu, + normalizer_fn=slim.batch_norm, + normalizer_params=batch_norm_params) as scope: + return scope diff --git a/nets/inception_v3.py b/nets/inception_v3.py new file mode 100644 index 0000000..d5a1fe3 --- /dev/null +++ b/nets/inception_v3.py @@ -0,0 +1,587 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains the definition for inception v3 classification network.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +slim = tf.contrib.slim +trunc_normal = lambda stddev: tf.truncated_normal_initializer(0.0, stddev) + + +def inception_v3_base(inputs, + final_endpoint='Mixed_7c', + min_depth=16, + depth_multiplier=1.0, + scope=None): + """Inception model from http://arxiv.org/abs/1512.00567. + + Constructs an Inception v3 network from inputs to the given final endpoint. + This method can construct the network up to the final inception block + Mixed_7c. + + Note that the names of the layers in the paper do not correspond to the names + of the endpoints registered by this function although they build the same + network. + + Here is a mapping from the old_names to the new names: + Old name | New name + ======================================= + conv0 | Conv2d_1a_3x3 + conv1 | Conv2d_2a_3x3 + conv2 | Conv2d_2b_3x3 + pool1 | MaxPool_3a_3x3 + conv3 | Conv2d_3b_1x1 + conv4 | Conv2d_4a_3x3 + pool2 | MaxPool_5a_3x3 + mixed_35x35x256a | Mixed_5b + mixed_35x35x288a | Mixed_5c + mixed_35x35x288b | Mixed_5d + mixed_17x17x768a | Mixed_6a + mixed_17x17x768b | Mixed_6b + mixed_17x17x768c | Mixed_6c + mixed_17x17x768d | Mixed_6d + mixed_17x17x768e | Mixed_6e + mixed_8x8x1280a | Mixed_7a + mixed_8x8x2048a | Mixed_7b + mixed_8x8x2048b | Mixed_7c + + Args: + inputs: a tensor of size [batch_size, height, width, channels]. + final_endpoint: specifies the endpoint to construct the network up to. It + can be one of ['Conv2d_1a_3x3', 'Conv2d_2a_3x3', 'Conv2d_2b_3x3', + 'MaxPool_3a_3x3', 'Conv2d_3b_1x1', 'Conv2d_4a_3x3', 'MaxPool_5a_3x3', + 'Mixed_5b', 'Mixed_5c', 'Mixed_5d', 'Mixed_6a', 'Mixed_6b', 'Mixed_6c', + 'Mixed_6d', 'Mixed_6e', 'Mixed_7a', 'Mixed_7b', 'Mixed_7c']. + min_depth: Minimum depth value (number of channels) for all convolution ops. + Enforced when depth_multiplier < 1, and not an active constraint when + depth_multiplier >= 1. + depth_multiplier: Float multiplier for the depth (number of channels) + for all convolution ops. The value must be greater than zero. Typical + usage will be to set this value in (0, 1) to reduce the number of + parameters or computation cost of the model. + scope: Optional variable_scope. + + Returns: + tensor_out: output tensor corresponding to the final_endpoint. + end_points: a set of activations for external use, for example summaries or + losses. + + Raises: + ValueError: if final_endpoint is not set to one of the predefined values, + or depth_multiplier <= 0 + """ + # end_points will collect relevant activations for external use, for example + # summaries or losses. + end_points = {} + + if depth_multiplier <= 0: + raise ValueError('depth_multiplier is not greater than zero.') + depth = lambda d: max(int(d * depth_multiplier), min_depth) + + with tf.variable_scope(scope, 'InceptionV3', [inputs]): + with slim.arg_scope([slim.conv2d, slim.max_pool2d, slim.avg_pool2d], + stride=1, padding='VALID'): + # 299 x 299 x 3 + end_point = 'Conv2d_1a_3x3' + net = slim.conv2d(inputs, depth(32), [3, 3], stride=2, scope=end_point) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + # 149 x 149 x 32 + end_point = 'Conv2d_2a_3x3' + net = slim.conv2d(net, depth(32), [3, 3], scope=end_point) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + # 147 x 147 x 32 + end_point = 'Conv2d_2b_3x3' + net = slim.conv2d(net, depth(64), [3, 3], padding='SAME', scope=end_point) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + # 147 x 147 x 64 + end_point = 'MaxPool_3a_3x3' + net = slim.max_pool2d(net, [3, 3], stride=2, scope=end_point) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + # 73 x 73 x 64 + end_point = 'Conv2d_3b_1x1' + net = slim.conv2d(net, depth(80), [1, 1], scope=end_point) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + # 73 x 73 x 80. + end_point = 'Conv2d_4a_3x3' + net = slim.conv2d(net, depth(192), [3, 3], scope=end_point) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + # 71 x 71 x 192. + end_point = 'MaxPool_5a_3x3' + net = slim.max_pool2d(net, [3, 3], stride=2, scope=end_point) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + # 35 x 35 x 192. + + # Inception blocks + with slim.arg_scope([slim.conv2d, slim.max_pool2d, slim.avg_pool2d], + stride=1, padding='SAME'): + # mixed: 35 x 35 x 256. + end_point = 'Mixed_5b' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(64), [1, 1], scope='Conv2d_0a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(48), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = slim.conv2d(branch_1, depth(64), [5, 5], + scope='Conv2d_0b_5x5') + with tf.variable_scope('Branch_2'): + branch_2 = slim.conv2d(net, depth(64), [1, 1], scope='Conv2d_0a_1x1') + branch_2 = slim.conv2d(branch_2, depth(96), [3, 3], + scope='Conv2d_0b_3x3') + branch_2 = slim.conv2d(branch_2, depth(96), [3, 3], + scope='Conv2d_0c_3x3') + with tf.variable_scope('Branch_3'): + branch_3 = slim.avg_pool2d(net, [3, 3], scope='AvgPool_0a_3x3') + branch_3 = slim.conv2d(branch_3, depth(32), [1, 1], + scope='Conv2d_0b_1x1') + net = tf.concat(3, [branch_0, branch_1, branch_2, branch_3]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + + # mixed_1: 35 x 35 x 288. + end_point = 'Mixed_5c' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(64), [1, 1], scope='Conv2d_0a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(48), [1, 1], scope='Conv2d_0b_1x1') + branch_1 = slim.conv2d(branch_1, depth(64), [5, 5], + scope='Conv_1_0c_5x5') + with tf.variable_scope('Branch_2'): + branch_2 = slim.conv2d(net, depth(64), [1, 1], + scope='Conv2d_0a_1x1') + branch_2 = slim.conv2d(branch_2, depth(96), [3, 3], + scope='Conv2d_0b_3x3') + branch_2 = slim.conv2d(branch_2, depth(96), [3, 3], + scope='Conv2d_0c_3x3') + with tf.variable_scope('Branch_3'): + branch_3 = slim.avg_pool2d(net, [3, 3], scope='AvgPool_0a_3x3') + branch_3 = slim.conv2d(branch_3, depth(64), [1, 1], + scope='Conv2d_0b_1x1') + net = tf.concat(3, [branch_0, branch_1, branch_2, branch_3]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + + # mixed_2: 35 x 35 x 288. + end_point = 'Mixed_5d' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(64), [1, 1], scope='Conv2d_0a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(48), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = slim.conv2d(branch_1, depth(64), [5, 5], + scope='Conv2d_0b_5x5') + with tf.variable_scope('Branch_2'): + branch_2 = slim.conv2d(net, depth(64), [1, 1], scope='Conv2d_0a_1x1') + branch_2 = slim.conv2d(branch_2, depth(96), [3, 3], + scope='Conv2d_0b_3x3') + branch_2 = slim.conv2d(branch_2, depth(96), [3, 3], + scope='Conv2d_0c_3x3') + with tf.variable_scope('Branch_3'): + branch_3 = slim.avg_pool2d(net, [3, 3], scope='AvgPool_0a_3x3') + branch_3 = slim.conv2d(branch_3, depth(64), [1, 1], + scope='Conv2d_0b_1x1') + net = tf.concat(3, [branch_0, branch_1, branch_2, branch_3]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + + # mixed_3: 17 x 17 x 768. + end_point = 'Mixed_6a' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(384), [3, 3], stride=2, + padding='VALID', scope='Conv2d_1a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(64), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = slim.conv2d(branch_1, depth(96), [3, 3], + scope='Conv2d_0b_3x3') + branch_1 = slim.conv2d(branch_1, depth(96), [3, 3], stride=2, + padding='VALID', scope='Conv2d_1a_1x1') + with tf.variable_scope('Branch_2'): + branch_2 = slim.max_pool2d(net, [3, 3], stride=2, padding='VALID', + scope='MaxPool_1a_3x3') + net = tf.concat(3, [branch_0, branch_1, branch_2]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + + # mixed4: 17 x 17 x 768. + end_point = 'Mixed_6b' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(192), [1, 1], scope='Conv2d_0a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(128), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = slim.conv2d(branch_1, depth(128), [1, 7], + scope='Conv2d_0b_1x7') + branch_1 = slim.conv2d(branch_1, depth(192), [7, 1], + scope='Conv2d_0c_7x1') + with tf.variable_scope('Branch_2'): + branch_2 = slim.conv2d(net, depth(128), [1, 1], scope='Conv2d_0a_1x1') + branch_2 = slim.conv2d(branch_2, depth(128), [7, 1], + scope='Conv2d_0b_7x1') + branch_2 = slim.conv2d(branch_2, depth(128), [1, 7], + scope='Conv2d_0c_1x7') + branch_2 = slim.conv2d(branch_2, depth(128), [7, 1], + scope='Conv2d_0d_7x1') + branch_2 = slim.conv2d(branch_2, depth(192), [1, 7], + scope='Conv2d_0e_1x7') + with tf.variable_scope('Branch_3'): + branch_3 = slim.avg_pool2d(net, [3, 3], scope='AvgPool_0a_3x3') + branch_3 = slim.conv2d(branch_3, depth(192), [1, 1], + scope='Conv2d_0b_1x1') + net = tf.concat(3, [branch_0, branch_1, branch_2, branch_3]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + + # mixed_5: 17 x 17 x 768. + end_point = 'Mixed_6c' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(192), [1, 1], scope='Conv2d_0a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(160), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = slim.conv2d(branch_1, depth(160), [1, 7], + scope='Conv2d_0b_1x7') + branch_1 = slim.conv2d(branch_1, depth(192), [7, 1], + scope='Conv2d_0c_7x1') + with tf.variable_scope('Branch_2'): + branch_2 = slim.conv2d(net, depth(160), [1, 1], scope='Conv2d_0a_1x1') + branch_2 = slim.conv2d(branch_2, depth(160), [7, 1], + scope='Conv2d_0b_7x1') + branch_2 = slim.conv2d(branch_2, depth(160), [1, 7], + scope='Conv2d_0c_1x7') + branch_2 = slim.conv2d(branch_2, depth(160), [7, 1], + scope='Conv2d_0d_7x1') + branch_2 = slim.conv2d(branch_2, depth(192), [1, 7], + scope='Conv2d_0e_1x7') + with tf.variable_scope('Branch_3'): + branch_3 = slim.avg_pool2d(net, [3, 3], scope='AvgPool_0a_3x3') + branch_3 = slim.conv2d(branch_3, depth(192), [1, 1], + scope='Conv2d_0b_1x1') + net = tf.concat(3, [branch_0, branch_1, branch_2, branch_3]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + # mixed_6: 17 x 17 x 768. + end_point = 'Mixed_6d' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(192), [1, 1], scope='Conv2d_0a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(160), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = slim.conv2d(branch_1, depth(160), [1, 7], + scope='Conv2d_0b_1x7') + branch_1 = slim.conv2d(branch_1, depth(192), [7, 1], + scope='Conv2d_0c_7x1') + with tf.variable_scope('Branch_2'): + branch_2 = slim.conv2d(net, depth(160), [1, 1], scope='Conv2d_0a_1x1') + branch_2 = slim.conv2d(branch_2, depth(160), [7, 1], + scope='Conv2d_0b_7x1') + branch_2 = slim.conv2d(branch_2, depth(160), [1, 7], + scope='Conv2d_0c_1x7') + branch_2 = slim.conv2d(branch_2, depth(160), [7, 1], + scope='Conv2d_0d_7x1') + branch_2 = slim.conv2d(branch_2, depth(192), [1, 7], + scope='Conv2d_0e_1x7') + with tf.variable_scope('Branch_3'): + branch_3 = slim.avg_pool2d(net, [3, 3], scope='AvgPool_0a_3x3') + branch_3 = slim.conv2d(branch_3, depth(192), [1, 1], + scope='Conv2d_0b_1x1') + net = tf.concat(3, [branch_0, branch_1, branch_2, branch_3]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + + # mixed_7: 17 x 17 x 768. + end_point = 'Mixed_6e' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(192), [1, 1], scope='Conv2d_0a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(192), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = slim.conv2d(branch_1, depth(192), [1, 7], + scope='Conv2d_0b_1x7') + branch_1 = slim.conv2d(branch_1, depth(192), [7, 1], + scope='Conv2d_0c_7x1') + with tf.variable_scope('Branch_2'): + branch_2 = slim.conv2d(net, depth(192), [1, 1], scope='Conv2d_0a_1x1') + branch_2 = slim.conv2d(branch_2, depth(192), [7, 1], + scope='Conv2d_0b_7x1') + branch_2 = slim.conv2d(branch_2, depth(192), [1, 7], + scope='Conv2d_0c_1x7') + branch_2 = slim.conv2d(branch_2, depth(192), [7, 1], + scope='Conv2d_0d_7x1') + branch_2 = slim.conv2d(branch_2, depth(192), [1, 7], + scope='Conv2d_0e_1x7') + with tf.variable_scope('Branch_3'): + branch_3 = slim.avg_pool2d(net, [3, 3], scope='AvgPool_0a_3x3') + branch_3 = slim.conv2d(branch_3, depth(192), [1, 1], + scope='Conv2d_0b_1x1') + net = tf.concat(3, [branch_0, branch_1, branch_2, branch_3]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + + # mixed_8: 8 x 8 x 1280. + end_point = 'Mixed_7a' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(192), [1, 1], scope='Conv2d_0a_1x1') + branch_0 = slim.conv2d(branch_0, depth(320), [3, 3], stride=2, + padding='VALID', scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(192), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = slim.conv2d(branch_1, depth(192), [1, 7], + scope='Conv2d_0b_1x7') + branch_1 = slim.conv2d(branch_1, depth(192), [7, 1], + scope='Conv2d_0c_7x1') + branch_1 = slim.conv2d(branch_1, depth(192), [3, 3], stride=2, + padding='VALID', scope='Conv2d_1a_3x3') + with tf.variable_scope('Branch_2'): + branch_2 = slim.max_pool2d(net, [3, 3], stride=2, padding='VALID', + scope='MaxPool_1a_3x3') + net = tf.concat(3, [branch_0, branch_1, branch_2]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + # mixed_9: 8 x 8 x 2048. + end_point = 'Mixed_7b' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(320), [1, 1], scope='Conv2d_0a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(384), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = tf.concat(3, [ + slim.conv2d(branch_1, depth(384), [1, 3], scope='Conv2d_0b_1x3'), + slim.conv2d(branch_1, depth(384), [3, 1], scope='Conv2d_0b_3x1')]) + with tf.variable_scope('Branch_2'): + branch_2 = slim.conv2d(net, depth(448), [1, 1], scope='Conv2d_0a_1x1') + branch_2 = slim.conv2d( + branch_2, depth(384), [3, 3], scope='Conv2d_0b_3x3') + branch_2 = tf.concat(3, [ + slim.conv2d(branch_2, depth(384), [1, 3], scope='Conv2d_0c_1x3'), + slim.conv2d(branch_2, depth(384), [3, 1], scope='Conv2d_0d_3x1')]) + with tf.variable_scope('Branch_3'): + branch_3 = slim.avg_pool2d(net, [3, 3], scope='AvgPool_0a_3x3') + branch_3 = slim.conv2d( + branch_3, depth(192), [1, 1], scope='Conv2d_0b_1x1') + net = tf.concat(3, [branch_0, branch_1, branch_2, branch_3]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + + # mixed_10: 8 x 8 x 2048. + end_point = 'Mixed_7c' + with tf.variable_scope(end_point): + with tf.variable_scope('Branch_0'): + branch_0 = slim.conv2d(net, depth(320), [1, 1], scope='Conv2d_0a_1x1') + with tf.variable_scope('Branch_1'): + branch_1 = slim.conv2d(net, depth(384), [1, 1], scope='Conv2d_0a_1x1') + branch_1 = tf.concat(3, [ + slim.conv2d(branch_1, depth(384), [1, 3], scope='Conv2d_0b_1x3'), + slim.conv2d(branch_1, depth(384), [3, 1], scope='Conv2d_0c_3x1')]) + with tf.variable_scope('Branch_2'): + branch_2 = slim.conv2d(net, depth(448), [1, 1], scope='Conv2d_0a_1x1') + branch_2 = slim.conv2d( + branch_2, depth(384), [3, 3], scope='Conv2d_0b_3x3') + branch_2 = tf.concat(3, [ + slim.conv2d(branch_2, depth(384), [1, 3], scope='Conv2d_0c_1x3'), + slim.conv2d(branch_2, depth(384), [3, 1], scope='Conv2d_0d_3x1')]) + with tf.variable_scope('Branch_3'): + branch_3 = slim.avg_pool2d(net, [3, 3], scope='AvgPool_0a_3x3') + branch_3 = slim.conv2d( + branch_3, depth(192), [1, 1], scope='Conv2d_0b_1x1') + net = tf.concat(3, [branch_0, branch_1, branch_2, branch_3]) + end_points[end_point] = net + if end_point == final_endpoint: return net, end_points + raise ValueError('Unknown final endpoint %s' % final_endpoint) + + +def inception_v3(inputs, + num_classes=1000, + is_training=True, + dropout_keep_prob=0.8, + min_depth=16, + depth_multiplier=1.0, + prediction_fn=slim.softmax, + spatial_squeeze=True, + reuse=None, + scope='InceptionV3'): + """Inception model from http://arxiv.org/abs/1512.00567. + + "Rethinking the Inception Architecture for Computer Vision" + + Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, + Zbigniew Wojna. + + With the default arguments this method constructs the exact model defined in + the paper. However, one can experiment with variations of the inception_v3 + network by changing arguments dropout_keep_prob, min_depth and + depth_multiplier. + + The default image size used to train this network is 299x299. + + Args: + inputs: a tensor of size [batch_size, height, width, channels]. + num_classes: number of predicted classes. + is_training: whether is training or not. + dropout_keep_prob: the percentage of activation values that are retained. + min_depth: Minimum depth value (number of channels) for all convolution ops. + Enforced when depth_multiplier < 1, and not an active constraint when + depth_multiplier >= 1. + depth_multiplier: Float multiplier for the depth (number of channels) + for all convolution ops. The value must be greater than zero. Typical + usage will be to set this value in (0, 1) to reduce the number of + parameters or computation cost of the model. + prediction_fn: a function to get predictions out of logits. + spatial_squeeze: if True, logits is of shape is [B, C], if false logits is + of shape [B, 1, 1, C], where B is batch_size and C is number of classes. + reuse: whether or not the network and its variables should be reused. To be + able to reuse 'scope' must be given. + scope: Optional variable_scope. + + Returns: + logits: the pre-softmax activations, a tensor of size + [batch_size, num_classes] + end_points: a dictionary from components of the network to the corresponding + activation. + + Raises: + ValueError: if 'depth_multiplier' is less than or equal to zero. + """ + if depth_multiplier <= 0: + raise ValueError('depth_multiplier is not greater than zero.') + depth = lambda d: max(int(d * depth_multiplier), min_depth) + + with tf.variable_scope(scope, 'InceptionV3', [inputs, num_classes], + reuse=reuse) as scope: + with slim.arg_scope([slim.batch_norm, slim.dropout], + is_training=is_training): + net, end_points = inception_v3_base( + inputs, scope=scope, min_depth=min_depth, + depth_multiplier=depth_multiplier) + + # Auxiliary Head logits + with slim.arg_scope([slim.conv2d, slim.max_pool2d, slim.avg_pool2d], + stride=1, padding='SAME'): + aux_logits = end_points['Mixed_6e'] + with tf.variable_scope('AuxLogits'): + aux_logits = slim.avg_pool2d( + aux_logits, [5, 5], stride=3, padding='VALID', + scope='AvgPool_1a_5x5') + aux_logits = slim.conv2d(aux_logits, depth(128), [1, 1], + scope='Conv2d_1b_1x1') + + # Shape of feature map before the final layer. + kernel_size = _reduced_kernel_size_for_small_input( + aux_logits, [5, 5]) + aux_logits = slim.conv2d( + aux_logits, depth(768), kernel_size, + weights_initializer=trunc_normal(0.01), + padding='VALID', scope='Conv2d_2a_{}x{}'.format(*kernel_size)) + aux_logits = slim.conv2d( + aux_logits, num_classes, [1, 1], activation_fn=None, + normalizer_fn=None, weights_initializer=trunc_normal(0.001), + scope='Conv2d_2b_1x1') + if spatial_squeeze: + aux_logits = tf.squeeze(aux_logits, [1, 2], name='SpatialSqueeze') + end_points['AuxLogits'] = aux_logits + + # Final pooling and prediction + with tf.variable_scope('Logits'): + kernel_size = _reduced_kernel_size_for_small_input(net, [8, 8]) + net = slim.avg_pool2d(net, kernel_size, padding='VALID', + scope='AvgPool_1a_{}x{}'.format(*kernel_size)) + # 1 x 1 x 2048 + net = slim.dropout(net, keep_prob=dropout_keep_prob, scope='Dropout_1b') + end_points['PreLogits'] = net + # 2048 + logits = slim.conv2d(net, num_classes, [1, 1], activation_fn=None, + normalizer_fn=None, scope='Conv2d_1c_1x1') + if spatial_squeeze: + logits = tf.squeeze(logits, [1, 2], name='SpatialSqueeze') + # 1000 + end_points['Logits'] = logits + end_points['Predictions'] = prediction_fn(logits, scope='Predictions') + return logits, end_points +inception_v3.default_image_size = 299 + + +def _reduced_kernel_size_for_small_input(input_tensor, kernel_size): + """Define kernel size which is automatically reduced for small input. + + If the shape of the input images is unknown at graph construction time this + function assumes that the input images are is large enough. + + Args: + input_tensor: input tensor of size [batch_size, height, width, channels]. + kernel_size: desired kernel size of length 2: [kernel_height, kernel_width] + + Returns: + a tensor with the kernel size. + + TODO(jrru): Make this function work with unknown shapes. Theoretically, this + can be done with the code below. Problems are two-fold: (1) If the shape was + known, it will be lost. (2) inception.slim.ops._two_element_tuple cannot + handle tensors that define the kernel size. + shape = tf.shape(input_tensor) + return = tf.pack([tf.minimum(shape[1], kernel_size[0]), + tf.minimum(shape[2], kernel_size[1])]) + + """ + shape = input_tensor.get_shape().as_list() + if shape[1] is None or shape[2] is None: + kernel_size_out = kernel_size + else: + kernel_size_out = [min(shape[1], kernel_size[0]), + min(shape[2], kernel_size[1])] + return kernel_size_out + + +def inception_v3_arg_scope(weight_decay=0.00004, + stddev=0.1): + """Defines the default InceptionV3 arg scope. + + Args: + weight_decay: The weight decay to use for regularizing the model. + stddev: The standard deviation of the trunctated normal weight initializer. + + Returns: + An `arg_scope` to use for the inception v3 model. + """ + batch_norm_params = { + # Decay for the moving averages. + 'decay': 0.9997, + # epsilon to prevent 0s in variance. + 'epsilon': 0.001, + # collection containing update_ops. + 'updates_collections': tf.GraphKeys.UPDATE_OPS, + } + + # Set weight_decay for weights in Conv and FC layers. + with slim.arg_scope([slim.conv2d, slim.fully_connected], + weights_regularizer=slim.l2_regularizer(weight_decay)): + with slim.arg_scope( + [slim.conv2d], + weights_initializer=tf.truncated_normal_initializer(stddev=stddev), + activation_fn=tf.nn.relu, + normalizer_fn=slim.batch_norm, + normalizer_params=batch_norm_params) as sc: + return sc diff --git a/nets/nets_factory.py b/nets/nets_factory.py new file mode 100644 index 0000000..52ac93f --- /dev/null +++ b/nets/nets_factory.py @@ -0,0 +1,89 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains a factory for building various models. +""" + +import functools +import tensorflow as tf + +# from nets import inception +# from nets import overfeat +# from nets import resnet_v1 +# from nets import resnet_v2 +from nets import vgg +# from nets import xception + +from nets import ssd_vgg_300 +from nets import ssd_vgg_512 + +slim = tf.contrib.slim + +networks_map = {'vgg_a': vgg.vgg_a, + 'vgg_16': vgg.vgg_16, + 'vgg_19': vgg.vgg_19, + 'ssd_300_vgg': ssd_vgg_300.ssd_net, + 'ssd_300_vgg_caffe': ssd_vgg_300.ssd_net, + 'ssd_512_vgg': ssd_vgg_512.ssd_net, + 'ssd_512_vgg_caffe': ssd_vgg_512.ssd_net, + } + +arg_scopes_map = {'vgg_a': vgg.vgg_arg_scope, + 'vgg_16': vgg.vgg_arg_scope, + 'vgg_19': vgg.vgg_arg_scope, + 'ssd_300_vgg': ssd_vgg_300.ssd_arg_scope, + 'ssd_300_vgg_caffe': ssd_vgg_300.ssd_arg_scope_caffe, + 'ssd_512_vgg': ssd_vgg_512.ssd_arg_scope, + 'ssd_512_vgg_caffe': ssd_vgg_512.ssd_arg_scope_caffe, + } + +networks_obj = {'ssd_300_vgg': ssd_vgg_300.SSDNet, + 'ssd_512_vgg': ssd_vgg_512.SSDNet, + } + + +def get_network(name): + """Get a network object from a name. + """ + # params = networks_obj[name].default_params if params is None else params + return networks_obj[name] + + +def get_network_fn(name, num_classes, is_training=False, **kwargs): + """Returns a network_fn such as `logits, end_points = network_fn(images)`. + + Args: + name: The name of the network. + num_classes: The number of classes to use for classification. + is_training: `True` if the model is being used for training and `False` + otherwise. + weight_decay: The l2 coefficient for the model weights. + Returns: + network_fn: A function that applies the model to a batch of images. It has + the following signature: logits, end_points = network_fn(images) + Raises: + ValueError: If network `name` is not recognized. + """ + if name not in networks_map: + raise ValueError('Name of network unknown %s' % name) + arg_scope = arg_scopes_map[name](**kwargs) + func = networks_map[name] + @functools.wraps(func) + def network_fn(images, **kwargs): + with slim.arg_scope(arg_scope): + return func(images, num_classes, is_training=is_training, **kwargs) + if hasattr(func, 'default_image_size'): + network_fn.default_image_size = func.default_image_size + + return network_fn diff --git a/nets/np_methods.py b/nets/np_methods.py new file mode 100644 index 0000000..7a021aa --- /dev/null +++ b/nets/np_methods.py @@ -0,0 +1,252 @@ +# Copyright 2017 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Additional Numpy methods. Big mess of many things! +""" +import numpy as np + + +# =========================================================================== # +# Numpy implementations of SSD boxes functions. +# =========================================================================== # +def ssd_bboxes_decode(feat_localizations, + anchor_bboxes, + prior_scaling=[0.1, 0.1, 0.2, 0.2]): + """Compute the relative bounding boxes from the layer features and + reference anchor bounding boxes. + + Return: + numpy array Nx4: ymin, xmin, ymax, xmax + """ + # Reshape for easier broadcasting. + l_shape = feat_localizations.shape + feat_localizations = np.reshape(feat_localizations, + (-1, l_shape[-2], l_shape[-1])) + yref, xref, href, wref = anchor_bboxes + xref = np.reshape(xref, [-1, 1]) + yref = np.reshape(yref, [-1, 1]) + + # Compute center, height and width + cx = feat_localizations[:, :, 0] * wref * prior_scaling[0] + xref + cy = feat_localizations[:, :, 1] * href * prior_scaling[1] + yref + w = wref * np.exp(feat_localizations[:, :, 2] * prior_scaling[2]) + h = href * np.exp(feat_localizations[:, :, 3] * prior_scaling[3]) + # bboxes: ymin, xmin, xmax, ymax. + bboxes = np.zeros_like(feat_localizations) + bboxes[:, :, 0] = cy - h / 2. + bboxes[:, :, 1] = cx - w / 2. + bboxes[:, :, 2] = cy + h / 2. + bboxes[:, :, 3] = cx + w / 2. + # Back to original shape. + bboxes = np.reshape(bboxes, l_shape) + return bboxes + + +def ssd_bboxes_select_layer(predictions_layer, + localizations_layer, + anchors_layer, + select_threshold=0.5, + img_shape=(300, 300), + num_classes=21, + decode=True): + """Extract classes, scores and bounding boxes from features in one layer. + + Return: + classes, scores, bboxes: Numpy arrays... + """ + # First decode localizations features if necessary. + if decode: + localizations_layer = ssd_bboxes_decode(localizations_layer, anchors_layer) + + # Reshape features to: Batches x N x N_labels | 4. + p_shape = predictions_layer.shape + batch_size = p_shape[0] if len(p_shape) == 5 else 1 + predictions_layer = np.reshape(predictions_layer, + (batch_size, -1, p_shape[-1])) + l_shape = localizations_layer.shape + localizations_layer = np.reshape(localizations_layer, + (batch_size, -1, l_shape[-1])) + + # Boxes selection: use threshold or score > no-label criteria. + if select_threshold is None or select_threshold == 0: + # Class prediction and scores: assign 0. to 0-class + classes = np.argmax(predictions_layer, axis=2) + scores = np.amax(predictions_layer, axis=2) + mask = (classes > 0) + classes = classes[mask] + scores = scores[mask] + bboxes = localizations_layer[mask] + else: + sub_predictions = predictions_layer[:, :, 1:] + idxes = np.where(sub_predictions > select_threshold) + classes = idxes[-1]+1 + scores = sub_predictions[idxes] + bboxes = localizations_layer[idxes[:-1]] + + return classes, scores, bboxes + + +def ssd_bboxes_select(predictions_net, + localizations_net, + anchors_net, + select_threshold=0.5, + img_shape=(300, 300), + num_classes=21, + decode=True): + """Extract classes, scores and bounding boxes from network output layers. + + Return: + classes, scores, bboxes: Numpy arrays... + """ + l_classes = [] + l_scores = [] + l_bboxes = [] + # l_layers = [] + # l_idxes = [] + for i in range(len(predictions_net)): + classes, scores, bboxes = ssd_bboxes_select_layer( + predictions_net[i], localizations_net[i], anchors_net[i], + select_threshold, img_shape, num_classes, decode) + l_classes.append(classes) + l_scores.append(scores) + l_bboxes.append(bboxes) + # Debug information. + # l_layers.append(i) + # l_idxes.append((i, idxes)) + + classes = np.concatenate(l_classes, 0) + scores = np.concatenate(l_scores, 0) + bboxes = np.concatenate(l_bboxes, 0) + return classes, scores, bboxes + + +# =========================================================================== # +# Common functions for bboxes handling and selection. +# =========================================================================== # +def bboxes_sort(classes, scores, bboxes, top_k=400): + """Sort bounding boxes by decreasing order and keep only the top_k + """ + # if priority_inside: + # inside = (bboxes[:, 0] > margin) & (bboxes[:, 1] > margin) & \ + # (bboxes[:, 2] < 1-margin) & (bboxes[:, 3] < 1-margin) + # idxes = np.argsort(-scores) + # inside = inside[idxes] + # idxes = np.concatenate([idxes[inside], idxes[~inside]]) + idxes = np.argsort(-scores) + classes = classes[idxes][:top_k] + scores = scores[idxes][:top_k] + bboxes = bboxes[idxes][:top_k] + return classes, scores, bboxes + + +def bboxes_clip(bbox_ref, bboxes): + """Clip bounding boxes with respect to reference bbox. + """ + bboxes = np.copy(bboxes) + bboxes = np.transpose(bboxes) + bbox_ref = np.transpose(bbox_ref) + bboxes[0] = np.maximum(bboxes[0], bbox_ref[0]) + bboxes[1] = np.maximum(bboxes[1], bbox_ref[1]) + bboxes[2] = np.minimum(bboxes[2], bbox_ref[2]) + bboxes[3] = np.minimum(bboxes[3], bbox_ref[3]) + bboxes = np.transpose(bboxes) + return bboxes + + +def bboxes_resize(bbox_ref, bboxes): + """Resize bounding boxes based on a reference bounding box, + assuming that the latter is [0, 0, 1, 1] after transform. + """ + bboxes = np.copy(bboxes) + # Translate. + bboxes[:, 0] -= bbox_ref[0] + bboxes[:, 1] -= bbox_ref[1] + bboxes[:, 2] -= bbox_ref[0] + bboxes[:, 3] -= bbox_ref[1] + # Resize. + resize = [bbox_ref[2] - bbox_ref[0], bbox_ref[3] - bbox_ref[1]] + bboxes[:, 0] /= resize[0] + bboxes[:, 1] /= resize[1] + bboxes[:, 2] /= resize[0] + bboxes[:, 3] /= resize[1] + return bboxes + + +def bboxes_jaccard(bboxes1, bboxes2): + """Computing jaccard index between bboxes1 and bboxes2. + Note: bboxes1 and bboxes2 can be multi-dimensional, but should broacastable. + """ + bboxes1 = np.transpose(bboxes1) + bboxes2 = np.transpose(bboxes2) + # Intersection bbox and volume. + int_ymin = np.maximum(bboxes1[0], bboxes2[0]) + int_xmin = np.maximum(bboxes1[1], bboxes2[1]) + int_ymax = np.minimum(bboxes1[2], bboxes2[2]) + int_xmax = np.minimum(bboxes1[3], bboxes2[3]) + + int_h = np.maximum(int_ymax - int_ymin, 0.) + int_w = np.maximum(int_xmax - int_xmin, 0.) + int_vol = int_h * int_w + # Union volume. + vol1 = (bboxes1[2] - bboxes1[0]) * (bboxes1[3] - bboxes1[1]) + vol2 = (bboxes2[2] - bboxes2[0]) * (bboxes2[3] - bboxes2[1]) + jaccard = int_vol / (vol1 + vol2 - int_vol) + return jaccard + + +def bboxes_intersection(bboxes_ref, bboxes2): + """Computing jaccard index between bboxes1 and bboxes2. + Note: bboxes1 and bboxes2 can be multi-dimensional, but should broacastable. + """ + bboxes_ref = np.transpose(bboxes_ref) + bboxes2 = np.transpose(bboxes2) + # Intersection bbox and volume. + int_ymin = np.maximum(bboxes_ref[0], bboxes2[0]) + int_xmin = np.maximum(bboxes_ref[1], bboxes2[1]) + int_ymax = np.minimum(bboxes_ref[2], bboxes2[2]) + int_xmax = np.minimum(bboxes_ref[3], bboxes2[3]) + + int_h = np.maximum(int_ymax - int_ymin, 0.) + int_w = np.maximum(int_xmax - int_xmin, 0.) + int_vol = int_h * int_w + # Union volume. + vol = (bboxes_ref[2] - bboxes_ref[0]) * (bboxes_ref[3] - bboxes_ref[1]) + score = int_vol / vol + return score + + +def bboxes_nms(classes, scores, bboxes, nms_threshold=0.45): + """Apply non-maximum selection to bounding boxes. + """ + keep_bboxes = np.ones(scores.shape, dtype=np.bool) + for i in range(scores.size-1): + if keep_bboxes[i]: + # Computer overlap with bboxes which are following. + overlap = bboxes_jaccard(bboxes[i], bboxes[(i+1):]) + # Overlap threshold for keeping + checking part of the same class + keep_overlap = np.logical_or(overlap < nms_threshold, classes[(i+1):] != classes[i]) + keep_bboxes[(i+1):] = np.logical_and(keep_bboxes[(i+1):], keep_overlap) + + idxes = np.where(keep_bboxes) + return classes[idxes], scores[idxes], bboxes[idxes] + + +def bboxes_nms_fast(classes, scores, bboxes, threshold=0.45): + """Apply non-maximum selection to bounding boxes. + """ + pass + + + + diff --git a/nets/ssd_common.py b/nets/ssd_common.py new file mode 100644 index 0000000..7de1a7e --- /dev/null +++ b/nets/ssd_common.py @@ -0,0 +1,410 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Shared function between different SSD implementations. +""" +import numpy as np +import tensorflow as tf +import tf_extended as tfe + + +# =========================================================================== # +# TensorFlow implementation of boxes SSD encoding / decoding. +# =========================================================================== # +def tf_ssd_bboxes_encode_layer(labels, + bboxes, + anchors_layer, + num_classes, + no_annotation_label, + ignore_threshold=0.5, + prior_scaling=[0.1, 0.1, 0.2, 0.2], + dtype=tf.float32): + """Encode groundtruth labels and bounding boxes using SSD anchors from + one layer. + + Arguments: + labels: 1D Tensor(int64) containing groundtruth labels; + bboxes: Nx4 Tensor(float) with bboxes relative coordinates; + anchors_layer: Numpy array with layer anchors; + matching_threshold: Threshold for positive match with groundtruth bboxes; + prior_scaling: Scaling of encoded coordinates. + + Return: + (target_labels, target_localizations, target_scores): Target Tensors. + """ + # Anchors coordinates and volume. + yref, xref, href, wref = anchors_layer + ymin = yref - href / 2. + xmin = xref - wref / 2. + ymax = yref + href / 2. + xmax = xref + wref / 2. + vol_anchors = (xmax - xmin) * (ymax - ymin) + + # Initialize tensors... + shape = (yref.shape[0], yref.shape[1], href.size) + feat_labels = tf.zeros(shape, dtype=tf.int64) + feat_scores = tf.zeros(shape, dtype=dtype) + + feat_ymin = tf.zeros(shape, dtype=dtype) + feat_xmin = tf.zeros(shape, dtype=dtype) + feat_ymax = tf.ones(shape, dtype=dtype) + feat_xmax = tf.ones(shape, dtype=dtype) + + def jaccard_with_anchors(bbox): + """Compute jaccard score between a box and the anchors. + """ + int_ymin = tf.maximum(ymin, bbox[0]) + int_xmin = tf.maximum(xmin, bbox[1]) + int_ymax = tf.minimum(ymax, bbox[2]) + int_xmax = tf.minimum(xmax, bbox[3]) + h = tf.maximum(int_ymax - int_ymin, 0.) + w = tf.maximum(int_xmax - int_xmin, 0.) + # Volumes. + inter_vol = h * w + union_vol = vol_anchors - inter_vol \ + + (bbox[2] - bbox[0]) * (bbox[3] - bbox[1]) + jaccard = tf.div(inter_vol, union_vol) + return jaccard + + def intersection_with_anchors(bbox): + """Compute intersection between score a box and the anchors. + """ + int_ymin = tf.maximum(ymin, bbox[0]) + int_xmin = tf.maximum(xmin, bbox[1]) + int_ymax = tf.minimum(ymax, bbox[2]) + int_xmax = tf.minimum(xmax, bbox[3]) + h = tf.maximum(int_ymax - int_ymin, 0.) + w = tf.maximum(int_xmax - int_xmin, 0.) + inter_vol = h * w + scores = tf.div(inter_vol, vol_anchors) + return scores + + def condition(i, feat_labels, feat_scores, + feat_ymin, feat_xmin, feat_ymax, feat_xmax): + """Condition: check label index. + """ + r = tf.less(i, tf.shape(labels)) + return r[0] + + def body(i, feat_labels, feat_scores, + feat_ymin, feat_xmin, feat_ymax, feat_xmax): + """Body: update feature labels, scores and bboxes. + Follow the original SSD paper for that purpose: + - assign values when jaccard > 0.5; + - only update if beat the score of other bboxes. + """ + # Jaccard score. + label = labels[i] + bbox = bboxes[i] + jaccard = jaccard_with_anchors(bbox) + # Mask: check threshold + scores + no annotations + num_classes. + mask = tf.greater(jaccard, feat_scores) + # mask = tf.logical_and(mask, tf.greater(jaccard, matching_threshold)) + mask = tf.logical_and(mask, feat_scores > -0.5) + mask = tf.logical_and(mask, label < num_classes) + imask = tf.cast(mask, tf.int64) + fmask = tf.cast(mask, dtype) + # Update values using mask. + feat_labels = imask * label + (1 - imask) * feat_labels + feat_scores = tf.where(mask, jaccard, feat_scores) + + feat_ymin = fmask * bbox[0] + (1 - fmask) * feat_ymin + feat_xmin = fmask * bbox[1] + (1 - fmask) * feat_xmin + feat_ymax = fmask * bbox[2] + (1 - fmask) * feat_ymax + feat_xmax = fmask * bbox[3] + (1 - fmask) * feat_xmax + + # Check no annotation label: ignore these anchors... + # interscts = intersection_with_anchors(bbox) + # mask = tf.logical_and(interscts > ignore_threshold, + # label == no_annotation_label) + # # Replace scores by -1. + # feat_scores = tf.where(mask, -tf.cast(mask, dtype), feat_scores) + + return [i+1, feat_labels, feat_scores, + feat_ymin, feat_xmin, feat_ymax, feat_xmax] + # Main loop definition. + i = 0 + [i, feat_labels, feat_scores, + feat_ymin, feat_xmin, + feat_ymax, feat_xmax] = tf.while_loop(condition, body, + [i, feat_labels, feat_scores, + feat_ymin, feat_xmin, + feat_ymax, feat_xmax]) + # Transform to center / size. + feat_cy = (feat_ymax + feat_ymin) / 2. + feat_cx = (feat_xmax + feat_xmin) / 2. + feat_h = feat_ymax - feat_ymin + feat_w = feat_xmax - feat_xmin + # Encode features. + feat_cy = (feat_cy - yref) / href / prior_scaling[0] + feat_cx = (feat_cx - xref) / wref / prior_scaling[1] + feat_h = tf.log(feat_h / href) / prior_scaling[2] + feat_w = tf.log(feat_w / wref) / prior_scaling[3] + # Use SSD ordering: x / y / w / h instead of ours. + feat_localizations = tf.stack([feat_cx, feat_cy, feat_w, feat_h], axis=-1) + return feat_labels, feat_localizations, feat_scores + + +def tf_ssd_bboxes_encode(labels, + bboxes, + anchors, + num_classes, + no_annotation_label, + ignore_threshold=0.5, + prior_scaling=[0.1, 0.1, 0.2, 0.2], + dtype=tf.float32, + scope='ssd_bboxes_encode'): + """Encode groundtruth labels and bounding boxes using SSD net anchors. + Encoding boxes for all feature layers. + + Arguments: + labels: 1D Tensor(int64) containing groundtruth labels; + bboxes: Nx4 Tensor(float) with bboxes relative coordinates; + anchors: List of Numpy array with layer anchors; + matching_threshold: Threshold for positive match with groundtruth bboxes; + prior_scaling: Scaling of encoded coordinates. + + Return: + (target_labels, target_localizations, target_scores): + Each element is a list of target Tensors. + """ + with tf.name_scope(scope): + target_labels = [] + target_localizations = [] + target_scores = [] + for i, anchors_layer in enumerate(anchors): + with tf.name_scope('bboxes_encode_block_%i' % i): + t_labels, t_loc, t_scores = \ + tf_ssd_bboxes_encode_layer(labels, bboxes, anchors_layer, + num_classes, no_annotation_label, + ignore_threshold, + prior_scaling, dtype) + target_labels.append(t_labels) + target_localizations.append(t_loc) + target_scores.append(t_scores) + return target_labels, target_localizations, target_scores + + +def tf_ssd_bboxes_decode_layer(feat_localizations, + anchors_layer, + prior_scaling=[0.1, 0.1, 0.2, 0.2]): + """Compute the relative bounding boxes from the layer features and + reference anchor bounding boxes. + + Arguments: + feat_localizations: Tensor containing localization features. + anchors: List of numpy array containing anchor boxes. + + Return: + Tensor Nx4: ymin, xmin, ymax, xmax + """ + yref, xref, href, wref = anchors_layer + + # Compute center, height and width + cx = feat_localizations[:, :, :, :, 0] * wref * prior_scaling[0] + xref + cy = feat_localizations[:, :, :, :, 1] * href * prior_scaling[1] + yref + w = wref * tf.exp(feat_localizations[:, :, :, :, 2] * prior_scaling[2]) + h = href * tf.exp(feat_localizations[:, :, :, :, 3] * prior_scaling[3]) + # Boxes coordinates. + ymin = cy - h / 2. + xmin = cx - w / 2. + ymax = cy + h / 2. + xmax = cx + w / 2. + bboxes = tf.stack([ymin, xmin, ymax, xmax], axis=-1) + return bboxes + + +def tf_ssd_bboxes_decode(feat_localizations, + anchors, + prior_scaling=[0.1, 0.1, 0.2, 0.2], + scope='ssd_bboxes_decode'): + """Compute the relative bounding boxes from the SSD net features and + reference anchors bounding boxes. + + Arguments: + feat_localizations: List of Tensors containing localization features. + anchors: List of numpy array containing anchor boxes. + + Return: + List of Tensors Nx4: ymin, xmin, ymax, xmax + """ + with tf.name_scope(scope): + bboxes = [] + for i, anchors_layer in enumerate(anchors): + bboxes.append( + tf_ssd_bboxes_decode_layer(feat_localizations[i], + anchors_layer, + prior_scaling)) + return bboxes + + +# =========================================================================== # +# SSD boxes selection. +# =========================================================================== # +def tf_ssd_bboxes_select_layer(predictions_layer, localizations_layer, + select_threshold=None, + num_classes=21, + ignore_class=0, + scope=None): + """Extract classes, scores and bounding boxes from features in one layer. + Batch-compatible: inputs are supposed to have batch-type shapes. + + Args: + predictions_layer: A SSD prediction layer; + localizations_layer: A SSD localization layer; + select_threshold: Classification threshold for selecting a box. All boxes + under the threshold are set to 'zero'. If None, no threshold applied. + Return: + d_scores, d_bboxes: Dictionary of scores and bboxes Tensors of + size Batches X N x 1 | 4. Each key corresponding to a class. + """ + select_threshold = 0.0 if select_threshold is None else select_threshold + with tf.name_scope(scope, 'ssd_bboxes_select_layer', + [predictions_layer, localizations_layer]): + # Reshape features: Batches x N x N_labels | 4 + p_shape = tfe.get_shape(predictions_layer) + predictions_layer = tf.reshape(predictions_layer, + tf.stack([p_shape[0], -1, p_shape[-1]])) + l_shape = tfe.get_shape(localizations_layer) + localizations_layer = tf.reshape(localizations_layer, + tf.stack([l_shape[0], -1, l_shape[-1]])) + + d_scores = {} + d_bboxes = {} + for c in range(0, num_classes): + if c != ignore_class: + # Remove boxes under the threshold. + scores = predictions_layer[:, :, c] + fmask = tf.cast(tf.greater_equal(scores, select_threshold), scores.dtype) + scores = scores * fmask + bboxes = localizations_layer * tf.expand_dims(fmask, axis=-1) + # Append to dictionary. + d_scores[c] = scores + d_bboxes[c] = bboxes + + return d_scores, d_bboxes + + +def tf_ssd_bboxes_select(predictions_net, localizations_net, + select_threshold=None, + num_classes=21, + ignore_class=0, + scope=None): + """Extract classes, scores and bounding boxes from network output layers. + Batch-compatible: inputs are supposed to have batch-type shapes. + + Args: + predictions_net: List of SSD prediction layers; + localizations_net: List of localization layers; + select_threshold: Classification threshold for selecting a box. All boxes + under the threshold are set to 'zero'. If None, no threshold applied. + Return: + d_scores, d_bboxes: Dictionary of scores and bboxes Tensors of + size Batches X N x 1 | 4. Each key corresponding to a class. + """ + with tf.name_scope(scope, 'ssd_bboxes_select', + [predictions_net, localizations_net]): + l_scores = [] + l_bboxes = [] + for i in range(len(predictions_net)): + scores, bboxes = tf_ssd_bboxes_select_layer(predictions_net[i], + localizations_net[i], + select_threshold, + num_classes, + ignore_class) + l_scores.append(scores) + l_bboxes.append(bboxes) + # Concat results. + d_scores = {} + d_bboxes = {} + for c in l_scores[0].keys(): + ls = [s[c] for s in l_scores] + lb = [b[c] for b in l_bboxes] + d_scores[c] = tf.concat(ls, axis=1) + d_bboxes[c] = tf.concat(lb, axis=1) + return d_scores, d_bboxes + + +def tf_ssd_bboxes_select_layer_all_classes(predictions_layer, localizations_layer, + select_threshold=None): + """Extract classes, scores and bounding boxes from features in one layer. + Batch-compatible: inputs are supposed to have batch-type shapes. + + Args: + predictions_layer: A SSD prediction layer; + localizations_layer: A SSD localization layer; + select_threshold: Classification threshold for selecting a box. If None, + select boxes whose classification score is higher than 'no class'. + Return: + classes, scores, bboxes: Input Tensors. + """ + # Reshape features: Batches x N x N_labels | 4 + p_shape = tfe.get_shape(predictions_layer) + predictions_layer = tf.reshape(predictions_layer, + tf.stack([p_shape[0], -1, p_shape[-1]])) + l_shape = tfe.get_shape(localizations_layer) + localizations_layer = tf.reshape(localizations_layer, + tf.stack([l_shape[0], -1, l_shape[-1]])) + # Boxes selection: use threshold or score > no-label criteria. + if select_threshold is None or select_threshold == 0: + # Class prediction and scores: assign 0. to 0-class + classes = tf.argmax(predictions_layer, axis=2) + scores = tf.reduce_max(predictions_layer, axis=2) + scores = scores * tf.cast(classes > 0, scores.dtype) + else: + sub_predictions = predictions_layer[:, :, 1:] + classes = tf.argmax(sub_predictions, axis=2) + 1 + scores = tf.reduce_max(sub_predictions, axis=2) + # Only keep predictions higher than threshold. + mask = tf.greater(scores, select_threshold) + classes = classes * tf.cast(mask, classes.dtype) + scores = scores * tf.cast(mask, scores.dtype) + # Assume localization layer already decoded. + bboxes = localizations_layer + return classes, scores, bboxes + + +def tf_ssd_bboxes_select_all_classes(predictions_net, localizations_net, + select_threshold=None, + scope=None): + """Extract classes, scores and bounding boxes from network output layers. + Batch-compatible: inputs are supposed to have batch-type shapes. + + Args: + predictions_net: List of SSD prediction layers; + localizations_net: List of localization layers; + select_threshold: Classification threshold for selecting a box. If None, + select boxes whose classification score is higher than 'no class'. + Return: + classes, scores, bboxes: Tensors. + """ + with tf.name_scope(scope, 'ssd_bboxes_select', + [predictions_net, localizations_net]): + l_classes = [] + l_scores = [] + l_bboxes = [] + for i in range(len(predictions_net)): + classes, scores, bboxes = \ + tf_ssd_bboxes_select_layer_all_classes(predictions_net[i], + localizations_net[i], + select_threshold) + l_classes.append(classes) + l_scores.append(scores) + l_bboxes.append(bboxes) + + classes = tf.concat(l_classes, axis=1) + scores = tf.concat(l_scores, axis=1) + bboxes = tf.concat(l_bboxes, axis=1) + return classes, scores, bboxes + diff --git a/nets/ssd_vgg_300.py b/nets/ssd_vgg_300.py new file mode 100644 index 0000000..46c09bf --- /dev/null +++ b/nets/ssd_vgg_300.py @@ -0,0 +1,758 @@ +# Copyright 2016 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Definition of 300 VGG-based SSD network. + +This model was initially introduced in: +SSD: Single Shot MultiBox Detector +Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, +Cheng-Yang Fu, Alexander C. Berg +https://arxiv.org/abs/1512.02325 + +Two variants of the model are defined: the 300x300 and 512x512 models, the +latter obtaining a slightly better accuracy on Pascal VOC. + +Usage: + with slim.arg_scope(ssd_vgg.ssd_vgg()): + outputs, end_points = ssd_vgg.ssd_vgg(inputs) + +This network port of the original Caffe model. The padding in TF and Caffe +is slightly different, and can lead to severe accuracy drop if not taken care +in a correct way! + +In Caffe, the output size of convolution and pooling layers are computing as +following: h_o = (h_i + 2 * pad_h - kernel_h) / stride_h + 1 + +Nevertheless, there is a subtle difference between both for stride > 1. In +the case of convolution: + top_size = floor((bottom_size + 2*pad - kernel_size) / stride) + 1 +whereas for pooling: + top_size = ceil((bottom_size + 2*pad - kernel_size) / stride) + 1 +Hence implicitely allowing some additional padding even if pad = 0. This +behaviour explains why pooling with stride and kernel of size 2 are behaving +the same way in TensorFlow and Caffe. + +Nevertheless, this is not the case anymore for other kernel sizes, hence +motivating the use of special padding layer for controlling these side-effects. + +@@ssd_vgg_300 +""" +import math +from collections import namedtuple + +import numpy as np +import tensorflow as tf + +import tf_extended as tfe +from nets import custom_layers +from nets import ssd_common + +slim = tf.contrib.slim + + +# =========================================================================== # +# SSD class definition. +# =========================================================================== # +SSDParams = namedtuple('SSDParameters', ['img_shape', + 'num_classes', + 'no_annotation_label', + 'feat_layers', + 'feat_shapes', + 'anchor_size_bounds', + 'anchor_sizes', + 'anchor_ratios', + 'anchor_steps', + 'anchor_offset', + 'normalizations', + 'prior_scaling' + ]) + + +class SSDNet(object): + """Implementation of the SSD VGG-based 300 network. + + The default features layers with 300x300 image input are: + conv4 ==> 38 x 38 + conv7 ==> 19 x 19 + conv8 ==> 10 x 10 + conv9 ==> 5 x 5 + conv10 ==> 3 x 3 + conv11 ==> 1 x 1 + The default image size used to train this network is 300x300. + """ + default_params = SSDParams( + img_shape=(300, 300), + num_classes=21, + no_annotation_label=21, + feat_layers=['block4', 'block7', 'block8', 'block9', 'block10', 'block11'], + feat_shapes=[(38, 38), (19, 19), (10, 10), (5, 5), (3, 3), (1, 1)], + anchor_size_bounds=[0.15, 0.90], + # anchor_size_bounds=[0.20, 0.90], + anchor_sizes=[(21., 45.), + (45., 99.), + (99., 153.), + (153., 207.), + (207., 261.), + (261., 315.)], + # anchor_sizes=[(30., 60.), + # (60., 111.), + # (111., 162.), + # (162., 213.), + # (213., 264.), + # (264., 315.)], + anchor_ratios=[[2, .5], + [2, .5, 3, 1./3], + [2, .5, 3, 1./3], + [2, .5, 3, 1./3], + [2, .5], + [2, .5]], + anchor_steps=[8, 16, 32, 64, 100, 300], + anchor_offset=0.5, + normalizations=[20, -1, -1, -1, -1, -1], + prior_scaling=[0.1, 0.1, 0.2, 0.2] + ) + + def __init__(self, params=None): + """Init the SSD net with some parameters. Use the default ones + if none provided. + """ + if isinstance(params, SSDParams): + self.params = params + else: + self.params = SSDNet.default_params + + # ======================================================================= # + def net(self, inputs, + is_training=True, + update_feat_shapes=True, + dropout_keep_prob=0.5, + prediction_fn=slim.softmax, + reuse=None, + scope='ssd_300_vgg'): + """SSD network definition. + """ + r = ssd_net(inputs, + num_classes=self.params.num_classes, + feat_layers=self.params.feat_layers, + anchor_sizes=self.params.anchor_sizes, + anchor_ratios=self.params.anchor_ratios, + normalizations=self.params.normalizations, + is_training=is_training, + dropout_keep_prob=dropout_keep_prob, + prediction_fn=prediction_fn, + reuse=reuse, + scope=scope) + # Update feature shapes (try at least!) + if update_feat_shapes: + shapes = ssd_feat_shapes_from_net(r[0], self.params.feat_shapes) + self.params = self.params._replace(feat_shapes=shapes) + return r + + def arg_scope(self, weight_decay=0.0005, data_format='NHWC'): + """Network arg_scope. + """ + return ssd_arg_scope(weight_decay, data_format=data_format) + + def arg_scope_caffe(self, caffe_scope): + """Caffe arg_scope used for weights importing. + """ + return ssd_arg_scope_caffe(caffe_scope) + + # ======================================================================= # + def update_feature_shapes(self, predictions): + """Update feature shapes from predictions collection (Tensor or Numpy + array). + """ + shapes = ssd_feat_shapes_from_net(predictions, self.params.feat_shapes) + self.params = self.params._replace(feat_shapes=shapes) + + def anchors(self, img_shape, dtype=np.float32): + """Compute the default anchor boxes, given an image shape. + """ + return ssd_anchors_all_layers(img_shape, + self.params.feat_shapes, + self.params.anchor_sizes, + self.params.anchor_ratios, + self.params.anchor_steps, + self.params.anchor_offset, + dtype) + + def bboxes_encode(self, labels, bboxes, anchors, + scope=None): + """Encode labels and bounding boxes. + """ + return ssd_common.tf_ssd_bboxes_encode( + labels, bboxes, anchors, + self.params.num_classes, + self.params.no_annotation_label, + ignore_threshold=0.5, + prior_scaling=self.params.prior_scaling, + scope=scope) + + def bboxes_decode(self, feat_localizations, anchors, + scope='ssd_bboxes_decode'): + """Encode labels and bounding boxes. + """ + return ssd_common.tf_ssd_bboxes_decode( + feat_localizations, anchors, + prior_scaling=self.params.prior_scaling, + scope=scope) + + def detected_bboxes(self, predictions, localisations, + select_threshold=None, nms_threshold=0.5, + clipping_bbox=None, top_k=400, keep_top_k=200): + """Get the detected bounding boxes from the SSD network output. + """ + # Select top_k bboxes from predictions, and clip + rscores, rbboxes = \ + ssd_common.tf_ssd_bboxes_select(predictions, localisations, + select_threshold=select_threshold, + num_classes=self.params.num_classes) + rscores, rbboxes = \ + tfe.bboxes_sort(rscores, rbboxes, top_k=top_k) + # Apply NMS algorithm. + rscores, rbboxes = \ + tfe.bboxes_nms_batch(rscores, rbboxes, + nms_threshold=nms_threshold, + keep_top_k=keep_top_k) + if clipping_bbox is not None: + rbboxes = tfe.bboxes_clip(clipping_bbox, rbboxes) + return rscores, rbboxes + + def losses(self, logits, localisations, + gclasses, glocalisations, gscores, + match_threshold=0.5, + negative_ratio=3., + alpha=1., + label_smoothing=0., + scope='ssd_losses'): + """Define the SSD network losses. + """ + return ssd_losses(logits, localisations, + gclasses, glocalisations, gscores, + match_threshold=match_threshold, + negative_ratio=negative_ratio, + alpha=alpha, + label_smoothing=label_smoothing, + scope=scope) + + +# =========================================================================== # +# SSD tools... +# =========================================================================== # +def ssd_size_bounds_to_values(size_bounds, + n_feat_layers, + img_shape=(300, 300)): + """Compute the reference sizes of the anchor boxes from relative bounds. + The absolute values are measured in pixels, based on the network + default size (300 pixels). + + This function follows the computation performed in the original + implementation of SSD in Caffe. + + Return: + list of list containing the absolute sizes at each scale. For each scale, + the ratios only apply to the first value. + """ + assert img_shape[0] == img_shape[1] + + img_size = img_shape[0] + min_ratio = int(size_bounds[0] * 100) + max_ratio = int(size_bounds[1] * 100) + step = int(math.floor((max_ratio - min_ratio) / (n_feat_layers - 2))) + # Start with the following smallest sizes. + sizes = [[img_size * size_bounds[0] / 2, img_size * size_bounds[0]]] + for ratio in range(min_ratio, max_ratio + 1, step): + sizes.append((img_size * ratio / 100., + img_size * (ratio + step) / 100.)) + return sizes + + +def ssd_feat_shapes_from_net(predictions, default_shapes=None): + """Try to obtain the feature shapes from the prediction layers. The latter + can be either a Tensor or Numpy ndarray. + + Return: + list of feature shapes. Default values if predictions shape not fully + determined. + """ + feat_shapes = [] + for l in predictions: + # Get the shape, from either a np array or a tensor. + if isinstance(l, np.ndarray): + shape = l.shape + else: + shape = l.get_shape().as_list() + shape = shape[1:4] + # Problem: undetermined shape... + if None in shape: + return default_shapes + else: + feat_shapes.append(shape) + return feat_shapes + + +def ssd_anchor_one_layer(img_shape, + feat_shape, + sizes, + ratios, + step, + offset=0.5, + dtype=np.float32): + """Computer SSD default anchor boxes for one feature layer. + + Determine the relative position grid of the centers, and the relative + width and height. + + Arguments: + feat_shape: Feature shape, used for computing relative position grids; + size: Absolute reference sizes; + ratios: Ratios to use on these features; + img_shape: Image shape, used for computing height, width relatively to the + former; + offset: Grid offset. + + Return: + y, x, h, w: Relative x and y grids, and height and width. + """ + # Compute the position grid: simple way. + # y, x = np.mgrid[0:feat_shape[0], 0:feat_shape[1]] + # y = (y.astype(dtype) + offset) / feat_shape[0] + # x = (x.astype(dtype) + offset) / feat_shape[1] + # Weird SSD-Caffe computation using steps values... + y, x = np.mgrid[0:feat_shape[0], 0:feat_shape[1]] + y = (y.astype(dtype) + offset) * step / img_shape[0] + x = (x.astype(dtype) + offset) * step / img_shape[1] + + # Expand dims to support easy broadcasting. + y = np.expand_dims(y, axis=-1) + x = np.expand_dims(x, axis=-1) + + # Compute relative height and width. + # Tries to follow the original implementation of SSD for the order. + num_anchors = len(sizes) + len(ratios) + h = np.zeros((num_anchors, ), dtype=dtype) + w = np.zeros((num_anchors, ), dtype=dtype) + # Add first anchor boxes with ratio=1. + h[0] = sizes[0] / img_shape[0] + w[0] = sizes[0] / img_shape[1] + di = 1 + if len(sizes) > 1: + h[1] = math.sqrt(sizes[0] * sizes[1]) / img_shape[0] + w[1] = math.sqrt(sizes[0] * sizes[1]) / img_shape[1] + di += 1 + for i, r in enumerate(ratios): + h[i+di] = sizes[0] / img_shape[0] / math.sqrt(r) + w[i+di] = sizes[0] / img_shape[1] * math.sqrt(r) + return y, x, h, w + + +def ssd_anchors_all_layers(img_shape, + layers_shape, + anchor_sizes, + anchor_ratios, + anchor_steps, + offset=0.5, + dtype=np.float32): + """Compute anchor boxes for all feature layers. + """ + layers_anchors = [] + for i, s in enumerate(layers_shape): + anchor_bboxes = ssd_anchor_one_layer(img_shape, s, + anchor_sizes[i], + anchor_ratios[i], + anchor_steps[i], + offset=offset, dtype=dtype) + layers_anchors.append(anchor_bboxes) + return layers_anchors + + +# =========================================================================== # +# Functional definition of VGG-based SSD 300. +# =========================================================================== # +def tensor_shape(x, rank=3): + """Returns the dimensions of a tensor. + Args: + image: A N-D Tensor of shape. + Returns: + A list of dimensions. Dimensions that are statically known are python + integers,otherwise they are integer scalar tensors. + """ + if x.get_shape().is_fully_defined(): + return x.get_shape().as_list() + else: + static_shape = x.get_shape().with_rank(rank).as_list() + dynamic_shape = tf.unstack(tf.shape(x), rank) + return [s if s is not None else d + for s, d in zip(static_shape, dynamic_shape)] + + +def ssd_multibox_layer(inputs, + num_classes, + sizes, + ratios=[1], + normalization=-1, + bn_normalization=False): + """Construct a multibox layer, return a class and localization predictions. + """ + net = inputs + if normalization > 0: + net = custom_layers.l2_normalization(net, scaling=True) + # Number of anchors. + num_anchors = len(sizes) + len(ratios) + + # Location. + num_loc_pred = num_anchors * 4 + loc_pred = slim.conv2d(net, num_loc_pred, [3, 3], activation_fn=None, + scope='conv_loc') + loc_pred = custom_layers.channel_to_last(loc_pred) + loc_pred = tf.reshape(loc_pred, + tensor_shape(loc_pred, 4)[:-1]+[num_anchors, 4]) + # Class prediction. + num_cls_pred = num_anchors * num_classes + cls_pred = slim.conv2d(net, num_cls_pred, [3, 3], activation_fn=None, + scope='conv_cls') + cls_pred = custom_layers.channel_to_last(cls_pred) + cls_pred = tf.reshape(cls_pred, + tensor_shape(cls_pred, 4)[:-1]+[num_anchors, num_classes]) + return cls_pred, loc_pred + + +def ssd_net(inputs, + num_classes=SSDNet.default_params.num_classes, + feat_layers=SSDNet.default_params.feat_layers, + anchor_sizes=SSDNet.default_params.anchor_sizes, + anchor_ratios=SSDNet.default_params.anchor_ratios, + normalizations=SSDNet.default_params.normalizations, + is_training=True, + dropout_keep_prob=0.5, + prediction_fn=slim.softmax, + reuse=None, + scope='ssd_300_vgg'): + """SSD net definition. + """ + # if data_format == 'NCHW': + # inputs = tf.transpose(inputs, perm=(0, 3, 1, 2)) + + # End_points collect relevant activations for external use. + end_points = {} + with tf.variable_scope(scope, 'ssd_300_vgg', [inputs], reuse=reuse): + # Original VGG-16 blocks. + net = slim.repeat(inputs, 2, slim.conv2d, 64, [3, 3], scope='conv1') + end_points['block1'] = net + net = slim.max_pool2d(net, [2, 2], scope='pool1') + # Block 2. + net = slim.repeat(net, 2, slim.conv2d, 128, [3, 3], scope='conv2') + end_points['block2'] = net + net = slim.max_pool2d(net, [2, 2], scope='pool2') + # Block 3. + net = slim.repeat(net, 3, slim.conv2d, 256, [3, 3], scope='conv3') + end_points['block3'] = net + net = slim.max_pool2d(net, [2, 2], scope='pool3') + # Block 4. + net = slim.repeat(net, 3, slim.conv2d, 512, [3, 3], scope='conv4') + end_points['block4'] = net + net = slim.max_pool2d(net, [2, 2], scope='pool4') + # Block 5. + net = slim.repeat(net, 3, slim.conv2d, 512, [3, 3], scope='conv5') + end_points['block5'] = net + net = slim.max_pool2d(net, [3, 3], stride=1, scope='pool5') + + # Additional SSD blocks. + # Block 6: let's dilate the hell out of it! + net = slim.conv2d(net, 1024, [3, 3], rate=6, scope='conv6') + end_points['block6'] = net + net = tf.layers.dropout(net, rate=dropout_keep_prob, training=is_training) + # Block 7: 1x1 conv. Because the fuck. + net = slim.conv2d(net, 1024, [1, 1], scope='conv7') + end_points['block7'] = net + net = tf.layers.dropout(net, rate=dropout_keep_prob, training=is_training) + + # Block 8/9/10/11: 1x1 and 3x3 convolutions stride 2 (except lasts). + end_point = 'block8' + with tf.variable_scope(end_point): + net = slim.conv2d(net, 256, [1, 1], scope='conv1x1') + net = custom_layers.pad2d(net, pad=(1, 1)) + net = slim.conv2d(net, 512, [3, 3], stride=2, scope='conv3x3', padding='VALID') + end_points[end_point] = net + end_point = 'block9' + with tf.variable_scope(end_point): + net = slim.conv2d(net, 128, [1, 1], scope='conv1x1') + net = custom_layers.pad2d(net, pad=(1, 1)) + net = slim.conv2d(net, 256, [3, 3], stride=2, scope='conv3x3', padding='VALID') + end_points[end_point] = net + end_point = 'block10' + with tf.variable_scope(end_point): + net = slim.conv2d(net, 128, [1, 1], scope='conv1x1') + net = slim.conv2d(net, 256, [3, 3], scope='conv3x3', padding='VALID') + end_points[end_point] = net + end_point = 'block11' + with tf.variable_scope(end_point): + net = slim.conv2d(net, 128, [1, 1], scope='conv1x1') + net = slim.conv2d(net, 256, [3, 3], scope='conv3x3', padding='VALID') + end_points[end_point] = net + + # Prediction and localisations layers. + predictions = [] + logits = [] + localisations = [] + for i, layer in enumerate(feat_layers): + with tf.variable_scope(layer + '_box'): + p, l = ssd_multibox_layer(end_points[layer], + num_classes, + anchor_sizes[i], + anchor_ratios[i], + normalizations[i]) + predictions.append(prediction_fn(p)) + logits.append(p) + localisations.append(l) + + return predictions, localisations, logits, end_points +ssd_net.default_image_size = 300 + + +def ssd_arg_scope(weight_decay=0.0005, data_format='NHWC'): + """Defines the VGG arg scope. + + Args: + weight_decay: The l2 regularization coefficient. + + Returns: + An arg_scope. + """ + with slim.arg_scope([slim.conv2d, slim.fully_connected], + activation_fn=tf.nn.relu, + weights_regularizer=slim.l2_regularizer(weight_decay), + weights_initializer=tf.contrib.layers.xavier_initializer(), + biases_initializer=tf.zeros_initializer()): + with slim.arg_scope([slim.conv2d, slim.max_pool2d], + padding='SAME', + data_format=data_format): + with slim.arg_scope([custom_layers.pad2d, + custom_layers.l2_normalization, + custom_layers.channel_to_last], + data_format=data_format) as sc: + return sc + + +# =========================================================================== # +# Caffe scope: importing weights at initialization. +# =========================================================================== # +def ssd_arg_scope_caffe(caffe_scope): + """Caffe scope definition. + + Args: + caffe_scope: Caffe scope object with loaded weights. + + Returns: + An arg_scope. + """ + # Default network arg scope. + with slim.arg_scope([slim.conv2d], + activation_fn=tf.nn.relu, + weights_initializer=caffe_scope.conv_weights_init(), + biases_initializer=caffe_scope.conv_biases_init()): + with slim.arg_scope([slim.fully_connected], + activation_fn=tf.nn.relu): + with slim.arg_scope([custom_layers.l2_normalization], + scale_initializer=caffe_scope.l2_norm_scale_init()): + with slim.arg_scope([slim.conv2d, slim.max_pool2d], + padding='SAME') as sc: + return sc + + +# =========================================================================== # +# SSD loss function. +# =========================================================================== # +def ssd_losses(logits, localisations, + gclasses, glocalisations, gscores, + match_threshold=0.5, + negative_ratio=3., + alpha=1., + label_smoothing=0., + device='/cpu:0', + scope=None): + with tf.name_scope(scope, 'ssd_losses'): + lshape = tfe.get_shape(logits[0], 5) + num_classes = lshape[-1] + batch_size = lshape[0] + + # Flatten out all vectors! + flogits = [] + fgclasses = [] + fgscores = [] + flocalisations = [] + fglocalisations = [] + for i in range(len(logits)): + flogits.append(tf.reshape(logits[i], [-1, num_classes])) + fgclasses.append(tf.reshape(gclasses[i], [-1])) + fgscores.append(tf.reshape(gscores[i], [-1])) + flocalisations.append(tf.reshape(localisations[i], [-1, 4])) + fglocalisations.append(tf.reshape(glocalisations[i], [-1, 4])) + # And concat the crap! + logits = tf.concat(flogits, axis=0) + gclasses = tf.concat(fgclasses, axis=0) + gscores = tf.concat(fgscores, axis=0) + localisations = tf.concat(flocalisations, axis=0) + glocalisations = tf.concat(fglocalisations, axis=0) + dtype = logits.dtype + + # Compute positive matching mask... + pmask = gscores > match_threshold + fpmask = tf.cast(pmask, dtype) + n_positives = tf.reduce_sum(fpmask) + + # Hard negative mining... + no_classes = tf.cast(pmask, tf.int32) + predictions = slim.softmax(logits) + nmask = tf.logical_and(tf.logical_not(pmask), + gscores > -0.5) + fnmask = tf.cast(nmask, dtype) + nvalues = tf.where(nmask, + predictions[:, 0], + 1. - fnmask) + nvalues_flat = tf.reshape(nvalues, [-1]) + # Number of negative entries to select. + max_neg_entries = tf.cast(tf.reduce_sum(fnmask), tf.int32) + n_neg = tf.cast(negative_ratio * n_positives, tf.int32) + batch_size + n_neg = tf.minimum(n_neg, max_neg_entries) + + val, idxes = tf.nn.top_k(-nvalues_flat, k=n_neg) + max_hard_pred = -val[-1] + # Final negative mask. + nmask = tf.logical_and(nmask, nvalues < max_hard_pred) + fnmask = tf.cast(nmask, dtype) + + # Add cross-entropy loss. + with tf.name_scope('cross_entropy_pos'): + loss = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, + labels=gclasses) + loss = tf.div(tf.reduce_sum(loss * fpmask), batch_size, name='value') + tf.losses.add_loss(loss) + + with tf.name_scope('cross_entropy_neg'): + loss = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, + labels=no_classes) + loss = tf.div(tf.reduce_sum(loss * fnmask), batch_size, name='value') + tf.losses.add_loss(loss) + + # Add localization loss: smooth L1, L2, ... + with tf.name_scope('localization'): + # Weights Tensor: positive mask + random negative. + weights = tf.expand_dims(alpha * fpmask, axis=-1) + loss = custom_layers.abs_smooth(localisations - glocalisations) + loss = tf.div(tf.reduce_sum(loss * weights), batch_size, name='value') + tf.losses.add_loss(loss) + + +def ssd_losses_old(logits, localisations, + gclasses, glocalisations, gscores, + match_threshold=0.5, + negative_ratio=3., + alpha=1., + label_smoothing=0., + device='/cpu:0', + scope=None): + """Loss functions for training the SSD 300 VGG network. + + This function defines the different loss components of the SSD, and + adds them to the TF loss collection. + + Arguments: + logits: (list of) predictions logits Tensors; + localisations: (list of) localisations Tensors; + gclasses: (list of) groundtruth labels Tensors; + glocalisations: (list of) groundtruth localisations Tensors; + gscores: (list of) groundtruth score Tensors; + """ + with tf.device(device): + with tf.name_scope(scope, 'ssd_losses'): + l_cross_pos = [] + l_cross_neg = [] + l_loc = [] + for i in range(len(logits)): + dtype = logits[i].dtype + with tf.name_scope('block_%i' % i): + # Sizing weight... + wsize = tfe.get_shape(logits[i], rank=5) + wsize = wsize[1] * wsize[2] * wsize[3] + + # Positive mask. + pmask = gscores[i] > match_threshold + fpmask = tf.cast(pmask, dtype) + n_positives = tf.reduce_sum(fpmask) + + # Select some random negative entries. + # n_entries = np.prod(gclasses[i].get_shape().as_list()) + # r_positive = n_positives / n_entries + # r_negative = negative_ratio * n_positives / (n_entries - n_positives) + + # Negative mask. + no_classes = tf.cast(pmask, tf.int32) + predictions = slim.softmax(logits[i]) + nmask = tf.logical_and(tf.logical_not(pmask), + gscores[i] > -0.5) + fnmask = tf.cast(nmask, dtype) + nvalues = tf.where(nmask, + predictions[:, :, :, :, 0], + 1. - fnmask) + nvalues_flat = tf.reshape(nvalues, [-1]) + # Number of negative entries to select. + n_neg = tf.cast(negative_ratio * n_positives, tf.int32) + n_neg = tf.maximum(n_neg, tf.size(nvalues_flat) // 8) + n_neg = tf.maximum(n_neg, tf.shape(nvalues)[0] * 4) + max_neg_entries = 1 + tf.cast(tf.reduce_sum(fnmask), tf.int32) + n_neg = tf.minimum(n_neg, max_neg_entries) + + val, idxes = tf.nn.top_k(-nvalues_flat, k=n_neg) + max_hard_pred = -val[-1] + # Final negative mask. + nmask = tf.logical_and(nmask, nvalues < max_hard_pred) + fnmask = tf.cast(nmask, dtype) + + # Add cross-entropy loss. + with tf.name_scope('cross_entropy_pos'): + fpmask = wsize * fpmask + loss = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits[i], + labels=gclasses[i]) + loss = tf.losses.compute_weighted_loss(loss, fpmask) + l_cross_pos.append(loss) + + with tf.name_scope('cross_entropy_neg'): + fnmask = wsize * fnmask + loss = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits[i], + labels=no_classes) + loss = tf.losses.compute_weighted_loss(loss, fnmask) + l_cross_neg.append(loss) + + # Add localization loss: smooth L1, L2, ... + with tf.name_scope('localization'): + # Weights Tensor: positive mask + random negative. + weights = tf.expand_dims(alpha * fpmask, axis=-1) + loss = custom_layers.abs_smooth(localisations[i] - glocalisations[i]) + loss = tf.losses.compute_weighted_loss(loss, weights) + l_loc.append(loss) + + # Additional total losses... + with tf.name_scope('total'): + total_cross_pos = tf.add_n(l_cross_pos, 'cross_entropy_pos') + total_cross_neg = tf.add_n(l_cross_neg, 'cross_entropy_neg') + total_cross = tf.add(total_cross_pos, total_cross_neg, 'cross_entropy') + total_loc = tf.add_n(l_loc, 'localization') + + # Add to EXTRA LOSSES TF.collection + tf.add_to_collection('EXTRA_LOSSES', total_cross_pos) + tf.add_to_collection('EXTRA_LOSSES', total_cross_neg) + tf.add_to_collection('EXTRA_LOSSES', total_cross) + tf.add_to_collection('EXTRA_LOSSES', total_loc) diff --git a/nets/ssd_vgg_512.py b/nets/ssd_vgg_512.py new file mode 100644 index 0000000..6b67165 --- /dev/null +++ b/nets/ssd_vgg_512.py @@ -0,0 +1,607 @@ +# Copyright 2016 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Definition of 512 VGG-based SSD network. + +This model was initially introduced in: +SSD: Single Shot MultiBox Detector +Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, +Cheng-Yang Fu, Alexander C. Berg +https://arxiv.org/abs/1512.02325 + +Two variants of the model are defined: the 300x300 and 512x512 models, the +latter obtaining a slightly better accuracy on Pascal VOC. + +Usage: + with slim.arg_scope(ssd_vgg.ssd_vgg()): + outputs, end_points = ssd_vgg.ssd_vgg(inputs) +@@ssd_vgg +""" +import math +from collections import namedtuple + +import numpy as np +import tensorflow as tf + +import tf_extended as tfe +from nets import custom_layers +from nets import ssd_common +from nets import ssd_vgg_300 + +slim = tf.contrib.slim + + +# =========================================================================== # +# SSD class definition. +# =========================================================================== # +SSDParams = namedtuple('SSDParameters', ['img_shape', + 'num_classes', + 'no_annotation_label', + 'feat_layers', + 'feat_shapes', + 'anchor_size_bounds', + 'anchor_sizes', + 'anchor_ratios', + 'anchor_steps', + 'anchor_offset', + 'normalizations', + 'prior_scaling' + ]) + + +class SSDNet(object): + """Implementation of the SSD VGG-based 512 network. + + The default features layers with 512x512 image input are: + conv4 ==> 64 x 64 + conv7 ==> 32 x 32 + conv8 ==> 16 x 16 + conv9 ==> 8 x 8 + conv10 ==> 4 x 4 + conv11 ==> 2 x 2 + conv12 ==> 1 x 1 + The default image size used to train this network is 512x512. + """ + default_params = SSDParams( + img_shape=(512, 512), + num_classes=21, + no_annotation_label=21, + feat_layers=['block4', 'block7', 'block8', 'block9', 'block10', 'block11', 'block12'], + feat_shapes=[(64, 64), (32, 32), (16, 16), (8, 8), (4, 4), (2, 2), (1, 1)], + anchor_size_bounds=[0.10, 0.90], + anchor_sizes=[(20.48, 51.2), + (51.2, 133.12), + (133.12, 215.04), + (215.04, 296.96), + (296.96, 378.88), + (378.88, 460.8), + (460.8, 542.72)], + anchor_ratios=[[2, .5], + [2, .5, 3, 1./3], + [2, .5, 3, 1./3], + [2, .5, 3, 1./3], + [2, .5, 3, 1./3], + [2, .5], + [2, .5]], + anchor_steps=[8, 16, 32, 64, 128, 256, 512], + anchor_offset=0.5, + normalizations=[20, -1, -1, -1, -1, -1, -1], + prior_scaling=[0.1, 0.1, 0.2, 0.2] + ) + + def __init__(self, params=None): + """Init the SSD net with some parameters. Use the default ones + if none provided. + """ + if isinstance(params, SSDParams): + self.params = params + else: + self.params = SSDNet.default_params + + # ======================================================================= # + def net(self, inputs, + is_training=True, + update_feat_shapes=True, + dropout_keep_prob=0.5, + prediction_fn=slim.softmax, + reuse=None, + scope='ssd_512_vgg'): + """Network definition. + """ + r = ssd_net(inputs, + num_classes=self.params.num_classes, + feat_layers=self.params.feat_layers, + anchor_sizes=self.params.anchor_sizes, + anchor_ratios=self.params.anchor_ratios, + normalizations=self.params.normalizations, + is_training=is_training, + dropout_keep_prob=dropout_keep_prob, + prediction_fn=prediction_fn, + reuse=reuse, + scope=scope) + # Update feature shapes (try at least!) + if update_feat_shapes: + shapes = ssd_feat_shapes_from_net(r[0], self.params.feat_shapes) + self.params = self.params._replace(feat_shapes=shapes) + return r + + def arg_scope(self, weight_decay=0.0005, data_format='NHWC'): + """Network arg_scope. + """ + return ssd_arg_scope(weight_decay, data_format=data_format) + + def arg_scope_caffe(self, caffe_scope): + """Caffe arg_scope used for weights importing. + """ + return ssd_arg_scope_caffe(caffe_scope) + + # ======================================================================= # + def anchors(self, img_shape, dtype=np.float32): + """Compute the default anchor boxes, given an image shape. + """ + return ssd_anchors_all_layers(img_shape, + self.params.feat_shapes, + self.params.anchor_sizes, + self.params.anchor_ratios, + self.params.anchor_steps, + self.params.anchor_offset, + dtype) + + def bboxes_encode(self, labels, bboxes, anchors, + scope=None): + """Encode labels and bounding boxes. + """ + return ssd_common.tf_ssd_bboxes_encode( + labels, bboxes, anchors, + self.params.num_classes, + self.params.no_annotation_label, + ignore_threshold=0.5, + prior_scaling=self.params.prior_scaling, + scope=scope) + + def bboxes_decode(self, feat_localizations, anchors, + scope='ssd_bboxes_decode'): + """Encode labels and bounding boxes. + """ + return ssd_common.tf_ssd_bboxes_decode( + feat_localizations, anchors, + prior_scaling=self.params.prior_scaling, + scope=scope) + + def detected_bboxes(self, predictions, localisations, + select_threshold=None, nms_threshold=0.5, + clipping_bbox=None, top_k=400, keep_top_k=200): + """Get the detected bounding boxes from the SSD network output. + """ + # Select top_k bboxes from predictions, and clip + rscores, rbboxes = \ + ssd_common.tf_ssd_bboxes_select(predictions, localisations, + select_threshold=select_threshold, + num_classes=self.params.num_classes) + rscores, rbboxes = \ + tfe.bboxes_sort(rscores, rbboxes, top_k=top_k) + # Apply NMS algorithm. + rscores, rbboxes = \ + tfe.bboxes_nms_batch(rscores, rbboxes, + nms_threshold=nms_threshold, + keep_top_k=keep_top_k) + # if clipping_bbox is not None: + # rbboxes = tfe.bboxes_clip(clipping_bbox, rbboxes) + return rscores, rbboxes + + def losses(self, logits, localisations, + gclasses, glocalisations, gscores, + match_threshold=0.5, + negative_ratio=3., + alpha=1., + label_smoothing=0., + scope='ssd_losses'): + """Define the SSD network losses. + """ + return ssd_losses(logits, localisations, + gclasses, glocalisations, gscores, + match_threshold=match_threshold, + negative_ratio=negative_ratio, + alpha=alpha, + label_smoothing=label_smoothing, + scope=scope) + + +# =========================================================================== # +# SSD tools... +# =========================================================================== # +def layer_shape(layer): + """Returns the dimensions of a 4D layer tensor. + Args: + layer: A 4-D Tensor of shape `[height, width, channels]`. + Returns: + Dimensions that are statically known are python integers, + otherwise they are integer scalar tensors. + """ + if layer.get_shape().is_fully_defined(): + return layer.get_shape().as_list() + else: + static_shape = layer.get_shape().with_rank(4).as_list() + dynamic_shape = tf.unstack(tf.shape(layer), 3) + return [s if s is not None else d + for s, d in zip(static_shape, dynamic_shape)] + + +def ssd_size_bounds_to_values(size_bounds, + n_feat_layers, + img_shape=(512, 512)): + """Compute the reference sizes of the anchor boxes from relative bounds. + The absolute values are measured in pixels, based on the network + default size (512 pixels). + + This function follows the computation performed in the original + implementation of SSD in Caffe. + + Return: + list of list containing the absolute sizes at each scale. For each scale, + the ratios only apply to the first value. + """ + assert img_shape[0] == img_shape[1] + + img_size = img_shape[0] + min_ratio = int(size_bounds[0] * 100) + max_ratio = int(size_bounds[1] * 100) + step = int(math.floor((max_ratio - min_ratio) / (n_feat_layers - 2))) + # Start with the following smallest sizes. + sizes = [[img_size * 0.04, img_size * 0.1]] + for ratio in range(min_ratio, max_ratio + 1, step): + sizes.append((img_size * ratio / 100., + img_size * (ratio + step) / 100.)) + return sizes + + +def ssd_feat_shapes_from_net(predictions, default_shapes=None): + """Try to obtain the feature shapes from the prediction layers. + + Return: + list of feature shapes. Default values if predictions shape not fully + determined. + """ + feat_shapes = [] + for l in predictions: + shape = l.get_shape().as_list()[1:4] + if None in shape: + return default_shapes + else: + feat_shapes.append(shape) + return feat_shapes + + +def ssd_anchor_one_layer(img_shape, + feat_shape, + sizes, + ratios, + step, + offset=0.5, + dtype=np.float32): + """Computer SSD default anchor boxes for one feature layer. + + Determine the relative position grid of the centers, and the relative + width and height. + + Arguments: + feat_shape: Feature shape, used for computing relative position grids; + size: Absolute reference sizes; + ratios: Ratios to use on these features; + img_shape: Image shape, used for computing height, width relatively to the + former; + offset: Grid offset. + + Return: + y, x, h, w: Relative x and y grids, and height and width. + """ + # Compute the position grid: simple way. + # y, x = np.mgrid[0:feat_shape[0], 0:feat_shape[1]] + # y = (y.astype(dtype) + offset) / feat_shape[0] + # x = (x.astype(dtype) + offset) / feat_shape[1] + # Weird SSD-Caffe computation using steps values... + y, x = np.mgrid[0:feat_shape[0], 0:feat_shape[1]] + y = (y.astype(dtype) + offset) * step / img_shape[0] + x = (x.astype(dtype) + offset) * step / img_shape[1] + + # Expand dims to support easy broadcasting. + y = np.expand_dims(y, axis=-1) + x = np.expand_dims(x, axis=-1) + + # Compute relative height and width. + # Tries to follow the original implementation of SSD for the order. + num_anchors = len(sizes) + len(ratios) + h = np.zeros((num_anchors, ), dtype=dtype) + w = np.zeros((num_anchors, ), dtype=dtype) + # Add first anchor boxes with ratio=1. + h[0] = sizes[0] / img_shape[0] + w[0] = sizes[0] / img_shape[1] + di = 1 + if len(sizes) > 1: + h[1] = math.sqrt(sizes[0] * sizes[1]) / img_shape[0] + w[1] = math.sqrt(sizes[0] * sizes[1]) / img_shape[1] + di += 1 + for i, r in enumerate(ratios): + h[i+di] = sizes[0] / img_shape[0] / math.sqrt(r) + w[i+di] = sizes[0] / img_shape[1] * math.sqrt(r) + return y, x, h, w + + +def ssd_anchors_all_layers(img_shape, + layers_shape, + anchor_sizes, + anchor_ratios, + anchor_steps, + offset=0.5, + dtype=np.float32): + """Compute anchor boxes for all feature layers. + """ + layers_anchors = [] + for i, s in enumerate(layers_shape): + anchor_bboxes = ssd_anchor_one_layer(img_shape, s, + anchor_sizes[i], + anchor_ratios[i], + anchor_steps[i], + offset=offset, dtype=dtype) + layers_anchors.append(anchor_bboxes) + return layers_anchors + + +# =========================================================================== # +# Functional definition of VGG-based SSD 512. +# =========================================================================== # +def ssd_net(inputs, + num_classes=SSDNet.default_params.num_classes, + feat_layers=SSDNet.default_params.feat_layers, + anchor_sizes=SSDNet.default_params.anchor_sizes, + anchor_ratios=SSDNet.default_params.anchor_ratios, + normalizations=SSDNet.default_params.normalizations, + is_training=True, + dropout_keep_prob=0.5, + prediction_fn=slim.softmax, + reuse=None, + scope='ssd_512_vgg'): + """SSD net definition. + """ + # End_points collect relevant activations for external use. + end_points = {} + with tf.variable_scope(scope, 'ssd_512_vgg', [inputs], reuse=reuse): + # Original VGG-16 blocks. + net = slim.repeat(inputs, 2, slim.conv2d, 64, [3, 3], scope='conv1') + end_points['block1'] = net + net = slim.max_pool2d(net, [2, 2], scope='pool1') + # Block 2. + net = slim.repeat(net, 2, slim.conv2d, 128, [3, 3], scope='conv2') + end_points['block2'] = net + net = slim.max_pool2d(net, [2, 2], scope='pool2') + # Block 3. + net = slim.repeat(net, 3, slim.conv2d, 256, [3, 3], scope='conv3') + end_points['block3'] = net + net = slim.max_pool2d(net, [2, 2], scope='pool3') + # Block 4. + net = slim.repeat(net, 3, slim.conv2d, 512, [3, 3], scope='conv4') + end_points['block4'] = net + net = slim.max_pool2d(net, [2, 2], scope='pool4') + # Block 5. + net = slim.repeat(net, 3, slim.conv2d, 512, [3, 3], scope='conv5') + end_points['block5'] = net + net = slim.max_pool2d(net, [3, 3], 1, scope='pool5') + + # Additional SSD blocks. + # Block 6: let's dilate the hell out of it! + net = slim.conv2d(net, 1024, [3, 3], rate=6, scope='conv6') + end_points['block6'] = net + # Block 7: 1x1 conv. Because the fuck. + net = slim.conv2d(net, 1024, [1, 1], scope='conv7') + end_points['block7'] = net + + # Block 8/9/10/11: 1x1 and 3x3 convolutions stride 2 (except lasts). + end_point = 'block8' + with tf.variable_scope(end_point): + net = slim.conv2d(net, 256, [1, 1], scope='conv1x1') + net = custom_layers.pad2d(net, pad=(1, 1)) + net = slim.conv2d(net, 512, [3, 3], stride=2, scope='conv3x3', padding='VALID') + end_points[end_point] = net + end_point = 'block9' + with tf.variable_scope(end_point): + net = slim.conv2d(net, 128, [1, 1], scope='conv1x1') + net = custom_layers.pad2d(net, pad=(1, 1)) + net = slim.conv2d(net, 256, [3, 3], stride=2, scope='conv3x3', padding='VALID') + end_points[end_point] = net + end_point = 'block10' + with tf.variable_scope(end_point): + net = slim.conv2d(net, 128, [1, 1], scope='conv1x1') + net = custom_layers.pad2d(net, pad=(1, 1)) + net = slim.conv2d(net, 256, [3, 3], stride=2, scope='conv3x3', padding='VALID') + end_points[end_point] = net + end_point = 'block11' + with tf.variable_scope(end_point): + net = slim.conv2d(net, 128, [1, 1], scope='conv1x1') + net = custom_layers.pad2d(net, pad=(1, 1)) + net = slim.conv2d(net, 256, [3, 3], stride=2, scope='conv3x3', padding='VALID') + end_points[end_point] = net + end_point = 'block12' + with tf.variable_scope(end_point): + net = slim.conv2d(net, 128, [1, 1], scope='conv1x1') + net = custom_layers.pad2d(net, pad=(1, 1)) + net = slim.conv2d(net, 256, [4, 4], scope='conv4x4', padding='VALID') + # Fix padding to match Caffe version (pad=1). + # pad_shape = [(i-j) for i, j in zip(layer_shape(net), [0, 1, 1, 0])] + # net = tf.slice(net, [0, 0, 0, 0], pad_shape, name='caffe_pad') + end_points[end_point] = net + + # Prediction and localisations layers. + predictions = [] + logits = [] + localisations = [] + for i, layer in enumerate(feat_layers): + with tf.variable_scope(layer + '_box'): + p, l = ssd_vgg_300.ssd_multibox_layer(end_points[layer], + num_classes, + anchor_sizes[i], + anchor_ratios[i], + normalizations[i]) + predictions.append(prediction_fn(p)) + logits.append(p) + localisations.append(l) + + return predictions, localisations, logits, end_points +ssd_net.default_image_size = 512 + + +def ssd_arg_scope(weight_decay=0.0005, data_format='NHWC'): + """Defines the VGG arg scope. + + Args: + weight_decay: The l2 regularization coefficient. + + Returns: + An arg_scope. + """ + with slim.arg_scope([slim.conv2d, slim.fully_connected], + activation_fn=tf.nn.relu, + weights_regularizer=slim.l2_regularizer(weight_decay), + weights_initializer=tf.contrib.layers.xavier_initializer(), + biases_initializer=tf.zeros_initializer()): + with slim.arg_scope([slim.conv2d, slim.max_pool2d], + padding='SAME', + data_format=data_format): + with slim.arg_scope([custom_layers.pad2d, + custom_layers.l2_normalization, + custom_layers.channel_to_last], + data_format=data_format) as sc: + return sc + + +# =========================================================================== # +# Caffe scope: importing weights at initialization. +# =========================================================================== # +def ssd_arg_scope_caffe(caffe_scope): + """Caffe scope definition. + + Args: + caffe_scope: Caffe scope object with loaded weights. + + Returns: + An arg_scope. + """ + # Default network arg scope. + with slim.arg_scope([slim.conv2d], + activation_fn=tf.nn.relu, + weights_initializer=caffe_scope.conv_weights_init(), + biases_initializer=caffe_scope.conv_biases_init()): + with slim.arg_scope([slim.fully_connected], + activation_fn=tf.nn.relu): + with slim.arg_scope([custom_layers.l2_normalization], + scale_initializer=caffe_scope.l2_norm_scale_init()): + with slim.arg_scope([slim.conv2d, slim.max_pool2d], + padding='SAME') as sc: + return sc + + +# =========================================================================== # +# SSD loss function. +# =========================================================================== # +def ssd_losses(logits, localisations, + gclasses, glocalisations, gscores, + match_threshold=0.5, + negative_ratio=3., + alpha=1., + label_smoothing=0., + scope=None): + """Loss functions for training the SSD 300 VGG network. + + This function defines the different loss components of the SSD, and + adds them to the TF loss collection. + + Arguments: + logits: (list of) predictions logits Tensors; + localisations: (list of) localisations Tensors; + gclasses: (list of) groundtruth labels Tensors; + glocalisations: (list of) groundtruth localisations Tensors; + gscores: (list of) groundtruth score Tensors; + """ + with tf.name_scope(scope, 'ssd_losses'): + l_cross_pos = [] + l_cross_neg = [] + l_loc = [] + for i in range(len(logits)): + dtype = logits[i].dtype + with tf.name_scope('block_%i' % i): + # Determine weights Tensor. + pmask = gscores[i] > match_threshold + fpmask = tf.cast(pmask, dtype) + n_positives = tf.reduce_sum(fpmask) + + # Select some random negative entries. + # n_entries = np.prod(gclasses[i].get_shape().as_list()) + # r_positive = n_positives / n_entries + # r_negative = negative_ratio * n_positives / (n_entries - n_positives) + + # Negative mask. + no_classes = tf.cast(pmask, tf.int32) + predictions = slim.softmax(logits[i]) + nmask = tf.logical_and(tf.logical_not(pmask), + gscores[i] > -0.5) + fnmask = tf.cast(nmask, dtype) + nvalues = tf.where(nmask, + predictions[:, :, :, :, 0], + 1. - fnmask) + nvalues_flat = tf.reshape(nvalues, [-1]) + # Number of negative entries to select. + n_neg = tf.cast(negative_ratio * n_positives, tf.int32) + n_neg = tf.maximum(n_neg, tf.size(nvalues_flat) // 8) + n_neg = tf.maximum(n_neg, tf.shape(nvalues)[0] * 4) + max_neg_entries = 1 + tf.cast(tf.reduce_sum(fnmask), tf.int32) + n_neg = tf.minimum(n_neg, max_neg_entries) + + val, idxes = tf.nn.top_k(-nvalues_flat, k=n_neg) + minval = val[-1] + # Final negative mask. + nmask = tf.logical_and(nmask, -nvalues > minval) + fnmask = tf.cast(nmask, dtype) + + # Add cross-entropy loss. + with tf.name_scope('cross_entropy_pos'): + loss = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits[i], + labels=gclasses[i]) + loss = tf.losses.compute_weighted_loss(loss, fpmask) + l_cross_pos.append(loss) + + with tf.name_scope('cross_entropy_neg'): + loss = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits[i], + labels=no_classes) + loss = tf.losses.compute_weighted_loss(loss, fnmask) + l_cross_neg.append(loss) + + # Add localization loss: smooth L1, L2, ... + with tf.name_scope('localization'): + # Weights Tensor: positive mask + random negative. + weights = tf.expand_dims(alpha * fpmask, axis=-1) + loss = custom_layers.abs_smooth(localisations[i] - glocalisations[i]) + loss = tf.losses.compute_weighted_loss(loss, weights) + l_loc.append(loss) + + # Additional total losses... + with tf.name_scope('total'): + total_cross_pos = tf.add_n(l_cross_pos, 'cross_entropy_pos') + total_cross_neg = tf.add_n(l_cross_neg, 'cross_entropy_neg') + total_cross = tf.add(total_cross_pos, total_cross_neg, 'cross_entropy') + total_loc = tf.add_n(l_loc, 'localization') + + # Add to EXTRA LOSSES TF.collection + tf.add_to_collection('EXTRA_LOSSES', total_cross_pos) + tf.add_to_collection('EXTRA_LOSSES', total_cross_neg) + tf.add_to_collection('EXTRA_LOSSES', total_cross) + tf.add_to_collection('EXTRA_LOSSES', total_loc) diff --git a/nets/vgg.py b/nets/vgg.py new file mode 100644 index 0000000..c9a66e1 --- /dev/null +++ b/nets/vgg.py @@ -0,0 +1,244 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains model definitions for versions of the Oxford VGG network. + +These model definitions were introduced in the following technical report: + + Very Deep Convolutional Networks For Large-Scale Image Recognition + Karen Simonyan and Andrew Zisserman + arXiv technical report, 2015 + PDF: http://arxiv.org/pdf/1409.1556.pdf + ILSVRC 2014 Slides: http://www.robots.ox.ac.uk/~karen/pdf/ILSVRC_2014.pdf + CC-BY-4.0 + +More information can be obtained from the VGG website: +www.robots.ox.ac.uk/~vgg/research/very_deep/ + +Usage: + with slim.arg_scope(vgg.vgg_arg_scope()): + outputs, end_points = vgg.vgg_a(inputs) + + with slim.arg_scope(vgg.vgg_arg_scope()): + outputs, end_points = vgg.vgg_16(inputs) + +@@vgg_a +@@vgg_16 +@@vgg_19 +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +slim = tf.contrib.slim + + +def vgg_arg_scope(weight_decay=0.0005): + """Defines the VGG arg scope. + + Args: + weight_decay: The l2 regularization coefficient. + + Returns: + An arg_scope. + """ + with slim.arg_scope([slim.conv2d, slim.fully_connected], + activation_fn=tf.nn.relu, + weights_regularizer=slim.l2_regularizer(weight_decay), + biases_initializer=tf.zeros_initializer): + with slim.arg_scope([slim.conv2d], padding='SAME') as arg_sc: + return arg_sc + + +def vgg_a(inputs, + num_classes=1000, + is_training=True, + dropout_keep_prob=0.5, + spatial_squeeze=True, + scope='vgg_a'): + """Oxford Net VGG 11-Layers version A Example. + + Note: All the fully_connected layers have been transformed to conv2d layers. + To use in classification mode, resize input to 224x224. + + Args: + inputs: a tensor of size [batch_size, height, width, channels]. + num_classes: number of predicted classes. + is_training: whether or not the model is being trained. + dropout_keep_prob: the probability that activations are kept in the dropout + layers during training. + spatial_squeeze: whether or not should squeeze the spatial dimensions of the + outputs. Useful to remove unnecessary dimensions for classification. + scope: Optional scope for the variables. + + Returns: + the last op containing the log predictions and end_points dict. + """ + with tf.variable_scope(scope, 'vgg_a', [inputs]) as sc: + end_points_collection = sc.name + '_end_points' + # Collect outputs for conv2d, fully_connected and max_pool2d. + with slim.arg_scope([slim.conv2d, slim.max_pool2d], + outputs_collections=end_points_collection): + net = slim.repeat(inputs, 1, slim.conv2d, 64, [3, 3], scope='conv1') + net = slim.max_pool2d(net, [2, 2], scope='pool1') + net = slim.repeat(net, 1, slim.conv2d, 128, [3, 3], scope='conv2') + net = slim.max_pool2d(net, [2, 2], scope='pool2') + net = slim.repeat(net, 2, slim.conv2d, 256, [3, 3], scope='conv3') + net = slim.max_pool2d(net, [2, 2], scope='pool3') + net = slim.repeat(net, 2, slim.conv2d, 512, [3, 3], scope='conv4') + net = slim.max_pool2d(net, [2, 2], scope='pool4') + net = slim.repeat(net, 2, slim.conv2d, 512, [3, 3], scope='conv5') + net = slim.max_pool2d(net, [2, 2], scope='pool5') + # Use conv2d instead of fully_connected layers. + net = slim.conv2d(net, 4096, [7, 7], padding='VALID', scope='fc6') + net = slim.dropout(net, dropout_keep_prob, is_training=is_training, + scope='dropout6') + net = slim.conv2d(net, 4096, [1, 1], scope='fc7') + net = slim.dropout(net, dropout_keep_prob, is_training=is_training, + scope='dropout7') + net = slim.conv2d(net, num_classes, [1, 1], + activation_fn=None, + normalizer_fn=None, + scope='fc8') + # Convert end_points_collection into a end_point dict. + end_points = slim.utils.convert_collection_to_dict(end_points_collection) + if spatial_squeeze: + net = tf.squeeze(net, [1, 2], name='fc8/squeezed') + end_points[sc.name + '/fc8'] = net + return net, end_points +vgg_a.default_image_size = 224 + + +def vgg_16(inputs, + num_classes=1000, + is_training=True, + dropout_keep_prob=0.5, + spatial_squeeze=True, + scope='vgg_16'): + """Oxford Net VGG 16-Layers version D Example. + + Note: All the fully_connected layers have been transformed to conv2d layers. + To use in classification mode, resize input to 224x224. + + Args: + inputs: a tensor of size [batch_size, height, width, channels]. + num_classes: number of predicted classes. + is_training: whether or not the model is being trained. + dropout_keep_prob: the probability that activations are kept in the dropout + layers during training. + spatial_squeeze: whether or not should squeeze the spatial dimensions of the + outputs. Useful to remove unnecessary dimensions for classification. + scope: Optional scope for the variables. + + Returns: + the last op containing the log predictions and end_points dict. + """ + with tf.variable_scope(scope, 'vgg_16', [inputs]) as sc: + end_points_collection = sc.name + '_end_points' + # Collect outputs for conv2d, fully_connected and max_pool2d. + with slim.arg_scope([slim.conv2d, slim.fully_connected, slim.max_pool2d], + outputs_collections=end_points_collection): + net = slim.repeat(inputs, 2, slim.conv2d, 64, [3, 3], scope='conv1') + net = slim.max_pool2d(net, [2, 2], scope='pool1') + net = slim.repeat(net, 2, slim.conv2d, 128, [3, 3], scope='conv2') + net = slim.max_pool2d(net, [2, 2], scope='pool2') + net = slim.repeat(net, 3, slim.conv2d, 256, [3, 3], scope='conv3') + net = slim.max_pool2d(net, [2, 2], scope='pool3') + net = slim.repeat(net, 3, slim.conv2d, 512, [3, 3], scope='conv4') + net = slim.max_pool2d(net, [2, 2], scope='pool4') + net = slim.repeat(net, 3, slim.conv2d, 512, [3, 3], scope='conv5') + net = slim.max_pool2d(net, [2, 2], scope='pool5') + # Use conv2d instead of fully_connected layers. + net = slim.conv2d(net, 4096, [7, 7], padding='VALID', scope='fc6') + net = slim.dropout(net, dropout_keep_prob, is_training=is_training, + scope='dropout6') + net = slim.conv2d(net, 4096, [1, 1], scope='fc7') + net = slim.dropout(net, dropout_keep_prob, is_training=is_training, + scope='dropout7') + net = slim.conv2d(net, num_classes, [1, 1], + activation_fn=None, + normalizer_fn=None, + scope='fc8') + # Convert end_points_collection into a end_point dict. + end_points = slim.utils.convert_collection_to_dict(end_points_collection) + if spatial_squeeze: + net = tf.squeeze(net, [1, 2], name='fc8/squeezed') + end_points[sc.name + '/fc8'] = net + return net, end_points +vgg_16.default_image_size = 224 + + +def vgg_19(inputs, + num_classes=1000, + is_training=True, + dropout_keep_prob=0.5, + spatial_squeeze=True, + scope='vgg_19'): + """Oxford Net VGG 19-Layers version E Example. + + Note: All the fully_connected layers have been transformed to conv2d layers. + To use in classification mode, resize input to 224x224. + + Args: + inputs: a tensor of size [batch_size, height, width, channels]. + num_classes: number of predicted classes. + is_training: whether or not the model is being trained. + dropout_keep_prob: the probability that activations are kept in the dropout + layers during training. + spatial_squeeze: whether or not should squeeze the spatial dimensions of the + outputs. Useful to remove unnecessary dimensions for classification. + scope: Optional scope for the variables. + + Returns: + the last op containing the log predictions and end_points dict. + """ + with tf.variable_scope(scope, 'vgg_19', [inputs]) as sc: + end_points_collection = sc.name + '_end_points' + # Collect outputs for conv2d, fully_connected and max_pool2d. + with slim.arg_scope([slim.conv2d, slim.fully_connected, slim.max_pool2d], + outputs_collections=end_points_collection): + net = slim.repeat(inputs, 2, slim.conv2d, 64, [3, 3], scope='conv1') + net = slim.max_pool2d(net, [2, 2], scope='pool1') + net = slim.repeat(net, 2, slim.conv2d, 128, [3, 3], scope='conv2') + net = slim.max_pool2d(net, [2, 2], scope='pool2') + net = slim.repeat(net, 4, slim.conv2d, 256, [3, 3], scope='conv3') + net = slim.max_pool2d(net, [2, 2], scope='pool3') + net = slim.repeat(net, 4, slim.conv2d, 512, [3, 3], scope='conv4') + net = slim.max_pool2d(net, [2, 2], scope='pool4') + net = slim.repeat(net, 4, slim.conv2d, 512, [3, 3], scope='conv5') + net = slim.max_pool2d(net, [2, 2], scope='pool5') + # Use conv2d instead of fully_connected layers. + net = slim.conv2d(net, 4096, [7, 7], padding='VALID', scope='fc6') + net = slim.dropout(net, dropout_keep_prob, is_training=is_training, + scope='dropout6') + net = slim.conv2d(net, 4096, [1, 1], scope='fc7') + net = slim.dropout(net, dropout_keep_prob, is_training=is_training, + scope='dropout7') + net = slim.conv2d(net, num_classes, [1, 1], + activation_fn=None, + normalizer_fn=None, + scope='fc8') + # Convert end_points_collection into a end_point dict. + end_points = slim.utils.convert_collection_to_dict(end_points_collection) + if spatial_squeeze: + net = tf.squeeze(net, [1, 2], name='fc8/squeezed') + end_points[sc.name + '/fc8'] = net + return net, end_points +vgg_19.default_image_size = 224 + +# Alias +vgg_d = vgg_16 +vgg_e = vgg_19 diff --git a/nets/xception.py b/nets/xception.py new file mode 100644 index 0000000..f4687c5 --- /dev/null +++ b/nets/xception.py @@ -0,0 +1,283 @@ +"""Definition of Xception model introduced by F. Chollet. + +Usage: + with slim.arg_scope(xception.xception_arg_scope()): + outputs, end_points = xception.xception(inputs) +@@xception +""" + +import tensorflow as tf +slim = tf.contrib.slim + + +# =========================================================================== # +# Xception implementation (clean) +# =========================================================================== # +def xception(inputs, + num_classes=1000, + is_training=True, + dropout_keep_prob=0.5, + prediction_fn=slim.softmax, + reuse=None, + scope='xception'): + """Xception model from https://arxiv.org/pdf/1610.02357v2.pdf + + The default image size used to train this network is 299x299. + """ + + # end_points collect relevant activations for external use, for example + # summaries or losses. + end_points = {} + + with tf.variable_scope(scope, 'xception', [inputs]): + # Block 1. + end_point = 'block1' + with tf.variable_scope(end_point): + net = slim.conv2d(inputs, 32, [3, 3], stride=2, padding='VALID', scope='conv1') + net = slim.conv2d(net, 64, [3, 3], padding='VALID', scope='conv2') + end_points[end_point] = net + + # Residual block 2. + end_point = 'block2' + with tf.variable_scope(end_point): + res = slim.conv2d(net, 128, [1, 1], stride=2, activation_fn=None, scope='res') + net = slim.separable_convolution2d(net, 128, [3, 3], 1, scope='sepconv1') + net = slim.separable_convolution2d(net, 128, [3, 3], 1, activation_fn=None, scope='sepconv2') + net = slim.max_pool2d(net, [3, 3], stride=2, scope='pool') + net = res + net + end_points[end_point] = net + + # Residual block 3. + end_point = 'block3' + with tf.variable_scope(end_point): + res = slim.conv2d(net, 256, [1, 1], stride=2, activation_fn=None, scope='res') + net = tf.nn.relu(net) + net = slim.separable_convolution2d(net, 256, [3, 3], 1, scope='sepconv1') + net = slim.separable_convolution2d(net, 256, [3, 3], 1, activation_fn=None, scope='sepconv2') + net = slim.max_pool2d(net, [3, 3], stride=2, scope='pool') + net = res + net + end_points[end_point] = net + + # Residual block 4. + end_point = 'block4' + with tf.variable_scope(end_point): + res = slim.conv2d(net, 728, [1, 1], stride=2, activation_fn=None, scope='res') + net = tf.nn.relu(net) + net = slim.separable_convolution2d(net, 728, [3, 3], 1, scope='sepconv1') + net = slim.separable_convolution2d(net, 728, [3, 3], 1, activation_fn=None, scope='sepconv2') + net = slim.max_pool2d(net, [3, 3], stride=2, scope='pool') + net = res + net + end_points[end_point] = net + + # Middle flow blocks. + for i in range(8): + end_point = 'block' + str(i + 5) + with tf.variable_scope(end_point): + res = net + net = tf.nn.relu(net) + net = slim.separable_convolution2d(net, 728, [3, 3], 1, activation_fn=None, + scope='sepconv1') + net = tf.nn.relu(net) + net = slim.separable_convolution2d(net, 728, [3, 3], 1, activation_fn=None, + scope='sepconv2') + net = tf.nn.relu(net) + net = slim.separable_convolution2d(net, 728, [3, 3], 1, activation_fn=None, + scope='sepconv3') + net = res + net + end_points[end_point] = net + + # Exit flow: blocks 13 and 14. + end_point = 'block13' + with tf.variable_scope(end_point): + res = slim.conv2d(net, 1024, [1, 1], stride=2, activation_fn=None, scope='res') + net = tf.nn.relu(net) + net = slim.separable_convolution2d(net, 728, [3, 3], 1, activation_fn=None, scope='sepconv1') + net = tf.nn.relu(net) + net = slim.separable_convolution2d(net, 1024, [3, 3], 1, activation_fn=None, scope='sepconv2') + net = slim.max_pool2d(net, [3, 3], stride=2, scope='pool') + net = res + net + end_points[end_point] = net + + end_point = 'block14' + with tf.variable_scope(end_point): + net = slim.separable_convolution2d(net, 1536, [3, 3], 1, scope='sepconv1') + net = slim.separable_convolution2d(net, 2048, [3, 3], 1, scope='sepconv2') + end_points[end_point] = net + + # Global averaging. + end_point = 'dense' + with tf.variable_scope(end_point): + net = tf.reduce_mean(net, [1, 2], name='reduce_avg') + logits = slim.fully_connected(net, 1000, activation_fn=None) + + end_points['logits'] = logits + end_points['predictions'] = prediction_fn(logits, scope='Predictions') + + return logits, end_points +xception.default_image_size = 299 + + +def xception_arg_scope(weight_decay=0.00001, stddev=0.1): + """Defines the default Xception arg scope. + + Args: + weight_decay: The weight decay to use for regularizing the model. + stddev: The standard deviation of the trunctated normal weight initializer. + + Returns: + An `arg_scope` to use for the xception model. + """ + batch_norm_params = { + # Decay for the moving averages. + 'decay': 0.9997, + # epsilon to prevent 0s in variance. + 'epsilon': 0.001, + # collection containing update_ops. + 'updates_collections': tf.GraphKeys.UPDATE_OPS, + } + + # Set weight_decay for weights in Conv and FC layers. + with slim.arg_scope([slim.conv2d, slim.fully_connected, slim.separable_convolution2d], + weights_regularizer=slim.l2_regularizer(weight_decay)): + with slim.arg_scope( + [slim.conv2d, slim.separable_convolution2d], + padding='SAME', + weights_initializer=tf.contrib.layers.variance_scaling_initializer(factor=2.0, mode='FAN_IN', uniform=False), + activation_fn=tf.nn.relu, + normalizer_fn=slim.batch_norm, + normalizer_params=batch_norm_params): + with slim.arg_scope([slim.max_pool2d], padding='SAME') as sc: + return sc + + +# =========================================================================== # +# Xception arg scope (Keras hack!) +# =========================================================================== # +def xception_keras_arg_scope(hdf5_file, weight_decay=0.00001): + """Defines an Xception arg scope which initialize layers weights + using a Keras HDF5 file. + + Quite hacky implementaion, but seems to be working! + + Args: + hdf5_file: HDF5 file handle. + weight_decay: The weight decay to use for regularizing the model. + + Returns: + An `arg_scope` to use for the xception model. + """ + # Default batch normalization parameters. + batch_norm_params = { + 'center': True, + 'scale': False, + 'decay': 0.9997, + 'epsilon': 0.001, + 'updates_collections': tf.GraphKeys.UPDATE_OPS, + } + + # Read weights from HDF5 file. + def keras_bn_params(): + def _beta_initializer(shape, dtype, partition_info=None): + keras_bn_params.bidx += 1 + k = 'batchnormalization_%i' % keras_bn_params.bidx + kb = 'batchnormalization_%i_beta:0' % keras_bn_params.bidx + return tf.cast(hdf5_file[k][kb][:], dtype) + + def _gamma_initializer(shape, dtype, partition_info=None): + keras_bn_params.gidx += 1 + k = 'batchnormalization_%i' % keras_bn_params.gidx + kg = 'batchnormalization_%i_gamma:0' % keras_bn_params.gidx + return tf.cast(hdf5_file[k][kg][:], dtype) + + def _mean_initializer(shape, dtype, partition_info=None): + keras_bn_params.midx += 1 + k = 'batchnormalization_%i' % keras_bn_params.midx + km = 'batchnormalization_%i_running_mean:0' % keras_bn_params.midx + return tf.cast(hdf5_file[k][km][:], dtype) + + def _variance_initializer(shape, dtype, partition_info=None): + keras_bn_params.vidx += 1 + k = 'batchnormalization_%i' % keras_bn_params.vidx + kv = 'batchnormalization_%i_running_std:0' % keras_bn_params.vidx + return tf.cast(hdf5_file[k][kv][:], dtype) + + # Batch normalisation initializers. + params = batch_norm_params.copy() + params['initializers'] = { + 'beta': _beta_initializer, + 'gamma': _gamma_initializer, + 'moving_mean': _mean_initializer, + 'moving_variance': _variance_initializer, + } + return params + keras_bn_params.bidx = 0 + keras_bn_params.gidx = 0 + keras_bn_params.midx = 0 + keras_bn_params.vidx = 0 + + def keras_conv2d_weights(): + def _initializer(shape, dtype, partition_info=None): + keras_conv2d_weights.idx += 1 + k = 'convolution2d_%i' % keras_conv2d_weights.idx + kw = 'convolution2d_%i_W:0' % keras_conv2d_weights.idx + return tf.cast(hdf5_file[k][kw][:], dtype) + return _initializer + keras_conv2d_weights.idx = 0 + + def keras_sep_conv2d_weights(): + def _initializer(shape, dtype, partition_info=None): + # Depthwise or Pointwise convolution? + if shape[0] > 1 or shape[1] > 1: + keras_sep_conv2d_weights.didx += 1 + k = 'separableconvolution2d_%i' % keras_sep_conv2d_weights.didx + kd = 'separableconvolution2d_%i_depthwise_kernel:0' % keras_sep_conv2d_weights.didx + weights = hdf5_file[k][kd][:] + else: + keras_sep_conv2d_weights.pidx += 1 + k = 'separableconvolution2d_%i' % keras_sep_conv2d_weights.pidx + kp = 'separableconvolution2d_%i_pointwise_kernel:0' % keras_sep_conv2d_weights.pidx + weights = hdf5_file[k][kp][:] + return tf.cast(weights, dtype) + return _initializer + keras_sep_conv2d_weights.didx = 0 + keras_sep_conv2d_weights.pidx = 0 + + def keras_dense_weights(): + def _initializer(shape, dtype, partition_info=None): + keras_dense_weights.idx += 1 + k = 'dense_%i' % keras_dense_weights.idx + kw = 'dense_%i_W:0' % keras_dense_weights.idx + return tf.cast(hdf5_file[k][kw][:], dtype) + return _initializer + keras_dense_weights.idx = 1 + + def keras_dense_biases(): + def _initializer(shape, dtype, partition_info=None): + keras_dense_biases.idx += 1 + k = 'dense_%i' % keras_dense_biases.idx + kb = 'dense_%i_b:0' % keras_dense_biases.idx + return tf.cast(hdf5_file[k][kb][:], dtype) + return _initializer + keras_dense_biases.idx = 1 + + # Default network arg scope. + with slim.arg_scope([slim.conv2d, slim.fully_connected, slim.separable_convolution2d], + weights_regularizer=slim.l2_regularizer(weight_decay)): + with slim.arg_scope( + [slim.conv2d, slim.separable_convolution2d], + padding='SAME', + activation_fn=tf.nn.relu, + normalizer_fn=slim.batch_norm, + normalizer_params=keras_bn_params()): + with slim.arg_scope([slim.max_pool2d], padding='SAME'): + + # Weights initializers from Keras weights. + with slim.arg_scope([slim.conv2d], + weights_initializer=keras_conv2d_weights()): + with slim.arg_scope([slim.separable_convolution2d], + weights_initializer=keras_sep_conv2d_weights()): + with slim.arg_scope([slim.fully_connected], + weights_initializer=keras_dense_weights(), + biases_initializer=keras_dense_biases()) as sc: + return sc + diff --git a/notebooks/ssd_notebook.ipynb b/notebooks/ssd_notebook.ipynb new file mode 100644 index 0000000..d62a752 --- /dev/null +++ b/notebooks/ssd_notebook.ipynb @@ -0,0 +1,282 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true, + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "import os\n", + "import math\n", + "import random\n", + "\n", + "import numpy as np\n", + "import tensorflow as tf\n", + "import cv2\n", + "\n", + "slim = tf.contrib.slim" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true, + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.image as mpimg" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true, + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('../')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true, + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "from nets import ssd_vgg_300, ssd_common, np_methods\n", + "from preprocessing import ssd_vgg_preprocessing\n", + "from notebooks import visualization" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false, + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [ + "# TensorFlow session: grow memory when needed. TF, DO NOT USE ALL MY GPU MEMORY!!!\n", + "gpu_options = tf.GPUOptions(allow_growth=True)\n", + "config = tf.ConfigProto(log_device_placement=False, gpu_options=gpu_options)\n", + "isess = tf.InteractiveSession(config=config)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false, + "deletable": true, + "editable": true + }, + "source": [ + "## SSD 300 Model\n", + "\n", + "The SSD 300 network takes 300x300 image inputs. In order to feed any image, the latter is resize to this input shape (i.e.`Resize.WARP_RESIZE`). Note that even though it may change the ratio width / height, the SSD model performs well on resized images (and it is the default behaviour in the original Caffe implementation).\n", + "\n", + "SSD anchors correspond to the default bounding boxes encoded in the network. The SSD net output provides offset on the coordinates and dimensions of these anchors." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": false, + "deletable": true, + "editable": true, + "scrolled": false + }, + "outputs": [], + "source": [ + "# Input placeholder.\n", + "net_shape = (300, 300)\n", + "data_format = 'NHWC'\n", + "img_input = tf.placeholder(tf.uint8, shape=(None, None, 3))\n", + "# Evaluation pre-processing: resize to SSD net shape.\n", + "image_pre, labels_pre, bboxes_pre, bbox_img = ssd_vgg_preprocessing.preprocess_for_eval(\n", + " img_input, None, None, net_shape, data_format, resize=ssd_vgg_preprocessing.Resize.WARP_RESIZE)\n", + "image_4d = tf.expand_dims(image_pre, 0)\n", + "\n", + "# Define the SSD model.\n", + "reuse = True if 'ssd_net' in locals() else None\n", + "ssd_net = ssd_vgg_300.SSDNet()\n", + "with slim.arg_scope(ssd_net.arg_scope(data_format=data_format)):\n", + " predictions, localisations, _, _ = ssd_net.net(image_4d, is_training=False, reuse=reuse)\n", + "\n", + "# Restore SSD model.\n", + "ckpt_filename = '../checkpoints/ssd_300_vgg.ckpt'\n", + "# ckpt_filename = '../checkpoints/VGG_VOC0712_SSD_300x300_ft_iter_120000.ckpt'\n", + "isess.run(tf.global_variables_initializer())\n", + "saver = tf.train.Saver()\n", + "saver.restore(isess, ckpt_filename)\n", + "\n", + "# SSD default anchor boxes.\n", + "ssd_anchors = ssd_net.anchors(net_shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "deletable": true, + "editable": true + }, + "source": [ + "## Post-processing pipeline\n", + "\n", + "The SSD outputs need to be post-processed to provide proper detections. Namely, we follow these common steps:\n", + "\n", + "* Select boxes above a classification threshold;\n", + "* Clip boxes to the image shape;\n", + "* Apply the Non-Maximum-Selection algorithm: fuse together boxes whose Jaccard score > threshold;\n", + "* If necessary, resize bounding boxes to original image shape." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": false, + "deletable": true, + "editable": true, + "scrolled": true + }, + "outputs": [], + "source": [ + "# Main image processing routine.\n", + "def process_image(img, select_threshold=0.5, nms_threshold=.45, net_shape=(300, 300)):\n", + " # Run SSD network.\n", + " rimg, rpredictions, rlocalisations, rbbox_img = isess.run([image_4d, predictions, localisations, bbox_img],\n", + " feed_dict={img_input: img})\n", + " \n", + " # Get classes and bboxes from the net outputs.\n", + " rclasses, rscores, rbboxes = np_methods.ssd_bboxes_select(\n", + " rpredictions, rlocalisations, ssd_anchors,\n", + " select_threshold=select_threshold, img_shape=net_shape, num_classes=21, decode=True)\n", + " \n", + " rbboxes = np_methods.bboxes_clip(rbbox_img, rbboxes)\n", + " rclasses, rscores, rbboxes = np_methods.bboxes_sort(rclasses, rscores, rbboxes, top_k=400)\n", + " rclasses, rscores, rbboxes = np_methods.bboxes_nms(rclasses, rscores, rbboxes, nms_threshold=nms_threshold)\n", + " # Resize bboxes to original image shape. Note: useless for Resize.WARP!\n", + " rbboxes = np_methods.bboxes_resize(rbbox_img, rbboxes)\n", + " return rclasses, rscores, rbboxes" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false, + "deletable": true, + "editable": true, + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nukYURxiJRsUpEzQDRCAxHQNRAD/JaEcD2vqQZtgnTiUVpwT2QdJetwwUiuFwgGPbCDSCKMawdQz7\noDYlCmIsmWHpBwFHmCiEZWLZHo5lYwC2Zh184UOilInr2bgFk/nFWfygi658ClKgtJjYOKj9lAIs\nr8DK2iUeve99SBEzCH2W5pfot+6x2+1w9e4qz3/9W7x97g22dq5SKBq49iyOmqdkVRgMJBXrIbR0\njht373L12i1GvePUvAkemv8IIikTRxZ1/xyNep+R+DnGxHEsfYwYg6xcoPJAmZnRZUazJ6gsBWzu\nXuLo8lHK1RFWVi7TabeYLs/iejb1zgbDuEucRhiWjlSKNMsY9IdEcYKuGViOhQ7kPA/bNJFZhm2b\nDIMhcZIRxRH1vV3GxitoAkSaYloC3RB4uTyOY1EuF4AMoQTlwgj+ICAOA/yoh5QGlunwwEOnWLm9\nTTlfod3s0Ovvsd/cptuJGK3N0erVaQ7bTC2Osb/fJI0tSrbD7HiR7qUtfuv//C1kFvPc2cf5V//6\nX/HmnfO89dZFLl+/RC9uc+LhcfKjCQVthCCWvHPxFn/8J18jTQ16/ZAff/pBip7k689/Db/pE/Tv\n8MkP/AMmx+ZxLMmEfYqNRpv5pxe4tdrGERrdtxXLI4+TRZA76vGJz/w8ty5f4ktf+xI/90uf4eip\nSVrNLq++/jLPPvsw73//k+REnkFrQBJIWrkcG719bnZuMX//OBde+i6//NB/S7bdpXF7m+9881X2\ntpv4fkquMsV0dYRKYYTRkVHGJsaZm5/mueeeZtDvMTM7hes6RGmKQGGYFqtrmyTpQXZX07WDQKhd\np93rMRz6TI3PMBz6CE1n7d4ahmGSRoJOewBKoKETxT1c2yZTPxh58vIeSsYgIJURuqlRqeXoDztU\nynkMHQoFl+u3Vmi0u3huAdt0mZ6YYWdzH9vKUSpX0EoSU0Fjbw+r6nHk1BG239mgpo/iWwYWGsOa\nwa//6sdRUcimr/HHv/9F/vjcOd73sU/gn79E0ZqjYGWE/i6np4o8vFDh/iOTnD06g+mWmJw4zuLp\np5g7dpZqdZqiqVNcnKZ0bIaF00vYkyNcPHeVTlyibxcodtq88rlXGVgFlPLYXN/c+exnP/u7P0pM\n9J7VaCmlXgBe+H/7ON8vpvxrtx86DvBfDi1+//+aTioz0iw9GI40IO76mAZ4RY+BFrG33WLOmuPE\n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\nzyqlPgp8HXEs/qX473EcxpV66GpO1arm6vfdVEDHZcT+0qVTH6LOV0uIUoQ9nCvzVnXXVc2YTOLL\nTK1bgVgH6IKUwJIkYbGYM19MOXPuLOVCU5RzLr5xgctvXCVRmnxtjXe881E+9i+/xJFNGXx6qVjH\nD2Z7XH7zKmVZsj5cJ8t6KBLKomaxKDl69DjDYZ8rVy+xs9Pj9OlTvPTGdb72zIvs3Njnfe9+jFA7\nyTsq68bp0Yhsi5IsSbHGoBsaOHhPjAFrrCT4KiSluQGmLUDt6O4sQ2vRa9RVLeVESfRryou6s7Br\n6EL6QvCkaZ+qKjl25Cjve+97+b0nn2RnZ0fAxGjUJPWLvTaqSFRehNOJwdWSlr25uYVSmhvXb7B5\n96Z8b1PqiIEmh8aRWIs0qJV7LUsyjhw5QmwsxN4HQD57ZefaoZWpuJFyfuiHf5g77riLv/Uz/yN/\n7j/5cY5bw8k7zvL800+zmQ+oXE1vfYSrHboKWK9YGIW2mqA1qlJUGVQTYTkMGh81IShK66mJRKsJ\nKgoK0Ar8FKKWfpTIhHx5vI8+tc76A3dxOVdUdYmZRkJiuHjpIj//c/8aAhw9toVV0j9w5+Z1Hnvs\nMa7fuMoLzz4nK2GrSDN47/veyb333osxmofedjeT2VXJFVOKd+WP8xu/8Rs89eVnefzxx3nowfuZ\nz6eNW1Gy0m7evMlnP/t53vnOd3P33edZLGYkSc58PufgYJ9XX32VybhkPl+graaolhOMc5cad2LV\nuMcSrEnZ2tri+PGTPPrwfZza2GBYz7j6pa9waW+fk721LkOL0UB0Y8M+3peYxJIrjU4zbJpQek82\n2MCHQBkcKEOa9eSeVGCylKillU/W6Hu4dJWkrLm5c4OehUxDtj/l7HCN287dTnHiNMOtY/SURttl\nVp70szsMLspy2dLFe1kk1HVNnueHdFAqqq6XZ7sY2tm5ynAoIuy2hdViMUP55YTbTlpVXVBXwuKs\nCtbb0lr705731f1IPMqydcpqaStNJfcpuroLymwFy9ZaFk1PxzRNSdO8+3tiIwOIzeSoQuy0Z+33\ndxlhUcpTMYIx6cqcECX7r3kW89yi/FLjJeVBR1UUmF4mblsFVWPuSdO0KSEHFJrgPPNqIQufoqLX\ni5Jibw2l98wXczKTMJkVaG3J85ToJUl/Mp9hdEKeD6A5b75xPcpYmHS6qVXNT1BgTWO20DIetfNM\n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\nSw510bUAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Test on some demo image and visualize output.\n", + "path = '../demo/'\n", + "image_names = sorted(os.listdir(path))\n", + "\n", + "img = mpimg.imread(path + image_names[-5])\n", + "rclasses, rscores, rbboxes = process_image(img)\n", + "\n", + "# visualization.bboxes_draw_on_img(img, rclasses, rscores, rbboxes, visualization.colors_plasma)\n", + "visualization.plt_bboxes(img, rclasses, rscores, rbboxes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true, + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true, + "deletable": true, + "editable": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [default]", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/ssd_tests.ipynb b/notebooks/ssd_tests.ipynb new file mode 100644 index 0000000..640c773 --- /dev/null +++ b/notebooks/ssd_tests.ipynb @@ -0,0 +1,1097 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import os\n", + "import math\n", + "import numpy as np\n", + "import tensorflow as tf\n", + "import cv2\n", + "\n", + "slim = tf.contrib.slim\n", + "from tensorflow.contrib.slim.python.slim import queues" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.image as mpimg\n", + "import matplotlib.cm as mpcm" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('../')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from datasets import dataset_factory\n", + "from nets import nets_factory\n", + "from preprocessing import preprocessing_factory" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "isess = tf.InteractiveSession()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Some drawing routines" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def colors_subselect(colors, num_classes=21):\n", + " dt = len(colors) // num_classes\n", + " sub_colors = []\n", + " for i in range(num_classes):\n", + " color = colors[i*dt]\n", + " if isinstance(color[0], float):\n", + " sub_colors.append([int(c * 255) for c in color])\n", + " else:\n", + " sub_colors.append([c for c in color])\n", + " return sub_colors\n", + "\n", + "def draw_lines(img, lines, color=[255, 0, 0], thickness=2):\n", + " \"\"\"Draw a collection of lines on an image.\n", + " \"\"\"\n", + " for line in lines:\n", + " for x1, y1, x2, y2 in line:\n", + " cv2.line(img, (x1, y1), (x2, y2), color, thickness)\n", + " \n", + "def draw_rectangle(img, p1, p2, color=[255, 0, 0], thickness=2):\n", + " cv2.rectangle(img, p1[::-1], p2[::-1], color, thickness)\n", + " \n", + " \n", + "def draw_bbox(img, bbox, shape, label, color=[255, 0, 0], thickness=2):\n", + " p1 = (int(bbox[0] * shape[0]), int(bbox[1] * shape[1]))\n", + " p2 = (int(bbox[2] * shape[0]), int(bbox[3] * shape[1]))\n", + " cv2.rectangle(img, p1[::-1], p2[::-1], color, thickness)\n", + " p1 = (p1[0]+15, p1[1])\n", + " cv2.putText(img, str(label), p1[::-1], cv2.FONT_HERSHEY_DUPLEX, 0.5, color, 1)\n", + "\n", + "\n", + "def bboxes_draw_on_img(img, classes, scores, bboxes, colors, thickness=2):\n", + " shape = img.shape\n", + " for i in range(bboxes.shape[0]):\n", + " bbox = bboxes[i]\n", + " color = colors[classes[i]]\n", + " # Draw bounding box...\n", + " p1 = (int(bbox[0] * shape[0]), int(bbox[1] * shape[1]))\n", + " p2 = (int(bbox[2] * shape[0]), int(bbox[3] * shape[1]))\n", + " cv2.rectangle(img, p1[::-1], p2[::-1], color, thickness)\n", + " # Draw text...\n", + " s = '%s/%.3f' % (classes[i], scores[i])\n", + " p1 = (p1[0]-5, p1[1])\n", + " cv2.putText(img, s, p1[::-1], cv2.FONT_HERSHEY_DUPLEX, 0.4, color, 1)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "colors = colors_subselect(mpcm.plasma.colors, num_classes=21)\n", + "colors_tableau = [(255, 255, 255), (31, 119, 180), (174, 199, 232), (255, 127, 14), (255, 187, 120), \n", + " (44, 160, 44), (152, 223, 138), (214, 39, 40), (255, 152, 150), \n", + " (148, 103, 189), (197, 176, 213), (140, 86, 75), (196, 156, 148), \n", + " (227, 119, 194), (247, 182, 210), (127, 127, 127), (199, 199, 199), \n", + " (188, 189, 34), (219, 219, 141), (23, 190, 207), (158, 218, 229)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Pascal VOC dataset\n", + "\n", + "Check the Pascal VOC pipeline and associated TFRecords files." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dataset: /media/paul/DataExt4/PascalVOC/dataset/voc_2007_test.tfrecord | 4952\n" + ] + } + ], + "source": [ + "from datasets import pascalvoc_2007\n", + "from datasets import pascalvoc_2012\n", + "\n", + "DATASET_DIR = '/media/paul/DataExt4/PascalVOC/dataset/'\n", + "SPLIT_NAME = 'test'\n", + "BATCH_SIZE = 16\n", + "\n", + "# Dataset provider loading data from the dataset.\n", + "dataset = pascalvoc_2007.get_split(SPLIT_NAME, DATASET_DIR)\n", + "provider = slim.dataset_data_provider.DatasetDataProvider(dataset, \n", + " shuffle=False,\n", + "# num_epochs=1,\n", + " common_queue_capacity=2 * BATCH_SIZE,\n", + " common_queue_min=BATCH_SIZE)\n", + "[image, shape, bboxes, labels] = provider.get(['image', 'shape', 'object/bbox', 'object/label'])\n", + "print('Dataset:', dataset.data_sources, '|', dataset.num_samples)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# images = tf.train.batch(\n", + "# [image_crop],\n", + "# batch_size=BATCH_SIZE,\n", + "# num_threads=1,\n", + "# capacity=5 * BATCH_SIZE)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Original vs crop: (?, ?, 3) (250, 250, 3)\n" + ] + } + ], + "source": [ + "# Problem: image shape is not fully defined => random crop with deterministic size.\n", + "xy = tf.random_uniform((2, ), minval=0, maxval=shape[0] // 3, dtype=tf.int64)\n", + "image_crop = tf.slice(image, [0, 0, 0], [250, 250, 3])\n", + "\n", + "print('Original vs crop:', image.get_shape(), image_crop.get_shape())" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# with queues.QueueRunners(sess):\n", + "# Start populating queues.\n", + "coord = tf.train.Coordinator()\n", + "threads = tf.train.start_queue_runners(coord=coord)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Draw groundtruth bounding boxes using TF routine.\n", + "image_bboxes = tf.squeeze(tf.image.draw_bounding_boxes(tf.expand_dims(tf.to_float(image) / 255., 0), \n", + " tf.expand_dims(bboxes, 0)))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Image shape: (500, 353, 3) [500 353 3]\n", + "Bounding boxes: [[ 0.47999999 0.13597734 0.74199998 0.55240792]\n", + " [ 0.024 0.02266289 0.99599999 0.99716711]]\n", + "Labels: [12 15]\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nxaLWOBphDbYNMWm5di+VhFNRxd+Yjsa25HZNH+HkI845Xr+643Ac8aNnfzigmo5uIykTr1+/5vj0\nHjcojMqsNluSUVzd3JKyI46Rh90Dx15Yp0rLwnjdSuXsVmu+/vobWtdBC9fbK1JKPB0euL0WL57+\nxO/tvydhMCYXZq0sjnOKdK0lFc1RmJP1YxTlkBkanynxyybIy7mXNX92jlgst58fg38y7ZMxXGdx\nnBdXDGWyrbGpxVuQSfZS2FMmCmH4BGJMNM5KdWLAWT11IldKh4QQFoaxeEFnLvn5hU2TfhnISimU\nriyuwhCq11MUrYHJgFQjUlfRoitYj16oSItzz57RbOREwLTko+UL6BKhHcdcRHtKHGfZ5Jmf1zPL\nxXOrrPbLDl/m9vNVWIX3LvY9S1m4oON/bHVYYZGc53tv1ivWmw3KiCcD0GnNeOq53m5ZbbfYxjGO\no6ipKylJkyIYFENVuS8QVkqRzlnSqOn7fipD03tP224m6rki0TYG0ziU0TjX0DQWH3pszljnUDnR\n5Iyu9atyRhlNW9QgTKbEuuQGlRb26ez7pjmBO2spX5FkAjW6aCLGPCUsq+rVxEwcPa5CdylhGoe2\nYriX8kraSRkQZ1tRqchZZJmyxLKMcSTmEhtai2q+1IKbF04pz/0wFqbiJBNVtBVznjUTU0pCFc+S\npJ18mKpLN8aiUiYgk3gKCnIiKVvGtXSGqq8XfCLplq5dkWNm9EfGU8+qkQrIx92Oh90Dqm1prDz7\nZtVy+9lr/vD1gZwM2oj6xTff3fOrX/6SZtXwm8//ajJc33z1FcZYPv/yl4xj4Lg/cH31ijB69k87\n7u7uuHt9w9Efp4WJazu+/OyX/L7/e6LvBSOcEA0pG6S1qLgANNZNSiE6aI7HIzFJQvLFCL0YT8/H\nS35hjNbtdTz9o7SfsMJ9poT3R3pen4bhqsaI8nNxJ89o6R+I5yzJHTLR5ckQgSgXjKNktDdNw3a7\n5YcfJHjbtu20AlomJWc1G8qlN7SMOdU42hldv/aunM4m5jrYpYjleVzskoaulJLcJ7VQqY+zQnz1\nxi7p+jkvy6/IPimnCXa81GCsz2o2Eov3Uo3TZWdTnOXNfWCtMR3/+bZz41W3LT+fjrvYLooVkvuS\nRkkWDaeBN2/ezILIHu7v7xnGkfV6y93dHSkl1ldrbq6up+OchiNPj+/ZH/eM+0eenh5YO43RLXEQ\n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\nekKCq5tneDceyjraCO4vz1mvFvixx9iW4foZu+0lb33lDf7B3/9P+PCd9/nHv/VPAPjmn73PlUu8\n9MbXcEJRa8vgywJjdIF20bA8uaAbMkJNenrJYLIhDh5FRqrIkw++z5/+wf/Nzbtn/PY/+eekMfCl\nV4rw7wfvv4/SFX/+3nv86+9+k05WVO1jjK2R7bJkJSlgK8XVh6VUqJLE2DV1c8K2v6HbPsdUikWt\nCLvEfrsDbZjX2coahBIkbWirBj86vBuo6gZpKiSZ7WbDajHx14xBySKBVi9qzk7O2V5dsttu2G1v\nsNYWWayYDj++WS9yBnhUVUVrV4ydxvc7xmEgRH/r/qBLv9elhIwJm0qWbYyhqc9ZKcXp6SmjKur1\nAFW9LtB5UXzh6kXNft+TkkHVliQL3++W91Vxs7kiI6ltje97os64sfRTXUic2Jo0u3ZLyfm9c6Q2\nk95fKkaWQxEKtjISpoWXnj3HRGaxXJJjkX1bLNfs9j0pFBfvy8tnJDewaO30nHuGzQ5jwaoS1KQt\nRHIfBUIphFCkCcl4enqOrhfst7ti/FvWsGhbstOUMz6E4ugwtSdcGAk5HOaHuR/3447PVeCCu6CH\nF8ddAMVdtfiZm3W7n/kzJWgdl+Fe3OY40MzHMOsJzo67LyLf4BY5mPOkZj+9r2ZDTCVvAQGplP8O\nE7GAmDJSTJYogEgFnVb2UX57cchAQEjD6Ed8cJADX/u5N/n1v/UNXv7CI8ahrGouzpaFGa/MtKIp\niD6jituvzBmVoJ6sfENwJehICdoQvWfIA0oZhLKE0YEqJTWALIrhpdaSNKWwWtuS1cCBuxVThHRk\ncjZdlxl8kmc1k1nXMR+DYYr/WM7xEAjnzCvnWzPJGb0ncj4kbDnniYsjD9vEGDFKUVtzyHZjnp+L\nqfmdIkMoPa3g/AQOkYdmvRCalAIxF4fnEBIiwup8DdoghKLvE7Vt6KY+SQ6G/TbgQ6FJ1DKT4oBC\n45Mvavoi0J6V2r+RAro9udtih46XHt3j0Vff5t/80R/AkLl57vmXv/sdno9lAs8na3bZIdFEN3Ld\nPSVNHKFmcYKqNSEZzk9Pmf0zY1+IsgRNTOB15v3nH/Hf/MY/hHHg3fef0vcj62o5PR+RKCucqegX\n96nWF5ytHqLNEi8ERpXvdvs97TQh11KxOnuMwJKTZxyuqJo1GYHVhqZqMVpi7OSNliXbfsBlwdpY\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Eval and display the image + bboxes.\n", + "rimg, rshape, rbboxes, rlabels = isess.run([image_bboxes, shape, bboxes, labels])\n", + "\n", + "print('Image shape:', rimg.shape, rshape)\n", + "print('Bounding boxes:', rbboxes)\n", + "print('Labels:', rlabels)\n", + "\n", + "fig = plt.figure(figsize = (10,10))\n", + "plt.imshow(rimg)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Test SSD-300 model using TFRecords pipeline\n", + "\n", + "Restore model and test it on some random images coming from Pascal TFRecords." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from nets import ssd_vgg_300\n", + "from nets import ssd_vgg_512\n", + "from nets import ssd_common\n", + "\n", + "from preprocessing import ssd_vgg_preprocessing\n", + "\n", + "ckpt_filename = '/media/paul/DataExt4/PascalVOC/training/ckpts/SSD_300x300_ft/ssd_300_vgg.ckpt'\n", + "# ckpt_filename = '/media/paul/DataExt4/PascalVOC/training/ckpts/SSD_512x512_ft/ssd_512_vgg.ckpt'\n", + "# ckpt_filename = '/home/paul/Development/Research/SSD-Tensorflow/logs/ssd_300_vgg_2/model.ckpt-148624'" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1, 38, 38, 512)\n", + "(512,)\n", + "(1, 38, 38, 512)\n", + "(1, 19, 19, 1024)\n", + "(1, 10, 10, 512)\n", + "(1, 5, 5, 256)\n", + "(1, 3, 3, 256)\n", + "(1, 1, 1, 256)\n" + ] + } + ], + "source": [ + "# SSD object.\n", + "reuse = True if 'ssd' in locals() else None\n", + "params = ssd_vgg_300.SSDNet.default_params\n", + "ssd = ssd_vgg_300.SSDNet(params)\n", + "\n", + "# Image pre-processimg\n", + "out_shape = ssd.params.img_shape\n", + "image_pre, labels_pre, bboxes_pre, bbox_img = \\\n", + " ssd_vgg_preprocessing.preprocess_for_eval(image, labels, bboxes, out_shape, \n", + " resize=ssd_vgg_preprocessing.Resize.CENTRAL_CROP)\n", + "image_4d = tf.expand_dims(image_pre, 0)\n", + "\n", + "# SSD construction.\n", + "with slim.arg_scope(ssd.arg_scope(weight_decay=0.0005)):\n", + " predictions, localisations, logits, end_points = ssd.net(image_4d, is_training=False, reuse=reuse)\n", + " \n", + "# SSD default anchor boxes.\n", + "img_shape = out_shape\n", + "layers_anchors = ssd.anchors(img_shape, dtype=np.float32)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "block1 (1, 300, 300, 64)\n", + "block10 (1, 3, 3, 256)\n", + "block11 (1, 1, 1, 256)\n", + "block2 (1, 150, 150, 128)\n", + "block3 (1, 75, 75, 256)\n", + "block4 (1, 38, 38, 512)\n", + "block5 (1, 19, 19, 512)\n", + "block6 (1, 19, 19, 1024)\n", + "block7 (1, 19, 19, 1024)\n", + "block8 (1, 10, 10, 512)\n", + "block9 (1, 5, 5, 256)\n" + ] + } + ], + "source": [ + "for k in sorted(end_points.keys()):\n", + " print(k, end_points[k].get_shape())" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Targets encoding.\n", + "target_labels, target_localizations, target_scores = \\\n", + " ssd_common.tf_ssd_bboxes_encode(labels, bboxes_pre, layers_anchors, \n", + " num_classes=params.num_classes, no_annotation_label=params.no_annotation_label)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "module 'nets.ssd_common' has no attribute 'tf_bboxes_sort'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mlocalisations\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mssd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbboxes_decode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlocalisations\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlayers_anchors\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mtclasses\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtscores\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtbboxes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mssd_common\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtf_ssd_bboxes_select\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpredictions\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlocalisations\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mtclasses\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtscores\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtbboxes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mssd_common\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtf_bboxes_sort\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtclasses\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtscores\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtbboxes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtop_k\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m400\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m tclasses, tscores, tbboxes = ssd_common.tf_bboxes_nms_batch(tclasses, tscores, tbboxes,\n\u001b[1;32m 8\u001b[0m nms_threshold=0.3, num_classes=ssd.params.num_classes)\n", + "\u001b[0;31mAttributeError\u001b[0m: module 'nets.ssd_common' has no attribute 'tf_bboxes_sort'" + ] + } + ], + "source": [ + "nms_threshold = 0.5\n", + "\n", + "# Output decoding.\n", + "localisations = ssd.bboxes_decode(localisations, layers_anchors)\n", + "tclasses, tscores, tbboxes = ssd_common.tf_ssd_bboxes_select(predictions, localisations)\n", + "tclasses, tscores, tbboxes = ssd_common.tf_bboxes_sort(tclasses, tscores, tbboxes, top_k=400)\n", + "tclasses, tscores, tbboxes = ssd_common.tf_bboxes_nms_batch(tclasses, tscores, tbboxes,\n", + " nms_threshold=0.3, num_classes=ssd.params.num_classes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Initialize variables.\n", + "init_op = tf.global_variables_initializer()\n", + "isess.run(init_op)\n", + "# Restore SSD model.\n", + "saver = tf.train.Saver()\n", + "saver.restore(isess, ckpt_filename)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Run model.\n", + "[rimg, rpredictions, rlocalisations, rclasses, rscores, rbboxes, glabels, gbboxes, rbbox_img, rt_labels, rt_localizations, rt_scores] = \\\n", + " isess.run([image_4d, predictions, localisations, tclasses, tscores, tbboxes,\n", + " labels, bboxes_pre, bbox_img, \n", + " target_labels, target_localizations, target_scores])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def bboxes_select(classes, scores, bboxes, threshold=0.1):\n", + " \"\"\"Sort bounding boxes by decreasing order and keep only the top_k\n", + " \"\"\"\n", + " mask = scores > threshold\n", + " classes = classes[mask]\n", + " scores = scores[mask]\n", + " bboxes = bboxes[mask]\n", + " return classes, scores, bboxes\n", + "\n", + "print(rclasses, rscores)\n", + "print(rscores.shape)\n", + "\n", + "rclasses, rscores, rbboxes = bboxes_select(rclasses, rscores, rbboxes, 0.1)\n", + "# print(list(zip(rclasses, rscores)))\n", + "# print(rbboxes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# # Compute classes and bboxes from the net outputs.\n", + "# rclasses, rscores, rbboxes,_,_ = ssd_common.ssd_bboxes_select(rpredictions, rlocalisations, layers_anchors,\n", + "# threshold=0.3, img_shape=img_shape, \n", + "# num_classes=21, decode=True)\n", + "# rbboxes = ssd_common.bboxes_clip(rbbox_img, rbboxes)\n", + "# rclasses, rscores, rbboxes = ssd_common.bboxes_sort(rclasses, rscores, rbboxes, top_k=400, priority_inside=False)\n", + "# rclasses, rscores, rbboxes = ssd_common.bboxes_nms(rclasses, rscores, rbboxes, threshold=0.3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [], + "source": [ + "# Draw bboxes\n", + "img_bboxes = np.copy(ssd_vgg_preprocessing.np_image_unwhitened(rimg[0]))\n", + "bboxes_draw_on_img(img_bboxes, rclasses, rscores, rbboxes, colors_tableau, thickness=1)\n", + "# bboxes_draw_on_img(img_bboxes, glabels, np.zeros_like(glabels), gbboxes, colors_tableau, thickness=1)\n", + "# bboxes_draw_on_img(img_bboxes, test_labels, test_scores, test_bboxes, colors_tableau, thickness=1)\n", + "\n", + "print('Labels / scores:', list(zip(rclasses, rscores)))\n", + "print('Grountruth labels:', list(glabels))\n", + "print(gbboxes)\n", + "print(rbboxes)\n", + "\n", + "fig = plt.figure(figsize = (10,10))\n", + "plt.imshow(img_bboxes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "import tf_extended as tfe\n", + "\n", + "isess.run(ssd_common.tf_bboxes_jaccard(gbboxes[0], rbboxes))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "test_bboxes = []\n", + "test_labels = []\n", + "test_scores = []\n", + "for i in range(0, 3):\n", + " yref, xref, href, wref = layers_anchors[i]\n", + " ymin = yref - href / 2.\n", + " xmin = xref - wref / 2.\n", + " ymax = yref + href / 2.\n", + " xmax = xref + wref / 2.\n", + " bb = np.stack([ymin, xmin, ymax, xmax], axis=-1)\n", + " \n", + " idx = yref.shape[0] // 2\n", + " idx = np.random.randint(yref.shape[0])\n", + "# print(bb[idx, idx].shape)\n", + " test_bboxes.append(bb[idx, idx])\n", + " test_labels.append(np.ones(href.shape, dtype=np.int64) * i)\n", + " test_scores.append(np.ones(href.shape))\n", + "\n", + "test_bboxes = np.concatenate(test_bboxes)\n", + "test_labels = np.concatenate(test_labels)\n", + "test_scores = np.concatenate(test_scores)\n", + "\n", + "print(test_bboxes.shape)\n", + "print(test_labels.shape)\n", + "print(test_scores.shape)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "rt_labels, rt_localizations, rt_scores\n", + "for i in range(len(rt_labels)):\n", + " print(rt_labels[i].shape)\n", + " idxes = np.where(rt_labels[i] > 0)\n", + "# idxes = np.where(rt_scores[i] > 0.)\n", + " print(idxes)\n", + " print(rt_localizations[i][idxes])\n", + " print(list(zip(rt_labels[i][idxes], rt_scores[i][idxes])))\n", + " print()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# fig = plt.figure(figsize = (8,8))\n", + "# plt.imshow(ssd_preprocessing.np_image_unwhitened(rimg[0]))\n", + "# print('Ground truth labels: ', rlabels)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Request threads to stop. Just to avoid error messages\n", + "# coord.request_stop()\n", + "# coord.join(threads)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "PleaseStopHere;" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Test SSD-300 model using sample images\n", + "\n", + "Restore model and test it on some sample images." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# Input placeholder.\n", + "net_shape = (300, 300)\n", + "img_input = tf.placeholder(tf.uint8, shape=(None, None, 3))\n", + "image_pre, labels_pre, bboxes_pre, bbox_img = ssd_preprocessing.preprocess_for_eval(\n", + " img_input, labels, None, net_shape, resize=ssd_preprocessing.Resize.PAD_AND_RESIZE)\n", + "image_4d = tf.expand_dims(image_pre, 0)\n", + "\n", + "# Re-define the model\n", + "reuse = True if 'ssd' in locals() else None\n", + "with slim.arg_scope(ssd.arg_scope(weight_decay=0.0005)):\n", + " predictions, localisations, logits, end_points = ssd.net(image_4d, is_training=False, reuse=reuse)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Main processing routine.\n", + "def process_image(img, select_threshold=0.5, nms_threshold=0.35, net_shape=(300, 300)):\n", + " # Run SSD network.\n", + " rimg, rpredictions, rlocalisations, rbbox_img = isess.run([image_4d, predictions, localisations, bbox_img],\n", + " feed_dict={img_input: img})\n", + " # Compute classes and bboxes from the net outputs.\n", + " rclasses, rscores, rbboxes, rlayers, ridxes = ssd_common.ssd_bboxes_select(\n", + " rpredictions, rlocalisations, layers_anchors,\n", + " threshold=select_threshold, img_shape=net_shape, num_classes=21, decode=True)\n", + "# print(list(zip(classes, scores)))\n", + "# print(rlayers)\n", + "# print(ridxes)\n", + " \n", + " rbboxes = ssd_common.bboxes_clip(rbbox_img, rbboxes)\n", + " rclasses, rscores, rbboxes = ssd_common.bboxes_sort(rclasses, rscores, rbboxes, \n", + " top_k=400, priority_inside=True, margin=0.0)\n", + " rclasses, rscores, rbboxes = ssd_common.bboxes_nms(rclasses, rscores, rbboxes, threshold=nms_threshold)\n", + " # Resize bboxes to original image shape.\n", + " rbboxes = ssd_common.bboxes_resize(rbbox_img, rbboxes)\n", + " return rclasses, rscores, rbboxes\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [], + "source": [ + "# Test on demo images.\n", + "path = '../demo/'\n", + "image_names = sorted(os.listdir(path))\n", + "img = mpimg.imread(path + image_names[-3])\n", + "\n", + "rclasses, rscores, rbboxes = process_image(img)\n", + "\n", + "# Draw results.\n", + "img_bboxes = np.copy(img)\n", + "bboxes_draw_on_img(img_bboxes, rclasses, rscores, rbboxes, colors_tableau, thickness=2)\n", + "\n", + "fig = plt.figure(figsize = (12, 12))\n", + "plt.imshow(img_bboxes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "idxes = np.where(inside)\n", + "rscores[idxes]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "## Some TensorFlow tests..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "a = tf.constant([[5.0, 2], [5.0, 2]])\n", + "b = tf.constant([5.0, 2])\n", + "c = a * b\n", + "d = tf.nn.l2_normalize(a, dim=1)\n", + "# We can just use 'c.eval()' without passing 'sess'\n", + "print(d.eval())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## A few tests on Caffe model files..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "from pprint import pprint\n", + "\n", + "import caffe\n", + "import numpy as np\n", + "from caffe.proto import caffe_pb2\n", + "\n", + "caffe_filename = '/media/paul/DataExt4/PascalVOC/training/ckpts/SSD_300x300_ft/ssd_300_vgg.caffemodel'\n", + "caffe_filename = '/media/paul/DataExt4/PascalVOC/training/ckpts/SSD_512x512_ft/ssd_512_vgg.caffemodel'\n", + "\n", + "caffemodel_params = caffe_pb2.NetParameter()\n", + "caffemodel_str = open(caffe_filename, 'rb').read()\n", + "caffemodel_params.ParseFromString(caffemodel_str)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [], + "source": [ + "layers = caffemodel_params.layer\n", + "names = [(i, l.name, l.type, l.blobs[0].shape.dim if len(l.blobs) else 0) for i, l in enumerate(layers)]\n", + "pprint(names)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "idx = 2\n", + "layer = layers[idx]\n", + "print(layer.type)\n", + "a = np.array(layer.blobs[0].data)\n", + "s = layer.blobs[0].shape.dim\n", + "print(s, 38*38)\n", + "# print(a)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from nets import caffe_scope" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "csc = caffe_scope.CaffeScope()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "d = {}\n", + "d[csc.conv_biases_init] = 0\n", + "d[csc.conv_biases_init] += 1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "min_dim = 300\n", + "mbox_source_layers = ['conv4_3', 'fc7', 'conv6_2', 'conv7_2', 'conv8_2', 'conv9_2']\n", + "min_ratio = 15\n", + "max_ratio = 90\n", + "step = int(math.floor((max_ratio - min_ratio) / (len(mbox_source_layers) - 2)))\n", + "min_sizes = []\n", + "max_sizes = []\n", + "for ratio in range(min_ratio, max_ratio + 1, step):\n", + " min_sizes.append(min_dim * ratio / 100.)\n", + " max_sizes.append(min_dim * (ratio + step) / 100.)\n", + "min_sizes = [min_dim * 7 / 100.] + min_sizes\n", + "max_sizes = [min_dim * 15 / 100.] + max_sizes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "print(min_sizes)\n", + "print(max_sizes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "feat_shapes=[(38, 38), (19, 19), (10, 10), (5, 5), (3, 3), (1, 1)]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "steps = [8, 16, 32, 64, 100, 300]\n", + "offset = 0.5" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "for i in range(len(steps)):\n", + " print((feat_shapes[i][0] - offset) * steps[i] / 300, (feat_shapes[i][0] - offset) / feat_shapes[i][0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "min_dim = 512\n", + "# conv4_3 ==> 64 x 64\n", + "# fc7 ==> 32 x 32\n", + "# conv6_2 ==> 16 x 16\n", + "# conv7_2 ==> 8 x 8\n", + "# conv8_2 ==> 4 x 4\n", + "# conv9_2 ==> 2 x 2\n", + "# conv10_2 ==> 1 x 1\n", + "mbox_source_layers = ['conv4_3', 'fc7', 'conv6_2', 'conv7_2', 'conv8_2', 'conv9_2', 'conv10_2']\n", + "# in percent %\n", + "min_ratio = 10\n", + "max_ratio = 90\n", + "step = int(math.floor((max_ratio - min_ratio) / (len(mbox_source_layers) - 2)))\n", + "min_sizes = []\n", + "max_sizes = []\n", + "for ratio in range(min_ratio, max_ratio + 1, step):\n", + " min_sizes.append(min_dim * ratio / 100.)\n", + " max_sizes.append(min_dim * (ratio + step) / 100.)\n", + "min_sizes = [min_dim * 4 / 100.] + min_sizes\n", + "max_sizes = [min_dim * 10 / 100.] + max_sizes\n", + "steps = [8, 16, 32, 64, 128, 256, 512]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "print(min_sizes)\n", + "print(max_sizes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "pprint(list(zip(min_sizes, max_sizes)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [default]", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/visualization.py b/notebooks/visualization.py new file mode 100644 index 0000000..227655d --- /dev/null +++ b/notebooks/visualization.py @@ -0,0 +1,114 @@ +# Copyright 2017 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +import cv2 +import random + +import matplotlib.pyplot as plt +import matplotlib.image as mpimg +import matplotlib.cm as mpcm + + +# =========================================================================== # +# Some colormaps. +# =========================================================================== # +def colors_subselect(colors, num_classes=21): + dt = len(colors) // num_classes + sub_colors = [] + for i in range(num_classes): + color = colors[i*dt] + if isinstance(color[0], float): + sub_colors.append([int(c * 255) for c in color]) + else: + sub_colors.append([c for c in color]) + return sub_colors + +colors_plasma = colors_subselect(mpcm.plasma.colors, num_classes=21) +colors_tableau = [(255, 255, 255), (31, 119, 180), (174, 199, 232), (255, 127, 14), (255, 187, 120), + (44, 160, 44), (152, 223, 138), (214, 39, 40), (255, 152, 150), + (148, 103, 189), (197, 176, 213), (140, 86, 75), (196, 156, 148), + (227, 119, 194), (247, 182, 210), (127, 127, 127), (199, 199, 199), + (188, 189, 34), (219, 219, 141), (23, 190, 207), (158, 218, 229)] + + +# =========================================================================== # +# OpenCV drawing. +# =========================================================================== # +def draw_lines(img, lines, color=[255, 0, 0], thickness=2): + """Draw a collection of lines on an image. + """ + for line in lines: + for x1, y1, x2, y2 in line: + cv2.line(img, (x1, y1), (x2, y2), color, thickness) + + +def draw_rectangle(img, p1, p2, color=[255, 0, 0], thickness=2): + cv2.rectangle(img, p1[::-1], p2[::-1], color, thickness) + + +def draw_bbox(img, bbox, shape, label, color=[255, 0, 0], thickness=2): + p1 = (int(bbox[0] * shape[0]), int(bbox[1] * shape[1])) + p2 = (int(bbox[2] * shape[0]), int(bbox[3] * shape[1])) + cv2.rectangle(img, p1[::-1], p2[::-1], color, thickness) + p1 = (p1[0]+15, p1[1]) + cv2.putText(img, str(label), p1[::-1], cv2.FONT_HERSHEY_DUPLEX, 0.5, color, 1) + + +def bboxes_draw_on_img(img, classes, scores, bboxes, colors, thickness=2): + shape = img.shape + for i in range(bboxes.shape[0]): + bbox = bboxes[i] + color = colors[classes[i]] + # Draw bounding box... + p1 = (int(bbox[0] * shape[0]), int(bbox[1] * shape[1])) + p2 = (int(bbox[2] * shape[0]), int(bbox[3] * shape[1])) + cv2.rectangle(img, p1[::-1], p2[::-1], color, thickness) + # Draw text... + s = '%s/%.3f' % (classes[i], scores[i]) + p1 = (p1[0]-5, p1[1]) + cv2.putText(img, s, p1[::-1], cv2.FONT_HERSHEY_DUPLEX, 0.4, color, 1) + + +# =========================================================================== # +# Matplotlib show... +# =========================================================================== # +def plt_bboxes(img, classes, scores, bboxes, figsize=(10,10), linewidth=1.5): + """Visualize bounding boxes. Largely inspired by SSD-MXNET! + """ + fig = plt.figure(figsize=figsize) + plt.imshow(img) + height = img.shape[0] + width = img.shape[1] + colors = dict() + for i in range(classes.shape[0]): + cls_id = int(classes[i]) + if cls_id >= 0: + score = scores[i] + if cls_id not in colors: + colors[cls_id] = (random.random(), random.random(), random.random()) + ymin = int(bboxes[i, 0] * height) + xmin = int(bboxes[i, 1] * width) + ymax = int(bboxes[i, 2] * height) + xmax = int(bboxes[i, 3] * width) + rect = plt.Rectangle((xmin, ymin), xmax - xmin, + ymax - ymin, fill=False, + edgecolor=colors[cls_id], + linewidth=linewidth) + plt.gca().add_patch(rect) + class_name = str(cls_id) + plt.gca().text(xmin, ymin - 2, + '{:s} | {:.3f}'.format(class_name, score), + bbox=dict(facecolor=colors[cls_id], alpha=0.5), + fontsize=12, color='white') + plt.show() diff --git a/pictures/ex1.png b/pictures/ex1.png new file mode 100644 index 0000000..b5add83 Binary files /dev/null and b/pictures/ex1.png differ diff --git a/pictures/ex2.png b/pictures/ex2.png new file mode 100644 index 0000000..c887b27 Binary files /dev/null and b/pictures/ex2.png differ diff --git a/pip.txt b/pip.txt new file mode 100644 index 0000000..380c9dc --- /dev/null +++ b/pip.txt @@ -0,0 +1,4 @@ +tensorflow==1.15 +jupyter +opencv-contrib-python + diff --git a/preprocessing/__init__.py b/preprocessing/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/preprocessing/__init__.py @@ -0,0 +1 @@ + diff --git a/preprocessing/inception_preprocessing.py b/preprocessing/inception_preprocessing.py new file mode 100644 index 0000000..3a17a7f --- /dev/null +++ b/preprocessing/inception_preprocessing.py @@ -0,0 +1,301 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides utilities to preprocess images for the Inception networks.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +from tensorflow.python.ops import control_flow_ops + + +def apply_with_random_selector(x, func, num_cases): + """Computes func(x, sel), with sel sampled from [0...num_cases-1]. + + Args: + x: input Tensor. + func: Python function to apply. + num_cases: Python int32, number of cases to sample sel from. + + Returns: + The result of func(x, sel), where func receives the value of the + selector as a python integer, but sel is sampled dynamically. + """ + sel = tf.random_uniform([], maxval=num_cases, dtype=tf.int32) + # Pass the real x only to one of the func calls. + return control_flow_ops.merge([ + func(control_flow_ops.switch(x, tf.equal(sel, case))[1], case) + for case in range(num_cases)])[0] + + +def distort_color(image, color_ordering=0, fast_mode=True, scope=None): + """Distort the color of a Tensor image. + + Each color distortion is non-commutative and thus ordering of the color ops + matters. Ideally we would randomly permute the ordering of the color ops. + Rather then adding that level of complication, we select a distinct ordering + of color ops for each preprocessing thread. + + Args: + image: 3-D Tensor containing single image in [0, 1]. + color_ordering: Python int, a type of distortion (valid values: 0-3). + fast_mode: Avoids slower ops (random_hue and random_contrast) + scope: Optional scope for name_scope. + Returns: + 3-D Tensor color-distorted image on range [0, 1] + Raises: + ValueError: if color_ordering not in [0, 3] + """ + with tf.name_scope(scope, 'distort_color', [image]): + if fast_mode: + if color_ordering == 0: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + else: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + else: + if color_ordering == 0: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + elif color_ordering == 1: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + elif color_ordering == 2: + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + elif color_ordering == 3: + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + else: + raise ValueError('color_ordering must be in [0, 3]') + + # The random_* ops do not necessarily clamp. + return tf.clip_by_value(image, 0.0, 1.0) + + +def distorted_bounding_box_crop(image, + bbox, + min_object_covered=0.1, + aspect_ratio_range=(0.75, 1.33), + area_range=(0.05, 1.0), + max_attempts=100, + scope=None): + """Generates cropped_image using a one of the bboxes randomly distorted. + + See `tf.image.sample_distorted_bounding_box` for more documentation. + + Args: + image: 3-D Tensor of image (it will be converted to floats in [0, 1]). + bbox: 3-D float Tensor of bounding boxes arranged [1, num_boxes, coords] + where each coordinate is [0, 1) and the coordinates are arranged + as [ymin, xmin, ymax, xmax]. If num_boxes is 0 then it would use the whole + image. + min_object_covered: An optional `float`. Defaults to `0.1`. The cropped + area of the image must contain at least this fraction of any bounding box + supplied. + aspect_ratio_range: An optional list of `floats`. The cropped area of the + image must have an aspect ratio = width / height within this range. + area_range: An optional list of `floats`. The cropped area of the image + must contain a fraction of the supplied image within in this range. + max_attempts: An optional `int`. Number of attempts at generating a cropped + region of the image of the specified constraints. After `max_attempts` + failures, return the entire image. + scope: Optional scope for name_scope. + Returns: + A tuple, a 3-D Tensor cropped_image and the distorted bbox + """ + with tf.name_scope(scope, 'distorted_bounding_box_crop', [image, bbox]): + # Each bounding box has shape [1, num_boxes, box coords] and + # the coordinates are ordered [ymin, xmin, ymax, xmax]. + + # A large fraction of image datasets contain a human-annotated bounding + # box delineating the region of the image containing the object of interest. + # We choose to create a new bounding box for the object which is a randomly + # distorted version of the human-annotated bounding box that obeys an + # allowed range of aspect ratios, sizes and overlap with the human-annotated + # bounding box. If no box is supplied, then we assume the bounding box is + # the entire image. + sample_distorted_bounding_box = tf.image.sample_distorted_bounding_box( + tf.shape(image), + bounding_boxes=bbox, + min_object_covered=min_object_covered, + aspect_ratio_range=aspect_ratio_range, + area_range=area_range, + max_attempts=max_attempts, + use_image_if_no_bounding_boxes=True) + bbox_begin, bbox_size, distort_bbox = sample_distorted_bounding_box + + # Crop the image to the specified bounding box. + cropped_image = tf.slice(image, bbox_begin, bbox_size) + return cropped_image, distort_bbox + + +def preprocess_for_train(image, height, width, bbox, + fast_mode=True, scope=None): + """Distort one image for training a network. + + Distorting images provides a useful technique for augmenting the data + set during training in order to make the network invariant to aspects + of the image that do not effect the label. + + Additionally it would create image_summaries to display the different + transformations applied to the image. + + Args: + image: 3-D Tensor of image. If dtype is tf.float32 then the range should be + [0, 1], otherwise it would converted to tf.float32 assuming that the range + is [0, MAX], where MAX is largest positive representable number for + int(8/16/32) data type (see `tf.image.convert_image_dtype` for details). + height: integer + width: integer + bbox: 3-D float Tensor of bounding boxes arranged [1, num_boxes, coords] + where each coordinate is [0, 1) and the coordinates are arranged + as [ymin, xmin, ymax, xmax]. + fast_mode: Optional boolean, if True avoids slower transformations (i.e. + bi-cubic resizing, random_hue or random_contrast). + scope: Optional scope for name_scope. + Returns: + 3-D float Tensor of distorted image used for training with range [-1, 1]. + """ + with tf.name_scope(scope, 'distort_image', [image, height, width, bbox]): + if bbox is None: + bbox = tf.constant([0.0, 0.0, 1.0, 1.0], + dtype=tf.float32, + shape=[1, 1, 4]) + if image.dtype != tf.float32: + image = tf.image.convert_image_dtype(image, dtype=tf.float32) + # Each bounding box has shape [1, num_boxes, box coords] and + # the coordinates are ordered [ymin, xmin, ymax, xmax]. + image_with_box = tf.image.draw_bounding_boxes(tf.expand_dims(image, 0), + bbox) + tf.image_summary('image_with_bounding_boxes', image_with_box) + + distorted_image, distorted_bbox = distorted_bounding_box_crop(image, bbox) + # Restore the shape since the dynamic slice based upon the bbox_size loses + # the third dimension. + distorted_image.set_shape([None, None, 3]) + image_with_distorted_box = tf.image.draw_bounding_boxes( + tf.expand_dims(image, 0), distorted_bbox) + tf.image_summary('images_with_distorted_bounding_box', + image_with_distorted_box) + + # This resizing operation may distort the images because the aspect + # ratio is not respected. We select a resize method in a round robin + # fashion based on the thread number. + # Note that ResizeMethod contains 4 enumerated resizing methods. + + # We select only 1 case for fast_mode bilinear. + num_resize_cases = 1 if fast_mode else 4 + distorted_image = apply_with_random_selector( + distorted_image, + lambda x, method: tf.image.resize_images(x, [height, width], method), + num_cases=num_resize_cases) + + tf.image_summary('cropped_resized_image', + tf.expand_dims(distorted_image, 0)) + + # Randomly flip the image horizontally. + distorted_image = tf.image.random_flip_left_right(distorted_image) + + # Randomly distort the colors. There are 4 ways to do it. + distorted_image = apply_with_random_selector( + distorted_image, + lambda x, ordering: distort_color(x, ordering, fast_mode), + num_cases=4) + + tf.image_summary('final_distorted_image', + tf.expand_dims(distorted_image, 0)) + distorted_image = tf.sub(distorted_image, 0.5) + distorted_image = tf.mul(distorted_image, 2.0) + return distorted_image + + +def preprocess_for_eval(image, height, width, + central_fraction=0.875, scope=None): + """Prepare one image for evaluation. + + If height and width are specified it would output an image with that size by + applying resize_bilinear. + + If central_fraction is specified it would cropt the central fraction of the + input image. + + Args: + image: 3-D Tensor of image. If dtype is tf.float32 then the range should be + [0, 1], otherwise it would converted to tf.float32 assuming that the range + is [0, MAX], where MAX is largest positive representable number for + int(8/16/32) data type (see `tf.image.convert_image_dtype` for details) + height: integer + width: integer + central_fraction: Optional Float, fraction of the image to crop. + scope: Optional scope for name_scope. + Returns: + 3-D float Tensor of prepared image. + """ + with tf.name_scope(scope, 'eval_image', [image, height, width]): + if image.dtype != tf.float32: + image = tf.image.convert_image_dtype(image, dtype=tf.float32) + # Crop the central region of the image with an area containing 87.5% of + # the original image. + if central_fraction: + image = tf.image.central_crop(image, central_fraction=central_fraction) + + if height and width: + # Resize the image to the specified height and width. + image = tf.expand_dims(image, 0) + image = tf.image.resize_bilinear(image, [height, width], + align_corners=False) + image = tf.squeeze(image, [0]) + image = tf.sub(image, 0.5) + image = tf.mul(image, 2.0) + return image + + +def preprocess_image(image, height, width, + is_training=False, bbox=None, fast_mode=True): + """Pre-process one image for training or evaluation. + + Args: + image: 3-D Tensor [height, width, channels] with the image. + height: integer, image expected height. + width: integer, image expected width. + is_training: Boolean. If true it would transform an image for train, + otherwise it would transform it for evaluation. + bbox: 3-D float Tensor of bounding boxes arranged [1, num_boxes, coords] + where each coordinate is [0, 1) and the coordinates are arranged as + [ymin, xmin, ymax, xmax]. + fast_mode: Optional boolean, if True avoids slower transformations. + + Returns: + 3-D float Tensor containing an appropriately scaled image + + Raises: + ValueError: if user does not provide bounding box + """ + if is_training: + return preprocess_for_train(image, height, width, bbox, fast_mode) + else: + return preprocess_for_eval(image, height, width) diff --git a/preprocessing/preprocessing_factory.py b/preprocessing/preprocessing_factory.py new file mode 100644 index 0000000..869784d --- /dev/null +++ b/preprocessing/preprocessing_factory.py @@ -0,0 +1,60 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains a factory for building various models.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +# from preprocessing import cifarnet_preprocessing +# from preprocessing import inception_preprocessing +# from preprocessing import vgg_preprocessing + +from preprocessing import ssd_vgg_preprocessing + +slim = tf.contrib.slim + + +def get_preprocessing(name, is_training=False): + """Returns preprocessing_fn(image, height, width, **kwargs). + + Args: + name: The name of the preprocessing function. + is_training: `True` if the model is being used for training. + + Returns: + preprocessing_fn: A function that preprocessing a single image (pre-batch). + It has the following signature: + image = preprocessing_fn(image, output_height, output_width, ...). + + Raises: + ValueError: If Preprocessing `name` is not recognized. + """ + preprocessing_fn_map = { + 'ssd_300_vgg': ssd_vgg_preprocessing, + 'ssd_512_vgg': ssd_vgg_preprocessing, + } + + if name not in preprocessing_fn_map: + raise ValueError('Preprocessing name [%s] was not recognized' % name) + + def preprocessing_fn(image, labels, bboxes, + out_shape, data_format='NHWC', **kwargs): + return preprocessing_fn_map[name].preprocess_image( + image, labels, bboxes, out_shape, data_format=data_format, + is_training=is_training, **kwargs) + return preprocessing_fn diff --git a/preprocessing/ssd_vgg_preprocessing.py b/preprocessing/ssd_vgg_preprocessing.py new file mode 100644 index 0000000..413ad34 --- /dev/null +++ b/preprocessing/ssd_vgg_preprocessing.py @@ -0,0 +1,404 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Pre-processing images for SSD-type networks. +""" +from enum import Enum, IntEnum +import numpy as np + +import tensorflow as tf +import tf_extended as tfe + +from tensorflow.python.ops import control_flow_ops + +from preprocessing import tf_image +from nets import ssd_common + +slim = tf.contrib.slim + +# Resizing strategies. +Resize = IntEnum('Resize', ('NONE', # Nothing! + 'CENTRAL_CROP', # Crop (and pad if necessary). + 'PAD_AND_RESIZE', # Pad, and resize to output shape. + 'WARP_RESIZE')) # Warp resize. + +# VGG mean parameters. +_R_MEAN = 123. +_G_MEAN = 117. +_B_MEAN = 104. + +# Some training pre-processing parameters. +BBOX_CROP_OVERLAP = 0.5 # Minimum overlap to keep a bbox after cropping. +MIN_OBJECT_COVERED = 0.25 +CROP_RATIO_RANGE = (0.6, 1.67) # Distortion ratio during cropping. +EVAL_SIZE = (300, 300) + + +def tf_image_whitened(image, means=[_R_MEAN, _G_MEAN, _B_MEAN]): + """Subtracts the given means from each image channel. + + Returns: + the centered image. + """ + if image.get_shape().ndims != 3: + raise ValueError('Input must be of size [height, width, C>0]') + num_channels = image.get_shape().as_list()[-1] + if len(means) != num_channels: + raise ValueError('len(means) must match the number of channels') + + mean = tf.constant(means, dtype=image.dtype) + image = image - mean + return image + + +def tf_image_unwhitened(image, means=[_R_MEAN, _G_MEAN, _B_MEAN], to_int=True): + """Re-convert to original image distribution, and convert to int if + necessary. + + Returns: + Centered image. + """ + mean = tf.constant(means, dtype=image.dtype) + image = image + mean + if to_int: + image = tf.cast(image, tf.int32) + return image + + +def np_image_unwhitened(image, means=[_R_MEAN, _G_MEAN, _B_MEAN], to_int=True): + """Re-convert to original image distribution, and convert to int if + necessary. Numpy version. + + Returns: + Centered image. + """ + img = np.copy(image) + img += np.array(means, dtype=img.dtype) + if to_int: + img = img.astype(np.uint8) + return img + + +def tf_summary_image(image, bboxes, name='image', unwhitened=False): + """Add image with bounding boxes to summary. + """ + if unwhitened: + image = tf_image_unwhitened(image) + image = tf.expand_dims(image, 0) + bboxes = tf.expand_dims(bboxes, 0) + image_with_box = tf.image.draw_bounding_boxes(image, bboxes) + tf.summary.image(name, image_with_box) + + +def apply_with_random_selector(x, func, num_cases): + """Computes func(x, sel), with sel sampled from [0...num_cases-1]. + + Args: + x: input Tensor. + func: Python function to apply. + num_cases: Python int32, number of cases to sample sel from. + + Returns: + The result of func(x, sel), where func receives the value of the + selector as a python integer, but sel is sampled dynamically. + """ + sel = tf.random_uniform([], maxval=num_cases, dtype=tf.int32) + # Pass the real x only to one of the func calls. + return control_flow_ops.merge([ + func(control_flow_ops.switch(x, tf.equal(sel, case))[1], case) + for case in range(num_cases)])[0] + + +def distort_color(image, color_ordering=0, fast_mode=True, scope=None): + """Distort the color of a Tensor image. + + Each color distortion is non-commutative and thus ordering of the color ops + matters. Ideally we would randomly permute the ordering of the color ops. + Rather then adding that level of complication, we select a distinct ordering + of color ops for each preprocessing thread. + + Args: + image: 3-D Tensor containing single image in [0, 1]. + color_ordering: Python int, a type of distortion (valid values: 0-3). + fast_mode: Avoids slower ops (random_hue and random_contrast) + scope: Optional scope for name_scope. + Returns: + 3-D Tensor color-distorted image on range [0, 1] + Raises: + ValueError: if color_ordering not in [0, 3] + """ + with tf.name_scope(scope, 'distort_color', [image]): + if fast_mode: + if color_ordering == 0: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + else: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + else: + if color_ordering == 0: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + elif color_ordering == 1: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + elif color_ordering == 2: + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + elif color_ordering == 3: + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + else: + raise ValueError('color_ordering must be in [0, 3]') + # The random_* ops do not necessarily clamp. + return tf.clip_by_value(image, 0.0, 1.0) + + +def distorted_bounding_box_crop(image, + labels, + bboxes, + min_object_covered=0.3, + aspect_ratio_range=(0.9, 1.1), + area_range=(0.1, 1.0), + max_attempts=200, + clip_bboxes=True, + scope=None): + """Generates cropped_image using a one of the bboxes randomly distorted. + + See `tf.image.sample_distorted_bounding_box` for more documentation. + + Args: + image: 3-D Tensor of image (it will be converted to floats in [0, 1]). + bbox: 3-D float Tensor of bounding boxes arranged [1, num_boxes, coords] + where each coordinate is [0, 1) and the coordinates are arranged + as [ymin, xmin, ymax, xmax]. If num_boxes is 0 then it would use the whole + image. + min_object_covered: An optional `float`. Defaults to `0.1`. The cropped + area of the image must contain at least this fraction of any bounding box + supplied. + aspect_ratio_range: An optional list of `floats`. The cropped area of the + image must have an aspect ratio = width / height within this range. + area_range: An optional list of `floats`. The cropped area of the image + must contain a fraction of the supplied image within in this range. + max_attempts: An optional `int`. Number of attempts at generating a cropped + region of the image of the specified constraints. After `max_attempts` + failures, return the entire image. + scope: Optional scope for name_scope. + Returns: + A tuple, a 3-D Tensor cropped_image and the distorted bbox + """ + with tf.name_scope(scope, 'distorted_bounding_box_crop', [image, bboxes]): + # Each bounding box has shape [1, num_boxes, box coords] and + # the coordinates are ordered [ymin, xmin, ymax, xmax]. + bbox_begin, bbox_size, distort_bbox = tf.image.sample_distorted_bounding_box( + tf.shape(image), + bounding_boxes=tf.expand_dims(bboxes, 0), + min_object_covered=min_object_covered, + aspect_ratio_range=aspect_ratio_range, + area_range=area_range, + max_attempts=max_attempts, + use_image_if_no_bounding_boxes=True) + distort_bbox = distort_bbox[0, 0] + + # Crop the image to the specified bounding box. + cropped_image = tf.slice(image, bbox_begin, bbox_size) + # Restore the shape since the dynamic slice loses 3rd dimension. + cropped_image.set_shape([None, None, 3]) + + # Update bounding boxes: resize and filter out. + bboxes = tfe.bboxes_resize(distort_bbox, bboxes) + labels, bboxes = tfe.bboxes_filter_overlap(labels, bboxes, + threshold=BBOX_CROP_OVERLAP, + assign_negative=False) + return cropped_image, labels, bboxes, distort_bbox + + +def preprocess_for_train(image, labels, bboxes, + out_shape, data_format='NHWC', + scope='ssd_preprocessing_train'): + """Preprocesses the given image for training. + + Note that the actual resizing scale is sampled from + [`resize_size_min`, `resize_size_max`]. + + Args: + image: A `Tensor` representing an image of arbitrary size. + output_height: The height of the image after preprocessing. + output_width: The width of the image after preprocessing. + resize_side_min: The lower bound for the smallest side of the image for + aspect-preserving resizing. + resize_side_max: The upper bound for the smallest side of the image for + aspect-preserving resizing. + + Returns: + A preprocessed image. + """ + fast_mode = False + with tf.name_scope(scope, 'ssd_preprocessing_train', [image, labels, bboxes]): + if image.get_shape().ndims != 3: + raise ValueError('Input must be of size [height, width, C>0]') + # Convert to float scaled [0, 1]. + if image.dtype != tf.float32: + image = tf.image.convert_image_dtype(image, dtype=tf.float32) + tf_summary_image(image, bboxes, 'image_with_bboxes') + + # # Remove DontCare labels. + # labels, bboxes = ssd_common.tf_bboxes_filter_labels(out_label, + # labels, + # bboxes) + + # Distort image and bounding boxes. + dst_image = image + dst_image, labels, bboxes, distort_bbox = \ + distorted_bounding_box_crop(image, labels, bboxes, + min_object_covered=MIN_OBJECT_COVERED, + aspect_ratio_range=CROP_RATIO_RANGE) + # Resize image to output size. + dst_image = tf_image.resize_image(dst_image, out_shape, + method=tf.image.ResizeMethod.BILINEAR, + align_corners=False) + tf_summary_image(dst_image, bboxes, 'image_shape_distorted') + + # Randomly flip the image horizontally. + dst_image, bboxes = tf_image.random_flip_left_right(dst_image, bboxes) + + # Randomly distort the colors. There are 4 ways to do it. + dst_image = apply_with_random_selector( + dst_image, + lambda x, ordering: distort_color(x, ordering, fast_mode), + num_cases=4) + tf_summary_image(dst_image, bboxes, 'image_color_distorted') + + # Rescale to VGG input scale. + image = dst_image * 255. + image = tf_image_whitened(image, [_R_MEAN, _G_MEAN, _B_MEAN]) + # Image data format. + if data_format == 'NCHW': + image = tf.transpose(image, perm=(2, 0, 1)) + return image, labels, bboxes + + +def preprocess_for_eval(image, labels, bboxes, + out_shape=EVAL_SIZE, data_format='NHWC', + difficults=None, resize=Resize.WARP_RESIZE, + scope='ssd_preprocessing_train'): + """Preprocess an image for evaluation. + + Args: + image: A `Tensor` representing an image of arbitrary size. + out_shape: Output shape after pre-processing (if resize != None) + resize: Resize strategy. + + Returns: + A preprocessed image. + """ + with tf.name_scope(scope): + if image.get_shape().ndims != 3: + raise ValueError('Input must be of size [height, width, C>0]') + + image = tf.to_float(image) + image = tf_image_whitened(image, [_R_MEAN, _G_MEAN, _B_MEAN]) + + # Add image rectangle to bboxes. + bbox_img = tf.constant([[0., 0., 1., 1.]]) + if bboxes is None: + bboxes = bbox_img + else: + bboxes = tf.concat([bbox_img, bboxes], axis=0) + + if resize == Resize.NONE: + # No resizing... + pass + elif resize == Resize.CENTRAL_CROP: + # Central cropping of the image. + image, bboxes = tf_image.resize_image_bboxes_with_crop_or_pad( + image, bboxes, out_shape[0], out_shape[1]) + elif resize == Resize.PAD_AND_RESIZE: + # Resize image first: find the correct factor... + shape = tf.shape(image) + factor = tf.minimum(tf.to_double(1.0), + tf.minimum(tf.to_double(out_shape[0] / shape[0]), + tf.to_double(out_shape[1] / shape[1]))) + resize_shape = factor * tf.to_double(shape[0:2]) + resize_shape = tf.cast(tf.floor(resize_shape), tf.int32) + + image = tf_image.resize_image(image, resize_shape, + method=tf.image.ResizeMethod.BILINEAR, + align_corners=False) + # Pad to expected size. + image, bboxes = tf_image.resize_image_bboxes_with_crop_or_pad( + image, bboxes, out_shape[0], out_shape[1]) + elif resize == Resize.WARP_RESIZE: + # Warp resize of the image. + image = tf_image.resize_image(image, out_shape, + method=tf.image.ResizeMethod.BILINEAR, + align_corners=False) + + # Split back bounding boxes. + bbox_img = bboxes[0] + bboxes = bboxes[1:] + # Remove difficult boxes. + if difficults is not None: + mask = tf.logical_not(tf.cast(difficults, tf.bool)) + labels = tf.boolean_mask(labels, mask) + bboxes = tf.boolean_mask(bboxes, mask) + # Image data format. + if data_format == 'NCHW': + image = tf.transpose(image, perm=(2, 0, 1)) + return image, labels, bboxes, bbox_img + + +def preprocess_image(image, + labels, + bboxes, + out_shape, + data_format, + is_training=False, + **kwargs): + """Pre-process an given image. + + Args: + image: A `Tensor` representing an image of arbitrary size. + output_height: The height of the image after preprocessing. + output_width: The width of the image after preprocessing. + is_training: `True` if we're preprocessing the image for training and + `False` otherwise. + resize_side_min: The lower bound for the smallest side of the image for + aspect-preserving resizing. If `is_training` is `False`, then this value + is used for rescaling. + resize_side_max: The upper bound for the smallest side of the image for + aspect-preserving resizing. If `is_training` is `False`, this value is + ignored. Otherwise, the resize side is sampled from + [resize_size_min, resize_size_max]. + + Returns: + A preprocessed image. + """ + if is_training: + return preprocess_for_train(image, labels, bboxes, + out_shape=out_shape, + data_format=data_format) + else: + return preprocess_for_eval(image, labels, bboxes, + out_shape=out_shape, + data_format=data_format, + **kwargs) diff --git a/preprocessing/tf_image.py b/preprocessing/tf_image.py new file mode 100644 index 0000000..a962626 --- /dev/null +++ b/preprocessing/tf_image.py @@ -0,0 +1,306 @@ +# Copyright 2015 The TensorFlow Authors and Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Custom image operations. +Most of the following methods extend TensorFlow image library, and part of +the code is shameless copy-paste of the former! +""" +import tensorflow as tf + +from tensorflow.python.framework import constant_op +from tensorflow.python.framework import dtypes +from tensorflow.python.framework import ops +from tensorflow.python.framework import tensor_shape +from tensorflow.python.framework import tensor_util +from tensorflow.python.ops import array_ops +from tensorflow.python.ops import check_ops +from tensorflow.python.ops import clip_ops +from tensorflow.python.ops import control_flow_ops +from tensorflow.python.ops import gen_image_ops +from tensorflow.python.ops import gen_nn_ops +from tensorflow.python.ops import string_ops +from tensorflow.python.ops import math_ops +from tensorflow.python.ops import random_ops +from tensorflow.python.ops import variables + + +# =========================================================================== # +# Modification of TensorFlow image routines. +# =========================================================================== # +def _assert(cond, ex_type, msg): + """A polymorphic assert, works with tensors and boolean expressions. + If `cond` is not a tensor, behave like an ordinary assert statement, except + that a empty list is returned. If `cond` is a tensor, return a list + containing a single TensorFlow assert op. + Args: + cond: Something evaluates to a boolean value. May be a tensor. + ex_type: The exception class to use. + msg: The error message. + Returns: + A list, containing at most one assert op. + """ + if _is_tensor(cond): + return [control_flow_ops.Assert(cond, [msg])] + else: + if not cond: + raise ex_type(msg) + else: + return [] + + +def _is_tensor(x): + """Returns `True` if `x` is a symbolic tensor-like object. + Args: + x: A python object to check. + Returns: + `True` if `x` is a `tf.Tensor` or `tf.Variable`, otherwise `False`. + """ + return isinstance(x, (ops.Tensor, variables.Variable)) + + +def _ImageDimensions(image): + """Returns the dimensions of an image tensor. + Args: + image: A 3-D Tensor of shape `[height, width, channels]`. + Returns: + A list of `[height, width, channels]` corresponding to the dimensions of the + input image. Dimensions that are statically known are python integers, + otherwise they are integer scalar tensors. + """ + if image.get_shape().is_fully_defined(): + return image.get_shape().as_list() + else: + static_shape = image.get_shape().with_rank(3).as_list() + dynamic_shape = array_ops.unstack(array_ops.shape(image), 3) + return [s if s is not None else d + for s, d in zip(static_shape, dynamic_shape)] + + +def _Check3DImage(image, require_static=True): + """Assert that we are working with properly shaped image. + Args: + image: 3-D Tensor of shape [height, width, channels] + require_static: If `True`, requires that all dimensions of `image` are + known and non-zero. + Raises: + ValueError: if `image.shape` is not a 3-vector. + Returns: + An empty list, if `image` has fully defined dimensions. Otherwise, a list + containing an assert op is returned. + """ + try: + image_shape = image.get_shape().with_rank(3) + except ValueError: + raise ValueError("'image' must be three-dimensional.") + if require_static and not image_shape.is_fully_defined(): + raise ValueError("'image' must be fully defined.") + if any(x == 0 for x in image_shape): + raise ValueError("all dims of 'image.shape' must be > 0: %s" % + image_shape) + if not image_shape.is_fully_defined(): + return [check_ops.assert_positive(array_ops.shape(image), + ["all dims of 'image.shape' " + "must be > 0."])] + else: + return [] + + +def fix_image_flip_shape(image, result): + """Set the shape to 3 dimensional if we don't know anything else. + Args: + image: original image size + result: flipped or transformed image + Returns: + An image whose shape is at least None,None,None. + """ + image_shape = image.get_shape() + if image_shape == tensor_shape.unknown_shape(): + result.set_shape([None, None, None]) + else: + result.set_shape(image_shape) + return result + + +# =========================================================================== # +# Image + BBoxes methods: cropping, resizing, flipping, ... +# =========================================================================== # +def bboxes_crop_or_pad(bboxes, + height, width, + offset_y, offset_x, + target_height, target_width): + """Adapt bounding boxes to crop or pad operations. + Coordinates are always supposed to be relative to the image. + + Arguments: + bboxes: Tensor Nx4 with bboxes coordinates [y_min, x_min, y_max, x_max]; + height, width: Original image dimension; + offset_y, offset_x: Offset to apply, + negative if cropping, positive if padding; + target_height, target_width: Target dimension after cropping / padding. + """ + with tf.name_scope('bboxes_crop_or_pad'): + # Rescale bounding boxes in pixels. + scale = tf.cast(tf.stack([height, width, height, width]), bboxes.dtype) + bboxes = bboxes * scale + # Add offset. + offset = tf.cast(tf.stack([offset_y, offset_x, offset_y, offset_x]), bboxes.dtype) + bboxes = bboxes + offset + # Rescale to target dimension. + scale = tf.cast(tf.stack([target_height, target_width, + target_height, target_width]), bboxes.dtype) + bboxes = bboxes / scale + return bboxes + + +def resize_image_bboxes_with_crop_or_pad(image, bboxes, + target_height, target_width): + """Crops and/or pads an image to a target width and height. + Resizes an image to a target width and height by either centrally + cropping the image or padding it evenly with zeros. + + If `width` or `height` is greater than the specified `target_width` or + `target_height` respectively, this op centrally crops along that dimension. + If `width` or `height` is smaller than the specified `target_width` or + `target_height` respectively, this op centrally pads with 0 along that + dimension. + Args: + image: 3-D tensor of shape `[height, width, channels]` + target_height: Target height. + target_width: Target width. + Raises: + ValueError: if `target_height` or `target_width` are zero or negative. + Returns: + Cropped and/or padded image of shape + `[target_height, target_width, channels]` + """ + with tf.name_scope('resize_with_crop_or_pad'): + image = ops.convert_to_tensor(image, name='image') + + assert_ops = [] + assert_ops += _Check3DImage(image, require_static=False) + assert_ops += _assert(target_width > 0, ValueError, + 'target_width must be > 0.') + assert_ops += _assert(target_height > 0, ValueError, + 'target_height must be > 0.') + + image = control_flow_ops.with_dependencies(assert_ops, image) + # `crop_to_bounding_box` and `pad_to_bounding_box` have their own checks. + # Make sure our checks come first, so that error messages are clearer. + if _is_tensor(target_height): + target_height = control_flow_ops.with_dependencies( + assert_ops, target_height) + if _is_tensor(target_width): + target_width = control_flow_ops.with_dependencies(assert_ops, target_width) + + def max_(x, y): + if _is_tensor(x) or _is_tensor(y): + return math_ops.maximum(x, y) + else: + return max(x, y) + + def min_(x, y): + if _is_tensor(x) or _is_tensor(y): + return math_ops.minimum(x, y) + else: + return min(x, y) + + def equal_(x, y): + if _is_tensor(x) or _is_tensor(y): + return math_ops.equal(x, y) + else: + return x == y + + height, width, _ = _ImageDimensions(image) + width_diff = target_width - width + offset_crop_width = max_(-width_diff // 2, 0) + offset_pad_width = max_(width_diff // 2, 0) + + height_diff = target_height - height + offset_crop_height = max_(-height_diff // 2, 0) + offset_pad_height = max_(height_diff // 2, 0) + + # Maybe crop if needed. + height_crop = min_(target_height, height) + width_crop = min_(target_width, width) + cropped = tf.image.crop_to_bounding_box(image, offset_crop_height, offset_crop_width, + height_crop, width_crop) + bboxes = bboxes_crop_or_pad(bboxes, + height, width, + -offset_crop_height, -offset_crop_width, + height_crop, width_crop) + # Maybe pad if needed. + resized = tf.image.pad_to_bounding_box(cropped, offset_pad_height, offset_pad_width, + target_height, target_width) + bboxes = bboxes_crop_or_pad(bboxes, + height_crop, width_crop, + offset_pad_height, offset_pad_width, + target_height, target_width) + + # In theory all the checks below are redundant. + if resized.get_shape().ndims is None: + raise ValueError('resized contains no shape.') + + resized_height, resized_width, _ = _ImageDimensions(resized) + + assert_ops = [] + assert_ops += _assert(equal_(resized_height, target_height), ValueError, + 'resized height is not correct.') + assert_ops += _assert(equal_(resized_width, target_width), ValueError, + 'resized width is not correct.') + + resized = control_flow_ops.with_dependencies(assert_ops, resized) + return resized, bboxes + + +def resize_image(image, size, + method=tf.image.ResizeMethod.BILINEAR, + align_corners=False): + """Resize an image and bounding boxes. + """ + # Resize image. + with tf.name_scope('resize_image'): + height, width, channels = _ImageDimensions(image) + image = tf.expand_dims(image, 0) + image = tf.image.resize_images(image, size, + method, align_corners) + image = tf.reshape(image, tf.stack([size[0], size[1], channels])) + return image + + +def random_flip_left_right(image, bboxes, seed=None): + """Random flip left-right of an image and its bounding boxes. + """ + def flip_bboxes(bboxes): + """Flip bounding boxes coordinates. + """ + bboxes = tf.stack([bboxes[:, 0], 1 - bboxes[:, 3], + bboxes[:, 2], 1 - bboxes[:, 1]], axis=-1) + return bboxes + + # Random flip. Tensorflow implementation. + with tf.name_scope('random_flip_left_right'): + image = ops.convert_to_tensor(image, name='image') + _Check3DImage(image, require_static=False) + uniform_random = random_ops.random_uniform([], 0, 1.0, seed=seed) + mirror_cond = math_ops.less(uniform_random, .5) + # Flip image. + result = control_flow_ops.cond(mirror_cond, + lambda: array_ops.reverse_v2(image, [1]), + lambda: image) + # Flip bboxes. + bboxes = control_flow_ops.cond(mirror_cond, + lambda: flip_bboxes(bboxes), + lambda: bboxes) + return fix_image_flip_shape(image, result), bboxes + diff --git a/preprocessing/vgg_preprocessing.py b/preprocessing/vgg_preprocessing.py new file mode 100644 index 0000000..a2d0f86 --- /dev/null +++ b/preprocessing/vgg_preprocessing.py @@ -0,0 +1,370 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides utilities to preprocess images. + +The preprocessing steps for VGG were introduced in the following technical +report: + + Very Deep Convolutional Networks For Large-Scale Image Recognition + Karen Simonyan and Andrew Zisserman + arXiv technical report, 2015 + PDF: http://arxiv.org/pdf/1409.1556.pdf + ILSVRC 2014 Slides: http://www.robots.ox.ac.uk/~karen/pdf/ILSVRC_2014.pdf + CC-BY-4.0 + +More information can be obtained from the VGG website: +www.robots.ox.ac.uk/~vgg/research/very_deep/ +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf + +from tensorflow.python.ops import control_flow_ops + +slim = tf.contrib.slim + +_R_MEAN = 123.68 +_G_MEAN = 116.78 +_B_MEAN = 103.94 + +_RESIZE_SIDE_MIN = 256 +_RESIZE_SIDE_MAX = 512 + + +def _crop(image, offset_height, offset_width, crop_height, crop_width): + """Crops the given image using the provided offsets and sizes. + + Note that the method doesn't assume we know the input image size but it does + assume we know the input image rank. + + Args: + image: an image of shape [height, width, channels]. + offset_height: a scalar tensor indicating the height offset. + offset_width: a scalar tensor indicating the width offset. + crop_height: the height of the cropped image. + crop_width: the width of the cropped image. + + Returns: + the cropped (and resized) image. + + Raises: + InvalidArgumentError: if the rank is not 3 or if the image dimensions are + less than the crop size. + """ + original_shape = tf.shape(image) + + rank_assertion = tf.Assert( + tf.equal(tf.rank(image), 3), + ['Rank of image must be equal to 3.']) + cropped_shape = control_flow_ops.with_dependencies( + [rank_assertion], + tf.pack([crop_height, crop_width, original_shape[2]])) + + size_assertion = tf.Assert( + tf.logical_and( + tf.greater_equal(original_shape[0], crop_height), + tf.greater_equal(original_shape[1], crop_width)), + ['Crop size greater than the image size.']) + + offsets = tf.to_int32(tf.pack([offset_height, offset_width, 0])) + + # Use tf.slice instead of crop_to_bounding box as it accepts tensors to + # define the crop size. + image = control_flow_ops.with_dependencies( + [size_assertion], + tf.slice(image, offsets, cropped_shape)) + return tf.reshape(image, cropped_shape) + + +def _random_crop(image_list, crop_height, crop_width): + """Crops the given list of images. + + The function applies the same crop to each image in the list. This can be + effectively applied when there are multiple image inputs of the same + dimension such as: + + image, depths, normals = _random_crop([image, depths, normals], 120, 150) + + Args: + image_list: a list of image tensors of the same dimension but possibly + varying channel. + crop_height: the new height. + crop_width: the new width. + + Returns: + the image_list with cropped images. + + Raises: + ValueError: if there are multiple image inputs provided with different size + or the images are smaller than the crop dimensions. + """ + if not image_list: + raise ValueError('Empty image_list.') + + # Compute the rank assertions. + rank_assertions = [] + for i in range(len(image_list)): + image_rank = tf.rank(image_list[i]) + rank_assert = tf.Assert( + tf.equal(image_rank, 3), + ['Wrong rank for tensor %s [expected] [actual]', + image_list[i].name, 3, image_rank]) + rank_assertions.append(rank_assert) + + image_shape = control_flow_ops.with_dependencies( + [rank_assertions[0]], + tf.shape(image_list[0])) + image_height = image_shape[0] + image_width = image_shape[1] + crop_size_assert = tf.Assert( + tf.logical_and( + tf.greater_equal(image_height, crop_height), + tf.greater_equal(image_width, crop_width)), + ['Crop size greater than the image size.']) + + asserts = [rank_assertions[0], crop_size_assert] + + for i in range(1, len(image_list)): + image = image_list[i] + asserts.append(rank_assertions[i]) + shape = control_flow_ops.with_dependencies([rank_assertions[i]], + tf.shape(image)) + height = shape[0] + width = shape[1] + + height_assert = tf.Assert( + tf.equal(height, image_height), + ['Wrong height for tensor %s [expected][actual]', + image.name, height, image_height]) + width_assert = tf.Assert( + tf.equal(width, image_width), + ['Wrong width for tensor %s [expected][actual]', + image.name, width, image_width]) + asserts.extend([height_assert, width_assert]) + + # Create a random bounding box. + # + # Use tf.random_uniform and not numpy.random.rand as doing the former would + # generate random numbers at graph eval time, unlike the latter which + # generates random numbers at graph definition time. + max_offset_height = control_flow_ops.with_dependencies( + asserts, tf.reshape(image_height - crop_height + 1, [])) + max_offset_width = control_flow_ops.with_dependencies( + asserts, tf.reshape(image_width - crop_width + 1, [])) + offset_height = tf.random_uniform( + [], maxval=max_offset_height, dtype=tf.int32) + offset_width = tf.random_uniform( + [], maxval=max_offset_width, dtype=tf.int32) + + return [_crop(image, offset_height, offset_width, + crop_height, crop_width) for image in image_list] + + +def _central_crop(image_list, crop_height, crop_width): + """Performs central crops of the given image list. + + Args: + image_list: a list of image tensors of the same dimension but possibly + varying channel. + crop_height: the height of the image following the crop. + crop_width: the width of the image following the crop. + + Returns: + the list of cropped images. + """ + outputs = [] + for image in image_list: + image_height = tf.shape(image)[0] + image_width = tf.shape(image)[1] + + offset_height = (image_height - crop_height) / 2 + offset_width = (image_width - crop_width) / 2 + + outputs.append(_crop(image, offset_height, offset_width, + crop_height, crop_width)) + return outputs + + +def _mean_image_subtraction(image, means): + """Subtracts the given means from each image channel. + + For example: + means = [123.68, 116.779, 103.939] + image = _mean_image_subtraction(image, means) + + Note that the rank of `image` must be known. + + Args: + image: a tensor of size [height, width, C]. + means: a C-vector of values to subtract from each channel. + + Returns: + the centered image. + + Raises: + ValueError: If the rank of `image` is unknown, if `image` has a rank other + than three or if the number of channels in `image` doesn't match the + number of values in `means`. + """ + if image.get_shape().ndims != 3: + raise ValueError('Input must be of size [height, width, C>0]') + num_channels = image.get_shape().as_list()[-1] + if len(means) != num_channels: + raise ValueError('len(means) must match the number of channels') + + channels = tf.split(2, num_channels, image) + for i in range(num_channels): + channels[i] -= means[i] + return tf.concat(channels, axis=2) + + +def _smallest_size_at_least(height, width, smallest_side): + """Computes new shape with the smallest side equal to `smallest_side`. + + Computes new shape with the smallest side equal to `smallest_side` while + preserving the original aspect ratio. + + Args: + height: an int32 scalar tensor indicating the current height. + width: an int32 scalar tensor indicating the current width. + smallest_side: A python integer or scalar `Tensor` indicating the size of + the smallest side after resize. + + Returns: + new_height: an int32 scalar tensor indicating the new height. + new_width: and int32 scalar tensor indicating the new width. + """ + smallest_side = tf.convert_to_tensor(smallest_side, dtype=tf.int32) + + height = tf.to_float(height) + width = tf.to_float(width) + smallest_side = tf.to_float(smallest_side) + + scale = tf.cond(tf.greater(height, width), + lambda: smallest_side / width, + lambda: smallest_side / height) + new_height = tf.to_int32(height * scale) + new_width = tf.to_int32(width * scale) + return new_height, new_width + + +def _aspect_preserving_resize(image, smallest_side): + """Resize images preserving the original aspect ratio. + + Args: + image: A 3-D image `Tensor`. + smallest_side: A python integer or scalar `Tensor` indicating the size of + the smallest side after resize. + + Returns: + resized_image: A 3-D tensor containing the resized image. + """ + smallest_side = tf.convert_to_tensor(smallest_side, dtype=tf.int32) + + shape = tf.shape(image) + height = shape[0] + width = shape[1] + new_height, new_width = _smallest_size_at_least(height, width, smallest_side) + image = tf.expand_dims(image, 0) + resized_image = tf.image.resize_bilinear(image, [new_height, new_width], + align_corners=False) + resized_image = tf.squeeze(resized_image) + resized_image.set_shape([None, None, 3]) + return resized_image + + +def preprocess_for_train(image, + output_height, + output_width, + resize_side_min=_RESIZE_SIDE_MIN, + resize_side_max=_RESIZE_SIDE_MAX): + """Preprocesses the given image for training. + + Note that the actual resizing scale is sampled from + [`resize_size_min`, `resize_size_max`]. + + Args: + image: A `Tensor` representing an image of arbitrary size. + output_height: The height of the image after preprocessing. + output_width: The width of the image after preprocessing. + resize_side_min: The lower bound for the smallest side of the image for + aspect-preserving resizing. + resize_side_max: The upper bound for the smallest side of the image for + aspect-preserving resizing. + + Returns: + A preprocessed image. + """ + resize_side = tf.random_uniform( + [], minval=resize_side_min, maxval=resize_side_max+1, dtype=tf.int32) + + image = _aspect_preserving_resize(image, resize_side) + image = _random_crop([image], output_height, output_width)[0] + image.set_shape([output_height, output_width, 3]) + image = tf.to_float(image) + image = tf.image.random_flip_left_right(image) + return _mean_image_subtraction(image, [_R_MEAN, _G_MEAN, _B_MEAN]) + + +def preprocess_for_eval(image, output_height, output_width, resize_side): + """Preprocesses the given image for evaluation. + + Args: + image: A `Tensor` representing an image of arbitrary size. + output_height: The height of the image after preprocessing. + output_width: The width of the image after preprocessing. + resize_side: The smallest side of the image for aspect-preserving resizing. + + Returns: + A preprocessed image. + """ + image = _aspect_preserving_resize(image, resize_side) + image = _central_crop([image], output_height, output_width)[0] + image.set_shape([output_height, output_width, 3]) + image = tf.to_float(image) + return _mean_image_subtraction(image, [_R_MEAN, _G_MEAN, _B_MEAN]) + + +def preprocess_image(image, output_height, output_width, is_training=False, + resize_side_min=_RESIZE_SIDE_MIN, + resize_side_max=_RESIZE_SIDE_MAX): + """Preprocesses the given image. + + Args: + image: A `Tensor` representing an image of arbitrary size. + output_height: The height of the image after preprocessing. + output_width: The width of the image after preprocessing. + is_training: `True` if we're preprocessing the image for training and + `False` otherwise. + resize_side_min: The lower bound for the smallest side of the image for + aspect-preserving resizing. If `is_training` is `False`, then this value + is used for rescaling. + resize_side_max: The upper bound for the smallest side of the image for + aspect-preserving resizing. If `is_training` is `False`, this value is + ignored. Otherwise, the resize side is sampled from + [resize_size_min, resize_size_max]. + + Returns: + A preprocessed image. + """ + if is_training: + return preprocess_for_train(image, output_height, output_width, + resize_side_min, resize_side_max) + else: + return preprocess_for_eval(image, output_height, output_width, + resize_side_min) diff --git a/tf_convert_data.py b/tf_convert_data.py new file mode 100644 index 0000000..aa6dfdf --- /dev/null +++ b/tf_convert_data.py @@ -0,0 +1,60 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Convert a dataset to TFRecords format, which can be easily integrated into +a TensorFlow pipeline. + +Usage: +```shell +python tf_convert_data.py \ + --dataset_name=pascalvoc \ + --dataset_dir=/tmp/pascalvoc \ + --output_name=pascalvoc \ + --output_dir=/tmp/ +``` +""" +import tensorflow as tf + +from datasets import pascalvoc_to_tfrecords + +FLAGS = tf.app.flags.FLAGS + +tf.app.flags.DEFINE_string( + 'dataset_name', 'pascalvoc', + 'The name of the dataset to convert.') +tf.app.flags.DEFINE_string( + 'dataset_dir', None, + 'Directory where the original dataset is stored.') +tf.app.flags.DEFINE_string( + 'output_name', 'pascalvoc', + 'Basename used for TFRecords output files.') +tf.app.flags.DEFINE_string( + 'output_dir', './', + 'Output directory where to store TFRecords files.') + + +def main(_): + if not FLAGS.dataset_dir: + raise ValueError('You must supply the dataset directory with --dataset_dir') + print('Dataset directory:', FLAGS.dataset_dir) + print('Output directory:', FLAGS.output_dir) + + if FLAGS.dataset_name == 'pascalvoc': + pascalvoc_to_tfrecords.run(FLAGS.dataset_dir, FLAGS.output_dir, FLAGS.output_name) + else: + raise ValueError('Dataset [%s] was not recognized.' % FLAGS.dataset_name) + +if __name__ == '__main__': + tf.app.run() + diff --git a/tf_extended/__init__.py b/tf_extended/__init__.py new file mode 100644 index 0000000..e35babe --- /dev/null +++ b/tf_extended/__init__.py @@ -0,0 +1,24 @@ +# Copyright 2017 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""TF Extended: additional metrics. +""" + +# pylint: disable=unused-import,line-too-long,g-importing-member,wildcard-import +from tf_extended.metrics import * +from tf_extended.tensors import * +from tf_extended.bboxes import * +from tf_extended.image import * +from tf_extended.math import * + diff --git a/tf_extended/bboxes.py b/tf_extended/bboxes.py new file mode 100644 index 0000000..848fd43 --- /dev/null +++ b/tf_extended/bboxes.py @@ -0,0 +1,508 @@ +# Copyright 2017 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""TF Extended: additional bounding boxes methods. +""" +import numpy as np +import tensorflow as tf + +from tf_extended import tensors as tfe_tensors +from tf_extended import math as tfe_math + + +# =========================================================================== # +# Standard boxes algorithms. +# =========================================================================== # +def bboxes_sort_all_classes(classes, scores, bboxes, top_k=400, scope=None): + """Sort bounding boxes by decreasing order and keep only the top_k. + Assume the input Tensors mix-up objects with different classes. + Assume a batch-type input. + + Args: + classes: Batch x N Tensor containing integer classes. + scores: Batch x N Tensor containing float scores. + bboxes: Batch x N x 4 Tensor containing boxes coordinates. + top_k: Top_k boxes to keep. + Return: + classes, scores, bboxes: Sorted tensors of shape Batch x Top_k. + """ + with tf.name_scope(scope, 'bboxes_sort', [classes, scores, bboxes]): + scores, idxes = tf.nn.top_k(scores, k=top_k, sorted=True) + + # Trick to be able to use tf.gather: map for each element in the batch. + def fn_gather(classes, bboxes, idxes): + cl = tf.gather(classes, idxes) + bb = tf.gather(bboxes, idxes) + return [cl, bb] + r = tf.map_fn(lambda x: fn_gather(x[0], x[1], x[2]), + [classes, bboxes, idxes], + dtype=[classes.dtype, bboxes.dtype], + parallel_iterations=10, + back_prop=False, + swap_memory=False, + infer_shape=True) + classes = r[0] + bboxes = r[1] + return classes, scores, bboxes + + +def bboxes_sort(scores, bboxes, top_k=400, scope=None): + """Sort bounding boxes by decreasing order and keep only the top_k. + If inputs are dictionnaries, assume every key is a different class. + Assume a batch-type input. + + Args: + scores: Batch x N Tensor/Dictionary containing float scores. + bboxes: Batch x N x 4 Tensor/Dictionary containing boxes coordinates. + top_k: Top_k boxes to keep. + Return: + scores, bboxes: Sorted Tensors/Dictionaries of shape Batch x Top_k x 1|4. + """ + # Dictionaries as inputs. + if isinstance(scores, dict) or isinstance(bboxes, dict): + with tf.name_scope(scope, 'bboxes_sort_dict'): + d_scores = {} + d_bboxes = {} + for c in scores.keys(): + s, b = bboxes_sort(scores[c], bboxes[c], top_k=top_k) + d_scores[c] = s + d_bboxes[c] = b + return d_scores, d_bboxes + + # Tensors inputs. + with tf.name_scope(scope, 'bboxes_sort', [scores, bboxes]): + # Sort scores... + scores, idxes = tf.nn.top_k(scores, k=top_k, sorted=True) + + # Trick to be able to use tf.gather: map for each element in the first dim. + def fn_gather(bboxes, idxes): + bb = tf.gather(bboxes, idxes) + return [bb] + r = tf.map_fn(lambda x: fn_gather(x[0], x[1]), + [bboxes, idxes], + dtype=[bboxes.dtype], + parallel_iterations=10, + back_prop=False, + swap_memory=False, + infer_shape=True) + bboxes = r[0] + return scores, bboxes + + +def bboxes_clip(bbox_ref, bboxes, scope=None): + """Clip bounding boxes to a reference box. + Batch-compatible if the first dimension of `bbox_ref` and `bboxes` + can be broadcasted. + + Args: + bbox_ref: Reference bounding box. Nx4 or 4 shaped-Tensor; + bboxes: Bounding boxes to clip. Nx4 or 4 shaped-Tensor or dictionary. + Return: + Clipped bboxes. + """ + # Bboxes is dictionary. + if isinstance(bboxes, dict): + with tf.name_scope(scope, 'bboxes_clip_dict'): + d_bboxes = {} + for c in bboxes.keys(): + d_bboxes[c] = bboxes_clip(bbox_ref, bboxes[c]) + return d_bboxes + + # Tensors inputs. + with tf.name_scope(scope, 'bboxes_clip'): + # Easier with transposed bboxes. Especially for broadcasting. + bbox_ref = tf.transpose(bbox_ref) + bboxes = tf.transpose(bboxes) + # Intersection bboxes and reference bbox. + ymin = tf.maximum(bboxes[0], bbox_ref[0]) + xmin = tf.maximum(bboxes[1], bbox_ref[1]) + ymax = tf.minimum(bboxes[2], bbox_ref[2]) + xmax = tf.minimum(bboxes[3], bbox_ref[3]) + # Double check! Empty boxes when no-intersection. + ymin = tf.minimum(ymin, ymax) + xmin = tf.minimum(xmin, xmax) + bboxes = tf.transpose(tf.stack([ymin, xmin, ymax, xmax], axis=0)) + return bboxes + + +def bboxes_resize(bbox_ref, bboxes, name=None): + """Resize bounding boxes based on a reference bounding box, + assuming that the latter is [0, 0, 1, 1] after transform. Useful for + updating a collection of boxes after cropping an image. + """ + # Bboxes is dictionary. + if isinstance(bboxes, dict): + with tf.name_scope(name, 'bboxes_resize_dict'): + d_bboxes = {} + for c in bboxes.keys(): + d_bboxes[c] = bboxes_resize(bbox_ref, bboxes[c]) + return d_bboxes + + # Tensors inputs. + with tf.name_scope(name, 'bboxes_resize'): + # Translate. + v = tf.stack([bbox_ref[0], bbox_ref[1], bbox_ref[0], bbox_ref[1]]) + bboxes = bboxes - v + # Scale. + s = tf.stack([bbox_ref[2] - bbox_ref[0], + bbox_ref[3] - bbox_ref[1], + bbox_ref[2] - bbox_ref[0], + bbox_ref[3] - bbox_ref[1]]) + bboxes = bboxes / s + return bboxes + + +def bboxes_nms(scores, bboxes, nms_threshold=0.5, keep_top_k=200, scope=None): + """Apply non-maximum selection to bounding boxes. In comparison to TF + implementation, use classes information for matching. + Should only be used on single-entries. Use batch version otherwise. + + Args: + scores: N Tensor containing float scores. + bboxes: N x 4 Tensor containing boxes coordinates. + nms_threshold: Matching threshold in NMS algorithm; + keep_top_k: Number of total object to keep after NMS. + Return: + classes, scores, bboxes Tensors, sorted by score. + Padded with zero if necessary. + """ + with tf.name_scope(scope, 'bboxes_nms_single', [scores, bboxes]): + # Apply NMS algorithm. + idxes = tf.image.non_max_suppression(bboxes, scores, + keep_top_k, nms_threshold) + scores = tf.gather(scores, idxes) + bboxes = tf.gather(bboxes, idxes) + # Pad results. + scores = tfe_tensors.pad_axis(scores, 0, keep_top_k, axis=0) + bboxes = tfe_tensors.pad_axis(bboxes, 0, keep_top_k, axis=0) + return scores, bboxes + + +def bboxes_nms_batch(scores, bboxes, nms_threshold=0.5, keep_top_k=200, + scope=None): + """Apply non-maximum selection to bounding boxes. In comparison to TF + implementation, use classes information for matching. + Use only on batched-inputs. Use zero-padding in order to batch output + results. + + Args: + scores: Batch x N Tensor/Dictionary containing float scores. + bboxes: Batch x N x 4 Tensor/Dictionary containing boxes coordinates. + nms_threshold: Matching threshold in NMS algorithm; + keep_top_k: Number of total object to keep after NMS. + Return: + scores, bboxes Tensors/Dictionaries, sorted by score. + Padded with zero if necessary. + """ + # Dictionaries as inputs. + if isinstance(scores, dict) or isinstance(bboxes, dict): + with tf.name_scope(scope, 'bboxes_nms_batch_dict'): + d_scores = {} + d_bboxes = {} + for c in scores.keys(): + s, b = bboxes_nms_batch(scores[c], bboxes[c], + nms_threshold=nms_threshold, + keep_top_k=keep_top_k) + d_scores[c] = s + d_bboxes[c] = b + return d_scores, d_bboxes + + # Tensors inputs. + with tf.name_scope(scope, 'bboxes_nms_batch'): + r = tf.map_fn(lambda x: bboxes_nms(x[0], x[1], + nms_threshold, keep_top_k), + (scores, bboxes), + dtype=(scores.dtype, bboxes.dtype), + parallel_iterations=10, + back_prop=False, + swap_memory=False, + infer_shape=True) + scores, bboxes = r + return scores, bboxes + + +# def bboxes_fast_nms(classes, scores, bboxes, +# nms_threshold=0.5, eta=3., num_classes=21, +# pad_output=True, scope=None): +# with tf.name_scope(scope, 'bboxes_fast_nms', +# [classes, scores, bboxes]): + +# nms_classes = tf.zeros((0,), dtype=classes.dtype) +# nms_scores = tf.zeros((0,), dtype=scores.dtype) +# nms_bboxes = tf.zeros((0, 4), dtype=bboxes.dtype) + + +def bboxes_matching(label, scores, bboxes, + glabels, gbboxes, gdifficults, + matching_threshold=0.5, scope=None): + """Matching a collection of detected boxes with groundtruth values. + Does not accept batched-inputs. + The algorithm goes as follows: for every detected box, check + if one grountruth box is matching. If none, then considered as False Positive. + If the grountruth box is already matched with another one, it also counts + as a False Positive. We refer the Pascal VOC documentation for the details. + + Args: + rclasses, rscores, rbboxes: N(x4) Tensors. Detected objects, sorted by score; + glabels, gbboxes: Groundtruth bounding boxes. May be zero padded, hence + zero-class objects are ignored. + matching_threshold: Threshold for a positive match. + Return: Tuple of: + n_gbboxes: Scalar Tensor with number of groundtruth boxes (may difer from + size because of zero padding). + tp_match: (N,)-shaped boolean Tensor containing with True Positives. + fp_match: (N,)-shaped boolean Tensor containing with False Positives. + """ + with tf.name_scope(scope, 'bboxes_matching_single', + [scores, bboxes, glabels, gbboxes]): + rsize = tf.size(scores) + rshape = tf.shape(scores) + rlabel = tf.cast(label, glabels.dtype) + # Number of groundtruth boxes. + gdifficults = tf.cast(gdifficults, tf.bool) + n_gbboxes = tf.count_nonzero(tf.logical_and(tf.equal(glabels, label), + tf.logical_not(gdifficults))) + # Grountruth matching arrays. + gmatch = tf.zeros(tf.shape(glabels), dtype=tf.bool) + grange = tf.range(tf.size(glabels), dtype=tf.int32) + # True/False positive matching TensorArrays. + sdtype = tf.bool + ta_tp_bool = tf.TensorArray(sdtype, size=rsize, dynamic_size=False, infer_shape=True) + ta_fp_bool = tf.TensorArray(sdtype, size=rsize, dynamic_size=False, infer_shape=True) + + # Loop over returned objects. + def m_condition(i, ta_tp, ta_fp, gmatch): + r = tf.less(i, rsize) + return r + + def m_body(i, ta_tp, ta_fp, gmatch): + # Jaccard score with groundtruth bboxes. + rbbox = bboxes[i] + jaccard = bboxes_jaccard(rbbox, gbboxes) + jaccard = jaccard * tf.cast(tf.equal(glabels, rlabel), dtype=jaccard.dtype) + + # Best fit, checking it's above threshold. + idxmax = tf.cast(tf.argmax(jaccard, axis=0), tf.int32) + jcdmax = jaccard[idxmax] + match = jcdmax > matching_threshold + existing_match = gmatch[idxmax] + not_difficult = tf.logical_not(gdifficults[idxmax]) + + # TP: match & no previous match and FP: previous match | no match. + # If difficult: no record, i.e FP=False and TP=False. + tp = tf.logical_and(not_difficult, + tf.logical_and(match, tf.logical_not(existing_match))) + ta_tp = ta_tp.write(i, tp) + fp = tf.logical_and(not_difficult, + tf.logical_or(existing_match, tf.logical_not(match))) + ta_fp = ta_fp.write(i, fp) + # Update grountruth match. + mask = tf.logical_and(tf.equal(grange, idxmax), + tf.logical_and(not_difficult, match)) + gmatch = tf.logical_or(gmatch, mask) + + return [i+1, ta_tp, ta_fp, gmatch] + # Main loop definition. + i = 0 + [i, ta_tp_bool, ta_fp_bool, gmatch] = \ + tf.while_loop(m_condition, m_body, + [i, ta_tp_bool, ta_fp_bool, gmatch], + parallel_iterations=1, + back_prop=False) + # TensorArrays to Tensors and reshape. + tp_match = tf.reshape(ta_tp_bool.stack(), rshape) + fp_match = tf.reshape(ta_fp_bool.stack(), rshape) + + # Some debugging information... + # tp_match = tf.Print(tp_match, + # [n_gbboxes, + # tf.reduce_sum(tf.cast(tp_match, tf.int64)), + # tf.reduce_sum(tf.cast(fp_match, tf.int64)), + # tf.reduce_sum(tf.cast(gmatch, tf.int64))], + # 'Matching (NG, TP, FP, GM): ') + return n_gbboxes, tp_match, fp_match + + +def bboxes_matching_batch(labels, scores, bboxes, + glabels, gbboxes, gdifficults, + matching_threshold=0.5, scope=None): + """Matching a collection of detected boxes with groundtruth values. + Batched-inputs version. + + Args: + rclasses, rscores, rbboxes: BxN(x4) Tensors. Detected objects, sorted by score; + glabels, gbboxes: Groundtruth bounding boxes. May be zero padded, hence + zero-class objects are ignored. + matching_threshold: Threshold for a positive match. + Return: Tuple or Dictionaries with: + n_gbboxes: Scalar Tensor with number of groundtruth boxes (may difer from + size because of zero padding). + tp: (B, N)-shaped boolean Tensor containing with True Positives. + fp: (B, N)-shaped boolean Tensor containing with False Positives. + """ + # Dictionaries as inputs. + if isinstance(scores, dict) or isinstance(bboxes, dict): + with tf.name_scope(scope, 'bboxes_matching_batch_dict'): + d_n_gbboxes = {} + d_tp = {} + d_fp = {} + for c in labels: + n, tp, fp, _ = bboxes_matching_batch(c, scores[c], bboxes[c], + glabels, gbboxes, gdifficults, + matching_threshold) + d_n_gbboxes[c] = n + d_tp[c] = tp + d_fp[c] = fp + return d_n_gbboxes, d_tp, d_fp, scores + + with tf.name_scope(scope, 'bboxes_matching_batch', + [scores, bboxes, glabels, gbboxes]): + r = tf.map_fn(lambda x: bboxes_matching(labels, x[0], x[1], + x[2], x[3], x[4], + matching_threshold), + (scores, bboxes, glabels, gbboxes, gdifficults), + dtype=(tf.int64, tf.bool, tf.bool), + parallel_iterations=10, + back_prop=False, + swap_memory=True, + infer_shape=True) + return r[0], r[1], r[2], scores + + +# =========================================================================== # +# Some filteting methods. +# =========================================================================== # +def bboxes_filter_center(labels, bboxes, margins=[0., 0., 0., 0.], + scope=None): + """Filter out bounding boxes whose center are not in + the rectangle [0, 0, 1, 1] + margins. The margin Tensor + can be used to enforce or loosen this condition. + + Return: + labels, bboxes: Filtered elements. + """ + with tf.name_scope(scope, 'bboxes_filter', [labels, bboxes]): + cy = (bboxes[:, 0] + bboxes[:, 2]) / 2. + cx = (bboxes[:, 1] + bboxes[:, 3]) / 2. + mask = tf.greater(cy, margins[0]) + mask = tf.logical_and(mask, tf.greater(cx, margins[1])) + mask = tf.logical_and(mask, tf.less(cx, 1. + margins[2])) + mask = tf.logical_and(mask, tf.less(cx, 1. + margins[3])) + # Boolean masking... + labels = tf.boolean_mask(labels, mask) + bboxes = tf.boolean_mask(bboxes, mask) + return labels, bboxes + + +def bboxes_filter_overlap(labels, bboxes, + threshold=0.5, assign_negative=False, + scope=None): + """Filter out bounding boxes based on (relative )overlap with reference + box [0, 0, 1, 1]. Remove completely bounding boxes, or assign negative + labels to the one outside (useful for latter processing...). + + Return: + labels, bboxes: Filtered (or newly assigned) elements. + """ + with tf.name_scope(scope, 'bboxes_filter', [labels, bboxes]): + scores = bboxes_intersection(tf.constant([0, 0, 1, 1], bboxes.dtype), + bboxes) + mask = scores > threshold + if assign_negative: + labels = tf.where(mask, labels, -labels) + # bboxes = tf.where(mask, bboxes, bboxes) + else: + labels = tf.boolean_mask(labels, mask) + bboxes = tf.boolean_mask(bboxes, mask) + return labels, bboxes + + +def bboxes_filter_labels(labels, bboxes, + out_labels=[], num_classes=np.inf, + scope=None): + """Filter out labels from a collection. Typically used to get + of DontCare elements. Also remove elements based on the number of classes. + + Return: + labels, bboxes: Filtered elements. + """ + with tf.name_scope(scope, 'bboxes_filter_labels', [labels, bboxes]): + mask = tf.greater_equal(labels, num_classes) + for l in labels: + mask = tf.logical_and(mask, tf.not_equal(labels, l)) + labels = tf.boolean_mask(labels, mask) + bboxes = tf.boolean_mask(bboxes, mask) + return labels, bboxes + + +# =========================================================================== # +# Standard boxes computation. +# =========================================================================== # +def bboxes_jaccard(bbox_ref, bboxes, name=None): + """Compute jaccard score between a reference box and a collection + of bounding boxes. + + Args: + bbox_ref: (N, 4) or (4,) Tensor with reference bounding box(es). + bboxes: (N, 4) Tensor, collection of bounding boxes. + Return: + (N,) Tensor with Jaccard scores. + """ + with tf.name_scope(name, 'bboxes_jaccard'): + # Should be more efficient to first transpose. + bboxes = tf.transpose(bboxes) + bbox_ref = tf.transpose(bbox_ref) + # Intersection bbox and volume. + int_ymin = tf.maximum(bboxes[0], bbox_ref[0]) + int_xmin = tf.maximum(bboxes[1], bbox_ref[1]) + int_ymax = tf.minimum(bboxes[2], bbox_ref[2]) + int_xmax = tf.minimum(bboxes[3], bbox_ref[3]) + h = tf.maximum(int_ymax - int_ymin, 0.) + w = tf.maximum(int_xmax - int_xmin, 0.) + # Volumes. + inter_vol = h * w + union_vol = -inter_vol \ + + (bboxes[2] - bboxes[0]) * (bboxes[3] - bboxes[1]) \ + + (bbox_ref[2] - bbox_ref[0]) * (bbox_ref[3] - bbox_ref[1]) + jaccard = tfe_math.safe_divide(inter_vol, union_vol, 'jaccard') + return jaccard + + +def bboxes_intersection(bbox_ref, bboxes, name=None): + """Compute relative intersection between a reference box and a + collection of bounding boxes. Namely, compute the quotient between + intersection area and box area. + + Args: + bbox_ref: (N, 4) or (4,) Tensor with reference bounding box(es). + bboxes: (N, 4) Tensor, collection of bounding boxes. + Return: + (N,) Tensor with relative intersection. + """ + with tf.name_scope(name, 'bboxes_intersection'): + # Should be more efficient to first transpose. + bboxes = tf.transpose(bboxes) + bbox_ref = tf.transpose(bbox_ref) + # Intersection bbox and volume. + int_ymin = tf.maximum(bboxes[0], bbox_ref[0]) + int_xmin = tf.maximum(bboxes[1], bbox_ref[1]) + int_ymax = tf.minimum(bboxes[2], bbox_ref[2]) + int_xmax = tf.minimum(bboxes[3], bbox_ref[3]) + h = tf.maximum(int_ymax - int_ymin, 0.) + w = tf.maximum(int_xmax - int_xmin, 0.) + # Volumes. + inter_vol = h * w + bboxes_vol = (bboxes[2] - bboxes[0]) * (bboxes[3] - bboxes[1]) + scores = tfe_math.safe_divide(inter_vol, bboxes_vol, 'intersection') + return scores diff --git a/tf_extended/image.py b/tf_extended/image.py new file mode 100644 index 0000000..e69de29 diff --git a/tf_extended/math.py b/tf_extended/math.py new file mode 100644 index 0000000..99b65a3 --- /dev/null +++ b/tf_extended/math.py @@ -0,0 +1,67 @@ +# Copyright 2017 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""TF Extended: additional math functions. +""" +import tensorflow as tf + +from tensorflow.python.ops import array_ops +from tensorflow.python.ops import math_ops +from tensorflow.python.framework import dtypes +from tensorflow.python.framework import ops + + +def safe_divide(numerator, denominator, name): + """Divides two values, returning 0 if the denominator is <= 0. + Args: + numerator: A real `Tensor`. + denominator: A real `Tensor`, with dtype matching `numerator`. + name: Name for the returned op. + Returns: + 0 if `denominator` <= 0, else `numerator` / `denominator` + """ + return tf.where( + math_ops.greater(denominator, 0), + math_ops.divide(numerator, denominator), + tf.zeros_like(numerator), + name=name) + + +def cummax(x, reverse=False, name=None): + """Compute the cumulative maximum of the tensor `x` along `axis`. This + operation is similar to the more classic `cumsum`. Only support 1D Tensor + for now. + + Args: + x: A `Tensor`. Must be one of the following types: `float32`, `float64`, + `int64`, `int32`, `uint8`, `uint16`, `int16`, `int8`, `complex64`, + `complex128`, `qint8`, `quint8`, `qint32`, `half`. + axis: A `Tensor` of type `int32` (default: 0). + reverse: A `bool` (default: False). + name: A name for the operation (optional). + Returns: + A `Tensor`. Has the same type as `x`. + """ + with ops.name_scope(name, "Cummax", [x]) as name: + x = ops.convert_to_tensor(x, name="x") + # Not very optimal: should directly integrate reverse into tf.scan. + if reverse: + x = tf.reverse(x, axis=[0]) + # 'Accumlating' maximum: ensure it is always increasing. + cmax = tf.scan(lambda a, y: tf.maximum(a, y), x, + initializer=None, parallel_iterations=1, + back_prop=False, swap_memory=False) + if reverse: + cmax = tf.reverse(cmax, axis=[0]) + return cmax diff --git a/tf_extended/metrics.py b/tf_extended/metrics.py new file mode 100644 index 0000000..31cf19f --- /dev/null +++ b/tf_extended/metrics.py @@ -0,0 +1,397 @@ +# Copyright 2017 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""TF Extended: additional metrics. +""" +import tensorflow as tf +import numpy as np + +from tensorflow.contrib.framework.python.ops import variables as contrib_variables +from tensorflow.python.framework import dtypes +from tensorflow.python.framework import ops +from tensorflow.python.ops import array_ops +from tensorflow.python.ops import math_ops +from tensorflow.python.ops import nn +from tensorflow.python.ops import state_ops +from tensorflow.python.ops import variable_scope +from tensorflow.python.ops import variables + +from tf_extended import math as tfe_math + + +# =========================================================================== # +# TensorFlow utils +# =========================================================================== # +def _create_local(name, shape, collections=None, validate_shape=True, + dtype=dtypes.float32): + """Creates a new local variable. + Args: + name: The name of the new or existing variable. + shape: Shape of the new or existing variable. + collections: A list of collection names to which the Variable will be added. + validate_shape: Whether to validate the shape of the variable. + dtype: Data type of the variables. + Returns: + The created variable. + """ + # Make sure local variables are added to tf.GraphKeys.LOCAL_VARIABLES + collections = list(collections or []) + collections += [ops.GraphKeys.LOCAL_VARIABLES] + return variables.Variable( + initial_value=array_ops.zeros(shape, dtype=dtype), + name=name, + trainable=False, + collections=collections, + validate_shape=validate_shape) + + +def _safe_div(numerator, denominator, name): + """Divides two values, returning 0 if the denominator is <= 0. + Args: + numerator: A real `Tensor`. + denominator: A real `Tensor`, with dtype matching `numerator`. + name: Name for the returned op. + Returns: + 0 if `denominator` <= 0, else `numerator` / `denominator` + """ + return tf.where( + math_ops.greater(denominator, 0), + math_ops.divide(numerator, denominator), + tf.zeros_like(numerator), + name=name) + + +def _broadcast_weights(weights, values): + """Broadcast `weights` to the same shape as `values`. + This returns a version of `weights` following the same broadcast rules as + `mul(weights, values)`. When computing a weighted average, use this function + to broadcast `weights` before summing them; e.g., + `reduce_sum(w * v) / reduce_sum(_broadcast_weights(w, v))`. + Args: + weights: `Tensor` whose shape is broadcastable to `values`. + values: `Tensor` of any shape. + Returns: + `weights` broadcast to `values` shape. + """ + weights_shape = weights.get_shape() + values_shape = values.get_shape() + if(weights_shape.is_fully_defined() and + values_shape.is_fully_defined() and + weights_shape.is_compatible_with(values_shape)): + return weights + return math_ops.mul( + weights, array_ops.ones_like(values), name='broadcast_weights') + + +# =========================================================================== # +# TF Extended metrics: TP and FP arrays. +# =========================================================================== # +def precision_recall(num_gbboxes, num_detections, tp, fp, scores, + dtype=tf.float64, scope=None): + """Compute precision and recall from scores, true positives and false + positives booleans arrays + """ + # Input dictionaries: dict outputs as streaming metrics. + if isinstance(scores, dict): + d_precision = {} + d_recall = {} + for c in num_gbboxes.keys(): + scope = 'precision_recall_%s' % c + p, r = precision_recall(num_gbboxes[c], num_detections[c], + tp[c], fp[c], scores[c], + dtype, scope) + d_precision[c] = p + d_recall[c] = r + return d_precision, d_recall + + # Sort by score. + with tf.name_scope(scope, 'precision_recall', + [num_gbboxes, num_detections, tp, fp, scores]): + # Sort detections by score. + scores, idxes = tf.nn.top_k(scores, k=num_detections, sorted=True) + tp = tf.gather(tp, idxes) + fp = tf.gather(fp, idxes) + # Computer recall and precision. + tp = tf.cumsum(tf.cast(tp, dtype), axis=0) + fp = tf.cumsum(tf.cast(fp, dtype), axis=0) + recall = _safe_div(tp, tf.cast(num_gbboxes, dtype), 'recall') + precision = _safe_div(tp, tp + fp, 'precision') + return tf.tuple([precision, recall]) + + +def streaming_tp_fp_arrays(num_gbboxes, tp, fp, scores, + remove_zero_scores=True, + metrics_collections=None, + updates_collections=None, + name=None): + """Streaming computation of True and False Positive arrays. This metrics + also keeps track of scores and number of grountruth objects. + """ + # Input dictionaries: dict outputs as streaming metrics. + if isinstance(scores, dict) or isinstance(fp, dict): + d_values = {} + d_update_ops = {} + for c in num_gbboxes.keys(): + scope = 'streaming_tp_fp_%s' % c + v, up = streaming_tp_fp_arrays(num_gbboxes[c], tp[c], fp[c], scores[c], + remove_zero_scores, + metrics_collections, + updates_collections, + name=scope) + d_values[c] = v + d_update_ops[c] = up + return d_values, d_update_ops + + # Input Tensors... + with variable_scope.variable_scope(name, 'streaming_tp_fp', + [num_gbboxes, tp, fp, scores]): + num_gbboxes = math_ops.to_int64(num_gbboxes) + scores = math_ops.to_float(scores) + stype = tf.bool + tp = tf.cast(tp, stype) + fp = tf.cast(fp, stype) + # Reshape TP and FP tensors and clean away 0 class values. + scores = tf.reshape(scores, [-1]) + tp = tf.reshape(tp, [-1]) + fp = tf.reshape(fp, [-1]) + # Remove TP and FP both false. + mask = tf.logical_or(tp, fp) + if remove_zero_scores: + rm_threshold = 1e-4 + mask = tf.logical_and(mask, tf.greater(scores, rm_threshold)) + scores = tf.boolean_mask(scores, mask) + tp = tf.boolean_mask(tp, mask) + fp = tf.boolean_mask(fp, mask) + + # Local variables accumlating information over batches. + v_nobjects = _create_local('v_num_gbboxes', shape=[], dtype=tf.int64) + v_ndetections = _create_local('v_num_detections', shape=[], dtype=tf.int32) + v_scores = _create_local('v_scores', shape=[0, ]) + v_tp = _create_local('v_tp', shape=[0, ], dtype=stype) + v_fp = _create_local('v_fp', shape=[0, ], dtype=stype) + + # Update operations. + nobjects_op = state_ops.assign_add(v_nobjects, + tf.reduce_sum(num_gbboxes)) + ndetections_op = state_ops.assign_add(v_ndetections, + tf.size(scores, out_type=tf.int32)) + scores_op = state_ops.assign(v_scores, tf.concat([v_scores, scores], axis=0), + validate_shape=False) + tp_op = state_ops.assign(v_tp, tf.concat([v_tp, tp], axis=0), + validate_shape=False) + fp_op = state_ops.assign(v_fp, tf.concat([v_fp, fp], axis=0), + validate_shape=False) + + # Value and update ops. + val = (v_nobjects, v_ndetections, v_tp, v_fp, v_scores) + with ops.control_dependencies([nobjects_op, ndetections_op, + scores_op, tp_op, fp_op]): + update_op = (nobjects_op, ndetections_op, tp_op, fp_op, scores_op) + + if metrics_collections: + ops.add_to_collections(metrics_collections, val) + if updates_collections: + ops.add_to_collections(updates_collections, update_op) + return val, update_op + + +# =========================================================================== # +# Average precision computations. +# =========================================================================== # +def average_precision_voc12(precision, recall, name=None): + """Compute (interpolated) average precision from precision and recall Tensors. + + The implementation follows Pascal 2012 and ILSVRC guidelines. + See also: https://sanchom.wordpress.com/tag/average-precision/ + """ + with tf.name_scope(name, 'average_precision_voc12', [precision, recall]): + # Convert to float64 to decrease error on Riemann sums. + precision = tf.cast(precision, dtype=tf.float64) + recall = tf.cast(recall, dtype=tf.float64) + + # Add bounds values to precision and recall. + precision = tf.concat([[0.], precision, [0.]], axis=0) + recall = tf.concat([[0.], recall, [1.]], axis=0) + # Ensures precision is increasing in reverse order. + precision = tfe_math.cummax(precision, reverse=True) + + # Riemann sums for estimating the integral. + # mean_pre = (precision[1:] + precision[:-1]) / 2. + mean_pre = precision[1:] + diff_rec = recall[1:] - recall[:-1] + ap = tf.reduce_sum(mean_pre * diff_rec) + return ap + + +def average_precision_voc07(precision, recall, name=None): + """Compute (interpolated) average precision from precision and recall Tensors. + + The implementation follows Pascal 2007 guidelines. + See also: https://sanchom.wordpress.com/tag/average-precision/ + """ + with tf.name_scope(name, 'average_precision_voc07', [precision, recall]): + # Convert to float64 to decrease error on cumulated sums. + precision = tf.cast(precision, dtype=tf.float64) + recall = tf.cast(recall, dtype=tf.float64) + # Add zero-limit value to avoid any boundary problem... + precision = tf.concat([precision, [0.]], axis=0) + recall = tf.concat([recall, [np.inf]], axis=0) + + # Split the integral into 10 bins. + l_aps = [] + for t in np.arange(0., 1.1, 0.1): + mask = tf.greater_equal(recall, t) + v = tf.reduce_max(tf.boolean_mask(precision, mask)) + l_aps.append(v / 11.) + ap = tf.add_n(l_aps) + return ap + + +def precision_recall_values(xvals, precision, recall, name=None): + """Compute values on the precision/recall curve. + + Args: + x: Python list of floats; + precision: 1D Tensor decreasing. + recall: 1D Tensor increasing. + Return: + list of precision values. + """ + with ops.name_scope(name, "precision_recall_values", + [precision, recall]) as name: + # Add bounds values to precision and recall. + precision = tf.concat([[0.], precision, [0.]], axis=0) + recall = tf.concat([[0.], recall, [1.]], axis=0) + precision = tfe_math.cummax(precision, reverse=True) + + prec_values = [] + for x in xvals: + mask = tf.less_equal(recall, x) + val = tf.reduce_min(tf.boolean_mask(precision, mask)) + prec_values.append(val) + return tf.tuple(prec_values) + + +# =========================================================================== # +# TF Extended metrics: old stuff! +# =========================================================================== # +def _precision_recall(n_gbboxes, n_detections, scores, tp, fp, scope=None): + """Compute precision and recall from scores, true positives and false + positives booleans arrays + """ + # Sort by score. + with tf.name_scope(scope, 'prec_rec', [n_gbboxes, scores, tp, fp]): + # Sort detections by score. + scores, idxes = tf.nn.top_k(scores, k=n_detections, sorted=True) + tp = tf.gather(tp, idxes) + fp = tf.gather(fp, idxes) + # Computer recall and precision. + dtype = tf.float64 + tp = tf.cumsum(tf.cast(tp, dtype), axis=0) + fp = tf.cumsum(tf.cast(fp, dtype), axis=0) + recall = _safe_div(tp, tf.cast(n_gbboxes, dtype), 'recall') + precision = _safe_div(tp, tp + fp, 'precision') + + return tf.tuple([precision, recall]) + + +def streaming_precision_recall_arrays(n_gbboxes, rclasses, rscores, + tp_tensor, fp_tensor, + remove_zero_labels=True, + metrics_collections=None, + updates_collections=None, + name=None): + """Streaming computation of precision / recall arrays. This metrics + keeps tracks of boolean True positives and False positives arrays. + """ + with variable_scope.variable_scope(name, 'stream_precision_recall', + [n_gbboxes, rclasses, tp_tensor, fp_tensor]): + n_gbboxes = math_ops.to_int64(n_gbboxes) + rclasses = math_ops.to_int64(rclasses) + rscores = math_ops.to_float(rscores) + + stype = tf.int32 + tp_tensor = tf.cast(tp_tensor, stype) + fp_tensor = tf.cast(fp_tensor, stype) + + # Reshape TP and FP tensors and clean away 0 class values. + rclasses = tf.reshape(rclasses, [-1]) + rscores = tf.reshape(rscores, [-1]) + tp_tensor = tf.reshape(tp_tensor, [-1]) + fp_tensor = tf.reshape(fp_tensor, [-1]) + if remove_zero_labels: + mask = tf.greater(rclasses, 0) + rclasses = tf.boolean_mask(rclasses, mask) + rscores = tf.boolean_mask(rscores, mask) + tp_tensor = tf.boolean_mask(tp_tensor, mask) + fp_tensor = tf.boolean_mask(fp_tensor, mask) + + # Local variables accumlating information over batches. + v_nobjects = _create_local('v_nobjects', shape=[], dtype=tf.int64) + v_ndetections = _create_local('v_ndetections', shape=[], dtype=tf.int32) + v_scores = _create_local('v_scores', shape=[0, ]) + v_tp = _create_local('v_tp', shape=[0, ], dtype=stype) + v_fp = _create_local('v_fp', shape=[0, ], dtype=stype) + + # Update operations. + nobjects_op = state_ops.assign_add(v_nobjects, + tf.reduce_sum(n_gbboxes)) + ndetections_op = state_ops.assign_add(v_ndetections, + tf.size(rscores, out_type=tf.int32)) + scores_op = state_ops.assign(v_scores, tf.concat([v_scores, rscores], axis=0), + validate_shape=False) + tp_op = state_ops.assign(v_tp, tf.concat([v_tp, tp_tensor], axis=0), + validate_shape=False) + fp_op = state_ops.assign(v_fp, tf.concat([v_fp, fp_tensor], axis=0), + validate_shape=False) + + # Precision and recall computations. + # r = _precision_recall(nobjects_op, scores_op, tp_op, fp_op, 'value') + r = _precision_recall(v_nobjects, v_ndetections, v_scores, + v_tp, v_fp, 'value') + + with ops.control_dependencies([nobjects_op, ndetections_op, + scores_op, tp_op, fp_op]): + update_op = _precision_recall(nobjects_op, ndetections_op, + scores_op, tp_op, fp_op, 'update_op') + + # update_op = tf.Print(update_op, + # [tf.reduce_sum(tf.cast(mask, tf.int64)), + # tf.reduce_sum(tf.cast(mask2, tf.int64)), + # tf.reduce_min(rscores), + # tf.reduce_sum(n_gbboxes)], + # 'Metric: ') + # Some debugging stuff! + # update_op = tf.Print(update_op, + # [tf.shape(tp_op), + # tf.reduce_sum(tf.cast(tp_op, tf.int64), axis=0)], + # 'TP and FP shape: ') + # update_op[0] = tf.Print(update_op, + # [nobjects_op], + # '# Groundtruth bboxes: ') + # update_op = tf.Print(update_op, + # [update_op[0][0], + # update_op[0][-1], + # tf.reduce_min(update_op[0]), + # tf.reduce_max(update_op[0]), + # tf.reduce_min(update_op[1]), + # tf.reduce_max(update_op[1])], + # 'Precision and recall :') + + if metrics_collections: + ops.add_to_collections(metrics_collections, r) + if updates_collections: + ops.add_to_collections(updates_collections, update_op) + return r, update_op + diff --git a/tf_extended/tensors.py b/tf_extended/tensors.py new file mode 100644 index 0000000..f2d561b --- /dev/null +++ b/tf_extended/tensors.py @@ -0,0 +1,95 @@ +# Copyright 2017 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""TF Extended: additional tensors operations. +""" +import tensorflow as tf + +from tensorflow.contrib.framework.python.ops import variables as contrib_variables +from tensorflow.contrib.metrics.python.ops import set_ops +from tensorflow.python.framework import dtypes +from tensorflow.python.framework import ops +from tensorflow.python.framework import sparse_tensor +from tensorflow.python.ops import array_ops +from tensorflow.python.ops import check_ops +from tensorflow.python.ops import control_flow_ops +from tensorflow.python.ops import math_ops +from tensorflow.python.ops import nn +from tensorflow.python.ops import state_ops +from tensorflow.python.ops import variable_scope +from tensorflow.python.ops import variables + + +def get_shape(x, rank=None): + """Returns the dimensions of a Tensor as list of integers or scale tensors. + + Args: + x: N-d Tensor; + rank: Rank of the Tensor. If None, will try to guess it. + Returns: + A list of `[d1, d2, ..., dN]` corresponding to the dimensions of the + input tensor. Dimensions that are statically known are python integers, + otherwise they are integer scalar tensors. + """ + if x.get_shape().is_fully_defined(): + return x.get_shape().as_list() + else: + static_shape = x.get_shape() + if rank is None: + static_shape = static_shape.as_list() + rank = len(static_shape) + else: + static_shape = x.get_shape().with_rank(rank).as_list() + dynamic_shape = tf.unstack(tf.shape(x), rank) + return [s if s is not None else d + for s, d in zip(static_shape, dynamic_shape)] + + +def pad_axis(x, offset, size, axis=0, name=None): + """Pad a tensor on an axis, with a given offset and output size. + The tensor is padded with zero (i.e. CONSTANT mode). Note that the if the + `size` is smaller than existing size + `offset`, the output tensor + was the latter dimension. + + Args: + x: Tensor to pad; + offset: Offset to add on the dimension chosen; + size: Final size of the dimension. + Return: + Padded tensor whose dimension on `axis` is `size`, or greater if + the input vector was larger. + """ + with tf.name_scope(name, 'pad_axis'): + shape = get_shape(x) + rank = len(shape) + # Padding description. + new_size = tf.maximum(size-offset-shape[axis], 0) + pad1 = tf.stack([0]*axis + [offset] + [0]*(rank-axis-1)) + pad2 = tf.stack([0]*axis + [new_size] + [0]*(rank-axis-1)) + paddings = tf.stack([pad1, pad2], axis=1) + x = tf.pad(x, paddings, mode='CONSTANT') + # Reshape, to get fully defined shape if possible. + # TODO: fix with tf.slice + shape[axis] = size + x = tf.reshape(x, tf.stack(shape)) + return x + + +# def select_at_index(idx, val, t): +# """Return a tensor. +# """ +# idx = tf.expand_dims(tf.expand_dims(idx, 0), 0) +# val = tf.expand_dims(val, 0) +# t = t + tf.scatter_nd(idx, val, tf.shape(t)) +# return t diff --git a/tf_utils.py b/tf_utils.py new file mode 100644 index 0000000..2d362a4 --- /dev/null +++ b/tf_utils.py @@ -0,0 +1,258 @@ +# Copyright 2016 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Diverse TensorFlow utils, for training, evaluation and so on! +""" +import os +from pprint import pprint + +import tensorflow as tf +from tensorflow.contrib.slim.python.slim.data import parallel_reader + +slim = tf.contrib.slim + + +# =========================================================================== # +# General tools. +# =========================================================================== # +def reshape_list(l, shape=None): + """Reshape list of (list): 1D to 2D or the other way around. + + Args: + l: List or List of list. + shape: 1D or 2D shape. + Return + Reshaped list. + """ + r = [] + if shape is None: + # Flatten everything. + for a in l: + if isinstance(a, (list, tuple)): + r = r + list(a) + else: + r.append(a) + else: + # Reshape to list of list. + i = 0 + for s in shape: + if s == 1: + r.append(l[i]) + else: + r.append(l[i:i+s]) + i += s + return r + + +# =========================================================================== # +# Training utils. +# =========================================================================== # +def print_configuration(flags, ssd_params, data_sources, save_dir=None): + """Print the training configuration. + """ + def print_config(stream=None): + print('\n# =========================================================================== #', file=stream) + print('# Training | Evaluation flags:', file=stream) + print('# =========================================================================== #', file=stream) + pprint(flags, stream=stream) + + print('\n# =========================================================================== #', file=stream) + print('# SSD net parameters:', file=stream) + print('# =========================================================================== #', file=stream) + pprint(dict(ssd_params._asdict()), stream=stream) + + print('\n# =========================================================================== #', file=stream) + print('# Training | Evaluation dataset files:', file=stream) + print('# =========================================================================== #', file=stream) + data_files = parallel_reader.get_data_files(data_sources) + pprint(sorted(data_files), stream=stream) + print('', file=stream) + + print_config(None) + # Save to a text file as well. + if save_dir is not None: + if not os.path.exists(save_dir): + os.makedirs(save_dir) + path = os.path.join(save_dir, 'training_config.txt') + with open(path, "w") as out: + print_config(out) + + +def configure_learning_rate(flags, num_samples_per_epoch, global_step): + """Configures the learning rate. + + Args: + num_samples_per_epoch: The number of samples in each epoch of training. + global_step: The global_step tensor. + Returns: + A `Tensor` representing the learning rate. + """ + decay_steps = int(num_samples_per_epoch / flags.batch_size * + flags.num_epochs_per_decay) + + if flags.learning_rate_decay_type == 'exponential': + return tf.train.exponential_decay(flags.learning_rate, + global_step, + decay_steps, + flags.learning_rate_decay_factor, + staircase=True, + name='exponential_decay_learning_rate') + elif flags.learning_rate_decay_type == 'fixed': + return tf.constant(flags.learning_rate, name='fixed_learning_rate') + elif flags.learning_rate_decay_type == 'polynomial': + return tf.train.polynomial_decay(flags.learning_rate, + global_step, + decay_steps, + flags.end_learning_rate, + power=1.0, + cycle=False, + name='polynomial_decay_learning_rate') + else: + raise ValueError('learning_rate_decay_type [%s] was not recognized', + flags.learning_rate_decay_type) + + +def configure_optimizer(flags, learning_rate): + """Configures the optimizer used for training. + + Args: + learning_rate: A scalar or `Tensor` learning rate. + Returns: + An instance of an optimizer. + """ + if flags.optimizer == 'adadelta': + optimizer = tf.train.AdadeltaOptimizer( + learning_rate, + rho=flags.adadelta_rho, + epsilon=flags.opt_epsilon) + elif flags.optimizer == 'adagrad': + optimizer = tf.train.AdagradOptimizer( + learning_rate, + initial_accumulator_value=flags.adagrad_initial_accumulator_value) + elif flags.optimizer == 'adam': + optimizer = tf.train.AdamOptimizer( + learning_rate, + beta1=flags.adam_beta1, + beta2=flags.adam_beta2, + epsilon=flags.opt_epsilon) + elif flags.optimizer == 'ftrl': + optimizer = tf.train.FtrlOptimizer( + learning_rate, + learning_rate_power=flags.ftrl_learning_rate_power, + initial_accumulator_value=flags.ftrl_initial_accumulator_value, + l1_regularization_strength=flags.ftrl_l1, + l2_regularization_strength=flags.ftrl_l2) + elif flags.optimizer == 'momentum': + optimizer = tf.train.MomentumOptimizer( + learning_rate, + momentum=flags.momentum, + name='Momentum') + elif flags.optimizer == 'rmsprop': + optimizer = tf.train.RMSPropOptimizer( + learning_rate, + decay=flags.rmsprop_decay, + momentum=flags.rmsprop_momentum, + epsilon=flags.opt_epsilon) + elif flags.optimizer == 'sgd': + optimizer = tf.train.GradientDescentOptimizer(learning_rate) + else: + raise ValueError('Optimizer [%s] was not recognized', flags.optimizer) + return optimizer + + +def add_variables_summaries(learning_rate): + summaries = [] + for variable in slim.get_model_variables(): + summaries.append(tf.summary.histogram(variable.op.name, variable)) + summaries.append(tf.summary.scalar('training/Learning Rate', learning_rate)) + return summaries + + +def update_model_scope(var, ckpt_scope, new_scope): + return var.op.name.replace(new_scope,'vgg_16') + + +def get_init_fn(flags): + """Returns a function run by the chief worker to warm-start the training. + Note that the init_fn is only run when initializing the model during the very + first global step. + + Returns: + An init function run by the supervisor. + """ + if flags.checkpoint_path is None: + return None + # Warn the user if a checkpoint exists in the train_dir. Then ignore. + if tf.train.latest_checkpoint(flags.train_dir): + tf.logging.info( + 'Ignoring --checkpoint_path because a checkpoint already exists in %s' + % flags.train_dir) + return None + + exclusions = [] + if flags.checkpoint_exclude_scopes: + exclusions = [scope.strip() + for scope in flags.checkpoint_exclude_scopes.split(',')] + + # TODO(sguada) variables.filter_variables() + variables_to_restore = [] + for var in slim.get_model_variables(): + excluded = False + for exclusion in exclusions: + if var.op.name.startswith(exclusion): + excluded = True + break + if not excluded: + variables_to_restore.append(var) + # Change model scope if necessary. + if flags.checkpoint_model_scope is not None: + variables_to_restore = \ + {var.op.name.replace(flags.model_name, + flags.checkpoint_model_scope): var + for var in variables_to_restore} + + + if tf.gfile.IsDirectory(flags.checkpoint_path): + checkpoint_path = tf.train.latest_checkpoint(flags.checkpoint_path) + else: + checkpoint_path = flags.checkpoint_path + tf.logging.info('Fine-tuning from %s. Ignoring missing vars: %s' % (checkpoint_path, flags.ignore_missing_vars)) + + return slim.assign_from_checkpoint_fn( + checkpoint_path, + variables_to_restore, + ignore_missing_vars=flags.ignore_missing_vars) + + +def get_variables_to_train(flags): + """Returns a list of variables to train. + + Returns: + A list of variables to train by the optimizer. + """ + if flags.trainable_scopes is None: + return tf.trainable_variables() + else: + scopes = [scope.strip() for scope in flags.trainable_scopes.split(',')] + + variables_to_train = [] + for scope in scopes: + variables = tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES, scope) + variables_to_train.extend(variables) + return variables_to_train + + +# =========================================================================== # +# Evaluation utils. +# =========================================================================== # diff --git a/train_ssd_network.py b/train_ssd_network.py new file mode 100644 index 0000000..c93e2b4 --- /dev/null +++ b/train_ssd_network.py @@ -0,0 +1,390 @@ +# Copyright 2016 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Generic training script that trains a SSD model using a given dataset.""" +import tensorflow as tf +from tensorflow.python.ops import control_flow_ops + +from datasets import dataset_factory +from deployment import model_deploy +from nets import nets_factory +from preprocessing import preprocessing_factory +import tf_utils + +slim = tf.contrib.slim + +DATA_FORMAT = 'NCHW' + +# =========================================================================== # +# SSD Network flags. +# =========================================================================== # +tf.app.flags.DEFINE_float( + 'loss_alpha', 1., 'Alpha parameter in the loss function.') +tf.app.flags.DEFINE_float( + 'negative_ratio', 3., 'Negative ratio in the loss function.') +tf.app.flags.DEFINE_float( + 'match_threshold', 0.5, 'Matching threshold in the loss function.') + +# =========================================================================== # +# General Flags. +# =========================================================================== # +tf.app.flags.DEFINE_string( + 'train_dir', '/tmp/tfmodel/', + 'Directory where checkpoints and event logs are written to.') +tf.app.flags.DEFINE_integer('num_clones', 1, + 'Number of model clones to deploy.') +tf.app.flags.DEFINE_boolean('clone_on_cpu', False, + 'Use CPUs to deploy clones.') +tf.app.flags.DEFINE_integer( + 'num_readers', 4, + 'The number of parallel readers that read data from the dataset.') +tf.app.flags.DEFINE_integer( + 'num_preprocessing_threads', 4, + 'The number of threads used to create the batches.') + +tf.app.flags.DEFINE_integer( + 'log_every_n_steps', 10, + 'The frequency with which logs are print.') +tf.app.flags.DEFINE_integer( + 'save_summaries_secs', 600, + 'The frequency with which summaries are saved, in seconds.') +tf.app.flags.DEFINE_integer( + 'save_interval_secs', 600, + 'The frequency with which the model is saved, in seconds.') +tf.app.flags.DEFINE_float( + 'gpu_memory_fraction', 0.8, 'GPU memory fraction to use.') + +# =========================================================================== # +# Optimization Flags. +# =========================================================================== # +tf.app.flags.DEFINE_float( + 'weight_decay', 0.00004, 'The weight decay on the model weights.') +tf.app.flags.DEFINE_string( + 'optimizer', 'rmsprop', + 'The name of the optimizer, one of "adadelta", "adagrad", "adam",' + '"ftrl", "momentum", "sgd" or "rmsprop".') +tf.app.flags.DEFINE_float( + 'adadelta_rho', 0.95, + 'The decay rate for adadelta.') +tf.app.flags.DEFINE_float( + 'adagrad_initial_accumulator_value', 0.1, + 'Starting value for the AdaGrad accumulators.') +tf.app.flags.DEFINE_float( + 'adam_beta1', 0.9, + 'The exponential decay rate for the 1st moment estimates.') +tf.app.flags.DEFINE_float( + 'adam_beta2', 0.999, + 'The exponential decay rate for the 2nd moment estimates.') +tf.app.flags.DEFINE_float('opt_epsilon', 1.0, 'Epsilon term for the optimizer.') +tf.app.flags.DEFINE_float('ftrl_learning_rate_power', -0.5, + 'The learning rate power.') +tf.app.flags.DEFINE_float( + 'ftrl_initial_accumulator_value', 0.1, + 'Starting value for the FTRL accumulators.') +tf.app.flags.DEFINE_float( + 'ftrl_l1', 0.0, 'The FTRL l1 regularization strength.') +tf.app.flags.DEFINE_float( + 'ftrl_l2', 0.0, 'The FTRL l2 regularization strength.') +tf.app.flags.DEFINE_float( + 'momentum', 0.9, + 'The momentum for the MomentumOptimizer and RMSPropOptimizer.') +tf.app.flags.DEFINE_float('rmsprop_momentum', 0.9, 'Momentum.') +tf.app.flags.DEFINE_float('rmsprop_decay', 0.9, 'Decay term for RMSProp.') + +# =========================================================================== # +# Learning Rate Flags. +# =========================================================================== # +tf.app.flags.DEFINE_string( + 'learning_rate_decay_type', + 'exponential', + 'Specifies how the learning rate is decayed. One of "fixed", "exponential",' + ' or "polynomial"') +tf.app.flags.DEFINE_float('learning_rate', 0.01, 'Initial learning rate.') +tf.app.flags.DEFINE_float( + 'end_learning_rate', 0.0001, + 'The minimal end learning rate used by a polynomial decay learning rate.') +tf.app.flags.DEFINE_float( + 'label_smoothing', 0.0, 'The amount of label smoothing.') +tf.app.flags.DEFINE_float( + 'learning_rate_decay_factor', 0.94, 'Learning rate decay factor.') +tf.app.flags.DEFINE_float( + 'num_epochs_per_decay', 2.0, + 'Number of epochs after which learning rate decays.') +tf.app.flags.DEFINE_float( + 'moving_average_decay', None, + 'The decay to use for the moving average.' + 'If left as None, then moving averages are not used.') + +# =========================================================================== # +# Dataset Flags. +# =========================================================================== # +tf.app.flags.DEFINE_string( + 'dataset_name', 'imagenet', 'The name of the dataset to load.') +tf.app.flags.DEFINE_integer( + 'num_classes', 21, 'Number of classes to use in the dataset.') +tf.app.flags.DEFINE_string( + 'dataset_split_name', 'train', 'The name of the train/test split.') +tf.app.flags.DEFINE_string( + 'dataset_dir', None, 'The directory where the dataset files are stored.') +tf.app.flags.DEFINE_integer( + 'labels_offset', 0, + 'An offset for the labels in the dataset. This flag is primarily used to ' + 'evaluate the VGG and ResNet architectures which do not use a background ' + 'class for the ImageNet dataset.') +tf.app.flags.DEFINE_string( + 'model_name', 'ssd_300_vgg', 'The name of the architecture to train.') +tf.app.flags.DEFINE_string( + 'preprocessing_name', None, 'The name of the preprocessing to use. If left ' + 'as `None`, then the model_name flag is used.') +tf.app.flags.DEFINE_integer( + 'batch_size', 32, 'The number of samples in each batch.') +tf.app.flags.DEFINE_integer( + 'train_image_size', None, 'Train image size') +tf.app.flags.DEFINE_integer('max_number_of_steps', None, + 'The maximum number of training steps.') + +# =========================================================================== # +# Fine-Tuning Flags. +# =========================================================================== # +tf.app.flags.DEFINE_string( + 'checkpoint_path', None, + 'The path to a checkpoint from which to fine-tune.') +tf.app.flags.DEFINE_string( + 'checkpoint_model_scope', None, + 'Model scope in the checkpoint. None if the same as the trained model.') +tf.app.flags.DEFINE_string( + 'checkpoint_exclude_scopes', None, + 'Comma-separated list of scopes of variables to exclude when restoring ' + 'from a checkpoint.') +tf.app.flags.DEFINE_string( + 'trainable_scopes', None, + 'Comma-separated list of scopes to filter the set of variables to train.' + 'By default, None would train all the variables.') +tf.app.flags.DEFINE_boolean( + 'ignore_missing_vars', False, + 'When restoring a checkpoint would ignore missing variables.') + +FLAGS = tf.app.flags.FLAGS + + +# =========================================================================== # +# Main training routine. +# =========================================================================== # +def main(_): + if not FLAGS.dataset_dir: + raise ValueError('You must supply the dataset directory with --dataset_dir') + + tf.logging.set_verbosity(tf.logging.DEBUG) + with tf.Graph().as_default(): + # Config model_deploy. Keep TF Slim Models structure. + # Useful if want to need multiple GPUs and/or servers in the future. + deploy_config = model_deploy.DeploymentConfig( + num_clones=FLAGS.num_clones, + clone_on_cpu=FLAGS.clone_on_cpu, + replica_id=0, + num_replicas=1, + num_ps_tasks=0) + # Create global_step. + with tf.device(deploy_config.variables_device()): + global_step = slim.create_global_step() + + # Select the dataset. + dataset = dataset_factory.get_dataset( + FLAGS.dataset_name, FLAGS.dataset_split_name, FLAGS.dataset_dir) + + # Get the SSD network and its anchors. + ssd_class = nets_factory.get_network(FLAGS.model_name) + ssd_params = ssd_class.default_params._replace(num_classes=FLAGS.num_classes) + ssd_net = ssd_class(ssd_params) + ssd_shape = ssd_net.params.img_shape + ssd_anchors = ssd_net.anchors(ssd_shape) + + # Select the preprocessing function. + preprocessing_name = FLAGS.preprocessing_name or FLAGS.model_name + image_preprocessing_fn = preprocessing_factory.get_preprocessing( + preprocessing_name, is_training=True) + + tf_utils.print_configuration(FLAGS.__flags, ssd_params, + dataset.data_sources, FLAGS.train_dir) + # =================================================================== # + # Create a dataset provider and batches. + # =================================================================== # + with tf.device(deploy_config.inputs_device()): + with tf.name_scope(FLAGS.dataset_name + '_data_provider'): + provider = slim.dataset_data_provider.DatasetDataProvider( + dataset, + num_readers=FLAGS.num_readers, + common_queue_capacity=20 * FLAGS.batch_size, + common_queue_min=10 * FLAGS.batch_size, + shuffle=True) + # Get for SSD network: image, labels, bboxes. + [image, shape, glabels, gbboxes] = provider.get(['image', 'shape', + 'object/label', + 'object/bbox']) + # Pre-processing image, labels and bboxes. + image, glabels, gbboxes = \ + image_preprocessing_fn(image, glabels, gbboxes, + out_shape=ssd_shape, + data_format=DATA_FORMAT) + # Encode groundtruth labels and bboxes. + gclasses, glocalisations, gscores = \ + ssd_net.bboxes_encode(glabels, gbboxes, ssd_anchors) + batch_shape = [1] + [len(ssd_anchors)] * 3 + + # Training batches and queue. + r = tf.train.batch( + tf_utils.reshape_list([image, gclasses, glocalisations, gscores]), + batch_size=FLAGS.batch_size, + num_threads=FLAGS.num_preprocessing_threads, + capacity=5 * FLAGS.batch_size) + b_image, b_gclasses, b_glocalisations, b_gscores = \ + tf_utils.reshape_list(r, batch_shape) + + # Intermediate queueing: unique batch computation pipeline for all + # GPUs running the training. + batch_queue = slim.prefetch_queue.prefetch_queue( + tf_utils.reshape_list([b_image, b_gclasses, b_glocalisations, b_gscores]), + capacity=2 * deploy_config.num_clones) + + # =================================================================== # + # Define the model running on every GPU. + # =================================================================== # + def clone_fn(batch_queue): + """Allows data parallelism by creating multiple + clones of network_fn.""" + # Dequeue batch. + b_image, b_gclasses, b_glocalisations, b_gscores = \ + tf_utils.reshape_list(batch_queue.dequeue(), batch_shape) + + # Construct SSD network. + arg_scope = ssd_net.arg_scope(weight_decay=FLAGS.weight_decay, + data_format=DATA_FORMAT) + with slim.arg_scope(arg_scope): + predictions, localisations, logits, end_points = \ + ssd_net.net(b_image, is_training=True) + # Add loss function. + ssd_net.losses(logits, localisations, + b_gclasses, b_glocalisations, b_gscores, + match_threshold=FLAGS.match_threshold, + negative_ratio=FLAGS.negative_ratio, + alpha=FLAGS.loss_alpha, + label_smoothing=FLAGS.label_smoothing) + return end_points + + # Gather initial summaries. + summaries = set(tf.get_collection(tf.GraphKeys.SUMMARIES)) + + # =================================================================== # + # Add summaries from first clone. + # =================================================================== # + clones = model_deploy.create_clones(deploy_config, clone_fn, [batch_queue]) + first_clone_scope = deploy_config.clone_scope(0) + # Gather update_ops from the first clone. These contain, for example, + # the updates for the batch_norm variables created by network_fn. + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS, first_clone_scope) + + # Add summaries for end_points. + end_points = clones[0].outputs + for end_point in end_points: + x = end_points[end_point] + summaries.add(tf.summary.histogram('activations/' + end_point, x)) + summaries.add(tf.summary.scalar('sparsity/' + end_point, + tf.nn.zero_fraction(x))) + # Add summaries for losses and extra losses. + for loss in tf.get_collection(tf.GraphKeys.LOSSES, first_clone_scope): + summaries.add(tf.summary.scalar(loss.op.name, loss)) + for loss in tf.get_collection('EXTRA_LOSSES', first_clone_scope): + summaries.add(tf.summary.scalar(loss.op.name, loss)) + + # Add summaries for variables. + for variable in slim.get_model_variables(): + summaries.add(tf.summary.histogram(variable.op.name, variable)) + + # =================================================================== # + # Configure the moving averages. + # =================================================================== # + if FLAGS.moving_average_decay: + moving_average_variables = slim.get_model_variables() + variable_averages = tf.train.ExponentialMovingAverage( + FLAGS.moving_average_decay, global_step) + else: + moving_average_variables, variable_averages = None, None + + # =================================================================== # + # Configure the optimization procedure. + # =================================================================== # + with tf.device(deploy_config.optimizer_device()): + learning_rate = tf_utils.configure_learning_rate(FLAGS, + dataset.num_samples, + global_step) + optimizer = tf_utils.configure_optimizer(FLAGS, learning_rate) + summaries.add(tf.summary.scalar('learning_rate', learning_rate)) + + if FLAGS.moving_average_decay: + # Update ops executed locally by trainer. + update_ops.append(variable_averages.apply(moving_average_variables)) + + # Variables to train. + variables_to_train = tf_utils.get_variables_to_train(FLAGS) + + # and returns a train_tensor and summary_op + total_loss, clones_gradients = model_deploy.optimize_clones( + clones, + optimizer, + var_list=variables_to_train) + # Add total_loss to summary. + summaries.add(tf.summary.scalar('total_loss', total_loss)) + + # Create gradient updates. + grad_updates = optimizer.apply_gradients(clones_gradients, + global_step=global_step) + update_ops.append(grad_updates) + update_op = tf.group(*update_ops) + train_tensor = control_flow_ops.with_dependencies([update_op], total_loss, + name='train_op') + + # Add the summaries from the first clone. These contain the summaries + summaries |= set(tf.get_collection(tf.GraphKeys.SUMMARIES, + first_clone_scope)) + # Merge all summaries together. + summary_op = tf.summary.merge(list(summaries), name='summary_op') + + # =================================================================== # + # Kicks off the training. + # =================================================================== # + gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=FLAGS.gpu_memory_fraction) + config = tf.ConfigProto(log_device_placement=False, + gpu_options=gpu_options) + saver = tf.train.Saver(max_to_keep=5, + keep_checkpoint_every_n_hours=1.0, + write_version=2, + pad_step_number=False) + slim.learning.train( + train_tensor, + logdir=FLAGS.train_dir, + master='', + is_chief=True, + init_fn=tf_utils.get_init_fn(FLAGS), + summary_op=summary_op, + number_of_steps=FLAGS.max_number_of_steps, + log_every_n_steps=FLAGS.log_every_n_steps, + save_summaries_secs=FLAGS.save_summaries_secs, + saver=saver, + save_interval_secs=FLAGS.save_interval_secs, + session_config=config, + sync_optimizer=None) + + +if __name__ == '__main__': + tf.app.run()