pub struct TrackerGOTURN { /* private fields */ }
Expand description
the GOTURN (Generic Object Tracking Using Regression Networks) tracker
GOTURN (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.
Implementations§
source§impl TrackerGOTURN
impl TrackerGOTURN
sourcepub fn create(
parameters: &impl TrackerGOTURN_ParamsTraitConst,
) -> Result<Ptr<TrackerGOTURN>>
pub fn create( parameters: &impl TrackerGOTURN_ParamsTraitConst, ) -> Result<Ptr<TrackerGOTURN>>
sourcepub fn create_def() -> Result<Ptr<TrackerGOTURN>>
pub fn create_def() -> Result<Ptr<TrackerGOTURN>>
Constructor
§Parameters
- parameters: GOTURN parameters TrackerGOTURN::Params
§Note
This alternative version of TrackerGOTURN::create function uses the following default values for its arguments:
- parameters: TrackerGOTURN::Params()
Trait Implementations§
source§impl Boxed for TrackerGOTURN
impl Boxed for TrackerGOTURN
source§unsafe fn from_raw(
ptr: <TrackerGOTURN as OpenCVFromExtern>::ExternReceive,
) -> Self
unsafe fn from_raw( ptr: <TrackerGOTURN as OpenCVFromExtern>::ExternReceive, ) -> Self
source§fn into_raw(self) -> <TrackerGOTURN as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw(self) -> <TrackerGOTURN as OpenCVTypeExternContainer>::ExternSendMut
source§fn as_raw(&self) -> <TrackerGOTURN as OpenCVTypeExternContainer>::ExternSend
fn as_raw(&self) -> <TrackerGOTURN as OpenCVTypeExternContainer>::ExternSend
source§fn as_raw_mut(
&mut self,
) -> <TrackerGOTURN as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut( &mut self, ) -> <TrackerGOTURN as OpenCVTypeExternContainer>::ExternSendMut
source§impl Debug for TrackerGOTURN
impl Debug for TrackerGOTURN
source§impl Drop for TrackerGOTURN
impl Drop for TrackerGOTURN
source§impl From<TrackerGOTURN> for Tracker
impl From<TrackerGOTURN> for Tracker
source§fn from(s: TrackerGOTURN) -> Self
fn from(s: TrackerGOTURN) -> Self
source§impl TrackerGOTURNTrait for TrackerGOTURN
impl TrackerGOTURNTrait for TrackerGOTURN
fn as_raw_mut_TrackerGOTURN(&mut self) -> *mut c_void
source§impl TrackerGOTURNTraitConst for TrackerGOTURN
impl TrackerGOTURNTraitConst for TrackerGOTURN
fn as_raw_TrackerGOTURN(&self) -> *const c_void
source§impl TrackerTrait for TrackerGOTURN
impl TrackerTrait for TrackerGOTURN
source§impl TrackerTraitConst for TrackerGOTURN
impl TrackerTraitConst for TrackerGOTURN
fn as_raw_Tracker(&self) -> *const c_void
source§impl TryFrom<Tracker> for TrackerGOTURN
impl TryFrom<Tracker> for TrackerGOTURN
impl Send for TrackerGOTURN
Auto Trait Implementations§
impl Freeze for TrackerGOTURN
impl RefUnwindSafe for TrackerGOTURN
impl !Sync for TrackerGOTURN
impl Unpin for TrackerGOTURN
impl UnwindSafe for TrackerGOTURN
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
source§unsafe fn modify_inplace<Res>(
&mut self,
f: impl FnOnce(&Mat, &mut Mat) -> Res,
) -> Res
unsafe fn modify_inplace<Res>( &mut self, f: impl FnOnce(&Mat, &mut Mat) -> Res, ) -> Res
Mat
or another similar object. By passing
a mutable reference to the Mat
to this function your closure will get called with the read reference and a write references
to the same Mat
. This is unsafe in a general case as it leads to having non-exclusive mutable access to the internal data,
but it can be useful for some performance sensitive operations. One example of an OpenCV function that allows such in-place
modification is imgproc::threshold
. Read more