최근 지형 정보의 시각화 기술은 GIS 응용분야는 물론 게임, 가상현실, 항공 시뮬레이션 및 군사적인 목적 등을 실현하기 위한 중요한 기술로 부각되고 있다(유병현 2002). 그러나 대용량 지형 데이터를 실시간으로 처리하여 시각화를 구현하기 위한 메모리 한계성의 극복은 아직도 과제로 남아있다. 본 연구에서는 대규모 지형 표현을 위해 파일 기반의 효율적인 실시간 LOD (level-of-detail) 알고리즘 개발을 수행하였다. 실시간 LOD 알고리즘은 대규모 지형 데이터를 가시화하는데 필요한 기하학적 연산 처리를 가능하게 한다. 본 연구에서는 수치지도의 등고선이나 LiDAR, DTM, DSM 등으로부터 취득된 대용량 DEM의 가시화를 위해 계층적인 $4{\times}4$ 또는 $2{\times}2$ 타일 구조를 선택하였다. 또한 정규화된 Giga Byte급 고도데이터는 사용자 중심적 지형 정보의 원활하고 사실감 있는 표현이 될 수 있도록 고도데이터를 활용한 음영기복도를 생성하여 비메모리 방식의 계층적 타일 구조로 생성된 지형 블록에 Texture Mapping 하여 지형 가시화를 수행하였다. 대용량 데이터는 실시간 가시화를 위해 지형 데이터를 다양한 상세도를 가지는 데이터로 변형하여 이를 계층적으로 상호 연결함으로서 데이터의 손실이 최소화되며, 프레임 속도를 극대화하였고, 또한 사용자 시점에 따라 상세도 변화가 끊김없이(seamless) 고품질로 표현되도록 하였다.
최근 지형 정보의 시각화 기술은 GIS 응용분야는 물론 게임, 가상현실, 항공 시뮬레이션 및 군사적인 목적 등을 실현하기 위한 중요한 기술로 부각되고 있다(유병현 2002). 그러나 대용량 지형 데이터를 실시간으로 처리하여 시각화를 구현하기 위한 메모리 한계성의 극복은 아직도 과제로 남아있다. 본 연구에서는 대규모 지형 표현을 위해 파일 기반의 효율적인 실시간 LOD (level-of-detail) 알고리즘 개발을 수행하였다. 실시간 LOD 알고리즘은 대규모 지형 데이터를 가시화하는데 필요한 기하학적 연산 처리를 가능하게 한다. 본 연구에서는 수치지도의 등고선이나 LiDAR, DTM, DSM 등으로부터 취득된 대용량 DEM의 가시화를 위해 계층적인 $4{\times}4$ 또는 $2{\times}2$ 타일 구조를 선택하였다. 또한 정규화된 Giga Byte급 고도데이터는 사용자 중심적 지형 정보의 원활하고 사실감 있는 표현이 될 수 있도록 고도데이터를 활용한 음영기복도를 생성하여 비메모리 방식의 계층적 타일 구조로 생성된 지형 블록에 Texture Mapping 하여 지형 가시화를 수행하였다. 대용량 데이터는 실시간 가시화를 위해 지형 데이터를 다양한 상세도를 가지는 데이터로 변형하여 이를 계층적으로 상호 연결함으로서 데이터의 손실이 최소화되며, 프레임 속도를 극대화하였고, 또한 사용자 시점에 따라 상세도 변화가 끊김없이(seamless) 고품질로 표현되도록 하였다.
Interactive terrain visualization is an important research area with applications in GIS, games, virtual reality, scientific visualization and flight simulators, besides having military use. This is a complex and challenging problem considering that some applications require precise visualizations o...
Interactive terrain visualization is an important research area with applications in GIS, games, virtual reality, scientific visualization and flight simulators, besides having military use. This is a complex and challenging problem considering that some applications require precise visualizations of huge data sets at real-time rates. In general, the size of data sets makes rendering at real-time difficult since the terrain data cannot fit entirely in memory. In this paper, we suggest the effective Real-time LOD(level-of-detail) algorithm for displaying the huge terrain data and processing mass geometry. We used a hierarchy structure with $4{\times}4$ and $2{\times}2$ tiles for real-time rendering of mass volume DEM which acquired from Digital map, LiDAR, DTM and DSM. Moreover, texture mapping is performed to visualize realistically while displaying height data of normalized Giga Byte level with user oriented terrain information and creating hill shade map using height data to hierarchy tile structure of file type. Large volume of terrain data was transformed to LOD data for real time visualization. This paper show the new LOD algorithm for seamless visualization, high quality, minimize the data loss and maximize the frame speed.
Interactive terrain visualization is an important research area with applications in GIS, games, virtual reality, scientific visualization and flight simulators, besides having military use. This is a complex and challenging problem considering that some applications require precise visualizations of huge data sets at real-time rates. In general, the size of data sets makes rendering at real-time difficult since the terrain data cannot fit entirely in memory. In this paper, we suggest the effective Real-time LOD(level-of-detail) algorithm for displaying the huge terrain data and processing mass geometry. We used a hierarchy structure with $4{\times}4$ and $2{\times}2$ tiles for real-time rendering of mass volume DEM which acquired from Digital map, LiDAR, DTM and DSM. Moreover, texture mapping is performed to visualize realistically while displaying height data of normalized Giga Byte level with user oriented terrain information and creating hill shade map using height data to hierarchy tile structure of file type. Large volume of terrain data was transformed to LOD data for real time visualization. This paper show the new LOD algorithm for seamless visualization, high quality, minimize the data loss and maximize the frame speed.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
일반적으로 3차원 그래픽 API의 솔리드 모델은 삼각형의 조합을 통해 3차원으로 표면을 표현하고 있는데, 이때 컴퓨터상에 표현되는 삼각형수를 그래픽 하드웨어의 성능에 비례하여 조절하고 기하학적 처리량을 최소화시키는 것이 대용량 지형 정보의 실시간 가시화의 핵심 기술이라 할 수 있다. 따라서 본 연구에서는 다계층으로 분할된 지형 블록을 관찰자 시점의 이동변화에 따른 상세도를 화면에 표현될 수 있도록 하며, 계층 파일에 저장된 지형블록의 요청 처리를 렌더링 프로세스와 분리함으로서 데이터 로딩으로 발생하는 시간적 편차를 제거하였으며, 시야에서 제외된 지형 블록들은 렌더링 파이프에서 제외시켜 가장 최적의 렌더링 속도를 유지하도록 하였다.
본 연구에서는 대용량 지형의 실시간 시각화 응용문제를 해결하기 위하여 대용량 지형의 실시간 시각화에 사용되고 있는 Quad Tree-based 실시간 시각화 알고리즘을 이용하여 기존 알고리즘의 비효율적인 메모리 낭비를 막고 대용량 비메모리 저장소 접근이 가능하도록 보완하였다. 비메모리 방식의 대용량 지형의 실시간 가시화를 위하여 Quad Tree 구조의 트리노드에 2배수의 블록을 삽입하는 방법으로 계층의 단계를 감소시키고, 비메모리 저장소에서 블록 데이터의 접근 시간을 최소화 하는 방안을 제시하였으며, 사용자 시야에 따라 블록의 상세도를 조절함으로서 대용량 지형의 실시간 가시화가 가능하게 하였다.
본 연구에서는 비메모리 방식의 지형 시각화를 위해 Quad Tree 방식을 적용하고 트리 노드를 비메모리 저장소에 적재될 수 있도록 특정 크기의 블록을 삽입함으로서 시점이동에 따라 블록의 상세도를 제어할 수 있도록 하며 트리 구조의 변경을 최소화 시킬 수 있는 방안을 제시하였다.
제안 방법
계층 깊이를 구하기 위해 DEM의 가로, 세로 격자수를 구하여 정해진 최하위 계층의 지형 블록 격자 개수(32×32)가 생성될 때까지 재귀적으로 분할하면서 계층의 깊이를 구한다.
구현 방법에 대한 적용으로 대전시 일부의 LiDAR 측량 데이터를 가공한 DEM 데이터를 사용하였고 ERDAS Imagine 포맷의 40,000×50,000(가로갸섭Œ)m, 픽셀 1m 해상도를 가진 데이터를 DirectX 그래픽 API와 Visual C++ 로 프로그래밍 하여 Pentium 5 PC 메모리 1 giga byte, CPU 2 GHz 환경 하에서 실시간 지형모형의 변화를 관찰 하였다.
구현 방법에 대한 적용으로 대전시 일부의 LiDAR 측량 데이터를 가공한 DEM 데이터를 사용하였고 ERDAS Imagine 포맷의 40,000×50,000(가로갸섭Œ)m, 픽셀 1m 해상도를 가진 데이터를 DirectX 그래픽 API와 Visual C++ 로 프로그래밍 하여 Pentium 5 PC 메모리 1 giga byte, CPU 2 GHz 환경 하에서 실시간 지형모형의 변화를 관찰 하였다. 그림 11에서는 음영기복도를 포함한 솔리드 형태의 지형과 실시간 지형 블록을 변화를 표현할 수 있도록 와이어프레임 모드로 변경하여 실행하였으며, 그림 12에서는 사용자 시점에 따른 지형 블록의 상세도변화를 실험하였다. 실험 결과 약 2.
계층 깊이를 구하기 위해 DEM의 가로, 세로 격자수를 구하여 정해진 최하위 계층의 지형 블록 격자 개수(32×32)가 생성될 때까지 재귀적으로 분할하면서 계층의 깊이를 구한다. 대용량 지형 렌더링을 위해서 트리 깊이별로 지형 블록을 분할 압축하여 렌더링 단위를 결정하며 각 노드의 하위 노드 지형 블록의 로딩 여부를 체크하기 위하여 그림 4와 같이 계층적 구조의 지형 블록 데이터를 구축한다.
대용량의 지형을 표현하기 위해 거대한 지형을 블록 단위 Quad Tree로 분할하여 계층적인 지형 구조를 미리 구축하였다. 거대한 지형 계층구조에서 루트, 즉 최상위 부모노드에 포함된 블록과 각각의 블록이 파일에 저장 되어 있는 색인은 초기 구동 시 항상 메모리에 상주시킨다.
또한 지형의 격자 크기가 커질수록 트리의 재귀적 분할이 다수 발생하여 불필요한 메모리 낭비가 발생할 수 있으며, 하나의 공간 분할시 트리구조를 메모리에 모두 상주 시켜야 하므로 비메모리 방식의 대용량 데이터 처리가 불가능하다. 따라서 본 연구에서는 쿼드 트리 구조를 응용하여 쿼드트리한 노드에 2배수 형태의 블록을 삽입하여 비메모리 저장소에 저장함으로서 관찰자 시점에서 유효한 트리 노드만을 메모리에 상주 시키는 방법으로 트리노드를 생성하며, 또한 불필요한 트리 구조에 대한 메모리 낭비를 최소화 하고 실시간 비메모리 파일 처리가 가능한 형태의 계층적 구조를 구축하였다.
DEM의 파일 형태는 다양한 파일 형태로 존재하므로 Arc Grid, Ascii Dem, Generic Binary 등과 같이 실험을 위한 동일한 형태의 파일로 변환하는 일련의 과정이 필요하다. 또한 다음 단계로서, 지형 계층 구조 구축을 위하여 그림 3과 같이 원시 지형 데이터의 해상도를 2배수 또는 4배수 크기로 조절하여 동일 지역의 단계별 DEM을 미리 생성하여 단계별 지형 블록을 구축하는 과정을 고속으로 실행한다. 단계별 DEM을 생성함에 있어서 파일의 크기는 해상도 크기에 반비례하여 감소하며 단계별 데이터는 원시데이터 크기의 3분의 1을 넘지 않는다.
지형의 가시화는 빛에 의한 지형 음영이 표현됨으로 더욱 현실적이며 실감적으로 표현된다. 레벨별로 생성된 지형블록에 Texture Mapping될 음영기복도를 생성하였다. 상세도 중 자신의 음영기복도는 하위지형 노드 4개의 지형조각들의 조합으로 지형블록의 음영기복도를 생성한다.
본 연구에서는 대용량 지형의 실시간 시각화 응용문제를 해결하기 위하여 대용량 지형의 실시간 시각화에 사용되고 있는 Quad Tree-based 실시간 시각화 알고리즘을 이용하여 기존 알고리즘의 비효율적인 메모리 낭비를 막고 대용량 비메모리 저장소 접근이 가능하도록 보완하였다. 비메모리 방식의 대용량 지형의 실시간 가시화를 위하여 Quad Tree 구조의 트리노드에 2배수의 블록을 삽입하는 방법으로 계층의 단계를 감소시키고, 비메모리 저장소에서 블록 데이터의 접근 시간을 최소화 하는 방안을 제시하였으며, 사용자 시야에 따라 블록의 상세도를 조절함으로서 대용량 지형의 실시간 가시화가 가능하게 하였다. 실험에서 일반적인 동영상 파일의 초당 프레임수가 16프레임으로 설정할 때 관찰자의 이동과 반응하여 최적의 메모리 상태를 유지하면서도 대규모 지형의 부드러운 표현이 가능함을 확인할 수 있었다.
서로 인접한 지형 블록들간 상세도 수준이다를 경우는 그림 10와 같이 크랙이 발생하게 된다. 이를 보정하기 위해 실제 지형 정점의 수정 없이 삼각형 인덱스의 보정만으로 지형 블록 들 간 크랙을 보정한다. 표현되는 인접한 지형 블록의 상세 수준은 1단계 이상 차이가 나지 않으며 그림 10와 같이 상세도 수준이 낮은 지형에 상세도 수준이 강한 지형의 인덱스를 수정하여 크랙을 보정 한다.
Quad Tree 지형 가시화 방법은 거대한 지형을 표현하기 위한 방법으로 2차원 공간의 4분할 방법인 쿼드트리를 사용하고 있다. 재귀적으로 분할되는 4개의 공간에 대해 사용자에 의해 생성되는 트리 노드들을 3차원 시점 절두체로부터 배재되는 영역을 도출하고 렌더링 파이프에서 제외시킴으로서 한 프레임을 완성한다. 그림 2와 같이 시점과 공간과의 거리 측량 값이나 높이 값의 조밀 분포를 판단하여 쿼드트리 자식 노드의 분할 여부를 확인하고 지형 공간 영역을 분할하는 방법으로 지형 실시간 렌더링을 실시하고 있다(Balmelli et al.
지형 높이 값 픽셀에 대한 빛의 반사도 계산은 지형의 위상학적인 높이 맵에서 인접 높이와의 경사도를 계산하고, 그 경사도에 지형 정점과 인접한 평면의 법선 벡터들의 합으로 빛의 반사율을 도출한다. 지형표면은 연속된 정점들의 경사에 의해 생성되며, 경사는 지형을 이루는 삼각형의 탄젠트 값으로 계산 된다.
지형의 블록을 분할함에 있어 각각의 계층적인 지형 블록들은 그림 4의 단계별 인덱스에 따라 부모자식의 상속관계를 유지한다. 지형 블록 렌더링 시 사용자 시점에 따라 부모 블록의 상세도 수준을 결정하고 상세도에 따라 부모 블록을 렌더링 한다. 또한 부모 블록이 일정 상세도 이상이 되면 자식 블록을 재귀적으로 요청 처리하는 구조로 구성한다.
성능/효과
각각의 트리 노드는 특정 크기의 블록 구조로 구성되어 일반적인 Quad Tree 지형 구조보다 단순한 트리구조가 구성되며, 노드 분할의 단위가 지형 원시데이터의 최소격자가 아닌 블록 단위로 이루어지므로 트리구조에 대한 변화가 적고 노드에 대한 시점과의 거리 연산, 노드에 대한 조밀도 계산 등 기하학적 연산이 최소화 될 수 있다. 또한 블록 데이터는 비메모리 저장소에서 요청되어 처리되므로 대용량 지형 데이터를 효율적으로 관리 할 수 있다.
레벨 단위로 분할된 지형 블록에 지형 높이 값으로부터 생성된 음영기복도를 Texture Mapping 하여 가시효과를 강화하며, 부모 지형 블록의 음영기복도는 자식 지형 블록 노드의 2×2개의 지형 조각들을 결합하여 완성할 수 있다.
그림 11에서는 음영기복도를 포함한 솔리드 형태의 지형과 실시간 지형 블록을 변화를 표현할 수 있도록 와이어프레임 모드로 변경하여 실행하였으며, 그림 12에서는 사용자 시점에 따른 지형 블록의 상세도변화를 실험하였다. 실험 결과 약 2.56 기가바이트의 피라미드 정보가 포함된 지형정보에 대해 사용자 시점의 이동에 따른 지형 블록의 요청처리과 블록의 상세도 조절시 평균 20fps의 초당 프레임 속도를 유지하면서 평균 메모리 사용량은 50 mega byte를 넘지 않는 것으로 나타났다.
비메모리 방식의 대용량 지형의 실시간 가시화를 위하여 Quad Tree 구조의 트리노드에 2배수의 블록을 삽입하는 방법으로 계층의 단계를 감소시키고, 비메모리 저장소에서 블록 데이터의 접근 시간을 최소화 하는 방안을 제시하였으며, 사용자 시야에 따라 블록의 상세도를 조절함으로서 대용량 지형의 실시간 가시화가 가능하게 하였다. 실험에서 일반적인 동영상 파일의 초당 프레임수가 16프레임으로 설정할 때 관찰자의 이동과 반응하여 최적의 메모리 상태를 유지하면서도 대규모 지형의 부드러운 표현이 가능함을 확인할 수 있었다.
후속연구
향후, 본 연구가 더욱더 심층적으로 진행될 경우 파일 구조뿐 만 아니라 네트워크 환경에서도 지형 블록 단위 전송으로 가시화 구현이 가능할 것으로 기대된다. 또한 대규모 3차원 지형 모델의 가시화 뿐 만이 아니라, 그림 13과 같이 성토 및 절토량 분석, 가시권 분석, 최단거리 분석 등 지형 분석에 관한 모듈 개발이 추가적으로 연구되어야 할 것으로 사료된다. 현재 구축된 음영기복 이미지 대신 위상학적 좌표를 가진 위성영상 또는 항공영상을 지형 모델에 매핑함으로서 보다 현실감 있는 시각화를 이룰 수 있으며, 또한 3차원 지형 모델 기반 위에서 실세계와 유사하게 모델링 된 건물등 다양한 3차원 시설물 정보를 구축함으로서 가상현실을 구현 할 수 있을 것으로 사료된다.
향후, 본 연구가 더욱더 심층적으로 진행될 경우 파일 구조뿐 만 아니라 네트워크 환경에서도 지형 블록 단위 전송으로 가시화 구현이 가능할 것으로 기대된다. 또한 대규모 3차원 지형 모델의 가시화 뿐 만이 아니라, 그림 13과 같이 성토 및 절토량 분석, 가시권 분석, 최단거리 분석 등 지형 분석에 관한 모듈 개발이 추가적으로 연구되어야 할 것으로 사료된다.
또한 대규모 3차원 지형 모델의 가시화 뿐 만이 아니라, 그림 13과 같이 성토 및 절토량 분석, 가시권 분석, 최단거리 분석 등 지형 분석에 관한 모듈 개발이 추가적으로 연구되어야 할 것으로 사료된다. 현재 구축된 음영기복 이미지 대신 위상학적 좌표를 가진 위성영상 또는 항공영상을 지형 모델에 매핑함으로서 보다 현실감 있는 시각화를 이룰 수 있으며, 또한 3차원 지형 모델 기반 위에서 실세계와 유사하게 모델링 된 건물등 다양한 3차원 시설물 정보를 구축함으로서 가상현실을 구현 할 수 있을 것으로 사료된다.
질의응답
핵심어
질문
논문에서 추출한 답변
지형 정보의 시각화 기술이 극복하지 못한 과제는 무엇인가?
최근 지형 정보의 시각화 기술은 GIS 응용분야는 물론 게임, 가상현실, 항공 시뮬레이션 및 군사적인 목적 등을 실현하기 위한 중요한 기술로 부각되고 있다(유병현 2002). 그러나 대용량 지형 데이터를 실시간으로 처리하여 시각화를 구현하기 위한 메모리 한계성의 극복은 아직도 과제로 남아있다. 본 연구에서는 대규모 지형 표현을 위해 파일 기반의 효율적인 실시간 LOD (level-of-detail) 알고리즘 개발을 수행하였다.
현재 3차원 그래픽 API는 솔리드 모델을 표현하는데 있어 무엇을 사용하고 있는가?
현재 3차원 그래픽 API는 솔리드 모델을 표현하는데 있어 삼각형의 조합을 사용하고 있다. 따라서 컴퓨터상에 표현되는 삼각형의 수를 그래픽 가속 하드웨어가 허용하는 범위 내에서 최적화하면서 최대한의 대용량 지형정보를 실시간으로 가시화하는 것이 핵심 기술이다.
음영기복 이미지는 어떻게 생성되는가?
음영기복 이미지는 지형의 경사도에 태양이 비치는 반사율 값이 이미지의 각 픽셀에 할당됨으로서 생성된다. 경사도 0에서 100의 범위 내에서 북서쪽 45도 각도의 하늘에서 비치는 태양에 대한 반사율(reflectance)은 식 (5)와 같이 계산된다.
참고문헌 (12)
유병현, 한순흥(2002) 비행 시뮬레이션을 위한 실시간 지형 데이터의 구축, 한국CAD/CAM학회 2002학술발표논문집, 한국CAD/CAM학회, pp. 267-274.
전재춘(2005) 원거리 도심지 가시화를 위한 3D 영상 모자이크에서 3D 파노라믹 모자이크, 대한토목학회논문집, 대한토목학회, 제25권 제4-D호, pp. 627-633.
진종욱, 원광연(2006) 행성 규모 지리정보의 실시간 시각화를 위한 다계층 4-8 타일 구조, 한국지리정보학회지, 한국지리정보학회, 제9권 제4호, pp. 12-20.
Balmelli, L. et al. (1999) Quadtrees for embedded surface visualization: Constraints and efficient data structures, Proceedings of IEEE International Conference on Image, Vol. 2, pp. 487-491.
Bryan, T. (2000) Realtime Dynamic Level of Detail Terrain rendering with ROAM, Gamasutra, pp. 2-4. http://www.gamasutra.com/features/200000403/turner_01.htm
Corpes, G. (2001) Procedural landscapes, Presentation at Game Developer's Conference, http://www.cix.co.uk/glennc/gdcetalk_files/frame.htm
Fisher, P.F. (1996) Extending the applicability of viewsheds in landscape planning. Photogrammetric Engineering and Remote Sensing, Vol. 62, pp. 297-302.
Greg, S. (2004) C++과 DirectX 9를 이용한 실시간 3D지형엔진, 정보문화사, pp. 195-220.
Hadrian, D.R., Bishop, I.D., and Mitcheltree, R. (1988) Automated mapping of visual impacts in utility corridors. Landscape and Urban Planning, Vol. 16, pp. 261-282.
Renato, P. and Enrico, G. (2007) Survey on semi-regular multiresolution models for interactive terrain rendering, The Visual Computer, Vol. 23, No. 8, pp. 583-605.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.