Recipes icon indicating copy to clipboard operation
Recipes copied to clipboard

fast and faster R-CNN

Open llcao opened this issue 9 years ago • 10 comments

Is it worth implementing the fast R-CNN and faster R-CNN with Lasagne? Both are state-of-the-art image detection methods.

My current guess is faster R-CNN is easier since it purely relies on two networks (one for proposal, another for detection) and would like to work on it. Anyone has tried that?

llcao avatar Dec 16 '15 20:12 llcao

It's been on my list to try but I probably won't get to it anytime soon. A PR would certainly be welcome!

ebenolson avatar Dec 16 '15 21:12 ebenolson

Has anyone written an implementation of one of these in Lasagne yet? Just wondering, since I might have to implement one of these later on this year for a project. It would be nice to know if this has already been done, to save me some work.

christopher-beckham avatar Jan 06 '17 15:01 christopher-beckham

I have an implementation of Fast RCNN in Lasagne over VGG16 model. I am not sure if my implementation is correct. Link to my implementation : https://gist.github.com/Sentient07/bade6167bc923a4f0bf4a14196065cf7 (in the next two days, i'll add the other models, and RPN for Faster-RCNN ) The version of theano you'd need : https://github.com/Sentient07/Theano/tree/ROIPool ( I am keeping it up-to date with the current Master and will do so till it gets merged) The version of Lasagne you need : https://github.com/Sentient07/Lasagne/tree/ROIPool ( I am waiting to open a PR for my OPs to get merged to theano) @f0k I'd be glad if you could tell me if my implementation has any mistakes :)

Sentient07 avatar Mar 14 '17 21:03 Sentient07

Thanks very much @Sentient07 :) Is there any possibility of seeing this as a Lasagne recipe at some point in the future?

christopher-beckham avatar Mar 15 '17 19:03 christopher-beckham

Theano is at the moment focused on a release. Until then, I don't think my PR would get merged there. Once it's merged, I'll open a PR on lasagne, then Lasagne recipe :) would take a month's time approximately.

Sentient07 avatar Mar 15 '17 20:03 Sentient07

There is a small detail that I missed to mention in my previous comment. On certain GPUs, you have to use the flag floatX=float32 for this model to work(float64 requires more than 4Gb of memory) while using the new backend. The old backend automatically switches to float32

Sentient07 avatar Mar 15 '17 20:03 Sentient07

If I have some time, I'll be happy to look at the implementation too, but I think it's worth me re-reading Fast-RCNN again before I look at any code!

christopher-beckham avatar Mar 15 '17 23:03 christopher-beckham

If I have some time, I'll be happy to look at the implementation too

That'd be welcome! I'm afraid I won't be able to check the implementation in the near future. If you're able to reproduce results from the paper, that's a good indicator that you've got the basics correct :)

f0k avatar Mar 16 '17 14:03 f0k

Hi Jan, This implementation is the variant of the original one which I had described about in the ROIPool PR's thread on theano. I am training on the VOC 2012 right now. How many epoch should I run? Is it fine if I compare the results with Caffe implementation at some smaller epoch or should I train it completely and compare the results ? Ramana

On Mar 16, 2017 19:55, "Jan Schlüter" [email protected] wrote:

If I have some time, I'll be happy to look at the implementation too

That'd be welcome! I'm afraid I won't be able to check the implementation in the near future. If you're able to reproduce results from the paper, that's a good indicator that you've got the basics correct :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Lasagne/Recipes/issues/35#issuecomment-287073446, or mute the thread https://github.com/notifications/unsubscribe-auth/AF6IcHAWrpLzW7IHh1zOmmdlwYkFYm8_ks5rmUZPgaJpZM4G22DS .

Sentient07 avatar Mar 16 '17 15:03 Sentient07

How many epoch should I run? Is it fine if I compare the results with Caffe implementation at some smaller epoch or should I train it completely and compare the results ?

If you can afford to run it long enough to compare/reproduce the final results, that'd probably be better. But you might want to compare to Caffe in between (to make sure your implementation is not way off). If full training is not feasible, a stripped-down demo that shows it's doing something useful would also be fine for a Lasagne Recipe.

f0k avatar Mar 16 '17 15:03 f0k