Symmetry Detection with the Gradient Product Transform: Source Code and Test Data Set
Here we provide additional material to the following publications:
- C. Dalitz, R. Pohle-Fröhlich, F. Schmitt, M. Jeltsch: The Gradient Product Transform for Symmetry Detection and Blood Vessel Extraction. International Conference on Computer Vision Theory and Applications (VISAPP), pp. 177-584 (2015)
- C. Dalitz, R. Pohle-Fröhlich, T. Bolten: Detection of Symmetry Points in Images. International Conference on Computer Vision Theory and Applications (VISAPP), pp. 577-585 (2013)
Rotational symmetry can be a useful feature for the identification both of natural objects, as well as man-made objects. This source code implements the Gradient Product Transform defined in the above VISAPP'15 paper. It assigns a symmetry score to each image pixel that is high for reflection symmetry center points and determines the point with the highest rotational symmetry score.
The test data set can be used for evaluating different rotational symmetry detection algorithms. It consists of 159 images of size 600×400, containing 27 different subjects. Each subject is shown in different perspectives and both in context and in detail.
To compile the C++ source code, you will need g++ and the external library OpenCV. See the file README in the source package for details and usage instructions. Here is a sample usage that writes the symmetry transform (scaled to greyscale) to "trace-symmetry.png" and prints the detected highest rotational symmetry to stdout:
symmetry -r 30 -trace image.png
Note that the maximum radius r must be provided as a command line argument. With a value of alpha=0.5 (default), the radius should be selected reasonably automatically even when the given radius is larger. If you are looking for small structures like blood vessels, you should however choose an appropriately small value for r.
- symmetry-2.0.tgz (version 2.0 from 2015/03/16) implementing the improved version from the VISAPP'15 paper
- symmetry-1.0.tgz (version 1.0 from 2013/01/03) implementing the first version from the VISAPP'13 paper
Test data set with ground truth (63MB):
- symmetry-dataset.tgz (version 1.1 from 2013/05/03)
Authors and license
The source code is copyrighted by Christoph Dalitz and Regina Pohle-Fröhlich, Institute for Pattern Recognition, Niederrhein University of Applied Sciences, Krefeld, Germany. It may be used freely under the terms of the GNU General Public License. Please cite the VISAPP'15 paper listed at the top of this page as a reference when building upon this code.
The images in the data set are copyrighted by Tobias Bolten. Permission is granted to use them freely for research purposes and to include individual images into publicatons, provided you give reference to the VISAPP'13 paper listed at the top of this page.