Reducing False Positives in grayscale infrared images

Hi! I’m having issues dealing with some false positives and I would love some outside opinions!

We use 640x480 depth cams to look for trash on the ground for the robot to pickup. Detections on a single frame arent important as we wait until an object has been seen multiple sequential frames to accept it as a valid object. Right now we are trying to reduce the number of false positives and there are a couple of environmental features that are a consistent problem for us. Oil spots & painted parking lines. Oil spots are easy enough to deal with - we can make a new class for oil spots, teach the model to recognize them, and then ignore detections with the oil spot label. Parking lines are a bit trickier. It will recognize the segments of the handicap parking spot symbol as well as the end of parking spot lines. I have a couple of solutions in mind, but I would love to hear how others would approach this problem. (Non ML CV solutions also encouraged). We do a lot already to filter out false positives, and these cases are the last remaining sore spots for our model. Theres some images included below and I can provide more info if needed. -Thanks! :smiley:

false_positive_handicap false_positive_oil_spot

Hi @JD_Parker

Sounds like a very interesting use case. My initial thought is to create a separate class for road markings.

I imagine this project would entail a moving robot, so even if it misidentified a sliver of a road marking in the beginning, as long as it eventually identified it as a road marking, it could be ignored. This could be supplemented with logic on the robot side for the camera to “face” the potential trash so it could properly identify it as either trash or a road marking.