KR101934202B1 - 3차원 트리 형태 물체 탐색을 위한 분기 영역 및 구조 기반 가상 카메라 설정 방법 및 장치 - Google Patents

3차원 트리 형태 물체 탐색을 위한 분기 영역 및 구조 기반 가상 카메라 설정 방법 및 장치 Download PDF

Info

Publication number
KR101934202B1
KR101934202B1 KR1020170095242A KR20170095242A KR101934202B1 KR 101934202 B1 KR101934202 B1 KR 101934202B1 KR 1020170095242 A KR1020170095242 A KR 1020170095242A KR 20170095242 A KR20170095242 A KR 20170095242A KR 101934202 B1 KR101934202 B1 KR 101934202B1
Authority
KR
South Korea
Prior art keywords
screen
virtual model
module
dimensional virtual
agent
Prior art date
Application number
KR1020170095242A
Other languages
English (en)
Inventor
박진아
장재현
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020170095242A priority Critical patent/KR101934202B1/ko
Application granted granted Critical
Publication of KR101934202B1 publication Critical patent/KR101934202B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • G06K9/3233
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)

Abstract

3차원 트리 형태의 물체 탐색을 위한 분기 영역 및 구조 기반 가상 카메라 설정 방법 및 장치가 개시된다. 일 실시예에 따른 3차원 가상 모델 탐색 방법은 현재 탐색하고 있는 3차원 가상 모델의 관심 영역 내 에이전트의 위치를 수신하는 단계와, 상기 에이전트 위치 및 상기 관심 영역 내 분기 영역에 기초하여 상기 에이전트의 이동에 따른 최적화된 화면을 생성하는 단계를 포함한다.

Description

