91
Embedded Mesh Colors Embedded Mesh Colors 內嵌式網格色彩 內嵌式網格色彩 Chung-Yuan Lee ( 李仲元 ), Ran-Zan Wang ( 王任 ) Department of Computer Science and Engineering, Yuan Ze University, Taiwan 2013/01/25 元智大學 資訊工程所 碩士論文口試

Embedded mesh colors

Embed Size (px)

Citation preview

Page 1: Embedded mesh colors

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

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

Department of Computer Science and Engineering,

Yuan Ze University, Taiwan

2013/01/25

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

Page 2: Embedded mesh colors

Outline

IntroductionRelated workProposed method

• Concept• Embedding phase• Reconstruction phase

Experimental resultsConclusion

Page 3: Embedded mesh colors

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

without any texture atlas or additional color data

Introduction

Page 4: Embedded mesh colors

Texture atlas

+ =

2D texture image textured bunny3D mesh

texture charts

u

v

Introduction

Page 5: Embedded mesh colors

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

Page 6: Embedded mesh colors

Introduction

texturefrom

chart A

texturefrom

chart B

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

Page 7: Embedded mesh colors

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

Page 8: Embedded mesh colors

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

Page 9: Embedded mesh colors

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

Page 10: Embedded mesh colors

Related workTo make texture mapping high efficiency.

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

Page 11: Embedded mesh colors

mesh polycube

texture spaceworld space

Polycube roughly resemble the mesh.

Related works

Polycube-maps

Page 12: Embedded mesh colors

Related works

Polycube-maps

polycube

case A

case B

Page 13: Embedded mesh colors

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!!

Page 14: Embedded mesh colors

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.

Page 15: Embedded mesh colors

Related works

Mesh colors Conception of mesh colors

Page 16: Embedded mesh colors

Related works

Mesh colors• Texture mapping

Page 17: Embedded mesh colors

• Mesh colors

Related works

Mesh colors

Page 18: Embedded 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.

Page 19: Embedded mesh colors

Related works

Mesh colors Features of mesh colors

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

Support for non-triangular Meshes.

Page 20: Embedded mesh colors

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.

Page 21: Embedded mesh colors

Embedded mesh colors

Page 22: 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.

Page 23: Embedded mesh colors

Proposed method

Embedded mesh colors

Model construction using embedded mesh

colors files

Color hiding in 3D model mesh

Page 24: Embedded mesh colors

Embedded mesh colorsProposed method

Page 25: Embedded mesh colors

Proposed method

Embedded mesh colors

{ }{ }{ }

==

=

n

m

fffF

vvvV

FVM

,...,,

,...,,

,

21

21

( ){ }

=≠≠===

nifififivvvf

mizyxv

fififii

iiii

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

,...,2,1,,,

321321

Page 26: Embedded mesh colors

Proposed method

Embedded mesh colors

Page 27: Embedded mesh colors

Embedded mesh colorsProposed method

Page 28: Embedded mesh colors

Proposed method

Embedded mesh colors

+−=+=

eInterpolati

eInterpolat

FfFF

VVV

'

'

Page 29: Embedded mesh colors

++=

×+×=

×+×=

×+×=

×+×=

×+×=

×+×=

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

Page 30: Embedded mesh colors

• Disadvantage of linear mesh interpolation

Mesh interpolationProposed method

Page 31: Embedded mesh colors

• 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

Page 32: Embedded mesh colors

• Considerations of interpolation

Mesh interpolation - method 2

Proposed method

Page 33: Embedded mesh colors

Mesh interpolation - method 2

Proposed method

Page 34: Embedded mesh colors

Mesh interpolation - method 2

Proposed method

Page 35: Embedded mesh colors

Mesh interpolation - method 2

Proposed method

Page 36: Embedded mesh colors

Mesh interpolation - method 2

Proposed method

Page 37: Embedded mesh colors

Mesh interpolation - method 2

Proposed method

Page 38: Embedded mesh colors

2V 1V

2Nei

1Nei

2V 1V

2Nei 1Nei

11

21

NeiV

VV

−−

Mesh interpolation - method 2

Proposed method

Case 1

Case 2

Page 39: Embedded mesh colors

( )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

Page 40: Embedded mesh colors

( )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

Page 41: Embedded mesh colors

( )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

Page 42: Embedded mesh colors

( )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

Page 43: Embedded mesh colors

( )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

Page 44: Embedded mesh colors

( )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

Page 45: Embedded mesh colors

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

Page 46: Embedded mesh colors

Proposed method

Embedded mesh colors

{ }

( )

==

=

TvSamplec

bgrc

