I have been trying to train a Mask RCNN model to identify individual poker chips in a stack. No matter what property I change, the end results look like the following image. I was guessing the issue is that the objects are too close to each other for the proper detection. Is there any alternative model or property of mask RCCN or my training model I could possibly try to change?

Here is an image of the results

Here is an example of my training data annotations

  • 1
    $\begingroup$ Could you please reformulate the title in the form of a question? Thanks. $\endgroup$
    – nbro
    Commented Jun 9, 2022 at 11:35
  • $\begingroup$ Is there some NMS (non maximum suppression) step ? That may remove overlapping objects too greedily. $\endgroup$
    – Lelouch
    Commented Apr 5 at 8:21

2 Answers 2


Mask R-CNN should work well at this task. Before training, make sure to draw a mask on every chip in the image (put each mask in a different file). If you mask out only a small subset of the chips in an image, the NN will observe more negative examples than positives, and thus may be unable to identify positive chips consistently (since many chips present in the image should be detected, but have not been identified by you as positives, thus effectively marking them as negatives).


There could be many reasons why your Mask RCNN model is not performing well on your poker chip dataset:

  • One potential issue with training a Mask RCNN model to detect poker chips in a stack could be that the chips are very similar in appearance and are close together, making it difficult for the model to accurately identify each individual chip.

  • Another issue could be that the Background Clutter is similar to the color of the poker chips, making it difficult for the model to accurately segment the chips.

  • The objects in your dataset are too small or too close together for the model to properly detect them.

  • The images in your dataset are of poor quality, making it difficult for the model to learn from them.

  • Your dataset is too small for the model to accurately learn the features of the poker chips.

  • There is too much variation in the appearance of the poker chips in your dataset for the model to accurately learn their features.

If you are able to improve the quality of your dataset and/or increase its size, you may see improved results from your Mask RCNN.

There are a number of potential alternative models or properties that you could try changing in order to improve the performance of your Mask RCNN model. Some potential options include:

  • Increasing the overlap between the masks of adjacent objects, and using a higher threshold for the IoU (intersection over union) metric when evaluating detections.
  • Try to experiment with different hyperparameter values or data augmentation techniques to see if you can improve the performance of your model.
  • Use a larger mask, such as $512$ pixels or $1024$ pixels. This will increase the size and accuracy of the mask.
  • Try training a different object detection model on your dataset, such as a Faster R-CNN or YOLO model.
  • Adding or removing layers from the model.
  • Modifying the loss function.
  • Changing the optimizer.

There is a way to define an object and its interior instances (parts of the object) in the labeling. You can use a technique called bounding box regression, which involves finding the best bounding box for each instance in the image and then assigning it a label based on the location and size of the box.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .