Breaking Countershading

So, I just had to play around with the colors of the picture that Canny couldn’t detect (and still can’t) but now there is a distinct green color for the white “goal post”!  That could then be id’ed by blob detection which we have now.

wall3ExtremeWithColorData

 

However, how to do this programmatically is beyond me!  Because if I could get this automatically, in any light setting and in real time I could detect the goal posts easily since this is the most extreme case.

Essentially this is trying to solve the countershading problem.  Where the object is camouflaged.  Only due to extreme manual manipulation of the image color settings was I able to produce this.  How do we create computer vision that can pick out countershaded objects?  This paper maybe could be used to automate this if I understand it correctly.

Also, there are some wikipedia things like tone mapping and the other related articles.  Being able to adjust the color and contrast seems to be important.  However, this is only one image and NOT thus not really saying much.  For example, with similar settings on the wall cluttered version I get a totally different color (pink) for the post:

wallcluterExtreme

 

So, to conclude, I think the way to go is what Sean had recommended from the beginning which is what Peter Stone does (I think).  Learn standard background images for the camouflaged objects!  Like in this.  For one thing, I think dynamically adjusting the contrast and other color settings would be pretty time intensive since it is a pixel-by-pixel change.  So, this seems more of a hack.  Learning the background and subtracking it from the current image to extract the goal posts seems like a viable solution?  Still not sure how that will work if the background is white and the posts are white.  So far, no solution…