Page 1

SURFACE COMPLETION BY MINIMIZING ENERGY BASED ON SIMILARITY OF SHAPE

Norihiko Kawai, Tomokazu Sato and Naokazu Yokoya

Graduate School of Information Science, Nara Institute of Science and Technology

8916-5 Takayama, Ikoma, Nara 630-0192, Japan

?norihi-k,tomoka-s,yokoya?@is.naist.jp

ABSTRACT

3D mesh models generated with range scanner or video im-

ages oftenhave holes dueto manyocclusions by other objects

and the object itself. This paper proposes a novel method to

fill the missing parts in the incomplete models. The missing

parts are filled by minimizing the energy function, which is

defined based on similarity of local shape between the miss-

ing region and the rest of the object. The proposed method

can generate complex and consistent shapes in the missing

region. In the experiment, the effectiveness of the method is

successfully demonstrated by applying it to complex shape

objects with missing parts.

Index Terms— Surface Completion, 3D Inpainting, En-

ergy Minimization, Pattern Similarity

1. INTRODUCTION

3D models of real environments are widely used for enter-

tainment and digital archives. Thus, automatic generation of

3D models by using range scanner and video images has been

investigated. Such methods can obtain whole 3D models by

measuringthetarget objectsfrommultipleviewpoints andin-

tegrate the partial shapes. However, when the target is a large

and complex environment such as an outdoor scene, it is dif-

ficult to generate the complete 3D models without holes due

to many occlusions. For this problem, lots of surface comple-

tion methods which fill the missing regions and obtain com-

plete 3D mesh models have been proposed. These methods

are classified into two categories: One is based on consider-

ing the smoothness of surface shape and the other is based on

using example shapes.

As methods considering the smoothness of surface shape,

partial differential equation, moving least squares and Will-

more flow have been used for filling holes [1, 2, 3]. These

methods can fill the missing regions with smooth surface

patches. Although they are effective for small holes in a 3D

model, unnatural shapes may be generated when the missing

parts are large and surrounding shape is complex because the

methods cannot generate a complex surface. As another ap-

proach considering the smoothness, volumetric-based meth-

ods have been proposed [4, 5]. Davis et al. [4] have filled

holes by diffusing the signed distance function. This method

largely depends on the location and the number of measuring

points. Thus, it is difficult to obtain good results when the lo-

cation is grossly one-sided and the number is small. Podolak

et al. [5] have used the graph cut to interpolate a surface.

Though this method can generate a continuous surface, to

generate complex shapes in the missing region, user’s manual

inputs are required.

On the other hand, in order to generate complex shapes in

missing regions, the methods using example shapes on other

parts of the object (data region) have been proposed [6, 7, 8,

9, 10]. These methods calculate the similarity between the

local surface shape around the missing regions and that in the

data region and fill the missing regions by copying the most

similar surface patches successively. The methods can gen-

erate complex surfaces. However, a discontinuous surface is

easily generated on the seam in the completed model.

In this paper, to solve these problems, the energy function

which represents the non-plausibility of surface shape is de-

fined using the similarity between the local surface shapes of

the missing and data regions. By minimizing the energy for

whole the missing region, the model without discontinuous

surface shapes can be generated as an optimal solution.

2. SURFACE COMPLETION BY MINIMIZING

AN ENERGY FUNCTION

Fig. 1 illustrates the flow diagram of the proposed method.

First, a user manually selects missing regions to be repaired

in a model (a). Next, initial points and faces are generated

to the missing regions (b). Finally, by repeating addition and

deletion of points considering density of points (c) and updat-

ing positions of points by minimizing energy (d), whole sur-

face is optimally completed. In the following sections, first,

the energy function is defined based on local shape similarity

SSD in Section2.1. Next, Section 2.2describesthe procedure

that minimizes the energy function.

2.1. Energy function based on similarity of local shape

As illustratedinFig. 2, first, a 3Dmodelis dividedintoregion

?

data region

in the missing region

?including the missing region

? selected by a user and the

? which is the rest of the object. The plausibility

? is defined by using surface shape in

Page 2

(a) Specify target region(a) Specify target region

(d) Update positions of points by minimizing energy

(d) Update positions of points by minimizing energy

Is energy converged?Is energy converged?

