Skip to content
Implementation of NIMA: Neural Image Assessment
Branch: master
Clone or download
Latest commit 4a68599 May 16, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
README.md
convert_ava.py
nima.png
nima.py
nima_test.py
tensorboard.png
train_eval_nima.py

README.md

NIMA: Neural Image Assessment

Implementation of the NIMA model in TensorFlow.

Picture extracted from [1].

Requirements

  • Python 3.5+
  • TensorFlow 1.6+

Prerequisites

  • Download the Inception v2 weights from TF-Slim models
  • Download the AVA dataset from elsewhere
  • Convert AVA to TFRecords using convert_ava.py script:
./convert_ava.py --ava_dir <path to ava> --dataset_dir <path to dataset>

Training

./train_eval_nima.py --dataset_dir <path to dataset> \
    --split_name=train \
    --log_dir <path to train dir> \
    --checkpoint_path <path to inception_v2.ckpt> \
    --checkpoint_exclude_scopes=InceptionV2/Logits

Evaluation

./train_eval_nima.py --dataset_dir <path to dataset> \
    --split_name validation \
    --log_dir <path to train dir> \
    --eval \
    --max_epochs 1

Results

The model has plateaued at 89% correlation after training for 20 epochs:

References

  1. Talebi, Hossein, and Peyman Milanfar. "NIMA: Neural Image Assessment." IEEE Transactions on Image Processing (2018).
You can’t perform that action at this time.