allenai / satlas

Apache License 2.0
184 stars 19 forks source link

interesting result for image with platforms and ships, no ship detections #37

Closed rbavery closed 5 months ago

rbavery commented 5 months ago

any tips on how to configure inference to pick up the ships? or is this a limitation of the marine infrastructure model, where it has trouble with ephemeral marine vessel class ?

I think I'm providing the correct input, a single batch of 3 rgb images with channels for the time series stacked in a single dimension.

The model results are plotted on top of the first image in the time series, it looks like only bounding boxes for class 2 "platform" are detected. the clear shipping vessels with trailing wake are missed.

Selection_122

favyen2 commented 5 months ago

We have ClassMask option in configuration file to only train this model for fixed infrastructure (platform and turbine). This simplifies things because it allows us to do temporal max pooling across all input images; in contrast, for vessels, the model should focus on detecting vessels in one image while using the other images as context, so cannot simply do temporal max pooling across all images.

For vessels you can either fine-tune the SatlasPretrain model on the provided dataset with vessels enabled (but change model architecture to just use one input image, or set "Groups": [[0], [1, 2]] instead of "Groups": [[0, 1, 2]] which should concatenate the first image features with max temporal pooled features of second/third images), or use this repository:

https://github.com/allenai/vessel-detection-sentinels

rbavery commented 5 months ago

ah, I see thanks! Looks like the the RPN for fixed platform outputs proposals that hone in on the vessels but it does a good job filtering them out in the RoIHead module.

Selection_123