matterport / Mask_RCNN

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

Any idea why mrcnn_class_loss is very unstable? #840

Open VinniaKemala opened 6 years ago

VinniaKemala commented 6 years ago

I train on images with 70 car damages, so some images have very small and thin objects (stains, key scratches, etc) and the others are quite large and wide (bumper scuffs). I only have one class type ('damage' + 'BG').

As I increase the train data, it looks like my model is getting better but mrcnn_class_loss is very unstable all the time and I don't understand why. All other graphs looks good though. Any ideas what's going on here? train_loss

waspinator commented 6 years ago

how well does segmentation work with your long, thin objects? I'm having trouble getting those to work.

VinniaKemala commented 6 years ago

@waspinator not quite well. Some are partially detected, some are not even detected.

JiayingLi commented 6 years ago

I found the reason why it sometimes doesn't work with long thin objects. If you check the ground true image after resized, the resized ground true masks are broken into several parts because it is too thin.

For example, see my resized image and ground true image below. This will even affect the bounding boxes due to the resized boxes are extracted from the resized mask.

I think a potential solution is to compute the resized masks and bounding boxes from the polygon. image image