vvvV

kk

k

k

,'

),,(

',...,','' 21

Page 47: Embedded mesh colors

Color samplingProposed method

w

h

( )kkk tsvt ,=

( )htwscolorc kkk ××= ,

Page 48: Embedded mesh colors

Proposed method

Embedded mesh colors

( )kkck cvEmbv ,'' =

Page 49: Embedded mesh colors

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

Page 50: Embedded mesh colors

Color embeddingProposed method

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

numberoriginalastimesdistortion 103 5   −×<

Page 51: Embedded mesh colors

Color embeddingProposed method

(x, y, z)

X-axisRED Y-axisGREEN Z-axisBLUE

Page 52: Embedded mesh colors

Color embeddingProposed method

( )( )( )

+−=+−=+−=

kkzkzkz

kkykyky

kkxkxkx

bModfff

gModfff

rModfff

8

8

8

2'

2'

2'( )( )( )

===

kzkzkzk

kykykyk

kxkxkxk

fesz

fesy

fesx

,,

,,

,,

Page 53: Embedded mesh colors

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

Page 54: Embedded mesh colors

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

Page 55: Embedded mesh colors

original

interpolate

interpolate

interpolate

original interpolate

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

0 1

Color embedding – improvement method

Proposed method

Page 56: Embedded mesh colors

original interpolate

original

interpolate

interpolate

interpolate

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

Color embedding – improvement method

Proposed method

Page 57: Embedded mesh colors

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

Page 58: Embedded mesh colors

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

Page 59: Embedded mesh colors

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

Page 60: Embedded mesh colors

original interpolate

original

interpolate

interpolate

interpolate

Color embedding – improvement method

Proposed method

Page 61: Embedded mesh colors

( )( ) ( )

( ) ( )

×+×+−=

×+×÷+−=

+×+×+××+−=

255

31222'

255

31222'

1222255

312'

449

449

249

kkzkzkz

kkykyky

kkxkxkx

bModcModfff

gcModfff

slrModfff

Color embedding – improvement method

Proposed method

Page 62: Embedded mesh colors

Proposed method

Embedded mesh colors

{ }{ }

==

',''

',...,','' 21

FVM

vvvV

c

ckccc

Page 63: Embedded mesh colors

Proposed method

Embedded mesh colors

Page 64: 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

Page 65: Embedded mesh colors

Proposed method

Color extracting – basic embedding method

Page 66: Embedded mesh colors

• Improvement embedding method

original interpolate

original

interpolate

interpolate

interpolate

Proposed method

Color extracting – Improvement method

Page 67: Embedded mesh colors

original interpolate

original

interpolate

interpolate

interpolate

Proposed method

Color extracting – Improvement method

Page 68: Embedded mesh colors

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

Page 69: Embedded mesh colors

Proposed method

Embedded mesh colors

Page 70: Embedded mesh colors

Experimental results• Comparison of different mesh interpolation methods

Page 71: Embedded mesh colors

Experimental results

Linear interpolation method Improvement interpolation method

Page 72: Embedded mesh colors

Experimental resultsMesh of Original model Mesh after interpolation

Page 73: Embedded mesh colors

Experimental results

Vertices of Original model Vertices after interpolation

Page 74: Embedded mesh colors

Experimental results

Page 75: Embedded mesh colors

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

Page 76: Embedded mesh colors

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)

Page 77: Embedded mesh colors

Experimental results

Texture mapping Embedded vertex colors

Page 78: Embedded mesh colors

Experimental results

Texture mapping Embedded mesh colors with mesh interpolation once

Page 79: Embedded mesh colors

Experimental results

Texture mapping Embedded mesh colors with mesh interpolation twice

Page 80: Embedded mesh colors

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

Page 81: Embedded mesh colors

Experimental results

Texture mapping Embedded vertex colors

Page 82: Embedded mesh colors

Experimental results

Texture mapping Embedded mesh colors with mesh interpolation once

Page 83: Embedded mesh colors

Experimental results

Texture mapping Embedded mesh colors with mesh interpolation twice

Page 84: Embedded mesh colors

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

Page 85: Embedded mesh colors

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

Page 86: Embedded mesh colors

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

Page 87: Embedded mesh colors

Experimental results

Texture mapping Embedded vertex colors

Embedded mesh colors with mesh interpolation twice

Embedded mesh colors with mesh interpolation once

Page 88: Embedded mesh colors

• Point-Sampled Model

Experimental results

Page 89: Embedded mesh colors

• Point-Sampled Model

Experimental results

Page 90: Embedded mesh colors

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)

Page 91: Embedded mesh colors

Thanks for listening