• 검색 결과가 없습니다.

Texture mapping을 기반으로 한 의료영상의 3차원 재구성에서의

N/A
N/A
Protected

Academic year: 2022

Share "Texture mapping을 기반으로 한 의료영상의 3차원 재구성에서의"

Copied!
8
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

1. 서

3차원 의학영상 재구성은 의학영상이라는 특수성과 방대한 데이터 양으로 인하여, 영상의 정확성, 높은 해상도 그리고 효 율성의 상반되는 목적을 수행해야 되므로, 이에 따른 여러 가 지 알고리듬들이 연구되어져 왔으며, 본 논문에서도 효율적인 visualization에 대하여 연구하였다.

일반적으로 체적 재구성 알고리듬은 CPU의 속도에만 의존 하는 것에 비해 텍스쳐 기반의 체적 재구성은 이를 고속 처리 할 수 있도록 설계된 그래픽 하드웨어를 이용함으로써 고속으

로 랜더링 할 수가 있다. 이러한 고속 랜더링은 과거에는 워크 스테이션에 사용되는 그래픽 하드웨어에서만 가능했지만, 최근 에는 멀티미디어 환경의 발달로 인하여 일반 PC에 사용되는 그래픽 하드웨어에서도 텍스쳐 맵핑(texture mapping)의 고속 처리를 지원하고 있으며, 그 속도 또한 급격하게 발전하고 있 다. 그러나 텍스쳐 기반의 체적 재구성 알고리듬은 고속 재구 성의 장점을 가지고 있지만, 다른 알고리듬과 달리 음영 효과 를 주기가 어렵기 때문에 다른 알고리듬에 비해서 입체감이 떨 어지는 단점이 있다. 음영 효과는 3차원에서 물체의 공간 구조 를 이해하는 데 있어서 중요한 부분을 담당하는 요소이므로 텍 스쳐 기반의 체적 재구성에서 음영효과를 구하는 알고리듬[5]

이 개발되었지만, 이 경우 수행시간의 증가로 인하여 텍스쳐 기반의 체적 재구성 알고리듬의 장점인 고속 처리가 어려워지 게 된다. 따라서, 본 논문에서는 수행시간을 크게 증가시키지 않고 음영효과를 구현 할 수 있는 알고리듬을 개발하였다.

Texture mapping을 기반으로 한 의료영상의 3차원 재구성에서의 Shadow 효과에 관한 연구

김대영・김동선・신동규・김동윤

1연세대학교 의공학과

A Study on the Shadow Effect of 3D Visualization for Medical Images Based on the Texture Mapping

D.Y. Kim, D.S. Kim, D.K. Shin, D.Y. Kim

1Dept. of Biomedical Engineering, Yonsei University

= Abstract =

The 3D volume visualization is more widely used for diagnosis, planning of medical surgery and re- search areas, with the development of modalities such as a multi-slice CT. However, it is not easy to achieve both high quality of 3D image and short reconstruction time.

In this paper, we proposed an algorithm which can reduce the computation time by taking advan- tage of fast frame buffer operations provided in a general graphic hardware and can add shadow ef- fect. And we compared the quality of the reconstructed images and the reconstruction time of our al- gorithm and others such as ray casting and shear-warp factorization.

Key words: Texture Mapping, Shadow Effect, Volume Rendering, OpenGL

본 연구는 2000년도 연세대학교 학술 연구비 지원에 의해 이루어졌음.

통신저자: 김동윤, (220-710) 강원도 원주시 홍업면 매지리 234 연세대학교 원주캠퍼스 백운관 202

Tel: 033-760-2434, Fax: 033-762-3743 E-mail: [email protected]

(2)

2. 본

하드웨어를 이용하여 빠른 재구성 속도를 보여주는 텍스쳐 기반의 체적 재구성은 의료 영상을 볼륨화시키는데 효과적인 방법이라고 할 수 있다. 그러나 텍스쳐화한 후에는 3차원 객체 에 대한 표면 정보가 없기 때문에 음영 효과는 각각의 texel로 부터 계산되었다. Van Gelder와 Kwansik Kim [4]은 사전에 각 복셀에 대한 기울기를 구하고 랜더링 할 때 사전에 구한 기 울기로부터 각 복셀의 전체 빛의 강도를 계산하여 저장하였다.

