Git Product home page Git Product logo

eccv20_multi_task_procedure_learning's Introduction

Self-Supervised Multi-Task Procedure Learning from Instructional Videos

Overview

This repository contains the implementation of Self-Supervised Multi-Task Procedure Learning from Instructional Videos.


Prerequisites

  • Python 3.x
  • PyTorch 1.x.x
  • sklearn
  • matplotlib
  • skimage
  • scipy

Data Preparation

CrossTask

  1. Please download and extract the annotations and video links of CrossTask to ./data/CrossTask via https://www.di.ens.fr/~dzhukov/crosstask/crosstask_release.zip

  2. To crawl videos in CrossTask from YouTube, please run:

python ./download_youtube/download_youtube_CrossTask.py
  1. To extract and subsample video frame feature, please run:
python ./extract_feature/extract_img_frame_CrossTask.py
python ./extract_feature/extract_feature_cats_CrossTask_subsample.py
  • We use the original training/testing split from CrossTask dataset

ProceL

  1. Please download and extract the annotations and video links of ProceL to ./data/ProceL via https://drive.google.com/file/d/1b8PoZlYeNMP3PieJ3_80KkeibaCmmljS/view?usp=sharing

  2. To crawl videos in ProceL from YouTube, please run:

python ./download_youtube/download_youtube_ProceL.py
  1. Please run the following preprocessing script to gather annotation file in ProceL:
python ./preprocess/rename_gather_mat_file_ProceL.py
  1. To extract and subsample video frame feature, please run:
python ./extract_feature/extract_img_frame_ProceL.py
python ./extract_feature/extract_feature_cats_ProceL.py
python ./extract_feature/extract_feature_cats_ProceL_subsample.py
  • Information about the training split of ProceL is in ./data_partition/ProceL_train_partition.csv

Training

[CrossTask] Task-Specific Setting

  1. To train the task-specific model on CrossTask dataset, please run:
chmod +x ./chain_experiment_script/CrossTask/CrossTask_same_cat_ss.sh
./chain_experiment_script/CrossTask/CrossTask_same_cat_ss.sh

[CrossTask] Multi-Task Setting

  1. To train the multi-task model on CrossTask dataset, please run:
chmod +x ./chain_experiment_script/CrossTask/CrossTask_all_cat_experiments.sh
./chain_experiment_script/CrossTask/CrossTask_all_cat_experiments.sh

[ProceL] Multi-Task Setting

  1. To train the multi-task model on ProceL dataset, please run:
chmod +x ./chain_experiment_script/ProceL/all_cat_experiments.sh
./chain_experiment_script/ProceL/all_cat_experiments.sh

Citation

If this code is helpful for your research, we would appreciate if you cite the work:

@article{Elhamifar-MultiTaskProcedureLearning:ECCV20,
  author = {E.~Elhamifar and D.~Huynh},
  title = {Self-Supervised Multi-Task Procedure Learning from Instructional Videos},
  journal = {European Conference on Computer Vision},
  year = {2020}}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.