omnimatte icon indicating copy to clipboard operation
omnimatte copied to clipboard

Discrepancy between code and paper

Open GuidoVisser opened this issue 3 years ago • 1 comments

Hi Erika, thanks for sharing this nice work.

I'm trying to understand the alpha regularization term and I've found what I believe to be either a bug or a discrepancy between your paper and the code.

The alpha regularization is defined in the paper as: image

However in the code you use the alpha_composite rather than the individual alpha layers. This has different behaviour when multiple layers have some alpha activation. Below is the value of the regularizations plotted against two 1 pixel alpha layers. green is using alpha_composite, blue is using the l1 norm as defined in the paper. drawing

Is there a reason for this change?

Furthermore, this loss is aimed to prevent a trivial solution where one layer reconstructs the entire image. I've encountered a situation where one object is reconstructed in multiple object layers. Have you ever encountered this problem? And if so, how would you deal with this?

Thanks in advance

GuidoVisser avatar Dec 24 '21 10:12 GuidoVisser

Hi, good catch, the regularization should be applied to the alpha composite, as it is in the code and not the paper. This reason for this is to allow for disocclusion to be performed. Unfortunately, this can also enable an object to be reconstructed in multiple object layers, as in your case. Perhaps you could try experimenting with applying the regularization to each alpha layer independently rather than the composite.

erikalu avatar Dec 31 '21 16:12 erikalu