https://github.com/aalling93/deep-quantile-regression-synthetic-aperture-radar-ship-size

Deep Quantile Regression Synthetic Aperture Radar Ship Size

https://github.com/aalling93/deep-quantile-regression-synthetic-aperture-radar-ship-size

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.9%) to scientific vocabulary

Keywords

deep-learning maritime-data-science quantile-estimation sar ship-tracking synthetic-aperture-radar
Last synced: 9 months ago · JSON representation

Repository

Deep Quantile Regression Synthetic Aperture Radar Ship Size

Basic Info
  • Host: GitHub
  • Owner: aalling93
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 30.3 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 14
  • Releases: 0
Topics
deep-learning maritime-data-science quantile-estimation sar ship-tracking synthetic-aperture-radar
Created over 3 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

Kristian Aalling Sørensen

Brief Description

In Deep Quantile Regression Synthetic Aperture Radar Ship Size, the objective is to determine ship paramters from Synthetic Aperture Radar (SAR) images, i.e., ship length and ship width. However, the techinque could be fully extended to, e.g., direction, speed, or to classification purposes such as ship type.

Ship detection and charecerisation is an important part of increasing maritime security and surveillance and when securing maitime sovereignty. For decision makers (local navy, other stakeholder), it is important to know where and how many Dark Ships (Ships that do not transmit self-transmitted information such as AIS data) are present in their waters. Furhtermore, knowing as much information as possible for a found Dark Ships is important when tasking other missions. Missions such as Satellite Tasking, sending out the coast-guard ect. In short, it is important to know: - is there a dark ships - how big is the ship (length/width). You act very differently for different ships - what type of ship is it - what is it doing.

In the Arctic, you can not use Multi Spectral Images, as you see on Google Earth. In part due to clouds, and partly due to the lack of illumination. You would therefore a SAR instrument. The SAR provides its own illumination and the returned signals (amplitude and phase) is dependant on both the geometrical and underlying physical charectgerstics. However, SAR iamges are subjucated to a great deal of Speckle/Clutter/ other stuff. The same target can consequently look very different only different images.

In this application, we therefore try to estiamte the 99 % Confidence Interval for an estiamte ship length. This would provide valuable information on the length of the ship. For instance, if we have a length estiamtion of 200 m with a Confidence Interval of [190-210] we are quite certain it is a good estiamte. Conversly, if we have a length estiamte of 200 m with a Confidense Interval of [30-500], we are not very certain.

Specifically, deterministic models might over estiamte the length to be, e.g., 800 m long which is impossible. If we had an automatic way of saying "this is a bad estiamte", we could just neglegt it somewhat.

In The Figure below, we see t2o estimates from our model. One of which is clear and the other is not. We see how the 95CI varies greatly.

Usage

  1. Import Model -------------------- ```python from src.models.model import Model from src.models.util import seedeverything from src.analysemodel.analyse import Analysemodel

```

  1. Load Model

    python with Model() as M: M.data_load(dataset["images"],dataset["metadata"],dataset["targets"]) M.model_load(which_model='quantile')

    3. Analyse model results

python with Analyse_model(M.model.model) as anal: anal.get_data( [ dataset["testing_images"], dataset["testing_metadata"], dataset["testing_targets"], ] ) anal.get_scaling(scaling_vars) anal.inverse_values() anal.all_estimates_inverse()

Acknowledgments

Donno yet.

Owner

  • Name: Kristian Aalling Sørensen
  • Login: aalling93
  • Kind: user
  • Location: Copenhagen

PhD. MSc. MEng. Specialization in Earth Observation.

GitHub Events

Total
  • Push event: 5
  • Pull request event: 4
  • Create event: 4
Last Year
  • Push event: 5
  • Pull request event: 4
  • Create event: 4

Dependencies

requirements.txt pypi
  • pandas *
  • python-dotenv >=0.5.1
  • scipy *
  • sklearn *
  • tensorflow *
  • tensorflow_probability *
setup.py pypi
  • matplotlib *
  • numpy *
  • pandas *
  • scikit-learn *
  • tensorflow *
  • tensorflow-probability *