This project presents an innovative approach to detecting oil in the ocean using Convolutional Neural Network (CNN) with U-net architecture. Developed in response to a significant oil spill in Ventanilla, Peru, our model employs satellite imagery for effective identification and analysis of marine oil spills.
- Advanced Image Processing: Utilizing PeruSat-1 satellite imagery, processed for optimal neural network training.
- Customized CNN Models: Tailored U-net models for accurate hydrocarbon segmentation.
- Multiple Training Phases: Includes initial training, reinforced learning with additional datasets, and comparative analysis of pre-trained models.
- Python >= 3.8.10
- OpenCV
- NumPy
- Matplotlib
- TensorFlow
Architecture
: Contains the architectures of trained models.DataSave
: Stores trained models and training history.Dataset
: SAR satellite image dataset.DatasetPeruSat1
: PeruSat-1 satellite image dataset.main.ipynb
: Primary Jupyter Notebook for project demonstration.
To run the main.ipynb
notebook:
- Ensure all dependencies are installed. You can install them using
pip install -r requirements.txt
if you have a requirements file. - Navigate to the folder containing
main.ipynb
. - Launch Jupyter Notebook or Jupyter Lab by running
jupyter notebook
orjupyter lab
in your terminal or command prompt. - Open
main.ipynb
from the Jupyter interface. - Run the cells in sequence to observe the model training, evaluation, and visualization processes.
Note: The notebook is commented to guide you through each step of the process.
SAR
: Initial model trained with SAR satellite images.PER1
: Model trained with PeruSat1 satellite images.SAR_PER1
: SAR model enhanced with PeruSat1 dataset.PER1_SAR
: PER1 model improved using SAR image dataset.
Models are rigorously evaluated using F1-Score metrics, ensuring high accuracy and reliability in hydrocarbon detection.