senguptaumd / Background-Matting

Background Matting: The World is Your Green Screen
https://grail.cs.washington.edu/projects/background-matting/
4.78k stars 662 forks source link

What is compose_image_withshift #62

Open bluesky314 opened 4 years ago

bluesky314 commented 4 years ago

I had some confusion about the function compose_image_withshift and why is needed as opposed to just the regular composition? How is it using the seg mask?

senguptaumd commented 4 years ago

While training on real images without supervision, we compose the foreground on the same background but after shifting it left or right. We use a discriminator on the composed image to pick inconsistency in matting. Now if it is composed back to the same background this inconsistency is not noticeable, but after applying a random shift it might be more noticeable. We do also compose the image into a random background from a different scene. So either compose into a random background or same background with a small shift.

leemengxing commented 4 years ago

this function n=np.random.randint(-(y1-10),al_tmp.shape[1]-y2-10), sometimes will happen ValueError: low >= high. why? @senguptaumd

senguptaumd commented 4 years ago

np.random.randint(x,y) generates random integers between x and y. This error means y<x.

leemengxing commented 4 years ago

If people account for a large proportion of the image, it is easy to approach the boundary. that mean -(y1-10)>0,and al_tmp.shape[1]-y2-10<0. In this case, I'd better not shift. Is it possible to remove this operation? thks @senguptaumd