Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adamouization/seal-pup-aerial-imagery-neural-network-classifier
:mag_right: Machine Learning & Data Visualisation/Processing techniques for classifying seal pups from aerial imagery using Neural Networks.
https://github.com/adamouization/seal-pup-aerial-imagery-neural-network-classifier
classification classification-model jupyter jupyter-lab logistic-regression machine-learning machine-learning-algorithms matplotlib matplotlib-pyplot numpy pandas python python3 scikit-learn scikitlearn-machine-learning scipy seaborn smote svm
Last synced: 28 days ago
JSON representation
:mag_right: Machine Learning & Data Visualisation/Processing techniques for classifying seal pups from aerial imagery using Neural Networks.
- Host: GitHub
- URL: https://github.com/adamouization/seal-pup-aerial-imagery-neural-network-classifier
- Owner: Adamouization
- License: gpl-3.0
- Created: 2020-04-09T10:58:02.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T10:00:05.000Z (about 2 years ago)
- Last Synced: 2024-11-09T16:39:16.386Z (3 months ago)
- Topics: classification, classification-model, jupyter, jupyter-lab, logistic-regression, machine-learning, machine-learning-algorithms, matplotlib, matplotlib-pyplot, numpy, pandas, python, python3, scikit-learn, scikitlearn-machine-learning, scipy, seaborn, smote, svm
- Language: Jupyter Notebook
- Homepage:
- Size: 16.6 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Seal Pup Aerial Imagery Neural Network Classifier
[![HitCount](http://hits.dwyl.com/Adamouization/Seal-Pup-Aerial-Imagery-Neural-Network-Classifier.svg)](http://hits.dwyl.com/Adamouization/Seal-Pup-Aerial-Imagery-Neural-Network-Classifier) [![GitHub license](https://img.shields.io/github/license/Adamouization/Seal-Pup-Aerial-Imagery-Neural-Network-Classifier)](https://github.com/Adamouization/Seal-Pup-Aerial-Imagery-Neural-Network-Classifier/blob/master/LICENSE)
This practical covers the exploration of various machine learning practices used for classifying different types of seal pups found in cropped aerial imagery obtained during seasonal surveys of islands. Various data visualisation techniques, data processing steps and classification models are experimented with to design a final pipeline for making predictions on the types of seals observed in the images. The predictions are made by training multiple classification models, which are all evaluated to determine their performance.
You can read the [full report here](https://github.com/Adamouization/Seal-Pup-Aerial-Imagery-Neural-Network-Classifier/blob/master/report/report.pdf).
## Dataset
The data comes in two flavours: binary and multi, where:
* the "binary" data contains two labels, one for images of backgrounds and the other images of seals
* the "multi" data contains five labels, one for images of backgrounds and the four others for types of seals (whitecoat, moulted pup, dead pup and juvenile).
*Screenshot of the 5 different types of classification labels (top: HoG features, bottom: actual images):*
The dataset is not provided in this repository due to its large size. If you wish to experiment with the dataset on your own, please contact me and I will provide you a link to download the data.
## Results
#### Evaluating optimal neural network (3-fold cross validation)
#### Final testing results
These results are achieved on the testing dataset only once, unseen until this point:
* Binary: 98.21% accuracy
* Multi: 97.58% accuracy
## Usage
Create a new virtual environment and install the Python libraries used in the code by running the following command:
```
pip install -r requirements.txt
```To run the program, move to the “src” directory and run the following command:
```
python3 main.py -s -d [-m ] [-gs] [-rs] [-v]
```where:
* *"-s section"*: is a setting that executes different parts of the program. It must be one ofthe following: ‘datavis’, ‘train’ or ‘test’.
* *"-d dataset"*: selects the dataset to use. It must be set to either ‘binary’ or ‘multi’.
* *"-m model"*: is an optional setting that selects the classification model to use for training. It must be one of the following: ‘sgd’, ‘logistic’, ‘svc_lin’, ‘svc_poly’.
* *"-gs"* and *"-rs"*: are optional flags to run the hyperparameter tuning algorithms (eithergrid search or randomised search algorithms) for the selected classification model. The flag only takes effect when using multi-layer perceptron classifiers (neural networks).
* *"-v"*: is an optional flag that enters verbose (debugging) mode, printing additional statements on the command line.## License
* see [LICENSE](https://github.com/Adamouization/Seal-Pup-Aerial-Imagery-Neural-Network-Classifier/blob/master/LICENSE) file.## Contact
* Email: [email protected]
* Website: www.adam.jaamour.com
* LinkedIn: [linkedin.com/in/adamjaamour](https://www.linkedin.com/in/adamjaamour/)
* Twitter: [@Adamouization](https://twitter.com/Adamouization)