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)
In the refinement network, the first deconv operation (deconv5
) happens on the ouput of the conv6
layer.
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.
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!