Level Set Active Contours on Unstructured Point Cloud

8
Level Set Active Contours on Unstructured Point Cloud Hon Pong Ho , Yunmei Chen , Huafeng Liu ,, and Pengcheng Shi Department of Electrical and Electronic Engineering Hong Kong University of Science and Technology, Clear Water Bay, Hong Kong Department of Mathematics, University of Florida, Gainesville, Florida, USA State Key Lab of Modern Optical Instrumentation, Zhejiang University, Hangzhou, China {[email protected], [email protected]fl.edu, [email protected],[email protected]} Abstract We present a novel level set representation and front propagation scheme for active contours where the analy- sis/evolution domain is sampled by unstructured point cloud. These sampling points are adaptively distributed ac- cording to both local data and level set geometry, hence allow extremely convenient enhancement/reduction of local front precision by simply putting more/fewer points on the computation domain without grid refinement (as the cases in finite difference schemes) or remeshing (typical in finite element methods). The front evolution process is then con- ducted on the point-sampled domain, without the use of computational grid or mesh, through the precise but rela- tively expensive moving least squares (MLS) approximation of the continuous domain, or the faster yet coarser gener- alized finite difference (GFD) representation and calcula- tions. Because of the adaptive nature of the sampling point density, our strategy performs fast marching and level set local refinement concurrently. We have evaluated the per- formance of the method in image segmentation and shape recovery applications using real and synthetic data. 1 Introduction Active contour models have been among the most suc- cessful strategies in object representation and segmentation [4, 7, 14]. While in general the parametric active con- tours have explicit representations as parameterized curves in a Lagrangian formulation [7, 25], the geometric active contours (GACs) are implicitly represented as level sets of higher-dimensional, scalar level set functions and evolve in an Eulerian fashion [4, 14, 18]. The geometric nature of the GACs gives them several often desired properties, i.e. inde- pendence from parametrization, easy computation of curva- tures, and natural compatibility with topological changes. In this paper, we are going to present numerical schemes Figure 1. Domain and curve representation schemes. Finite difference (top): regular grid (left), refined grid (middle), and moving defor- mation grid (right); Finite element (bottom): regular triangular mesh (left), and refined tri- angular mesh (middle); Adaptive, unstruc- tured point cloud (bottom, right). for geometric active contours, via level set representation, on adaptively distributed cloud of points. The key issues in- clude (1) unstructured, point-based domain sampling adap- tive to local internal (model geometry) and external (in- put data) features, and (2) obtaining level set surface gra- dient needed for front evolution, using local surface patches within an influence domain of the fiducial point through moving least square approximation or generalized finite dif- ference schemes. We want to point out that we are focus- ing, in this paper, on the numerical implementations of any forms of GACs on unstructured point cloud in order to im- prove their accuracy, efficiency, and flexibility. On the other hand, appropriate evolution criteria still play essential roles in achieving satisfactory results and will be separately ad- dressed in our related efforts. 0-7695-2372-2/05/$20.00 (c) 2005 IEEE

Transcript of Level Set Active Contours on Unstructured Point Cloud

Level Set Active Contours on Unstructured Point Cloud

Hon Pong Ho†, Yunmei Chen‡, Huafeng Liu†,∗, and Pengcheng Shi††Department of Electrical and Electronic Engineering

Hong Kong University of Science and Technology, Clear Water Bay, Hong Kong‡Department of Mathematics, University of Florida, Gainesville, Florida, USA

∗State Key Lab of Modern Optical Instrumentation, Zhejiang University, Hangzhou, China{[email protected], [email protected], [email protected],[email protected]}

Abstract

We present a novel level set representation and frontpropagation scheme for active contours where the analy-sis/evolution domain is sampled by unstructured pointcloud. These sampling points are adaptively distributed ac-cording to both local data and level set geometry, henceallow extremely convenient enhancement/reduction of localfront precision by simply putting more/fewer points on thecomputation domain without grid refinement (as the casesin finite difference schemes) or remeshing (typical in finiteelement methods). The front evolution process is then con-ducted on the point-sampled domain, without the use ofcomputational grid or mesh, through the precise but rela-tively expensive moving least squares (MLS) approximationof the continuous domain, or the faster yet coarser gener-alized finite difference (GFD) representation and calcula-tions. Because of the adaptive nature of the sampling pointdensity, our strategy performs fast marching and level setlocal refinement concurrently. We have evaluated the per-formance of the method in image segmentation and shaperecovery applications using real and synthetic data.

1 Introduction

