Embedded mesh colors

Preview:

Citation preview

Embedded Mesh ColorsEmbedded Mesh Colors 內嵌式網格色彩內嵌式網格色彩

Chung-Yuan Lee (李仲元 ), Ran-Zan Wang (王任瓚 )

Department of Computer Science and Engineering,

Yuan Ze University, Taiwan

2013/01/25

元智大學 資訊工程所 碩士論文口試

Outline

IntroductionRelated workProposed method

• Concept• Embedding phase• Reconstruction phase

Experimental resultsConclusion

Embedded mesh colors is a new way to 3D color models drawing.

without any texture atlas or additional color data

Introduction

Texture atlas

+ =

2D texture image textured bunny3D mesh

texture charts

u

v

Introduction

IntroductionDisadvantages of texture atlasseamsa triangle cannot span multiple chartsmesh dependencychart packing: wasted texels

Introduction

texturefrom

chart A

texturefrom

chart B

Disadvantages of texture atlasseamsa triangle cannot span multiple chartsmesh dependencychart packing: wasted texels

IntroductionDisadvantages of texture atlasseamsa triangle cannot span multiple chartsmesh dependencychart packing: wasted texels

IntroductionDisadvantages of texture atlasseamsa triangle cannot span multiple chartsmesh dependencychart packing: wasted texels

Introduction• Texture data and mesh data are saved as separate files.

Related workTo make texture mapping high efficiency.

• Marco Tarini , Kai Hormann , Paolo Cignoni , Claudio Montani “Polycube-Maps”, in 2004.

mesh polycube

texture spaceworld space

Polycube roughly resemble the mesh.

Related works

Polycube-maps

Related works

Polycube-maps

polycube

case A

case B

Related works

Polycube-maps

object space

And a tiny structure to store polycube layout mesh

(with vertex texture coord)

uv

w

If the geometry or topology of a mesh is too complex.

A polycube would consist of so many cubes.

The texture memory will be soon exceed!!

Related work

A concept of 3D models using one-to-one correspondence with model surface and color data.

Cem Yuksel, John Keyser and Donald H. House

“Mesh Colors”

ACM Transactions on Graphics, Vol. 29, No. 2, Article 15,in 2010.

Related works

Mesh colors Conception of mesh colors

Related works

Mesh colors• Texture mapping

• Mesh colors

Related works

Mesh colors

Related works

Mesh colors Features of mesh colors

There are no mapping discontinuities.No mapping function is necessary.Models can be edited after coloring, without

resampling.

Related works

Mesh colors Features of mesh colors

The procedure is compatible with the current real-time graphics pipeline.

Support for non-triangular Meshes.

Related works

Mesh colors Advantages of Mesh colors

Solve many texture mapping problem for 3D color model.

Disadvantages of Mesh colorsStill need some additional data space to save

color data, and has no integration with operating data architecture.

Embedded mesh colors

Proposed method

Goal• Bind color data and mesh data together, improve the safety of model files.

• Fast executing speed for color model drawing.

• High performance with low computing power requirement.

Proposed method

Embedded mesh colors

Model construction using embedded mesh

colors files

Color hiding in 3D model mesh

Embedded mesh colorsProposed method

Proposed method

Embedded mesh colors

{ }{ }{ }

==

=

n

m

fffF

vvvV

FVM

,...,,

,...,,

,

21

21

( ){ }

=≠≠===

nifififivvvf

mizyxv

fififii

iiii

,...,2,1,:,,

,...,2,1,,,

321321

Proposed method

Embedded mesh colors

Embedded mesh colorsProposed method

Proposed method

Embedded mesh colors

+−=+=

eInterpolati

eInterpolat

FfFF

VVV

'

'

++=

×+×=

×+×=

×+×=

×+×=

×+×=

×+×=

3'

3

2

3

1'

3

1

3

2'

3

2

3

1'

3

1

3

2'

3

2

3

1'

3

