Upload
chung-yuan-lee
View
193
Download
0
Embed Size (px)
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