Active contour models have been among the most suc-cessful strategies in object representation and segmentation[4, 7, 14]. While in general the parametric active con-tours have explicit representations as parameterized curvesin a Lagrangian formulation [7, 25], the geometric activecontours (GACs) are implicitly represented as level sets ofhigher-dimensional, scalar level set functions and evolve inan Eulerian fashion [4, 14, 18]. The geometric nature of theGACs gives them several often desired properties, i.e. inde-pendence from parametrization, easy computation of curva-tures, and natural compatibility with topological changes.

In this paper, we are going to present numerical schemes

Figure 1. Domain and curve representationschemes. Finite difference (top): regular grid(left), refined grid (middle), and moving defor-mation grid (right); Finite element (bottom):regular triangular mesh (left), and refined tri-angular mesh (middle); Adaptive, unstruc-tured point cloud (bottom, right).

for geometric active contours, via level set representation,on adaptively distributed cloud of points. The key issues in-clude (1) unstructured, point-based domain sampling adap-tive to local internal (model geometry) and external (in-put data) features, and (2) obtaining level set surface gra-dient needed for front evolution, using local surface patcheswithin an influence domain of the fiducial point throughmoving least square approximation or generalized finite dif-ference schemes. We want to point out that we are focus-ing, in this paper, on the numerical implementations of anyforms of GACs on unstructured point cloud in order to im-prove their accuracy, efficiency, and flexibility. On the otherhand, appropriate evolution criteria still play essential rolesin achieving satisfactory results and will be separately ad-dressed in our related efforts.

0-7695-2372-2/05/$20.00 (c) 2005 IEEE

1.1 Previous Works

One key issue in GACs is the tradeoff between computa-tional efficiency and contour precision/segmentation accu-racy, and several algorithmic improvements such as the fastmarching scheme [23] and the narrowband search [14] haveprovided some reliefs. However, since most GACs rely onthe finite difference computational schemes, the resolutionsof the final results are fundamentally dependent on the com-putational grids used to solve the discreteized GAC partialdifferential equations (PDEs). While a highly refined gridallows high accuracy, the computational cost may be pro-hibitively expensive for practical applications. On the otherhand, coarse grid allows fast computation, at the expense oflow fidelity to the original continuous contours.

A popular solution to the griding problem has been theuse of adaptive grid techniques to locally modify the gridstructure based on certain criteria [2]. The local refine-ment methods place additional grid nodes when (i.e. duringnarrowband refinement) and where (i.e. high gradient ar-eas) they are needed to avoid expensive global refinementprocedure [5, 22]. More recently, moving grid methodshave been proposed as simpler alternatives to the local re-finement methods [6, 9]. Instead of adding grid nodes asneeded, these methods move grid lines towards salient fea-ture locations to increase the sampling rates at those regionswhile the overall sampling rate remains constant. The over-head cost is an additional mapping between the deformedlevel set grid and the original grid, and the physical distanceamong grid points on the deformed grid is needed to calcu-late the derivatives using finite difference since spatial gridpoints separation are no longer unique. An efficiency gaincan be justified, for example, by having the overall sam-pling rate much lower than the original image grid, whilehaving local rate similar to image grid for high gradient ar-eas. But the local sampling rate for moving grid strategy isstill upper-bounded by the number of initial grid lines used,which occurs at the extreme situation when all grid linesmoved towards one point on the image. The top row of Fig.1 illustrates the regular, locally refined, and the moving gridfinite difference schemes for contour representation.

Since the purpose of domain representation is to offeran appropriate embedding for various calculations neededby the front representation and evolution, one is obviouslynot limited to any specific finite difference sampling. Fi-nite element mesh has emerged as an alternative schemefor GAC algorithms by offering a piecewise continuous ap-proximation of the domain where the level set computa-tions are performed [1, 24]. Similar to the local refinementprocedures in finite difference, the triangular mesh can beenhanced through adaptive element subdivision to providehigher sampling rate at interesting areas [24]. The remesh-ing process, however, could be computationally expensive

and algorithmically difficult, especially for 3D problems.The left and middle figures (bottom row) in Fig. 1 show theregular and refined FEM representations.

1.2 Contributions

In the Lagrangian formulation of parametric active con-tour models and motion tracking, meshfree particle methodshave been introduced as more efficient and possibly moreeffective object representation and computation alternativesbecause of their trivial h–p adaptivity [11]. In addition, ithas been shown that, for arbitrary shape modeling, point-sampled representation allows user-defined large deforma-tions on the object shape [20]. Following the same spirit,it is easy to see that if general level set PDE computationis conducted in a meshfree environment for both shape andevolution (deformation) domains, we can freely adjust thesampling rate of the domains without laborious extra ef-forts. This can be achieved through point-wise continuousapproximations of the domain and of the level set functionsthrough polynomials fitting using local point cloud.

Hence, we introduce a unified numerical scheme forlevel set representation and evolution on feature-adaptivecloud of points. The contour evolution process is performedon the point-sampled analysis domain through either mov-ing least squares (MLS) approximation or generalized finitedifference (GFD) schemes. Because of the h–p adaptive na-ture of the sampling point, our strategy naturally possessesmulti-scale property and performs fast marching and localrefinement concurrently.

2 Methodology

2.1 Implicit Surface Modeling

Suppose we want to model a dynamic deformable inter-face C(t) ∈ R

d under a known velocity field F (x, C(t)),where x ∈ R

d with given initial value C(0). For exam-ple, if d = 2 then x = (x, y) is a 2D point and C(t) is a2D contour; and if d = 3 then C(t) is a 3D surface wherex = (x, y, z) represents a particular 3D point. The dynamicequation for the moving interface can be written as:

dC(t)dt

= F (x, C(t)) (1)

If F is relatively simple, the above equation can be solvednumerically by first discretizing C(t) using a line/surfacemesh, and then iteratively updating the positions of the ver-tices on the mesh under the inference of F . This can bereferred to the classical finite element method (FEM).

However, if F is more complex such that C(t) may un-dergo structural changes or have singularities, i.e. break-ing into two or more pieces or non-differentiable when a

corner is formed, then direct discretization on C(t) surfacemay result in tedious issues while handling the C(t) mesh.Therefore, changing the representation of C(t) into implicitform had been developed, known as the level set methods[17, 21], where the basic idea is to implicitly represent themoving interface C(t) by a higher dimensional hypersur-face φ (the level set function). Let φ to be the signed dis-tance transformation of C(t) in the R

d domain:

φ(x, t) = H(x, C(t)) min{|x − C(t)|} (2)

H(x, C) =

1 if x outside C−1 if x inside C0 if x ∈ C

(3)

where | . | denotes the norm of vector. In other words,φ(x, t) is the scalar distance between x and its nearest C(t)location. So the zero level set of φ is actually the set of C(t)such that:

C(t) = {x |φ(x, t) = 0 ∀x ∈ Rd} (4)

Differentiate the above equation with respect to t, andassume all points on φ move along their normal directionsn controlled by the scalar velocity field F = n · x′(t) withn = �φ, we have

∂φ

∂t= F | � φ| (5)

where | � φ| represents the norm of the gradient of φ.The curve evolution is now driven by Eqn. (5) and we

are going to solve for convergence of this dynamic equationthrough time-domain finite difference:

φt+∆t = φt + ∆t F |∇φ| (6)

∇φ = [∂φ

∂x,∂φ

∂y,∂φ

∂z] (7)

|∇φ| =

√(∂φ

∂x)2

+ (∂φ

∂y)2

+ (∂φ

∂z)2

(8)

Eqn. (6) is the basic level set formulation for modelingfront propagation. In fact, there are many motion governingformulations for level set active contour modeling. Sinceproper construction of F is not the main concern of this pa-per, we will discuss it for specific applications later. Ouremphasis is to offer an alternative domain representationscheme using point cloud such that spatial calculations canbe conducted in a more efficient and more accurate fashion.

The discrete samples z of the continuous zero level setcurve C(t) can be found through [17, 21]:

z = x − φ(x, t)∇φ

|∇φ| (9)

where zi ⊂ C(t). Another way to find z is by detecting thesign changes (crossings) of φ values between any neigh-boring pair {φ(x), φ(x ± ∆x)}, or {φ(x), φ(x ± ∆y)}, or

{φ(x), φ(x ± ∆z)}, which can be done with the MarchingCubes algorithm [13]. Regardless of the detection methods,the requirement for z is that φ(z) must be numerically veryclose to zero at any time t.

The accuracy of the solution for C(t) depends on howsmall ∆x can be in Eqn. (11), which is ultimately con-strained by the density of φ (i.e. the sampling rate). Theo-retically, increasing the density of φ, either globally or lo-cally (i.e. through grid refinement/moving grid), can givebetter results for C(t), with added computational costs andbookkeeping of data structure.

2.2 Spatial Discretization: Finite Difference Gridvs. Meshfree Point Cloud

In order to numerically implement Eqn. (6) for a givenF , we need to address three key issues: 1). proper discreterepresentation of the hypersurface φ so that computationaloperations can be performed; 2). obtaining the derivativesof φ (i.e. ∇φ); and 3). detecting the zero level set of φ(i.e. C(t)). The work flow for one temporal step of level setevolution can be summarized as:

