제 13권 제 1 호 2008년 2월 pp. 1-7
3D 메쉬 모델의 쉐이딩 시 시각적 왜곡을 방지하는 법선 벡터 압축에 관한 연구
문현식*, 정채봉**, 김재정***
The Compression of Normal Vectors to Prevent Visulal Distortion in Shading 3D Mesh Models
Mun Hyun Sik*, Jeong Chae Bong** and Kim Jay Jung***
ABSTRACT
Data compression becomes increasingly an important issue for reducing data storage spaces as well as transmis-sion time in network environments. In 3D geometric models, the normal vectors of faces or meshes take a major portion of the data so that the compression of the vectors, which involves the trade off between the distortion of the images and compression ratios, plays a key role in reducing the size of the models. So, raising the compression ratio when the normal vector is compressed and mini- mizing the visual distortion of shape model's shading after compression are important. According to the recent papers, normal vector compression is useful to heighten com-pression ratio and to improve mem- ory efficiency. But, the study about distortion of shading when the normal vector is compressed is rare relatively.
In this paper, new normal vector compression method which is clustering normal vectors and assigning Representative Normal Vector (RNV) to each cluster and using the angular deviation from actual normal vector is proposed. And, using this new method, Visually Undistinguishable Lossy Com- pression (VULC) algorithm which distortion of shape model
’s shading by angular deviation of normal vector cannot be identified visually has been developed. And, being applied to the complicated shape models, this algorithm gave a good effectiveness.
Key words :
Normal Vector, Compression
1. 서 론
인터넷혹은네트워크상에서형상모델을저장
,
전 송그리고디스플레이할때저장공간을줄이는것과 전송시간을단축하는것그리고그모델을신속하고 실물에가깝게디스플레이하는것이중요한요소이 다[1].
이에대한하나의해결방안으로써데이터압축 방법이이용되는데,
압축시압축률을높이는것과압 축후형상모델셰이딩의시각적왜곡을최소화하는 것이중요한사항으로고려될수있다.
형상모델은지오메트리와타폴로지그리고법선
벡터와같은요소들로구성된다
. Deering
의연구를기점으로형상 모델의지오메트리와타폴로지압축에 대한연구가활발히이루어졌다
.
그러나형상모델을 셰이딩하는데필요한법선벡터의데이터용량이지 오메트리나타폴로지보다결코적지않음에도불구하 고법선벡터압축에대한연구는상대적으로미흡하 다[2].
따라서본연구의목적은법선벡터압축후에 도형상모델의셰이딩에왜곡이발생하지않고높은 압축률을유지하기위한새로운압축방법을제안하 고자한다.
법선벡터를압축하는방법에는주로클러스터링 기법이사용된다
.
클러스터링이란,
같은종류의대상 에대해서일정한규칙에의해그룹을짓는것을의미 한다.
클러스터링기법을이용한법선벡터의압축원 리는단위구표면상에놓인물체의법선벡터들을정 해진영역(
클러스터)
별로클러스터링한후,
클러스터***교신저자
,
정회원, LG
전자***한양대학교기계공학부
, NIST
***
종신회원,
한양대학교기계공학부-
논문투고일: 2007. 03. 28
-
심사완료일: 2007. 09. 10
링된 법선 벡터들을 대표하는 대표 법선 벡터
(representative normal vector: RNV)
를 생성하여,
그 클러스터내에존재하는모든법선벡터들의정보를 대표법선벡터하나로나타냄으로써법선벡터를압 축하는방법이다.
이와같이법선벡터를압축할때,
실제법선벡터를대표법선벡터로나타냄으로써각 도 편차
(angular deviation)
가 생기게 된다.
이 각도 편차로인해형상모델의셰이딩에왜곡이발생하게 된다.
각도편차가클수록셰이딩에왜곡이많이발생 하기때문에,
왜곡발생을줄이려면클러스터사이즈 를작게하여(
법선벡터분포영역을작은사이즈로 분할)
각도편차를줄여야한다.
이와같이클러스터 의사이즈(
각도편차)
를조절함으로써형상모델을사 용자가원하는수준으로셰이딩할수있다.
2. 연구 배경
2.1관련연구
Deering
[3]은Fig. 1
과같이법선 벡터가 위치하는단위구를
8
등분하고다시각영역에대하여θ,
φ의축방향으로각각
64
개의구간으로분할하였다.
그리고
,
이로부터생긴각영역에대해001, 011
과같은인덱스를부여하고
,
각영역에속하는법선벡터를그 인덱스로인코딩하는,
단위구분할방법을이용한법 선벡터압축알고리즘을제안하였다.
이방법은
Dissimilarity Measure
로 두 법선벡터사이의
Angular Discrepancy
를이용하기때문에직교좌표계를구좌표계로매핑하였으며
,
직교좌표계와 구좌표계사이의매핑은식(1a), (1b), (1c)
와같다.
(1a) (1b) (1c)
VRML compressed binary format
을제안한Taubin
[4]은
Fig. 2(a)
와같이 기본팔면체(base octahedron)
를2
회분할하여Fig. 2(c)
와같이팔면체를128
개의영역으로 분할하였다
.
그리고분할된각영역(triangle)
에Fig. 2(d)
와같이1
부터128
까지인덱스를부여하여각 영역에클러스터링되는법선벡터를그인덱스로인 코딩하는,
팔면체분할방법을이용한법선벡터압축 알고리즘을제안하였다.
이방법을이용하면
96 bits
의법선벡터는(3+2 n ) bits
로인코딩된다.
여기서n
은기본팔면체를재귀적 으로분할한횟수이다.
이것은팔면체의한면을4
n개로분할하므로
Deering
이제시한방법보다메모리의효율이높다
.
또한Fig. 2
와같이최대각도편차가비교적작기때문에
Deering
이제시한방법과비교해서압축률이같더라도압축후형상모델의왜곡 발생이상대적으로적다
.
이팔면체분할방법도압축 후원래법선벡터정보를복원시킬수없는손실압 축방법이다.
Deering
과Taubin
은법선벡터가분포하는영역(
단위구
,
팔면체)
을정해진규칙에따라분할하여법선벡터를클러스터링하는반면
, Cho
[2]는k-means
알고리즘을이용하여법선벡터가비균일하게분포한경 우에유용한클러스터링방법을제안하였다
.
일반적 으로,
법선벡터가균일하지않게분포하는경우를살 펴보면형상모델은기본프리미티브(primitive)
로구 성되어있거나,
단순한곡면또는평면으로이루어져있다
.
예를들어Fig. 3(a)
와같이볼트 모델의경우간단한평면과프리미티브로구성되어있고
,
이모델x
=cos
θ⋅cos
φy
=sin
φz
=sin
θ⋅cos
φFig. 1.
Encoding of the six sextants of each octant of a sphere.
Fig. 2.
Three subdivision levels of the base octahedron.
(a) Subdivision level 0, (b) Subdivision level 1,
(c) Subdivi-sion level 2, (d) Index of Subdivision
Level 2.
의법선벡터는
Fig. 3(b)
처럼단위구상에균일하지않게분포하고있다
.
이런경우k-means
알고리즘을이용하여분할영역들이동일하거나거의비슷한수 의법선벡터들을갖도록클러스터링하는것이다
. K-
means
알고리즘을이용하면영역의크기가달라지는대신에고정된크기의코드
(code)
의메모리효율을최대화시킬수있다[2]
.
이와같이
Cho
[4]는법선벡터를클러스터링하여 대표법선벡터와클러스터사이즈배열로인코딩하 고,
법선벡터를가리키는인덱스를두개의그룹,
절 대 인덱스(absolute index)
와 상대 인덱스(relative
index)
로나누어표현하여인덱스에대해서도압축을시도하였다
.
2.2 연구목적
기존연구의경우
,
법선벡터의압축에있어서압축 률을높이는연구는많은반면압축후형상모델의 왜곡에대한연구는상대적으로미흡하다[2].
하지만 최근에인터넷또는네트워크상에서공유되는형상모델의질
(quality)
에대한사용자의요구가높아지고있어서형상모델의셰이딩에발생하는왜곡에대한 연구가필요하다고하겠다
.
따라서본연구에서는법 선벡터압축후에도형상모델의셰이딩에왜곡이발 생하지않는새로운방법을제안하였다.
이를위해시각적으로셰이딩의왜곡을구분할수없는손실압축 알고리즘을개발하고자한다
.
3. 셰이딩의 왜곡을 시각적으로 구분할 수 없는 압축 방법
법선벡터압축은크게비손실압축
(lossless com-
pression)
과손실압축(lossy compression)
으로나뉜 다[2].
비손실압축이란말그대로원래의법선벡터가 압축전의정보를보존하면서압축되는것이다.
그리 고법선벡터의손실압축은법선벡터정보가압축전그대로보존되지않고손실되는압축을의미한다
.
이처럼법선벡터가손실되면형상모델의셰이딩시 에왜곡이발생한다
.
이결과로형상모델의오리지널리티
(origin-ality)
가떨어져서각종응용분야에서사용하는데제한을받게된다
.
하지만손실압축이라고해서항상셰이딩에왜곡
이생기는것은아니다
.
법선벡터는IEEE
표준에따라
32 bits
를사용하는실수(float)
형으로표현되기때 문에두법선벡터를구별할수있는최소각도편차(an-gular deviation)
가2E-46 radian
로 매우 작다[3].
이차이를사람의눈으로
(
시각적으로)
구분한다는것 은불가능하다.
하지만각도편차가0.01 radian
보다 크면시각적으로그차이를구분할수있다는것이실 험적으로증명되었다[3].
즉,
각도편차가0.01 radian
보다작으면형상모델의셰이딩시에시각적으로왜 곡을구분할수없는셈이된다
.
본논문에서는이점에착안하여법선벡터를손실 압축하되최대각도편차
(maximum angular deviation)
가
0.01 radian
이하가되도록유지하여,
형상모델의왜곡을시각적으로구분할수없도록하는법선벡터 압축알고리즘을고안하였다
.
본논문에서는이것을VULC
알고리즘이라고부르며,
그세부절차는다음과같다
.
<VULC 알고리즘 프로세스>
Step 1.
직교좌표계( x , y , z )
로 표현되어있는법 선벡터를구좌표계(
θ,
φ)
로변환한다.
Step 2.
구좌표계로변환된법선벡터를8
개의영역으로클러스터링한다
.
그리고8
개의클러 스터에속해있는법선벡터를대표하는대 표법선벡터를계산한다.
Step 3. 8
개의클러스터에대하여각대표법선벡터와실제법선벡터 사이의 각도의 차이 값을계산한다
.
Step 4.
최대각도편차(maximum angular deviation:
εmax
)
가0.01 radian
이하가되도록(
Δθ,
Δφ)
의값이분포하는영역을가로
,
세로로각각128
등분한다.
그리고각영역에인덱스를부여한다
.
Step 5. (
Δθ,
Δφ)
의값이 분포하는영역을 분할한 후각클러스터에인덱스를부여하여법선 벡터를인코딩한다.
3.1 좌표계변환
법선벡터는
IEEE
의정의에따라32 bits
를사용하Fig. 3.
Model with the normal vectors distributed uneven
(a) Bolt model, (b) Distribution of normal vectors.
는실수형으로표현된
3
개( x , y , z )
의 실수값으로구성된다
.
하지만본논문에서제안하는알고리즘은dis-similarity measure
로angular discrepancy
를 이용하기때문에
Deering
의 방법과마찬가지로 직교좌표계
(orthogonal coordinate)
를 구좌표계(spherical coordinate)
로변환한다.
이렇게 구 좌표계의
( i = 1~8 (
클러스터인덱스
), j = 1~ m ( m : i
번째클러스터내의법선벡터의 개수)
로변환하면데이터량이3
분의2
로줄어든다.
이러한법선벡터의좌표변환은식
(2a), (2b)
와같은간단한식에의해계산된다[6]
.
(2a) (2b)
3.2 법선벡터클러스터링과
대표법선벡터계산
클러스터링이란
,
같은종류의대상에대해서그룹을짓는것을의미한다
.
법선벡터가분포하는단위구를
8
개의영역으로나누기때문에직교좌표계에서구좌표계로변환된법선벡터 는
Fig. 4
와같이
8
개의영역에클러스터링된다.
그리고이클러스터에속한법선벡터를대표하는 대표법선 벡터
(Representative Normal Vector: RNV)
는
8
개의클러스터의θ 축과 φ 축에대해각클러스 터를이등분하는위치에생성된다.
대표법선벡터는나중에법선벡터와의각도차이값을계산할때이용 하게된다
.
3.3 대표법선벡터와법선벡터사이의각도차이 값계산
법선벡터의클러스터링과대표법선벡터가결정 되면
, 8
개의클러스터중에서동일한클러스터에속하는법선벡터와대표법선벡터가정해진다
. VULC
알고리즘이수행되는동안
8
개의클러스터로클러스 터링된법선벡터는같은클러스터에속한대표법선 벡터와모든계산을하게된다.
이번단계에서는클러스터링된법선벡터와대표 법선벡터사이의각도차이값을계산하게되는데
,
이값은식
(3a)
와식(3b)
를통해계산된다.
이렇게 계산된값은식(3a)
와(3b)
의범위에포함되는데,
이 것은Fig. 5(b)
를통해서확인할수있다.
이렇게계산된값 은각각의법선벡터 가몇번째대표법선벡터와계산되었는지기억하기 위하여라벨을포함하며
,
이라벨은압축을풀때다 시이용된다.
(3a) (3b)
3.4 법선벡터와대표법선벡터사이의차이값이 분포하는영역분할
법선벡터압축방법에는클러스터링기법이이용
된다
. Deering
은단위구를일정한규칙에의해서분할하고법선벡터를클러스터링했으며
, Taubin
은기본팔면체에대해서클러스터링을수행했다
. Cho
는k-means
알고리즘을이용해서메모리효율을향상하기위한새로운클러스터링기법을제안했다
.
이단원에서설명될영역분할도일종의클러스터링방법으 로써
,
법선벡터와대표법선벡터사이의각도차이 값 이분포하는영역을정해진규칙으로 분할하여각영역별로위의값들을클러스터링하게 된다.
대표법선벡터와법선벡터사이의차이값은식
(3a), (3b)
의범위에항상분포한다.
이렇게분포하는값을압축하기위해서이값이분포하는영역을 Δθ θij,φij
( )
θij=
tan
–1⎝ ⎠⎛ ⎞y x --
(x
≥0
,y
≥0
,i
=1
) φij=tan
–1⎝ ⎠⎛ ⎞y z --
(y
≥0
,z
≥0
,i
=1
)θij,φij
( ) (Δθij,Δφij)
θ
Δ ij θRNV–θij π
4--- 0.785399
( )≤
= φ
Δ ij φRNV–φij π
≤
4---
=
θ Δ ij,Δφij
( )
Fig. 4.
Distribution of normal vector on spherical coordinate and RNV (Normal vectors of the cow model: 2904).
Fig. 5.
Reposition of subtracted value between and
NVRNVi: (a) Subtraction from
NVRNVi, (b) Distribution of .
NV
ijNV
ijθ Δ ij,Δφij
( )
축과Δφ 축에대하여
2
n등분한다. Fig. 6
의n
값에따라분할영역
(
클러스터)
개수를조절할수있다.
클러스터의개수는법선벡터의압축시형상모델 의셰이딩의시각적왜곡과연관된다
.
즉,
클러스터의 개수가많을수록각도편차의크기가작아지기때문 에압축후셰이딩의시각적왜곡발생이적고,
클러 스터개수가적을수록각도편차의크기가커지기때 문에압축후셰이딩의시각적왜곡발생이많다.
법선벡터는
32 bits
의실수형으로표현되는데두법선 벡터가 구별할 수 있는 최소 각도가
2E-46
radian
이다.
이값을지구에표현하면10 cm
간격으로 법선벡터가분포하는것으로상세한정보이다[3].
이 차이를시각적으로구분하는것은불가능하다.
하지만각도편차가
0.01 radian
보다크면시각적으로그차이를구분할수있다
.
이와같이각도편차가0.01
radian
보다작으려면식(4)
에서최대각도 편차값(
εmax)
이0.01
보다작으면되고,
여기서계산된최대 각도편차값을식(5)
에대입하면≤
0.01
을 만족하는n
값은7
로 결정된다.
따라서 값이분포하는영역에대하여가로세로 로 등분한다.
본연구에서는각도편차와셰이딩의왜곡사이의
관계에대한판단기준이될
ADC
계수를정의한다.
ADC
는Angular Deviation Coefficient
의 약자로써법선벡터의압축후각도편차에따라압축된모델이 원래모델과비교해서얼마나흡사
(
충실)
한지를나타내는계수이다
.
식(4)
는ADC
의계산식이다.
그리고 식(5)
은최대각도편차에대한계산식이다.
(4) (5)
ii) ADC≤
1
인경우,
원래의형상과비교해서시각적으로왜곡을구분할수없음
ii) ADC > 1
인경우,
원래의형상과비교해서시각 적으로왜곡을구분할수있음위에서설명한내용을실제모델에적용한결과를 통해확인하고자 한다
. Fig. 7
은ADC,
압축률, n
의 관계를나타낸그래프이고, Fig. 8(a)
는압축되지않은원래모델이고
, Fig. 8(b)
는VULC
알고리즘을 만족하는 모델
( n = 7, ADC = 0.867(
εmax= 0.00867 radian))
로써원래모델과비교했을때시각적으로왜곡을구 분할수없는반면
, Fig. 8(c)
는VULC
알고리즘을만 족하지않는모델( n = 3, ADC = 14.387(
εmax= 0.14387
radian))
로써 원래 모델과비교했을 때 시각적으로왜곡을구분할수있다
. Fig. 8(d)
는VULC
알고리즘을 만족하지않는모델
( n = 2, ADC = 28.773(
εmax=
εmax=π
2/2
n+2θ Δ ij,Δφij
( )
2
n(2
7=128
)ADC
=ε0.01 ---
maxεmax π
2 2
n+2---
=
Fig. 6.
Division of difference angle in one of 8 clusters.
Fig. 7.
Compression ratio, ADC,
n.
Fig. 8.
Cow models (Normal vectors: 2904): (a) Original
model (VRML Model), (b) Satisfy with VULC
(
n= 7, Compression ratio = 82.3%), (c) Dissatisfy
with VULC (
n= 3, Compression ratio = 90.7%),
(d) Dissatisfy with VULC (
n= 2, Compression
ratio = 92.8%).
0.28773))
로써원래모델과비교했을때시각적으로왜곡을구분할수있다
.
결과적으로n = 7
인경우법선 벡터압축시형상모델의왜곡을시각적으로구분할 수없음을알수있다.
또한Fig. 7
에서n = 2
인경우와
n = 7
인 경우의 압축률을 비교해 보면92.8%
와82.3%
로써압축률이크게저하되지않음을알수있다
. Fig. 7
의결과는Model
에따라약간의차이는있으나같은패턴을보인다
.
3.5
법선벡터와대표법선벡터사이의각도차이 값인코딩
본단원에서는
VULC
프로세스의마지막 단계인 각도차이값 의인코딩에대해서설명한다
.
이전단계에서Fig. 6
과같이각도차이값이분포하는영역을분할하여
2
n개의클러스터를생성하였다
.
각클러스터는1
부터2
n의고유의인덱스를부여받게되고
,
클러스터에속한각도차이값들은클러스터의인덱스로인코딩된다
.
이때각도차이값은n
값에따라서
2 n bits
로인코딩되고,
구좌표계에서법선벡터 가분포한영역을
8(2
3)
개의영역으 로분할하므로각영역은3 bits
의라벨bit
로인코딩 된다.
결과적으로96 bits
인법선벡터는(2 n + 3) bits
로인코딩된다
.
따라서압축된법선벡터의데이터 용량은식(7)
에서계산된다.
Original size = (6)
Compressed size = (7)
m
i= i
번째클러스터에속하는법선벡터의개수 식(5)
로부터 계산된n = 7
을 식(7)
에 대입하면Compressed size
는법선벡터당17 bits
가되므로압 축률은82.3%
가된다.
4. 적용 사례
본논문에서는
3D
메쉬모델중에서VRML
포맷을사용하였고
, VRML
을구성하는요소중에서법선벡터정보를나타내는
ASCII
파일을이용했다.
본논문에서제시한
VULC
알고리즘을 검증하기위하여Fig. 9~Fig. 11
의다양한 자유곡면체모델에 대해서법선벡터를 압축하고
VRML
전용뷰어인Cosmo
Player2.1
에디스플레이하여결과를확인하였다.
특히
n = 2(ADC = 28.7)
일 때와n = 7(0.867)
인 경우의압축된모델과원래모델에대해서압축률과셰이딩 의왜곡정도를비교하였다
.
θ Δ ij,Δφij
( )
θij,φij ( )
m
i×96
{ }
bit
i=1
∑8
m
i×(2 n
+3
) { }bits
i=1
∑8
Fig. 9.
Cow Models. Normal Vectors = 2904: (a) Original mode (235,926 Bytes), (b) Compressed model (
n= 7, ADC = 0.867, 41,758 Bytes), (c) Compressed model (
n= 2, ADC = 28.7, 16,986 Bytes).
Fig. 10.
Horse Models. Normal Vetors = 32281: (a) Original model (3,098,976 Bytes), (b) Compressed model (
n= 7, ADC = 0.867, 548,518 Bytes), (c) Com- pressed model (
n= 2, ADC = 28.7, 223,126 Bytes).
Fig. 11.
Bunny Models. Normal Vectors = 1629: (a) Original
model (156,384 Bytes), (b) Compressed model
(
n= 7, ADC = 0.867, 27,676 Bytes), (c) Com-
pressed model(
n= 2, ADC = 28.7, 11,259 Bytes).
5. 결론 및 향후 연구과제
5.1결론
본연구에서는
3D
메쉬모델의법선벡터압축시 압축률을크게저하시키지않으면서형상모델의셰 이딩에시각적으로왜곡이생기지않도록하는새로 운법선벡터압축방법을제안하였다.
그리고이를위해 시각적 왜곡의 기준이 되는
ADC(Angular
Deviation Coefficient)
를고려한법선벡터의VULC
알고리즘을개발하였다
.
본연구에서제안한방법을통하여법선벡터의압 축시형상모델에생기는셰이딩의왜곡을시각적으 로구분할수없고
,
압축률이크게저하되지않기때 문에,
인터넷또는네트워크상에서데이터의저장공 간과전송시간을줄일수있으며형상모델의셰이딩에대하여높은질
(quality)
을유지할수있다.
따라서본알고리즘은네트워크기반가상박물관이나개발 제품의디지털품평과같은응용분야에서이용될수 있다
.
5.2 향후연구과제
본연구에서제안한
VULC
알고리즘은점진적전송에는이용될수없다
.
실제로모델사이즈가클수록점진적전송방법이많이이용된다
.
따라서향후,
보 다다양한분야에적용될수있도록점진적전송이가 능하도록하는방안을연구할필요가있다고하겠다.
참고문헌
1. Bar-Yehuda, R. and Gotsman, C.,
“Time/space Tradeoffs for Polygon Mesh Rendering
”,
ACM Trans.Graph
, Vol. 15, No. 2, pp. 141-152, Apr. 1996.
2. Kim, D.-S., Chom Y. S. and Kim, D. U.,
“The Compression of the Normal Vectors of 3D Mesh Models Using Clustering
”,
Computational Science - ICCS 2002, pp. 275-284, April 21-24, 2002, Amster- dam, Metherlands.
3. Deering, M.,
“Geometry Compression
”, In Proc. SIG- GRAPH-'95
,13-20, 1995.
4. Taubin, G., Horn, W. P., Lazarus, F. and Rossignac, J.,
“Geometry Coding and VRML
”, Pr
oceedings of the IEEE, Vol. 86, Issue 6, pp. 1228-1243, 1998.
5. Jain, A. K. and Dubes, R. C.,
“Algorithms for Clustering Data
”, Prentice-Hall, 1988.
6.
김재정,
“CATIA
로 배우는CAD/CAM
”,
반도출판사
, 1998.
문 현 식
2001년국민대학교자동차공학과학사
2003년한양대학교기계설계학과석사
2003년~현재 LG전자
정 채 봉
현재한양대학교기계공학부및미국표준 기술연구소(NIST) 근무
김 재 정
1981년한양대학교정밀기계공학과학사
1983년미국 George Washington대학
1983년~1984공학석사년 미국 National Food Processors Association 연구원
1989년미국 MIT 공학박사
1989년~1991년미국 IBM T.J. Watson
연구소연구원
1991년~1993년한국 IBM 소프트웨어연구소 연구원
2002년~2003년미국 NIST 객원연구원
2003년프랑스 Dassault System 객원연구원
1993년~현재한양대학교기계공학부교수
관심분야: Geometric Modeling, CAD/CAM 응용, PDM/PLM