<p>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: <a href="https://arxiv.org/abs/1708.02002" rel="nofollow noreferrer">https://arxiv.org/abs/1708.02002</a>. I used this keras library for implementation: <a href="https://github.com/fizyr/keras-retinanet" rel="nofollow noreferrer">https://github.com/fizyr/keras-retinanet</a>.</p>
<p>I've used it to detect seals in drone imagery: <a href="https://bigdata.duke.edu/projects/deep-learning-aerial-wildlife-surveillance" rel="nofollow noreferrer">https://bigdata.duke.edu/projects/deep-learning-aerial-wildlife-surveillance</a></p>
<p>Birds in drone imagery: <a href="https://research.repository.duke.edu/concern/datasets/kp78gh20s" rel="nofollow noreferrer">https://research.repository.duke.edu/concern/datasets/kp78gh20s</a></p>
<p>And even whales in satellite imagery. All of which it did well with minimal adjustment.</p>
Suggested CNN Frameworks for Object Detection in Satellite Imagery?
<p>I'm looking to detect boats in large satellite scenes of the ocean. I'm successfully applied <a href="https://github.com/matterport/Mask_RCNN" rel="noreferrer">matterport's Mask-RCNN setup</a> 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?</p>

<p>I've found a couple promising leads:</p>

<ul>
<li>You Only Look Twice, YOLO variant optimized for satellite imagery but built in C and not super well documented

<ul>
<li>Code: <a href="https://github.com/avanetten/yolt" rel="noreferrer">https://github.com/avanetten/yolt</a></li>
<li>Paper: <a href="https://arxiv.org/pdf/1805.09512.pdf" rel="noreferrer">https://arxiv.org/pdf/1805.09512.pdf</a></li>
</ul></li>
<li>RasterVision: a general python based framework for applying CNNs to satellite imagery, looks promising but nascent

<ul>
<li>Code: <a href="https://github.com/azavea/raster-vision" rel="noreferrer">https://github.com/azavea/raster-vision</a></li>
</ul></li>
<li>This Kaggle competition has some promising info but at ~18 months old is somewhat outdated: 

<ul>
<li>Link: <a href="https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection" rel="noreferrer">https://www.kaggle.com/c/dstl-satellite-imagery-feature-detection</a></li>
</ul></li>
</ul>

<p>I may try to customize this implementation of <a href="https://github.com/fizyr/keras-retinanet" rel="noreferrer">RetinaNet in Keras</a> for satellite imagery following the suggestions from the YOLT paper but would love other suggestions!</p>