funkelab / motile

Multi-Object Tracker using Integer Linear Equations
https://funkelab.github.io/motile/
MIT License
22 stars 4 forks source link

unordered frames #77

Closed pattonw closed 4 months ago

pattonw commented 5 months ago

The motile ILP is very close to something I want for a sorta tracking like problem. I have just a few unordered frames, 2 for now but may go up to maybe 5-10. Lets say I have 2 nodes in 5 frames [f1, f2, f3, f4, f5], I could arbitrarily assign timepoints to the frames to make two tracks through these 5 frames, but I really want the ilp to select the two K5 subgraphs giving me all-all connections through the frames. @tlambert03 How difficult would this be to do in the motile framework? Would I need to change a lot or would this be fairly simple to do using the motile api as is?

tlambert03 commented 5 months ago

hey, @pattonw.

I'm definitely not the expert on the graph theory stuff here (pinging @cmalinmayor and @funkey as well, as they will likely know better).

My naive thought is that sure: it seems like it would be easy enough to cast your problem to work with motile, by (as you said) assigning arbitrary time directionality and setting up costs such that you constrain it to the type of node connections you want. However, without knowing more about the complexity and other weights/considerations of your problem it kinda seems like it might be overkill?

cmalinmayor commented 4 months ago

@pattonw I think you'd have to change a lot to do it properly - you'd want to edit the basic constraints because your task (link each item to one item in each other "frame") is not compatible with our tracking assumptions. You can shoehorn it into a pseudo-tracking problem just to test the concept but it won't be optimal. I'd recommend using motile as an inspiration for our how write the proper ilp in ilpy (or another ILP solving framework).