1

3

2'

3217

316

315

324

323

212

211

VVVv

VVv

VVv

VVv

VVv

VVv

VVv

i

i

i

i

i

i

i

Mesh interpolationProposed method

1V

2V 3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv7'iv

1V

2V 3V

• Disadvantage of linear mesh interpolation

Mesh interpolationProposed method

• Better method for mesh interpolation

Mesh interpolation - method 2

Proposed method

1V

2V

3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv7'iv

1V

2V3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv

7'iv

11N

12N

13N

21N

22N

32N

31N

• Considerations of interpolation

Mesh interpolation - method 2

Proposed method

Mesh interpolation - method 2

Proposed method

Mesh interpolation - method 2

Proposed method

Mesh interpolation - method 2

Proposed method

Mesh interpolation - method 2

Proposed method

Mesh interpolation - method 2

Proposed method

2V 1V

2Nei

1Nei

2V 1V

2Nei 1Nei

11

21

NeiV

VV

−−

Mesh interpolation - method 2

Proposed method

Case 1

Case 2

( )3

1

3

2

16' 211

11

2111 ×+×

−×

−×−

+= VNeiVNeiV

VVVv i

1V

2V3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv

7'iv

11N

12N

13N

21N

22N

32N

31N

rqpniVN

VNNNei n

t iit

n

t iit

it

i ,,,3,2,1,1

1 ==−

−×=

∑∑

=

=

1V2V

1Nei2Nei

Mesh interpolation - method 2

Proposed method

( )3

1

3

2

16' 211

11

2111 ×+×

−×

−×−

+= VNeiVNeiV

VVVv i

1V

2V3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv

7'iv

11N

12N

13N

21N

22N

32N

31N

rqpniVN

VNNNei n

t iit

n

t iit

it

i ,,,3,2,1,1

1 ==−

−×=

∑∑

=

=

1V2V

1Nei2Nei

Mesh interpolation - method 2

Proposed method

( )3

1

3

2

16' 211

11

2111 ×+×

−×

−×−

+= VNeiVNeiV

VVVv i

1V

2V3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv

7'iv

11N

12N

13N

21N

22N

32N

31N

rqpniVN

VNNNei n

t iit

n

t iit

it

i ,,,3,2,1,1

1 ==−

−×=

∑∑

=

=

1V2V

1Nei2Nei

Mesh interpolation - method 2

Proposed method

( )3

1

3

2

16' 211

11

2111 ×+×

−×

−×−

+= VNeiVNeiV

VVVv i

1V

2V3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv

7'iv

11N

12N

13N

21N

22N

32N

31N

rqpniVN

VNNNei n

t iit

n

t iit

it

i ,,,3,2,1,1

1 ==−

−×=

∑∑

=

=

1V2V

1Nei2Nei

Mesh interpolation - method 2

Proposed method

( )3

1

3

2

16' 211

11

2111 ×+×

−×

−×−

+= VNeiVNeiV

VVVv i

1V

2V3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv

7'iv

11N

12N

13N

21N

22N

32N

31N

rqpniVN

VNNNei n

t iit

n

t iit

it

i ,,,3,2,1,1

1 ==−

−×=

∑∑

=

=

1V2V

1Nei2Nei

1'iv

Mesh interpolation - method 2

Proposed method

( )3

1

3

2

16' 211

11

2111 ×+×

−×

−×−

+= VNeiVNeiV

VVVv i

1V

2V3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv

7'iv

11N

12N

13N

21N

22N

32N

31N

rqpniVN

VNNNei n

t iit

n

t iit

it

i ,,,3,2,1,1

1 ==−

−×=

∑∑

=

=

1V2V

1Nei2Nei

1'iv

Mesh interpolation - method 2

Proposed method

1V

2V3V

1'iv

2'iv

3'iv 4'iv

5'iv

6'iv

7'iv

11N

12N

13N

21N

22N

32N

31N

( )

( )

