ISPRS Commission III, Vol.34, Part 3A ,,Photogrammetric Computer Vision“, Graz, 2002
laser radar data used. The intent is to speed up the algorithm
and reduce the size of memory needed.
Since the data is very dense, more than 10 points per square
meter, the data set is re sampled into a regular grid. This is
not such a good idea when dealing with more sparse data
sets. The re sampling of the data is done in the simplest way
possible, using the lowest point in each mesh. This is
preferable instead of make any interpolation between near
points. In a forest area a single grid mesh often contains both
measurements belonging to the trees and to the ground, in
such a case it is better to use the lowest measured point rather
than some mean between the ground and the tree points. Grid
points with no data are left blank, no interpolation is done
between neighbour points.
From this re sampling of the data a two dimensional height
image is received, (x, y). The active shape model is
represented by a height matrix, v(x > y) , With the same size
as I.
E from (1) adds stiffness to the model In this
implementation Z;, is a function of the first derivative of
the model, giving it elasticity but not rigidity. The result is a
model able to form sharp edges, from this the model is more
to be liken with a net of rubber bands rather than splines.
Wanting the model to bend down steep slopes but still stretch
out flat under buildings and other objects, the function E;nt
is non linear.
x+1 y
Ei (x,y)=C Y_ Y |arctan(v(x, y) -v(m,n)) (2)
mz-x-lnzy-l
This has of course its minimum when the model forms a
plane where v(x, y)sv. C is the elasticity constant and
define how hard the model is to form. By adjusting this
constant C it is possible to control how rough the model will
turn out.
Ej, from (1) is a function of the distance between / and v.
Ej, (x, y) 2 -Ae 4C) 0» =
This function makes the model attach to / , having the
minimum energy when v=/. The constants 4 and a controls
the attraction strength and attraction length of the model.
This function attract the model with a strong force but on a
short range, i.e. either the model is unaffected by / in a point
or v is glued to it. In Figure 3 the principle of the behaviour
of the model due to this is shown. The strong attraction force
makes the model attach to the ground points once the model
is close enough. Points belonging to measurements in the
tree, leave the model unaffected. The internal elasticity of the
model produces forces too weak to pull the model away from
already attached nodes but are strong enough to stretch the
surface where it is not influenced of the image attraction.
A- 116
; Measured terrain points,
8 TM
+ ;opEye “ data.
The optimized
active contour.
Figure 3. A section of the model. The measured points from
the tree is too far from the model to attract it, the elasticity of
the model streches it between the ground points.
The minimization of (1) is done in an iterative process where
E(v) decreases by updating the nodes of the model surface in
small steps until a local minimum is found. In each node of
the model the new Z value that minimizes the energy
function is calculated. When the model then is updated, these
values no longer minimize the energy function because the
value of the energy function in a point is dependent on the
neighbour nodes. In the next iterations new Z values are
calculated until the process converge towards the final
solution. To speed up this process, the iterations are stopped
when the maximum step size of the model is less than 5 cm.
The start value of v is a plane under the lowest point in /. To
speed up the algorithm , an external component of the energy
function is added initially
E a (X V) = —Gv(x, y) (4)
This rises the model guiding it close towards the ground
enough to let the function Æ,, attract the model. When a
local minimum of the energy function is found, £,,, causes
the model to bubble up in areas where the model has not
been attracted to the height image. This is obvious under
large objects, as buildings, where the model is forming a
cushion instead of being stretched out. The simple solution of
this problem is to turn the external component off and run
the algorithm again. This only takes a few iterations since the
model now is close to the solution of (1).