Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ground/Flood masks TO DO List #128

Open
7 of 8 tasks
melisandeteng opened this issue Apr 22, 2020 · 9 comments
Open
7 of 8 tasks

Ground/Flood masks TO DO List #128

melisandeteng opened this issue Apr 22, 2020 · 9 comments

Comments

@melisandeteng
Copy link
Contributor

melisandeteng commented Apr 22, 2020

Notes
✅ means finished
❌ means canceled

Deeplab models comparison

  • Compare Deeplabv3+ and Deeplabv2 for ground segmentation
  • Compare Deeplabv3+ and Deeplabv2 when adding hand rule postprocessing
  • Finetune Deeplabv2 for flood segmentation

Mask generator

  • Training on Watchdogs (WIP)
  • Add resume training option
  • Training on Watchdogs + Real
  • Put depth input as an array, not the image of the inverse log depth
  • Fix image log
@melisandeteng
Copy link
Contributor Author

melisandeteng commented Apr 22, 2020

Deeplab versions

Currently for the ground segmentation in images that we are using Deeplab v2 pretrained on Cityscapes.
The only available Deeplab v3 pretrained models were trained on Pascal VOC (not interesting for us because there is no ground/ water, it's just persons, cars, ...) except one Deeplabv3+-MobileNet pretrained model on Cityscapes.
We will compare this model with the current Deeplabv2 on the images of Canadian landmarks.
We will use the same class merging as in here and merge road, sidewalk and terrain.

@melisandeteng
Copy link
Contributor Author

melisandeteng commented Apr 22, 2020

Deeplab v2 vs Deeplab v3+MobileNet
Code in the Deeplabv3 repo
We tested a Deeplabv3+MobileNet pretrained on Cityscapes (see this repo on 30 images of Canadian landmarks.

DeeplabV3+mobilenet seems to be performing better overall than v2. It ibetter at going around thin objects (poles, trees) but identifies ground in the sky and bushes. (for which we should try to do some postprocessing)
The overlays of masks + images to compare the versions (top image is v2, bottom image is v3 in each image) are here.

Here are some samples (in each pair, top is v2 computed on 256 pixels resolution images, bottom is v3):

image
image

image
image

image
image

@vict0rsch
Copy link
Contributor

Definitely better :)

@vict0rsch
Copy link
Contributor

@melisandeteng can you share fail-cases?

@melisandeteng
Copy link
Contributor Author

The last one is sort of a failure case.

@melisandeteng
Copy link
Contributor Author

melisandeteng commented Apr 24, 2020

We actually need to compare versions of masks generated with deeplab that were computed on images of the same resolution.
We compute Deeplabv3 on images resized to 513 px * _ and compare it with Deeplabv2 computed on images of resolution 600 px * _ .
Overlays of masks + images are here.
V3 seems to leave less room around objects it should contour (especially thin objects) which is good, but sometimes adds more misdetections in the sky.
Here are some samples (v2 on top, v3 at the bottom).

Success case:
image
image

Failure cases:
image
image
image
image

@melisandeteng
Copy link
Contributor Author

We compare Deeplabv2 and Deeplabv3 on 20 images that we labeled with Labelbox.
We infer on the images resized so that the longest side is 600 px.

Pixel accuracy:
v2: 0.978
v3: 0.973

IOU:
v2: 0.917
v3: 0.914

Although the metrics are slightly better with v2, it seems that visually, masks generated with v3 have less obvious holes than those with v2 and can go around thin objects better.
See here for the comparison on all the images: in each image, original (ground truth), v2, and v3 are displayed.

Here are some examples :
image
image

Where both models fail:
image
image

@sashavor @vict0rsch @51N84D what do you think ?

@sashavor
Copy link
Contributor

sashavor commented Apr 29, 2020 via email

@vict0rsch
Copy link
Contributor

vict0rsch commented Apr 29, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants