cian processing methods, without introducing notice-
able reconstruction errors.
The rest of the article is organized as follows. Sec.
II provides a review of prior art on spectral methods
and their applications in a diversity of problems. Ba-
sic definitions related to graph spectral processing of
3D meshes are provided in Sec. III. Sec. IV presents
the proposed fast spectral processing approach that is
based on OI. Section V provides a flexible solution
that automatically identifies the optimal subspace size
c that satisfies a specific reconstruction quality crite-
rion. Section VI presents a compression and a denois-
ing case study, where the proposed method can be ef-
fectively adopted. In Section VII, the performance of
the proposed system is evaluated, by taking into ac-
count different CAD and scanned 3D models. The
article is finally wrapped up with a few open research
directions in Sec. VIII.
2 RELATED WORKS
Spectral methods have been used in many different
computer science fields ranging from signal process-
ing, graph theory, computer vision and machine learn-
ing. Spectral mesh processing have been inspired by
all the relevant developments in the aforementioned
fields. Several surveys that cover basic definitions
and applications of the graph spectral methods have
been introduced by Gotsman (Gotsman, 2003), Levy
(L
´
evy, 2006), Sorkine (Sorkine, 2005) and more re-
cently by Zhang et al. (Zhang et al., 2010). All
these surveys classify the spectral methods according
to several criteria related to the employed operators,
the application domains and the dimensionality of the
spectral embeddings used.
Graph spectral processing of 3D meshes rely on
the singular/eigen-vectors and/ or eigenspace projec-
tions derived from appropriately defined mesh opera-
tors, while it has been applied in several tasks, such
as, implicit mesh fairing (Kim and Rossignac, 2005),
geometry compression (Sorkine, 2005; Karni and
Gotsman, 2000) and mesh watermarking (Ohbuchi
et al., 2001). Taubin (Taubin, 1995) first treated the
mesh vertex coordinates as a 3D signal and intro-
duced the use of graph Laplacian operators for dis-
crete geometry processing. This analysis was moti-
vated by the similarities between the spectral analy-
sis with respect to mesh Laplacian and the classical
Fourier analysis. A summary of the mesh filtering
approaches that can be efficiently carried out in the
spatial domain using convolution approaches is given
by Taubin in (Taubin, 2000). Despite their applica-
bility in a wide range of applications such as, mesh
denoising, geometry compression and watermarking,
they require explicit eigenvector computations mak-
ing them prohibitive for real time scenarios such as
streaming and content creation applications, where
large 3D models are generated in parts, providing a
sequence of 3D surfaces that need to be processed fast
and sequentially in time.
Computing the truncated singular value decom-
position, can be extremely memory-demanding and
time-consuming. To overcome this limitations, sub-
space tracking algorithms have been proposed as
fast alternatives relying on the execution of iterative
schemes for evaluating the desired eigenvectors per
incoming block of floating point data corresponding
in our case, to different surface patches (Comon and
Golub, 1990). The most widely adopted subspace
tracking method is Orthogonal iterations (OI), due to
the fact that results in very fast solutions when the ini-
tial input subspace is close to the subspace of interest,
as well as the size of the subspace remains at small
levels (Saad, 2016). The fact that both matrix multi-
plications and QR factorizations have been highly op-
timized for maximum efficiency on modern serial and
parallel architectures, makes the OI approach more at-
tractive for real time applications. To the best of our
knowledge, subspace tracking algorithms have never
been applied for graph spectral mesh processing, de-
spite their wide success on a large range of filtering
applications.
3 SPECTRAL PROCESSING OF
3D MESHES
In this work we focus on polygon models whose sur-
face is represented using triangles. Let us assume
that each triangle mesh M with n vertices can be
represented by two different sets M = (V,F) corre-
sponding to the vertices (V ) that represent the ge-
ometry information and the indexed faces (F) of the
mesh. Each vertex can be represented as a point
v
i
= (x
i
,y
i
,z
i
) ∀ i = 1,n and each centroid of a face
as m
i
= (v
i1
+ v
i2
+ v
i3
)/3 ∀ i = 1,l. A set of edges
(E) can be directly derived from V and F, which cor-
respond to the connectivity information.
Spectral processing approaches, e.g., (Sorkine,
2005; Karni and Gotsman, 2000) are based on the fact
that smooth geometries should yield spectra, domi-
nated by low frequency components and suggest pro-
jecting the Cartesian coordinates x,y, z ∈ ℜ
n×1
in the
basis spanned by the eigenvectors u
i
, i = 1,..., c << n
of the Laplacian operator L that is calculated as fol-
lows:
L = D − C, (1)
Block based Spectral Processing of Dense 3D Meshes using Orthogonal Iterations
123