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
Before installing my package, please install these pakages: .. code:: commandline
(python 3.8) 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
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.
Credits
This code is based on the following repositories:
* 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for i3dFeatureExtraction-0.3.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09dccdc73d5d7224f507e4ceb106eda58e190e3f548b990ec3419d207e6cb4a6 |
|
MD5 | a69ac51d4ee1bafd71b04ab282c16a25 |
|
BLAKE2b-256 | cd3c288393b8fd4b308f731db089d6e4774ca8e28df50c20bfa54d2a1e63317d |
Hashes for i3dFeatureExtraction-0.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4778cdf19475ea4ea593a8338a751f198569ac5a2eeaae6753dd214d3504842d |
|
MD5 | 9af74f08495fe1b76e6fce37228c215c |
|
BLAKE2b-256 | f5600fe6608b184ff0d853815927646ce77d0a1cd9430d3d99f3b741f27c563c |