You are on page 1of 4

A 3D Model Data Hiding Algorithm based on Local

Coordinate System
ShanchaoYang, Zhiqiang Yao, Bin Weng
Key Laboratory of Network Security and Cryptology
Fujian Normal University
Fuzhou 350007, China
snadms@163.com
Xiaoqing Feng, Li Li, Zhigeng Pan
State Key Laboratory of CAD&CG
Zhejiang University
Hangzhou 310027, China
AbstractThis paper proposes a 3d model data hiding scheme on
a new local coordinate system, which is obtained by a vertex and
its neighbors of the model. Embedding primitives are first
transformed into local orthogonal coordinate systems and then
to local coordinate spherical systems, messages are embedded by
modifying the vertexs longitude and latitude of the local
spherical coordinate system. There have been several papers
published on 3D model watermarking of local coordinate system
for copyright protection, but the requirement of imperceptibility
is not well considered. Besides, the capacity of the corresponding
algorithms for secret communications is not evaluated. Based on
the above analysis the proposed algorithm is designed and
proved by experimental results to have good imperceptibility
high capacity and robustness against RST attack.
Keywords-Data Hiding; 3d Model; Local Coordinate System;
I. INTRODUCTION
As a promising media data, 3d model become more and
more important in daily life and industry applications. There is
much redundancy in the media. Message can be embedded in
by modifying the model imperceptibly, which lead to the art of
data hiding in 3d models. Data hiding is the science of hiding
messages in media in such a way that even the existence of the
message remains undetected to all but the recipient [1], which
can be applied in many fields, such as secret communication
and copyright protection. This article is designed mainly for
secret communication.
There have been many algorithms proposed on 3d mesh
watermarking, Ohbuchi[2] first introduces the issue of 3d
watermarking, and proposed TSQ and TVR algorithms[3], the
algorithms are not robust against common attacks.
Praun introduces a robust method by constructing a
multiresolution set of scalar basis functions over the mesh[4].
But the method requires original model. Kanai[5] presented a
3d watermarking based on wavelet transform, but the
algorithm is restricted to 4-to-1 topological class of mesh. We
also presents a robust mesh watermarking algorithm[6] based
on the multiresolution decomposition of polygonal mesh
proposed by Guskov et al [7]. The algorithm is robust against
common attacks, yet original model is needed. Algorithms in
frequency domain are generally of low capacity and are
difficult to resist cropping attack.
Based on face normal modification, Benedens[8] proposed
a watermarking scheme which is robust against mesh
simplification, Kwon and Lee[9] improved the scheme by use
of EGI and CEGI, which is more robust against mesh cropping
attack. The two schemes are very complicated and too many
parameters are needed.
Some schemes are designed based on local geometry to
resist RST attack. Wagner[10] introduced the conception of
discrete normal and use it in designing watermarking
algorithms. Aspert[11] used the method for embedding
meaningful information. Maret[12] improved the algorithm by
construct similarity space. This series of algorithm need solve
a large linear equational group, which makes the algorithm
complicated.
In our research group, Sun proposed a watermarking
algorithm[13] against affine transform based on Nielson norm,
Sun also proposed an algorithm against RST attack based on
local coordinate system[14]. Bors and Harte[15] present a
series of watermarking algorithms by means of local
geometrical perturbations while maintaining the local
connectivity. Watermark is embedded by using bounding
ellipsoids. All the above algorithms are not designs directly for
a good imperceptibility. The local coordinate system is based
only on the neighbors of a vertex, not on the vertex and its
neighbors, so the appearance of the local geometry is not fully
considered. Besides, the embedding capacities are not well
evaluated. So in the paper, a data hiding algorithm of 3d model
based on a new local coordinate system is designed. The
coordinate system is related with the vertex and its neighbors
to fully represent appearance properties of the model, the
imperceptibility can be controlled by parameters. The
algorithm has a high capacity and strong robustness against
RST attack, it can be used in secret communication.
The article is organized as follows: Part gives basic
definition and the scheme; Part and describe embedding
process and extracting process respectively; Part shows
experimental results and analysis; and part concludes the
paper.
Supported by National Natural Science Foundation of China
(No.60673014, No. 60473111 and No.60703087); Supported by Natural
Science Foundation of Fujian Province of China under (No. 2008J0013);
Supported by the project of Science and Technology Department of Zhejiang
Province (No.2008C23004)
==================
978-1-4244-2251-7/08/$25.00 2008 IEEE
?008 !!th Tlll Tutuut`ouu' Couu ou Commuu`ut`ou Thuo'o_) lod`u_:
8!
(a) Embedding Process
(b) Extracting Process
Figure 1. Flow chart of the scheme
O
j
j
V
j
i
V
i
V
' O
O
i
V
F
i
nb
n
E
D B
A
(a) circle of 1-ring neighbors (b) circular cone and circumsphere
Figure 2. the local coordinate system
II. BASIC DEFINITIONS AND THE SCHEME
A. Basic Definations
A triangle mesh model can be defined as a vertex set, a
face set and an edge set:
{ }
v i i i i
n i } ,z ,y {x V V s s = = 0 | (1)
{ }
f i i i i
n i } ,k ,j {i F F s s = = 0 | (2)
{ }
e i i i
n i } ,j {i E E s s = = 0 | (3)
A set of vertex i and its 1-ring-neighbors is considered as
an EP (Embedding Primitive) in the paper. Each vertex
corresponds with an EP, but not all EPs are selected to embed
information. 1-ring neighbors of vertex i is defined as a 1-ring
vertex set, a 1-ring face set and a 1-ring edge set:
} ,..., n , E, j n edge of {i,j} is a |E {V V
i
v k j
i
nb
2 1 = = = (4)
} ,..., n , , j k or i j or i i |i {F F
i
f j j j j
i
nb
2 1 = = = = = (5)
} ,...,n , ,j V ring face }is a ,j |{i,i {E E
i
e i j j j
i
nb
2 1 of 1 = = (6)
B. Scheme of the Algorithm
The algorithm consists of two processes: embedding
process and extracting process, the corresponding flow charts
are shown in Fig. 1 (a) and (b).
The embedding process is described as: firstly select a EP
for embedding message, which is described in section TTT.A;
then transform EP into the local coordinate system, which is
shown in section TTT.B; next information is embedded in the
EP under local coordinate system, which is shown in section
TTT.C; finally the EP is mapped back into the original
coordinate system, which is shown in section TTT.D.
The extracting process is very similar with the embedding
process in most steps except for step 3, which will be
described in Section IV.
III. EMBEDDING PROCESS
We will give detailed description on each step of the
embedding process shown in Fig. 1 (a).
A. Selection of EP
Embedding order of EP is important for extracting
process of synchronization, we use a strategy adopted in paper
[15]. Each vertex has a flag indicate whether the vertex is a
neighbor, if it has been selected as a neighbor, it can not be
selected as an EP again.
B. Mapping EP into Local Coordinate System
To embed information, the EP i is first transformed into
local orthogonal coordinate system, and then to local spherical
coordinate system. As shown in Fig. 2(a), for a given vertex
i
V ,
Centroid O of its 1-ring neighbor vertices is first calculated. A
plane
ni
H is defined by giving its normal as in (7):
_
=
i
e
n
i
j
i
j
i
nb
n A n
1
(7)
Where
i
j
A ,
i
j
n is respectively area, normal of
triangle
j j
j i
V OV A ,
i
e
n is the corresponding triangle number.
Then a circle Co in the plane with center O , area A
i
nb
n A = is formed. The radius r can be calculated
?008 !!th Tlll Tutuut`ouu' Couu ou Commuu`ut`ou Thuo'o_) lod`u_:
8?
by t / A r = . As shown in Fig 2 (b), the circle and vertex
i
V
can form a circular cone, and a circumsphere
' o
S of the
circular cone with the center ' O can be defined. Let us
calculate the center and radius of the circumsphere, first
i
V is
projected on to the plane
ni
H at point D , a diameter
AB through D of circle Co can be found, then circumcircle
' o
C of triangle AB V
i
A must be a big circle of circumsphere
' o
S , then the radius and center of
' o
S can be calculated. The
local coordinate system is based on the above analysis.
1) Local Orthogonal Coordinate System: The local
orthogonal coordinate system xyz O' with origin ' O and
z y x , , coordinate axes is defined as follows:
) ( '
i
nb
n Normalize z O = (8)
)) n Normalize( )) n Normalize( OV ( OV ( {Normalize O'x
i
nb
i
nb j j
=
}} OV arg max{ , and j V |V
j
i
nb j
= e (9)
z O x O y O ' ' ' = (10)
2) Local Spherical Coordinate System: Coordinate in
xyz O' can be easy mapped into a unit sphere with a longitude
and latitude u . The mapping processing to spherical
coordinate system is:
(z) arccos = (11)

< +
> +
=
0 ) arccos( 2
0 ) arccos(
2 2
2 2
y y x x
y y x x
t
(12)
The reverse mapping process is described as:
u cos = z (13)
u cos sin = x (14)
u sin sin = y (15)
Given a constant r , B AV
i
Z is invariant, which can be a
metric of the maximum principal curvature of tip of the cone.
A diameter EF vertical with AB can be found, F EV
i
Z then
can be a metric of the minimum principal curvature of the tip,
which is related with u coordinate of
i
V . So the surface
property can be controlled by u and .
C. Data Embedding in EPs under Local Coordinate System
The range of u and is respectively [0,2] and [0, ].
Longitude and latitude is divided respectively in to m and m 2
section and each section have a length m
ra
t = A . The totally
2
2m grids are formed. Each grid is re-divided into about
2
n
sub-grids which represents embedding states, by dividing n
sections in longitude direction and n sections in latitude
direction:
min
A A =
ra
n . Let

n n
2
log ' = , totally ' 2n bits are
embedded in an EP, each direction of latitude and longitude
embedding ' n bits. There are some cases information can not
be embedded, one case is when circle Co is located at a too
low or too high latitude, another case is when R is too larger
than r , each of which can cause bad imperceptibility. The
pseudo codes of this step are:
) ( r R and latitude and Co's ude Co's latit if
ra ra ra
< < >

( ) n 0.5 high
ra ra ra
+ +

( ) n 0.5 low
ra ra ra
+ +
the EP) titude of minmun la s latitude if(Co < '
ra
+
the EP) atitude of maximum l e 's latitud else if(Co >
ra

1 + j j
j
n
j j j
W W W W high
1 ' 2 1 0
= and
j
n
j
n
j
n
j
n
W W W W low
1 ' 2 2 1 + +
= is
respectively the value of high and low ' n bits of j th ' 2n bits
of information to be embedded in EP i . Some necessary
explanations are given below. For the purpose of
synchronization, whether information is embedded in EP i ,
flags of '
i
V s neighbor must be changed. When information
is embedded, the condition capable of embedding information
maybe not satisfied, so additional process must be done.
D. mapping EP back from local coordinate system
The EP must be transformed back into the original
coordinate system, firstly u, coordinate is transformed into
z y x , , coordinate of the local orthogonal coordinate system,
and secondly into z y x , , coordinate of the original orthogonal
coordinate system, which can be a reverse process of St`ou
TTT.b, uud will be omitted for the length of the paper.
IV. EXTRACTING PROCESS
As the extracting process is very similar to the embedding
process, the major difference is step 3 in Fig. 1 (b). After the
EP is transformed into the local coordinate system, the
coordinate u and is calculated. High ' n bits and low ' n
bits are extracted by formula:

( )
ra ra ra
n high A A A = u u ' (16)

( )
ra ra ra
n low A A A = ' (17)
' high and ' low can be represented by:
' ' ' ' '
1 ' 2 1 0
i
n
i i i
W W W W high

= (18)
' ' ' ' '
1 ' 2 2 1
i
n
i
n
i
n
i
n
W W W W low
+ +
= (19)
Then ' n bits of binary information '
' 2
i
n
W is gotten by:
' ' ' ' '
1 ' 2 2 1 0
' 2
i
n
i i i i
W W W W W
n

= (20)
?008 !!th Tlll Tutuut`ouu' Couu ou Commuu`ut`ou Thuo'o_) lod`u_:
83
Bunny Cat Dino Feline
Fish Footbone Rabbit Rorder
Sphere57 Sphere240 Shpere288 Torus
Figure 3. Original models
Bunny Cat Dino Feline
Fish Footbone Rabbit rorder
Shpere57 Shpere240 Sphere288 Torus
Figure 4. Embedded models
Original Embedded
Translation Rotation scaling noise adding
Figure 5. Experimental results of venushead
V. EXPERIMENTAL RESULTS AND ANALYSIS
In the experiment, plain text is used for secret message.
Character streams are transformed into bit streams to embed
and extracted bit streams are and transformed back into
character streams. Many cover models are tested as shown in
fig 3 and 4. The algorithms run successful in far less than one
second and is proved to have a good imperceptibility (SNR>60
in most cases).A detailed test is carried on Venushead of
15002 vertices, the controlling parameter m and
min
A can
adjust imperceptibility, capacity and robustness of the scheme.
The maximum embedding capacity of the model is 44534 bits
with 22 bits per EP. The algorithms is robust against rotation
scale and translation (RST) attack. The corresponding
experimental results are shown in Fig. 5.
VI. CONCLUSION AND FUTURE WORK
In the paper, a new data hiding algorithm of 3d model
based local coordinate system is designed for secret
communication. The proposed data hiding algorithm with good
imperceptibility and maximum capacity of 44534bits has been
tested to be robust against rotation, translation and uniform
scaling. Parameter m and
min
A can be used as secret key.
Further security can be satisfied by encryption before
information being embedded. Watermarking algorithm can be
redesigned to resist cropping, faces deleting, vertex order
changing, noise adding, and mesh simplification attack, etc. in
the future.
[1] Alexander Bogomjakov, Craig Gotsman, and Martin Isenburg,
Distortion-free Steganography for Polygon Meshes, Computer Graphics
Forum, Proceedings of Eurographics'08, 27 (2), pages 637-642, April
2008.
[2] Ohbuchi R, Masuda H, Aono M.: Watermarking Three-Dimensional
Polygonal Models.Proceedings of the ACM International Conference on
Multimedia 97. Seattle, USA, November 10-13, (1997) 261272
[3] Ohbuchi R,Masuda H,Aono M.Watermarking three-dimensional
polygonal models through geometric and topological
modifications[J].IEEE Journal on Selected Areas in
Communication,1998,16(4):551-560
[4] Praun E,Hoppe H,Finkelstein A.Robust mesh watermarking[C]
Computer Graphics Proceedings,Annual Conference Series,ACM
SIGGRAPH,Los Angeles,1999:325-334
[5] S. Kanai, H. Date, and T. Kishinami, Digital watermarking for 3d
polygons using multireso-lution wavelet decomposition, in Proc. Of
International Workshop on Geometric Modeling: Fundamentals and
Applications, Tokyo, Japan, 1998, pp. 296307.
[6] Kangkang Yin, Zhigeng Pan, Jiaoying Shi, David Zhang: Robust mesh
watermarking based on multiresolution processing. Computers &
Graphics 25(3): 409-420 (2001)
[7] I. Guskov, W. Sweldensy, and P. Schroder, "Multiresolution signal
processing for meshes," in Proceedings of SIGGRAPH'99. New York:
ACM Press, 1999, pp. 325-334.
[8] Benedens O. Watermarking of 3D polygon based models with
robustness against mesh simplification [A]. In: Proceedings of SPIE:
Security and Watermarking of Multimedia Contents, San Jose,
California, 1999. 329340
[9] S.-H. Lee, and K.-R. Kwon, A watermarking for 3D mesh using the
patch CEGIs, Digital Signal Processing 17 (2007) 396413
[10] Wagner M.Robust watermarking of polygonal meshes[C]. Proceedings
of Geometric Modeling and Processing,Hong Kong,2000:201-208
[11] Aspert N,Drelie E,Maret Y,et al.Steganography for three-dimensional
polygonal meshes[C] Proceedings of SPIE,Seattle,2002,4790:705-708
[12] Maret Y,Ebrahimi T.Data hiding on 3D polygonal meshes[C]
Proceedings of ACM Multimedia and Security
Workshop,Magdeburg,2004:68-74
[13] Sun S,Pan Z,Li L,et al. Robust 3D model watermarking against
geometric transformation[C] Proceedings of the 8th International
Conference on Computer-Aided Design and Computer
Graphics,Macao,2003:87-92
[14] Shusen Sun, Zhigeng Pan: A Blind 3D Mesh Watermarking Scheme
Based on Local Coordinate System. IEEE 7th Workshop on Multimedia
Signal Processing, Oct. 2005 Page(s):1 4
[15] Adrian G. Bors: Watermarking mesh-based representations of 3-D
objects using local moments. IEEE Transactions on Image Processing
15(3): 687-701 (2006)
?008 !!th Tlll Tutuut`ouu' Couu ou Commuu`ut`ou Thuo'o_) lod`u_:
8+