All Projects → shuuchen → video_autoencoder

shuuchen / video_autoencoder

Licence: GPL-3.0 License
Video lstm auto encoder built with pytorch. https://arxiv.org/pdf/1502.04681.pdf

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to video autoencoder

dltf
Hands-on in-person workshop for Deep Learning with TensorFlow
Stars: ✭ 14 (-56.25%)
Mutual labels:  lstm, autoencoder
Ad examples
A collection of anomaly detection methods (iid/point-based, graph and time series) including active learning for anomaly detection/discovery, bayesian rule-mining, description for diversity/explanation/interpretability. Analysis of incorporating label feedback with ensemble and tree-based detectors. Includes adversarial attacks with Graph Convolutional Network.
Stars: ✭ 641 (+1903.13%)
Mutual labels:  lstm, autoencoder
Dancenet
DanceNet -💃💃Dance generator using Autoencoder, LSTM and Mixture Density Network. (Keras)
Stars: ✭ 469 (+1365.63%)
Mutual labels:  lstm, autoencoder
Repo 2016
R, Python and Mathematica Codes in Machine Learning, Deep Learning, Artificial Intelligence, NLP and Geolocation
Stars: ✭ 103 (+221.88%)
Mutual labels:  lstm, autoencoder
Sequitur
Library of autoencoders for sequential data
Stars: ✭ 162 (+406.25%)
Mutual labels:  lstm, autoencoder
Lstm Autoencoders
Anomaly detection for streaming data using autoencoders
Stars: ✭ 113 (+253.13%)
Mutual labels:  lstm, autoencoder
Aialpha
Use unsupervised and supervised learning to predict stocks
Stars: ✭ 1,191 (+3621.88%)
Mutual labels:  lstm, autoencoder
Keras Video Classifier
Keras implementation of video classifier
Stars: ✭ 100 (+212.5%)
Mutual labels:  video-processing, lstm
MTL-AQA
What and How Well You Performed? A Multitask Learning Approach to Action Quality Assessment [CVPR 2019]
Stars: ✭ 38 (+18.75%)
Mutual labels:  video-processing, lstm
ion-avp
Audio/Video Processing Service
Stars: ✭ 55 (+71.88%)
Mutual labels:  video-processing
tennis action recognition
Using deep learning to perform action recognition in the sport of tennis.
Stars: ✭ 17 (-46.87%)
Mutual labels:  video-processing
sldm4-h2o
Statistical Learning & Data Mining IV - H2O Presenation & Tutorial
Stars: ✭ 26 (-18.75%)
Mutual labels:  autoencoder
HTR-ctc
Pytorch implementation of HTR on IAM dataset (word or line level + CTC loss)
Stars: ✭ 15 (-53.12%)
Mutual labels:  lstm
virnet
VirNet: A deep attention model for viral reads identification
Stars: ✭ 26 (-18.75%)
Mutual labels:  lstm
autonomio
Core functionality for the Autonomio augmented intelligence workbench.
Stars: ✭ 27 (-15.62%)
Mutual labels:  lstm
VideoSplice
Video splice effects.
Stars: ✭ 56 (+75%)
Mutual labels:  video-processing
looking-to-listen-at-cocktail-party
Looking to listen at cocktail party
Stars: ✭ 33 (+3.13%)
Mutual labels:  video-processing
AutoEncoders
Variational autoencoder, denoising autoencoder and other variations of autoencoders implementation in keras
Stars: ✭ 14 (-56.25%)
Mutual labels:  autoencoder
tracker
CRS Ticket Tracker
Stars: ✭ 15 (-53.12%)
Mutual labels:  video-processing
totally humans
rnn trained on r/totallynotrobots 🤖
Stars: ✭ 23 (-28.12%)
Mutual labels:  lstm

video_autoencoder

Video lstm auto encoder built with pytorch. https://arxiv.org/pdf/1502.04681.pdf

This project auto-encodes videos by vectorizing consecutive screens of videos using an LSTM auto-encoder.

Training data

The training data is a collection of cow screen images sampled from some videos. Per image is sampled for every 50 frames and 6 consecutive images are used as a training sample. Since the video is 30 frames / second, one training sample is a summary of movements in 10 seconds. We tried to analyze the movements of cows by analyzing the output movement vectors of the model.

Preprocessing

The images are vectorized using some CNNs like Resnet before input to the LSTM auto-encoder. Here, the output vector of the last full connection layer of Resnet50 is used. So every image is transformed into a 2048 dimension vector firstly. The Resnet50 is also fine-tuned using the training data.

Learning curve

The auto-encoder is well trained according to the following learning curve.

Learned vector patterns

The movement of cows in consecutive screens is vectorized by the model. The changes of colors indicate different movements of cows.

t-SNE dimension reduction

Dimension reduction on the learned vectors according to different perplexity values.

Clustering of dimension reduction results

The labels of differnet colors are automatically generated by various clustering algorithms. Differnet labels correspond to differnet movements of cows.

Relations between generated labels and original image data

The second clustering of Ward column is used for analyzing the labels and their corresponding images. It can be seen that differnet labels correspond to different movements of cows.

The summary of movements can be listed as follows:

label movement
0 head and limbs
1 head and belly (including cow-birth)
2 head
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].