signed gradient levelset zero crossingdistance approx. evolution detection

C(t) → φ(x, t) → ∇φ → φ(x, t + ∆t) → C(t + ∆t)

Finite difference grid. Here, domain sampling can beinterpreted as keeping a finite subset of φ values at a finitesubset of grid locations N

d:

φi ⊂ φ |φi(xi, t) = φ(xi, t)∀xi ∈ Nd ⊂ R

d (10)

where i is an integer index for the sample of φ at locationxi. If we have N samples in total, then i = 1...N . For 2Dproblem (i.e. d = 2), we typically do not use i but insteaduse a finite set of (x, y) pairs where x, y are confined to beinteger values.

∇φ can be obtained using Eqn. (7) through spatial dis-crete approximation of the partial derivative:

∂φ

∂x≈ ∆φ

∆x=

φ(xi + ∆x, t) − φ(xi, t)∆x

(11)

where ∆x is a small spatial displacement along x direction.Derivatives along y, z directions can be similarly computed.

One favored strategy to reduce the size of Nd without

losing much accuracy is that we can use a subset NdNB ⊂

Nd which only includes samples near the current C(t) [14]:

NdNB(C(t)) = {xi

∣∣∣ |xi − C(t)| < w ∀xi ∈ Nd} (12)

where w is a small constant. The elements in NdNB will

occupy a band shape space around C(t), therefore this re-duction of samples is usually called narrow band speed-up,

and w the bandwidth. Normally Nd is a static set that only

related to input data, like pixel or voxel locations, whileN

dNB is a dynamic set that also relates to the status of cur-

rent C(t). Note that the sampling density within NdNB has

not been improved.Meshfree point cloud. To aim for better accuracy, we

define a new dynamic set of sampling locations to replaceN

dNB in Eqn. (12):

xi ∈ PdNB(f, C(t)) ⊂ R

d (13)

where f : Rd → R is a function of the input data. By us-

ing the narrow band concept, members of set PdNB form a

point cloud surrounding C(t) with its local sampling den-sity determined by the input data and the geometry of C(t).The term point cloud means that these sampling points arenot structured by pre-established grid or mesh. Fig. 4 showsdifferent types of point during evolution process. While thisunstructured point cloud sampling gives us flexibility in dis-tributing more/fewer points where the data and front geom-etry demand, the detection of zero level set can no longer beperformed using the Marching Cubes algorithm, which re-quires the grid structure, and we have used Eqn. (9) instead.

2.3 Feature-Driven Domain Sampling: Unstruc-tured Point Cloud

Here, we discuss the detailed steps of our input data/frontgeometry driven domain representation with meshfree pointcloud xi. We would like to name xi the level set supportingnodes (or just nodes) to differentiate them from other typesof points on the image. It is worthwhile to note that there isno spatial ordering between xi and xi±n for any integer n.

It is essential to get a higher precision representation,with more sampling nodes, at those regions where the inputdata or the current front C(t) contains rich information, i.e.high image gradient or complicated geometry. But exactlywhat kind of features needed to be considered is applicationdependent, and we may even include prior knowledge (i.e.the ear positions when performing shape recovery of thebunny in Fig. 6) in the construction of P

d(f, C(t)). In thefollowing paragraphs we only discuss adaptive node distri-bution driven by the data-derived f , but similar procedureshave been done for the front geometry and prior informationin our implementation and experiment.

We quantify our requirement by setting the node densityaround a point x ∈ R

d proportional to its data feature 1:

Node Density at x ∝ f(x) (14)

Nodes

Area= ρf(x), where ρ is constant (15)

1Bilinear interpolation is needed if f is only defined on grid positions

In Eqn. (15), determining the Area for node density mea-surement at any point x would be an issue of selectingproper scale, so we would like to let the interpolant of φ tocontrol it by fixing the number of Nodes within an Area tobe the minimum amount of neighboring nodes x that the in-terpolant needs to interpolate the φ(x) value. Assume Areato be circular, we get

Area = πR2 =k

ρ f(x)or R =

√k

(π ρ) f(x)(16)

where k is the minimum number of neighboring nodes tointerpolate φ(x), and R is the radius that we are going tospread k nodes around x. Before going to the algorithm,there is a little problem with Eqn. (16) when f(x) → 0,which implies that there is little data-driven informationat x (such as image background or smooth regions), thespreading radius goes unbounded. To guarantee a reason-able coverage of samples at these areas, we first initial-ize a base set of nodes which have a uniform separation

