Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue for talking about the bee data #133

Open
marcrasi opened this issue Jul 20, 2020 · 7 comments
Open

Issue for talking about the bee data #133

marcrasi opened this issue Jul 20, 2020 · 7 comments

Comments

@marcrasi
Copy link
Collaborator

No description provided.

@marcrasi
Copy link
Collaborator Author

marcrasi commented Jul 20, 2020

I downloaded the bee data from https://www.cc.gatech.edu/~borg/ijcv_psslds/ and tried training a very simple UNet on it. I manually annotated all the bees in a single frame from a single video, and used that as the training data.

Here are predictions from videos that it never saw during training:

download (1)

(colab https://colab.research.google.com/drive/1IqOFgbyLAUHc-ILiiMT2eMqAibe0N4a4#scrollTo=ecuegjygo7Lh)

This seems like a very promising starting point especially since I used very little training data and I didn't use any of the more advanced UNet tricks that I have heard about.

Everything that you need to try it out yourself is linked from the colab. I plan to clean up the data loading code and the training code tomorrow so that it's easier to use and extend.

@dellaert
Copy link
Member

Very cool! Reading a bunch of tracking papers now, will add papers to shared folder and track reading a Google doc

@dellaert
Copy link
Member

OK, I took an hour to seed the document and folder. I think the Li19cvpr paper is very interesting, encourage others to read and its antecedents. @ProfFan @dabrahams @marcrasi

@marcrasi
Copy link
Collaborator Author

Thanks! I'll be reading the papers. I'm going to start a "glossary" doc in the folder because the papers are using a lot of standard datasets, evaluation metrics, nn architectures, etc, that I have never heard of and it would be nice to have the definitions collected in one place.

@dellaert
Copy link
Member

Great. I read and added a bunch more papers last night and today. This might be overkill: most SOTA work is focused on generic object tracking, whereas we are tracking only one animal, more or less just rotating and translating. But it’s good to get a sense of the literature. Just added 2 bee tracking papers from the same group that apparently never read our papers :-(

@dabrahams
Copy link
Collaborator

dabrahams commented Jul 21, 2020 via email

@marcrasi
Copy link
Collaborator Author

marcrasi commented Jul 23, 2020

I have cleaned up the code so that it's more understandable and usable.

Repo: https://github.com/marcrasi/DeepBeeTracking (but maybe we should make it a repo in borglab or just move the code into SwiftFusion?)

The repo has a readme explaining how to run training and inference on the UNet. Here is the model and the training loop.

But the UNet is just an example, and the dataset loading is the more useful part:

// Load the https://www.cc.gatech.edu/~borg/ijcv_psslds/ sequences.
import DeepBeeTrackingDatasets
let seq1 = BeeFrames(sequenceNames: "seq1")!  // or seq2, ..., seq6
// seq1[0], ... are tensors containing each of the frames.

We'll probably also want to load/save bounding box poses, so I'll add some code for that soon. I could try to use the format of the data at https://www.cc.gatech.edu/~borg/ijcv_psslds/, but that looks a bit complicated so I'll probably just make it a plain text file with coordinates and angles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants