davheld / GOTURN

Source code for paper: Learning to Track at 100 FPS with Deep Regression Networks, Held, et al. ECCV 2016
http://davheld.github.io/GOTURN/GOTURN.html
MIT License
887 stars 316 forks source link

how do `tracker_init.caffemodel` created? #41

Open CongWeilin opened 7 years ago

CongWeilin commented 7 years ago

According to your paper, the top fifth layer was initiated on tracker_init.caffemodel. How do you create tracker_init.caffemodel? Do you copy weigh from CaffeNet(which is 230M) to both the two sub-net to create a 460M tracker_init.caffemodel? how can you do that?

Ouya-Bytes commented 7 years ago

I also has same question?

CongWeilin commented 7 years ago

goturn i back-calculate the tracker_init.caffemodel, it shows like this. I want to replace CaffeNet to VGG or even ResNet, however how to generate this model block me...

davheld commented 7 years ago

I believe that I just used Caffe's weight sharing mechanism.

ujsyehao commented 7 years ago

@davheld I do not understand what you say, caffe's weight sharing mechanism?

davheld commented 7 years ago

You can see how weight sharing works here: http://caffe.berkeleyvision.org/gathered/examples/siamese.html

You need to name the parameters in both AlexNets with the same names, e.g.:

param { name: "conv1_w" ... } param { name: "conv1_b" ... }

which causes Caffe to give each side the same parameters, I believe.

On Wed, Mar 15, 2017 at 2:37 AM, ujsyehao notifications@github.com wrote:

@davheld https://github.com/davheld I do not understand what you say, caffe's weight sharing mechanism?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/davheld/GOTURN/issues/41#issuecomment-286654050, or mute the thread https://github.com/notifications/unsubscribe-auth/AEHoHNEx5MKMEONskEAM4vda3fRVQBKIks5rl4cugaJpZM4MWgSs .

BigPuns commented 6 years ago

@davheld hi, dear davheld, I have a question about siamese network, since the conv weight parameter is same, why not use the batch is 2 input the current frame and the previous frame target. it'll save much forward time.

davheld commented 6 years ago

The input to the network changes based on the prediction, such that the previous frame input is always centered on the prediction from the previous frame.

On Thu, Aug 16, 2018 at 10:06 PM, BigPuns notifications@github.com wrote:

@davheld https://github.com/davheld hi, dear davheld, I have a question about siamese network, since the conv weight parameter is same, why not use the batch is 2 input the current frame and the previous frame target. it'll save much forward time.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/davheld/GOTURN/issues/41#issuecomment-413736350, or mute the thread https://github.com/notifications/unsubscribe-auth/AEHoHHkSakxbpmCvEaScy0rVnnbbUAx3ks5uRiUwgaJpZM4MWgSs .

BigPuns commented 6 years ago

@davheld Thank you for reply. I have done a prediction test about goturn, I set batchsize to 2, this is equal to input data "image" and "target" in siamese network. And I change the network, use only one convolution layer, after pool5 layer use slice layer to split the batchsize to two featuremap, and then concat them, this method can get the same tracker result with the siamese network goturn, what's more, this method save much forward time, so why use the siamsese network in goturn,is it for train?

davheld commented 6 years ago

That is very clever - any idea why your approach gives a speedup over the original method? How much faster is it?

On Mon, Aug 20, 2018 at 3:38 AM, BigPuns notifications@github.com wrote:

@davheld https://github.com/davheld Thank you for reply. I have done a prediction test about goturn, I set batchsize to 2, this is equal to input data "image" and "target" in siamese network. And I change the network, use only one convolution layer, after pool5 layer use slice layer to split the batchsize to two featuremap, and then concat them, this method can get the same tracker result with the siamese network goturn, what's more, this method save much forward time, so why use the siamsese network in goturn,is it for train?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/davheld/GOTURN/issues/41#issuecomment-414224991, or mute the thread https://github.com/notifications/unsubscribe-auth/AEHoHN2r3IPCmhJicn4JxtZ57NM0F3Sjks5uSmdqgaJpZM4MWgSs .