Rmin =√

k(π ρ) mean(f(x))/2 apart. To further speed up the

distributing process, we also like to include the highest 1-2% f(x) points in the base set. Note that while the base setmight look like grid points, we do not assume any orderingrelationship among these nodes in the set.

If the problem space Rd is large, exhaustive put-and-

check for node density at every possible x would be veryslow. We have thus modified an existing mesh refining al-gorithm [12] to a node distribution algorithm. The originalalgorithm assumes the actual boundary of the to-be-meshedobject is known and the node density at a point is controlledby how far that point is away from the known boundary.Regions closer to actual boundary will have finer triangu-lation. The two main differences of our algorithm are that,first, the point-to-boundary measurement is replaced by thef(x) function, since the actual boundary is unknown in ourproblems. Second, the triangulation is not performed asthe mesh is not needed in our method. Nevertheless, ourmethod is still recursive and requires an initial coarse nodedistribution. The idea is that we check every initial nodeson the problem space R

d by counting the amount of neigh-boring nodes already existed within an area of radius R de-fined by Eqn. (16). If any node failed to have k neighbors,then that node is removed and additional new nodes are ran-domly added to fill up the shortage. During the checking,all newly created nodes are stored in a list for next iteration.After checking all initial nodes, the same checking proce-dures are performed on the list of new nodes and producesanother list of new nodes. The process terminates until anempty list is found at the end of an iteration which impliesno new node has been added in the last iteration. See Fig. 2for an example of the process. Then all nodes have at leastk neighbors in its influence domain, see next section.

Figure 2. Recursive node distribution: left toright. Background brightness indicates thelikelihood of target features.

Algorithm 1 (Feature-Driven Node Distribution)

CurrList ← Base Node SetNodeSet ← Base Node SetWhile( CurrList is not empty )

Randomize the order of node in CurrListNextList ← EmptyFor every node x in CurrList

Rx ← min(sqrt(k/(pi*ρ*f(x))),Rmin)N ← # of Nodes in NodeSet within Rx circleIf( k-N > 0 )

Remove x from NodeSetNewNodes ← Random (k-N) Nodes in Rx circleAdd NewNodes into NextListAdd NewNodes into NodeSet

End IfEnd ForCurrList ← NextList

End While

2.4 Level Set Gradient Approximation: MovingLeast Square Method

Influence domain: In order to implement Eqns. (6)and (8), we need not only those φ(xi) samples but also itsderivatives: φx, φy , and φz . Traditionally, these quantitiesare approximated by taking spatial finite difference on grid-based samples of φ(x, y, z). Since now we have changedour data structure to randomly distributed set of points in-stead of structured grid points, we no longer have the or-dered neighboring relationship in x-, y-, and z-directions toconduct such calculations.

Assuming that the φ function at any location x is a well-behaved polynomial surface within a small area around x,we can use the neighboring φ(xi) nodes in that area to re-cover the coefficients of φ surface by performing a leastsquare fitting. Calling such local area the influence domainor support region of x, all nodes inside the influence do-main will have certain amount of effects on the recoveredcoefficients, which depend on how the least square fittingis performed. In general data fitting problem, the size ofthe influence region and the order of polynomial basis func-tion control the complexity of the reconstructed surface. Inour framework, since node distribution has already been

Figure 3. Estimating the approximated sur-face φ̃ at an arbitrary node: determination ofthe influence domain size Rx of node x bysearching k-nearest neighbors (left), the cu-bic spline weight function for the node and itsneighbors (right).

feature-driven, fixing the polynomial order and choosing afixed number of nearest neighboring nodes for x have im-plicitly the same meaning as determining a feature-adaptivesize for the influence domain. Hence, we define the Area,where the k neighboring nodes xi are found, to interpolatethe φ value at x to be the influence domain of x (see the leftfigure of Fig. 3 for an illustration).

Moving Least Square Approximation: Originally de-veloped for data fitting and surface construction [8], themoving least square (MLS) approximation has found newapplications in emerging meshfree particle methods [10, 11,15]. MLS approximation is chosen because it is compactwhich means the continuity of the approximation withinoverlapping influence domains is preserved. In this paper,we use φ̃ to denote the MLS approximated φ for better de-scription. Using MLS, φ̃ surface is defined to be in the form:

φ̃(x) =m∑j

pj(x)aj(x) ≡ pT (x)a(x) (17)

