The police commissioner has given you a labled image dataset.
Your task is to classify them between two classes:
- 0 : Normal (No weapon is seen)
- 1 : Weapon (A weapon can be detected)
Develop an algorithm to detect any possible dangers to help alert the relevant authorities.
- Prepare the given dataset.
- Download the dataset from here.
- Download 7zip from here.
- E.g. Data cleaning, visualization, pre-processing, normalization.
- Minimally, develop a vanilla baseline classifier to discriminate between the two classes above the baseline recognition rate of 50% from a random classifier.
- Provide improvements for the baseline method.
- Show empirical observations.
- E.g. Plot learning curves, recognition rates, scores, numerical results.
- Present your work CLEARLY and nicely.
- Download dataset
- Data cleaning (remove duplicates, etc.)
- Data augmentation (flip, rotate, crop, etc.)
- Baseline model (Pixel input -> Fully connected layers -> Softmax)
- Poster
- Improvement 1 (Convolution layers)
- Improvement 2 (Regularization: Dropout, Batch normalization)
- Improvement 3 (Loss function: Cross entropy, L2 loss)
- Improvement 4 (Optimizer: SGD, Adam)
- Improvement 5 (Hyperparameter tuning: Learning rate decay, batch size, etc.)
- Improvement 6 (Over/Under sampling)
- Improvement 7 (Feature extraction methods from lectures)
- Clone this project repository
- Download the dataset from link: https://drive.google.com/drive/folders/1qm0jkcNPWN3jBj7jQiZhndbKUsx4Ozfl
- Unzip the dataset and move the
frames
folder into the root of the project
- The folder structure should look like this:
.
├── frames
│ ├── test
│ │ ├── norm
│ │ └── weap
│ └── train
│ ├── norm
│ └── weap
├── data_preperation.ipynb
- (Optional) Create and activate a python environment and install the necessary dependencies listed in
requirements.txt
- Run
data_preperation.ipynb
to create the prepared dataset; all work should be done with this dataset - Proceed with your work