3차원 트리 형태 물체 탐색을 위한 분기 영역 및 구조 기반 가상 카메라 설정 방법 및 장치{A METHOD AND APPARATUS FOR SETTING VIRTUAL CAMERA BASED ON BRANCHING REGION AND STRUCTURES FOR EXPLORING 3D TREELIKE OBJECTS}
아래 실시예들은 3차원 트리 형태 물체를 탐색하기 위한 가상 카메라 설정 방법 및 장치에 관한 것이다.
뇌혈관과 같이 좁은 내부 영역을 갖는 물체를 탐색하는 작업의 경우 작업자가 해당 내부 영역에 대한 정보를 물리적인 카메라를 통해 얻을 수 없기 때문에 탐색 대상에 대한 3차원 가상 모델을 구성하여 탐색한다. 3차원 가상 모델로 탐색할 주변 영역과 구조를 모델 밖에 위치한 가상 카메라가 만들어주는 화면을 통해 제공 받는다.
효율적인 조작을 위해 최적화된 화면을 사용자에게 제공하는 것이 중요하다. 가상 모델에 보편적으로 사용되는 기법 중 하나로 뷰포인트 엔트로피 기법이 있다. 뷰포인트 엔트로피 기법은 가상 카메라의 초점면에 투영된 모델의 면적과 투영된 삼각형의 개수의 정보를 정보 이론에 입각한 엔트로피를 구함으로써 최적화된 화면을 구성하는 것이다.
뷰포인트 엔트로피 기법을 이용하여 기하학적 정보로 구성된 최적화된 화면을 구할 수 있다. 하지만 뷰포인트 엔트로피 기법은 조작하는 대상의 탐색 상황인 분기 영역과 분기 상황을 고려하지 않기 때문에, 최종적으로 만들어진 화면은 겹쳐진 분기 구조들을 사용자에게 전달할 수 있다. 따라서 정확한 조작을 하기 위해서는 추가적인 가상 카메라 설정이 필요하다.
실시예들은 3차원 트리 형태의 물체를 탐색하기 위하여 가상 카메라를 설정하는 기술을 제공할 수 있다.
일 실시예에 따른 3차원 가상 모델 탐색 방법은, 탐색하고 있는 3차원 가상 모델의 관심 영역 내 에이전트의 위치를 수신하는 단계와, 상기 에이전트 위치 및 상기 관심 영역 내 분기 영역에 기초하여 상기 에이전트의 이동에 따른 최적화된 화면을 생성하는 단계를 포함한다.
상기 생성하는 단계는, 상기 3차원 가상 모델을 이용하여 상기 에이전트의 이동에 따라 디스플레이할 화면을 전처리하는 단계와, 전처리된 화면을 렌더링하는 단계를 포함할 수 있다.
상기 전처리하는 단계는, 상기 3차원 가상 모델을 불러오는 단계와, 상기 3차원 가상 모델에 기초하여 상기 3차원 가상 모델의 중심선을 추출하는 단계와, 상기 중심선을 분해하여 분기점들을 생성하는 단계와, 상기 분기점들을 이용하여 상기 3차원 가상 모델을 그래프 자료구조로 추상화하는 단계와, 상기 그래프 자료구조를 이용하여 상기 최적화된 화면을 구성하는 단계를 포함할 수 있다.
상기 추출하는 단계는, 상기 가상 3차원 가상 모델의 내부 영역을 근사하는 중심선 및 최대 내접구를 계산하는 단계를 포함할 수 있다.
상기 구성하는 단계는, 상기 분기점들에 기초하여 상기 3차원 가상 모델을 전환 영역과 인접 세그먼트 영역으로 구분하는 단계와, 상기 전환 영역 및 상기 인접 세그먼트 영역에 기초하여 관심 영역을 설정하는 단계와, 상기 전환 영역의 끝점과 상기 인접 세그먼트 영역의 끝점을 이용하여 최적의 관찰을 위한 화면 방향을 제시하는 단계와, 상기 분기점들과 상기 관심 영역에 기초하여 바운딩 스피어를 계산하는 단계와, 상기 화면 방향에 대하여 뷰 포인트 엔트로피를 계산하는 단계와, 상기 바운딩 스피어 및 상기 뷰 포인트 엔트로피에 기초한 평균 기여도를 계산하여 평균 기여도가 가장 높은 화면을 상기 최적화된 화면으로 디스플레이하는 단계를 포함할 수 있다.
상기 뷰 포인트 엔트로피를 계산하는 단계는, 상기 화면 방향에 대하여 뷰 포인트를 계산하는 단계와, 상기 바운딩 스피어에 한정된 뷰 포인트 엔트로피를 계산하는 단계를 포함할 수 있다.
상기 생성하는 단계는, 상기 에이전트의 새로운 위치를 수신하는 경우, 상기 전처리된 화면에 대한 정보를 이용하여 상기 최적화된 화면으로부터 전환되는 중간 화면을 설정하는 단계를 더 포함할 수 있다.
상기 설정하는 단계는, 상기 에이전트의 위치를 상기 그래프 자료구조에 대응시켜 인접한 분기점 정보를 도출하는 단계와, 뷰 포인트, 상기 분기점들 및 상기 에이전트의 위치에 대한 3차 베지어 곡선(cubic bezier curve)을 이용하여 새로운 카메라의 위치를 결정하는 단계와, 상기 분기점들의 위치에 기초하여 보간률을 결정하는 단계와, 상기 보간률을 적용해 업벡터를 보간하여 카메라에 설정하는 단계를 포함할 수 있다.
일 실시예에 따른 3차원 가상 모델 탐색 장치는, 탐색하고 있는 3차원 가상 모델의 관심 영역 내 에이전트의 위치를 수신하는 수신기와, 상기 에이전트 위치 및 상기 관심 영역 내 분기 영역에 기초하여 상기 에이전트의 이동에 따른 최적화된 화면을 생성하는 컨트롤러를 포함한다.
상기 컨트롤러는, 상기 3차원 가상 모델을 이용하여 상기 에이전트의 이동에 따라 디스플레이할 화면을 전처리하는 전처리 모듈과, 전처리된 화면을 렌더링하는 렌더링 모듈을 포함할 수 있다.
상기 전처리 모듈은, 상기 3차원 가상 모델을 불러오는 로딩 모듈과, 상기 3차원 가상 모델에 기초하여 상기 3차원 가상 모델의 중심선을 추출하는 중심선 추출 모듈과, 상기 중심선을 분해하여 분기점들을 생성하는 분기점 생성 모듈과, 상기 분기점들을 이용하여 상기 3차원 가상 모델을 그래프 자료구조로 추상화하는 그래프 자료 구조 생성 모듈과, 상기 그래프 자료구조를 이용하여 상기 최적화된 화면을 구성하는 최적 화면 구성 모듈을 포함할 수 있다.
상기 중심선 추출 모듈은, 상기 3차원 가상 모델의 내부 영역을 근사하는 중심선 및 최대 내접구를 계산할 수 있다.
상기 최적 화면 구성 모듈은, 상기 분기점들에 기초하여 상기 3차원 가상 모델을 전환 영역과 인접 세그먼트 영역으로 구분하는 영역 구분 모듈과, 상기 전환 영역 및 상기 인접 세그먼트 영역에 기초하여 관심 영역을 설정하는 관심 영역 설정 모듈과, 상기 전환 영역의 끝점과 상기 인접 세그먼트 영역의 끝점을 이용하여 최적의 관찰을 위한 화면 방향을 제시하는 화면 방향 제시 모듈과, 상기 분기점들과 상기 관심 영역에 기초하여 바운딩 스피어를 계산하는 바운딩 스피어 계산 모듈과, 상기 화면 방향에 대하여 뷰 포인트 엔트로피를 계산하는 엔트로피 계산 모듈과, 상기 바운딩 스피어 및 상기 뷰 포인트 엔트로피에 기초한 평균 기여도를 계산하여 평균 기여도가 가장 높은 화면을 상기 최적화된 화면으로 디스플레이하는 평균 기여도 계산 모듈을 포함할 수 있다.
상기 엔트로피 계산 모듈은, 상기 화면 방향에 대하여 뷰 포인트를 계산하고, 상기 바운딩 스피어에 한정된 뷰 포인트 엔트로피를 계산할 수 있다.
상기 컨트롤러는, 상기 에이전트의 새로운 위치를 수신하는 경우, 상기 전처리된 화면에 대한 정보를 이용하여 상기 최적화된 화면으로부터 전환되는 중간 화면을 설정하는 중간 화면 설정 모듈을 더 포함할 수 있다.
상기 중간 화면 설정 모듈은, 상기 에이전트의 위치를 상기 그래프 자료구조에 대응시켜 인접한 분기점 정보를 도출하고, 뷰 포인트, 상기 분기점들 및 상기 에이전트의 위치에 대한 3차 베지어 곡선(cubic bezier curve)을 이용하여 새로운 카메라의 위치를 결정하고, 상기 분기점들의 위치에 기초하여 보간률을 결정하고, 상기 보간률을 적용해 업벡터를 보간하여 카메라에 설정할 수 있다.
도 1은 일 실시예에 따른 3차원 가상 모델 탐색 장치의 개략적인 블록도이다.
도 2는 도 1에 도시된 컨트롤러와 GPU의 동작 프로세스의 예를 나타낸다.
도 3은 도 1에 도시된 컨트롤러의 개략적인 블록도이다.
도 4는 도 3에 도시된 전처리 모듈의 동작 프로세스의 예를 나타낸다.
도 5는 도 3의 중간 화면 설정 모듈의 동작을 설명하기 위한 예를 나타낸다.
도 6는 도 3에 도시된 전처리 모듈의 개략적인 블록도이다.
도 7은 도 6에 도시된 최적 화면 구성 모듈의 개략적인 블록도이다.
도 8은 도 7에 도시된 영역 구분 모듈의 동작을 설명하기 위한 예를 나타낸다.
도 9는 도 7에 도시된 화면 방향 제시 모듈의 동작을 설명하기 위한 예를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 3차원 가상 모델 탐색 장치의 개략적인 블록도이고, 도 2는 도 1에 도시된 컨트롤러와 GPU의 동작 프로세스의 예를 나타낸다.
도 1을 참조하면, 3차원 가상 모델 탐색 장치(10)는 탐색하고 있는 3차원 가상 모델의 관심 영역 내 에이전트의 위치를 수신하고, 에이전트 위치 및 관심 영역 내 분기 영역에 기초하여 에이전트의 이동에 따른 최적화된 화면을 생성한다.
3차원 가상 모델 탐색 장치(10)는 트리 형태의 3차원 모델을 탐색할 수 있다. 3차원 가상 모델 탐색 장치(10)는 3차원 모델 밖에 위치한 가상 카메라가 도달한 분기점의 분기 영역과 분기 상황에 대응하여 새로운 가상 카메라에 대한 설정을 제공할 수 있다.
가상 카메라는 컴퓨터 그래픽스 분야에서 사용되는 용어로 가상 공간에 있는 물체를 촬영(렌더링)하는 객체로 복수의 설정 값들을 통해 렌더링할 영역(frustum)을 정의할 수 있다.
가상 카메라가 사용하는 설정 값들은 3차원 공간 좌표인 카메라의 위치(location, position), 3차원 방향 축 정의를 위해 사용되는 2 개의 벡터로 나타나는 카메라 오리엔테이션 및 시야각(Field Of View)을 포함할 수 있다. 예를 들어, 시야각은 90도 일 수 있다.
3차원 방향 축 정의를 위해 사용되는 2개의 벡터는 대상 물체를 향하는 방향 벡터인 룩 벡터(look vector, look direction) 및 카메라의 위 방향을 정의하는 방향 벡터인 업 벡터(up vector, up direction)을 포함할 수 있다. 룩 벡터는 카메라 정면 방향 축을 의미할 수 있고, 업 벡터는 카메라 위 방향 축을 의미할 수 있다.
예를 들어, 3차원 가상 모델 탐색 장치(10)는 시야각 90도인 경우, 카메라의 위치, 카메라의 업 벡터, 카메라의 룩 벡터에 대한 설정 값을 부여할 수 있다.
3차원 가상 모델 탐색 장치(10)는 현재 탐색하고 있는 분기 영역을 기하학적 및 구조적으로 분석하여 최적화된 화면을 제공할 수 있다. 3차원 가상 모델 탐색 장치(10)는 좁은 내부 영역을 갖는 동시에 구조가 복잡한 물체를 탐색하는데 효율적인 화면을 제시하여 작업 능률을 높일 수 있다.
3차원 가상 모델 탐색 장치(10)는 모델 기반 탐색 시뮬레이션, 의료 시뮬레이션, 컴퓨터 기반 시술 계획 등 컴퓨터 그래픽스 분야의 다양한 어플리케이션에 적용될 수 있다. 예를 들어, 3차원 가상 모델 탐색 장치(10)는 뇌혈관 3차원 형상 모델을 추출하여 뇌혈관의 중심선을 추출한 후, 추상화한 그래프를 사용하여 각 분기점에서의 최적 화면을 구성할 수 있다.
또한, 3차원 가상 모델 탐색 장치(10)는 뇌혈관 시술 시 3차원 입력에 따라 해당 입력에 대하여 탐색 문맥 전환이 자연스럽게 이루어지도록 중간 화면을 생성하기 때문에 급격한 탐색 문맥의 전환을 방지할 수 있다.
중간 화면이란 가상 모델 탐색 장치(10)가 최적화된 화면과 연결되어, 에이전트의 새로운 위치에 의해 전환될 화면을 의미할 수 있다. 즉, 중간 화면을 통해서 가상 모델 탐색 장치(10)는 지속적으로 최적화된 화면을 자연스럽게 전환시킬 수 있다.
3차원 가상 모델 탐색 장치(10)는 탐색 문맥을 자연스럽게 전환함으로써, 트리 형태의 물체를 탐색하는 다양한 상황에 활용될 수 있다.
3차원 가상 모델 탐색 장치(10)는 에이전트를 이용하여 물체 내부를 탐색할 수 있다. 에이전트란 사용자가 입력 인터페이스를 통해 조작하는 탐색자를 의미할 수 있다.
본 명세서에서, 에이전트와 사용자가 물체 내부에 위치한 에이전트를 컨트롤러 등의 입력 인터페이스를 이용하여 물체 내부의 특정 지점까지 에이전트를 옮기는 작업을 '물체를 탐색한다'라고 정의할 수 있다.
예를 들어, 대장 내시경의 경우, 사용자가 내시경을 대장 내부에서 움직일 때, '물체'는 대장, '탐색 작업'은 대장 내벽을 관할 하는 것, '에이전트'는 내시경을 의미할 수 있다.
에이전트 자체가 물리적인 카메라를 가지지 않는 경우(예를 들어, 뇌혈관 안을 탐색하고자 하는 카테터 시술에서의 카테터), 3차원 가상 모델 탐색 장치(10)는 에이전트의 현재 위치를 추적하기 위해 물체의 3차원 구조 및 형상에 대응하여 현재 에이전트가 물체의 어느 부분에 위치하고 있는지 알아낼 수 있다.
예를 들어, CT(Computed Tomography)의 경우, 3차원 가상 모델 탐색 장치(10)는 에이전트가 포함된 물체의 3차원 이미지를 가상 공간에 렌더링하여 가상 에이전트가 물체의 내부에 위치할 수 있도록 할 수 있다. 사용자가 에이전트를 입력 인터페이스로 조작하여 다른 위치로 이동하게 되면, 3차원 가상 모델 탐색 장치(10)는 사용자 프로그램을 이용하여 새롭게 촬영된 이미지에 의해 추적된 탐색자에 가상 좌표값(x,y,z)를 부여할 수 있다. 이에 따라 3차원 가상 모델 탐색 장치(10)는 변경된 위치의 탐색자를 가상 공간에서 확인할 수 있다.
3차원 가상 모델 탐색 장치(10)는 수신기(30), 컨트롤러(50) 및 GPU(Graphics Processing Unit, 70)를 포함한다.
수신기(30)는 탐색하고 있는 3차원 가상 모델의 관심 영역 내 에이전트의 위치를 수신할 수 있다.
컨트롤러(50)는 에이전트 위치 및 관심 영역 내 분기 영역에 기초하여 에이전트의 이동에 따른 최적화된 화면을 생성할 수 있다. 이때, 컨트롤러(50)는 하나의 분기 영역에 대해 기하학적 정보와 구조 정보를 종합하여 최적화된 화면을 생성할 수 있다.
컨트롤러(50)는 평균 기여도 기법을 이용하여 분기점에서 최적화면 선택할 수 있고, 3차원 가상 모델을 추상화한 그래프를 이용하여 실시간 입력에 대응하는 중간 화면을 설정하여 최적화면을 자연스럽게 전환할 수 있다.
컨트롤러(50)는 3차원 가상 모델을 이용하여 에이전트의 이동에 따라 디스플레이할 화면을 전처리할 수 있고, 전처리된 화면을 렌더링할 수 있다.
GPU(70)는 3차원 가상 모델을 시각화할 수 있다. 도 1에서 GPU(70)는 컨트롤러(50)의 외부에 위치한 것으로 도시되어 있지만, 컨트롤러(50)의 내부에 구현될 수 있다.
도 2를 참조하면, 컨트롤러(50)는 사용자의 조작에 따라 최적화된 카메라 설정을 제안할 수 있고, GPU(70)는 현재의 가상 모델을 시각화하여 디스플레이할 수 있다.
컨트롤러(50)는 가상 카메라 설정을 위해 전처리 과정 및 주요 프로그램 실행 과정을 수행할 수 있다.
컨트롤러(50)는 GPU(70)에서 컨트롤러(50)로 3차원 가상 모델을 요청하여 불러올 수 있다. 컨트롤러(50)는 중심선 추출 및 분기점 분해, 그래프 자료구조 추상화 및 분기 영역을 고려한 최적화면 설정을 포함하는 전처리를 수행할 수 있다.
컨트롤러(50)가 수신기(30)로부터 새로운 입력을 수신하는 경우, 컨트롤러(50)는 설정된 최적화면을 이용하여 3차원 입력 값에 기반하여 인접 분기점을 찾고, 중간 화면 구성을 위한 3차 베지어 곡선(cubic bezier curve)을 적용하고 업벡터를 생성할 수 있다. 컨트롤러(50)는 생성된 업벡터를 이용하여 새로운 가상 카메라 설정 값을 생성하여 GPU(70)에 출력할 수 있다.
입력이란 사용자가 에이전트를 컨트롤할 때, 에이전트의 위치, 즉, 에이전트의 3차원 좌표를 의미할 수 있다. 예를 들어, 카테터시술의 경우, 카테터 팁의 좌표가 입력일 수 있다. 컨트롤러(50)는 에이전트가 이동함에 따라 계속해서 새로운 입력을 수신할 수 있다.
GPU(70)는 컨트롤러(50)로 3차원 가상 모델을 출력할 수 있고, 컨트롤러(50)로부터 수신한 최적화된 화면을 렌더링할 수 있다. 또한 GPU(70)는 렌더링한 화면을 디스플레이할 수 있다. 컨트롤러는 GPU(70)를 포함하여 구현될 수 있다.
도 3은 도 1에 도시된 컨트롤러의 개략적인 블록도이고, 도 4는 도 3에 도시된 전처리 모듈의 동작 프로세스의 예를 나타낸다.
도 3을 참조하면, 컨트롤러(50)는 전처리 모듈(100), 렌더링 모듈(200) 및 중간 화면 설정 모듈(300)을 포함할 수 있다.
전처리 모듈(100)은 3차원 가상 모델을 이용하여 에이전트의 이동에 따라 디스플레이할 화면을 전처리할 수 있다. 전처리 모듈(100)은 3차원 가상 모델을 불러올 수 있고, 불러온 3차원 가상 모델의 중심선을 추출할 수 있다.
전처리 모듈(100)은 추출한 중심선을 분해하여 분기점들을 생성할 수 있고, 분기점들을 이용하여 3차원 가상 모델을 그래프 자료구조로 추상화할 수 있다.
또한, 전처리 모듈(100)은 그래프 자료 구조를 이용하여 최적화면을 구성할 수 있다.
도 4에 도시된 바와 같이, 전처리 모듈(100)은 3차원 가상 모델로부터 중심선을 추출하고, 중심선 이를 분해 하여 그래프 자료구조로 추상화할 수 있다. 전처리 모듈(100)은 갈라지고 구부러져 있는 복잡한 튜브 형태의 물체의 가상 모델에 대하여 중심선을 추출할 수 있다. 전처리 모듈(100)은 생성된 중심선들을 분해하여 분기점을 생성할 수 있고, 추출한 중심선과 생성된 분기점들을 이용하여 복잡한 물체를 간소화하여 나타낼 수 있다.
렌더링 모듈(200)은 전처리된 화면을 시각화 프로그램을 이용하여 렌더링할 수 있다. 렌더링 모듈(200)은 렌더링을 하는 도중 새로운 입력을 수신할 경우 중간 화면 설정 모듈(300)을 호출할 수 있다. 렌더링 모듈(200)은 디스플레이 장치(미도시)를 통해 최적화된 화면을 디스플레이할 수 있다.
중간 화면 설정 모듈(300)은 수신기(30)를 통해 컨트롤러(50)가 에이전트의 새로운 위치 수신하는 경우, 전처리된 화면에 대한 정보를 이용하여 중간 화면을 설정할 수 있다.
에이전트의 새로운 위치는 사용자가 입력 인터페이스를 이용하여 에이전트를 조작할 때 에이전트의 가상 좌표를 의미할 수 있다. 전처리된 화면에 대한 정보는 뷰포인트, 분기점들, 에이전트의 위치 등을 포함할 수 있다.
중간 화면이란 전처리 모듈(100)이 구성한 최적화된 화면과 연결되어 에이전트의 새로운 위치에 의해 전환될 화면을 의미할 수 있다. 중간 화면 설정 모듈(300)은 중간 화면을 설정함으로써, 최적화된 화면을 자연스럽게 전환시킬 수 있다.
중간 화면 설정 모듈(300)은 에이전트의 위치를 그래프 자료구조에 대응시켜 인접한 분기점 정보를 도출하고, 뷰 포인트, 분기점들 및 에이전트의 위치에 대한 3차 베지어 곡선(cubic bezier curve)을 이용하여 새로운 카메라의 위치를 결정할 수 있다.
중간 화면 설정 모듈(300)은 분기점들의 위치에 기초하여 보간률을 결정하고, 보간률을 적용해 업벡터를 보간하여 카메라에 설정할 수 있다.
중간 화면 설정 모듈(300)은 인접한 분기점들을 연결하는 구간을 설정하고, 에이전트가 해당 구간(예를 들어, 설정된 인접한 분기점들을 연결하는 구간)에서 어느 위치에 있는지를 고려하여 보간률을 결정할 수 있다.
중간 화면 설정 모듈(300)은 실시간 입력에 따라 중간화면을 보간하여 최적 화면의 구성을 따라갈 수 있도록 카메라를 설정할 수 있다. 이에 따라, 각 분기 영역의 전환이 자연스럽게 수행될 수 있다.
도 5는 도 3의 중간 화면 설정 모듈의 동작을 설명하기 위한 예를 나타낸다.
도 5를 참조하면, 카메라의 정면 방향 축은 현재 카메라 위치에서 카메라의 초점으로 향하는 방향일 수 있다. 중간 화면 설정 모듈(300)은 카메라의 초점을 현재 추적하고 있는 에이전트에 인접한 중심선의 포인트로 설정하여, 에이전트의 위치에 대응하는 카메라의 초점을 제시할 수 있다.
각 분기점 별로 제안된 카메라의 업벡터가 다르기 때문에, 중간 화면 설정 모듈(300)은 각 에이전트 위치에서 분기점의 업벡터들을 보간한 새로운 업벡터를 사용하도록 할 수 있다. 도 9의 p1에서 p2로 에이전트가 이동할 때, 해당 줌심선의 중간 위치에 탐색자가 위치할 수 있으며, 중간 화면 설정 모듈(300)은 이 위치에 따라 보간률을 설정할 수 있다. 예를 들어, 두 개의 업벡터와 보간률이 주어질 경우, 중간 화면 설정 모듈(300)은 구형 보간법을 사용하여 새로운 업벡터를 획득할 수 있다.
도 5의 각 분기점(p1, p2)과 해당 분기점에 대한 카메라의 위치(p0, p3)가 주어졌을 경우, 중간 화면 설정 모듈(300)은 자연스럽게 가상 카메라를 이동시키기 위해서 3차 베지어 곡선을 활용할 수 있다.
중간 화면 설정 모듈(300)이 주어진 카메라 위치와 분기점(p0-p1-p2-p3)을 이용하여 베지어 곡선을 구하게 되면 카메라가 중심선 쪽에 밀착하는 상황이 발생할 수 있다. 따라서, 중간 화면 설정 모듈(300)은 해당 점들로 이루어진 평면에 대해서 p0-p3에 대칭인 p1', p2'를 구해 3차 베지어 곡선을 다시 구할 수 있다. 이에 따라, 중간 화면 설정 모듈(300)이 카메라를 이전 분기점에서 다음 분기점으로 이동시킬 때 전환이 매끄러워져, 자연스럽게 카메라를 이동시킬 수 있다.
도 6는 도 3에 도시된 전처리 모듈의 개략적인 블록도이다.
도 6을 참조하면, 전처리 모듈(100)은 로딩 모듈(110), 중심선 추출 모듈(130), 분기점 생성 모듈(150), 그래프 자료 구조 생성 모듈(170) 및 최적 화면 구성 모듈(190)을 포함할 수 있다.
로딩 모듈(110)은 3차원 가상 모델을 불러올 수 있다. 예를 들어, 로딩 모듈(110)은 3차원 그래픽 응용 프로그램을 이용하여 GPU(70)로부터 3차원 가상 모델을 불러올 수 있다.
중심선 추출 모듈(130)은 3차원 가상 모델에 기초하여 3차원 가상 모델의 중심선을 추출할 수 있다. 중심선 추출 모듈(130)은 3차원 가상 모델의 내부 영역을 근사하는 중심선 및 최대 내접구를 계산할 수 있다.
중심선 추출 모듈(130)은 중심선 추출 알고리즘을 이용하여 3차원 가상 모델 내부 영역을 근하는 중심선 및 최대 내접구를 계산할 수 있다. 또한, 중심선 추출 모듈(130)은 추출한 중심선을 분기점 생성 모듈(150)로 출력할 수 있다.
분기점 생성 모듈(150)은 중심선을 분해하여 분기점들을 생성할 수 있다. 분기점 생성 모듈(150)은 생성한 분기점들을 그래프 자료 구조 생성 모듈(170)로 출력할 수 있다.
그래프 자료 구조 생성 모듈(170)은 분기점들을 이용하여 3차원 가상 모델을 그래프 자료구조로 추상화할 수 있다. 그래프 자료 구조 생성 모듈(170)은 최적 화면 구성 모듈(190)로 그래프 자료 구조를 출력할 수 있다.
최적 화면 구성 모듈(190)은 그래프 자료구조를 이용하여 최적화된 화면을 구성할 수 있다.
도 7은 도 6에 도시된 최적 화면 구성 모듈의 개략적인 블록도이고, 도 8은 도 7에 도시된 영역 구분 모듈의 동작을 설명하기 위한 예를 나타내고, 도 9는 도 7에 도시된 화면 방향 제시 모듈의 동작을 설명하기 위한 예를 나타낸다.
도 7을 참조하면, 최적 화면 구성 모듈(190)은 영역 구분 모듈(191), 관심 영역 설정 모듈(192), 화면 방향 제시 모듈(193), 바운딩 스피어 계산 모듈(194), 엔트로피 계산 모듈(195) 및 평균 기여도 계산 모듈(196)을 포함할 수 있다.
영역 구분 모듈(191)은 분기점들에 기초하여 3차원 가상 모델을 전환 영역과 인접 세그먼트 영역으로 구분할 수 있다. 영역 구분 모듈(191)은 트리 구조를 가지는 물체의 통로를 입구와 출구를 가지는 세그먼트, 분기점과 세그먼트를 잇는 브릿지 구조 및 분기점으로 하나의 분기 영역 구조로 정의할 수 있다.
도 8을 참조하면, 전환 구역은 분기점으로부터 인접 세그먼트의 입구까지의 영역을 의미하고, 인접 세그먼트 영역은 인접 세그먼트의 입구로부터 인접 세그먼트의 출구까지의 영역을 의미할 수 있다.
영역 구분 모듈(191)은 구분된 영역을 관심 영역 설정 모듈(192)로 출력할 수 있다.
관심 영역 설정 모듈(192)은 전환 영역 및 인접 세그먼트 영역에 기초하여 관심 영역을 설정할 수 있다. 관심 영역 설정 모듈(192)은 구분된 전환 영역과 인접 세그먼트 영역 중 적어도 하나의 영역을 관심 영역으로 설정할 수 있다.
관심 영역 설정 모듈(192)은 각 분기점 마다 분기 구조를 분석하는데 필요한 영역을 관심 영역으로 설정할 수 있다. 관심 영역 설정 모듈(192)은 기하학적 정보와 분기 영역의 구조적 정보를 함께 고려하여 관심 영역을 설정할 수 있다.
화면 방향 제시 모듈(193)은 전환 영역의 끝점과 인접 세그먼트 영역의 끝점을 이용하여 최적의 관찰을 위한 화면 방향을 제시할 수 있다. 화면 방향 제시 모듈(193)은 카메라의 정면 방향 축 및 카메라 위 방향 축을 설정함으로써 화면 방향을 제시할 수 있다. 화면 방향 제시 모듈(193)은 제시된 화면 방향을 바운딩 스피어 계산 모듈(194) 및 엔트로피 계산 모듈(195)로 출력할 수 있다.
도 9를 참조하면, 에이전트는 이전 인접 세그먼트에서부터 분기점에 도달한 후, 다음 인접 세그먼트로 이동할 수 있다. 에이전트는 이전 인접 세그먼트의 출구에서 분기점으로 향하기 위해 브릿지를 통과할 수 있다. 또한, 에이전트는 다음 인접 세그먼트의 입구로 향하기 위해 분기점에서 다음 인접 세그먼트의 입구로 향하는 브릿지를 통과할 수 있다.
카메라의 룩 벡터는 현재 카메라 위치에서 카메라의 초점을 향하는 방향이며, 화면 방향 제시 모듈(193)이 카메라의 초점을 분기점으로 정의할 경우, 화면 방향 제시 모듈(193)은 분기점을 바라보는 화면들을 정의할 수 있다.
에이전트의 진입 상황으로 볼 때, 카메라의 업 벡터는 이전 인접 세그먼트의 출구와 분기점이 이루는 벡터로 생각할 수 있다. 즉, 화면 방향 제시 모듈(193)은 해당 진행 방향을 고려하여 분기점을 중심으로 한 화면을 설정할 수 있다.
바운딩 스피어 계산 모듈(194)은 분기점들과 관심 영역에 기초하여 바운딩 스피어를 계산할 수 있다. 바운딩 스피어는 최적 화면 구성 모듈(190)이 최적 화면을 구성함에 있어, 가상 카메라의 뷰 포인트가 위치하는 기하학적 공간을 의미할 수 있다.
바운딩 스피어 계산 모듈(194)이 계산한 바운딩 스피어는 가상 모델 분기 구조의 기하학적 기본 요소(삼각형)들을 포괄할 수 있다. 바운딩 스피어는 분기점을 중심으로하고 관심 영역의 구성 요소를 모두 포함할 수 있다. 바운딩 스피어 계산 모듈(194)은 계산한 바운딩 스피어를 엔트로피 계산 모듈(195) 및 평균 기여도 계산 모듈(196)로 출력할 수 있다.
엔트로피 계산 모듈(195)은 화면 방향에 대하여 뷰 포인트 엔트로피를 계산할 수 있다. 엔트로피 계산 모듈(195)은 화면 방향에 대하여 뷰 포인트를 계산하고, 바운딩 스피어에 한정된 뷰 포인트 엔트로피를 계산할 수 있다.
전환 구역에서 에이전트는 브릿지에 속할 수 있다. 에이전트는 어느 하나의 브릿지에 들어갈지 선택해야 하기 때문에 인접한 두 개의 브릿지를 중심으로 하는 화면을 생각할 수 있다. 따라서, 두 개의 인접 세그먼트의 입구와 분기점으로 형성되는 평면이 성립되며, 분기점에서 법선 방향으로 나가는 직선에 접하는 바운딩 스피어 상의 점이 전환 구역에 대한 뷰 포인트일 수 있다.
인접 세그먼트 중심 화면에서는 에이전트가 인접 세그먼트에 속할 수 있다. 에이전트는 어느 하나의 인접 세그먼트에 속해야 하는데, 사용자는 이들의 종합적인 구조를 파악하기를 희망할 수 있다. 따라서, 엔트로피 계산 모듈(195)은 두 개의 인접 세그먼트 출구와 분기점으로 형성되는 평면을 형성하고, 분기점에서 법선 방향으로 나가는 직선에 접하는 바운딩 스피어 상의 점을 인접 세그먼트 중심 화면의 뷰 포인트로 설정할 수 있다.
뷰 포인트 엔트로피는 3차원 가상 공간에서 좋은 화면을 선택하기 위한 지표를 의미할 수 있다. 엔트로피 계산 모듈(195)은 해당 카메라의 위치에서 물체를 이루고 있는 기하학적 기본 요소(삼각형)의 개수와 각 기하학적 기본 요소들이 화면에 사영되는 영역을 이용하여 정보량을 계산할 수 있다. 엔트로피 계산 모듈(195)은 정보 이론에서 제안하는 엔트로피의 정의(확률 변수의 불확실성 또는 확률 변수의 평균 정보량)에 기반하여 정보량을 계산할 수 있다.
카메라의 위치(뷰 포인트)에 대한 뷰포인트 엔트로피는, 해당 위치에서 카메라에 사영되는 영역에 대해 물체의 각 기하학적 요소가 사영된 영역 및 전체 단위 면적에 대한 정보를 구하여 최정적으로 평균 정보량을 구하는 방식으로 정의할 수 있다. 카메라에 사영되는 영역은 단위 구로 정의될 수 있고, 단위 면적에 대한 정보는 bit단위로 나타낼 수 있다.
엔트로피 계산 모듈(195)는 수학식 1에 기초하여 뷰 포인트 엔트로피를 계산할 수 있다.
Figure 112017072418509-pat00001
여기서, Ai는 각 기하학적 요소가 사영된 영역을 의미하고, At는 전체 단위 면적을 의미할 수 있다.
평균 기여도 계산 모듈(196)은 바운딩 스피어 및 뷰 포인트 엔트로피에 기초한 평균 기여도를 계산하여 평균 기여도가 가장 높은 화면을 최적화된 화면으로 디스플레이할 수 있다.
평균 기여도 계산 모듈(196)은 계산된 바운딩 스피어 상의 임의의 한 점에 대한 화면을 도출할 때, 화면 방향 제시 모듈(193)이 제시한 화면 방향들로 만들어진 화면들이 얼마나 영향을 줄 수 있는지 및 해당 화면들의 엔트로피 계산 결과에 기초하여 평균 기여도를 계산할 수 있다.
평균 기여도 계산 모듈(196)은 현재 분기점에 대해 적절한 카메라 위치를 찾기 위해서 검색 영역을 바운딩 스피어로 제한할 수 있다. 평균 기여도 계산 모듈(196)은 분기 구조의 기하학적 기본요소(삼각형)들을 모두 포괄하는 바운딩 스피어 상에서 최적 화면을 찾을 수 있다.
평균 기여도 계산 모듈(196)은 각 화면들의 법선 방향과 이들의 뷰 포인트 엔트로피를 가중치로 계산하여 최종적으로 바운딩 스피어 상의 한 지점에서 이들의 평균 기여도를 계산할 수 있다. 평균 기여도 계산 모듈(196)은 계산한 평균 기여도가 가장 높은 화면을 최적화면으로 제시할 수 있고, 이를 렌더링 모듈(200)로 출력할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (16)

  1. 탐색하고 있는 3차원 가상 모델의 관심 영역 내 에이전트의 위치를 수신하는 단계; 및
    상기 에이전트 위치 및 상기 관심 영역 내 분기 영역에 기초한 바운딩 스피어 및 상기 바운딩 스피어에 기초하여 계산된 뷰 포인트 엔트로피를 이용하여 상기 에이전트의 이동에 따른 최적화된 화면을 생성하는 단계
    를 포함하는 3차원 가상 모델 탐색 방법.
  2. 제1항에 있어서,
    상기 생성하는 단계는,
    상기 3차원 가상 모델을 이용하여 상기 에이전트의 이동에 따라 디스플레이할 화면을 전처리하는 단계; 및
    전처리된 화면을 렌더링하는 단계
    를 포함하는 3차원 가상 모델 탐색 방법.
  3. 제2항에 있어서,
    상기 전처리하는 단계는,
    상기 3차원 가상 모델을 불러오는 단계;
    상기 3차원 가상 모델에 기초하여 상기 3차원 가상 모델의 중심선을 추출하는 단계;
    상기 중심선을 분해하여 분기점들을 생성하는 단계;
    상기 분기점들을 이용하여 상기 3차원 가상 모델을 그래프 자료구조로 추상화하는 단계; 및
    상기 그래프 자료구조를 이용하여 상기 최적화된 화면을 구성하는 단계
    를 포함하는 3차원 가상 모델 탐색 방법.
  4. 제3항에 있어서,
    상기 추출하는 단계는,
    상기 3차원 가상 모델의 내부 영역을 근사하는 중심선 및 최대 내접구를 계산하는 단계
    를 포함하는 3차원 가상 모델 탐색 방법.
  5. 제3항에 있어서,
    상기 구성하는 단계는,
    상기 분기점들에 기초하여 상기 3차원 가상 모델을 전환 영역과 인접 세그먼트 영역으로 구분하는 단계;
    상기 전환 영역 및 상기 인접 세그먼트 영역에 기초하여 관심 영역을 설정하는 단계;
    상기 전환 영역의 끝점과 상기 인접 세그먼트 영역의 끝점을 이용하여 최적의 관찰을 위한 화면 방향을 제시하는 단계;
    상기 분기점들과 상기 관심 영역에 기초하여 상기 바운딩 스피어를 계산하는 단계;
    상기 화면 방향에 대하여 상기 뷰 포인트 엔트로피를 계산하는 단계; 및
    상기 바운딩 스피어 및 상기 뷰 포인트 엔트로피에 기초한 평균 기여도를 계산하여 평균 기여도가 가장 높은 화면을 상기 최적화된 화면으로 디스플레이하는 단계
    를 포함하는 3차원 가상 모델 탐색 방법.
  6. 제5항에 있어서,
    상기 뷰 포인트 엔트로피를 계산하는 단계는,
    상기 화면 방향에 대하여 뷰 포인트를 계산하는 단계; 및
    상기 바운딩 스피어에 한정된 뷰 포인트 엔트로피를 계산하는 단계
    를 포함하는 3차원 가상 모델 탐색 방법.
  7. 제3항에 있어서,
    상기 최적화된 화면을 생성하는 단계는,
    상기 에이전트의 새로운 위치를 수신하는 경우, 상기 전처리된 화면에 대한 정보를 이용하여 상기 최적화된 화면으로부터 전환되는 중간 화면을 설정하는 단계
    를 더 포함하는 3차원 가상 모델 탐색 방법.
  8. 제7항에 있어서,
    상기 설정하는 단계는,
    상기 에이전트의 위치를 상기 그래프 자료구조에 대응시켜 인접한 분기점 정보를 도출하는 단계;
    뷰 포인트, 상기 분기점들 및 상기 에이전트의 위치에 대한 3차 베지어 곡선(cubic bezier curve)을 이용하여 새로운 카메라의 위치를 결정하는 단계;
    상기 분기점들의 위치에 기초하여 보간률을 결정하는 단계; 및
    상기 보간률을 적용해 업벡터를 보간하여 카메라에 설정하는 단계
    를 포함하는 3차원 가상 모델 탐색 방법.
  9. 탐색하고 있는 3차원 가상 모델의 관심 영역 내 에이전트의 위치를 수신하는 수신기; 및
    상기 에이전트 위치 및 상기 관심 영역 내 분기 영역에 기초한 바운딩 스피어 및 상기 바운딩 스피어에 기초하여 계산된 뷰 포인트 엔트로피를 이용하여 상기 에이전트의 이동에 따른 최적화된 화면을 생성하는 컨트롤러
    를 포함하는 3차원 가상 모델 탐색 장치.
  10. 제9항에 있어서,
    상기 컨트롤러는,
    상기 3차원 가상 모델을 이용하여 상기 에이전트의 이동에 따라 디스플레이할 화면을 전처리하는 전처리 모듈; 및
    전처리된 화면을 렌더링하는 렌더링 모듈
    을 포함하는 3차원 가상 모델 탐색 장치
  11. 제10항에 있어서,
    상기 전처리 모듈은,
    상기 3차원 가상 모델을 불러오는 로딩 모듈;
    상기 3차원 가상 모델에 기초하여 상기 3차원 가상 모델의 중심선을 추출하는 중심선 추출 모듈;
    상기 중심선을 분해하여 분기점들을 생성하는 분기점 생성 모듈;
    상기 분기점들을 이용하여 상기 3차원 가상 모델을 그래프 자료구조로 추상화하는 그래프 자료 구조 생성 모듈; 및
    상기 그래프 자료구조를 이용하여 상기 최적화된 화면을 구성하는 최적 화면 구성 모듈
    을 포함하는 3차원 가상 모델 탐색 장치.
  12. 제11항에 있어서,
    상기 중심선 추출 모듈은,
    상기 3차원 가상 모델의 내부 영역을 근사하는 중심선 및 최대 내접구를 계산하는
    3차원 가상 모델 탐색 장치.
  13. 제11항에 있어서,
    상기 최적 화면 구성 모듈은,
    상기 분기점들에 기초하여 상기 3차원 가상 모델을 전환 영역과 인접 세그먼트 영역으로 구분하는 영역 구분 모듈;
    상기 전환 영역 및 상기 인접 세그먼트 영역에 기초하여 관심 영역을 설정하는 관심 영역 설정 모듈;
    상기 전환 영역의 끝점과 상기 인접 세그먼트 영역의 끝점을 이용하여 최적의 관찰을 위한 화면 방향을 제시하는 화면 방향 제시 모듈;
    상기 분기점들과 상기 관심 영역에 기초하여 상기 바운딩 스피어를 계산하는 바운딩 스피어 계산 모듈;
    상기 화면 방향에 대하여 상기 뷰 포인트 엔트로피를 계산하는 엔트로피 계산 모듈; 및
    상기 바운딩 스피어 및 상기 뷰 포인트 엔트로피에 기초한 평균 기여도를 계산하여 평균 기여도가 가장 높은 화면을 상기 최적화된 화면으로 디스플레이하는 평균 기여도 계산 모듈
    을 포함하는 3차원 가상 모델 탐색 장치.
  14. 제13항에 있어서,
    상기 엔트로피 계산 모듈은,
    상기 화면 방향에 대하여 뷰 포인트를 계산하고, 상기 바운딩 스피어에 한정된 뷰 포인트 엔트로피를 계산하는
    3차원 가상 모델 탐색 장치.
  15. 제11항에 있어서,
    상기 컨트롤러는,
    상기 에이전트의 새로운 위치를 수신하는 경우, 상기 전처리된 화면에 대한 정보를 이용하여 상기 최적화된 화면으로부터 전환되는 중간 화면을 설정하는 중간 화면 설정 모듈
    을 더 포함하는 3차원 가상 모델 탐색 장치.
  16. 제15항에 있어서,
    상기 중간 화면 설정 모듈은,
    상기 에이전트의 위치를 상기 그래프 자료구조에 대응시켜 인접한 분기점 정보를 도출하고, 뷰 포인트, 상기 분기점들 및 상기 에이전트의 위치에 대한 3차 베지어 곡선(cubic bezier curve)을 이용하여 새로운 카메라의 위치를 결정하고, 상기 분기점들의 위치에 기초하여 보간률을 결정하고, 상기 보간률을 적용해 업벡터를 보간하여 카메라에 설정하는
    3차원 가상 모델 탐색 장치.
