This is the repository for my project for BTYSTE (the BT Young Scientist & Technology Exhibition). The goal of this project is to leverage machine learning techniques for environmental monitoring and analysis using image data. Specifically, I focus on the tasks of semantic segmentation and classification to identify specific plant species and detect forest fires. The datasets utilized in this project include those generously supplied by Coillte, the ADE20K dataset, and several others.
Semantic Segmentation:
Classification with ResNet:
.tiff
images with 6 colour bands predominantly.The project is structured around two main components: semantic segmentation and classification.
Ensure you have these libraries installed. You can download them using pip3
.
opencv-python
for video processingpandas
for data manipulationnumpy
for numerical computationssklearn
for building AI modelsseaborn
for creating heatmapsmatplotlib
for data visualizationjoblib
for saving and loading .pkl filestorch
for loading pre-trained models in early stagestensorflow
for building and training models in later stageskeras
as a high-level API for TensorFlow modelspython-dotenv
for managing environment variablestiffile
for handling TIFF files, especially useful for multispectral imagestkinter
for building early UI'sPyQt5
for building later UI'sthreading
for running tkinter window separaterasterio
to load raster filesgeopandas
to handle shapefilesshapely
to save fiona
To set up the project environment, you can create a virtual environment and install the required libraries:
# Create a virtual environment
python3 -m venv skysci-env
# Activate the virtual environment
source skysci-env/bin/activate # On Windows use `skysci-env\Scripts\activate`
# Install the required libraries
pip3 install opencv-python mediapipe pandas numpy scikit-learn seaborn matplotlib joblib torch tensorflow keras python-dotenv tifffile