Negative weights in tracking with learning


after successful installation of the commercial solvers and running Ilastik with the structured learning algorithm we are facing the problem that the weights cannot be correctly calculated with the following error message:!

So we labeled basically all tracks and let us guide to unlabelled tracks by the “go to unlabelled object” button but no matter how many we train the error persist. There was this issue previously discussed on git but I didn’t find a final advice to the user how to proceed. Maybe we are also wrong in the usage following only the online-tutorial.
We track until the objects vanishes and mark the last time-point as “object gone in next frame”
Additionally we have mergers and divisions. We tried to label the divisions with the “division event” button. Do the objects have to be traced before?

I am happy for any advice on the correct usage o improve the tracking results since the segmentation looks all good.


Hey @tinaw

we can only offer one approach that usually works:

  • go back to the division classifier, as well as to the object count classifier,
  • make the Uncertainty layer visible, most likely there is a lot of blueish stuff appearing,
  • train the classifiers until uncertainty is visually reduced.


Hei Dominik,

thanks for the suggestion. While after some labelling the uncertainty is reduced it seems to increase again for more and persist even for labeled objects.
Shall we mark dividing objects only in the frame right before division or also when they look already like dividing soon?
It might be a problem with the type of data itself since these are no cells they do not always show a certain shape before dividing and if they merge these are actually not 2 objects but they fuse into one. How shall we label the mergers? still with both colours of the daughters and train it as 2(+x) objects?
Can I somehow drop you an example?

Hi @tinaw,

yes, please only mark them in the frame before one objects becomes two. It’s good practice to annotate the daughter cells as not dividing. See here in the ilastik tracking docs.

the algorithm should, nevertheless, pick up the merger, even if those objects never go apart again in your time sequence.

Yes, that’s exactly how you have to do it. You basically have to annotate it twice(+x) with the respective tracks. Unfortunately you can not confirm that there are two tracks assigned by the coloring. The only thing you can do is right click on the labelled object and see that you can remove multiple tracks (as many as you have assigned to it).

I think this would be very helpful. You can send a link to and we’ll have a look.