/ILS-SUMM

Primary LanguagePython

ILS-SUMM

This repo contains a python implementation of the paper - ILS-SUMM: Iterated Local Search for Unsupervised Video Summarization (ICPR 2020 paper). The main requirements are python 3.6 and moviepy. Please install other missing dependencies.


A video summary of Cosmus Laundromat movie generated by ILS-SUMM.

Get started

  1. Download the code
git clone https://github.com/ICLR-2020-ILS-SUMM/ILS-SUMM.git
  1. Copy your video file and the features and durations of the video shots into the data directory. Currently, the data directory contains the features and durations we use for the Cosmus Laundromat movie.
cp /<yourdatadir>/{shots_features.npy,shots_durations.npy,yourvideo.mp4} /data/

How to run ILS-SUMM

Run demo.py with the video file name and the allowed summarization ratio as arguments.
For example, assigning 0.1 to summ_ratio means the maximum length of the summary will be 10% of the full video length.

python demo.py <video_file_name> <summ_ratio>

Example

For Cosmus Laundromat, we get the following results:

The selected shots are: [  2   6   8  39  42  45  47  50  72  75  77  78  79  88 102]
The achieved total distance is: 20.518

To illustrate the solution, the following figure will be saved in the data directory:
The features dimension was reduced to two dimensions using PCA. The point radius is proportional to the shot duration, and blue color denotes the shots that were chosen by ILS-SUMM algorithm.

Datasets

The datasets we used in the paper can be found here.
A description of the datasets is here.

Citation

@article{shemer2019ils,
  title={ILS-SUMM: Iterated Local Search for Unsupervised Video Summarization},
  author={Shemer, Yair and Rotman, Daniel and Shimkin, Nahum},
  journal={arXiv preprint arXiv:1912.03650},
  year={2019}
}