KR1020170095242A 2017-07-27 2017-07-27 3차원 트리 형태 물체 탐색을 위한 분기 영역 및 구조 기반 가상 카메라 설정 방법 및 장치 KR101934202B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170095242A KR101934202B1 (ko) 2017-07-27 2017-07-27 3차원 트리 형태 물체 탐색을 위한 분기 영역 및 구조 기반 가상 카메라 설정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170095242A KR101934202B1 (ko) 2017-07-27 2017-07-27 3차원 트리 형태 물체 탐색을 위한 분기 영역 및 구조 기반 가상 카메라 설정 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101934202B1 true KR101934202B1 (ko) 2018-12-31

Family

ID=64959646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170095242A KR101934202B1 (ko) 2017-07-27 2017-07-27 3차원 트리 형태 물체 탐색을 위한 분기 영역 및 구조 기반 가상 카메라 설정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101934202B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004321796A (ja) * 2003-04-22 2004-11-18 Siemens Ag カプセル形内視鏡装置のためのコンピュータ支援3次元画像形成方法、無線内視鏡装置および医療技術装置
WO2005099423A2 (en) 2004-04-16 2005-10-27 Aman James A Automatic event videoing, tracking and content generation system
US20070172105A1 (en) 2006-01-25 2007-07-26 Claus Bahlmann System and method for local pulmonary structure classification for computer-aided nodule detection
US20080194946A1 (en) 2007-02-12 2008-08-14 The Government Of The U.S.A. As Represented By The Secretary Of The Dept. Of Health & Human Services Virtual colonoscopy via wavelets
KR101762629B1 (ko) 2016-04-01 2017-08-14 주식회사 탑코어시스템 3d bim 가상공간에서 bim 설계 및 모니터링을 위한 사용자 뷰의 시각화 방법 및 시각화 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004321796A (ja) * 2003-04-22 2004-11-18 Siemens Ag カプセル形内視鏡装置のためのコンピュータ支援3次元画像形成方法、無線内視鏡装置および医療技術装置
WO2005099423A2 (en) 2004-04-16 2005-10-27 Aman James A Automatic event videoing, tracking and content generation system
US20070172105A1 (en) 2006-01-25 2007-07-26 Claus Bahlmann System and method for local pulmonary structure classification for computer-aided nodule detection
US20080194946A1 (en) 2007-02-12 2008-08-14 The Government Of The U.S.A. As Represented By The Secretary Of The Dept. Of Health & Human Services Virtual colonoscopy via wavelets
KR101762629B1 (ko) 2016-04-01 2017-08-14 주식회사 탑코어시스템 3d bim 가상공간에서 bim 설계 및 모니터링을 위한 사용자 뷰의 시각화 방법 및 시각화 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Vazquez, Pere-Pau, et al. "Viewpoint selection using viewpoint entropy." VMV. Vol.1. 2001.

