Opencv 3.2, and Deep Regression Networks
Opencv 3.2 is out. I am just checking the change log. What is inside from the my point of view ?
The tuns of improvement are mainly in opencv_contrib modules Github fork is here.
There is several thinks that should be mentioned. For example GOTURN tracker. Is also part of the opencv_contrib fork under the tracking modules.. Goturn is convolutional neural network based tracking algorithm.
More information should be also found on Learning to Track at 100 FPS with Deep Regression Networks.
Deep Regression Networks (goturn basic information)
In opposite to online learning (for example first version of TLD that using warp path of negative example and geometric transformation over positive sample) the proposed DRN (Deep regression networks) using somehow pretrained feed-forward network without online learning. The authors pre-train algorithms on many different video samples called generic object tracking. Let say there is a video sample with car. Lets build the positive sample in sense that the neural network tracker hit the target in next frame.. Negative samples in opposite way. Collect the many video samples with different kind of object and let just penalize the network when he make a mistake in tracking and in opposite when is overthink with tracking OK..
Idea simple as hell. Make sense. I have to try. Network should penalize samples that are not connected in space. Let say samples apart from consecutive video frames. Samples with weird behaviour and and strange similarities in object appearance..
Let the neural network learn what is tracking, how to track, what is optical flow, the relations between frames and object itself.. This is not bad idea. I have to try..
Yes, there are already lots of detectors based on neural network and others great idea. I really want to know more about this method and maybe try to implement..
Build from Convolutional neural network
The architecture of the network is 2 pretrained convolutional neural network. One is processing and judge the feature of previous frame and the second one evaluate and judge the current frame.. Outputs of the both convolutional neural network are connected to one input vector to fully-connected layer. That evaluate relation between the object in previous and current video frames.. There is nothing new from the technical perspective just and idea used in tracking.
Conclusion is that, I want to try select positive and negative samples from connected frames to learn neural network ho to track.