YesYes

NoNo

Start Start

End End

(b) Generate initial points and faces(b) Generate initial points and faces

(c) Add and delete points (c) Add and delete points

Fig. 1. Flow diagram of the proposed method.

Ω

pp

Ω′

Ω

Φ

fA

(p

(p

Similar shape pairSimilar shape pair

Missing

regionregion

Data regionData region

Area Area

Area Area

))(p

))

p A

ff

Ω′

Φ

fA

Missing

(p

p A

Fig. 2. Missing and data regions in a 3D model.

the data region

?. Here,

?

?is the expanded area of region

?.

radius in theregion

region

of SSD between the point set around the point p in the region

?

?is determined so that a spherical area

? with constant

?

?includesat least oneofthepointsin the

?. The energy function is defined as the weighed sum

?

follows:

?and surface shape around the point f?p? in the region

? as

?

?

?

p

??

?

?p

???

?p?f?p??

?

p??

?

?p

?

(1)

Here, the weight

?pis set as

? if p is inside of the region

?

erwise

of

around the boundary have higher confidence than those in the

center of the missing region. In Eq. (1), the weight is nor-

malized because the weight of each point change due to the

movement of points. f?p? in the data region

central point of the spherical area whose local shape is the

most similar to that of point p. The point f?p? for minimizing

?

?? becausepositionsofpoints in thisregionarefixed: oth-

(? is the distance from the boundary

?pis set as

?, and

?

??

?

?

?

?

?and

?

?are constants) because positions of points

? denotes the

? is determined as follows:

f?p?? ??????

p

?

??

????

?p?p

?

???

(2)

In this paper,

local shape between the missing and data regions is defined

as the sum of distances between the points in the area

whose central point is p and the aligned surface around f

as follows:

???

?p?f

?p

?? that represents the similarity of

?p

?p

?

???

?p?f

?p???

?

?

??p

?

?

p

?

??p

? p

?

? Mf

?p?pg?p

?

??

?

? (3)

))(p

(pff

ppppff

MM

))((

ip

))((

))((

ppffMMpp

ppppff

==

Normal

vector vector

Normal vector

)(

g

p

)(

g

p

Surface

in data region in data region

Points in missing regionPoints in missing region

p x

)

)