그리고 저장한 데이터를 3차원 텍스쳐로서 나타냄으로써 텍스 쳐 맵핑에서도 효과적인 음영 효과를 구하였다. 그러나 이 방 법은 재구성 속도를 최대 10배까지 감소시킴으로써 본래 텍스 쳐 기반의 체적 재구성이 가진 빠른 재구성 속도의 장점이 없 어지는 문제가 발생하게 되었다. 따라서, 본 논문에서는 재구 성 속도를 크게 저하시키지 않으면서, 음영효과를 구현하는 방 법을 제안한다 [8].

2.1. 전체 수행 과정

Fig. 1은 음영이 적용된 텍스쳐 기반의 체적 재구성의 전체 수행 과정이다. 일반적인 텍스쳐 기반의 체적 재구성을 위한 RGBA 볼륨으로부터 광원의 위치에 따른 음영 효과 알고리듬 을 적용하여, RGBA볼륨에 음영을 만들어내고 이 볼륨을 합성

하여 최종적으로 음영효과가 적용된 영상을 만들어 내게 된다.

Fig. 2는 음영이 적용된 텍스쳐 기반 체적 재구성의 전체 수행 과정으로 일반적인 텍스쳐 기반 체적 재구성의 수행 과정에서 좌표계 설정 및 오프셋 계산과 음영생성 부분이 추가되었다.

Fig. 2는 전체 과정 중 음영생성 과정만을 나타낸 것이다.

Fig. 2에서처럼 폴리곤 P1, … …, Pn으로 이루어진 볼륨과 무한대의 거리를 가진 광원 L로부터 음영을 계산하는 것이다.

여기에서 광원이 무한대의 거리를 가진다고 가정하는 이유는 본 논문에서 제안하는 알고리듬이 스포트라이트처럼 강한 방 향성을 가지는 광원으로부터 음영을 만들어내는 것이 아니라, 태양처럼 무한히 먼 거리의 광원으로부터 만들어지는 음영의 성질을 갖기 때문이다. 본 논문에서는 우선 한 장의 슬라이스 에서 음영을 구현한 뒤, 전체 볼륨에서 음영효과를 나타내었다.

2.2. 한 장의 슬라이스에서 음영구현

한 장의 슬라이스에서 음영을 구현한 결과 영상은 Fig. 3과 같다.

이와 같은 영상을 구하기 위해서는 먼저, CT영상의 텍스쳐 를 가지고 있는 폴리곤P1과 동일한 텍스쳐의 폴리곤P2를 생 성한다. 그리고P2를 이용해서P1의 음영을 구하게 되는데 이

Fig. 1.전체 수행 과정

Fig. 2.음영효과 알고리듬의 개념도

A B

Fig. 3.한 장의 슬라이스에 음영을 적용한 결과 (A) 적용 전

(B) 적용 후

(3)

는 다음 과정을 따른다.

① 오프셋ds를 적용한 P2를 특별한 합성함수를 사용하여 프 레임 버퍼에 전달한다.

②P1을P2와 함께 over연산자를 사용하여 합성한다.

여기에서 중요한 부분은 오프셋의 계산이다. 음영은 광원과 객체간의 위치에 따라서 결정되고 그에 따른 오프셋의 조정이 있어야 한다. 예를 들어 Fig. 4처럼 광원의 위치가 반대로 변 하게 되면 음영의 위치도 반대쪽에 나타내게 되고 따라서 오 프셋의 조정이 필요하게 된다.

오프셋의 결정은 식 (1)을 따르게 된다.

ds = dp・tan ψ (1)

Fig. 5에서 보면, dp는 P1, P2사이의 거리가 되고, ψ는P1, P2 의 normal vector 과 광원 의 각도가 된다. 식 (1)에서 ψ의 각 도는 │ψ│≤45°로 제한하였다. 그 이유는 tangent값이 45°이 상이 되면, 값이 급격히 증가하게 되고, 그 결과 최종 영상에 음영이 너무 짙게 나타나기 때문이다.

2.3. 슬라이스로부터 음영 생성

초기에 프레임 버퍼에 있는 P2는 background color 또는 destination color가 되며 이는cd=(rd, gd, bd)로 나타낼 수 있 다. 여기에서 P1에 음영을 주기 위해서는 P2를 어둡게 만들어 야 하는데 이것은 식 (2)로 처리 할 수 있다.

c = (1 - αs)cd (2)

여기에서 음영은 컬러가 없고 불투명도에 의해서만 나타난 다고 가정하면, 식 (2)는 (3)으로 바뀌게 된다.