where p is a vector of polynomial basis, m is the or-der of polynomial, and a is a vector of coefficients forthe φ̃ function at location x using the polynomial ba-sis. For example, if pT (x) = [1, x, y, z], then aT (x) =[a1(x), a2(x), a3(x), a4(x)] and they are arbitrary functionof x. To get φ̃(p) at arbitrary location x, we determine thecoefficients a through the k-nearest neighboring nodes xi

and their known φ(xi) values. The weighted approxima-tion error is defined as :

J =k∑i

W (|x − xi|

Rx)[pT (xi)a(x) − φ(xi)]2 (18)

W (d̄) =

23 − 4d̄2 + 4d̄3 for d̄ ≤ 1

243 − 4d̄ + 4d̄2 − 4

3 d̄3 for 12≤ d̄ ≤ 1

0 for d̄ > 1

(19)

where W is a cubic spline decaying weight function (seethe right figure of Fig. 3), |x − xi| is the spatial distance

between x and xi, and T denotes vector transpose. Solvefor a(x) through minimizing J we can get:

φ̃(x) = N(x)Us (20)

Us = [φ(x1), φ(x2), · · · , φ(xk)]T (21)

N(x) = pT (x)A(x)−1B(x) (22)

A(x) =k∑i

W ( |x−xi|Rx

)p(xi)pT (xi) (23)

B(x) = W ( |x−xi|Rx

)[p(x1),p(x2), · · · ,p(xk)] (24)

The solution of a(x) has already embedded in N(x) ofEqn. (22) for simplification. The N(x) is called the shapefunction that interpolates the known vector Us, which is acollection of known φ(xi) values, to get the approximatedφ̃(x) value.

To get the first order derivatives of φ̃, let

A(x)Υ(x) = p(x) (25)

Υx = A−1(px − AxΥ) (26)

φ̃x = ΥxB + ΥBx (27)

while φ̃x is the shorthanded notation for ∂φ̃(x)∂x , and φ̃y , φ̃z

can be obtained in similar fashion. Finally, |∇φ̃| can beobtained from Eqn. (8).

In many practical 2D problem like image segmentation,curvature measurement κ is also needed, see later Eqn. (30).For the second order terms φxx, φyy and φxy in κ:

Υxx = A−1(pxx − 2Ax Υx − Axx Υ)

Υxy = A−1(pxy − (Ax Υy + Ay Υx + Axy Υ))

φ̃xx = Υxx B + 2Υx Bx + ΥBxx (28)

φ̃xy = Υxy B + Υx By + Υy Bx + ΥBxy (29)

Moreover, φ̃yy can be obtained in similar way as φ̃xx. Withφ̃xx, φ̃yy and φ̃xy , κ can be computed using Eqn. (32).

Generalized Finite Difference Method. While theMLS approximation produces very nicely estimated surfaceφ at x (see bottom of Fig. (4) for an example), it demandsquite a lot computations in order to get the interpolationfunction in Eqn. (22). A faster and less expensive alter-native to MLS is to remove the weighting function W inEqn. (18) and to solve a by least square solution of a setof simultaneous equations. This can be in fact consideredas a generalized finite difference scheme, and some relateddetails can be found in [3].

3 Applications

As discussed earlier, while the main focus of this paperis not on the F function, we do want to point out that appro-

priate application-dependent F should be used in Eqn. (6)in order to achieve best possible results [16, 26].

In the implementation and experiment results presentedin this paper, we have selected the F formulation for con-tour evolution from [19]:

F = β g κ − (1 − β) g (v̂ · ∇φ)/|∇φ| (30)

g = 1/(1 + |∇G ∗ I|) (31)

Eqn. (30) consists of mainly two terms. The first term isthe product of image gradient force g and contour curvatureκ, serving respectively as external and internal energy con-straints during evolution. The second term is the additionalexternal force using the inner product between image gra-dient vector flow (GVF) and contour normal direction. Theincorporation of GVF enhances the flexibility of choosinginitial contour position and handling concave object bound-ary. The parameter β ∈ [0, 1] is just a constant weight-ing between the two main terms. G denotes the gaussiansmoothing kernel and finally contour curvature κ can be ob-tained from the divergence of the gradient of the unit normalvector to the contour [14]:

κ = ∇ · ∇φ

|∇φ| = −φxxφ2y − 2φxφyφxy + φyyφ2

x

(φ2x + φ2

y)3/2(32)

where φx is the shorthanded notation for first order deriva-tive ∂φ

∂x , φxx denotes ∂2φ∂x2 and φxy stands for ∂φx

∂y .We have implemented and tested the level set active con-

