Skip to main content

This package helps extract i3D features with ResNet-50 backbone given a folder of videos

Project description

Hello, I am Hao Vy Phan. I have develop this package using ResNet-50 to convert a video into an extracted i3D features numpy file.

Update: * Version 0.3.2: Fix bug of searching for video files. Now it looks for extensions .webm, .avi, .wmv, .mp4, .m4v, .m4p inside folder datasetpath.

* Version 0.3.1.1: The function can receive directly the path to just 1 video, if multiplefiles is set False.

Overview

Input: a directory which store 1 or more videos.

Output: 1 or many .npy files (extracted i3D features). Each features file is shaped n/16 * 2048 where n is the number of frames in the video

If there is a problem installing or implementing this package, please do not hesitate to contact me via my email. I am pleased to have people use my product.


Usage

Installation

(python3.8) Before installing my package, please install these pakages:

pip install torchvision-0.11.2+cu113-cp38-cp38-win_amd64.whl
pip install torchaudio-0.10.1+cu113-cp38-cp38-win_amd64.whl
pip install torch-1.10.1+cu113-cp38-cp38-win_amd64.whl
pip install opencv_python-4.5.5-cp38-cp38-win_amd64.whl

You can find the wheels here: https://download.pytorch.org/whl/cu113/torch_stable.html * Opencv-Python==4.5.5

* torch==1.10.1+cu113

* torchaudio==0.10.1+cu113

* torchvision==0.11.2+cu113

After 4 above packages, to install i3dFeatureExtraction package into your Python environment, run this code on your terminal:

pip install i3dFeatureExtraction

Implementing

The main function of this package is FeatureExtraction which converts a directory of videos into numpy feature files.

from i3dFeatureExtraction import FeatureExtraction
FeatureExtraction.generate(
    datasetpath="directory/of/input/videos",
    outputpath = "directory/to/store/output/numpy/files",
    pretrainedpath = "path/to/i3D/pretrained/weight",
    sample_mode = "oversample/center_crop"
    multiplefiles = True/False
)
  • datasetpath (REQUIRED): path to videos.

  • If multiplefiles is True (default), the datasetpath is the path to a directory which contains 1 or more videos.

  • If multiplefiles is False, the datasetpath is the path to a video.

  • outputpath (optional, default: “output/”): the proccessed numpy feature files would be stored in this directory.

  • pretrainedpath (optional, default: “pretrained/”): the path of the pretrained i3d weight. If the weight is not existed, it will be downloaded and created manually.

  • sample_mode (optional, default: “oversample/”) receive “oversample” or “center_crop”. If oversample, each frame will be cropped and flipped to be turned into 10 frames.


Structure of this package

I am not good at drawing UML diagram but I hope this image helps illustrate the package’s structure.

i3dFeatureExtraction - UML Diagram

Credits

This code is based on the following repositories:

* pytorch-resnet3d

* pytorch-i3d-feature-extraction

* E2E-Action-Segmentation/feature_extraction/

I would like to extend a special thank-you to the original authors of these repositories for providing the foundation on which this implementation is built.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

i3dFeatureExtraction-0.3.3.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

i3dFeatureExtraction-0.3.3-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file i3dFeatureExtraction-0.3.3.tar.gz.

File metadata

  • Download URL: i3dFeatureExtraction-0.3.3.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for i3dFeatureExtraction-0.3.3.tar.gz
Algorithm Hash digest
SHA256 bffc703af2816356bf32eb23e23d428eeaca1ca240b30478f40d208cead792eb
MD5 fb6203604290855cb2d8238a9a6a86e7
BLAKE2b-256 a24d9a6ebe0d9608c6a9755a640aec256d12b102ffbe403552867bdb52cfd454

See more details on using hashes here.

File details

Details for the file i3dFeatureExtraction-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for i3dFeatureExtraction-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 46cdb9f88c66916d0105d9bb5e31f73f4a5c9b11a1207a434b42678726ffe3b6
MD5 5483f21c7dc8e5ad3208e286fc8e5a90
BLAKE2b-256 426d46d686a41b9410a234fef384f056b64ea206856cd1fb6110ef78c3716419

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page