Lie group theory in image processing

The next topic which must also be introduced at the undergraduate level in the form of small projects is the applications of Lie-group and Lie-algebra theory to image processing and robotics. In image processing problems, the typical way in which group theory arises is as follows: We are given a manifold M like R2,R2,52 etc. on which a Lie group G acts. For example, G may be E(2), the Euclidean group R2 SO (2) of rotations and translations of the plane, or E(3), the Euclidean group R3 50(3) of translations and rotations of three dimensional space, or the Galilean group (R3 x R3) (R x 50(3) of spatial translations, uniform spatial motions, time delay/advancement, rotations acting on the space-time manifold R x R3, or more generally, we can also include the scaling group R+ in the Galilean group. Now given an image field f : M —> C, we may apply a G-transformation element g € G on this image field and then observe the transformed image fi after corrupted by noise:

A(®) = + w(x),x e M

One problem would be to estimate g from measurements of the original and transformed and blurred image j. For example, if w(x) is a white Gaussian noise field, the maximum likelihood estimator of g would be something like

g = argming / |/i(a?) - f(g~1x)2h(x)dg(x)---(a)


where g is a G-invariant measure on M and l/2/i(a.’) is the spectral strength of w(x), ie,

E(w(x)w(?/)) = ¿(a; — y)/2h(x)

One way to construct the invariant measure y on M would be to take a point xq 6 M and consider the map t : G —> A4 by r(g) = gxo. Then, if gc is a left invariant Haar measure on G, it follows that g = //got-1 is a G-invariant measure on M. This is because for any g € G,

[ f(gx)dg(x)= i f{gx)dgGoT~1(x)


= [ f(9r(h))diJ.c(h) = [ f(ghx0)dyG(li) = [ f(hxo)dgG(h.) JG JG JG

= [ f^dgaOT-1^) = i f(x)dg(x) JM JM

The problem of solving the optimization problem in (a) is very hard and involves a computationally intensive search over G. The theory of group representations greatly simplifies this optimization problem and this can be used as a starting point in courses for introducing the theory of group representations. For example, if 7T is a representation of G, we get in the absence of noise,

/i(7r) = [ fi(hx0)ir(h)dh= [ f(g~1hxo)ir(h)dh


I f(hx0)n(gh)dh = ir(g)f(ir)

and hence by comparing and /(tt) for different representations tt. we get to know 7r(g) for different tt using which reconstruction of g can be achieved.

Lie group based robotics

In the context of robotics, suppose we have d 3-D links with the j + 1th link attached to the jth link at a fixed point pj at time t = 0, we find that a point £ in the kth link at time t = 0 moves after time t to the point

where 7?1(t) is the rotation suffered by the first link about the origin and for k = 2,3,.... Rk(t) is the rotation suffered by the kth link relative to the k — lf,! link around its point of attachment Rk-i(t)...Ri(t)pk-i- We define

Sk(t) = Rk(t)R^l(t)...R1(t) e SO(3),fc = 1,2,...



€(*) = H sAt')Pj + SfcWif - Pt-i)


and this gives the kinetic energy of the kth link as

Tfc(t) = (p/2) i || e'(t) ||2 d3£


f k~r

= (p/2) / II £ s' (t)Pj + 4(t)(e - pfc_i) II2 d3e jBk j=i

The total kinetic energy of the d-link robot is therefore of the form

d d

T(t) = '£Tfc(t) = (l/2) £ Tr(sat)A,„s^(t)) fc=l fc,m=l

where Jkm are constant 3x3 matrices satisfying Jkm = Jmk- The gravitational potential energy of the robot is given by

d k-

V(Z) = g^Mk(elsk(t)lk + V ^jWPj) fc=i j=i

where lk is the position vector of the centre of gravity of the kth link relative to its point pk-i of attachment to the k — 1th link at time t = 0. This shows that V(t) is a linear function of {¿>'/,.(t) : 1 < k < d} while T(t) is a quadratic function of {5j.(t) : 1 < k < d}. The Lagrangian of the robot defined as

L(t, S*.(t), S'k(t), 1 < k < d) = T(t) - V(t)

is therefore linear in the Sk(t)'s and quadratic in the S'k(t)'s. The external torques act at the joints po = 0,pi, ...,pd-i via motors. Let rk(t) denote the machine torque pseudo-vector at the kth joint. Then, its contribution to the Lagrangian must be described appropriately. The kth link suffers a rotation Rk(t) = relative to the k— lf,! link. In time t to t + dt, the angle

pseudo-vector of rotation suffered by the kth link relative to the k — 1th link is df)n where dRk(t)£ = dOh x Rk(t)£ for any vector £. Thus, if X = (X/jX^Xs) denote the generators of SO(3), then

dRk(t^ = de(t)(n.X)Rk(t^


dfi(h.X) = dRk^.R^t)-1

This equation can be solved for dOh by using the identity Tr(XiXj) = —25ij and therefore, Tr((h.X)Xk) = —2nk. The energy spent by the motor in performing this infinitesimal rotation is rk(t)Thd0. We have from the above,

df)nk = dt)(-l/2)Tr((n.X)Xk) = (—l/2)Tr(dRk(t).Rk(t)~1Xk)

and the contribut ion to the action functional (ie, time integral of the Lagrangian) by the motors is given by


St = 5? / n(t)Tn(t)d0(t) = k=iJo

d 3 pt

= (-1/2) ££ / T^TriR^R^X^dt k=l j=l Jo

We define the antisymmetric torque tensor by

  • 3
  • 7I.(i) = £nu№


Then, we can write

ST = (-1/2) V [' Tr(Rk(t)Rk(t)~1Tk(t))dt = f LTdt k=1Jo Jo

where Lt is the motor torque contribution to the Lagrangian and is given by


LT = {-l/2)^Tr(R'k{t)Rk(t)-1rk{t'}>>


< Prev   CONTENTS   Source   Next >