Skip to content

Extract video features from raw videos using multiple GPUs. We support RAFT and PWC flow frames as well as I3D, R(2+1)D, VGGish, ResNet features.

License

Notifications You must be signed in to change notification settings

ltp1995/video_features

 
 

Repository files navigation

Video Features

video_features allows you to extract features from raw videos in parallel with multiple GPUs. It supports several extractors that capture visual appearance, optical flow, and audio features. See more details in Documentation.

Quick Start

Open In Colab

# clone the repo and change the working directory
git clone https://github.com/v-iashin/video_features.git
cd video_features

# install environment
conda env create -f conda_env_torch_zoo.yml

# load the environment
conda activate torch_zoo

# extract r(2+1)d features for the sample videos
python main.py \
    feature_type=r21d \
    device_ids="[0]" \
    video_paths="[./sample/v_ZNVhz7ctTq0.mp4, ./sample/v_GGSY1Qvo990.mp4]"

# use `device_ids="[0, 2]"` to run on 0th and 2nd devices in parallel

Supported models

Action Recognition

Sound Recognition

Optical Flow

Image Recognition

Used in

Please, let me know if you found this repo useful for your projects or papers.

Ideas for Contributions

I would be happy to consider your ideas and PRs. Here is a few things I have in mind:

  • Docker image supporting all models
  • PyTorch DDP support (for multi-node extraction)
  • Refactor the code base with OOP in mind – now the code is a bit redundant for each feature
  • More models, of course

About

Extract video features from raw videos using multiple GPUs. We support RAFT and PWC flow frames as well as I3D, R(2+1)D, VGGish, ResNet features.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%