lukemelas / deep-spectral-segmentation

[CVPR 2022] Deep Spectral Methods: A Surprisingly Strong Baseline for Unsupervised Semantic Segmentation and Localization
229 stars 41 forks source link

Image matting #18

Open UdonDa opened 1 year ago

UdonDa commented 1 year ago

Hi, @lukemelas !

Thank you very much to provide your cool work! I have a question about matting.

In eigenvalue calculation, you do not separate the method between hard and soft decomposition in https://github.com/lukemelas/deep-spectral-segmentation/blob/c90e3825a094b1f0be508dd44e267836e61736cd/extract/extract.py#L175 .

How do I reproduce your results in Figure 6? Could you teach me? Actually, the matting method is not implemented in https://github.com/lukemelas/deep-spectral-segmentation/blob/main/object-localization/object_discovery.py#L45 .

Screenshot 2023-02-16 17 00 23
lukemelas commented 1 year ago

Hi, thanks for the issue! Sorry for the delay in responding.

You are correct, the matting is not implemented in this codebase. That's because I did it by forking pymatting and my code was quite messy (and most people are more interested in the object segmentation than the matting).

If you want, I can see if I can find the code (it should be on an old lab server that we no longer use).

In general, for Figure 6, I upscaled the features to the full resolution, sparsified the dense graph of feature similarities, and then added it to the RGB-based features that you get from pymatting (it doesn't really matter which RGB laplacian you use, if I recall correctly). Then you can use their matting pipeline. It runs on CPU and I think it takes a few minutes per image to run.

Hope this helps! Luke