color thresholding

Just com­ing back from France but I’m already look­ing for the upcom­ing Euro­bot con­test which will be held in Ger­many next year… My con­tri­bu­tion to this year’s edi­tion was to develop some kind of soft­ware that could be used on the robot to detect and local­ize play ele­ments as well as bins. Even though we failed to get the robot homolo­gated, we learned quite a lot.

Such a thing I would like to apply would be to speed up the thresholds-finding pro­ce­dure that need to be run almost each time the robot is moved to another loca­tion. This was caused by the lack of a proper thresh­old­ing algo­rithm that would adapt to minor illu­mi­na­tion changes.

So there is the pur­pose of this post: I’m now plan­ing next ver­sion of my soft­ware and would like to include such a fea­ture to speedup last minute set­tings. Here’s some rel­e­vant top­ics I picked up in a book from E.R Davies:

  • Variance-based Thre­hold­ing
  • Entropy-based Thresh­old­ing
  • Max­i­mum Like­li­hood Threholding
  • Local Thresh­old­ing Meth­ods (split­ting the image)

Now how apply­ing this stuff to my par­tic­u­lar prob­lem… these sub­jects tend to be more about how choos­ing a thresh­old rather than adjust­ing one dynam­i­cally over time. Fur­ther­more, it’s more about find­ing a thresh­old for grayscale images that best fits all of its regions than actu­ally iso­lat­ing each of the color we are look­ing for.

I know this is a com­mon prob­lem for all teams but I think some­thing sim­ple based on a sta­tis­ti­cal approach could be tried here.