c = (1 - αsd (3)

현재 프레임 버퍼에 있는 슬라이스의 불투명도가 높을수록 음영의 밝기는 어두워짐을 식 (3)을 통해서 알 수 가 있다. 즉, 음영의 밝기는 원래 영상의 불투명도에 반비례하고 투명도에 는 비례하게 된다. Fig. 6은 식 (3)을 사용하여 만들어낸 음영 이다.

2.4. OpenGL에서의 음영효과 구현

OpenGL API는 영상처리를 위한 여러 가지 함수를 제공하 며, 각 함수마다 다른 매개변수를 선택함에 따라 다양한 결과 를 얻을 수가 있다. 본 논문에서는 식 (3)을 다음의 API로써 처리하였다.

Fig. 5.오프셋의 개념도

A B

Fig. 4.광원의 위치가 반대인 경우 (A) 원영상

(B) 반대 방향의 광원 적용 Fig. 6.생성된 음영의 예

(4)

glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA)

그러나, 이 경우에는 불투명도 외에 볼륨의 컬러에도 영향을 미칠 수 있다. 따라서, 다음의 API를 사용하는 것이 바람직하 다.

glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_FALSE)

이 mask연산자를 사용함으로써 합성 과정은 오직 불투명도 값에 의해서만 수행되게 된다.

2.5. 전체 볼륨에서의 음영효과 구현

전체 볼륨에 대한 음영을 구하기 위해서는 Fig. 7처럼 음영 이 슬라이스와 슬라이스 사이에 누적되어야만 한다.

전체 과정을 단계별로 살펴보면 다음과 같다.

① 각각의 슬라이스를 프레임 버퍼에 그린다.

② 각 슬라이스에 오프셋을 적용한 뒤 식 (3)을 전체 볼륨

에 적용시켜 음영을 얻는다.

③ 음영이 구해진 각각의 슬라이스를 over 연산자를 통하여 합성한다.

④ 프레임 버퍼로부터 음영이 적용된 전체 볼륨을 읽는다.

Fig. 8과 9는 전체 볼륨에서 음영을 적용했을 때 결과 영상 이다.

여기에서 한 가지 고려되어야 할 점은, 의학 영상을 픽셀 강 도를 기준으로 텍스쳐로 전환하고, 이 텍스쳐들을 본 논문에서 제안한 알고리듬을 사용하여 랜더링을 취하는 경우에 Fig. 10 과 같이 너무 어두운 영상이 나타난다는 점이다.

따라서, 본 논문에서는 음영이 불투명도에 의해서만 영향을 받는다는 점을 이용하여, RGBA중 알파 값은 원 영상의 픽셀

Fig. 7. 전체 볼륨에서의 음영효과 구현

A B

Fig. 8.척추부분에 음영효과를 적용한 영상 (A) 원영상

(B) 40°회전 시 Fig. 10. 어두운 음영이 적용된 영상

A B

Fig. 9.머리부분에 음영효과를 적용한 영상 (A) 원영상

(B) 볼륨 절단 후

(5)

강도에 따라 변화되도록 하였고, RGB값은 최대 값을 적용하여 밝기를 향상시켰다. 만약, 알파 값 외에 RGB값도 픽셀강도를 기준으로 값을 적용한 후 over연산자를 사용하여 영상을 합성 한다면, Fig. 10과 같은 결과가 나타나게 되므로 다른 합성함 수가 고려되어야 한다.

α= 1 - (1 - αs) (1 - αd) (4)

식 (4)를 사용하게 되면, 모든 슬라이스의 음영이 누적되는 결과를 가져오게 되고, Fig. 11과 같은 영상을 나타내게 된다.

Fig. 8과 비교해 보았을 때, 음영이 옅어지면서, 조금 부드러워 보이는 특성이 있음을 알 수 있다.

식 (4)는 식 (5)로 전개될 수 있다.

α= 1 - (1 - αs) (1 - αd) (5)

= 1 - (1 - αd- αs + αsαd)

= αd+ αs- αs αd

= αs+ (1 - αs) αd

따라서, 식 (5)는 다음의 OpenGL API로써 처리할 수 있다.

glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)

3. 결 3.1. 결과 영상 비교

Fig. 12는 레이 캐스팅, 쉬어-왑 분해, 텍스쳐 기반의 체적 재구성 그리고 본 논문에서 제안한 음영효과를 적용한 텍스쳐 기반 체적 재구성의 결과 영상들이다. 레이 캐스팅이 가장 선 명한 영상을 나타냄을 볼 수 있으며, 레이 캐스팅이나 쉬어- 왑 분해의 영상에 비해 (c)의 텍스쳐 기반의 체적 재구성으로 얻어진 영상이 음영효과가 없기 때문에 입체감이 떨어지는 것 을 알 수 있다. 그러나, 제안한 알고리듬으로 음영효과를 적용 한 (d)의 경우, 3차원 객체를 파악하는데 있어서 레이 캐스팅

