Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

gradient descent evolution of surfaces

1 view
Skip to first unread message

AK

unread,
Apr 29, 2007, 8:46:50 PM4/29/07
to
Hi all,

I'm trying to understand someone's PhD thesis on the topic of
variational surface evolution and its application in computer vision,
and I'm having trouble working out how he evaluates some particular
types of expressions involving the gradient.

This is the notation I will use here:

M : a closed m-dimensional manifold in R^(m+1)
x : point in R^(m+1), and sometimes only x in M
Sm : m-dimensional unit sphere in R^(m+1)
n : unit normal vector to M at an x. (as a function, denotes the Gauss
map: n : M -> Sm)
f (or g) : M -> R
f~: diff'ble extension of f, R^(m+1)->R, such that everywhere on the
manifold, f~ = f
<v1, v2> : dot product of v1 and v2
grad(f) : gradient of f : R^(m+1) -> R
grad_Sm(f) : gradient of f along the m-surface, in R^(m+1)
(Sm represents the m-dimensional unit-sphere, and is used because the
"Gauss map" on the m-surface M is
a function n : M -> Sm)
div(v) : divergence of v

I think it'll be easier if I specify the concerned references
directly, with the hope that someone with the time, patience and
knowledge can take a brief look at them and help clarify things.

For an overview of the author's research, please take a look at the
following presentation:
http://www.uib.no/People/nmaxt/oslo-talk/Solem_Oslo-2005.pdf

Of particular interest to my problem is the gradient projection given
on page 10 of this presentation, and the gradient descent evolution of
the surface on page 15.
I will reproduce these two equations below (with a slight difference
from the original document), referring to them as the gradient
projection eq. and the steepest descent eq. respectively:

grad_Sm(f(x)) = grad(f~) - <grad(f~), n>n
grad_M(E) = div(grad_Sm(g) + (g)n)

My first equation uses n instead of x as done by the author in the
presentation, because in the presentation he has written the equation
for the specific case when M is the unit sphere. I simply wanted to
emphasise that M could be any surface, and n is the unit normal at the
point under consideration. Also, to remove any potential confusion
(one that I experienced initially), for the general case, the S^m in
LaTeX graphic is being generated. Reload this page in a moment. is
merely used to indicate of the fact that the 'Gauss map' on any closed
manifold is given by the map n : M -> S^m

Now, referring to the author's PhD thesis:
http://homeweb.mah.se/~tsjeso/publications/Solem-thesis-2006.pdf

My main problem is how the author applies these equations to some
specific examples of energy functionals, on page 40 and 41 of the
thesis.

Referring first to the (simpler) example on page 41 (section 3.7),
with
g = -1/2*<v,n>.

The way the author applies the gradient projection eq. seems to imply
that
grad_Sm(v*n) = v - <v,n>n
or to narrow it down even further
grad(v*n) = v
(with the assumption - I suppose - that the vector field 'v' is
defined throughout the space, and that the gradient of the vector
field 'v' is a function), and maybe it's just some simple property
from vector calculus of the gradient operator that I haven't been able
to apply, but I don't get it.
Ditto with the more complex examples on page 40 of the thesis, eqs.
3.27 and 3.25.

I don't have a lot of mathematical knowledge, so forgive me if I made
a slip-up somewhere in my understanding of the problem and the
author's solution (and in which case I would welcome any corrections)

I'd be grateful for any help...
Thanks!

PS I posted the same question on the following forum website, if you
care to look at prettier version with the math stuff formatted with
Latex:
http://www.physicsforums.com/showthread.php?t=168125

toni.l...@gmail.com

unread,
Apr 30, 2007, 5:33:53 AM4/30/07
to

These are shape gradients of functionals over smooth surfaces with
respect to changes in the surface. Theorem 3.3.1 shows that for the
functional

E(Gamma) = int_Gamma g(x,n) ds

the shape derivative under the velocity field v on the surface Gamma
is

< dE / dGamma, v > = int_Gamma < div(g_n + g n), v > ds,

where we say that div(g_n + g n) is the shape gradient. The author
demonstrates the connection between gradients on R^n and thus
justifies the use of gradient descent methods. The rest is simply an
application of Theorem 3.3.1.

Once we have a level set equation such as

d phi/dt = div(v) |grad(phi)|,

we can use it to drive the zero contour of phi that represents the
surface Gamma in the gradient descent direction. Of course v can only
be defined on the surface Gamma, but usually we can extend it to a
small neighborhood outside the surface and thus it makes sense to talk
about div(v). Since the shape gradient only depends on v on the
surface Gamma, and not on v outside or inside Gamma, we are allowed to
extend v in this way and obtain the methods given.

You can also prove the shape gradient (3.29) yourself using the
formulas (3.14), (3.15), and (3.16) by taking the Gateau derivative as
shown in the proof of Theorem 3.3.1.

AK

unread,
Apr 30, 2007, 7:17:30 AM4/30/07
to

Hi,

Thanks for your reply. I guess I didn't make my problem clear enough.
I understand the method in general, and have been able to able the
Gateaux derivative directly for some other examples of functionals not
discussed in this thesis.
Also for (3.29), an even simpler computation can be obtained by first
applying Gauss divergence theorem to convert the surface integral to a
volume integral, and then applying the Gateaux derivative in (4.1)

My specific problem was the particular calculations involved in
equations 3.27, 3.28 and 3.29.

I realise now that I'd misunderstood what grad_Sm(g) is supposed to
mean, because I had assumed that grad_Sm(g) would be projecting the
gradient of g at any point on the closed surface (again, assumed g to
be defined over R^(m+1)) onto the tangent plane to the surface at that
point, as it has been defined on page 30 (last equation), regardless
of whether g was a function of n or not. However, that doesn't seem to
be the case, as the dependence on n of g = g(x,n) seems to be what's
important. So for instance, when g = f(|grad(I)|), the formulation
used in geodesic active contours, then g is independent of n and
grad_Sm(g) = 0.
So now my only problem now is understanding why
grad_Sm(<v,n>) = v - <v,n>n
I can see that v is being projected onto the tangent plane of the
surface here. But I'm trying to relate it to the idea of gradient
somehow. It seems to "want to make sense", if you know what I mean,
what I'm trying to make this understanding precise. Would be grateful
for your insight into this.


toni.l...@gmail.com

unread,
May 1, 2007, 3:56:44 AM5/1/07
to

I think what he is claiming is that grad_x(< V(x), n(x) >) = V(x) and
using (3.3) the result follows. I don't believe it either! Take M =
S^n so that the normal field can be extended to the whole R^n as n(x)
= x. The gradient is

grad_x(< V(x), x >) = V(x) + JV(x)' x,

where JV(x) is the Jacobian of V(x). Then grad_x(< V(x), x >) = V(x)
iff the term JV(x)' x vanishes everywhere, i.e. JV(x) = 0 and V(x) = V
is a constant field.

0 new messages