vid

vidaug

Effective Video Augmentation Techniques for Training Convolutional Neural Networks

Showing:

Popularity

Downloads/wk

0

GitHub Stars

220

Maintenance

Last Commit

9mos ago

Contributors

5

Package

Dependencies

0

License

MIT

Categories

Readme

Video Augmentation Techniques for Deep Learning

This python library helps you with augmenting videos for your deep learning architectures. It converts input videos into a new, much larger set of slightly altered videos.

Original Video

Requirements and installation

Required packages:

  • numpy
  • PIL
  • scipy
  • skimage
  • OpenCV (i.e. cv2)

For installation, simply use sudo pip install git+https://github.com/okankop/vidaug. Alternatively, the repository can be download via git clone https://github.com/okankop/vidaug and installed by using python setup.py sdist && pip install dist/vidaug-0.1.tar.gz.

Examples

A classical video classification with CNN using augmentations on videos. Train on batches of images and augment each batch via random crop, random crop and horizontal flip:

from vidaug import augmentors as va

sometimes = lambda aug: va.Sometimes(0.5, aug) # Used to apply augmentor with 50% probability
seq = va.Sequential([
    va.RandomCrop(size=(240, 180)), # randomly crop video with a size of (240 x 180)
    va.RandomRotate(degrees=10), # randomly rotates the video with a degree randomly choosen from [-10, 10]  
    sometimes(va.HorizontalFlip()) # horizontally flip the video with 50% probability
])

for batch_idx in range(1000):
    # 'video' should be either a list of images from type of numpy array or PIL images
    video = load_batch(batch_idx)
    video_aug = seq(video)
    train_on_video(video)

The videos below show examples for most augmentation techniques:

Augmentation TypeAugmented Video
Piecewise Affine TransformPiecewise Affine Transform
SuperpixelSuperpixel
Gausian BlurGausian Blur
Invert ColorInvert Color
Rondom RotateRondom Rotate
Random ResizeRandom Resize
TranslateTranslate
Center CropCenter Crop
Horizontal FlipHorizontal Flip
Vertical FlipVertical Flip
AddAdd
MultiplyMultiply
DownsampleDownsample
UpsampleUpsample
Elastic TransformationElastic Transformation
SaltSalt
PepperCropping
ShearShear

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100