A B

Fig. 11.다른 합성함수를 적용한 경우 (A) 두개골

(B) 척추

A B

C D

Fig. 12.결과 영상 비교 (A) 레이 캐스팅 (B) 쉬어-왑 분해 (C) 음영효과가 없을 때

(D) 음영효과가 적용된 경우 Fig. 13. 각 알고리듬의 재구성 속도 비교

(6)

이나 쉬어-왑 분해에 비해 별 차이가 없음을 알 수 있다.

3.2. 구현 환경 및 연산 시간 비교

본 논문은 윈도우즈2000 환경에서, Pentium Ⅲ 500Mhz, RAM 256MB과 Matrox G400 Graphic Hardware를 사용해서 수행하였다. Table 1은 알고리듬의 속도 비교를 위해서 사용 한 데이터이며, Table 2는 그 결과이다.

레이 캐스팅은 영상의 질이 우수하지만, 연산시간이 너무 오 래 걸린다는 것을 결과 영상과 c2를 통해서 알 수 있었으며, 따라서 일반적인 PC환경에서는 사용하기 어려운 알고리듬이 라 할 수 있다. 쉬어-왑 분해는 256×256×113의 머리 부분 의 데이터를 사용했을 경우, 약 17초의 재구성 속도를 나타내 었다. 그러나, 특정한 불투명도를 정하고 RLE를 사용했을 경 우 0.8초로서 매우 빠른 재구성 속도를 보인다. 하지만, 사용 자가 최초에 선택한 불투명도의 영상이 만족스럽지 않은 경우 나 가상 수술 시스템에서처럼 불투명도를 자주 바꾸어줄 때 다 시 RLE를 취해주어야 한다는 문제가 있다. 이에 비해 텍스쳐 기반의 체적 재구성은 데이터의 전처리 과정없이 0.9초의 빠 른 재구성을 나타내며, 연산 속도의 큰 증가 없이 음영 효과를 적용한 영상을 구현할 수 있었다.

4. 결

의학 영상의 3차원 체적 재구성이 필요로 하는 높은 영상 의 질과 고속 재구성이라는 두 가지 목적을 위해 본 논문에서 는 2차원 텍스쳐 맵핑을 사용하여 의학 영상을 일반적인 PC 환경에서 고속으로 3차원 재구성할 수 있는 텍스쳐 기반의 체 적 재구성을 구현하였고 영상의 질을 높이기 위해 텍스쳐 기 반의 체적 재구성에서 음영효과를 나타내는 알고리듬을 개발 하였다.

텍스쳐 기반의 체적 재구성은 소프트웨어적인 가속 방법을

사용하는 다른 알고리듬과 달리 그래픽 하드웨어의 가속처리 를 이용하여 고속으로 영상을 재구성 할 수 있는 장점이 있다.

그러나 음영효과를 적용하기가 어렵기 때문에 다른 알고리듬 에 비해 영상의 질이 떨어진다는 단점이 있으며, 음영구현을 위해 기존의 알고리듬처럼 각 복셀간의 기울기(gradient)를 계 산하여 음영을 구하는 경우 계산량의 증가로 인하여 대화식 수 준의 처리가 어렵게 된다. 본 논문에서 제안된 알고리듬을 사 용할 경우 연산 시간의 큰 증가 없이 3차원 객체에 음영효과 를 구현하여 사실감을 높일 수 있었다. 또한 음영의 계산은 CPU가 아닌 그래픽 하드웨어의 프레임 버퍼에서 이루어졌기 때문에, 하드웨어적으로 가속 처리되고 그래픽 하드웨어의 메 모리와 처리 속도가 급격히 증가하고 있는 상황에 비추어 볼 때 본 연구에서 수행한 음영효과를 적용한 텍스쳐 기반 체적 재구성의 재구성 속도는 현저히 줄어들 수 있을 것으로 예상 된다. 또한, 재구성 속도가 크게 중요하지 않는 경우 여러 개 의 광원효과를 적용함으로써 보다 더 입체적인 영상을 재구성 할 수도 있다. 또한, 앞으로 지원될 OpenGL 1.2에서의 3차원 텍스쳐 맵핑을 사용한 볼륨 랜더링에서도 본 알고리듬은 적용 될 수 있다.

