Package boofcv.alg.scene
Class ClassifierKNearestNeighborsBow<T extends ImageBase<T>,TD extends TupleDesc<TD>>
java.lang.Object
boofcv.alg.scene.ClassifierKNearestNeighborsBow<T,TD>
public class ClassifierKNearestNeighborsBow<T extends ImageBase<T>,TD extends TupleDesc<TD>>
extends Object
Scene classification which uses bag-of-word model and K-Nearest Neighbors. Classification data consists of a labeled set of word histograms. Each word histogram was created by 1) extracting all the features inside an image which was known to belong to a specific scene, 2) the word which best matches each feature is found and added to the histogram, and 3) the histogram is then normalized so that it adds up to one.
When classifying an image its word histogram is computed the same way. Using the just computed histogram the K-nearest neighbors to its word histogram are found in the classification data. The most frequent scene (the mode) of the k-neighbors is the selected scene type of the image being considered.
-
Constructor Summary
ConstructorDescriptionClassifierKNearestNeighborsBow
(NearestNeighbor<HistogramScene> nn, DescribeImageDense<T, TD> describe, FeatureToWordHistogram<TD> featureToHistogram) Configures internal algorithms. -
Method Summary
Modifier and TypeMethodDescriptionint
Finds the scene which most resembles the provided imagevoid
setClassificationData
(List<HistogramScene> memory, int numScenes) Provides a set of labeled word histograms to use to classify a new imagevoid
setNumNeighbors
(int numNeighbors) Specifies the number of neighbors it should search for when classifying\
-
Constructor Details
-
ClassifierKNearestNeighborsBow
public ClassifierKNearestNeighborsBow(NearestNeighbor<HistogramScene> nn, DescribeImageDense<T, TD> describe, FeatureToWordHistogram<TD> featureToHistogram) Configures internal algorithms.- Parameters:
nn
- Used to perform nearest-neighbor searchdescribe
- Computes the dense image featuresfeatureToHistogram
- Converts a set of features into a word histogram
-
-
Method Details
-
setNumNeighbors
public void setNumNeighbors(int numNeighbors) Specifies the number of neighbors it should search for when classifying\ -
setClassificationData
Provides a set of labeled word histograms to use to classify a new image- Parameters:
memory
- labeled histograms
-
classify
Finds the scene which most resembles the provided image- Parameters:
image
- Image that's to be classified- Returns:
- The index of the scene it most resembles
-