matterport / Mask_RCNN

Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow
Other
24.49k stars 11.68k forks source link

Configuration parameters which control detection mask accuracy #777

Open michaelmason opened 6 years ago

michaelmason commented 6 years ago

We’re using Mask RCNN for pixelwise cloud segmentation in whole-sky infrared camera images. The camera is a ground-based infrared imaging system which points straight up towards the sky and captures images on a regular interval.

Currently we’re only using a single object class (cloud) and all other pixels are considered to be background. We have training/validation/test ground-truth masks which classify each pixel as either cloud or not-cloud/background. We’re using COCO pre-trained weights and we’re using the same approach that the Nucleus detection example uses (train the network heads for 20 epochs, then continue training all layers for N epochs).

The ground-truth masks are fairly detailed, in some cases very small groupings of pixels are classified as clouds. This results in ground-truth clouds with edges which are not always well-defined as the clouds sometimes have thinner edges and they may taper off in some cases.

When we evaluate the model, the detected cloud-masks are very, for lack of a better phrase, rounded off. The cloud edges aren’t quite as intricate and detailed as the ground-truth masks.

With the overall goal of increasing the fine-detail and accuracy of the detected masks, here are my questions:

(1) If we adjusted our training schedule, could we possibly get more accurate detection results?

(2) Are there any training or detection configuration parameters which may affect the accuracy of the detected masks? Or, perhaps parts of the model code that could be adjusted to get better accuracy?

(3) Any other advice or things to investigate which may help us?

Thank you all for your help and thanks to Matterport for this wonderful tool.

jlognn commented 6 years ago

Are you using mini-masks? You could try disabling them, or increasing the size of them when you extend your config:

USE_MINI_MASK = True # try setting to False
MINI_MASK_SHAPE = (56, 56) # try increasing this
jlognn commented 6 years ago

Also see #635

michaelmason commented 6 years ago

Hi Joel, thanks for responding. No, we're not using mini masks. I was under the impression that since we were very interested in getting as accurate detection masks as possible that downsampling the data using mini-masks would not help us.

Thanks, we'll review #635

enchantress1016 commented 5 years ago

@michaelmason Hi, I'm kind of in the same situation right now and would like to know more about how we could increase the mask resolution/accuracy. Do you mind sharing your progress? Thanks! (I tried turn off mini_mask, increase mask_shape and try different image_resize_mode but the results are still not satisfactory, appreciate for your help!)

chengchu88 commented 5 years ago

+1

sohinimallick commented 3 years ago

Hello, are there any updates to this? Also with reference to changing the Mask_shape parameter, it says, that the neural network mask branch has to be chnaged as well. Does anyone know how to do the same??