음영효과는 객체의 공간적인 관계를 파악하는데 있어서 중 요한 요소로서 본 논문에서 제안한 알고리듬을 사용하여 의료 영상 중 특히 혈관 조영술 영상이나, 간 이식 수술 후 혈관의 연결 상태를 파악하는 경우에 도움을 줄 수 있으리라 생각된 다.

또한, 대표적인 가속 알고리듬인 쉬어-왑 분해 알고리듬과 비교하여 256×256×113×8bit의 볼륨데이터일 경우 제안된 알고리듬은 0.9초의 재구성 속도를 나타내어, 제안된 알고리듬 이 더 빠른 재구성 속도를 보여주었으며, 데이터를 나타냈고 데이터를 전처리하지 않은 경우의 쉬어-왑 분해는 17초의 재 구성 속도, 전처리 한 경우에도 0.8초의 재구성 시간을 보여준 쉬어-왑 분해에 비해 크게 뒤지지 않았다.

앞으로 진단의 편이성과 시각적 효과를 높이기 위해서 seg- mentation을 기반으로 한 pseudo coloring과 각 조직의 단면 을 임의로 볼 수 있는 MPR에 대한 연구가 필요할 것으로 생 각된다.

Table 1.사용한 데이터

dimension pixel depth

Head 1(CT) 256×256×113 8bit

Head 2(CT) 256×256×225 8bit

SPINE(CT) 256×256×299 8bit

Table 2.각 알고리듬의 재구성 속도

레이 캐스팅 쉬어-왑 분해 텍스쳐 기반의체적 재구성 텍스쳐 기반의 체적 재구성(음영효과 적용시)

Head 1 48 [초] 17[초] (0.8[초]) 0.9 [초] 1.1 [초]

Head 2 68 [초] 34[초] (1.4[초]) 2.9 [초] 3.3 [초]

Spine 72 [초] 41[초] (2.1[초]) 6.5 [초] 7.5 [초]

(7)

참 고 문 헌

1. Jayaram K. Udupa. Three-dimensional Visualization and Analysis Methodologies : A Current Perspective. Imaging &

Therapeutic Technology. 19:3:783-806. RSNA. 1999

2. Barthold Lichtenbelt, Randy Crane, and Shaz Naqvi.

Introduction to Volume rendering. Prentice Hall. 1998 3. P. Lacroute and M. Levoy. Fast Volume Rendering Using a

Shear-Warp Factorization of the Viewing Transformation.

Proceedings of SIGGRAPH 94. 451-458. July 1994

4. B. Cabral, N. Cam, J. Foran. Accelerated Volume Rendering and Tomographic Reconstruction Using Texture Mapping

Hardware. In Proceedings of 1994 Symposium on Volume Visualization. 91-98. October, 1994

5. Allen Van Gelder and Kwansik Kim. Direct volume rendering with shading via three-dimensional textures. In 1996 Volume Visualization Symposium. 23-30. IEEE. October, 1996 6. 박순만. CT영상 볼륨 재구성에서의 Classification 자동화에 관

한 연구. 연세대학교 석사학위논문. 1999

7. William E. Lorensen and Harvey E. Cline. Marching cubes: A high resolution 3D surface construction algorithm. Computer Graphics. volume 21: 163-169. SIGGRAPH. July, 1987 8. Uwe Behrens, Ralf Ratering. Adding Shadows to a Texture-

Based Volume Renderer. Volume Visualization. 39-46. IEEE Symposium on. 1988

대한PACS학회지 2003;9:63-69

=초 록=

의학 영상에 있어서 3차원 재구성은 multi-slice CT등 진단 촬영기기의 발전에 따라 진단, 수술계획 및 연구분야 에서 그 쓰임이 확대되고 있다. 그러나 3차원 영상의 질과 재구성 속도를 모두 만족시키기는 쉽지 않다.

본 논문에서는 특별한 하드웨어가 아닌 일반적인 그래픽 하드웨어에서 제공하는 프레임 버퍼의 고속처리를 이용 함으로써 계산시간을 줄이면서, 텍스쳐 기반의 체적 재구성에서 음영효과를 구현할 수 있는 알고리듬을 개발하였 으며, 이를 기존의 체적 재구성 알고리듬인 레이캐스팅과 쉬어-왑 분해의 결과 영상과 재구성 속도와 비교하였다.

(8)

참조

관련 문서