( )

( )

( )

( )

( ) ( )

++=

++=

−×−×

÷−+−+−+=

×+×

−×

−×−

+=

×+×

−×

−×−

+=

×+×

−×

−×−

+=

×+×

−×

−×−

+=

×+×

−×

−×−

+=

×+×

−×

−×−

+=

3,

3

,16

3'

3

1

3

2

16'

3

1

3

2

16'

3

1

3

2

16'

3

1

3

2

16'

3

1

3

2

16'

3

1

3

2

16'

321321

1322217

13333

3136

31111

3115

23333

3214

32222

3223

12222

2112

21111

2111

VVVvand

NNNNwhere

NVNV

VVVVVVvv

VNeiVNeiV

VVVv

VNeiVNeiV

VVVv

VNeiVNeiV

VVVv

VNeiVNeiV

VVVv

VNeiVNeiV

VVVv

VNeiVNeiV

VVVv

avgtotal

totalavg

totalavg

avgi

i

i

i

i

i

i

      

Mesh interpolation - method 2

Proposed method

Proposed method

Embedded mesh colors

{ }

( )

==

=

TvSamplec

bgrc

vvvV

kk

k

k

,'

),,(

',...,','' 21

Color samplingProposed method

w

h

( )kkk tsvt ,=

( )htwscolorc kkk ××= ,

Proposed method

Embedded mesh colors

( )kkck cvEmbv ,'' =

Color embeddingProposed method

• Embedding color into vertex data by using characteristic of IEEE−754 standard floating-point format

• Composition of IEEE754 standard floating-point encoded with 32 bits• 1 sign bit• 8 exponent bits• 23 mantissa bits

s e e e e e e e e m m m m m … m m m m m m m

31 30 29 28 27 26 25 24 23 22 5 4 3 2 1 0

(s = sign bit ; e = exponent bits ; m = mantissa bits)

)127(2.]1[ +××= emsn

Color embeddingProposed method

)127(2.]1[ +××= emsn

numberoriginalastimesdistortion 103 5   −×<

Color embeddingProposed method

(x, y, z)

X-axisRED Y-axisGREEN Z-axisBLUE

Color embeddingProposed method

( )( )( )

+−=+−=+−=

kkzkzkz

kkykyky

kkxkxkx

bModfff

gModfff

rModfff

8

8

8

2'

2'

2'( )( )( )

===

kzkzkzk

kykykyk

kxkxkxk

fesz

fesy

fesx

,,

,,

,,

The embedding method will let ALL vertices have distortion.

In model reconstruction phase, we want vertices in original model can be recover lossless.

Interpolated vertices can help to hide the color data in original vertices.

Color embeddingProposed method

Original vertices• Keep vertex coordinate and color the same as

original 3D model in reconstruction phase.• Every each of neighbor is interpolated vertex.

Interpolated vertices• Only one neighbor is original vertex.• Provide data space for color data in original

vertex and itself.

Color embedding – improvement method

Proposed method

original

interpolate

interpolate

interpolate

original interpolate

(127, 30, 79) (217, 182, 56)

0 1

Color embedding – improvement method

Proposed method

original interpolate

original

interpolate

interpolate

interpolate

(127, 30, 79) (217, 182, 56)

Color embedding – improvement method

Proposed method

original interpolate

original

interpolate

interpolate

interpolate

Bit2 Bit 3

0 1

0 Have no color Green

1 Red Blue

01

00 10

11

(127, 30, 79) (217, 182, 56)

Color embedding – improvement method

Proposed method

interpolate

original

interpolate

interpolate

interpolate

(127, 30, 79) (217, 182, 56)

0 1 1 1 1 1 1 1

7 6 5 4 3 2 1 0

Color embedding – improvement method

Proposed method

interpolate

(127, 30, 79) (217, 182, 56)

(217, 182, 56)

(26, 22, 7)

11010

10110

00111

Color embedding – improvement method

Proposed method

original

interpolate

interpolate

interpolate

original interpolate

original

interpolate

interpolate

interpolate

Color embedding – improvement method

Proposed method

( )( ) ( )

( ) ( )

×+×+−=

×+×÷+−=

+×+×+××+−=

255

31222'

255

31222'

1222255

312'

449

449

249

kkzkzkz

kkykyky

kkxkxkx

bModcModfff

gcModfff

slrModfff

Color embedding – improvement method

Proposed method

Proposed method

Embedded mesh colors

{ }{ }

==

',''

',...,','' 21

FVM

vvvV

c

ckccc

Proposed method

Embedded mesh colors

Proposed method

Embedded mesh colors

v -67.87744904 56.95598221 17.50121880v -87.78181458 59.63884354 11.98297787v -165.97395325 132.04194641 124.09216309v 44.16437149 63.88375854 79.08065796v -21.16270256 51.64666367 24.10216522

.

.

.f 10116 17655 17645f 10117 17656 17475f 10189 17474 17646f 17655 17656 17657

Proposed method

Color extracting – basic embedding method

• Improvement embedding method

original interpolate

original

interpolate

interpolate

interpolate

Proposed method

Color extracting – Improvement method

original interpolate

original

interpolate

interpolate

interpolate

Proposed method

Color extracting – Improvement method

interpolate

original

interpolate

interpolate

interpolate(217, 182, 56)

(214, 181, 58)

(26, 22, 7)

11010

10110

00111

(214, 181, 58)Color distortion in each color channel will less than 2% !

Proposed method

Color extracting – Improvement method

Proposed method

Embedded mesh colors

Experimental results• Comparison of different mesh interpolation methods

Experimental results

Linear interpolation method Improvement interpolation method

Experimental resultsMesh of Original model Mesh after interpolation

Experimental results

Vertices of Original model Vertices after interpolation

Experimental results

Experimental results

Model Vertex

count

Face

count

Vertex count after

interpolation

once

Face count after

interpolation

once

Vertex count after

interpolation

twice

Face count after

interpolation

twice

Feline 20,531 41,066 184,806 369,593 2,771,964 3,326,345

Bunny 15,258 30,338 136,810 273,055 2,048,202 2,457,503

Buddha 15,138 30,272 136,227 272,447 2,043,363 2,452,031

Zebra 20,157 40,310 181,398 362,789 2,720,928 3,265,109

• Data of experimental model

Model OBJ file size

(MByte)

BMP file

size (MByte)

(1)

(MByte)

(2)

(MByte)

(3)

(MByte)

(4)

(MByte)

Feline 3.21 3.00 15.00 11.60 189.77 132.93

Bunny 2.32 3.00 11.10 8.63 141.24 98.86

Buddha 2.30 3.00 11.00 8.55 140.60 98.42

Zebra 3.12 3.00 14.70 11.43 186.27 130.39

Experimental results• File size of experimental model

Embedded mesh color file size with interpolation once. (1) text file / (2) binary fileEmbedded mesh color file size with interpolation twice. (3) text file / (4) binary file

(Estimate)

Experimental results

Texture mapping Embedded vertex colors

Experimental results

Texture mapping Embedded mesh colors with mesh interpolation once

Experimental results

Texture mapping Embedded mesh colors with mesh interpolation twice

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

Experimental results

Texture mapping Embedded vertex colors

Experimental results

Texture mapping Embedded mesh colors with mesh interpolation once

Experimental results

Texture mapping Embedded mesh colors with mesh interpolation twice

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

• Point-Sampled Model

Experimental results

• Point-Sampled Model

Experimental results

ConclusionPresent a fast 3D drawing method, and Inherit the advantages of mesh colors.

Combine mesh and color data for easy management.The vertices and color in original model can be reconstructed lossless.

Can provide authorization for different user-level.Low computing requirements. (e.g. mobile devices)

Thanks for listening

Recommended