I need to detect multiple particles of different colors in an image (see example image). In case of very homogeneous particle coating distributions, i.e. all particles look very similar, I can achieve good results by template matching with a synthesized instance of an ideal particle.
However, when I have instances of particles that are white at the same time of particles that are fully coated, this matching approach does not yield good results, especially the dark particles are detected with a smaller probability than the white ones.
After segmenting the particles, a classification is done using a CNN (which works well) - however my accumulated results are negatively affected by the different detection probability of coated and uncoated particles.
I would be very happy to hear some recommendations about what algorithms can be used to segment the particles reliably. I assume those would be based on the particle's shape.
Synthetic Particle Template
Detected Particle Positions (other base image)