Similar Documents

Publication Publication Date Title
CN109791697B (zh) 使用统计模型从图像数据预测深度
US9639914B2 (en) Portrait deformation method and apparatus
US9053571B2 (en) Generating computer models of 3D objects
US8610712B2 (en) Object selection in stereo image pairs
US10339629B2 (en) Method for providing indication in multi-dimensional media in electronic device
US9881417B2 (en) Multi-view drawing apparatus of three-dimensional objects, and method
JP2009072576A (ja) 血管造影画像の定量的分岐解析のための方法、装置およびコンピュータプログラム
AU2022345532B2 (en) Browser optimized interactive electronic model based determination of attributes of a structure
US11704853B2 (en) Techniques for feature-based neural rendering
JP7129529B2 (ja) 人工知能の使用による3dオブジェクトへのuvマッピング
CN108629799B (zh) 一种实现增强现实的方法及设备
US20200357177A1 (en) Apparatus and method for generating point cloud data
CN115439543A (zh) 孔洞位置的确定方法和元宇宙中三维模型的生成方法
CN116097316A (zh) 用于非模态中心预测的对象识别神经网络
CN115346018A (zh) 三维模型重建方法及装置、电子设备
EP3711016B1 (en) Systems and methods for segmenting images
KR20230005312A (ko) 평면도를 생성하기 위한 방법 및 장치
Tao et al. VesselMap: A web interface to explore multivariate vascular data
KR101934202B1 (ko) 3차원 트리 형태 물체 탐색을 위한 분기 영역 및 구조 기반 가상 카메라 설정 방법 및 장치
JP7078564B2 (ja) 画像処理装置及びプログラム
CN115239892B (zh) 三维血管模型的构建方法、装置、设备及存储介质
CN112085842A (zh) 深度值确定方法及装置、电子设备和存储介质
CN115731240A (zh) 一种分割方法、装置、电子设备及存储介质
JP2022546303A (ja) 管状フィーチャのセグメント化
Chang et al. Using line consistency to estimate 3D indoor Manhattan scene layout from a single image

Legal Events

Date Code Title Description
GRNT Written decision to grant