Demo of background removal
Ok, so I put my money where my mouth is, and I implemented Blinn's two-background method of chroma keying.
Here are the input photos:
Note the background colour (just some coloured cardboard). Compare background with second input image:
The method requires that you grab a shot of each background without the foreground objects (not really interesting, so I will not post those shots). After applying Blinn's method, I blended the foreground object with a new background image using the alpha channel determined as part of the chroma-keying. Here is the result:
This was completely automated. All I had to do is capture the four photos -- two shots of only the backgrounds, and two shots with the foreground objects (one with each background) -- and run them through the algorithm. Here are some 100% crops:
and
Note how well the fur is blended with the new background in the first crop. In the second crop we can see some speckles appearing --- I suspect that you may have to HDR your images first if you want clean shadows.
As you can see, the method works rather well with translucent objects, but glass is still a problem. The problem with glass is that you cannot recompute the refraction, in other words, the background that is visible through the glass is not distorted at all, but merely alpha-blended, so you have to be really careful, or you end up with some bizarre-looking photos. (Look closely at the stem of the glass in the third image above).
I'd be happy to send the code (C++ using OpenCV) to anyone who is interested.