Ship object classification using sentinel 1 GRD image

Just a few thoughts.

If a generic maritime surveillance processing chain is composed of:
ship detection -> discrimination -> ship classification
where

  • ship detection: detects the pixels likely to be ships
  • discrimination: goes through those pixels and tries to remove false alarms
  • classification: classifies the detected ships according to their ship type. This step is often skipped and there is relatively little research on it;

if I undestand correctly your first post, then I’d put your project in the ‘discrimination’ step.

People are doing all sorts of things with machine learning, but IMO these techniques are more suited to discrimination and classification than to detection. To be used for detection, I’d expect that some training on ‘sea’ pixels or areas would be needed. But you are not planning to do that.

The main hurdle in discrimination is that many false alarms (ambiguities and wave features) look very much like true small ships or boats, and getting 100% reliable ground truth is impossible. AIS is the best source of validation data, but it is not perfect: many vessels (especially boats) don’t transmit it, even if they transmit it you may not receive it, time synchronisation with the image… Essentially, it is very difficult to reliably label many of the samples as ‘ship’ or ‘other object’. You may end up labeling only easy examples of ‘ships’ and easy examples of ‘other objects’, so reducing a hard problem to an easy but unrealistic task.

For a small-scale experiment focused on the machine learning part, you may have a better chance in ship classification. You would definitely need AIS to know the ship type, but with a bit of work (or a lot of it!) you will be able to build reliable training and test sets. For an example of this, see http://elib.dlr.de/103689/1/FuSec2016_Proceeding.pdf

3 Likes