org.opencv.video.TrackerGOTURN Maven / Gradle / Ivy
//
// This file is auto-generated. Please don't modify it!
//
package org.opencv.video;
import org.opencv.video.Tracker;
import org.opencv.video.TrackerGOTURN;
import org.opencv.video.TrackerGOTURN_Params;
// C++: class TrackerGOTURN
/**
* the GOTURN (Generic Object Tracking Using Regression Networks) tracker
*
* GOTURN (CITE: GOTURN) is kind of trackers based on Convolutional Neural Networks (CNN). While taking all advantages of CNN trackers,
* GOTURN is much faster due to offline training without online fine-tuning nature.
* GOTURN tracker addresses the problem of single target tracking: given a bounding box label of an object in the first frame of the video,
* we track that object through the rest of the video. NOTE: Current method of GOTURN does not handle occlusions; however, it is fairly
* robust to viewpoint changes, lighting changes, and deformations.
* Inputs of GOTURN are two RGB patches representing Target and Search patches resized to 227x227.
* Outputs of GOTURN are predicted bounding box coordinates, relative to Search patch coordinate system, in format X1,Y1,X2,Y2.
* Original paper is here: <http://davheld.github.io/GOTURN/GOTURN.pdf>
* As long as original authors implementation: <https://github.com/davheld/GOTURN#train-the-tracker>
* Implementation of training algorithm is placed in separately here due to 3d-party dependencies:
* <https://github.com/Auron-X/GOTURN_Training_Toolkit>
* GOTURN architecture goturn.prototxt and trained model goturn.caffemodel are accessible on opencv_extra GitHub repository.
*/
public class TrackerGOTURN extends Tracker {
protected TrackerGOTURN(long addr) { super(addr); }
// internal usage only
public static TrackerGOTURN __fromPtr__(long addr) { return new TrackerGOTURN(addr); }
//
// C++: static Ptr_TrackerGOTURN cv::TrackerGOTURN::create(TrackerGOTURN_Params parameters = TrackerGOTURN::Params())
//
/**
* Constructor
* @param parameters GOTURN parameters TrackerGOTURN::Params
* @return automatically generated
*/
public static TrackerGOTURN create(TrackerGOTURN_Params parameters) {
return TrackerGOTURN.__fromPtr__(create_0(parameters.nativeObj));
}
/**
* Constructor
* @return automatically generated
*/
public static TrackerGOTURN create() {
return TrackerGOTURN.__fromPtr__(create_1());
}
@Override
protected void finalize() throws Throwable {
delete(nativeObj);
}
// C++: static Ptr_TrackerGOTURN cv::TrackerGOTURN::create(TrackerGOTURN_Params parameters = TrackerGOTURN::Params())
private static native long create_0(long parameters_nativeObj);
private static native long create_1();
// native support for java finalize()
private static native void delete(long nativeObj);
}