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

Serializing Models #5

Open
patricksnape opened this issue May 14, 2015 · 5 comments
Open

Serializing Models #5

patricksnape opened this issue May 14, 2015 · 5 comments

Comments

@patricksnape
Copy link

Hi,

I'm part of a small team at Imperial College London called Menpo, and we are focusing on creating some tools in Python that make certain areas of computer vision easier. I've read your paper about object detection and obviously found the Pico repository via that.

I have wrapped Pico in Cython for use in Python over at cypico and I'm currently using a forked version of Pico that correctly compiles in Visual Studio. I was wondering if you would be interested in doing some collaboration so that we might make training and serializing Pico models more friendly from within Python.

Is this something you might be interested in?

Cheers,

Patrick and The Menpo Team

@nenadmarkus
Copy link
Owner

Hi,

I'd be glad to help.

Please contact me at nenad.markus@fer.hr

Nenad

On Thu, May 14, 2015 at 4:02 PM, Patrick Snape notifications@github.com
wrote:

Hi,

I'm part of a small team at Imperial College London called Menpo, and we
are focusing on creating some tools in Python that make certain areas of
computer vision easier. I've read your paper about object detection and
obviously found the Pico repository via that.

I have wrapped Pico in Cython for use in Python over at cypico
https://github.com/menpo/cypico and I'm currently using a forked
version of Pico that correctly compiles in Visual Studio. I was wondering
if you would be interested in doing some collaboration so that we might
make training and serializing Pico models more friendly from within Python.

Is this something you might be interested in?

Cheers,

Patrick and The Menpo Team


Reply to this email directly or view it on GitHub
#5.

@patricksnape
Copy link
Author

I emailed you, but for the sake of public history, here's roughly what I said:

There are two issues for me at the moment:

  • How to do training from Python in an informative and useful way.
  • How to serialize and deserialize models at runtime.

I think the second problem can be solved if we changed how Pico builds its models to a method that involves proper deserialization. Then it would be much simpler to load different Pico models (perhaps for different objects) at runtime, rather than requiring them to be pre-compiled. Perhaps something like Google ProtoBuf/Cap'n'proto or Boost.serialize?

For training, I'm afraid I don't know at all. Do you think it would be simple to make is so you can just pass a set of images (uint8 buffers) for positive and negative and it will (maybe days later) drop a model out?

@nenadmarkus
Copy link
Owner

Let us talk about the easier issue first: How to serialize and deserialize models at runtime.

I can write an interface to the detector which would let you pass the classification cascade itself instead of a pointer to the function which performs classification.

I think that would satisfy your needs. Please provide further input.

@patricksnape
Copy link
Author

Yes I think that is a good start. The main question is just what the format of that model is going to be - will you make some form of struct that gets passed into the function? If so, we just need to decide what is the best method to actually efficiently serialize the model to disk and read it back in again. Especially since this method should obviously be portable and cross-platform and ideally simple to perform through a Python-C bridge.

@nzjrs
Copy link

nzjrs commented Sep 25, 2015

Was there any progress on this?

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