9

I'm looking to detect boats in large satellite scenes of the ocean. I'm successfully applied matterport's Mask-RCNN setup on small subsets of satellite imagery but it is way too slow to analyze huge images like WorldView. I'm looking for something fast that can do bounding boxes, is in python, implemented in Keras, and ideally optimized (or well documented so I can optimize it) for satellite imagery. Any suggestions?

I've found a couple promising leads:

I may try to customize this implementation of RetinaNet in Keras for satellite imagery following the suggestions from the YOLT paper but would love other suggestions!

clifgray
  • 4,313
  • 11
  • 67
  • 116

2 Answers2

1

I found this link by Marc Belmont utilising Tensorflow, Numpy and Pandas: https://github.com/marcbelmont/satellite-image-object-detection

desertnaut
  • 57,590
  • 26
  • 140
  • 166
Thirst for Knowledge
  • 1,606
  • 2
  • 26
  • 43
  • 1
    Hi @Thirst I ended up using https://github.com/fizyr/keras-retinanet which I highly recommend as both well documented and very good at object detection. Just had to add some tweaks for the hyperparameters and some ingest and output scripts to work with geospatial data. – clifgray Nov 08 '18 at 20:11
1

This question is now long unanswered so I thought I'd answer with my solution. I implemented retinanet for a number of satellite detection problems with good results. This CNN is outlined in the paper Focal Loss for Dense Object Detection which you can find here: https://arxiv.org/abs/1708.02002. I used this keras library for implementation: https://github.com/fizyr/keras-retinanet.

I've used it to detect seals in drone imagery: https://bigdata.duke.edu/projects/deep-learning-aerial-wildlife-surveillance

Birds in drone imagery: https://research.repository.duke.edu/concern/datasets/kp78gh20s

And even whales in satellite imagery. All of which it did well with minimal adjustment.

clifgray
  • 4,313
  • 11
  • 67
  • 116