@Reference(author={"Wei Dong","Zhe Wang","Kai Li"}, title="High-Confidence Near-Duplicate Image Detection", type=Inproceedings, year="2012", booktitle="ACM International Conference on Multimedia Retrieval", customData={"location","Hong Kong, China"}) public class ByteEntropyFilter extends Object implements Predicate<LocalFeature<?,ByteFV>>
LocalFeature
s typed on ByteFV
by rejecting those that
have a low feature entropy. Such features are those that tend to have little
variation; for example, in the case of SIFT features, the removed features
are typically the ones that mismatch easily.
This filter is an implementation of the approach described by Dong, Wang and
Li; the default threshold is taken from the paper, and will work with
standard SIFT features, such as those produced by a DoGSIFTEngine
.
Constructor and Description |
---|
ByteEntropyFilter()
Construct with the default threshold of 4.4 as suggested in the original
paper.
|
ByteEntropyFilter(double threshold)
Construct with a custom threshold.
|
Modifier and Type | Method and Description |
---|---|
static double |
entropy(byte[] vector)
Compute the entropy of the given byte vector.
|
boolean |
test(LocalFeature<?,ByteFV> object)
Tests whether a specific object passes some criteria.
|
public ByteEntropyFilter()
public ByteEntropyFilter(double threshold)
threshold
- The threshold.public boolean test(LocalFeature<?,ByteFV> object)
Predicate
test
in interface Predicate<LocalFeature<?,ByteFV>>
object
- the object being tested.public static double entropy(byte[] vector)
vector
- the vector.