tours on unstructured point cloud using both MLS and GFD.Quantitative comparisons are made between traditional fi-nite difference implementation and our efforts on segmen-tation of synthetic data with known ground truth (see Table1). In addition, application results to brain tissue segmenta-tion (Fig. 5 ) and to shape recovery of the Stanford Bunny(Fig. 6) are presented.

4 Discussions

In this paper, we have not introduced new curve evolu-tion formula for level set active contours. Instead, we havepresented strategies on the numerical implementations ofany forms of GACs on unstructured point cloud in order toimprove their accuracy, efficiency, and flexibility.

The advantages of this point-based level set implemen-tation over finite difference schemes (regular, local refine-ment, and moving grid) are evident. To achieve higher pre-cision at interesting locations, we can adaptively distributemore sampling nodes in the associated solution domain. Ifholding the order of surface polynomial constant, areas withmore nodes can have smaller influence domains since theamount of nodes needed for surface reconstruction can bekept constant. The areas of the solution domain which have

Inactive Feature-dependent Nodes

High CurvatureSupporting Nodes

Current ContourC(t)/z

Active NarrowBand Nodes

(part of )

Figure 4. Top: Different types of samplingnodes during contour evolution process (leftto right). Bottom: A visualization of the ac-tual computational domain, MLS interpolatedinitial, intermediate and final φ.

smaller influence domains will have higher precisions dueto the increased node density, the equivalent effect as gridrefinement. A key difference is that our partitions (throughthe influence domains) overlap with each other such thatthey are loosely inter-related and individual error at eachlocation would be smoothed out by the neighbors withinits influence domain when applying the MLS/GFD approx-imation. The smoothing scale is controlled by the influencedomain size which is inversely proportional to the node den-sity. Therefore, the smoothing would be automatically ad-justed whenever the node density changes. By making thesampling rate adaptive to input data/front geometry/priorknowledge, we can have greater smoothing for the con-tour point at low information area and little smoothing atinformation-rich locations. For example, for figures in Ta-ble 1, we need to apply large filters to de-noise the imagebut boundary leakage occurs when clear edges are miss-ing. It does not happen to our point-based strategy becausenode distribution also governs the de-noising capability ofMLS/GFD approximation. Although MLS is computationalexpensive, working on fewer nodes can make the speed ofpoint based strategy comparable to traditional regular gridfinite difference level set (FD-LS). Moreover, the runningspeed is also adaptive simply because fewer node valuescomputation around low information areas, meaning a fastmarching and level set refinement performed concurrently.

Experiment on brain image is shown in Fig. 5. The im-age gradient is used as the feature for node distribution.We start from an initial guess inside the brain structure.It evolves outward and stop at high gradient areas. Thepoint-sampled implicit surface is visualized by increasingthe node density around the final C(t) to increase the den-

Table 1. Comparison between point-basedand regular-grid level set implementations fornoisy synthetic image segmentation.

SNR: 10dB 6.9dB 5.2dB 3.9dBImages with different levels of noise

Point-based Level Set Results with MLS Interpolation

Point-based Level Set Results with GFD Interpolation

Regular Grid Level Set Results with Finite Difference

3 Objects Noise MSE S.D. Min Err Max Err Time(s)

MLS 10dB 0.222 0.324 0.006 2.093 372

MLS 6.9dB 0.402 0.4 0.002 2.084 295

MLS 5.2dB 0.405 0.410 0.002 1.820 224

MLS 3.9dB 0.504 0.464 0.003 2.133 317

GFD 10dB 0.480 0.443 0.000 2.166 164

GFD 6.9dB 1.324 0.606 0.001 2.954 106

GFD 5.2dB 1.218 0.654 0.006 3.322 148

GFD 3.9dB 2.119 1.039 0.014 6.057 126

FD-LS 10dB 1.074 0.617 0.008 3.318 341

FD-LS 6.9dB 2.11 0.999 0.000 5.298 340

FD-LS 5.2dB 2.128 0.994 0.002 5.952 344

FD-LS 3.9dB 5.343 1.300 0.080 7.183 294

sity of z. In Fig. 6, since we used distance to the nearestdata point as the F function and the original range scanneddata set is huge, in order to speedup the point searching inF , we quantized all data points to integral positions in a100x100x100 grid.

Acknowledgement. This work is supported by NBRPC2003CB716104, NSFC 60403040, and HKUST6252/04E.

References

[1] T. Barth and J. Sethian. Numerical schemes for thehamilton-jacobi and level set equations on triangulated do-mains. Journal of Computational Physics, 145:1–40, 1998.

Figure 5. Image segmentation results frommedical data. The sampling rate has been in-creased when the evolving surface is closerto the target features. At the final stage, weuse excessive amount of samples to createa better visualization of the implicit surfacewithout meshing.