(p

(p

fz

))(p

(pfx

))(p

(pfy

pp

yy

p z

))((

i pgg

))((

i pMM

ppff

Matrix for surface alignmentMatrix for surface alignment

ip

Normal

Normal vector

Surface

p x

fz

fx

fy

p z

i p

i p

Fig. 3. Alignment of point clouds and surface for similarity

measure of local shape.

where Mf?p?pdenotes the matrix for surface alignment as

shown in Fig. 3. Mf?p?pg

in the data region which exists in the normal direction of

the point p

spherical area

Matrix for surface alignment Mf

?p

?

? is a point on the aligned surface

?(?

?p).

?

??p

? is the number of points in the

?p.

?p?pis defined as follows:

Mf

?p?p

?

?

?

?

?

xp

yp

zp

??p

??p

??p

????

?

?

?

?

??

?

?

?

?

x

y

z

?

?p

?

??f

?p?

?

?p

?

??f

?p?

?

?p?

??f

?p?

????

?

?

?

?

?

(4)

where

p and f?p), and

sitions ofp andf?p? in global coordinate system, respectively.

In this study, zpis determined as the unit normal vector of the

point p. xpand ypis calculated as Eqs. (5) and (6).

?xp

?yp

?zp

? and

?xf

?p?

?yf

?p?

?zf?p?

? are basis vectors for

??p

??p

??p

? and

??f

?p?

??f?p?

??f?p?

? are 3D po-

xp

?

???

??

??

?

? zp

????

??

??

?

? zp

?

?

(5)

yp

? zp

? xp

?

(6)

xf

?p?, yf?p

?and zf?p

?are also determined in the same way.

2.2. Energy minimization: Update of positions of points

After generating initial points and faces in missing regions,

positions of points are updated so as to minimize the energy

function

algorithm. In our definition of the energy

each point can be treated independently if similar shape pairs

(p, f?p?) determined by Eq. (2) can be fixed. Thus, the fol-

lowing two processes are repeateduntil the energy converges:

(i) update of similar shape pairsfixing positions of points, and

(ii) parallel update of all the positions of points fixing similar

shape pairs.

? defined in Eq. (1) using a framework of greedy

?, the energy for

Page 3

Ω′

i p

pp

Φ

i p

(pgi

Similar shape pair

Ω′

i p

))(pgi

))((

ff

Area Area

p A

Φ

i p

Similar shape pair

p A

Fig. 4. Relationship between points in energy calculation.

In the process (i) above, the update of the similar shape

pair is performed by calculating f

all the points in the missing region with Eq. (2). Concretely,

?p

? fixing the positions of

?

gion

termined as the most similar pointf?p?. In the process (ii), the

positions of all the points p in the missing region are updated

in parallel so as to minimize the energy defined by Eq. (1).

In the following, we describe the method for calculating the

positions of points p for fixed similar shape pairs. First, the

energy

point in the missing region. As shown in Fig. 4, the target

point to be updated is p, and the position of the point inside a

spherical area

to f

the point p is g

defined in terms of p, g

alignment as follows:

?? is calculated by Eq. (3) for all the points in the data re-

? andthe pointwhichgivesa minimum SSD value is de-

? is resolved into the element energy

?

?p? for each

?pcan be expressed as p

? by Eq. (2). In this case, the point corresponding to

?and is corresponded

?p

?

?

?p?. Now, the element energy

?p

?

?p? can be

?

? and matrix Mf

?p

?

?p

?for surface

?

?p??

?

p

?

??p

?p

?

?

??p

?

? p

? Mf

?p

?

?p

?g

?

?p

??

?

?

(7)

The relationship between the total energy

energy

? and the element

?

?p? for each point can be written as follows:

?

?

?

p

?

??

?

?p

?

??

??

(8)

? is the energy for the points in the region

treated as a constant because positions of points and all the

similar shape pairs are fixed in this region in the process (ii).

Here, note that all the corresponding points Mf?p

(?p

as shown in Fig. 5, points p and Mf

sented by using the normal vector npof p, an arbitrary point

p

as follows:

???

?, and is

?

?p

?g

?

?p

?

?

?

?p) exist in the normal direction of point p. Thus,

?p

?

?p

?g

?

?p

? can be repre-

?in the normal direction of p and parameters

?pand

?

?p

?

?p?

p

Mf

? p

?

?

?pnp

?

(9)

(10)

?p

?

?p

?g

?

?p?? p

?

?

?

?p

?

?p?np

?

By substituting them into Eq. (7), the element energy is rep-

resented as follows:

?

?p

??

?

p

?

??p

?p

?

?

??p

?

??p

?

?

?p

?

?p?

?

?

?

(11)

ip

pp

Normal vector of ：

Normal vector of ：

Aligned surface in

the data region the data region

Points in

the missing region the missing region

))((

))((

ppggMM

ppppff

ii

iiii

))((

))((

ppggMM

ppppff

ss

ssss

s p

00

pp

pp

n

n

pt

)),,((

pppi

pi

tt

)),,((

ppps

ps

tt

pp

ip

Aligned surface in

Points in

s p

pt

Fig. 5. Conversion of parameters.

Here, by the assumption that the normal vector npdoes not

change after updating the position of p, all the parameters in

?

dose not affect the element energy of other points. Thus, by

minimizing the element energy

energy

?p? except

?pare constants. In addition, the change of

?p

?

?p

? independently, whole

? can be minimized. The parameter

?pthat minimizes

?

?p? is calculated as follows:

?p

?

?

p

?

??p

?p

?

?

?p

?

?p?

?

p

?

??p

?p

?

?

(12)

From Eqs. (9), (10) and (12), the position of p that minimizes

?

?p? is calculated as follows:

p

?

?

p

?

??p

?p

?Mf?p

?

?p

?g

?

?p

?

?

p

?

??p

?p

?

?

(13)

Actually, the value in Eq. (13) is an approximate solution be-

cause the normal vector npchanges due to the update of the

positions of p. However, a good solution can be obtained as

the energy converges because the change of the normal vector

becomes smaller as the energy converges.

3. EXPERIMENT

To demonstrate the effectiveness of the proposed method, we

have applied the method to two surface models. They have

different characteristics as shown in Figs. 6(a) and 7(a). The

missing region of each model were given manually. In the ex-

periment, as the initial points in the missing region, the grav-

ity point of the boundary points of the missing region and the

median points between the gravity point and each boundary

point were given. Faces were generated so as to connect these

points.

ModelA is a bowlmodel that has asmoothcurvedsurface

and raised edges along the curve around the missing region.

Fig. 6(b) shows the model with initial points and faces. The

initialmodel is notnatural duetorectilinearfaces. Byrefining

this initial model with our method, as illustrated in Fig. 6(c),

the missing region is completed with a smooth curved surface

similar to the surface in the data region. Raised edges are

Page 4

(a) Model with a hole(b) Initial model

(c) Completed model

Fig. 6. Completion for a bowl with a hole (Model A).

alsoreconstructed andtotallythe completed model looks very

natural.

Model B is Stanford Bunny that has a rugged surface and

a dent edge between the body and the leg of the bunnyaround

the missing region. By refining the surface from the initial

model shown in Fig. 7(b), a natural rugged surface is gener-

ated and a dent edge is connected in the missing region as

shown in Fig. 7(c). The completed solid and mesh model

from a different angle is shown in Fig. 7(d). Mesh arrange-

ment looks also natural on the rugged face and the dent edge.

4. CONCLUSION

In this paper, we have presented a novel method for surface

completion based on energy minimization. In the experiment

fortwo kinds of shapeobjects, ourmethodhave generated the

complex and natural surface shapes in the missing regions. In

future work, our method will be applied to 3D models for

large environments such as outdoor scenes. A surface com-

pletion method for shape and color should also be investi-

gated.

Acknowledgement

This research was partially supported by the Ministry of Ed-

ucation, Science, Sports and Culture, Grant-in-Aid for Sci-

entific Research (A), 19200016, and Young Scientists (B),

20700162.

5. REFERENCES

[1] J. Verdera, V. Caselles, M. Bertalmio, and G. Sapiro, “Inpaint-

ing Surface Holes,” in Proc. Int, Conf. on Image Processing,

2003, vol. 2, pp. 903–906.

(a) Model with a hole(b) Initial model

(c) Completed model (d) Completed solid and mesh

model from a different angle

Fig. 7. Completion for Bunny with a hole (Model B).

[2] J. Wang and M.M. Oliveira, “A Hole-Filling Strategy for Re-

construction of Smooth Surfaces in Range Images,” in Proc.

SIBGRAPI, 2003, pp. 11–18.

[3] H. Xie, K.T. McDonnell, and H. Qin,

Method for Surface Restoration with Smooth Boundary Con-

ditions,” Computer Aided Geometric Design, vol. 21, No. 5,

pp. 427–445, 2004.

[4] J. Davis, S.R. Marschner, M. Garr, and M. Levoy, “Filling

Holes in Complex Surfaces Using Volumetric Diffusion,” in

Proc. Int. Symp. on 3D Data Processing, Visualization and

Transmission, 2002, pp. 428–438.

[5] J. Podolak and S. Rusinkiewicz, “Atomic Volumes for Mesh

Completion,” in Proc. Eurographics Symp. on Geometry Pro-

cessing, 2005, pp. 33–41.

[6] A. Sharf, M. Alexa, and D. Cohen-Or, “Context-based Surface

Completion,” in Proc. ACM SIGGRAPH, 2004, pp. 878–887.

[7] M. Pauly, “Example-Based 3D Scan Completion,” in Proc.

Eurographics Symp. on Geometry Processing, 2005, pp. 23–

32.

[8] V. Kraevoy and A. Sheffer, “Template-Based Mesh Comple-

tion,” in Proc. Eurographics Symp. on Geometry Processing,

2005, pp. 13–22.

[9] T.P Breckon and R. B. Fisher, “Plausible 3D Colour Surface

Completion Using Non-parametric Techniques,” in Proc. Int.

Conf. on the Mathematics of Surfaces, 2005, pp. 102 – 120.

[10] S. Park, X. Guo, H. Shin, and H. Qin, “Surface Completion for

Shape and Appearance,” Int. J. of Computer Graphics, vol. 22,

No. 3, pp. 168 – 180, 2006.

“A Finite Element