foolwood / DCFNet

DCFNet: Discriminant Correlation Filters Network for Visual Tracking
MIT License
214 stars 66 forks source link

Is it better to shift the gaussion label? #8

Closed he010103 closed 6 years ago

he010103 commented 6 years ago

In the training state, DCFNet use the target and the search image as input and the center gaussion label(then move to the left-top). Will it better if we generate gaussion label according to the position of the target in the search image? If the position of the target is not in the center, then generate the shifted label.

foolwood commented 6 years ago

I think that a label generated online will makes the training result more robust. But It's time-consuming (since there is no asynchronous data reading feature in matconvnet, pytorch without supporting for fft).

he010103 commented 6 years ago

The training with shifted label could be done offline. I found that all the gaussion label of DCFNet is in the center of the search window. But in the testing state, the search target is not always coincidencly in the center of the search area. So the training and the testing is not conformably, which may cause the accuracy decrease. So maybe it is better to generate gaussion label according to the position of the target in the search image in the offline training state.

foolwood commented 6 years ago

@he010103 The training strategy is based on translation invariance(for detection). And if I make the object pair completely according to the online condition, it's too trick. (Sometimes the target moves to the margin or out-of-range of img, I don‘t want to do such a engineered coding.) You can fix this kind of problem. But I do think the reult will never get a great improvement. The core bottleneck is the simple DCF. Anyway, it's a good suggestion.

he010103 commented 6 years ago

@foolwood I found that fft can be use in pytorch with this: https://github.com/locuslab/pytorch_fft. Do you have a plan to rewrite the DCFNet with pytorch?