Skip to content
A deep ranking network that learns to find good compositions in a photograph.
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
pdf
LICENSE
README.md
alexnet.npy
create_dbs.py
dataset.pkl
download_images.py
network.py
vfn_eval.py
vfn_train.py

README.md

View Finding Network

This repository contains the dataset and scripts used in the following article:

Yi-Ling Chen, Jan Klopp, Min Sun, Shao-Yi Chien, Kwan-Liu Ma, "Learning to Compose with Professional Photographs on the Web", in Proc. of ACM Multimedia 2017. (Supplemetnal)

News We are reimplementing this method in PyTorch. Check back often if you are interested.

Dependencies

You will need to have tensorflow (version > 1.0), skimage, tabulate, pillow installed on your system to run the scripts.

Download the dataset

  • Clone the repository to your local disk.
  • Under a command line window, run the following command to get the training images from Flickr:
$ python download_images.py -w 4

The above command will launch 4 worker threads to download the images to a default folder (./images).

Training

  • Run create_dbs.py to generate the TFRecords files used by Tensorflow.
  • Run vfn_train.py to start training.
$ python vfn_train.py --spp 0

The above example starts training with SPP disabled. Or you may want to enable SPP with either max or avg options.

$ python vfn_train.py --pooling max

Note that if you changed the output filenames when running create_dbs.py, you will need to provide the new filenames to vfn_train.py. Take a look at the script to check out other available parameters or run the following command.

$ python vfn_train.py -h

Evaluation

We provide the evaluation script to reproduce our evaluation results on Flickr cropping dataset. For example,

$ python vfn_eval.py --spp false --snapshot snapshots/model-wo-spp

You will need to get sliding_window.json and the test images from the Flickr cropping dataset and specify the path of your model when running vfn_eval.py. You can also try our pre-trained model, which can be downloaded from here.

If you want to get an aesthetic score of a patch, please take a look at the example featured by ModelDepot

Questions?

If you have questions/suggestions, feel free to send an email to (yiling dot chen dot ntu at gmail dot com).

If this work helps your research, please cite the following article:

@inproceedings{chen-acmmm-2017,
  title={Learning to Compose with Professional Photographs on the Web},
  author={Yi-Ling Chen and Jan Klopp and Min Sun and Shao-Yi Chien and Kwan-Liu Ma},
  booktitle={ACM Multimedia 2017},
  year={2017}
}
You can’t perform that action at this time.