All Projects → ContentAutomation → NeuralNetworks

ContentAutomation / NeuralNetworks

Licence: MIT license
Implementation of a Neural Network that can detect whether a video is in-game or not

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to NeuralNetworks

neuralBlack
A Multi-Class Brain Tumor Classifier using Convolutional Neural Network with 99% Accuracy achieved by applying the method of Transfer Learning using Python and Pytorch Deep Learning Framework
Stars: ✭ 36 (-43.75%)
Mutual labels:  transfer-learning, resnet-50
Densedepth
High Quality Monocular Depth Estimation via Transfer Learning
Stars: ✭ 963 (+1404.69%)
Mutual labels:  transfer-learning, keras-tensorflow
Sru Deeplearning Workshop
دوره 12 ساعته یادگیری عمیق با چارچوب Keras
Stars: ✭ 66 (+3.13%)
Mutual labels:  transfer-learning, keras-tensorflow
TA3N
[ICCV 2019 Oral] TA3N: https://github.com/cmhungsteve/TA3N (Most updated repo)
Stars: ✭ 45 (-29.69%)
Mutual labels:  transfer-learning
clean-net
Tensorflow source code for "CleanNet: Transfer Learning for Scalable Image Classifier Training with Label Noise" (CVPR 2018)
Stars: ✭ 86 (+34.38%)
Mutual labels:  transfer-learning
mrnet
Building an ACL tear detector to spot knee injuries from MRIs with PyTorch (MRNet)
Stars: ✭ 98 (+53.13%)
Mutual labels:  transfer-learning
KerasMNIST
Keras MNIST for Handwriting Detection
Stars: ✭ 25 (-60.94%)
Mutual labels:  keras-tensorflow
Clan
( CVPR2019 Oral ) Taking A Closer Look at Domain Shift: Category-level Adversaries for Semantics Consistent Domain Adaptation
Stars: ✭ 248 (+287.5%)
Mutual labels:  transfer-learning
cozmo-tensorflow
🤖 Cozmo the Robot recognizes objects with TensorFlow
Stars: ✭ 61 (-4.69%)
Mutual labels:  transfer-learning
Xtreme-Vision
A High Level Python Library to empower students, developers to build applications and systems enabled with computer vision capabilities.
Stars: ✭ 77 (+20.31%)
Mutual labels:  keras-tensorflow
100DaysOfMLCode
I am taking up the #100DaysOfMLCode Challenge 😎
Stars: ✭ 12 (-81.25%)
Mutual labels:  keras-tensorflow
transfertools
Python toolbox for transfer learning.
Stars: ✭ 22 (-65.62%)
Mutual labels:  transfer-learning
WGAN GP
Keras model and tensorflow optimization of 'improved Training of Wasserstein GANs'
Stars: ✭ 16 (-75%)
Mutual labels:  keras-tensorflow
COVID-19-DETECTION
Detect Covid-19 with Chest X-Ray Data
Stars: ✭ 43 (-32.81%)
Mutual labels:  keras-tensorflow
Revisiting-Contrastive-SSL
Revisiting Contrastive Methods for Unsupervised Learning of Visual Representations. [NeurIPS 2021]
Stars: ✭ 81 (+26.56%)
Mutual labels:  transfer-learning
TF2DeepFloorplan
TF2 Deep FloorPlan Recognition using a Multi-task Network with Room-boundary-Guided Attention. Enable tensorboard, quantization, flask, tflite, docker, github actions and google colab.
Stars: ✭ 98 (+53.13%)
Mutual labels:  keras-tensorflow
machine learning course
Artificial intelligence/machine learning course at UCF in Spring 2020 (Fall 2019 and Spring 2019)
Stars: ✭ 47 (-26.56%)
Mutual labels:  keras-tensorflow
temporal-ssl
Video Representation Learning by Recognizing Temporal Transformations. In ECCV, 2020.
Stars: ✭ 46 (-28.12%)
Mutual labels:  transfer-learning
pykale
Knowledge-Aware machine LEarning (KALE): accessible machine learning from multiple sources for interdisciplinary research, part of the 🔥PyTorch ecosystem
Stars: ✭ 381 (+495.31%)
Mutual labels:  transfer-learning
Kervolution
Kervolution implementation using TF2.0
Stars: ✭ 20 (-68.75%)
Mutual labels:  keras-tensorflow

Logo

MIT License Code style: black
Tensorflow

Implementation of a Neural Network that can detect whether a video is Ingame or not

Video explanation (YouTube)

Authors: Christian C., Moritz M., Luca S.
Related Projects: Twitch Compilation Creator, YouTube Uploader, YouTube Watcher


Ingame Detection

About

This project implements a convolutional neural network architecture that can be trained to detect whether a given video clip is in-game or not. The network is trained using transfer learning by choosing one of the following architectures: ResNet50 (default), VGG16, InceptionV3

Setup

This project requires Poetry to install the required dependencies. Check out this link to install Poetry on your operating system.

Make sure you have installed Python 3.10 or higher! Otherwise Step 3 will let you know that you have no compatible Python version installed.

  1. Clone/Download this repository

    Note: For test models/assets, download Release v1.0

  2. Navigate to the root of the repository

  3. Run poetry install to create a virtual environment with Poetry

  4. Run poetry run python src/filename.py to run the program. Alternatively you can run poetry shell followed by python src/filename.py

  5. Enjoy :)

Script Explanations

video2images.py

This utility can be used to build the dataset by splitting video files into images.

predict.py

This script is used to verify the performance of the trained neural network by specifying a path to the model of the trained neural network, and a video clip that should be analyzed.

game_detection.py

This script is used to train a neural network (e.g. create a model) on a given dataset. If enough data is present, the neural network will learn to distinguish Ingame clips from clips that are not ingame (e.g. Lobby, Queue, ...)

Creating a new model for a game

Let's assume you want to create a new model for the game Dota2. The following steps have to be performed:

  1. Download clips for Dota2 that are both ingame and not ingame (recommended source: Twitch)

        HINT: You can download clips manually or by creating a compilation with TwitchCompilationCreator

  1. Split the clips into images via video2images.py
  2. Create the following folder structure
...
│
└───anyFolderName
    │
    └───dota2
    └───nogame
  1. Sort the clips from step 1 into those folders depending on if they are ingame or not
  2. Create a main.py file in ./src/ to initialize a GameDetection object, then run it (see example below)
  3. Test the created model on a few example clips using predict.py to verify its accuracy

        NOTE: The number of images in the 'gamename' or 'nogame' folder has to be greater than or equal to the defined batch size

# For more information about the parameters, check out game_detection.py
m = GameDetection(
    model_name="ResNet50",
    game_name="dota2",
    dataset_path="---PATH TO 'anyFolderName'---",
    input_size=(224, 224),
    batch_size=16,
    save_generated_images=False,
    convert_to_gray=False,
)
m.train(epochs=2)
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].