Basic Image AlgorithmS Library
2.8.0
|
devel version of antialiased affine tracker More...
#include <Matcher2D/TrackerBaseAffine2.hh>
Public Member Functions | |
void | AddDebugLevel (const long int lv) |
void | AddDebugLevel (const std::string &name) |
bool | DebugLevelIsSet (const long int lv) const |
bool | DebugLevelIsSet (const std::string &name) const |
int | GetDebugLevel () const |
std::ostream & | GetDebugStream () const |
void | GetDebugStream (std::ostream &os) const |
int | GetHalfWinSize () |
KLT_TYPE | GetMaxError () |
int | GetMaxIterations () |
int | GetRejectionType () |
void | Init (Image< StorageType > &im1, Image< StorageType > &im2, Image< StorageType > &gradx1, Image< StorageType > &grady1, Image< StorageType > &gradx2, Image< StorageType > &grady2) |
Prepare for tracking with prefiltered images. More... | |
void | Init (Image< StorageType > &im1, Image< StorageType > &im2, FilterMask &lowpass_mask, FilterMask &gradx_mask, FilterMask &grady_mask) |
Prepare for tracking with on-demand filtering. More... | |
bool | IsSimilarityTransformOnly () |
long int | Name2DebugLevel (const std::string &name) const |
looks up a debuglevel in the internal map, returns 0 if not found More... | |
long int | NewDebugLevel (const std::string &name) |
creates a new debuglevel More... | |
void | PrintDebugLevel (std::ostream &os=std::cout) const |
void | RemoveDebugLevel (const long int lv) |
void | RemoveDebugLevel (const std::string &name) |
virtual void | SetAffineBrightnessInvariance (bool bi) |
enable brightness variance and offset invariant computation More... | |
void | SetDebugLevel (const long int lv) |
void | SetDebugLevel (const std::string &name) |
void | SetDebugStream (const std::ostream &os) |
void | SetHalfWinSize (const int hws) |
void | SetInitialUncertainty (const Matrix< double > &Cov) |
void | SetMaxAffineChange (const KLT_TYPE maxerr) |
void | SetMaxError (const KLT_TYPE maxerr) |
void | SetMaxIterations (const int maxiter) |
void | SetMaxResiduumMAD (const KLT_TYPE maxres) |
!!! Also used for X84M as maximal residuum. More... | |
void | SetOnly4 (bool Only4) |
Estimate all 6 parameters or only 4? More... | |
void | SetRegion1 (const Matrix3x3< double > &R1) |
void | SetRejectionType (const int rejection_type) |
virtual void | SetWeightMatrix (const BIAS::Matrix< KLT_TYPE > &weight) |
void | ShowDebugLevel (std::ostream &os=std::cout) const |
prints all internally known debuglevels More... | |
int | Track (HomgPoint2D &p1, HomgPoint2D &p2, HomgPoint2D &p2tracked, KLT_TYPE &error, int &iter, KLT_TYPE &residuumMAD, KLT_TYPE &residuumMSD, Matrix< KLT_TYPE > &cov, const Matrix2x2< KLT_TYPE > &AffinePred=Matrix2x2< KLT_TYPE >(MatrixIdentity), Matrix2x2< KLT_TYPE > *AffineResult=NULL) |
Calculates correspondence from image1 to image2. More... | |
void | Track (std::vector< HomgPoint2D > &p1, std::vector< HomgPoint2D > &p2, std::vector< HomgPoint2D > &p2tracked, std::vector< KLT_TYPE > &error, std::vector< int > &numiter, std::vector< KLT_TYPE > &residuiMAD, std::vector< KLT_TYPE > &residuiMSD, std::vector< int > &res, std::vector< Matrix< KLT_TYPE > > &cov, const std::vector< Matrix2x2< KLT_TYPE > > &AffinePred=std::vector< Matrix2x2< KLT_TYPE > >(), std::vector< Matrix2x2< KLT_TYPE > > *AffineResult=NULL) |
Same as Track(), but a correspondence is searched for every point in the vector p1. More... | |
TrackerBaseAffine2 (bool only4params=false) | |
void | UnsetRegion1 () |
Static Public Member Functions | |
static long int | GetGlobalDebugLevel () |
static void | SetGlobalDebugLevel (long int lev) |
Protected Types | |
enum | GradientFilter { GRAD_SOBEL3X3, GRAD_FILTERMASK, GRAD_FILTERMASK_SEPARABLE } |
enum | LowpassFilter { LOWPASS_BINOMIAL3X3, LOWPASS_FILTERMASK, LOWPASS_FILTERMASK_SEPARABLE } |
Protected Member Functions | |
void | BilinearRegion1_ (KLT_TYPE x, KLT_TYPE y, int hws, const Vector< double > &par, const Matrix< double > &Cov) |
void | BilinearRegion1_ (KLT_TYPE x, KLT_TYPE y, int hws) |
Fills the matrices _gx1, _gy1 and _bl1 by interpolating gradients and lowpass filtered image at positions between (x-hws, y-hws) and (x+hws, y+hws). More... | |
void | BilinearRegion2_ (KLT_TYPE x, KLT_TYPE y, int hws) |
Fills the matrices _gx2, _gy2 and _bl2 by interpolating gradients and lowpass filtered image at positions between (x-hws, y-hws) and (x+hws, y+hws). More... | |
KLT_TYPE | BilinearRegionFromImages_ (KLT_TYPE x, KLT_TYPE y, int hws, Image< StorageType > &image, Image< StorageType > &gradx, Image< StorageType > &grady, Matrix< KLT_TYPE > &bl, Matrix< KLT_TYPE > &gx, Matrix< KLT_TYPE > &gy) |
Bilinear filtering using images as source (for prefiltered images) More... | |
KLT_TYPE | BilinearRegionFromMatrices_ (KLT_TYPE x, KLT_TYPE y, int hws, const Matrix< KLT_TYPE > &image, const Matrix< KLT_TYPE > &gradx, const Matrix< KLT_TYPE > &grady, Matrix< KLT_TYPE > &bl, Matrix< KLT_TYPE > &gx, Matrix< KLT_TYPE > &gy) |
Bilinear filtering using matrices as source. More... | |
KLT_TYPE | ComputeMaskSum (const FilterMask &mask) |
long | ConsumeNextFreeDebuglevel_ () |
returns the next available debuglevel More... | |
virtual void | EvaluateResult_ (KLT_TYPE &mad, KLT_TYPE &msd, Matrix< KLT_TYPE > &cov) |
fill in computed residui from Track_ More... | |
void | GetGradientWinAffine_ (const KLT_TYPE &x, const KLT_TYPE &y, const KLT_TYPE &Axx, const KLT_TYPE &Ayx, const KLT_TYPE &Axy, const KLT_TYPE &Ayy, const int halfwidth, const int halfheight, KLT_TYPE *imgdiff, KLT_TYPE *out_gradx, KLT_TYPE *out_grady, const Matrix< double > &Cov) |
KLT_TYPE | NormalizeRegion_ (Matrix< KLT_TYPE > &bl, Matrix< KLT_TYPE > &gx, Matrix< KLT_TYPE > &gy, const KLT_TYPE &min_value=-1e9) |
bring region to mean zero and stddev 1 for brightness invariance More... | |
int | RejectMAD_ (std::vector< KLT_TYPE > &sad, std::vector< int > &res) |
int | RejectX84_ (std::vector< KLT_TYPE > &ssd, std::vector< KLT_TYPE > &sad, std::vector< int > &res) |
void | Resize_ (const int halfwinsize) |
resizes the internal matrices _gx1, _gy1, _bl1, _gx2, _gy2 and _bl2 More... | |
virtual int | Track_ (Vector2< KLT_TYPE > &p1, Vector2< KLT_TYPE > &p2, Vector2< KLT_TYPE > &result, KLT_TYPE &error, int &iter, const Matrix2x2< KLT_TYPE > &AffinePred, Matrix2x2< KLT_TYPE > &AffineResult) |
Interface of all tracking algorithms implemented in derived classes. More... | |
int | TrackAffine_ (KLT_TYPE p1[2], KLT_TYPE p2[2], const Matrix2x2< KLT_TYPE > &p2A, KLT_TYPE result[2], Matrix2x2< KLT_TYPE > &resultA, KLT_TYPE &error, int &iter, Matrix< KLT_TYPE > &Cov, KLT_TYPE &mad, KLT_TYPE &msd, bool SimilarityTransformOnly=false, bool ComputeCovariance=true) |
track using affine warp More... | |
void | FilterLowpass_ByMask (int minX, int minY, int rows, int cols, const Image< StorageType > &image, Matrix< KLT_TYPE > &out, const FilterMask &mask, KLT_TYPE maskSum) |
The lowpass filter functions apply a filter to a window of the source image and store the result in a matrix. More... | |
void | FilterLowpass_BySeparableMask (int minX, int minY, int rows, int cols, const Image< StorageType > &image, Matrix< KLT_TYPE > &out, const FilterMask &mask, KLT_TYPE maskSum) |
Lowpass filtering using a separable filter mask. More... | |
void | FilterLowpass_Binomial3x3 (int minX, int minY, int rows, int cols, const Image< StorageType > &image, Matrix< KLT_TYPE > &out) |
Optimized lowpass filtering using the binomial 3x3 filter. More... | |
void | Filter_GradXSobel3x3 (const Matrix< KLT_TYPE > &in, Matrix< KLT_TYPE > &out) |
The gradient filter functions apply a filter to an image window stored in a matrix and store the result in another matrix. More... | |
void | Filter_GradYSobel3x3 (const Matrix< KLT_TYPE > &in, Matrix< KLT_TYPE > &out) |
Optimized gradient Y sobel3x3 filter. More... | |
void | Filter_ByMask (const Matrix< KLT_TYPE > &in, Matrix< KLT_TYPE > &out, const FilterMask &mask, KLT_TYPE maskSum) |
Generic gradient filter. More... | |
void | Filter_BySeparableMask (const Matrix< KLT_TYPE > &in, Matrix< KLT_TYPE > &out, const FilterMask &mask, KLT_TYPE maskSum) |
Generic gradient filter using separable filter mask. More... | |
Protected Attributes | |
bool | _AffineBrightnessInvariance |
compute brightness "invariant" More... | |
Matrix< KLT_TYPE > | _bl1 |
Matrix< KLT_TYPE > | _bl2 |
bool | _ComputeFilteredImages |
Vector2< KLT_TYPE > | _d |
Vector2< KLT_TYPE > | _disp |
Vector2< KLT_TYPE > | _e |
Matrix2x2< KLT_TYPE > | _G |
Matrix2x2< KLT_TYPE > | _Ginv |
Image< StorageType > * | _gradim1x |
Image< StorageType > * | _gradim1y |
Image< StorageType > * | _gradim2x |
Image< StorageType > * | _gradim2y |
GradientFilter | _GradXFilter |
FilterMask | _GradXMask |
KLT_TYPE | _GradXMaskSum |
GradientFilter | _GradYFilter |
FilterMask | _GradYMask |
KLT_TYPE | _GradYMaskSum |
Matrix< KLT_TYPE > | _gsx |
Matrix< KLT_TYPE > | _gsy |
Matrix< KLT_TYPE > | _gx |
Matrix< KLT_TYPE > | _gx1 |
Matrix< KLT_TYPE > | _gx2 |
KLT_TYPE | _gxx |
KLT_TYPE | _gxy |
Matrix< KLT_TYPE > | _gy |
Matrix< KLT_TYPE > | _gy1 |
Matrix< KLT_TYPE > | _gy2 |
KLT_TYPE | _gyy |
int | _HalfWinSize |
use support window of size 2*hws+1 More... | |
KLT_TYPE | _idet |
Image< StorageType > * | _im1 |
Image< StorageType > * | _im2 |
int | _LastHalfWinSize |
long int | _liDebugLevel |
long int | _liNextDebugLevel |
new concept, debuglevel are managed here in the debug class More... | |
LowpassFilter | _LowpassFilter |
FilterMask | _LowpassMask |
KLT_TYPE | _LowpassMaskSum |
int | _LowpassWindowExtraSize |
KLT_TYPE | _MaxAffineChange |
iteration stops if position refinement is less than *_Maxerror More... | |
KLT_TYPE | _MaxError |
iteration stops if position refinement is less than *_MaxError More... | |
int | _MaxIterations |
iteration stops after _MaxIterations More... | |
KLT_TYPE | _MaxResiduumMAD |
outlier rejection via MAD and More... | |
int | _maxx1 |
int | _maxx2 |
int | _maxy1 |
int | _maxy2 |
int | _minx1 |
int | _minx2 |
int | _miny1 |
int | _miny2 |
PyramidImage< StorageType > | _pgradim1x |
PyramidImage< StorageType > | _pgradim1y |
PyramidImage< StorageType > | _pgradim2x |
PyramidImage< StorageType > | _pgradim2y |
PyramidImage< StorageType > | _pim1 |
PyramidImage< StorageType > | _pim2 |
int | _RejectionType |
The rejection type: RT_MAD,RT_X84 or RT_X84M. More... | |
bool | _SimilarityTransformOnly |
Estimate all 6 parameters or only 4? More... | |
std::map< std::string, long int > | _String2Debuglevel |
Matrix< KLT_TYPE > | _weight |
int | _WinSize |
bool | affineNormalization_ |
Matrix< KLT_TYPE > | Cov_ |
workaround: save values from Track_ so we dont lose them More... | |
KLT_TYPE | dev1_ |
KLT_TYPE | dev2_ |
Matrix< double > | initialCov_ |
KLT_TYPE | mean1_ |
mean and std deviation of image patch More... | |
KLT_TYPE | mean2_ |
Matrix3x3< double > | R1_ |
KLT_TYPE | residuumMAD_ |
KLT_TYPE | residuumMSD_ |
Static Protected Attributes | |
static std::ostream | _zDebugStream |
static long int | GlobalDebugLevel = 0 |
devel version of antialiased affine tracker
Definition at line 37 of file TrackerBaseAffine2.hh.
|
protectedinherited |
Enumerator | |
---|---|
GRAD_SOBEL3X3 | |
GRAD_FILTERMASK | |
GRAD_FILTERMASK_SEPARABLE |
Definition at line 234 of file TrackerBaseInterface.hh.
|
protectedinherited |
Enumerator | |
---|---|
LOWPASS_BINOMIAL3X3 | |
LOWPASS_FILTERMASK | |
LOWPASS_FILTERMASK_SEPARABLE |
Definition at line 226 of file TrackerBaseInterface.hh.
BIAS::TrackerBaseAffine2< StorageType >::TrackerBaseAffine2 | ( | bool | only4params = false | ) |
Definition at line 140 of file TrackerBaseAffine2.cpp.
|
inlineinherited |
Definition at line 355 of file Debug.hh.
Referenced by BIAS::GLProjectionParametersBase::AddDebugLevel(), BIAS::Triangulation::CorrectCorrespondences(), BIAS::FilterBase< InputStorageType, OutputStorageType >::FilterBase(), BIAS::ShowCamWxVideoSourceFactory::OpenDevice(), and BIAS::SceneOpenSceneGraph::SceneOpenSceneGraph().
|
inlineinherited |
|
protected |
Definition at line 206 of file TrackerBaseAffine2.cpp.
References BIAS::GetBaseLevel(), BIAS::MatrixZero, BIAS::Matrix< T >::SetZero(), TNT::Vector< T >::size(), and BIAS::Matrix< T >::Trace().
|
inlineprotectedinherited |
Fills the matrices _gx1, _gy1 and _bl1 by interpolating gradients and lowpass filtered image at positions between (x-hws, y-hws) and (x+hws, y+hws).
Definition at line 653 of file TrackerBaseInterface.hh.
|
inlineprotectedinherited |
Fills the matrices _gx2, _gy2 and _bl2 by interpolating gradients and lowpass filtered image at positions between (x-hws, y-hws) and (x+hws, y+hws).
Definition at line 728 of file TrackerBaseInterface.hh.
|
inlineprotectedinherited |
Bilinear filtering using images as source (for prefiltered images)
Definition at line 802 of file TrackerBaseInterface.hh.
References BIAS::Image< StorageType >::GetImageDataArray().
|
inlineprotectedinherited |
Bilinear filtering using matrices as source.
Definition at line 852 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 660 of file TrackerBaseInterface.cpp.
References BIAS::Matrix< T >::GetCols(), BIAS::FilterMask::GetKernelf(), BIAS::Matrix< T >::GetRows(), BIAS::FilterMask::GetSepfh(), BIAS::FilterMask::GetSepfv(), BIAS::FilterMask::IsSeparable(), and BIAS::Vector< T >::Size().
|
inlineprotectedinherited |
|
inlineinherited |
Definition at line 341 of file Debug.hh.
Referenced by BIAS::GenSynthMatches::_AddUniformDistributedOutliers(), BIAS::GenSynthMatches::_CreateCamMovement(), BIAS::GenSynthMatches::_CreateStatic2DPoints(), BIAS::UnscentedTransform::ComputeSigmaPoints_(), BIAS::Triangulation::CorrectCorrespondences(), BIAS::GenSynthMatches::GetGTNormalizedF(), BIAS::MonteCarloTransform::GetSamples_(), and BIAS::MonteCarloTransform::Transform().
|
inlineinherited |
|
protectedvirtual |
fill in computed residui from Track_
Reimplemented from BIAS::TrackerBaseInterface< StorageType >.
Definition at line 868 of file TrackerBaseAffine2.cpp.
References TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
Generic gradient filter.
Definition at line 578 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetCols(), BIAS::FilterMask::GetKernelf(), BIAS::Matrix< T >::GetRows(), BIAS::FilterMask::IsSeparable(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
Generic gradient filter using separable filter mask.
Definition at line 614 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetCols(), BIAS::Matrix< T >::GetRows(), BIAS::FilterMask::GetSepfh(), BIAS::FilterMask::GetSepfv(), BIAS::FilterMask::IsSeparable(), TNT::Matrix< T >::newsize(), and BIAS::Vector< T >::Size().
|
inlineprotectedinherited |
The gradient filter functions apply a filter to an image window stored in a matrix and store the result in another matrix.
Optimized gradient X sobel3x3 filter.
Definition at line 529 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetCols(), BIAS::Matrix< T >::GetRows(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
Optimized gradient Y sobel3x3 filter.
Definition at line 554 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetCols(), BIAS::Matrix< T >::GetRows(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
Optimized lowpass filtering using the binomial 3x3 filter.
Definition at line 500 of file TrackerBaseInterface.hh.
References BIAS::Image< StorageType >::GetImageDataArray(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
The lowpass filter functions apply a filter to a window of the source image and store the result in a matrix.
Lowpass filtering using a kernel filter mask.
Definition at line 424 of file TrackerBaseInterface.hh.
References BIAS::Image< StorageType >::GetImageDataArray(), BIAS::FilterMask::GetKernelf(), BIAS::FilterMask::IsSeparable(), and TNT::Matrix< T >::newsize().
|
inlineprotectedinherited |
Lowpass filtering using a separable filter mask.
Definition at line 461 of file TrackerBaseInterface.hh.
References BIAS::Image< StorageType >::GetImageDataArray(), BIAS::FilterMask::GetSepfh(), BIAS::FilterMask::GetSepfv(), BIAS::FilterMask::IsSeparable(), TNT::Matrix< T >::newsize(), and BIAS::Vector< T >::Size().
|
inlineinherited |
Definition at line 332 of file Debug.hh.
Referenced by BIAS::listenthread(), BIAS::Image< StorageType >::operator=(), and BIAS::ImageBase::operator=().
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
|
protected |
Definition at line 899 of file TrackerBaseAffine2.cpp.
References BIAS::GetBaseLevel(), BIAS::MatrixZero, BIAS::Matrix< T >::Trace(), and BIAS::Matrix< T >::Transpose().
|
inlineinherited |
Definition at line 188 of file TrackerBaseInterface.hh.
|
inlineinherited |
Definition at line 190 of file TrackerBaseInterface.hh.
|
inlineinherited |
Definition at line 189 of file TrackerBaseInterface.hh.
|
inlineinherited |
Definition at line 191 of file TrackerBaseInterface.hh.
|
inherited |
Prepare for tracking with prefiltered images.
The ROI must be set correctly in gradient images (representing the gradient filter mask size). For good results im1 and im2 should be lowpass filtered images.
im1 | (low-pass filtered) image 1 |
im2 | (low-pass filtered) image 2 |
gradx1 | horizontal gradient image of im1 |
grady1 | vertical gradient image of im1 |
gradx2 | horizontal gradient image of im2 |
grady2 | vertical gradient image of im2 |
Definition at line 145 of file TrackerBaseInterface.cpp.
References BIAS::ROI::GetCorners(), BIAS::ImageBase::GetROI(), and BIAS::ImageBase::SamePixelAndChannelCount().
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inherited |
Prepare for tracking with on-demand filtering.
Lowpass and gradient filtering is done only where needed, using the given filter masks. All filter masks must have odd size.
im1 | (low-pass filtered) image 1 |
im2 | (low-pass filtered) image 2 |
lowpass_mask | filter mask for lowpass filtering |
gradx_mask | filter mask for horizontal gradient computation |
grady_mask | filter mask for vertical gradient computation |
Definition at line 209 of file TrackerBaseInterface.cpp.
References BIAS::Matrix< T >::GetCols(), BIAS::ImageBase::GetHeight(), BIAS::FilterMask::GetKernelf(), BIAS::Matrix< T >::GetRows(), BIAS::FilterMask::GetSepfh(), BIAS::FilterMask::GetSepfv(), BIAS::ImageBase::GetWidth(), BIAS::FilterMask::IsSeparable(), BIAS::ImageBase::SamePixelAndChannelCount(), and BIAS::Vector< T >::Size().
|
inline |
Definition at line 54 of file TrackerBaseAffine2.hh.
|
inlineinherited |
|
inlineinherited |
creates a new debuglevel
Definition at line 474 of file Debug.hh.
Referenced by BIAS::COSAC< SolutionType >::COSAC(), BIAS::ProjectionParametersPerspectiveDepth::Init(), BIAS::MonteCarloTransform::MonteCarloTransform(), BIAS::PMatrixEstimation::PMatrixEstimation(), BIAS::PreemptiveRANSAC< SolutionType >::PreemptiveRANSAC(), BIAS::RANSACPreKnowledge< SolutionType >::RANSACPreKnowledge(), BIAS::ROI::ROI(), BIAS::RotationAveraging::RotationAveraging(), BIAS::SceneOpenSceneGraph::SceneOpenSceneGraph(), BIAS::ThreeDOutOpenSceneGraph::ThreeDOutOpenSceneGraph(), BIAS::Triangulation::Triangulation(), and BIAS::UnscentedTransform::UnscentedTransform().
|
inlineprotectedinherited |
bring region to mean zero and stddev 1 for brightness invariance
Definition at line 898 of file TrackerBaseInterface.hh.
References BIAS::Matrix< T >::GetData(), TNT::Matrix< T >::num_cols(), and TNT::Matrix< T >::num_rows().
|
inlineinherited |
|
protectedinherited |
Definition at line 499 of file TrackerBaseInterface.cpp.
References BIAS::TRACKER_MEANABSDIF, and BIAS::TRACKER_SUCCESS.
|
protectedinherited |
Definition at line 514 of file TrackerBaseInterface.cpp.
References BIAS::Median1D< DataType >::Compute(), BIAS::TimeMeasure::GetCycleCount(), BIAS::Median1D< DataType >::GetMedian(), BIAS::TimeMeasure::GetRealTime(), BIAS::RT_X84M, BIAS::TimeMeasure::Start(), BIAS::TimeMeasure::Stop(), BIAS::TRACKER_MEANABSDIF, BIAS::TRACKER_SUCCESS, and BIAS::TRACKER_X84.
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedinherited |
resizes the internal matrices _gx1, _gy1, _bl1, _gx2, _gy2 and _bl2
Definition at line 408 of file TrackerBaseInterface.hh.
|
inlinevirtual |
enable brightness variance and offset invariant computation
Reimplemented from BIAS::TrackerBaseInterface< StorageType >.
Definition at line 50 of file TrackerBaseAffine2.hh.
|
inlineinherited |
Definition at line 318 of file Debug.hh.
Referenced by BIAS::ShowCamWxVideoSourceFactory::CreateBumbleBee(), BIAS::ShowCamWxVideoSourceFactory::CreateDCAM(), BIAS::VideoSource_MDcam::ScanBus(), BIAS::GLProjectionParametersBase::SetDebugLevel(), BIAS::VideoSource_Disk::VideoSource_Disk(), BIAS::VideoSource_DV2::VideoSource_DV2(), BIAS::VideoSource_DV::VideoSource_DV_Internal_Init_(), and BIAS::VideoSource_V4L::VideoSource_V4L().
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
|
inlineinherited |
Definition at line 164 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inline |
Definition at line 69 of file TrackerBaseAffine2.hh.
|
inline |
Definition at line 45 of file TrackerBaseAffine2.hh.
|
inlineinherited |
Definition at line 168 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inlineinherited |
Definition at line 166 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inlineinherited |
!!! Also used for X84M as maximal residuum.
That is features with a residuum <= 'maxres' will be accept automatically! !!!
Definition at line 176 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inline |
Estimate all 6 parameters or only 4?
Definition at line 44 of file TrackerBaseAffine2.hh.
|
inline |
Definition at line 59 of file TrackerBaseAffine2.hh.
|
inlineinherited |
Definition at line 178 of file TrackerBaseInterface.hh.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inlinevirtualinherited |
Reimplemented in BIAS::TrackerBaseWeighted< StorageType >.
Definition at line 193 of file TrackerBaseInterface.hh.
|
inlineinherited |
|
inherited |
Calculates correspondence from image1 to image2.
The two images and corresponding gradients must specified using the function Init() before calling this function.
The algorithm searches for best correspondence to point p1 from image1 in image2. The search starts at p2 in image 2.
All homogenous points must be homogenized (i.e. w=1.0).
The algorithms either terminates if the displacement resulting from one iteration drops below *_Maxerror or the maximum number of iterations *_MaxIterations is reached.
[in] | p1 | Point in image1 |
[in] | p2 | Algorithm starts searching at this point in image2 |
[out] | p2tracked | Best matching point in image2 |
[out] | error | Change in displacement calculated in last iteration |
[out] | iter | Number of iterations used |
[out] | residuumMAD | Mean absolute grey value difference between p1 in image 1 and p2tracked in image 2 over the tracking support window |
[out] | residuumMSD | Squared grey value difference between p1 in image 1 and p2tracked in image 2 summed over the tracking support window |
[out] | cov | Approximation to the covarinace matrix image1 and result in image2 over the tracking window (= sum of absolute difference divided by number of pixels in tracking value) |
[in] | AffinePred | Predicted affine matrix (only used in affine tracking) |
[out] | AffineResult | Result of affine tracking (only used in affine tracking) |
Definition at line 322 of file TrackerBaseInterface.cpp.
References BIAS::HomgPoint2D, BIAS::MatrixIdentity, BIAS::Matrix< T >::NormFrobenius(), and BIAS::TRACKER_IGNOREPOINT.
Referenced by BIAS::RectificationViaProjectionMappingBase< InputStorageType, OutputStorageType >::Disp2Depth().
|
inherited |
Same as Track(), but a correspondence is searched for every point in the vector p1.
Definition at line 368 of file TrackerBaseInterface.cpp.
References BIAS::TimeMeasure::GetRealTime(), BIAS::RT_Invalid, BIAS::RT_MAD, BIAS::RT_X84, BIAS::RT_X84M, BIAS::TimeMeasure::Start(), and BIAS::TimeMeasure::Stop().
|
protectedvirtual |
Interface of all tracking algorithms implemented in derived classes.
Implements BIAS::TrackerBaseInterface< StorageType >.
Definition at line 157 of file TrackerBaseAffine2.cpp.
References BIAS::Vector2< T >::GetData(), and BIAS::Matrix< T >::NormFrobenius().
|
protected |
track using affine warp
p1 | point in image 1 |
p2 | prediction for point in image 2 |
p2A | prediction for affine warp |
result | result after tracking |
resultA | affine warp after tracking |
error | maxnorm of last iteration step |
iter | number of iterations done |
Cov | resulting covariance |
sad | sum of absolute differences |
ssd | sum of squared differences |
SimilarityTransformOnly | only estimate A, not dx,dy |
ComputeCovariance,if | true Cov is computed using svd |
This implementation is based on Thorsten Thormaelen's version, see cpp file.
Definition at line 314 of file TrackerBaseAffine2.cpp.
References BIAS::Compute4by1ErrorVector(), BIAS::Compute4by4GradientMatrix(), BIAS::Compute6by1ErrorVector(), BIAS::Compute6by6GradientMatrix(), BIAS::GaussJordanElimination(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::Matrix3x3< T >::GetInverse(), BIAS::Image< StorageType >::Init(), BIAS::SVD::Invert(), BIAS::AffineMapping< InputStorageType, OutputStorageType >::MapDirect(), BIAS::MatrixIdentity, BIAS::MatrixZero, TNT::Matrix< T >::num_rows(), BIAS::ImageIO::Save(), BIAS::AffineMapping< InputStorageType, OutputStorageType >::SetAffineTransformation(), BIAS::Matrix2x2< T >::SetIdentity(), BIAS::Gauss< InputStorageType, OutputStorageType >::SetSigma(), BIAS::Matrix< T >::SetZero(), BIAS::ImageBase::SetZero(), BIAS::FileHandling::toString(), BIAS::TRACKER_NOSTRUCTURE, BIAS::TRACKER_ODDAFFINEWARP, BIAS::TRACKER_OUTOFIMAGE, BIAS::TRACKER_SUCCESS, and BIAS::TRACKER_TOOMANYITER.
|
inline |
Definition at line 64 of file TrackerBaseAffine2.hh.
|
protectedinherited |
compute brightness "invariant"
Definition at line 211 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 223 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 257 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 257 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 257 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 256 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 256 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 219 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 219 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 220 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 220 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 242 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 243 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 244 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 242 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 243 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 244 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 259 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 259 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 258 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 259 of file TrackerBaseInterface.hh.
|
protectedinherited |
use support window of size 2*hws+1
Definition at line 201 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 259 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 219 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 220 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 253 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 510 of file Debug.hh.
Referenced by BIAS::Debug::operator=(), and BIAS::ImageBase::operator=().
|
protectedinherited |
new concept, debuglevel are managed here in the debug class
Definition at line 516 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
protectedinherited |
Definition at line 241 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 243 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 244 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 245 of file TrackerBaseInterface.hh.
|
protected |
iteration stops if position refinement is less than *_Maxerror
Definition at line 75 of file TrackerBaseAffine2.hh.
|
protectedinherited |
iteration stops if position refinement is less than *_MaxError
Definition at line 204 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
iteration stops after _MaxIterations
Definition at line 202 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
outlier rejection via MAD and
Definition at line 205 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 249 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 250 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 249 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 250 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 249 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 250 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 249 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protectedinherited |
Definition at line 250 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protected |
Definition at line 88 of file TrackerBaseAffine2.hh.
|
protected |
Definition at line 88 of file TrackerBaseAffine2.hh.
|
protected |
Definition at line 88 of file TrackerBaseAffine2.hh.
|
protected |
Definition at line 88 of file TrackerBaseAffine2.hh.
|
protected |
Definition at line 88 of file TrackerBaseAffine2.hh.
|
protected |
Definition at line 88 of file TrackerBaseAffine2.hh.
|
protectedinherited |
The rejection type: RT_MAD,RT_X84 or RT_X84M.
Definition at line 207 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
protected |
Estimate all 6 parameters or only 4?
Definition at line 78 of file TrackerBaseAffine2.hh.
|
protectedinherited |
Definition at line 517 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
protectedinherited |
Definition at line 260 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 253 of file TrackerBaseInterface.hh.
Referenced by BIAS::TrackerBaseInterface< StorageType >::TrackerBaseInterface().
|
staticprotectedinherited |
Definition at line 511 of file Debug.hh.
Referenced by BIAS::Debug::operator=().
|
protected |
Definition at line 86 of file TrackerBaseAffine2.hh.
|
protected |
workaround: save values from Track_ so we dont lose them
Definition at line 81 of file TrackerBaseAffine2.hh.
|
protectedinherited |
Definition at line 214 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 214 of file TrackerBaseInterface.hh.
|
staticprotectedinherited |
|
protected |
Definition at line 92 of file TrackerBaseAffine2.hh.
|
protectedinherited |
mean and std deviation of image patch
Definition at line 214 of file TrackerBaseInterface.hh.
|
protectedinherited |
Definition at line 214 of file TrackerBaseInterface.hh.
|
protected |
Definition at line 85 of file TrackerBaseAffine2.hh.
|
protected |
Definition at line 82 of file TrackerBaseAffine2.hh.
|
protected |
Definition at line 83 of file TrackerBaseAffine2.hh.