shirgur / UMIS

Official PyTorch implementation of "Unsupervised Microvascular Image Segmentation Using an Active Contours Mimicking Neural Network"
Apache License 2.0
72 stars 15 forks source link

High level question: why AC loss can do better than Morph-ACWE? #7

Closed JunMa11 closed 4 years ago

JunMa11 commented 4 years ago

Dear @shirgur ,

Again, I really enjoy reading this paper.

However, I still do not figure out: why AC loss can do better than Morph-ACWE?,

both the proposed Morph Layer with AC loss and Morph-ACWE are unsupervised methods, and Morph Layer with AC loss is a reformulation of Morph-ACWE.

The plain Morph-ACWE doesn't work well for vessel segmentation. image

But the Morph-ACWE's reformulation (Morph Layer with AC loss) can work so well.

image

Could you share your insight on the reason?

Looking forward to your reply.

Best regards, Jun

shirgur commented 4 years ago

The initial guess is the key here.

The network does not have an initial guess and it tries to segment the entire volume. You can think of it this way: The network predicts the best initial guess (for the entire volume) s.t. an active contour model (ACWE) will have nowhere to evolve.

JunMa11 commented 4 years ago

Hi @shirgur ,

Thanks for your quick reply.

Sorry, I still don't understand.

The network predicts the best initial guess (for the entire volume) s.t. an active contour model (ACWE) will have nowhere to evolve.

In other words, the active contour model (ACWE) has the lowest energy on the "initial guess". So the segmentation results of Morph Layer with AC loss should be the same as the ACWE.

Why this is not the case?

shirgur commented 4 years ago

1) Please see that the segmentation is the output of a Sigmoid function (Soft segmentation, unlike 0/1) so the calculated energy is different (to some extent) 2) ACWE requires an initial guess 3) The network can "evolve"/segment new (not connected) components

JunMa11 commented 4 years ago

Hi @shirgur ,

Thanks for your kindly reply very much.

  1. Please see that the segmentation is the output of a Sigmoid function (Soft segmentation, unlike 0/1) so the calculated energy is different (to some extent)

Yes, but this does not mean AC loss is better than ACWE.

  1. ACWE requires an initial guess

Yes, but the initial can be very simple rectangle.

  1. The network can "evolve"/segment new (not connected) components

ACWE also can do it. e.g., the demo in official morphsnakes

I‘m so sorry, from the three points, I still do not figure out why AC loss can do better than Morph-ACWE?

shirgur commented 4 years ago

You are correct about the similarities between the methods in terms of "general intuition", but: 1) Please note that the network uses a compound loss (though AC is good enough) and predicts the segmentation in a "single iteration" (forward pass), unlike N iterations in ACWE 2) It optimizes across many other volumes and not just one 3) Example: u[aux > 0] = 1(from git ref.) will not make the voxel 1, in the case of learning-based models, but will update the weights accordingly 4) This is why minimizing the Morph-ACWE on a specific image might get you to a local minima, while learning-based methods benefit from the additional data

These are good questions, please feel free to contact me via email

I'm closing that issue because it is less relevant for the purpose of this git

JunMa11 commented 4 years ago

Thank you very much. @shirgur