martin-danelljan / Continuous-ConvOp

The Continuous Convolution Operator Tracker (C-COT).
GNU General Public License v3.0
196 stars 83 forks source link

Why does the interpolation function need to be shifted #9

Closed lchm1990 closed 7 years ago

lchm1990 commented 7 years ago

Without shifting half an interval T/(2Nd), the interpolated feature map x(t) in the continuous space well agree with the original feature map x[n] in the discrete space:x(0)=x[0],x(T/Nd)=x[1],x(2T/Nd)=x[2],....It is interpreted as a method to preserve the spatial arrangement of the feature pyramid in the paper and the supplementary material. But this operator shift the original feature map 0.5 pixel (T=Nd), and the correspondence between the x(t) and x[n] is not satisfied.

martin-danelljan commented 7 years ago

This shift is only to align all feature maps with the target center, which is placed at T/2. This preserves the spatial arrangement of the bins. For example, assume that x[n] is the gray scale value or HOG feature. Then, the left-most bin x[0] integrates information from the continuous interval t \in [0, T/Nd). When working with different resolutions, it is therefore important to place the feature value x[0] at the center of this interval t = T/2Nd.