Home

Awesome

Open Solution to the Mapping Challenge Competition

Gitter license

Note

Unfortunately, we can no longer provide support for this repo. Hopefully, it should still work, but if it doesn't, we cannot really help.

More competitions :sparkler:

Check collection of public projects :gift:, where you can find multiple Kaggle competitions with code, experiments and outputs.

Poster :earth_africa:

Poster that summarizes our project is available here.

Intro

Open solution to the CrowdAI Mapping Challenge competition.

  1. Check live preview of our work on public projects page: Mapping Challenge :chart_with_upwards_trend:.
  2. Source code and issues are publicly available.

Results

0.943 Average Precision :rocket:

0.954 Average Recall :rocket:

<img src="https://gist.githubusercontent.com/jakubczakon/cac72983726a970690ba7c33708e100b/raw/0f88863b18904b23d4301611ddf2b532aff8de96/example_output.png"></img>

No cherry-picking here, I promise :wink:. The results exceded our expectations. The output from the network is so good that not a lot of morphological shenanigans is needed. Happy days:)

Average Precision and Average Recall were calculated on stage 1 data using pycocotools. Check this blog post for average precision explanation.

Disclaimer

In this open source solution you will find references to the neptune.ai. It is free platform for community Users, which we use daily to keep track of our experiments. Please note that using neptune.ai is not necessary to proceed with this solution. You may run it as plain Python script :wink:.

Reproduce it!

Check REPRODUCE_RESULTS

Solution write-up

Pipeline diagram

<img src="https://gist.githubusercontent.com/jakubczakon/cac72983726a970690ba7c33708e100b/raw/e1bf6300fa119db2fec6622a603c63655ff5d770/unet_pipeline.png"></img>

Preprocessing

:heavy_check_mark: What Worked

:heavy_multiplication_x: What didn't Work

:thinking: What could have worked but we haven't tried it

Network

:heavy_check_mark: What Worked

:heavy_multiplication_x: What didn't Work

:thinking: What could have worked but we haven't tried it

Loss function

:heavy_check_mark: What Worked

Weights visualization

For both weights: the darker the color the higher value.

<img src="https://gist.githubusercontent.com/jakubczakon/cac72983726a970690ba7c33708e100b/raw/1578b08c464dd3829bb3437e4534ce6d1eafc632/loss_inputs.png"></img>

Training

:heavy_check_mark: What Worked

The entire configuration can be tweaked from the config file :bookmark_tabs:.

:thinking: What could have worked but we haven't tried it

Postprocessing

:heavy_check_mark: What Worked

:heavy_multiplication_x: What didn't Work

:thinking: What could have worked but we haven't tried it

Model Weights

Model weights for the winning solution are available here

You can use those weights and run the pipeline as explained in REPRODUCE_RESULTS.

User support

There are several ways to seek help:

  1. crowdai discussion.
  2. You can submit an issue directly in this repo.
  3. Join us on Gitter.

Contributing

  1. Check CONTRIBUTING for more information.
  2. Check issues to check if there is something you would like to contribute to.