Skip to content

tkuanlun350/Kaggle_Ship_Detection_2018

Repository files navigation

Faster-RCNN / Mask-RCNN

Airbus Ship Detection Challenge 10th Code. Code mostly improted from tensorpack (see below) Modified from https://github.com/ppwwyyxx/tensorpack/tree/master/examples/FasterRCNN.

Dependencies

What Works

  1. I implemented Online-Hard-Example-Mining selecting top 128 roi's for training

  2. Multi-Scale Training: Since small object are hard for detection, I resize the image randomly from 1200 ~ 2000.

  3. I used softnms for post-processing. I used mask's overlap instead of box overlap to rescore each instance to avoid dealing with the rotated box problem.

  4. MaskRCNN is prone to overfitting (The lesson learned from DSB2018). Data augmentation with MotionBlur, GaussNoise, ShiftScale, Rotate, CLAHE, RandomBrightness, RandomContrast ...

  5. Enlarge mask crop from 28 to 56, using diceloss + BCE loss.

Doesn't Work

  1. Add stride 2 featuremap in FPN and add size 16 anchor. Improve local cv to 0.61 but worse public LB and private LB.
  2. [Cascade-RCNN][https://arxiv.org/abs/1712.00726]. No improvement.

I have implemented TTA and checkpoint ensemble (see eval.py) but all results in worse public LB. Turns out they are better in private LB (best 0.83). The final score are based on single model without TTA.

About

Airbus Ship Detection Challenge 10th Code.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages