codeanticode.progpuklt
Class FeatureTrackerParameters

java.lang.Object
  extended by codeanticode.progpuklt.FeatureTrackerParameters

public class FeatureTrackerParameters
extends java.lang.Object

This class encapsulates the parameters of the GPU-KLT algorithm.

Author:
Andres Colubri

Field Summary
 float convergenceThreshold
          If the position update after the inner iterations (after nIterations steps) has not converged (i.e.
 float detectBorderMargin
          Suppress corners very close to the image borders.
 boolean explicitLod
          Enables explicit LOD in the pyramid generation (w/out derivatives).
 int kernelSize
          Kernel size used in the pyramid with derivatives generation.
 int levelSkip
          After getting an initial estimate of the new feature position in the previous pyramid level, the next level used for refinement is level+levelSkip.
 float minCornerness
          The minimum value of the cornerness required for a pixel to classify as corner.
 int minDistance
          Suppress corners/features that are two close.
 int nIterations
          Number of updates on the position to solve the actually non-linear minimization problem (i.e.
 int nLevels
          Number of pyramid levels generated and used for tracking.
 int nTrackedFrames
          Interval for feature re-detection.
 float SSDThreshold
          If the error function we are minimizing (with respect to the position update) is not small enough (i.e.
 float trackBorderMargin
          Features very close to the image border are discarded.
 boolean trackWithGain
          Should simultaneous gain estimation be enabled (allows some variation in brightness in the images) or not (faster tracking).
 int windowWidth
          Size of the window around the feature used for the position update.
 
Constructor Summary
FeatureTrackerParameters()
          Default constructor of the class.
FeatureTrackerParameters(int nLevels, boolean trackWithGain)
          This constructor allows to set the number nLevels of levels and disable/enable gain tracking.
 
Method Summary
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nIterations

public int nIterations
Number of updates on the position to solve the actually non-linear minimization problem (i.e. number of inner iterations).


nLevels

public int nLevels
Number of pyramid levels generated and used for tracking.


levelSkip

public int levelSkip
After getting an initial estimate of the new feature position in the previous pyramid level, the next level used for refinement is level+levelSkip. reasonable values are 1 (all levels) and nLevels-1 (2 levels). With levelSkip equal to 1 all pyramid levels are fully evaluated; levelSkip = nLevels-1, only the coarsest and the full resolution level are used.


windowWidth

public int windowWidth
Size of the window around the feature used for the position update. The used window is windowWidth x windowWidth with the feature in the center.


trackBorderMargin

public float trackBorderMargin
Features very close to the image border are discarded. You want to have at least trackBorderMargin>=windowWidth/2 in order to have the feature completely within the image.


convergenceThreshold

public float convergenceThreshold
If the position update after the inner iterations (after nIterations steps) has not converged (i.e. the length of the update > convergenceThreshold in the final iteration), discard the feature. It is measured in pixels.


SSDThreshold

public float SSDThreshold
If the error function we are minimizing (with respect to the position update) is not small enough (i.e. >SSDThreshold), discard the feature (no similarly looking patch found).


trackWithGain

public boolean trackWithGain
Should simultaneous gain estimation be enabled (allows some variation in brightness in the images) or not (faster tracking).


minDistance

public int minDistance
Suppress corners/features that are two close. If two corners have distance < minDistance, then the weaker one is suppressed. This enables a reasonable uniform distribution of features in the image.


minCornerness

public float minCornerness
The minimum value of the cornerness required for a pixel to classify as corner. Highly textured areas have larger cornerness.


detectBorderMargin

public float detectBorderMargin
Suppress corners very close to the image borders. Setting detectBorderMargin = trackBorderMargin is fine.


kernelSize

public int kernelSize
Kernel size used in the pyramid with derivatives generation.


explicitLod

public boolean explicitLod
Enables explicit LOD in the pyramid generation (w/out derivatives).


nTrackedFrames

public int nTrackedFrames
Interval for feature re-detection.

Constructor Detail

FeatureTrackerParameters

public FeatureTrackerParameters()
Default constructor of the class. Sets the parameters to their default values.


FeatureTrackerParameters

public FeatureTrackerParameters(int nLevels,
                                boolean trackWithGain)
This constructor allows to set the number nLevels of levels and disable/enable gain tracking.



processing library proGPUKLT by Andres Colubri. (c) 2008