GithubHelp home page GithubHelp logo

noinget / oil-spill-thickness-estimation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vmolchan/oil-spill-thickness-estimation

0.0 0.0 0.0 8.49 MB

A proof of concept for using machine learning with radar data from a UAV over a body of water to estimate the thicness of an oil spill.

License: MIT License

Python 93.00% MATLAB 6.86% Dockerfile 0.14%

oil-spill-thickness-estimation's Introduction

If you are using this code in your own project, please cite at least one of our relevant papers:

@inproceedings{maroun2022machine,
  title={Machine Learning Using Support Vector Regression in Radar Remote Sensing for Oil-Spill Thickness Estimation},
  author={Maroun, Charbel Bou and Daou, Georges and Hammoud, Bassel and Hammoud, Bilal},
  booktitle={2021 18th European Radar Conference (EuRAD)},
  pages={221--224},
  year={2022},
  organization={IEEE}
}
@inproceedings{hammoud2022artificial,
  title={Artificial Neural Networks-Based Radar Remote Sensing to Estimate Geographical Information during Oil-Spills},
  author={Hammoud, Bilal and Maroun, Charbel Bou and Ney, Jonas and Wehn, Norbert},
  booktitle={2022 European Signal Processing Conference (EUSIPCO). Piscataway, NJ, USA: IEEE},
  year={2022}
}

Oil Spill Thickness Estimation

A proof of concept for using machine learning with radar data from a UAV hovering over a body of water to detect the presence of oil and estimate its thickness. For proper assessment of an oil spill scenario, thickness measurements need to range from 1 to 10 mm.

Machine learning models

We tested 4 different approaches for oil spill detection and thickness estimation:
SVR
Neural Networks
U-Net Model
Cascaded U-Net Model

In summary:

  • The SVR and ANN models are point-based models, they perform well when the oil thickness is uniform over the environment.
  • We used the ANN model to estimate the oil thickness and the oil permittivity.
  • The U-Net models perform way better since they take into account the spatial correlation within the spill.
  • SVR and ANN have lower complexity compared to U-Net models making onboard monitoring and processing of oil spill data feasible.
  • For the U-Net based approach, the environment has to be fully scanned and then processed.

Here are some metrics for the 4 machine learning models:

Model IoU Dice Precision Recall
SVR 0.29 0.43 0.43 0.51
ANN 0.36 0.49 0.49 0.56
U-Net 0.75 0.86 0.85 0.87
Cascaded U-Net 0.82 0.89 0.90 0.90

Regarding the cascaded U-Net model, here is a diagram showcasing its architecture:

cascaded

Data

Due to the scarcity of oil spill data, especially for radars operating in wide-band ranges, we developed an oil spill simulator to model the spill. The developed model reflects essential properties of the real world and provides us with realistic oil spill distributions (More info in the github repo).

The second part takes care of populating the simulated environment with radar reflectivities using a Monte-Carlo simulation by introducing the additive white Gaussian noise and roughness loss to the computed reflectivities based on input frequencies. To generate the needed data, the data generator module is used. It utilizes the relative dielectric constant module along with the noise and the export to file modules.

Run

All .py files used to train and evaluate the models are stored in the run directory. The segmentation directory contains all run files related to the segmentation models.

oil-spill-thickness-estimation's People

Contributors

charbel199 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.