In the arts and sciences, as well as in our daily lives, symmetry has made a profound and lasting impact. Likewise, a computational treatment of symmetry and group theory (the ultimate mathematical formalization of symmetry) has the potential to play an important role in computational sciences. Though the term computational symmetry was formally defined a decade ago by the first author, referring to algorithmic treatment of symmetries, seeking symmetry from digital data has been attempted for over four decades. Computational symmetry on real world data turns out to be challenging enough that, after decades of effort, a fully automated symmetry-savvy system remains elusive for real world applications. The recent resurging interests in computational symmetry for computer vision and computer graphics applications have shown promising results. Recognizing the fundamental relevance and potential power that computational symmetry affords, we offer this survey to the computer vision and computer graphics communities. This survey provides a succinct summary of the relevant mathematical theory, a historic perspective of some important symmetry-related ideas, a partial yet timely report on the state of the arts symmetry detection algorithms along with its first quantitative benchmark, a diverse set of real world applications, suggestions for future directions and a comprehensive reference list.
Symmetry and Symmetry GroupsWe start by providing some formal definitions of symmetry, and symmetry groups as subgroups of the Euclidean group, including cyclic, dihedral, frieze and wallpaper groups, and their subgroup interrelations. We then move on to affine, projective and non-Euclidean spaces (hyperbolic spaces) to demonstrate a wide range of symmetries.
Symmetry in Euclidean Space
Basic ConceptsDefinition 1. Let S be a subset of R n . Then an isometry 1 g is a symmetry of S if and only if g(S) = S. Definition 2. A symmetry g for a set S ∈ R n is a primitive symmetry if and only if for any non-trivial decompositions of g = g 1 g 2 , neither g 1 nor g 2 is a symmetry of S.1 An isometry is a distance preserving mapping.
15Now let us review the mathematical notion of an algebraic group G: Definition 3. Let G be a non-empty set with a well-defined binary operation * such that for each ordered pair g 1 , g 2 ∈ G, g 1 * g 2 is also in G. (G, * ) is a group if and only if:(1) there exists an identity element e ∈ G such that e * g = g =g * e for all g ∈ G;Using the composition of mappings in R n as the binary operation * , one can prove that symmetries of a subset S ⊂ R n form a group, which is called the symmetry group of S. 2Proposition 2.1. Symmetries of a subset S ⊂ R n form a symmetry group G S of S.Proof. Assume G S contains all the symmetries of S and * is the transformation composition defined on pairs of symmetries. Obviously, the identity mapping e is a symmetry of S since e(S) = S → e ∈ G S (condition #1 of Definition 3). Since all symmetries g of S are rigid transformation in Euclidean space, each of them has a natural inve...