boofcv.factory.feature.associate
Class FactoryAssociation
- java.lang.Object
-
- boofcv.factory.feature.associate.FactoryAssociation
-
public class FactoryAssociation extends java.lang.ObjectCreates algorithms for associatingTupleDesc_F64features.
-
-
Constructor Summary
Constructors Constructor and Description FactoryAssociation()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static <D> ScoreAssociation<D>defaultScore(java.lang.Class<D> tupleType)Given a feature descriptor type it returns a "reasonable" defaultScoreAssociation.static <D> AssociateDescription<D>greedy(ScoreAssociation<D> score, double maxError, boolean backwardsValidation)Returns an algorithm for associating features together which uses a brute force greedy algorithm.static AssociateDescription<TupleDesc_F64>kdRandomForest(int dimension, int maxNodesSearched, int numTrees, int numConsiderSplit, long randomSeed)Approximate association using multiple random K-D trees (random forest) for descriptors with a high degree of freedom, e.g.static AssociateDescription<TupleDesc_F64>kdtree(int dimension, int maxNodesSearched)Approximate association using a K-D tree degree of moderate size (10-15) that uses a best-bin-first search order.static <D> ScoreAssociation<D>scoreEuclidean(java.lang.Class<D> tupleType, boolean squared)Scores features based on the Euclidean distance between them.static <D> ScoreAssociation<D>scoreHamming(java.lang.Class<D> tupleType)Hamming distance between two binary descriptors.static ScoreAssociation<NccFeature>scoreNcc()Scores features based on their Normalized Cross-Correlation (NCC).static <D> ScoreAssociation<D>scoreSad(java.lang.Class<D> tupleType)Scores features based on Sum of Absolute Difference (SAD).
-
-
-
Method Detail
-
greedy
public static <D> AssociateDescription<D> greedy(ScoreAssociation<D> score, double maxError, boolean backwardsValidation)
Returns an algorithm for associating features together which uses a brute force greedy algorithm. SeeAssociateGreedyfor details.- Type Parameters:
D- Data structure being associated- Parameters:
score- Computes the fit score between two features.maxError- Maximum allowed error/fit score between two features. To disable set to Double.MAX_VALUEbackwardsValidation- If true associations are validated by associating in the reverse direction. If the forward and reverse matches fit an association is excepted.- Returns:
- AssociateDescription
-
kdtree
public static AssociateDescription<TupleDesc_F64> kdtree(int dimension, int maxNodesSearched)
Approximate association using a K-D tree degree of moderate size (10-15) that uses a best-bin-first search order.- Parameters:
dimension- Number of elements in the feature vectormaxNodesSearched- Maximum number of nodes it will search. Controls speed and accuracy.- Returns:
- Association using approximate nearest neighbor
- See Also:
AssociateNearestNeighbor,KdTreeSearch1Bbf
-
kdRandomForest
public static AssociateDescription<TupleDesc_F64> kdRandomForest(int dimension, int maxNodesSearched, int numTrees, int numConsiderSplit, long randomSeed)
Approximate association using multiple random K-D trees (random forest) for descriptors with a high degree of freedom, e.g. > 20- Parameters:
dimension- Number of elements in the feature vectormaxNodesSearched- Maximum number of nodes it will search. Controls speed and accuracy.numTrees- Number of trees that are considered. Try 10 and tune.numConsiderSplit- Number of nodes that are considered when generating a tree. Must be less than the point's dimension. Try 5randomSeed- Seed used by random number generator- Returns:
- Association using approximate nearest neighbor
- See Also:
AssociateNearestNeighbor,KdForestBbfSearch
-
defaultScore
public static <D> ScoreAssociation<D> defaultScore(java.lang.Class<D> tupleType)
Given a feature descriptor type it returns a "reasonable" defaultScoreAssociation.- Parameters:
tupleType- Class type which extendsTupleDesc- Returns:
- A class which can score two potential associations
-
scoreSad
public static <D> ScoreAssociation<D> scoreSad(java.lang.Class<D> tupleType)
Scores features based on Sum of Absolute Difference (SAD).- Parameters:
tupleType- Type of descriptor being scored- Returns:
- SAD scorer
-
scoreNcc
public static ScoreAssociation<NccFeature> scoreNcc()
Scores features based on their Normalized Cross-Correlation (NCC).- Returns:
- NCC score
-
scoreEuclidean
public static <D> ScoreAssociation<D> scoreEuclidean(java.lang.Class<D> tupleType, boolean squared)
Scores features based on the Euclidean distance between them. The square is often used instead of the Euclidean distance since it is much faster to compute.- Parameters:
tupleType- Type of descriptor being scoredsquared- IF true the distance squared is returned. Usually true- Returns:
- Euclidean distance measure
-
scoreHamming
public static <D> ScoreAssociation<D> scoreHamming(java.lang.Class<D> tupleType)
Hamming distance between two binary descriptors.- Parameters:
tupleType- Type of descriptor being scored- Returns:
- Hamming distance measure
-
-
DataMelt 3.0 © DataMelt by jWork.ORG