Teach a Molmo2Fish: Towards interactive fish tracking with natural language guidance
Organizations: Massachusetts Institute of Technology · Massachusetts Institute of Technology, Cambridge MA 02139, USA
Abstract
Computer vision is increasingly used to automate recognition tasks in large ecological datasets, but more complex tasks such as multi-object tracking continue to pose challenges. As researchers seek to incorporate vision models in ecology workflows, various lines of research have explored how to make imperfect predictions useful through human-in-the-loop processes. We propose a new approach to working with imperfect tracking predictions through an interactive prediction correction workflow taking place as a conversation with a multimodal large language model, which we tailor to a sonar fish tracking dataset as an initial proof of concept. We investigate the performance of the tool, Molmo2Fish, across guided and unguided tasks, correcting its own predicted tracks and external tracks. We find that Molmo2Fish achieves high performance on fish tracking and track correction tasks, but there is still much room to improve on incorporating natural language guidance. The code and data are publicly available at https://github.com/tidalove/molmo2fish.
Figures & tables
| Name | Description | Splits |
| Pure tracking | Generic “track all fish” task, target is all points on all fish on all frames | train, val |
| Guided tracking | “Track X fish”, where X is some descriptor: “track the last fish”, “track the top three fish”, etc; target is points only on those identified fish | train, val |
| Synthetic track corrections | Tracking corrections generated synthetically | train, val |
| Targeted track corrections | Tracking corrections fixing only target mistakes | train, val |
| Real track corrections | Tracking corrections generated from real model predictions: | |
| YOLO+SORT | Tracking corrections with pre-correction prediction from YOLO+SORT predictions | val only |
| Corruption | Function |
|---|---|
| add | Adds a spurious track |
| delete | Removes one track |
| fragment | Splits a track into two, assigning one track ID before a chosen frame and another after |
| merge | Picks two tracks to assign to the same track ID |
| deviate | Applies a spatial displacement |
| partial_delete | Removes a portion of a track |
| Molmo2 | LLM | LLM+Connector | LLM+Connector+ViT | |
|---|---|---|---|---|
| Pure Tracking | 0.049 | 0.608 | 0.656 | 0.737 |
| Synthetic Corrections | 0.484 | 0.484 | 0.484 | 0.484 |
| No-info | — | 0.757 | 0.769 | 0.799 |
| Full | 0.164 | 0.767 | 0.780 | 0.817 |
| Targeted Corrections | 0.843 | 0.843 | 0.843 | |
| No-info | — | 0.623 | 0.632 | 0.640 |
| Pure tracking | + synthetic | + Molmo-low | + Molmo-high | +120 steps | |
|---|---|---|---|---|---|
| Pure Tracking | 0.780 | 0.763 | 0.737 | 0.729 | 0.793 |
| Synthetic Corrections | 0.484 | 0.484 | 0.484 | 0.484 | 0.484 |
| No-info | — | 0.820 | 0.799 | 0.766 | 0.803 |
| Full | 0.415 | 0.833 | 0.817 | 0.811 | 0.848 |
| Molmo-low Corrections | 0.482 | 0.482 | 0.482 | 0.482 | |
| No-info | — | 0.473 | 0.615 | 0.567 | 0.576 |
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Trained on ID only | Trained on all | ||
|---|---|---|---|
| OOD set | Pre-correction baseline | 0.628 | 0.628 |
| No-info | 0.810 | 0.856 | |
| Full | 0.824 | 0.882 | |
| ID set | Pre-correction baseline | 0.432 | 0.432 |
| No-info | 0.805 | 0.806 | |
| Full | 0.823 | 0.815 |
| Kenai | Rightbank | Elwha | Nushagak | ||
| Train | |||||
| Clips | 482 | 512 | 175 | 55 | |
| Sliced clips | 858 | 844 | 273 | 154 | |
| Examples | Pure tracking | 858 | 844 | 273 | 154 |
| Guided tracking | 2048 | 2130 | 492 | 449 | |
| Synthetic corrections | 2104 | 2116 | 404 | 602 | |
Visual Object Tracking
Visual object tracking follows objects across video frames, maintaining their locations and identities despite motion, occlusion, and changing appearance.
See all 175 papers