On the use of feature selection to improve oil spill detection in SAR images
This project contains material used to run the experiments described in the paper: Mera D, Bolon-Canedo V, Cotos JM, Alonso-Betanzos Amparo. On the use of feature selection to improve oil spill detection in SAR images
Version
1.0.0
Content
SARReferences:
This folder contains the references of the Envisat ASAR products used for extracting both oil spills and look alikes. The provided references can be used to request the linked Envisat ASAR products through the European Space Agency (ESA).
The Sentinel-1 Toolbox was used in this project for managing the Envisat ASAR products. The toolbox can be download from the ESA web page.
SegmentedMasks
This folder contains a dataset of both oil spills and look-alikes. They were manually segmented using the Sentinel-1 Toolbox. Dataset components are stored according to their type (oil spills or look-alike) and both the year and the product reference where they were detected. There is a file for each oil spill candidate with the coordinates of its location.
EFDExtractorMatlabCode
This folder contains a zip file with a library for calculating the Elliptic Fourier Descriptors through the string code of an object. This library was developed by Auralius Manurung on 06 Sep 2011 (Updated 27 Nov 2012). It is available in the Matlab central.
We have developed the function extractEllipticalFourierDescriptorsFromFile.m to make easy the use of the library. It must be used in the following way:
extractEllipticalFourierDescriptorsFromFile (file_with_string_codes.csv, file_for_storing_EFDs.csv)
It requires two input parameters
- file_with_string_codes.csv: Each line of this file symbolizes an object string code. Note that the SentinazoFeatureExtractor is able to obtain the object string code.
- file_for_storing_EFDs.csv: Output file for storing the Elliptic Fourier Descriptors.
FeatureExtractorCode
This folder contains the source code to obtain the set of 52 features described in the paper.
Dependencies
- Apache Maven 3.0.5
- Opencv 2.4.10 (it is provided in the 3-party-libs folder and it is added to the project via maven)
- Apache Commons-csv 1.1 (it is provided via maven)
Compile
mvn compile
JAR creation
mvn package
Usage
The SentinazoFeatureExtractor program require two parameters
SentinazoFeatureExtractor raw_data.csv candidate_features.csv
There are two input parameters:
- raw_data.csv. This file contains a line per each oil spill candidate with the necessary raw data references and parameters to obtain the feature vectors. The following list symbolize the necessary input values: a reference to the Tiff file with the ASAR product backscatter values, a reference to the Tiff file with the ASAR product incidence angle values, a reference to the Tiff file with the wind speed values of the region covered by the ASAR product, a reference to the oil spill candidate mask, and a candidate label (true=oil spill, false=look-alike).
Example
ASA_WSM_1PNDPA20080208_104707_000000732065_00452_31067_0397.tif, ASA_WSM_1PNDPA20080208_104707_000000732065_00452_31067_0397_IA.tif, ASA_WSM_1PNDPA20080208_104707_000000732065_00452_31067_0397_WindKrige.tif, ASA_WSM_1PNDPA20080208_104707_000000732065_00452_31067_0397_lookalike-ID1_Mask.txt, false
- candidate_features.csv: The output file for storing the features.
Backscatter and Incidence Angle values
The Tiff files with the backscatter and incidence angle values were obtained via the Sentinel-1 Toolbox using the process described below.
The following operations must be applied over the ASAR products:
- Calibration (in dB).
- Speckle-Filter (median).
- Reprojection.
The new products derived from the ASAR images will contain several bands. The incidence angle and the intensity bands must be exported as geotiffs.
Note that all the applied operations can be managed and automated via a Graph. Graphs are build through the Graph Builder of the Sentinel-1 Toolbox.
Wind data
The wind field estimation tool of the Sentinel-1 Toolbox was used to calculate the wind data related to each ASAR product. In particular, the model was run using a window size of 2 km. Later, the output was interpolated through the kriging algorithm to get the same resolution as the ASAR product.
License
This project includes:
- featureExtractorCode - SentinazoFeatureExtractor program under General Public License, version 3.0.
- featureExtractorCode - OpenCV library (binary) under 3-clause BSD License
- EFDExtractorMatlabCode - Elliptic fourier for shape analysis under BSD License
- SVMClassifier-MatlabCode - TestingSVMClassifier under BSD license
- SARReferences - SARReferences under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - oilspills 2007 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - oilspills 2008 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - oilspills 2009 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - oilspills 2010 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - oilspills 2011 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - lookalikes 2007 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - lookalikes 2008 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - lookalikes 2009 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - lookalikes 2010 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- SegmentedMasks - lookalikes 2011 under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License