WXinlong / SOLO

SOLO and SOLOv2 for instance segmentation, ECCV 2020 & NeurIPS 2020.
Other
1.69k stars 307 forks source link

What the difference between SoLo V2 and CondInst (https://arxiv.org/pdf/2003.05664.pdf) #13

Closed chuong98 closed 4 years ago

chuong98 commented 4 years ago

Hello, thanks for the paper. I read over the two papers SoLo V2 and Cond Inst from your lab. But I barely see the difference between the two methods, except for the Matrix NMS.

If I understand correctly, the output of mask branch is no longer the cell location categories as in Solo-V1, (HxWxS^2), so it no longer inherit the key idea of SoLo.

Would you help to point out their difference, and a compare their performance in term of Speed? Thank you.

WXinlong commented 4 years ago

@chuong98 Thanks for your question. SOLOv2 follows the core designs of SOLOv1. You are suggested to read Section 3 of SOLOv2 paper to see the step-by-step derivation. It still segments objects by their cell location categories, and goes a step further by predicting the segmenters by locations. Both the Decoupled SOLO head and this Dynamic SOLO head are varieties of SOLO idea (see Fig.2 in our paper).

About the comparison between SOLOv2 and CondInst:

  1. CondInst relys on the relative position to distinguish instances as in AdaptIS, while SOLOv2 uses absolute position as in SOLOv1;
  2. The former uses bounding box detection in training and inference, while the latter takes an image as input, directly outputs instance masks and corresponding class probabilities. For example, CondInst has 4 or 5 loss terms and SOLOv2 has 2 loss terms.
  3. More detailed differences of design choices could be refered to the papers.

To me they are both good works and explore instance segmentation from different viewpoints.

chuong98 commented 4 years ago

Thanks for your reply,

It still segments objects by their cell location categories, and goes a step further by predicting the segmenters by locations

I just want to be clear. From my understanding:

WXinlong commented 4 years ago

@chuong98 The dynamic scheme part is somewhat similar, as they both are inpired by Dynamic Filter Networks. But the methodology is different as stated above. You can say that all roads lead to Rome and we choose the simplest one.