ClementPinard / FlowNetPytorch

Pytorch implementation of FlowNet by Dosovitskiy et al.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CONV6_1 layer existence query

mukulkhanna opened this issue · comments

Hi, thank you so much for the code!

I was going through the paper and trying to understand the implementation using your code when I noticed that the last layer before the refinement layer is the conv6 operation (512c -> 1024c)
image

In the refinement network, the first deconv operation (deconv5) happens on the ouput of the conv6 layer.
image

But in your code, I see that there is a conv6_1 operation on the output of the conv6.

out_conv6 = self.conv6_1(self.conv6(out_conv5))

where

self.conv6_1 = conv(self.batchNorm,1024, 1024)

It doesn't seem consistent with the paper (diagram at least) as I can't see a layer similar to conv6_1 that takes in 1024c and outputs 1024c.

and similarly for this line ->

flow6 = self.predict_flow6(out_conv6)

The diagram shows that the first flow calculated is the flow5 one.

Am I missing something? Please let me know, thanks.

Also, the diagram shows a kernel-size of 5x5 for the flow prediction in the refinement network. You have used a 3x3 kernel for the predict_flow method's conv layer here.

image

yes, the diagram is not consistent with their released code and pretrained network.

I preferred to match their implementation rather than their description is the paper.
See here (in the post name "Disp- and FlowNet: Full code for testing and training networks") for their original caffe implementation.

Oh, thanks for the clarification!