Comments (4)
i also applied the surface loss to multiple class segmentation problem while the performance is not as good as i desire. Especially after the surface loss ratio becomes 1.0, the performance begins to drop dramatically. I am guessing that's because the gradient learning is not stable when using surface loss alone.
from boundary-loss.
Hey,
I am wondering whether you have some ideas on avoiding this instead of combining the surface loss with another loss.
Somewhat pre-trained network or multi-class (more than 2 classes) problems ; I successfully made it work by itself on ACDC.
Besides, i noticed that you consider probabilities of all pixels in predicted probability map which is a little different from the mathematical analysis, where only G\S and S\G are considered. probably this problem can be solved if we only consider probabilities corresponding to G\S and S\G
Yes but the initial problem is that you cannot define S (in a differentiable way) ; hence why we reword it with indicator functions, that we then relax with the softmax. Issue #9 (comment) might help you on that.
i also applied the surface loss to multiple class segmentation problem while the performance is not as good as i desire. Especially after the surface loss ratio becomes 1.0, the performance begins to drop dramatically. I am guessing that's because the gradient learning is not stable when using surface loss alone.
Ah that is interesting ; I didn't make many experiments with those settings. On ACDC the perfs were similar or slightly lower that a default cross-entropy, but I don't think I saw a drop in performances. Analyzing that would be interesting. Can you tell me what problem it was ?
from boundary-loss.
Yes but the initial problem is that you cannot define S (in a differentiable way) ; hence why we reword it with indicator functions, that we then relax with the softmax. Issue #9 (comment) might help you on that.
we can obtain S by argmax and then detach it from the probability map output. In this way, we can define S\G and G\S, and further calculate surface loss as the mathematical equation shows. In this way, we can avoid the in-differentiable problem.
from boundary-loss.
we can obtain S by argmax and then detach it from the probability map output.
Yes, and then you could compute it as a metric, but you wouldn't be able to back-propagate on that, since it is non-derivable.
A loss requires to be derivable, while a metric doesn't. It is true that the formulation that we propose (or its discrete equivalent) could be used as a metric ; but I am not sure of its usefulness.
from boundary-loss.
Related Issues (20)
- Does einsum really make the code easier to understand HOT 2
- ISLES 2018 HOT 1
- Heterogeneous resolution yields non-zero boundary. HOT 5
- InvalidArgumentError: required broadcastable shapes at loc(unknown) [Op:Mul] HOT 2
- Can this loss be used for multi-label classification? HOT 4
- Create dist_map for image segmentation mask as label. HOT 2
- Is multiplication by negmask in one_hot2dist() irrelevant? HOT 2
- Question about the optional argument resolution in the dist_map_transform function HOT 1
- About the calculation of dist_map HOT 5
- how to use with sigmoid as activation function when meeting binary classification segmentation task HOT 3
- how to adjust the lambda parameter HOT 5
- How to use HausdorffLoss? HOT 1
- How to use HausdorffLoss? HOT 1
- How to one-hot encode a multi-class dataset and how to use Boundary Loss on B x N x W x H logits? HOT 2
- Only using boundary loss leads to non convergence HOT 1
- Failure of matching datasets of WMH HOT 1
- Is it possible to train the Boundary Loss code on a GPU? HOT 1
- Whether this loss function can be applied to the partition of a hollow region, that is, a region with two boundaries HOT 2
- License Request
- zero question
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from boundary-loss.