[2] M. Bern, J. Flaherty, and M. Luskin. Grid Generation andAdaptive Algorithm. Springer, New York, 1999.

[3] J. Bonnans and H. Zidani. Consistency of generalized finitedifference schemes for the stochastic hjb equations. SIAMJournal for Numerical Analysis, 41(3):1008–1021, 2003.

[4] V. Caselles, R. Kimmel, and G. Sapiro. Geodesic active con-tours. IJCV, 22:61–79, 1997.

[5] M. Droske, B. Meyer, M. Rumpf, and C. Schaller. An adap-tive level set method for medical image segmentation. InIPMI, pages 416–422, 2001.

[6] X. Han, C. Xu, and J. L. Prince. A 2d moving grid geometricdeformable model. In CVPR, vol. 1, pages 153–160, 2003.

[7] M. Kass, A. Witkin, and D. Terzopoulos. Snakes: Activecontour models. IJCV, 1:321–331, 1987.

[8] P. Lancaster and K. Salkauskas. Surface generated by mov-ing least squares methods. Mathematics of Computations,37(155):141–158, 1981.

[9] G. Liao, F. Liu, G. de la Pena, D. Peng, and S. Osher.Levelset-based deformation methods for adaptive grids. J.of Computational Physics, 159:103–122, 2000.

[10] G. Liu. Mesh free methods : moving beyond the finite ele-ment method. CRC Press LLC, 2002.

[11] H. Liu and P. Shi. Meshfree particle method. In Ninth ICCV,pages 289–296, October 2003.

[12] R. Lohner and E. Onate. An advancing point grid genera-tion technique. Communications in Numerical Methods inEngineering, 14:1097–1108, 1998.

[13] W. Lorensen and H. Cline. Marching cubes: A high reso-lution 3d surface construction algorithm. ACM SIGGRAPH,21(4), July 1987.

[14] R. Malladi, J. A. Sethian, and B. C. Vemuri. Shape modelingwith front porpagation: a level set approach. IEEE PAMI,17:158–175, 1995.

[15] J. Monaghan. Smoothed particle hydrodynamics. AnnualReview of Astronomy and Astrophysics, 1992.

A subset of originaldata without normal

Initial surface Evolving surface

Final surface withadaptive sampling

Increased samplingrate

Enlarged view of ahigh feature region

Figure 6. Shape recovering of the StanfordBunny. The F function is the distance towardnearest data point.

[16] K. Museth, D. Breen, R. Whitaker, and A. Barr. Level setsurface editing operators. ACM SIGGRAPH (Trans. Graph-ics), 21(3):330–338, July 2002.

[17] S. Osher and R. Fedkiw. Level set methods and dynamicimplicit surfaces. Springer-Verlag New York Inc., 2002.

[18] S. Osher and J. Sethian. Fronts propagating with curvature-dependent speed: Algorithms based on hamilton-jacobi for-mulations. J. of Computational Physics, 79:12–49, 1988.

[19] N. Paragios, O. Mellina-Gottardo, and V. Ramesh. Gradientvector flow fast geodesic active contours. In Eighth ICCV,pages 67–73, 2001.

[20] M. Pauly, R. Keiser, L. Kobbelt, and M. Gross. Shapemodeling with point-sampled geometry. ACM SIGGRAPH(Trans. Graphics), 22(3):641–650, July 2003.

[21] J. Sethian. Level Set Methods and Fast Matching Methods:Evolving Interfaces in Computational Geometry, Fluid Me-chanics, Computer Vision and Material Science. CambridgeUniv. Press, London, 1999.

[22] V. Sochnikov and S. Efrima. Level set calculations of theevolution of boundaries on a dynamically adaptive grid. Int.J. for Numerical Methods in Engg., 56:1913–1929, 2003.

[23] J. N. Tsitsiklis. Efficient algorithms for globally optimaltrajectories. IEEE Trans. on Automatic Control, 40(9), 1995.

[24] M. Weber, A. Blake, and R. Cipolla. Initialisation and termi-nation of active contour level-set evolutions. In IEEE Work-shop on Variational and Level Set Methods, 2003.

[25] C. Xu and L. Prince. Snakes, shapes, and gradient vectorflow. IEEE Trans. on Image Processing, 7:359–369, 1998.

[26] H. Zhao, S. Osher, B. Merriman, and M. Kang. Implicit andnonparametric shape reconstruction from unorganized datausing a variational level set method. Computer Vision andImage Understanding, 80:295–314, 2000.