This repository contains a project focused on extracting features from video data using a 4-layer Convolutional Neural Network (CNN). The primary objective is to develop and implement a CNN architecture capable of efficiently processing video frames to extract meaningful features for further applications, such as action recognition, object detection, and video summarization.
- 4-Layer CNN Architecture: A well-structured 4-layer CNN designed for robust feature extraction from video data.
- Frame Preprocessing: Tools for preprocessing video frames, including resizing, normalization, and augmentation techniques.
- Training Pipeline: A comprehensive training pipeline with customizable parameters for learning rate, batch size, and epochs.
- Evaluation Metrics: Implementation of various evaluation metrics to assess the performance of the model.
- Sample Datasets: Scripts to download and preprocess sample video datasets for training and testing.
- Inference Module: A module to perform inference on new video data using the trained CNN model.
To get started with the project, follow the steps below:
-
Clone the Repository
git clone https://github.com/Yassa122/VideoFeatureExtractionUsingDeepLearning.git cd RNN-CNN-Video-Extraction
-
Install Dependencies
pip install -r requirements.txt
-
Prepare Dataset
- Download a sample video dataset and place it in the
data/
directory. - Use the provided scripts in the
scripts/
directory to preprocess the dataset.
- Download a sample video dataset and place it in the
-
Train the Model
python train.py --config config/train_config.yaml
-
Evaluate the Model
python evaluate.py --config config/eval_config.yaml
-
Run Inference
python inference.py --video_path path/to/video.mp4 --output_path path/to/output