Image Classification Project - Dance Genre

Problem Statement

Image classification is one of the oldest and widely popular problem category in the computer vision domain. Stack of convolutional blocks are used to make the neural network learn about different features in the image. 

This project is for an image classification competition: Dance Classification
Problem Statement: Predict the dance genre in the given image.

Data

Images per class
There are total 8 dance genre in the given data-set. Let's plot the count of the number of image samples per genre

Target

Train and Validation folder structure

We will randomly move five images per genre from the dataset folder to val folder to split the dataset into train and validation sets

Sample Images & Augmented Images

Let's plot some sample training images

Data Augmentation is a very important component in the pipeline. It's mostly used for avoiding over fitting of the model. I have resized the image to (224, 224, 3) shape. In this competition I have used Random horizontal and vertical flipping augmentations.

Model

In this experiment, I tried out VGG family of convnets. More explanation about VGG convnets can be found below.

Model

Project Statement

Image classification is one of the oldest and widely popular problem category in the computer vision domain. Stack of convolutional blocks are used to make the neural network learn about different features in the image. 

This project is for an image classification competition: Dance Classification
Problem Statement: Predict the dance genre in the given image.

Data

Images per class
There are total 8 dance genre in the given data-set. Let's plot the count of the number of image samples per genre

Target

Train and Validation folder structure

We will randomly move five images per genre from the dataset folder to val folder to split the dataset into train and validation sets

Sample Images & Augmented Images

Let's plot some sample training images

Data Augmentation is a very important component in the pipeline. It's mostly used for avoiding over fitting of the model. I have resized the image to (224, 224, 3) shape. In this competition I have used Random horizontal and vertical flipping augmentations.

Model

In this experiment, I tried out VGG family of convnets. More explanation about VGG convnets can be found below.

Training and Validation Loss

Monitoring the loss while training the model is very important. The graph below shows the training and validation loss per epoch. Overall, it shows that the model is learning something. I used categorical cross entropy loss.

Validation Score

Loss function cannot tell us exactly what is going inside the model. Whether the model is learning or not can we determined by using a metric. Validation score/metric (interchangeably used) is the entity on which we measure our model performance on the validation dataset. I used F1 score for this experiment. F1 score ∈ [0,1]

The best F1 score achieved was 0.6179

Zeblok AI- Platform resources used:

 

  • Zeblok Computational platform

  • Multiple containers to support multi-GPU, multi-CPU compute engines

  • 1 RTX6000s GPUs

  • 1 vCPU

  • 16GB RAM

  • 50GB Block Store

Zeblok logo original-01 (1).jpg
LINKS
ABOUT

Email: zeblok@zeblok.com

Tel: +1 (631) 223-8233

HQ Office:

1500 Stony Brook Road

Stony Brook, NY 11794

Office:

51 JFK Parkway

First Floor West

Short Hills, NJ 07078

    © 2020 Zeblok Computational, Inc.