caffe-segnet icon indicating copy to clipboard operation
caffe-segnet copied to clipboard

Port segnet architecture to caffe/master branch?

Open anandthakker opened this issue 8 years ago • 5 comments

Since the Caffe main branch now has a batch normalization layer and upsampling via deconvolution layer, it seems to me that it might be feasible to port the SegNet architecture so that it can run off the BVLC/caffe master (using Python layers for the data input layer and per-class-weighted loss).

I wonder if this might be worthwhile, because, while I haven't followed it in detail, it seems that caffe has gotten any number of improvements in the past year that segnet training could benefit from.

@alexgkendall what do you think?

anandthakker avatar Jul 17 '16 13:07 anandthakker

I agree this would be great - aside from what you've pointed out you would also need to port the max unpooling layer too.

alexgkendall avatar Jul 22 '16 13:07 alexgkendall

IMHO, integration with Caffe is important for growth since Nvidia is taking steps towards this framework, such as Digits or GIE and SegNet's idea and implementation still original and useful.

arassadin avatar Jul 22 '16 13:07 arassadin

I agree this would be great - aside from what you've pointed out you would also need to port the max unpooling layer too.

@alexgkendall From a naive read of the prototxt file, I don't see these as a layer type -- could you point me to an example of one of these layers?

anandthakker avatar Jul 27 '16 09:07 anandthakker

@anandthakker I believe @alexgkendall is referring to the "upsample" layer, which is the same thing as unpooling. There is a discussion on the Caffe User's Group about incorporating an unpooling layer into the master branch (see https://groups.google.com/forum/#!searchin/caffe-users/unpooling%7Csort:relevance/caffe-users/rB5jSwqrwDY/2z-z67FXAQAJ) but I don't know whether there has been any traction on that.

jorgyz avatar Aug 17 '16 19:08 jorgyz

One problem might be that SegNet's license doesn't match Caffe's license, the latter being fine with commercial use.

SegNet says:

"This extension to the Caffe library is released under a creative commons license which allows for personal and research use only. For a commercial license please contact the authors. You can view a license summary here: http://creativecommons.org/licenses/by-nc/4.0/"

Of course @alexgkendall could dual-license (retaining copyright of his code) and allow the Caffe version to be used more permissively, but without that agreement I doubt Caffe would accept any pull request with SegNet code. The other option is that someone re-implements the missing bits.

ferrouswheel avatar Oct 30 '16 22:10 ferrouswheel