This repo holds the code and models for the movie-synopsis association framework presented on ICCV2019:
Title: A Graph-Based Framework to Bridge Movies and Synopses, ICCV19, Seoul, South Korea.
Authors: Yu Xiong, Qingqiu Huang, Lingfeng Guo, Hang Zhou, Bolei Zhou, Dahua Lin.
Useful Links: [Paper] [Arxiv] [Project Page] [Dataset Website]
- [10/2019] We are still cleaning and expanding this dataset.
- Update to a newer version of PyTorch
- Data preprocessing codes
- Release the whole dataset
The following instructions will get the project set up on your local machine.
All the codes are tested on the following environments:
- Linux (Ubuntu 16.04)
- Python >= 3.6
- PyTorch >= 0.4.1
- CUDA 9.2
Pip install the following dependencies:
mmcv >= 0.2.0
Gurobi is a powerful optimization solver.
We use gurobi for solving the graph matching problem.
Follow the instructions below to install gurobi with Free Academic License
.
For other license or detailed official instructions,
please visit here.
- Login or register an account using academic email address at here.
- Enter this page and download gurobi optimizer (linux, version>=8.1.0)
- Issue an academic lisence for your local machine.
Take Gurobi-8.1.0 for example, enter the folder that store the gurobi source file, unzip it
tar -xvzf gurobi8.1.0_linux64.tar.gz
And then install gurobipy by
cd gurobi810/linux64
python setup.py install
Q1. Python ImportError: libgurobi{version}.so: cannot open shared object file: No such file or directory
A1. export gurobi lib to your LD_LIBIRARY_PATH
by:
export GUROBI_HOME="/path/of/gurobi810(or_other_version)/linux64" # replace the path
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"
git clone git@github.com:ycxioooong/MovieSynopsisAssociation.git
Download our MSA (Movie Synopsis Association) dataset from Here. Note that we only provide extrated features at this moment due to legal issues. More information of our dataset will be updated at the Dataset Website.
Unzip the dataset by
unzip xxx.zip
cd /path/of/MovieSynopsisAssociation
ln -s /path/of/your/msa/dataset/directory data
First we train embedding networks for appearance feature and action feature respectively by
python tools/train.py config/CONFIG_OF_APPR_BASELINE.py --work_dir work_dir/WORK_DIR_NAME --validate
@InProceedings{Xiong_2019_ICCV,
author = {Xiong, Yu and Huang, Qingqiu and Guo, Lingfeng and Zhou, Hang and Zhou, Bolei and Lin, Dahua},
title = {A Graph-Based Framework to Bridge Movies and Synopses},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {October},
year = {2019}
}
This project is part of the Movie Understanding Project
. The other related movie projects are:
- Cast In Movies: Unifying Identification and Context Learning for Person Recognition. [Project Page]
- Cast Search: Person Search in Videos with One Portrait Through Visual and Temporal Links. [Project Page]
- Trailer to Movie: From Trailers to Storylines: An Efficient Way to Learn from Movies
Xiong Yu: xy017@ie.cuhk.edu.hk