Extended Convolution Descriptor Matching (Version 1.00)
links
executables
examples
compilation
changes
This software supports the comparison of two images through the computation and comparison of the dominant Extended Convolution Descriptors.
LINKS
EXECUTABLES
ECDMatching:
The executable computes the dominant descriptors for the source and target and uses those to measure the image similarity. Concretely, for each target descriptor it computes the distance to the closest source descriptor and outputs the sum of the distances, over all target descriptors.
- --in <input source image> <input target image>
- These two strings specify the the names of the files containing the source and target images.
The executable supports JPEG and PNG image formats.
- [--mask <input source mask> <input target mask>]
- These optional string specify masking image files indicating the pixels at which descriptors are to be computed. (Descriptors will not be computed at pixels where the mask file is black.)
The source (resp. target) mask must have the same resolution as the source (resp. target) image.
- [--ecdHalfRes <descriptor half resolution>]
- This optional integer specifies half the resolution of the ECD descriptor.
The default value is 5.
- [--ecdRadius <descriptor radius (in pixels)>]
- This optional floating point value specifies radius over which the Extended Convolution Descriptor is computed.
The default value is twice the ECD half-resolution.
- [--ecdNum <source ECD num> <target ECD num>]
- These two optional integer values specifies the number of dominant descriptors to be computed for the source and target respectively.
The default values are -1 for the source and 1000 for the target, indicating that the 1000 most dominant target descriptors, should be matched against all the source descriptors to measure target-to-source similarity.
- [--stratified <source stratification resolution> <target stratification resolution num>]
- These two optional integer values specify the stratification resolutions (in pixels) for the source and target. The initial set of descriptors are compute by partitioning the image into squares of the prescribed resolution, and selecting the dominant descriptor within each square.
A resolution of 0 (or 1) indicates that no stratification should be used.
The default values are 2 for the source and 8 for the target.
EXAMPLES (WITH SAMPLE DATA)
For testing purposes, the provided archive contains views of the texture-mapped "vase" model from nine different perspectives, including renderings obtained using the reference texture and renderings obtained using synthesized textures.
The renderings are obtained using the model and photographs generously shared by Paolo Cignoni and Marco Callieri, Visual Computing Laboratory, ISTI-CNR.
ECDMatching
To run this executable you must specify the source and the target images (as well as associated masks). Assuming you are running from within one of the "view" folders:
% ECDMatching --in reference.png 1.png --mask mask.png mask.png
This computes the Extended Convolution descriptor for the source and target and gives the sum of the distances from the target descriptors to their closest source descriptors, and prints the sum to the standard output.
To compare multiple targets to the source, the second argument of the --in (and --mask) parameter can be a ':'-seperated list of target image (and associated mask) file-names:
% ECDMatching --in reference.png 1.png:2.png:3.png:4.png --mask mask.png mask.png:mask.png:mask.png:mask.png
In this case the sum of distances from each target will be written out to separate lines of the standard output.
COMPILATION
- Compilation requires the ZLIB, JPEG, and PNG libraries. These are provided with the Visual Studios solution file. The Makefile assumes that the libraries and associated headers are located in the associated paths used by the compiler.
HISTORY OF CHANGES
Version 1.00:
HOME