880 likes | 1.04k Views
Context-based Surface Completion. Andrei Sharf 1 Marc Alexa 2 Daniel Cohen-Or 1 Tel Aviv University 1 Darmstadt University of Technology 2 In Proceedings of ACM SIGGRAPH 2004 Analyzed by Jung Lee. 목표. 포인트 기반 모델의 Hole 완성. Abstract 1. Introduction 2. 관련 연구 3. 자료구조 및 용어
E N D
Context-based Surface Completion Andrei Sharf1 Marc Alexa2 Daniel Cohen-Or1 Tel Aviv University1 Darmstadt University of Technology2 In Proceedings of ACM SIGGRAPH 2004 Analyzed by Jung Lee
목표 • 포인트 기반 모델의 Hole 완성
Abstract 1. Introduction 2. 관련 연구 3. 자료구조 및 용어 4. 알고리즘 개요 5. Invalid Surface 셀의 탐색 6. 최적의 Valid 셀 탐색 7. 샘플링된 Surface의 이식 8. 실험사례, 제약과 성능 9. 결론 및 향후 연구 목차
Abstract (1/3) • 레인지 스캐닝 장비로 복잡한 실세계의 Geometry를 샘플링 • 거의 대부분 불완전한 Surface 샘플링 결과 생성 • Surface의 Hole • 보통 Boundary에 맞는 부드러운 패치로 채움 • Context기반 방식을 소개 • 주어진 Surface의 특징을 분석 • Hole은 반복적으로 채워짐 • 주어진 Surface의 유효한 영역으로부터 패치를 복사
Abstract (2/3) • 기본 과정 • 가장 잘 맞는 패치를 결정하고, • 주변을 둘러싼 Surface에 맞게 정렬하여, • 가져온 패치를 Fitting • Top Down방식 • 세부로 갈수록 중간의 Coarse Approximation을 다듬어서 향상시킴 • Rigid 변환 적용 • 기존 Surface에 가져온 패치를 정렬하기 위해 • Non-Rigid 변환이 포함된 Iterative Closest Point (ICP) 과정이 연결됨
Abstract (3/3) • Surface는 근본적으로 포인트 집합 취급 • Local Implicit Approximation • 두 개의 포인트 집합 패치간의 유사성을 비교하는데 이용됨 • 포인트 기반 Surface에 대한 결과 예제 • 레인지 스캐닝에서 불완전한 샘플링에 의한 손실 • 직접적인 제거에 의한 손실
형상 획득 • 최근, 레인지 스캐닝으로 대개의 형상을 획득 가능 • 형상의 초기 표현 형태 • 적절히 변환된 몇 장의 Depth Image Surface의 불규칙적인 포인트 샘플링
연구 동기 • 어떤 부분은 몇몇 시점에서 보이지 않음 • 전체 Surface를 포함하기 위해 적정 개수의 스캔 필요 • 올바른 설정을 찾기 위해 때때로 지루한 수작업 요구 • Contact-Free Sensing • 특정 시점 집합에서 보이는(잘 반사되는) Surface 지역만 접근 가능 • 탐사기는 Surface 상의 한 점 주위에 충분히 열린 공간을 요구 • 결론적으로 복잡한 실제 물체의 샘플링은 거의 대부분 불완전 • 보이는 Surface의 일부 지역은 샘플링된 포인트로 포함할 수 없음 샘플링 상의 손실 발생
Surface 편집 연산 • 일부분이 삭제될 때 Surface에 Hole 발생 • 형상의 자연스러운 성질을 유지하고 일치하도록 채워져야 함
기존 연구 • Hole의 Boundary 조건과 일치하는 부드러운 Surface 패치로 메우는 연구 • Curless and Levoy 1996; • Davis et al. 2002; • Ilic and Fua 2003; • Liepa 2003; • Verdera et al. 2003 • Surface의 기하학적 변화에 비해 작은 크기의 Hole에 대해 잘 동작 • 일반적인 경우에서는 보다 복잡한 취급을 요구
연구 배경 • 일반적인 경우 • Hole 주변에 미세한 기하학적 Detail이 존재 • 채워진 부분에서 손실되면 안됨 • 손실된 부분의 위상이 디스크보다 복잡 • 본 논문의 목표 • Surface의 손실된 부분을 완성 • 적절히 샘플링하고 끼워 맞춰진 형상의 일부 영역을 전달 • Context-Based Surface Completion • 주어진 Surface의 Context에 기반, Surface를 완성하는 과정
동기가 된 연구 • 예제에 의한 이미지 완성에 관한 최근 방법들의 성공사례가 동기가 됨 • Criminisi et al. 2003; • Drori et al. 2003; • Jia and Tang 2003; • Sun et al. 2003 • Non-Parametric 텍스쳐 합성 방법에 기반 • Efros and Leung 1999; • Efros and Freeman 2001; • Wei and Levoy 2000; • Ying et al. 2001
착안점 • 기본 개념 • 텍스쳐나 이미지상의 손실된 부위가 • 몇 개의 지정된 예제 집합으로부터 가져온 조각들을 적절히 복제한 것으로 • 해당 영역을 재구성함으로써 생성 가능함에 착안 • 본 연구의 진행방식 • 주어진 예제 집합으로부터 가져온 패치를 통합하여, • Surface의 Hole을 완성
2차원 3차원 • 텍스쳐 합성방식 • 데이터의 주어진 공간 구조를 이용 • 이미지의 정규 격자 또는 메쉬의 연결정보 • 3차원에서 2차원 Surface를 샘플링 • 데이터의 주어진 공간 구조를 상실 • 샘플링은 불규칙적이고 파라미터 도메인을 만들지 않음 • 포인트 기반 Surface를 완성하는데 몇 가지 문제 발생
포인트 기반 Surface 완성의 이슈 • 파라미터 도메인이 없으므로 패치를 정의하기 어려움 • Hole의 Boundary에서 그 위상이나 기하 정보를 알 수 없음 • 3차원 변환의 추가된 자유도로 인해 패치를 인접부위와 맞게 정렬/회전시켜야 함 • 두 포인트 집합 간 유사성에 대한 표준 척도 부재
진행 방식 • 불규칙하게 샘플링된 Surface를 완성하는 방법 제안 • 점진적으로 Hole을 채움 • Hole에 대한 선험적인 가정 대신, • 기존의 Surface를 분석하고 • 내부 형상의 유사성 및 인접부위 정보를 이용
주요 특징 • Multi-scale • 손실된 Surface 부위의 인식, 유사성 측정, 메우는 과정 등이 Top-Down 방식으로 적용됨 • 좀 더 미세한 Detail은 Coarser Scale에서 유추됨 • Signatures • 지역적인 Surface의 표시로써 대수함수를 지역적으로 근사 • 포인트 집합 간 유사성을 측정하는데 쓰이는 낮은 차원의 Descriptor • Alignment • 선택된 패치를 인접 부위와 맞추기 위해, Rigid 변환을 적용 • 맞춰진 패치를 더 개선시키기 위해 ICP 기법을 일련의 작은 Elastic Warp과 함께 적용
또 다른 특징 • 법선 벡터를 포함한 포인트 표현 정보를 바로 처리함 • 일부 단계에서 Surface 각 부분에 대한 함수 표현 요구 • 함수 표현 • 다양한 스케일에 대하여 Surface의 근사 및 • 파라미터에 독립적인 표현이 가능해야 함 • Ohtake et al.[2003]처럼 지역적으로 대수 함수를 근사 • 공간적인 계층 구조의 모든 단계에 대하여 계산
2. 관련 연구 2. Related Work
3차원 Hole 복원 연구 • 스캐너에서 획득한 점들로 복원된 Surface • 대개 불완전하고 Hole을 가지고 있음 • 따라서, Surface 복원 알고리즘들이 샘플링 이슈에 대해 서술 • Amenta et al. 1998; Bajaj et al. 1995 • Hole을 채우거나 복원된 Surface를 수정하는 문제 • Hole을 부드러운 패치로 채움 • Clarenz et al. 2004; Davis et al. 2002; Liepa 2003; Verdera et al. 2003 • 본 연구와 유사한 방식 • Savchenko and Kojekine 2002
유사 연구 • 동기가 된 연구 • 예제 기반 이미지 완성 기법 • Criminisi et al. 2003; Drori et al. 2003; Jia and Tang 2003 • 텍스쳐 합성 기법 • Efros and Leung 1999; Efros and Freeman 2001; Wei and Levoy 2000; Ying et al. 2001 • Hertzmann et al.[2002]의 연구와 많은 점에서 유사 • Object-Space 분석 • 물체의 한 부분의 특징으로 다른 부분을 추측 • 통계적 학습 기법을 이용, 곡선의 형태를 다른 곡선에 적용 • Hertzmann et al.[2001]의 Image Analogy 개념을 확장 • 임의의 Manifold 형상간 Correspondence와 적절한 변환관계를 탐색
3. 자료구조 및 용어 3. Data Structure and Terminology
Surface 구성 요소 • 포인트 집합 {pi}, 법선 벡터 {ni} • Manifold Surface S에서 샘플링 • 집합 {pi}에 포인트 qi를 추가하고자 함 • 다른 영역의 포인트를 회전, 이동, Warping한 복사본 • 이미지에서 Fragment/Patch-Based 기법과 유사
포인트 처리를 위한 구조 생성 • Surface는 내재된 공간 구조 부재 • 적합한 영역(패치)를 찾고 선택하기 위한 기준 • 포인트 집합에 대한 중첩된 공간 계층구조 생성 • 가장 큰 셀 0는 모든 점을 포함 • 레벨 l에서의 셀 wl • 레벨 l+1의 셀들로 하위분할 • 셀의 형태로 박스를 사용, Edge의 중점에서 하위분할 • {l, l{0,1,…}}: Octree
셀 • 셀 w • 충분한 개수의 점을 포함: ||{piw}|| > m • 포인트에 기반한 지역적인 Surface 근사값을 구축 • Surface의 Implicit 근사 • 낮은 차수의 3변수 다항식 fwd : w R • 셀의 하위분할 조건 • 충분한 개수의 점을 가지고 있고, • 최대 Norm 오차가 Threshold ε를 초과하는 경우 • Ohtake et al. [2003]의 방식과 유사
셀의 분류 • Octree 구조 생성 후, Surface 셀을 구분 • Surface셀 • 현재의 Surface Approximation과 교차 • Valid: 최소한 m개의 점을 포함 • Invalid: m개보다 적은 수의 점을 포함 • Void셀 • 현재의 Surface Approximation과 교차하지 않음 • Surface 완성 과정 동안 Void와 무효 셀 간의 구별이 동적으로 업데이트 됨 • 최종 완성된 Surface를 미리 알 수 없기 때문
Figure 5 (a) (b) (c) (d) [Hole의 인식과 Top-Down 방식의 점진적인 Filling 예제]
4. 알고리즘 개요 4. Algorithm Overview
주요 아이디어 • 각각의 Invalid Surface 셀에 대하여, • 해당 셀 주변의 Surface Approximation과 잘 맞는 Valid Surface 셀의 내용을 Import 및 Paste • 위의 과정은 더 상세한 레벨에서 계속 반복됨 • 적절한 LOD에서 Import 됐을 때만 최종 Surface로 인정 • 그 외엔 업데이트된 Local Surface Approximation 계산을 위한 중간 결과로 사용 후, • 셀은 하위분할되고, • 업데이트된 Surface Approximation은 하위트리의 셀 완성에 사용 • Surface Approximation을 업데이트하는 동안 Void와 Invalid Surface 셀의 상태가 바뀔 수 있음
Initial Octree 생성 • 가장 큰 셀의 점들에서 시작 • 셀 w의 분할조건 • 셀 내의 점 개수가 m보다 크고, • Approximation 오차 가 ε보다 클 경우에만 • Octree의 Depth를 형상의 복잡도에 대한 척도로 이용
형상의 Implicit 표현 f • 본 논문은 Ohtake의 방법을 이용 • 셀에서 Local Approximation을 생성하는 어느 방법이든 사용 가능 • 거리 측정을 빠르게 수행 가능 • Taubin의 방법을 이용 [Taubin 1994]
Invalid 셀 정렬 • Coarsest 레벨에서부터 • Octree의 다음 Coarse 레벨의 Shape Approximation에 근거하여 • 현재 레벨의 각 셀에 대해 Shape Signature를 계산 • Invalid Surface 셀의 집합을 판단 • 각각의 Invalid Surface 셀에 대하여 • 같은 레벨에 있는 인접한 Valid Surface 셀을 계산 • 이 집합은 Valid 인접 셀의 개수에 따라 정렬됨
Import / Paste • 정렬된 Invalid Surface 셀 집합의 첫번째 셀을 처리 • Signature를 바탕으로 최적의 Valid Surface 셀을 탐색 • 최적 Valid 셀의 내용을 Invalid 셀에 복사 • 적절한 Rigid 변환 요구 • 가져온 점들을 주변의 형상에 맞춰 정렬하기 위해 • Non-Rigid 변환을 추가 • 가져온 점들은 셀의 Local Shape Approximation 재계산에 이용됨
채워진 셀의 평가 • Invalid 셀을 가장 잘 맞는 Valid 셀의 점들로 채운 후, 적합성을 평가 • 셀 크기와 지역적 형상 복잡도 사이의 상관관계 이용 • 인접한 Valid 셀들이 말단 노드인 경우에만, • 가져온 점들을 최종적으로 받아들이고, 셀을 Valid로 전환 • 그렇지 않은 경우, • 점들은 버려지고, • 업데이트된 Local Shape Approximation만 남겨짐 • 모든 셀들이 Valid로 변할 때까지 반복 Octree의 최대 깊이까지 도달할 때까지
5. Invalid Surface 셀의 탐색 5. Identifying Invalid Surface Cells
포인트 기반 Surface의 Hole 인식 • 잘 정의되어 있는 문제는 아님 • 본 논문에서는 실제로 매우 효과적이었던 간단한 Heuristic을 적용 • 복잡한 경우에 불충분하므로 수동으로 Invalid 셀 정의 • 기본 문제 • Local Shape Approximation을 모든 셀과 교차 검사 • 현재의 Shape Approximation에 교차되고, m개 미만의 점을 포함한 셀 • Surface의 정확한 표현을 위해 더 많은 점이 추가되어야 함
Hole 탐색 이슈 • Hole의 크기에 대한 제한 존재 • Hole은 셀 안에 적은 수의 점을 가진 경우에만 인식됨 • 적어도 Octree 최대 깊이의 셀보다 커야 함 • m개 미만 점들의 셀만 고려하는 걸로는 불충분 • 셀 하위분할은 Surface Approximation 오차가 범위 내일 경우 종료되기 때문 • 예) 많은 점과 작은 오차의 Local Shape Approximation을 가진 셀의 일부분은 점을 포함하지 않을 수도 있음 • Local Shape Approximation이 이 Hole을 정확히 커버하므로, 채울 필요없다고 생각할 수도 있음 • 본 논문은 Surface의 충분히 조밀한 샘플링을 위해 이런 Hole도 채움
셀의 속성 판단 이슈 • Valid Surface 셀의 하위트리를 예측할 필요가 있음 • Invalid Surface 셀의 후보 집합 • 트리의 최대 깊이까지 하위분할된 전체 Octree에서 m개 미만의 점을 가진 모든 셀 • m개 미만의 점을 가진 셀 wl에 대하여 • 셀이 Invalid인지 Void인지 판단할 필요가 있음 현재 Surface Approximation과의 교차 여부 • Local Shape Approximation을 가지는 셀 집합 w생성
집합 w • 구성요소 • w의 부모 셀 • Local Shape Approximation을 포함하고 있는 w와 같은 레벨의 인접 셀들 • 가 차례대로 조사됨 • : 의 Local Shape Approximation • 만약 의 Zero 집합이 w와 교차하면 Invalid • 채워져야 함 • 그렇지 않을 경우, Valid 또는 Void로 판단됨
Shape Approximation과교차되는 셀 탐색 (1/3) • 과 w사이의 효과적인 교차 체크 • Local Implicit Shape Approximation에 2차 다항식의 사용을 가정 • 셀은 (x1, y1, z1), (x2, y2, z2)로 정의됨 1. 점 집합 {ci}는 w의 코너에 대해 초기화 • {(xi, yj, zk), i, j, k{1, 2}} 2. 의 값을 계산 • w의 Shape Approximation과의 교차 조건 • 하나 이상의 양과 음의 값이 존재, cf.) Bisection Method • Trivial Accept
Shape Approximation과교차되는 셀 탐색 (2/3) 3. 미분값 를 계산 • x-monotone • x방향에 대해 편미분값이 같은 부호 • w가 x, y, z-monotone이면 교차하지 않음 • Trivial Reject 4. 가 모두 양이라 가정 • 의 최소값은 w안에서 아래와 같이 제한됨 • 만약 제한된 값이 양이면, w안에서의 최소값도 양이므로 w안에서 는 양
Shape Approximation과교차되는 셀 탐색 (3/3) 5. 셀은 정규적으로 하위분할됨 • Step 2부터 테스트를 반복 • Invalid Surface 셀의 정의는 Local Shape Approximation의 현재 집합에 의존 • 점들이 (임시로나마) 채워지면, • Local Shape Approximation이 업데이트되고, • Void / Invalid 상태가 재정의됨
6. 최적의 Valid 셀 탐색 6. Finding the Best Matching Valid Cell
Valid 셀 탐색 개요 • Invalid로 판단된 Surface 셀 w가 주어지면, • w와 같은 크기의 셀의 집합 에서 Valid 셀 w’을 탐색 • w와 w’은 유사한 부분을 포함 • 각 셀에 대한 Shape Distance 척도 필요 • 적절한 집합 을 생성 • 최적 셀의 탐색 • 후보 집합의 모든 셀에서 반복되며 수행됨 • Invalid 셀까지의 거리가 최소인 셀을 탐색
셀 탐색 이슈 • 각 셀에 대해 벡터로 된 Signature 계산 • 유사성 척도를 바로 계산하지 않음 • Valid / Invalid Surface 셀에 대해 모두 계산 • 두 셀에 대한 유사성 • Shape Signature에 대한 Weighted Euclidean Distance • 요구사항 • 적절한 스케일에서 형상을 캡쳐 • 좀 더 세밀한 스케일에서 Detail을 캡쳐
셀 형상의 표현 • w의 Signature 판별 요소 • 현재 Octree 레벨의 형상은 다음으로 Coarse한 레벨의 셀에서의 Surface Approximation을 이용하여 계산 • Valid / Invalid Surface 셀에서 얻을 수 있음 • w에서 Detail의 정도는 인접 Valid 셀의 하위트리 깊이에 의해 측정 • Local Shape Approximation • 대칭으로 위치한 점들의 집합으로부터 계산 • 대칭되는 그룹에 따라 변형된 셀끼리 비교 가능 • w의 형상 정의: (x1, y1, z1), (x2, y2, z2)
Notation • 셀 내부의 점 집합 {ci} • w의 중심, 구석, 선분 중점, 각 면의 중심 • 인접 셀의 점 집합 {ai} • w에 인접한 셀의 중심 • w의 이웃을 고려하는 것이 중요 • w의 LOD 정도 lw • W에 인접한 Valid 셀에 대하여 하위트리의 깊이 값을 가진 벡터