KR20160127030A - 뷰 독립적 3d 씬 텍스쳐링 - Google Patents

뷰 독립적 3d 씬 텍스쳐링 Download PDF

Info

Publication number
KR20160127030A
KR20160127030A KR1020167025198A KR20167025198A KR20160127030A KR 20160127030 A KR20160127030 A KR 20160127030A KR 1020167025198 A KR1020167025198 A KR 1020167025198A KR 20167025198 A KR20167025198 A KR 20167025198A KR 20160127030 A KR20160127030 A KR 20160127030A
Authority
KR
South Korea
Prior art keywords
polygon
key frames
polygons
color
key frame
Prior art date
Application number
KR1020167025198A
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 퀄컴 인코포레이티드
Publication of KR20160127030A publication Critical patent/KR20160127030A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • G06T5/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • G06T7/408
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

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

Abstract

뷰 독립적 컬러 등화형 3D 씬 텍스쳐링에 대한 개시되는 일 예시적인 방법은, 오브젝트의 복수의 키프레임들을 캡쳐하는 단계; 오브젝트에 대한 표면 메쉬 모델을 포함하는 오브젝트의 3D 표현에 액세스하는 단계 ― 표면 메쉬 모델은 복수의 폴리곤들을 포함함 ―; 각각의 폴리곤에 대해, 폴리곤에 대응하는 키프레임의 부분과 연관된 하나 또는 그 초과의 이미지 품질 특성들에 기초하여, 폴리곤에 복수의 키프레임들 중 하나를 할당하는 단계; 할당된 키프레임들 간의 연관들을 변경함으로써 할당된 키프레임들의 개수를 감소시키는 단계; 및 할당된 키프레임을 갖는 표면 메쉬 모델의 각각의 폴리곤에 대해: 폴리곤과 연관된 복수의 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 적어도 부분적으로 기초하여 폴리곤의 적어도 부분의 텍스쳐 컬러를 등화시키는 단계; 및 등화된 텍스쳐 컬러를 오브젝트의 3D 표현에 할당하는 단계를 포함한다.

Description

뷰 독립적 3D 씬 텍스쳐링{VIEW INDEPENDENT 3D SCENE TEXTURING}
[0001] RGB-D 카메라들 또는 다른 감지 디바이스들과 같은 디바이스들은, 3차원으로 오브젝트들을 추적하고 그리고 디바이스에 의해 캡쳐(capture)되는 오브젝트들 또는 씬(scene)들의 모델(model)을 생성하는데 사용하기 위한 정보를 수집하기 위해 사용될 수 있다. 이러한 캡쳐된 정보는, 이미징된 씬 또는 씬 내의 오브젝트의 재구성이 요구되는 다양한 목적들을 위해 사용될 수 있다.
[0002] 이러한 타입의 정보를 캡쳐하는 비전 기반(vision based) 3-차원(“3D”) 시스템들은, 관심 오브젝트들의 양호한 기하학적 표현들을 초래하지만, 그 시스템들이 컬러 정보를 캡쳐한다 하더라도 관심 오브젝트들의 컬러들을 양호하게 표현하지 못한다. 많은 앞서 알려진 시스템들은 모델 꼭짓점(vertex)들에 대한 컬러들을 계산한다. 이것은, 모델이 가깝게 뷰잉(view)되는 경우에는 흐릿한(blurry) 오브젝트를 초래한다. 다른 알려진 시스템들은, 씬을 가급적 실제와 같은 표현으로 유지하기 위해 뷰 종속적 텍스쳐링(view dependent texturing)을 사용할 수 있지만, 뷰 종속적 텍스쳐링은, 조명, 그림자들, 노출 시간, 및 모델을 생성하는데 사용될 수 있는 다수의 뷰들에 걸쳐 변할 수 있는 다른 문제들로 인해 모델에 걸쳐 비-균일한 특성들을 초래할 수 있다. 전체 오브젝트의 컬러를 정정하는 알려진 컬러 정정 시스템들은 이들 문제들을 충분히 보상하지 못한다.
[0003] 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링(view independent color equalized 3D scene texturing)을 위한 시스템들 및 방법들은, 3D 씬들 또는 오브젝트들의 재구성에 대해 컬러 및 전체 모델 품질에서의 개선들을 제공할 수 있다.
[0004] 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링에 대한 다양한 예들이 설명된다. 개시되는 일 예시적인 방법은, 오브젝트의 복수의 키프레임(keyframe)들을 캡쳐하는 단계; 오브젝트에 대한 표면 메쉬(mesh) 모델을 포함하는 오브젝트의 3-차원(“3D”) 표현에 액세스하는 단계 ― 표면 메쉬 모델은 복수의 폴리곤(polygon)들을 포함함 ―; 복수의 폴리곤들 중 제 1 세트의 폴리곤들 내의 각각의 폴리곤에 대해, 폴리곤에 대응하는 키프레임의 부분과 연관된 하나 또는 그 초과의 이미지 품질 특성들에 기초하여, 폴리곤에 복수의 키프레임들 중 하나를 할당하는 단계; 할당된 키프레임들 간의 그리고 복수의 폴리곤들 중 제 2 세트의 폴리곤들에 대한 연관들을 변경함으로써 할당된 키프레임들의 개수를 감소시키는 단계; 및 할당된 키프레임을 갖는 표면 메쉬 모델의 각각의 폴리곤에 대해: 폴리곤과 연관된 복수의 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 적어도 부분적으로 기초하여 폴리곤의 적어도 부분의 텍스쳐 컬러를 등화(equalize)시키는 단계; 및 등화된 텍스쳐 컬러를 오브젝트의 3D 표현에 할당하는 단계를 포함한다. 다른 예에서, 프로세서로 하여금 그러한 방법을 실행하게 하기 위한 프로그램 코드로 컴퓨터-판독가능 매체가 인코딩된다.
[0005] 뷰 독립적 컬러 등화 3-차원 씬 텍스쳐링에 대한 개시되는 다른 예시적인 방법은, 오브젝트의 복수의 키프레임들을 캡쳐하는 단계; 오브젝트에 대한 표면 메쉬 모델을 포함하는 오브젝트의 3-차원(“3D”) 표현에 액세스하는 단계 ― 표면 메쉬 모델은 복수의 폴리곤들을 포함함 ―; 표면 메쉬 모델의 복수의 폴리곤들 중 제 1 세트의 폴리곤들 내의 각각의 폴리곤에 대해: 폴리곤과 연관된 키프레임들을 식별하는 단계; 복수의 폴리곤들 중 제 2 세트의 폴리곤들에 대한 식별된 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 기초하여 식별된 키프레임들 중 하나 또는 그 초과의 키프레임들을 할당하는 단계; 제 2 세트의 폴리곤들 내의 각각의 폴리곤의 각각의 픽셀에 대해: 하나 또는 그 초과의 할당된 키프레임들 각각에서의 오브젝트에 대한 대응하는 포인트들의 텍스쳐 컬러들에 기초하여 픽셀의 가중 평균(weighted average) 텍스쳐 컬러를 계산하는 단계; 및 오브젝트의 3D 표현에 가중 평균 텍스쳐 컬러를 할당하는 단계를 포함한다. 다른 예에서, 프로세서로 하여금 그러한 방법을 실행하게 하기 위한 프로그램 코드로 컴퓨터-판독가능 매체가 인코딩된다.
[0006] 뷰 독립적 컬러 등화 3-차원 씬 텍스쳐링에 대한 개시되는 일 예시적인 시스템은, 컴퓨터-판독가능 매체; 및 컴퓨터-판독가능 매체와 통신하는 전자 프로세서를 포함하며, 전자 프로세서는, 오브젝트의 복수의 키프레임들을 수신하고; 오브젝트에 대한 표면 메쉬 모델을 포함하는 오브젝트의 3-차원(“3D”) 표현에 액세스하고 ― 표면 메쉬 모델은 복수의 폴리곤들을 포함함 ―; 복수의 폴리곤들 중 제 1 세트의 폴리곤들 내의 각각의 폴리곤에 대해, 폴리곤에 대응하는 키프레임의 부분과 연관된 하나 또는 그 초과의 이미지 품질 특성들에 기초하여, 폴리곤에 복수의 키프레임들 중 하나를 할당하고; 복수의 폴리곤들 중 제 2 세트의 폴리곤들에 대한 할당된 키프레임들 간의 연관들을 변경함으로써 할당된 키프레임들의 개수를 감소시키고; 그리고 할당된 키프레임을 갖는 표면 메쉬 모델의 각각의 폴리곤에 대해: 폴리곤과 연관된 복수의 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 적어도 부분적으로 기초하여 폴리곤의 적어도 부분의 텍스쳐 컬러를 등화시키고; 그리고 등화된 텍스쳐 컬러를 오브젝트의 3D 표현에 할당하도록 구성된다.
[0007] 이들 예시적인 예들은 본 개시내용의 범위를 제한하거나 또는 정의하기 위해 언급되는 것이 아니라, 오히려 본 개시내용의 이해를 돕기 위한 예들을 제공하기 위한 것이다. 추가적인 설명을 제공하는 상세한 설명에서 예시적인 예들이 논의된다. 본 명세서를 검토함으로써 다양한 예들에 의해 제공되는 이점들이 추가로 이해될 수 있다.
[0008] 본 명세서 내에 포함되고 그리고 본 명세서의 일부를 구성하는 첨부된 도면들은, 하나 또는 그 초과의 특정 예들을 예시하며, 예의 설명과 함께, 특정 예들의 원리들 및 구현들을 설명하는 것을 돕는다.
[0009] 도 1은 예시적인 씬을 도시한다.
[0010] 도 2a, 도 2b, 및 도 3은 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 예시적인 방법들을 도시한다.
[0011] 도 4a는, 예시적인 오브젝트 및 오브젝트의 3D 표현을 도시한다.
[0012] 도 4b-4c는, 오브젝트의 3D 표현을 비롯하여 오브젝트의 예시적인 키프레임들을 도시한다.
[0013] 도 4d는, 오브젝트의 3D 표현의 폴리곤들에 할당된 키프레임들로부터의 텍스쳐들을 갖는 오브젝트의 예시적인 3D 표현을 도시한다.
[0014] 도 5-6은 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 예시적인 방법들을 도시한다.
[0015] 도 7-8은 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 예시적인 컴퓨팅 디바이스들을 도시한다.
[0016] 도 9는 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 예시저인 분산 환경(distributed environment)을 도시한다.
[0017] 본원에서는, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링의 맥락에서 예들이 설명된다. 당업자들은, 다음의 설명이 단지 예시적이며, 어떠한 방식으로든 제한하는 것으로 의도되지 않는다는 것을 인지할 것이다. 이제, 첨부된 도면들에 예시된 바와 같은 예들의 구현들에 대한 참조가 상세하게 이루어질 것이다. 동일하거나 또는 유사한 항목들을 지칭하기 위해 도면들 및 다음의 설명 전체에 걸쳐 동일한 참조 표시자들이 사용될 것이다.
[0018] 명확성을 위하여, 본원에 설명되는 예들의 상례적인 특성들 전부가 도시되고 설명되지는 않는다. 물론, 임의의 그러한 실제의 구현의 개발에서, 애플리케이션-관련 제약들 및 사업-관련 제약들을 준수하는 것과 같이, 개발자의 특정 목표들을 달성하기 위해서는 다수의 구현-특정 결정들이 이루어져야 하고, 이들 특정 목표들은 구현들에 따라 그리고 개발자에 따라 다를 것임이 인식될 것이다.
[0019] 다음은 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 예시적인 방법 예를 설명한다. 이러한 예에서, 상이한 뷰포인트(viewpoint)(또는 관점(perspective))들로부터 3차원 오브젝트에 대한 다수의 이미지들이 캡쳐된다. 예를 들어, 도 1은, 각각이 개별적인 텍스쳐(121, 131)를 가진 2개의 오브젝트들(120, 130)을 갖는 씬(100)을 도시한다. 상이한 뷰포인트들(116, 118)로부터 씬(100)에 대한 다수의 이미지들이 캡쳐된다. 예를 들어, 카메라 디바이스(110)는, 씬의 이미지들을 캡쳐하는데 사용될 수 있고 그리고 상이한 뷰포인트들로부터 씬을 캡쳐하기 위해 상이한 위치들로 이동될 수 있다. 그 후, 이들 이미지들 중 일부 또는 전부는, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 결정하기 위해 사용될 수 있는 정보를 제공하는데 사용될 수 있는 키프레임들로서 지정될 수 있다.
[0020] 오브젝트들(120, 130)의 이미지들이 캡쳐된 이후에, 이미지로 캡쳐된 전체 씬에 대한 3D 메쉬 표현들, 이를테면 삼각 메쉬(triangular mesh)들이 생성되지만, 몇몇 경우들에서는, 하나 또는 그 초과의 오브젝트들에 대해서만 3D 메쉬 표현이 생성될 수 있다. 그 후, 오브젝트(130)와 같은 특정 오브젝트에 대한 메쉬에서의 각각의 폴리곤에 대해, 키프레임들 중 하나가 그 폴리곤에 대한 최적 키프레임인 것으로 식별된다. 이러한 경우에서, 키프레임의 최적성은, 폴리곤이 키프레임에 폐색(occlude)되는지 또는 그렇지 않은지 여부, 폴리곤으로부터 카메라 디바이스(110)로의 거리, 이미지 평면에 관한 폴리곤의 각도, 및 뷰 에러와 같은, 이미지 품질 특성들로서 지칭되는 폴리곤 및 키프레임의 다수의 속성들 중 하나 또는 그 초과에 기초하여 결정되는데, 이는 씬 내의 오브젝트의 포즈(pose) 및 깊이 맵에 기초한다. 폴리곤이 특정 키프레임에 부분적으로 또는 완전히 폐색되지 않는다고 가정하면, 이들 파라미터들 각각은 가중되고(weighted), 각각의 폴리곤에 관한 각각의 키프레임에 대한 스코어를 계산하는데 사용된다. 각각의 폴리곤에 대해, 가장 양호한 스코어를 갖는 키프레임이 폴리곤에 할당된다.
[0021] 폴리곤들 전부가 분석된 후에, 그 후, 잔여 프로세스의 계산 복잡도를 감소시키기 위해, 할당된 키프레들의 개수가 감소된다. 예를 들어, 할당된 키프레임들 중 일부가 작은 수의 폴리곤들에만 할당될 수 있지만, 다른 할당된 키프레임들은 많은 수의 폴리곤들에 할당된다. 따라서, 상대적으로 작은 수의 폴리곤들에 할당되는 그 키프레임들을 식별하고, 그리고 그 폴리곤들의 할당들을 높은 수의 할당된 폴리곤들을 갖는 키프레임으로 변경하고, 그리고 그 후, 필요하지 않은 키프레임을 배제(eliminate)시키는 것이 유리할 수 있다.
[0022] 이러한 프로세스는, 본래 할당된 키프레임보다 더 낮은 스코어를 갖는 키프레임에 폴리곤이 할당되는 것을 초래할 가능성이 있지만, 사전-결정된 최적 키프레임으로부터의 수용가능한 레벨의 최적성 내의 키프레임이 식별되면, 폴리곤에 대한 할당은 변경될 수 있다. 추가로, 어떠한 다른 수용가능한 키프레임도 이용가능하지 않은 몇몇 경우들에서는, 계산 효율성에서의 개선을 획득하기 위해, 폴리곤을 배제시키고 할당된 키프레임을 제거하는 것이 바람직할 수 있다. 몇몇 예들에서, 수용가능한 임계 개수의 폴리곤들, 이를테면 10 %까지, 할당된 키프레임을 갖지 않을 수 있다.
[0023] 일단 키프레임들의 개수가 감소되면, 아래에 설명되는 바와 같이, 각각의 폴리곤의 연관된 키프레임에 기초하여, 각각의 폴리곤에 대한 텍스쳐가 결정될 수 있다. 그 후, 각각의 폴리곤에 대한 텍스쳐들은, 폴리곤이 폐색되지 않는 모든 이용가능한 키프레임들을 사용하여 등화된다. 폴리곤에 대한 텍스쳐를 결정하기 위해, 폴리곤의 각각의 꼭짓점은, 폴리곤이 폐색되지 않는 모든 키프레임들에 기초하여 가중 텍스쳐 컬러 값을 할당 받으며, 여기서, 가중치들은, 폴리곤의 법선 벡터(normal vector)와 키프레임의 평면 사이의 각도에 기초한다. 예를 들어, 폴리곤의 법선 벡터가 키프레임의 평면에 수직인 경우, 키프레임에 대한 텍스쳐 컬러 값은 무겁게 가중될 수 있는 반면, 폴리곤에 관하여 10도의 입사 각을 갖는 키프레임은 매우 낮은 가중치를 할당 받을 수 있다. 가중 텍스쳐 컬러들이 합산되고 평균화되어 개별적인 꼭짓점에 대한 텍스쳐 컬러를 제공한다.
[0024] 그 후, 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 사용하여, 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 개별적인 할당된 키프레임으로부터의 오브젝트에 대한 연관된 포인트들의 텍스쳐 컬러에 비교함으로써, 텍스쳐 컬러 등화 승수(multiplier)가 계산된다. 일단 폴리곤에 대한 꼭짓점들 전부가 할당받은 가중 텍스쳐 컬러 값을 가졌으면, 이후 폴리곤이 렌더링(render)되는 경우, 폴리곤 내의 픽셀들에 대한 텍스쳐 컬러 값들은 텍스쳐 컬러 등화 승수 및 폴리곤의 꼭짓점들의 텍스쳐 컬러들에 기초하여 보간(interpolate)된다. 따라서, 오브젝트의 3D 메쉬 표현에서의 꼭짓점들에 대한 텍스쳐 컬러들은 오브젝트가 이후 렌더링될 때까지 저장될 수 있다. 추가로, 3D 메쉬에서의 꼭짓점들에 대한 텍스쳐 컬러들이 다수의 상이한 관점들로부터의 텍스쳐 컬러 정보에 기초하기 때문에, 컬러 정보는 오브젝트의 뷰-독립적 컬러들을 더 양호하게 표현한다.
[0025] 본원에 설명되는 예들은, 뷰 독립적 3D 메쉬 모델을 생성하도록 선택되는 특정 폴리곤들의 텍스쳐들에서의 특수화된 컬러 등화를 이용하여 3D 메쉬 모델들을 생성할 수 있다. 이것은, 상이한 이미지 특성들을 가질 수 있는 다수의 키프레임들로부터 종합(aggregate)되는 텍스쳐들을 사용하여 모델 폴리곤들의 뷰 독립적인 텍스쳐링을 위한 컬러 정정을 가능하게 한다. 이것은 추가로, 콘트래스트(contrast) 변화들, 조명 종속적 컬러 변화들, 또는 3D 모델을 생성하는데 사용되는 이미지들에 영향을 미칠 수 있는 다른 문제들을 보상하면서 3D 모델에서의 오브젝트의 정확한 컬러 표현을 가능하게 할 수 있다. 부가적으로, 본원에 설명되는 예들은, 3D 모델의 양상들을 가장 양호하게 표현할 가능성이 있는 이미지들로부터 데이터를 선택하면서 3D 모델에 대한 컬러 정보를 등화시키기 위해 사용되는 이미지들의 개수를 또한 감소시킴으로써, 계산 복잡도 또는 효율성을 개선할 수 있다.
[0026] 본원에 설명되는 예시적인 컬러 등화 방법들에 따라 생성되는 3D 모델들은, (임의의 원하는 배향으로) 이미지들 또는 비디오들로 통합된 채 가상 세계들에서 사용될 수 있거나 또는 심지어 컬러 3D 프린팅을 위해 사용될 수 있는 실사적 재구성(photo realistic reconstruction)에 대해 사용될 수 있다.
[0027] 이제 도 2a를 참조하면, 도 2a는, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 예시적인 방법(200)을 도시한다. 도 2a의 방법(200)은, 도 7-9에 관하여 아래에 논의되는 것들과 같은 임의의 적절한 컴퓨팅 디바이스에 의해 또는 적절한 컴퓨팅 환경 내에서 수행될 수 있다. 다양한 예들의 일부로서, 적절한 디바이스들 또는 시스템들이 사용될 수 있다. 특정 예들은, 캡쳐된 오브젝트 또는 씬에 관한 카메라 포즈 또는 카메라의 포지션을 식별하는 수단으로서 SLAM(Simultaneous Location and Mapping) 또는 PTAM(Parallel Tracking and Mapping) 시스템들의 양상들을 사용할 수 있다. 다양한 대안적인 예들은 또한, 시스템의 기하학적 모델을 생성하기 위해 또는 3D 모델의 생성을 위해 사용될 수 있는 다양한 데이터를 수집하기 위해 이들 맵핑 시스템들을 사용할 수 있다.
[0028] 도 2a의 방법(200)은 블록(210)에서 시작되는데, 이때, 카메라를 갖는 컴퓨팅 디바이스, 이를테면 컴퓨팅 디바이스(110)가 오브젝트의 복수의 키프레임들을 캡쳐한다. 이러한 예에서, 컴퓨팅 디바이스(110)는, 다수의 상이한 관점 포인트들로부터 오브젝트의 이미지들을 캡쳐하기 위해, 자신의 카메라를 이용하거나 또는 키프레임들을 캡쳐하기 위한 다른 적절한 수단을 이용한다. 도 1을 다시 참조하면, 씬(100)은 2개의 오브젝트들(120, 130)을 포함하며, 상이한 포지션들(116, 118) 및 관점들로부터 오브젝트들(120, 130)의 2개의 상이한 이미지들을 캡쳐하는 컴퓨팅 디바이스(110)를 예시한다. 몇몇 경우들에서, 컴퓨팅 디바이스(110)는 오브젝트들(120, 130)의 2개 초과의 이미지들을 캡쳐할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는, 비디오를 캡쳐하도록 구성될 수 있고, 컴퓨팅 디바이스가 상이한 위치들로 이동됨에 따라 오브젝트의 비디오를 기록할 수 있다. 그러한 경우에서, 컴퓨팅 디바이스(110)가 초당 30의 비디오 프레임들을 캡쳐하고 그리고 오브젝트들(120, 130)의 5초의 비디오를 기록하면, 컴퓨팅 디바이스(110)는 오브젝트들(120, 130)의 150개의 이미지들을 캡쳐할 것이다. 몇몇 예들에서, 컴퓨팅 디바이스(110) 그 자체는 카메라를 갖지 않을 수 있지만, 대신, 다른 디바이스로부터 키프레임들을 수신할 수 있거나 또는 컴퓨터-판독가능 매체, 이를테면 하드 드라이브 또는 플래시 메모리 디바이스로부터 키프레임들을 획득할 수 있다. 이들 예들에서, 컴퓨팅 디바이스(110)는, 다른 디바이스로부터 이미지들을 수신하는 경우 또는 컴퓨터-판독가능 매체로부터 이미지들을 판독하는 경우에 이미지들을 캡쳐한다. 예를 들어, 키프레임들을 캡쳐하기 위한 몇몇 적절한 수단은, 네트워크 인터페이스들, 및 네트워크 인터페이스들과 컴퓨팅 디바이스의 프로세서 사이의 전기 상호연결부들을 포함한다. 키프레임들을 캡쳐하기 위한 몇몇 다른 적절한 수단은, 하드 디스크 또는 플래시 드라이브, 또는 데이터베이스와 같은 컴퓨터-판독가능 매체들 상에 저장된 이미지들에 액세스하기 위한 회로를 포함한다.
[0029] 특정 이미지들이 본원에서 “키프레임들”로서 지칭될 수 있다. 본원에서 논의되는 바와 같은 일 세트의 키프레임들은, 오브젝트 또는 씬의 3D 모델, 또는 오브젝트 또는 씬의 부분의 3D 모델을 생성하기에 충분한 정보를 캡쳐한 일 세트의 이미지들을 지칭한다. 그러한 키프레임들은, 단순히 주기적으로 취해질 수 있거나, 프로세서에 의한 분석 이후에 선택될 수 있거나, 또는 사용자에 의해 수동으로 선택될 수 있다. 특정 예들에서, 키프레임들은, 하나의 키프레임으로부터의 오브젝트 또는 씬의 폐색 부분들이 적어도 하나의 다른 키프레임에 의해 캡쳐될 것이 확인(verify)되도록 선택될 수 있다. 특정 예들에서, 키프레임들은, 흐림(blur), 깊이 에러들, 폐색 특성들, 오브젝트 거리, 오브젝트 각도, 또는 임의의 다른 그러한 관련 특성들에 관련된 임계 특성들을 충족시키는 프레임들일 수 있다.
[0030] 컴퓨팅 디바이스(110)가 키프레임들을 캡쳐한 이후에, 방법은 블록(220)으로 진행한다.
[0031] 블록(220)에서, 컴퓨팅 디바이스는, 오브젝트에 대한 표면 메쉬 모델을 포함하는 오브젝트의 3D 표현에 액세스한다. 예를 들어, 도 2a를 참조하면, 컴퓨팅 디바이스(110)가 씬(100) 및 오브젝트(130)의 이미지들을 캡쳐한 이후, 컴퓨팅 디바이스(110)는 오브젝트를 비롯하여 씬의 3D 삼각 메쉬 표현을 생성하지만, 몇몇 예들에서는, 컴퓨팅 디바이스는 오브젝트 그 자체의 3D 삼각 메쉬 표현만을 생성할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는, 알려진 방법들에 따라 씬에 대한 3D 삼각 메쉬를 컴퓨팅할 수 있거나 또는 씬에 대한 3D 삼각 메쉬를 생성하는 다른 컴퓨팅 디바이스에 정보를 송신할 수 있다. 이제 도 4a를 참조하면, 오브젝트(130)에 대한 예시적인 표면 메쉬(402)가 도시된다. 이러한 예에서, 표면 메쉬(402)는 다수의 폴리곤들(133a-f)을 포함하는데, 이러한 예에서는 각각이 3개의 꼭짓점들을 갖는 삼각형들이다. 다른 예들에서, 3D 표현은, 다른 종류의 폴리곤들을 포함하는 표면 메쉬를 포함할 수 있다.
[0032] 몇몇 양상들에서, 컴퓨팅 디바이스(110)는, 컴퓨터-판독가능 매체 내의 또는 데이터 저장부로부터의, 오브젝트의 사전-생성된 3D 표현에 액세스할 수 있다. 몇몇 양상들에서, 컴퓨팅 디바이스(110)는, 삼각형들 이외의 폴리곤들을 사용하여 3D 메쉬를 생성할 수 있거나 또는 삼각형들 이외의 폴리곤들을 포함하는 3D 메쉬에 액세스할 수 있다. 예를 들어, 표면 메쉬 모델을 포함하는 오브젝트의 3D 표현에 액세스하기 위한 적절한 수단은, 하드 디스크 또는 플래시 드라이브, 또는 데이터베이스와 같은 컴퓨터-판독가능 매체들 상에 저장된 3D 표현에 액세스하기 위한 회로를 포함한다.
[0033] 컴퓨팅 디바이스(110)가 키프레임들을 캡쳐한 이후에, 방법은 블록(230)으로 진행한다.
[0034] 블록(230)에서, 컴퓨팅 디바이스(110)는, 오브젝트의 3D 표현에서의 폴리곤들을 프로세싱하는 것을 시작한다. 컴퓨팅 디바이스는, 3D 표현에서의 각각의 폴리곤에 대해 블록(232)의 기능을 수행한다. 따라서, 블록(230)에서, 컴퓨팅 디바이스(110)는, 3D 표현에서의 임의의 폴리곤들이 프로세싱되지 않았는지 여부를 결정한다. 프로세싱될 임의의 폴리곤들이 남아있으면, 컴퓨팅 디바이스는 3D 표현으로부터 폴리곤을 선택하고 그리고 방법(300)은 블록(232)으로 진행하며, 프로세싱될 어떠한 폴리곤도 남아있지 않으면 방법은 블록(240)으로 진행한다.
[0035] 블록(232)에서, 컴퓨팅 디바이스(110)는, 폴리곤에 대응하는 키프레임의 부분과 연관된 하나 또는 그 초과의 이미지 품질 특성들에 기초하여 복수의 키프레임들 중 하나를 폴리곤에 할당한다. 이러한 예에 따르면, 컴퓨팅 디바이스(110)는, 키프레임이 폴리곤에 할당되어야 하는지 여부를 결정하기 위해 각각의 키프레임을 분석한다. 이제 도 2b를 참조하면, 도 2b는, 폴리곤에 키프레임을 할당하기 위한 예시적인 방법(202)을 도시한다. 도 2b에 도시된 방법(202)은, 도 2a의 방법(200)의 블록들(230, 232)의 기능의 일부로서 이용될 수 있다. 몇몇 예들에서, 폴리곤에 복수의 키프레임들 중 하나를 할당하기 위한 수단은, 프로세서에 의해 실행되는 소프트웨어로서 도 2b의 방법(202)을 구현할 수 있다.
[0036] 도 2b의 방법(202)은 블록(230)에서 시작되며, 여기서, 컴퓨팅 디바이스(110)는 오브젝트의 3D 표현으로부터 폴리곤을 선택한다. 폴리곤이 선택된 이후, 방법은 블록(232a)으로 진행한다.
[0037] 블록(232a)에서, 컴퓨팅 디바이스(110)는 분석될 임의의 키프레임들이 남아있는지 여부를 결정한다. 몇몇 양상들에서, 방법(200)에 관하여 더 상세히 설명될 바와 같이, 몇몇 키프레임들은 할당하기에 부적격한 것으로 마킹(mark)될 수 있으며, 이들은 폴리곤에 할당하기 위해 프로세싱되지 않았음에도 불구하고 남아있는 것으로서 고려되지 않는다. 예를 들어, 컴퓨팅 디바이스(110)는, 상이한 관점들로부터 2개의 키프레임들, 이를테면 도 4b 및 도 4c에 도시된 2개의 키프레임들(410, 420)을 캡쳐했을 수 있다. 블록(232a)에서, 이들 키프레임들(410, 420) 중 하나가 프로세싱을 위해 선택될 수 있다. 분석될 키프레임들이 남아있으면, 컴퓨팅 디바이스(110)는 키프레임들 중 하나를 선택하고 그리고 방법(202)은 블록(232b)으로 진행하며, 분석될 키프레임들이 남아있지 않으면, 방법(202)은 블록(232g)으로 진행한다.
[0038] 블록(232b)에서, 컴퓨팅 디바이스(110)는, 폴리곤이 키프레임에서 가시적인지 여부를 결정한다. 이러한 예에서, 컴퓨팅 디바이스(110)는, 폴리곤이 키프레임에서 전체가 가시적인지 여부 또는 폴리곤이 부분적으로 또는 완전히 폐색되었는지를 결정한다. 폴리곤이 키프레임에서 전체가 가시적이지는 않다면, 키프레임은 추가적인 프로세싱에 대해 부적절한 것으로 결정된다. 그러나 몇몇 예들에서, 폴리곤이 단지 부분적으로만 폐색되면, 컴퓨팅 디바이스(110)는 폴리곤이 키프레임 내에서 어느 정도 가시적인지를 결정할 수 있고, 충분한 퍼센티지(percentage)의 폴리곤 또는 폴리곤의 충분한 개수의 꼭짓점들이 가시적이면, 키프레임은 추가적인 프로세싱에 대해 적절할 수 있다. 폴리곤이 충분히 가시적인지 여부를 결정하기 위해, 컴퓨팅 디바이스는, 키프레임에서 폴리곤의 가시적인 퍼센티지, 또는 폴리곤의 가시적인 꼭짓점들의 개수를 미리정의된 임계치 또는 조정가능한 임계치에 비교할 수 있다. 몇몇 양상들에서, 폴리곤의 가시적인 퍼센티지, 폴리곤의 가시적인 꼭짓점들의 개수, 뷰포인트로부터의 폴리곤의 거리, 또는 다른 특성들과 같은 다수의 특성들이 분석될 수 있으며, 각각이 임계치에 비교되거나 또는 스코어를 결정하기 위해 비교될 수 있고, 스코어는 이후 임계치에 비교된다. 임계치들 중 하나 또는 그 초과는, 이를테면 사용자에 의해 미리정의되거나 또는 조정가능할 수 있다.
[0039] 폴리곤이 키프레임에서 충분히 가시적이면, 방법(202)은 블록(232c)으로 진행한다. 폴리곤이 키프레임에서 충분히 가시적이지 않으면, 컴퓨팅 디바이스(110)는 그 키프레임에 최소 스코어를 할당하거나 또는 그렇지 않으면 그 키프레임을 추가적인 고려대상에서 제외시키며, 방법(202)은 블록(232a)으로 리턴된다.
[0040] 블록(232c)에서, 컴퓨팅 디바이스(110)는, 폴리곤의 평면과 이미지의 평면 사이의 각도를 계산한다. 예를 들어, 각도를 계산하기 위해, 컴퓨팅 디바이스(110)는, 폴리곤에 수직인 벡터 및 이미지의 평면에 수직인 레이(ray)를 계산하여 법선 벡터와 레이 사이의 각도를 계산할 수 있다. 각도를 계산한 이후, 방법(202)은 블록(232d)으로 진행한다.
[0041] 블록(232d)에서, 컴퓨팅 디바이스(110)는, 폴리곤의 뷰포인트로부터의 거리를 결정한다. 일 예에서, 컴퓨팅 디바이스(110)는, 씬과 연관된 깊이 맵에 액세스하고, 깊이 맵에 기초하여 거리를 결정한다. 몇몇 예들에서, 컴퓨팅 디바이스(110)는, 오브젝트의 3D 표현에서의 다른 폴리곤들에 관한 뷰포인트로부터의 거리, 이를테면, 키프레임에 대한 뷰포인트에 가장 가까운 꼭짓점의 포지션에 기초하는 픽셀들에서의 깊이를 계산할 수 있다. 몇몇 양상들에서, 3D 표현은 각각의 폴리곤에 대해 (x, y, z) 좌표들을 포함할 수 있으며, 키프레임에 대한 뷰포인트에 가장 가까운 꼭짓점으로부터 폴리곤 내의 위치, 이를테면 폴리곤의 중심까지의 거리가 계산될 수 있다. 뷰포인트로부터의 폴리곤의 거리를 컴퓨팅 디바이스(110)가 결정한 이후, 방법은 블록(232e)으로 진행한다.
[0042] 블록(232e)에서, 컴퓨팅 디바이스(110)는, 키프레임과 연관된 뷰 에러를 결정한다. 이러한 예에서, 컴퓨팅 디바이스(110)는, 키프레임에서의 오브젝트의 포즈 및 깊이 맵에서의 에러에 기초하여 뷰 에러를 결정한다. 예를 들어, 컴퓨팅 디바이스(110)는, 3D 표현 및 키프레임에 기초하여 포즈를 결정할 수 있다. 추가로, 몇몇 예들에서, 컴퓨팅 디바이스(110)는, SLAM(“simultaneous localization and mapping”) 소프트웨어와 같은 다른 소프트웨어 또는 프로세서로부터 오브젝트의 포즈를 수신할 수 있다. 추가로, 위에 논의된 바와 같이, 몇몇 예들에서는, 컴퓨팅 디바이스(110)는 또한 깊이 맵에 액세스하는 것이 가능할 수 있으며, 뷰 에러를 컴퓨팅하는데 깊이 맵이 사용될 수 있다. 깊이 맵이 이용가능한 양상들에서, 컴퓨팅 디바이스(110)는, 오직 키프레임에서의 오브젝트의 포즈에만 기초하여 또는 포즈 및 다른 파라미터들에 기초하여 뷰 에러를 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는, 포즈 파라미터 및 깊이 맵 에러 파라미터를 컴퓨팅함으로써 뷰 에러를 결정할 수 있는데, 뷰 에러, 즉 뷰 에러 = 포즈 * 깊이 맵 에러를 결정할 수 있다. 다른 예들에서, 뷰 에러를 결정하기 위해 상이한 계산들이 이용될 수 있다.
[0043] 컴퓨팅 디바이스(110)가 블록(232e)에서 뷰 에러를 결정한 이후, 방법(202)은 블록(232f)으로 진행한다.
[0044] 블록(232f)에서, 컴퓨팅 디바이스(110)는 키프레임 스코어를 계산한다. 몇몇 예들에서, 키프레임 스코어는, 하나 또는 그 초과의 입력들에 기초하는 키프레임에 대한 품질 파라미터를 표현한다. 이러한 예에서, 키프레임 스코어는 블록들(232c-e)의 출력들에 기초하지만, 다른 예들에서는, 이들 블록들(232c-e) 중 하나 또는 그 초과가 배제되거나 또는 키프레임의 품질에 관련된 다른 적절한 결정들에 대체될 수 있다. 예를 들어, 몇몇 경우들에서, 오브젝트의 3D 표현이 키프레임들보다 더 많은 폴리곤들을 포함할 수 있기 때문에, 키프레임들은 하나 초과의 폴리곤에 할당될 수 있다. 따라서, 몇몇 양상들에서, 키프레임 스코어에 대한 가중 팩터(factor)는, 키프레임이 폴리곤에 이미 할당되어 있는지 여부에 기초하여 사용될 수 있다. 몇몇 경우들에서, 가중 팩터는, 키프레임이 이미 할당받은 폴리곤들의 개수에 기초하여 변경될 수 있다.
[0045] 이러한 예에서, 컴퓨팅 디바이스(110)는 공식: 스코어 = 각도*(거리)2*뷰 에러 에 따라 키프레임 스코어를 계산한다. 컴퓨팅 디바이스(110)가 블록(232f)에서 키프레임 스코어를 계산한 이후, 방법(202)은 블록(232a)으로 리턴된다.
[0046] 블록(232g)에서, 컴퓨팅 디바이스(110)는 키프레임을 폴리곤에 할당한다. 컴퓨팅 디바이스(110)가 폴리곤에 대한 키프레임들 전부를 프로세싱한 이후, 컴퓨팅 디바이스(110)는 어느 키프레임이 가장 양호한 스코어를 갖는지를 결정한다. 몇몇 양상들에서, 더 낮은 스코어가 더 양호한 키프레임을 표현할 수 있지만, 다른 양상들에서는, 더 높은 스코어가 더 양호한 키프레임을 표현할 수 있다. 따라서, 키프레임들의 스코어들에 기초하여, 컴퓨팅 디바이스(110)는 폴리곤에 할당할 키프레임을 결정한다. 예를 들어, 키프레임 스코어들 중 가장 양호한 스코어 또는 가장 최적의 스코어를 갖는 키프레임이 폴리곤에 할당된다.
[0047] 그러나, 몇몇 경우들에서는, 폴리곤에 어떠한 키프레임도 할당되지 않을 수 있다. 예를 들어, 폴리곤이 모든 키프레임들에서 폐색되면, 어떠한 키프레임도 폴리곤에 할당되지 않을 것이다. 그러한 폴리곤은 태깅(tag)되어 이러한 예에 따른 임의의 추가적인 프로세싱으로부터 제거될 것이다.
[0048] 컴퓨팅 디바이스(110)가 키프레임을 할당한 이후, 방법(202)은 완료된다. 방법(202)이 도 2a에 도시된 방법(200)의 일부로서 수행되었으면, 컴퓨팅 디바이스(110)는 도 2a의 방법(200)에서의 다음 단계로 진행한다.
[0049] 다시 도 2a를 참조하면, 컴퓨팅 디바이스(110)가 블록(232)에서 키프레임을 폴리곤에 할당한 이후, 방법은 블록(230)으로 리턴하여 임의의 남아 있는 폴리곤들을 프로세싱한다. 이러한 예에서, 임의의 남아 있는 폴리곤들은 블록(232)에 관하여 위에 설명된 바와 같이 프로세싱된다. 일단 모든 폴리곤들이 키프레임에 할당되었으면, 방법(200)은 블록(240)으로 진행한다.
[0050] 블록(240)에서, 컴퓨팅 디바이스(110)는, 블록들(240-244)을 포함하는 프로세싱 루프에 진입함으로써, 폴리곤들에 할당된 키프레임들의 개수를 감소시키기 위해 키프레임들을 프로세싱하기 시작한다. 몇몇 양상들에서, 할당된 키프레임들과 복수의 폴리곤들 간의 연관들을 변경함으로써 할당된 키프레임들의 개수를 감소시키기 위한 수단은, 블록들(240-244)을 포함하는 프로세싱 루프를 프로세서 상에서 실행시키기 위한 소프트웨어를 포함한다. 블록(240)에서, 컴퓨팅 디바이스(110)는, 이를테면 남아 있는 키프레임들의 개수를 결정하고 남아 있는 키프레임들의 개수를 임계 값에 비교함으로써, 부가적인 키프레임들이 배제되어야 하는지 여부를 결정한다. 몇몇 양상들에서, 임계 값은, 이를테면 사용자에 의해 사전구성되거나 또는 조정가능할 수 있다. 몇몇 양상들에서, 컴퓨팅 디바이스(110)는, 이를테면, 프로세싱 블록들(230 및 232)로부터 초래되는 총 개수의 할당된 키프레임들의 퍼센티지를 설정함으로써 제거해야 할 키프레임들의 개수를 설정한다.
[0051] 이러한 예에서, 컴퓨팅 디바이스(110)는, 각각의 키프레임과 연관된 폴리곤들의 개수에 따라 키프레임들을 랭크화(rank)한다. 그 후, 컴퓨팅 디바이스(110)는, 가장 적은 개수의 연관된 폴리곤들을 갖는 키프레임을 선택하고 연관된 폴리곤들의 개수의 임계치를 초과하는지 여부를 결정한다. 연관된 폴리곤들의 개수가 임계치를 충족시키거나 또는 임계치를 초과하면, 컴퓨팅 디바이스(110)는 어떠한 부가적인 키프레임들도 제거되어서는 안된다는 것을 결정하지만, 연관된 폴리곤들의 개수가 임계치 미만이면, 컴퓨팅 디바이스는 부가적인 키프레임들이 제거되어야 한다고 결정한다.
[0052] 몇몇 예들에서, 블록들(230-232)의 프로세싱 루프를 수행하는 동안, 컴퓨팅 디바이스(110)는, 각각의 폴리곤에 대해, 폴리곤에 관한 키프레임들의 리스트 및 연관된 스코어들을 저장할 수 있다. 그 후, 컴퓨팅 디바이스(110)는, 연관된 키프레임의 스코어의 임계 퍼센티지 내의 스코어들을 갖는 대안적인 키프레임들을 폴리곤들이 갖는지 여부를 결정하기 위해, 특정한 키프레임과 연관된 각각의 폴리곤을 검토할 수 있다. 수용가능한 대안적인 키프레임을 갖는 각각의 폴리곤에 대해, 컴퓨팅 디바이스는 카운터를 증분할 수 있고, 키프레임과 연관된 각각의 폴리곤을 분석한 이후, 임계 퍼센티지를 만족시키는 수용가능한 대안적인 키프레임들을 갖는 연관된 폴리곤들의 퍼센티지를 카운터가 표현하는지 여부를 분석할 수 있다. 따라서, 컴퓨팅 디바이스(110)는, 제거될 키프레임을 선택하기에 앞서, 출력 품질에서의 실질적인 감소를 초래할 특정 키프레임을 제거하는지 여부를 결정하는 것이 가능할 수 있다.
[0053] 부가적인 키프레임들이 제거되어야 한다고 컴퓨팅 디바이스(110)가 결정하면, 방법(200)은 블록(242)으로 진행한다. 어떠한 부가적인 키프레임들도 제거되어서는 안된다고 컴퓨팅 디바이스(110)가 결정하면, 방법(200)은 블록(250)으로 진행한다.
[0054] 블록(242)에서, 컴퓨팅 디바이스(110)는 제거할 키프레임을 식별한다. 이러한 예에서, 컴퓨팅 디바이스(110)는, 각각의 키프레임과 연관된 폴리곤들의 개수에 따라 키프레임들을 랭크화한다. 그 후, 컴퓨팅 디바이스(110)는 가장 적은 개수의 연관된 폴리곤들을 갖는 키프레임을 선택한다. 몇몇 예들에서, 컴퓨팅 디바이스(110)는, 임계 개수보다 더 적은 개수의 폴리곤들에 할당된 임의의 키프레임을 선택할 수 있다. 몇몇 예들에서, 컴퓨팅 디바이스(110)는, 단일 단계에서, 다수의 제거될 키프레임들을 선택할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는, 임계 개수보다 더 적은 개수의 키프레임들과 연관되는 모든 키프레임들을 선택할 수 있다.
[0055] 제거될 키프레임을 선택한 이후, 방법(200)은 블록(244)으로 진행한다.
[0056] 블록(244)에서, 컴퓨팅 디바이스(110)는 제거될 키프레임(들)과 연관된 폴리곤들을 재할당한다. 이러한 예에서, 폴리곤들을 재할당하기 위해, 컴퓨팅 디바이스(110)는, 제거될 키프레임(들)에 할당된 각각의 폴리곤에 대해 프로세싱 루프(230-232)의 기능을 재-실행하지만, 제거될 키프레임(들)을 최소 스코어를 갖도록 사전셋팅하거나, 또는 그렇지 않으면, 제거될 키프레임(들)을 할당하기에 부적격한 것으로 마킹한다. 따라서, 프로세싱 루프(230-232)가 폴리곤들을 새로운 키프레임들에 재할당하는 것을 실행하는 경우, 키프레임들 전부가 아니라 부적격한 것으로 마킹되어 있지 않은 키프레임들만이 프로세싱된다. 추가로, 위에 논의된 바와 같이, 몇몇 경우들에서는, 대안적인 적절한 키프레임이 하나 또는 그 초과의 폴리곤들에 대해 이용가능하지 않을 수 있다. 몇몇 예들에서, 그러한 폴리곤들은 방법(200)의 일부로서 컴퓨팅 디바이스(110)에 의해 추가적으로 프로세싱되지 않는다. 몇몇 양상들에서, 컴퓨팅 디바이스(110)는, 키프레임과 연관되지 않은 폴리곤들의 개수의 카운트 또는 파라미터를 유지할 수 있다. 이제 도 4d를 참조하면, 도 4d는, 키프레임들에 대한 폴리곤들의 예시적인 할당 및 키프레임들로부터의 연관된 텍스쳐들을 도시한다. 도 4d에 도시된 예에서, 폴리곤들(131a-b, e-f)은 하나의 키프레임(320)에 할당되어있는 한편, 폴리곤들(131c-d)은 다른 키프레임(330)에 할당되어 있다.
[0057] 선택된 키프레임(들)에 할당된 폴리곤들이 제거된 이후, 방법은 블록(240)으로 리턴한다.
[0058] 블록(250)에서, 컴퓨팅 디바이스(110)는 다른 프로세싱 루프에 진입한다. 블록(250)에서, 컴퓨팅 디바이스(110)는, 폴리곤에 대해 텍스쳐 컬러들을 등화시키기 위해 폴리곤들을 프로세싱하기 시작한다. 블록(250)에서, 컴퓨팅 디바이스(110)는, 프로세싱될 부가적인 폴리곤들이 남아 있는지 여부를 결정한다. 이러한 예에서, 컴퓨팅 디바이스(110)는, 어떠한 키프레임들과도 연관되지 않은 임의의 폴리곤들을 프로세싱으로부터 제외시킨다. 프로세싱될 부가적인 폴리곤들이 남아 있으면, 방법(200)은 블록(252)으로 진행하고, 남아 있지 않으면 방법(200)은 종료된다.
[0059] 블록(252)에서, 컴퓨팅 디바이스(110)는, 폴리곤과 연관된 키프레임의 부분의 텍스쳐 컬러에 기초하여 폴리곤의 적어도 부분의 텍스쳐 컬러를 등화시키고, 등화된 텍스쳐 컬러를 오브젝트의 3D 표현에 할당한다.
[0060] 이러한 예에서, 컴퓨팅 디바이스(110)는, 꼭짓점이 폐색되지 않는 모든 키프레임들로부터의 폴리곤에 대한 텍스쳐에 기초하여, 폴리곤의 각각의 꼭짓점과 연관된 가중 텍스쳐 컬러를 결정한다. 몇몇 양상들에서, 컴퓨팅 디바이스(110)는, 키프레임의 평면과 폴리곤의 법선 벡터 사이의 각도가 임계치(미리정의되거나 또는 조정가능할 수 있음), 이를테면 85도 미만인 키프레임들만을 이용할 수 있다. 이러한 예에서, 컴퓨팅 디바이스(110)는, 이러한 단계에 대해, 사전에 생성된 감소된 세트의 폴리곤들이 아니라 모든 키프레임들을 사용하지만, 몇몇 양상들에서, 컴퓨팅 디바이스(110)는 감소된 세트의 폴리곤들을 사용할 수 있다.
[0061] 이러한 예에서, 폴리곤의 꼭짓점들에 대한 가중 텍스쳐 컬러를 컴퓨팅하기 위해, 컴퓨팅 디바이스(110)는, 각각의 키프레임에 대해, 키프레임의 평면과 폴리곤에 대한 법선 벡터 사이의 각도를 결정한다. 그 후, 각도는, 가중치 파라미터로 변환되고, 키프레임에서 폐색되지 않는 폴리곤의 각각의 꼭짓점에 대해, 꼭짓점에 대응하는 키프레임 내의 픽셀의 텍스쳐 컬러에 대하여 곱(multiply)해진다. 그 후, 가중 텍스쳐 컬러들이 합산되고 평균화되어 꼭짓점에 대한 텍스쳐 컬러를 생성한다.
[0062] 폴리곤의 꼭짓점들에 대한 가중 텍스쳐 컬러들을 결정한 이후, 컴퓨팅 디바이스(110)는, 각각의 꼭짓점의 가중 평균 텍스쳐 컬러를, 폴리곤과 연관된 키프레임 내의 대응하는 픽셀의 텍스쳐 컬러에 비교하고, 꼭짓점의 계산된 가중 평균 텍스쳐쳐 컬러와 픽셀의 텍스쳐 컬러 사이의 차이에 기초하여 등화 승수를 결정하며, 그에 따라, 폴리곤의 각각의 꼭짓점에 대한 등화 승수들이 생성된다. 몇몇 양상들에서, 등화 승수는, 픽셀의 가중 평균 텍스쳐 컬러와, 폴리곤과 연관된 키프레임 내의 대응하는 픽셀의 텍스쳐 컬러 사이의 비로서 계산된 수 있지만, 몇몇 양상들에서는, 등화 승수는, 그러한 비 및 다른 파라미터들, 이를테면 폴리곤에 관한 키프레임에 대한 스코어에 기초할 수 있다. 등화 승수들은 그 후, 꼭짓점들과 연관된다. 컴퓨팅 디바이스(110)가 블록(252)에서 폴리곤의 꼭짓점들의 텍스쳐 컬러를 등화시킨 이후, 방법(200)은 블록(250)으로 리턴한다.
[0063] 일단 모든 폴리곤들이 프로세싱되었으면, 방법(200)은 블록(260)으로 진행한다.
[0064] 블록(260)에서, 컴퓨팅 디바이스(110)는 등화된 텍스쳐 컬러 정보를 저장한다. 예를 들어, 컴퓨팅 디바이스(110)는, 3D 표현에서의 꼭짓점 파라미터로서 등화 승수를 저장할 수 있다. 몇몇 예들에서, 컴퓨팅 디바이스(110)는, 3D 표현과 연관되는 별개의 데이터 구조, 이를테면 별개의 파일 또는 별개의 데이터베이스 기록(또는 기록들)으로 등화 승수들을 저장할 수 있다.
[0065] 등화된 텍스쳐 컬러 정보가 저장된 이후, 방법(200)은 종료된다.
[0066] 이제 도 3을 참조하면, 도 3은, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 예시적인 방법(300)을 도시한다. 도 3의 방법(300)은, 도 7-9에 관하여 아래에 논의되는 것들과 같은 임의의 적절한 컴퓨팅 디바이스에 의해 또는 적절한 컴퓨팅 환경 내에서 수행될 수 있다. 다양한 예들의 일부로서, 적절한 디바이스들 또는 시스템들이 사용될 수 있다. 특정 예들은, 캡쳐된 오브젝트 또는 씬에 관한 카메라 포즈 또는 카메라의 포지션을 식별하는 수단으로서 SLAM(Simultaneous Location and Mapping) 또는 PTAM(Parallel Tracking and Mapping) 시스템들의 양상들을 사용할 수 있다. 다양한 대안적인 예들은 또한, 시스템의 기하학적 모델을 생성하기 위해 또는 3D 모델의 생성을 위해 사용될 수 있는 다양한 데이터를 수집하기 위해 이들 맵핑 시스템들을 사용할 수 있다.
[0067] 도 3의 방법(300)은 블록(310)에서 시작되는데, 이때, 도 2의 블록(210)에 관하여 위에 설명된 바와 같이, 카메라를 갖는 컴퓨팅 디바이스, 이를테면 컴퓨팅 디바이스(110)가 오브젝트의 복수의 키프레임들을 캡쳐한다.
[0068] 컴퓨팅 디바이스(110)가 키프레임들을 캡쳐한 이후, 방법은 블록(320)으로 진행한다.
[0069] 블록(320)에서, 컴퓨팅 디바이스(110)는, 도 2의 블록(220)에 관하여 위에 설명된 바와 같이, 오브젝트에 대한 표면 메쉬 모델을 포함하는 오브젝트의 3D 표현에 액세스한다.
[0070] 컴퓨팅 디바이스(110)가 오브젝트의 3D 표현에 액세스한 이후, 방법은 블록(330)으로 진행한다.
[0071] 블록(330)에서, 컴퓨팅 디바이스(110)는, 도 2a의 방법(200) 또는 도 2b의 방법(202)의 블록들(230-232)에 관하여 위에 설명된 바와 같이, 복수의 폴리곤들 중 제 1 세트의 폴리곤들 내의 각각의 폴리곤에 대해, 폴리곤에 대응하는 키프레임의 부분과 연관된 하나 또는 그 초과의 이미지 품질 특성들에 기초하여, 복수의 키프레임들 중 하나를 폴리곤에 할당한다. 몇몇 예들에서, 위에 설명된 바와 같이, 이를테면 모든 키프레임들에서의 폴리곤의 폐색으로 인해, 어떠한 키프레임도 폴리곤과 연관되지 않을 수 있다. 따라서, 복수의 폴리곤들 중 제 1 세트의 폴리곤들은, 적어도 하나의 키프레임에서 폐색되지 않는 폴리곤들을 포함할 수 있다. 몇몇 예들에서, 키프레임이 적어도 하나의 키프레임에서 가시적일 수 있지만, 그러한 키프레임들에 대한 스코어는 임계치 미만일 수 있고, 그에 따라, 어떠한 키프레임도 폴리곤에 할당되지 않을 수 있다. 따라서, 복수의 폴리곤들 중 제 1 세트의 폴리곤들은, 할당된 폴리곤을 갖는 폴리곤들을 포함할 수 있다.
[0072] 컴퓨팅 디바이스(110)가 블록(330)에서 폴리곤들에 키프레임들을 할당한 이후, 방법은 블록(340)으로 진행한다.
[0073] 블록(340)에서, 컴퓨팅 디바이스(110)는, 도 2a의 방법(200)의 블록들(240-244)에 관하여 위에 설명된 바와 같이, 할당된 키프레임들 간의 그리고 복수의 폴리곤들 중 제 2 세트의 폴리곤들에 대한 연관들을 변경함으로써 할당된 키프레임들의 개수를 감소시킨다. 일 예에서, 컴퓨팅 디바이스(110)는 제거할 키프레임을 식별한다. 이러한 예에서, 컴퓨팅 디바이스(110)는, 각각의 키프레임과 연관된 폴리곤들의 개수에 따라 키프레임들을 랭크화한다. 그 후, 컴퓨팅 디바이스(110)는 가장 적은 개수의 연관된 폴리곤들을 갖는 키프레임을 선택한다. 몇몇 예들에서, 컴퓨팅 디바이스(110)는, 임계 개수보다 더 적은 개수의 폴리곤들에 할당된 임의의 키프레임을 선택할 수 있다. 몇몇 예들에서, 컴퓨팅 디바이스(110)는, 단일 단계에서, 다수의 제거될 키프레임들을 선택할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는, 임계 개수보다 더 적은 개수의 키프레임들과 연관되는 모든 키프레임들을 선택할 수 있다.
[0074] 그 후, 컴퓨팅 디바이스(110)는, 제거될 키프레임(들)과 연관된 폴리곤들을 재할당한다. 이러한 예에서, 폴리곤들을 재할당하기 위해, 컴퓨팅 디바이스(110)는, 제거될 키프레임(들)에 할당된 각각의 폴리곤에 대해 프로세싱 루프(230-232)의 기능을 재-실행하지만, 제거될 키프레임(들)을 최소 스코어를 갖도록 사전셋팅하거나, 또는 그렇지 않으면, 제거될 키프레임(들)을 할당하기에 부적격한 것으로 마킹한다. 따라서, 프로세싱 루프(230-232)가 폴리곤들을 새로운 키프레임들에 재할당하는 것을 실행하는 경우, 키프레임들 전부가 아니라 부적격한 것으로 마킹되어 있지 않은 키프레임들만이 프로세싱된다. 추가로, 위에 논의된 바와 같이, 몇몇 경우들에서는, 대안적인 적절한 키프레임이 하나 또는 그 초과의 폴리곤들에 대해 이용가능하지 않을 수 있다. 몇몇 예들에서, 그러한 폴리곤들은 방법(200)의 일부로서 컴퓨팅 디바이스(110)에 의해 추가적으로 프로세싱되지 않는다. 몇몇 양상들에서, 컴퓨팅 디바이스(110)는, 키프레임과 연관되지 않은 폴리곤들의 개수의 카운트 또는 파라미터를 유지할 수 있다.
[0075] 이러한 예에서, 그리고 몇몇 예시들에서, 키프레임들의 개수를 감소시킨 이후, 하나 또는 그 초과의 폴리곤들이 더 이상 할당된 키프레임을 갖지 않을 수 있다. 따라서, 할당된 키프레임을 갖는 남아 있는 폴리곤들은, 복수의 폴리곤들 중 제 2 세트의 폴리곤들을 표현한다.
[0076] 이를테면 미리결정된 임계치에 기초하여 키프레임들의 개수가 충분히 감소된 이후, 방법(300)은 블록(350)으로 진행한다.
[0077] 블록(350)에서, 할당된 키프레임을 갖는 표면 메쉬 모델의 각각의 폴리곤에 대해, 컴퓨팅 디바이스(110)는, 도 2의 방법(200)의 블록들(250-252)에 관하여 위에 설명된 바와 같이, 폴리곤과 연관된 복수의 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 적어도 부분적으로 기초하여, 폴리곤의 적어도 부분의 텍스쳐 컬러를 등화시킨다.
[0078] 컴퓨팅 디바이스(110)가 블록(350)에서 프로세싱을 완료한 이후, 방법(300)은 블록(360)으로 진행한다.
[0079] 블록(360)에서, 컴퓨팅 디바이스(110)는, 도 2a의 방법(200)의 블록들(250-260)에 관하여 위에 설명된 바와 같이, 등화된 텍스쳐 컬러를 오브젝트의 3D 표현에 할당한다.
[0080] 이제 도 5을 참조하면, 도 5는, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 예시적인 방법(500)을 도시한다. 도 5의 방법(500)은, 도 7-9에 관하여 아래에 논의되는 것들과 같은 임의의 적절한 컴퓨팅 디바이스에 의해 또는 적절한 컴퓨팅 환경 내에서 수행될 수 있다. 다양한 예들의 일부로서, 적절한 디바이스들 또는 시스템들이 사용될 수 있다. 특정 예들은, 캡쳐된 오브젝트 또는 씬에 관한 카메라 포즈 또는 카메라의 포지션을 식별하는 수단으로서 SLAM(Simultaneous Location and Mapping) 또는 PTAM(Parallel Tracking and Mapping) 시스템들의 양상들을 사용할 수 있다. 다양한 대안적인 예들은 또한, 시스템의 기하학적 모델을 생성하기 위해 또는 3D 모델의 생성을 위해 사용될 수 있는 다양한 데이터를 수집하기 위해 이들 맵핑 시스템들을 사용할 수 있다.
[0081] 도 5의 방법(500)은 블록(510)에서 시작되는데, 이때, 도 2의 블록(210)에 관하여 위에 설명된 바와 같이, 카메라를 갖는 컴퓨팅 디바이스, 이를테면 컴퓨팅 디바이스(110)가 오브젝트의 복수의 키프레임들을 캡쳐한다.
[0082] 컴퓨팅 디바이스(110)가 키프레임들을 캡쳐한 이후, 방법은 블록(520)으로 진행한다.
[0083] 블록(520)에서, 컴퓨팅 디바이스(110)는, 도 2의 블록(220)에 관하여 위에 설명된 바와 같이, 오브젝트에 대한 표면 메쉬 모델을 포함하는 오브젝트의 3D 표현에 액세스한다.
[0084] 컴퓨팅 디바이스(110)가 오브젝트의 3D 표현에 액세스한 이후, 방법은 블록(530)으로 진행한다.
[0085] 블록(530)에서, 컴퓨팅 디바이스(110)는, 오브젝트의 3D 표현에서의 폴리곤들을 프로세싱하는 것을 시작한다. 컴퓨팅 디바이스는, 3D 표현에서의 각각의 폴리곤에 대해 블록(532)의 기능을 수행한다. 따라서, 블록(530)에서, 컴퓨팅 디바이스(110)는, 3D 표현에서의 임의의 폴리곤들이 프로세싱되지 않았는지 여부를 결정한다. 프로세싱될 임의의 폴리곤들이 남아있으면, 컴퓨팅 디바이스는 3D 표현으로부터 폴리곤을 선택하고 그리고 방법(500)은 블록(531)으로 진행하며, 프로세싱될 어떠한 폴리곤도 남아있지 않으면 방법은 블록(540)으로 진행한다.
[0086] 블록(531)에서, 컴퓨팅 디바이스(110)는, 오브젝트의 3D 표현에서의 폴리곤 중 하나의 텍스쳐 컬러를 등화시킨다. 이러한 예에 따르면, 컴퓨팅 디바이스(110)는, (폴리곤의 꼭짓점들만이 아니라) 폴리곤 내의 픽셀들 그리고 몇몇 예들에서는 폴리곤 내의 모든 픽셀들에 대한 등화된 텍스쳐 컬러들을 결정하기 위해 각각의 폴리곤을 분석한다.
[0087] 블록(532)에서, 컴퓨팅 디바이스(110)는, 선택된 폴리곤 내의 각각의 픽셀에 대한 가중 평균 텍스쳐 컬러를 계산한다. 이러한 예에서, 컴퓨팅 디바이스(110)는, 픽셀이 폐색되지 않는 모든 키프레임들에 기초하여, 픽셀과 연관된 가중 텍스쳐 컬러를 결정한다. 몇몇 양상들에서, 컴퓨팅 디바이스(110)는, 키프레임의 평면과 폴리곤의 법선 벡터 사이의 각도가 임계치(미리정의되거나 또는 조정가능할 수 있음), 이를테면 85도 미만인 키프레임들만을 이용할 수 있다. 그러나, 이러한 예에서, 컴퓨팅 디바이스(110)는 이러한 단계에 대해 모든 키프레임들을 사용한다.
[0088] 이러한 예에서, 픽셀에 대한 가중 텍스쳐 컬러를 컴퓨팅하기 위해, 컴퓨팅 디바이스(110)는, 각각의 키프레임에 대해, 키프레임의 평면과 폴리곤에 대한 법선 벡터 사이의 각도를 결정한다. 그 후, 각도는 가중치 파라미터로 변환되고, 키프레임 내의 픽셀의 텍스쳐 컬러에 대하여 곱해진다. 그 후, 가중 텍스쳐 컬러들이 합산되고 평균화되어 픽셀에 대한 텍스쳐 컬러를 생성한다. 그 후, 결정된 텍스쳐 컬러 값은 3D 표현의 일부로서 픽셀에 할당된다. 예를 들어, 컴퓨팅 디바이스(110)는, 3D 표현에서의 폴리곤에 적용될 텍스쳐의 일부로서 텍스쳐 컬러 값을 저장할 수 있다. 몇몇 예들에서, 컴퓨팅 디바이스(110)는, 3D 표현과 연관되는 별개의 데이터 구조, 이를테면 별개의 파일 또는 별개의 데이터베이스 기록(또는 기록들)으로 텍스쳐 컬러 값들을 저장할 수 있다.
[0089] 도 5의 방법(500)은, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링에 대해 더 계산적으로-고비용(computationally-expensive)인 접근법을 제공할 수 있지만, 텍스쳐 컬러들을 등화시키는 경우 부가적인 데이터를 고려할 수 있다. 추가로, 몇몇 예들에서, 도 2a의 방법(200)은 도 5의 방법(500)과 결합될 수 있다. 예를 들어, 도 2a의 방법은 키프레임들을 폴리곤들에 할당하지만, 도 5의 방법은, 키프레임들을 개별적인 픽셀들에 할당하는 것으로 확장될 수 있고, 폴리곤 단위 기반이 아니라 픽셀 단위 기반으로 도 2b에 도시된 방법(202)의 기능을 수행한다. 추가로, 그러한 결합된 방법은 키프레임들의 개수를 감소시키지 않을 수 있지만, 몇몇 예들에서는, 키프레임들을 개별적인 픽셀들에 할당하는 것에 부가하여, 컴퓨팅 디바이스(110)는 또한, 픽셀 단위 기반으로 블록들(240-244)의 기능을 수행함으로써 키프레임들의 개수를 감소시킬 수 있다. 따라서, 도 5에 설명된 바와 같은 픽셀 단위 분석을 수행하지만 도 2a-2b에 관하여 설명된 바와 같은 키프레임 할당, 키프레임 재할당, 또는 텍스쳐 컬러 등화 중 하나 또는 그 초과의 양상들을 포함하는 하이브리드(hybrid) 방법이 하나 또는 그 초과의 예들에 따라 구현될 수 있다.
[0090] 이제 도 6을 참조하면, 도 6은, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 예시적인 방법(600)을 도시한다. 도 6의 방법(600)은, 도 7-9에 관하여 아래에 논의되는 것들과 같은 임의의 적절한 컴퓨팅 디바이스에 의해 또는 임의의 적절한 컴퓨팅 환경 내에서 수행될 수 있다. 다양한 예들의 일부로서, 적절한 디바이스들 또는 시스템들이 사용될 수 있다. 특정 예들은, 캡쳐된 오브젝트 또는 씬에 관한 카메라 포즈 또는 카메라의 포지션을 식별하는 수단으로서 SLAM(Simultaneous Location and Mapping) 또는 PTAM(Parallel Tracking and Mapping) 시스템들의 양상들을 사용할 수 있다. 다양한 대안적인 예들은 또한, 시스템의 기하학적 모델을 생성하기 위해 또는 3D 모델의 생성을 위해 사용될 수 있는 다양한 데이터를 수집하기 위해 이들 맵핑 시스템들을 사용할 수 있다.
[0091] 도 6의 방법(600)은 블록(610)에서 시작되는데, 이때, 도 2의 블록(210)에 관하여 위에 설명된 바와 같이, 카메라를 갖는 컴퓨팅 디바이스, 이를테면 컴퓨팅 디바이스(110)가 오브젝트의 복수의 키프레임들을 캡쳐한다.
[0092] 컴퓨팅 디바이스(110)가 키프레임들을 캡쳐한 이후, 방법은 블록(620)으로 진행한다.
[0093] 블록(620)에서, 컴퓨팅 디바이스(110)는, 도 2의 블록(220)에 관하여 위에 설명된 바와 같이, 오브젝트에 대한 표면 메쉬 모델을 포함하는 오브젝트의 3D 표현에 액세스한다.
[0094] 컴퓨팅 디바이스(110)가 오브젝트의 3D 표현에 액세스한 이후, 방법은 블록(630)으로 진행한다.
[0095] 블록(630)에서, 컴퓨팅 디바이스(110)는, 복수의 폴리곤들 중 제 1 세트의 폴리곤들 내의 각각의 폴리곤에 대해, 폴리곤과 연관된 하나 또는 그 초과의 키프레임들을 식별한다. 예를 들어, 컴퓨팅 디바이스(110)는, 폴리곤이 폐색되지 않는 모든 키프레임들을 식별한다. 몇몇 예들에서, 컴퓨팅 디바이스(110)는, 키프레임의 평면과 폴리곤의 법선 벡터 사이의 각도가 임계치(미리정의되거나 또는 조정가능할 수 있음), 이를테면 85도 미만인 하나 또는 그 초과의 키프레임들을 식별한다. 위에 논의된 바와 같이, 몇몇 경우들에서, 하나 또는 그 초과의 폴리곤들이 임의의 키프레임들에서 가시적이지 않을 수 있거나, 또는 설명된 각도 임계치와 같은 하나 또는 그 초과의 품질 메트릭(metric)들을 충족시키지 않을 수 있다. 따라서, 그러한 폴리곤들은 제 1 세트의 폴리곤들에 포함되지 않을 수 있다.
[0096] 컴퓨팅 디바이스(110)가 폴리곤들과 연관된 하나 또는 그 초과의 키프레임들을 식별한 이후, 방법(600)은 블록(640)으로 진행한다.
[0097] 블록(640)에서, 컴퓨팅 디바이스(110)는, 복수의 폴리곤들 중 제 2 세트의 폴리곤들에 대한 식별된 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 기초하여, 식별된 키프레임들 중 하나 또는 그 초과의 키프레임들을 할당한다. 예를 들어, 컴퓨팅 디바이스(110)가 도 2의 방법(200)의 블록들(230-232)의 기능을 수행할 수 있지만, 컴퓨팅 디바이스(110)는, 가장 양호한 스코어를 갖는 키프레임만이 아니라 충분한 스코어를 갖는 모든 각각의 키프레임을 폴리곤에 할당할 수 있다. 위에 논의된 바와 같이, 몇몇 폴리곤들은, 최소 임계 스코어를 초과하지 않는 키프레임들에 대한 스코어들로 인해 키프레임을 할당 받지 않을 수 있다. 따라서, 하나 또는 그 초과의 키프레임들이 할당된 폴리곤들은 제 2 세트의 폴리곤들을 포함한다.
[0098] 컴퓨팅 디바이스(110)가 블록(640)에서 폴리곤들에 키프레임들을 할당한 이후, 방법은 블록(650)으로 진행한다.
[0099] 블록(650)에서, 컴퓨팅 디바이스(110)는, 제 2 세트의 폴리곤들에 내의 각각의 폴리곤의 각각의 픽셀에 대해, 도 5의 방법(500)의 블록들(530-532)의 기능을 수행함으로써, 하나 또는 그 초과의 할당된 키프레임들 각각에서의 오브젝트에 대한 대응하는 포인트들의 텍스쳐 컬러들에 기초하여, 픽셀의 가중 평균 텍스쳐 컬러를 계산한다.
[00100] 컴퓨팅 디바이스(110)가 가중 평균 텍스쳐 컬러들을 계산한 이후, 방법(600)은 블록(660)으로 진행한다.
[00101] 블록(660)에서, 컴퓨팅 디바이스는, 이를테면, 오브젝트의 3D 표현과 연관된 가중 평균 텍스쳐 컬러들을 3D 표현의 일부로서 또는 데이터베이스에 저장함으로써, 가중 평균 텍스쳐 컬러를 오브젝트의 3D 표현에 할당한다.
[00102] 이제 도 7을 참조하면, 도 7은, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 컴퓨팅 디바이스(700)의 일 예를 도시한다. 이러한 예에서, 컴퓨팅 디바이스(700)는, 프로세서(710), WAN 무선 트랜시버(712) 및 연관된 안테나(714), 카메라(701), LAN 무선 트랜시버(742) 및 연관된 안테나(744), 디스플레이 출력(703), 사용자 입력 모듈(704), 및 운영 시스템(723), 키프레임 할당 모듈(721), 컬러 등화 모듈(722), 및 데이터 베이스(724)를 저장하도록 구성되는 하나 또는 그 초과의 메모리들을 포함하는, 스마트폰과 같은 모바일 디바이스를 포함한다. 이러한 예에서, 컴퓨팅 디바이스(700)는, 현실-세계 환경의 이미지들 또는 비디오, 또는 카메라의 관점으로부터 씬을 캡쳐하도록 구성된다. 프로세서(710)는, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 제공하기 위해 키프레임 할당 모듈(721) 및 컬러 등화 모듈(722)을 실행시키도록 구성된다. 예를 들어, 카메라(701)는 씬 내의 오브젝트의 이미지 또는 비디오를 캡쳐할 수 있고, 키프레임 할당 모듈(721)은 오브젝트의 3D 폴리곤 메쉬 표현에서의 폴리곤들에 키프레임들을 할당할 수 있으며, 컬러 등화 모듈(722)은, 오브젝트의 3D 표현에 대한 등화된 컬러 정보를 생성할 수 있고 그리고 등화된 컬러 정보를 데이터베이스(724)에 저장할 수 있거나 또는 본원에 설명된 실시예들에 따른 출력을 디스플레이(703)할 수 있다. 몇몇 예들에서, 컴퓨팅 디바이스(700)는, WAN 무선 트랜시버(712) 또는 LAN 트랜시버(742)를 사용하여 등화된 컬러 정보를 송신하도록 구성될 수 있다.
[00103] 도 8은, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 위한 컴퓨팅 디바이스(800)의 일 예를 도시한다. 도 1의 컴퓨팅 디바이스(110)가 컴퓨팅 디바이스(800)와 같은 디바이스에 연결될 수 있거나, 또는 컴퓨팅 디바이스(110)는 컴퓨팅 디바이스(800)의 세부사항들에 따른 대안적인 실시예들로 구현될 수 있다. 이러한 예에서, 컴퓨팅 디바이스(800)는, 하나 또는 그 초과의 프로세서들(810), 하나 또는 그 초과의 저장 디바이스(825), 하나 또는 그 초과의 입력 디바이스(815), 하나 또는 그 초과의 출력 디바이스(820), 통신 서브시스템(830), 및 메모리(835)를 포함하며, 이들 전부는 하나 또는 그 초과의 통신 버스들(605)을 통해 서로 통신한다. 메모리(835)는, 운영 시스템(840) 및 하나 또는 그 초과의 애플리케이션들(845)과 같은, 프로세서들(810) 중 하나 또는 그 초과에 의한 실행을 위한 프로그램 코드를 저장하도록 구성된다. 예를 들어, 메모리(835)는, 본 개시내용에 따른 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링을 제공하기 위한 소프트웨어 애플리케이션을 저장할 수 있다.
[00104] 도 9는, 뷰 독립적 컬러 등화형 3D 씬 텍스쳐링에 대한 다양한 예들과 함께 사용될 수 있는 네트워크를 도시하며, 여기서, 컴퓨팅 디바이스(110)는, 도 9에 도시된 네트워크의 부분들에 커플링될 수 있거나, 또는 도 2a-2b의 방법의 부분들이 네트워킹된 리소스들을 사용하여 구현될 수 있는 구현의 일부로서 프로세싱을 수행하기 위해, 그러한 네트워크의 리소스들을 사용할 수 있다. 일 예에서, 컴퓨팅 디바이스(110)와 같은 하나 또는 그 초과의 디바이스는 네트워크(910)에 연결된다. 컴퓨팅 디바이스(110)는, 데이터베이스들(920a-b)과 같은 하나 또는 그 초과의 데이터 저장부로부터의 오브젝트의 3D 표현에 액세스하도록 구성된다. 몇몇 예들에서, 디바이스들은, 3D 오브젝트 표현을 획득하거나 또는 컬러 등화 정보를 저장하기 위해 인터넷에 액세스하도록 구성될 수 있다.
[00105] 본원에서의 방법들 및 시스템들이 다양한 머신들 상에서 실행되는 소프트웨어의 관점들에서 설명되지만, 방법들 및 시스템들은 또한, 특정적으로 구성된 하드웨어, 이를테면 다양한 방법들을 특정적으로 실행하기 위한 필드-프로그래밍가능 게이트 어레이(FPGA)로서 구현될 수 있다. 예를 들어, 예들은, 디지털 전자 회로로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 결합으로 구현될 수 있다. 일 예에서, 디바이스는 프로세서 또는 프로세서들을 포함할 수 있다. 프로세서는, 컴퓨터-판독가능 매체, 이를테면 프로세서에 커플링되는 랜덤 액세스 메모리(RAM)를 포함한다. 프로세서는, 메모리에 저장된 컴퓨터-실행가능 프로그램 명령들을 실행하는데, 이를테면, 이미지를 편집하기 위한 하나 또는 그 초과의 컴퓨터 프로그램들을 실행한다. 그러한 프로세서들은, 마이크로프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA)들, 및 상태 머신들을 포함할 수 있다. 그러한 프로세서들은 추가로, PLC들, 프로그래밍가능 인터럽트 제어기(PIC; programmable interrupt controller)들, 프로그래밍가능 로직 디바이스(PLD)들, 프로그래밍가능 판독-전용 메모리(PROM)들, 전자적으로 프로그래밍가능한 판독-전용 메모리들(EPROM들 또는 EEPROM들), 또는 다른 유사한 디바이스드로가 같은 프로그래밍가능 전자 디바이스들을 포함할 수 있다.
[00106] 그러한 프로세서들은, 프로세서에 의해 실행되는 경우 프로세서로 하여금, 프로세서에 의해 수행되거나 또는 보조되는 것으로서 본원에 설명된 단계들을 수행하게 하는 명령들을 저장할 수 있는 매체들(예컨대, 컴퓨터-판독가능 저장 매체들)을 포함할 수 있거나 또는 그와 통신할 수 있다. 컴퓨터-판독가능 매체들의 예들은, 웹 서버에서의 프로세서와 같은 프로세서에 컴퓨터-판독가능 명령들을 제공하는 것이 가능한 전자, 광학, 자기, 또는 다른 저장 디바이스를 포함할 수 있지만 이에 제한되지 않는다. 매체들의 다른 예들은, 플로피 디스크, CD-ROM, 자기 디스크, 메모리 칩, ROM, RAM, ASIC, 구성형 프로세서, 모든 광학 매체들, 모든 자기 테이프 또는 다른 자기 매체들, 또는 컴퓨터 프로세서가 판독할 수 있는 임의의 다른 매체를 포함하지만 이에 제한되지 않는다. 설명된 프로세서(및 프로세싱)는 하나 또는 그 초과의 구조들에 있을 수 있고 하나 또는 그 초과의 구조들에 걸쳐 분산될 수 있다. 프로세서는, 본원에 설명된 방법들(또는 방법들의 부분들) 중 하나 또는 그 초과를 수행하기 위한 코드를 포함할 수 있다.
[00107] 몇몇 예들의 전술한 설명은, 예시 및 설명의 목적을 위해서만 제공되었으며, 총망라적인 것으로 또는 개시된 바로 그 형태들로 본 개시내용을 제한하도록 의도되지 않는다. 본 개시내용의 사상 및 범위를 벗어나지 않으면서 그들에 대한 많은 수정들 및 적응들이 당업자들에게 명백할 것이다.
[00108] 본원에서 예 또는 구현에 대한 참조는, 그 예와 관련하여 설명되는 특정 특징, 구조, 동작, 또는 다른 특성들이 본 개시내용의 적어도 하나의 구현에 포함될 수 있다는 것을 의미한다. 본 개시내용은 그와 같이 설명된 특정 예들 또는 구현들로 제한되지 않는다. 본 명세서의 다양한 위치들에서의 어구 “일 예에서”, “예에서”, “일 구현에서”, 또는 “구현에서” 또는 동일한 것의 변형들의 출현은, 반드시 동일한 예 또는 구현을 지칭하지는 않는다. 일 예 또는 구현과 관련하여 본 명세서에서 설명되는 임의의 특정 특징, 구조, 동작, 또는 다른 특성은, 임의의 다른 예 또는 구현에 관해 설명된 다른 특징들, 구조들, 동작들, 또는 특성들과 결합될 수 있다.

Claims (27)

  1. 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링(view independent color equalized three-dimensional scene texturing)을 위한 방법으로서,
    오브젝트의 복수의 키프레임들을 캡쳐(capture)하는 단계;
    상기 오브젝트에 대한 표면 메쉬 모델(surface mesh model)을 포함하는 상기 오브젝트의 3-차원(“3D”) 표현에 액세스하는 단계 ― 상기 표면 메쉬 모델은 복수의 폴리곤(polygon)들을 포함함 ―;
    상기 복수의 폴리곤들 중 제 1 세트의 폴리곤들 내의 각각의 폴리곤에 대해, 상기 폴리곤에 대응하는 키프레임의 부분과 연관된 하나 또는 그 초과의 이미지 품질 특성들에 기초하여 상기 복수의 키프레임들 중 하나를 상기 폴리곤에 할당하는 단계;
    할당된 키프레임들과 상기 복수의 폴리곤들 중 제 2 세트의 폴리곤들 간의 연관들을 변경함으로써 할당된 키프레임들의 개수를 감소시키는 단계; 및
    할당된 키프레임을 갖는 상기 표면 메쉬 모델의 각각의 폴리곤에 대해,
    상기 폴리곤과 연관된 상기 복수의 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 적어도 부분적으로 기초하여 상기 폴리곤의 적어도 부분의 텍스쳐(texture) 컬러를 등화(equalize)시키는 단계; 및
    등화된 텍스쳐 컬러를 상기 오브젝트의 3D 표현에 할당하는 단계
    를 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  2. 제 1 항에 있어서,
    상기 폴리곤의 컬러를 등화시키는 것은,
    상기 복수의 키프레임들의 서브세트에 기초하여 상기 폴리곤의 각각의 꼭짓점(vertex)에 대한 가중 평균(weighted average) 텍스쳐 컬러를 계산하는 것 ― 상기 서브세트는, 상기 폴리곤의 적어도 하나의 꼭짓점과 연관된 픽셀을 갖는 키프레임들을 포함함 ―;
    상기 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 사용하여, 상기 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 개별적인 할당된 키프레임으로부터의 상기 오브젝트에 대한 연관된 포인트들의 텍스쳐 컬러에 비교함으로써, 텍스쳐 컬러 등화 승수(multiplier)를 계산하는 것; 및
    상기 폴리곤에 텍스쳐를 적용하는 것
    을 포함하며,
    상기 적용하는 것은, 상기 폴리곤의 꼭짓점들에 기초하여 상기 폴리곤 내의 픽셀들에 걸쳐 상기 텍스쳐 컬러 등화 승수를 보간(interpolate)하는 것을 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  3. 제 2 항에 있어서,
    상기 복수의 키프레임들의 서브세트에 기초하여 상기 폴리곤의 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 계산하는 것은,
    상기 각각의 꼭짓점에 대해,
    상기 서브세트의 각각의 키프레임에 대하여,
    상기 폴리곤에 수직인 벡터와 카메라 평면(camera plane)에 수직인 벡터 사이의 각도에 기초하여 키프레임과 연관된 가중치를 결정하는 것; 및
    상기 꼭짓점과 연관된 키프레임 내의 상기 오브젝트에 대한 대응하는 포인트의 텍스쳐 컬러에 상기 가중치를 적용함으로써 가중 컬러를 결정하는 것;
    상기 서브세트의 각각의 키프레임의 가중 텍스쳐 컬러를 합산하는 것; 및
    합에 기초하여 상기 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 계산하는 것
    을 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  4. 제 1 항에 있어서,
    상기 폴리곤의 텍스쳐 컬러를 등화시키는 것은, (1) 상기 폴리곤과 연관된 감소된 키프레임들 중 상기 키프레임의 부분, 및 (2) 상기 복수의 키프레임들 각각의 대응하는 부분들로부터의 픽셀들과 연관된 바와 같은 새로운 텍스쳐의 부분에서의 각각의 픽셀에 대한 상기 복수의 키프레임들로부터의 가중 평균 텍스쳐 컬러에 기초하여, 상기 복수의 폴리곤들 중 상기 폴리곤에 대한 상기 새로운 텍스쳐를 계산하는 것을 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  5. 제 1 항에 있어서,
    상기 복수의 키프레임들 중 하나를 선택하는 것은,
    상기 복수의 키프레임들 각각에 대한 스코어(score)를 결정하는 것; 및
    가장 양호한 스코어를 갖는 키프레임을 선택하는 것
    을 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  6. 제 4 항에 있어서,
    스코어를 결정하는 것은,
    상기 폴리곤에 수직인 벡터와 카메라 평면에 수직인 벡터 사이의 각도를 결정하는 것;
    상기 키프레임과 연관된 깊이 맵(depth map)에 기초하여 카메라로부터의 상기 오브젝트의 거리를 결정하는 것;
    상기 깊이 맵과 연관된 깊이 맵 에러를 결정하는 것;
    상기 키프레임과 연관된 포즈를 결정하는 것; 및
    공식: 스코어 = 각도*(거리)2*깊이 맵 에러*포즈 를 사용하여 상기 스코어를 결정하는 것
    을 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  7. 제 1 항에 있어서,
    상기 이미지 품질 특성들은, 폐색(occlusion) 값, 오브젝트 거리, 조명 품질, 또는 키프레임 각도 중 적어도 하나를 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  8. 제 1 항에 있어서,
    할당된 키프레임들과 상기 복수의 폴리곤들 간의 연관들을 변경함으로써 적어도 하나의 폴리곤과 연관된 할당된 키프레임들의 개수를 감소시키는 것은, 상기 적어도 하나의 폴리곤이 어떠한 키프레임과도 연관되지 않도록 상기 적어도 하나의 폴리곤에 대한 모든 연관들을 배제(eliminate)시키는 것을 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  9. 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법으로서,
    오브젝트의 복수의 키프레임들을 캡쳐하는 단계;
    상기 오브젝트에 대한 표면 메쉬 모델을 포함하는 상기 오브젝트의 3-차원(“3D”) 표현에 액세스하는 단계 ― 상기 표면 메쉬 모델은 복수의 폴리곤들을 포함함 ―;
    상기 표면 메쉬 모델의 상기 복수의 폴리곤들 중 제 1 세트의 폴리곤들 내의 각각의 폴리곤에 대해,
    상기 폴리곤과 연관된 키프레임들을 식별하는 단계;
    상기 복수의 폴리곤들 중 제 2 세트의 폴리곤들에 대한 식별된 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 기초하여, 식별된 키프레임들 중 하나 또는 그 초과의 키프레임들을 할당하는 단계;
    상기 제 2 세트의 폴리곤들 내의 각각의 폴리곤의 각각의 픽셀에 대해,
    하나 또는 그 초과의 할당된 키프레임들 각각에서의 상기 오브젝트에 대한 대응하는 포인트들의 텍스쳐 컬러들에 기초하여, 상기 픽셀의 가중 평균 텍스쳐 컬러를 계산하는 단계; 및
    상기 가중 평균 텍스쳐 컬러를 상기 오브젝트의 3D 표현에 할당하는 단계
    를 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  10. 제 9 항에 있어서,
    상기 하나 또는 그 초과의 키프레임들을 식별하는 것은 상기 복수의 키프레임들에서의 상기 폴리곤의 폐색에 기초하고, 그리고
    식별된 키프레임들 중 하나 또는 그 초과의 키프레임을 선택하는 것은, 상기 폴리곤에 수직인 벡터와 카메라 평면에 수직인 벡터 사이의 각도에 적어도 부분적으로 기초하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  11. 제 9 항에 있어서,
    상기 폴리곤의 각각의 픽셀에 대한 가중 평균 컬러를 계산하는 것은,
    각각의 할당된 키프레임에 대해,
    상기 폴리곤에 수직인 벡터와 카메라 평면에 수직인 벡터 사이의 각도에 기초하여 키프레임과 연관된 가중치를 결정하는 것; 및
    상기 픽셀과 연관된 키프레임 내의 상기 오브젝트에 대한 대응하는 포인트의 텍스쳐 컬러에 상기 가중치를 적용함으로써 가중 텍스쳐 컬러를 결정하는 것;
    각각의 할당된 키프레임의 가중 텍스쳐 컬러를 합산하는 것; 및
    합에 기초하여 상기 픽셀에 대한 가중 평균 텍스쳐 컬러를 계산하는 것
    을 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 방법.
  12. 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 시스템으로서,
    컴퓨터-판독가능 매체; 및
    상기 컴퓨터-판독가능 매체와 통신하는 전자 프로세서를 포함하며,
    상기 전자 프로세서는,
    오브젝트의 복수의 키프레임들을 수신하고;
    상기 오브젝트에 대한 표면 메쉬 모델을 포함하는 상기 오브젝트의 3-차원(“3D”) 표현에 액세스하고 ― 상기 표면 메쉬 모델은 복수의 폴리곤들을 포함함 ―;
    상기 복수의 폴리곤들 중 제 1 세트의 폴리곤들 내의 각각의 폴리곤에 대해, 상기 폴리곤에 대응하는 키프레임의 부분과 연관된 하나 또는 그 초과의 이미지 품질 특성들에 기초하여 상기 복수의 키프레임들 중 하나를 상기 폴리곤에 할당하고;
    할당된 키프레임들과 상기 복수의 폴리곤들 중 제 2 세트의 폴리곤들 간의 연관들을 변경함으로써 할당된 키프레임들의 개수를 감소시키고; 그리고
    할당된 키프레임을 갖는 상기 표면 메쉬 모델의 각각의 폴리곤에 대해,
    상기 폴리곤과 연관된 상기 복수의 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 적어도 부분적으로 기초하여 상기 폴리곤의 적어도 부분의 텍스쳐 컬러를 등화시키고; 그리고
    등화된 텍스쳐 컬러를 상기 오브젝트의 3D 표현에 할당
    하도록 구성되는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 시스템.
  13. 제 12 항에 있어서,
    상기 프로세서는 추가로,
    상기 복수의 키프레임들의 서브세트에 기초하여 상기 폴리곤의 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 계산하고 ― 상기 서브세트는, 상기 폴리곤의 적어도 하나의 꼭짓점과 연관된 픽셀을 갖는 키프레임들을 포함함 ―;
    상기 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 사용하여, 상기 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 개별적인 할당된 키프레임으로부터의 상기 오브젝트에 대한 연관된 포인트들의 텍스쳐 컬러에 비교함으로써, 텍스쳐 컬러 등화 승수를 계산하고; 그리고
    상기 폴리곤에 텍스쳐를 적용
    하도록 구성되며,
    상기 적용은, 상기 폴리곤의 텍스쳐 컬러를 등화시키기 위해 상기 폴리곤의 꼭짓점들에 기초하여 상기 폴리곤 내의 픽셀들에 걸쳐 상기 텍스쳐 컬러 등화 승수를 보간하는 것을 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 시스템.
  14. 제 13 항에 있어서,
    상기 프로세서는 추가로,
    상기 각각의 꼭짓점에 대해,
    상기 서브세트의 각각의 키프레임에 대하여,
    상기 폴리곤에 수직인 벡터와 카메라 평면에 수직인 벡터 사이의 각도에 기초하여 상기 키프레임과 연관된 가중치를 결정하고; 그리고
    상기 꼭짓점과 연관된 키프레임 내의 상기 오브젝트에 대한 대응하는 포인트의 텍스쳐 컬러에 상기 가중치를 적용함으로써 가중 텍스쳐 컬러를 결정하고;
    상기 서브세트의 각각의 키프레임의 가중 텍스쳐 컬러를 합산하고; 그리고
    상기 복수의 키프레임들의 서브세트에 기초하여 상기 폴리곤의 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 계산하기 위해, 합에 기초하여 상기 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 계산
    하도록 구성되는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 시스템.
  15. 제 12 항에 있어서,
    상기 프로세서는 추가로, 상기 폴리곤의 텍스쳐 컬러를 등화시키기 위해, (1) 상기 폴리곤과 연관된 감소된 키프레임들 중 상기 키프레임의 부분, 및 (2) 상기 복수의 키프레임들 각각의 대응하는 부분들로부터의 픽셀들과 연관된 바와 같은 새로운 텍스쳐의 부분에서의 각각의 픽셀에 대한 상기 복수의 키프레임들로부터의 가중 평균 텍스쳐 컬러에 기초하여, 상기 복수의 폴리곤들 중 상기 폴리곤에 대한 상기 새로운 텍스쳐를 계산하도록 구성되는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 시스템.
  16. 제 12 항에 있어서,
    상기 프로세서는 추가로,
    상기 복수의 키프레임들 각각에 대한 스코어를 결정하고; 그리고
    상기 복수의 키프레임들 중 하나를 선택하기 위해 가장 양호한 스코어를 갖는 키프레임을 선택
    하도록 구성되는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 시스템.
  17. 제 16 항에 있어서,
    상기 프로세서는 추가로,
    상기 폴리곤에 수직인 벡터와 카메라 평면에 수직인 벡터 사이의 각도를 결정하고;
    상기 키프레임과 연관된 깊이 맵에 기초하여 카메라로부터의 상기 오브젝트의 거리를 결정하고;
    상기 깊이 맵과 연관된 깊이 맵 에러를 결정하고;
    상기 키프레임과 연관된 포즈를 결정하고; 그리고
    공식: 스코어 = 각도*(거리)2*깊이 맵 에러*포즈 를 사용하여 상기 스코어를 결정
    하도록 구성되는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 시스템.
  18. 제 12 항에 있어서,
    상기 이미지 품질 특성들은, 폐색 값, 오브젝트 거리, 조명 품질, 또는 키프레임 각도 중 적어도 하나를 포함하는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 시스템.
  19. 제 12 항에 있어서,
    상기 프로세서는 추가로, 할당된 키프레임들과 상기 복수의 폴리곤들 사이의 연관들을 변경함으로써 적어도 하나의 폴리곤과 연관된 할당된 키프레임들의 개수를 감소시키기 위해, 상기 적어도 하나의 폴리곤이 어떠한 키프레임과도 연관되지 않도록 상기 적어도 하나의 폴리곤에 대한 모든 연관들을 배제시키도록 구성되는, 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 위한 시스템.
  20. 프로세서로 하여금 뷰 독립적 컬러 등화형 3-차원 씬 텍스쳐링을 방법을 실행하게 하도록 구성되는 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로서,
    상기 프로그램 코드는,
    오브젝트의 복수의 키프레임들을 캡쳐하기 위한 프로그램 코드;
    상기 오브젝트에 대한 표면 메쉬 모델을 포함하는 상기 오브젝트의 3-차원(“3D”) 표현에 액세스하기 위한 프로그램 코드 ― 상기 표면 메쉬 모델은 복수의 폴리곤들을 포함함 ―;
    상기 복수의 폴리곤들 중 제 1 세트의 폴리곤들 내의 각각의 폴리곤에 대해, 상기 폴리곤에 대응하는 키프레임의 부분과 연관된 하나 또는 그 초과의 이미지 품질 특성들에 기초하여 상기 복수의 키프레임들 중 하나를 상기 폴리곤에 할당하기 위한 프로그램 코드;
    할당된 키프레임들과 상기 복수의 폴리곤들 중 제 2 세트의 폴리곤들 간의 연관들을 변경함으로써 할당된 키프레임들의 개수를 감소시키기 위한 프로그램 코드; 및
    할당된 키프레임을 갖는 상기 표면 메쉬 모델의 각각의 폴리곤에 대해, 상기 폴리곤과 연관된 상기 복수의 키프레임들의 하나 또는 그 초과의 이미지 품질 특성들에 적어도 부분적으로 기초하여 상기 폴리곤의 적어도 부분의 텍스쳐 컬러를 등화시키기 위한 프로그램 코드; 및
    할당된 키프레임을 갖는 상기 표면 메쉬 모델의 각각의 폴리곤에 대해, 등화된 컬러를 상기 오브젝트의 3D 표현에 할당하기 위한 프로그램 코드
    를 포함하는, 컴퓨터-판독가능 매체.
  21. 제 20 항에 있어서,
    상기 폴리곤의 텍스쳐 컬러를 등화시키기 위한 프로그램 코드는,
    상기 복수의 키프레임들의 서브세트에 기초하여 상기 폴리곤의 각각의 꼭짓점에 대한 가중 평균 컬러를 계산하기 위한 프로그램 코드 ― 상기 서브세트는, 상기 폴리곤의 적어도 하나의 꼭짓점과 연관된 픽셀을 갖는 키프레임들을 포함함 ―;
    상기 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 사용하여, 상기 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 개별적인 할당된 키프레임으로부터의 상기 오브젝트에 대한 연관된 포인트들의 텍스쳐 컬러에 비교함으로써, 텍스쳐 컬러 등화 승수를 계산하기 프로그램 코드; 및
    상기 폴리곤에 텍스쳐를 적용하기 위한 프로그램 코드
    를 포함하며,
    상기 적용하는 것은, 상기 폴리곤의 꼭짓점들에 기초하여 상기 폴리곤 내의 픽셀들에 걸쳐 상기 텍스쳐 컬러 등화 승수를 보간하는 것을 포함하는, 컴퓨터-판독가능 매체.
  22. 제 21 항에 있어서,
    상기 복수의 키프레임들의 서브세트에 기초하여 상기 폴리곤의 각각의 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 계산하기 위한 프로그램 코드는,
    상기 각각의 꼭짓점 및 상기 서브세트의 각각의 키프레임에 대해, 상기 폴리곤에 수직인 벡터와 카메라 평면에 수직인 벡터 사이의 각도에 기초하여 키프레임과 연관된 가중치를 결정하기 위한 프로그램 코드; 및
    상기 각각의 꼭짓점 및 상기 서브세트의 각각의 키프레임에 대해, 상기 꼭짓점과 연관된 키프레임 내의 상기 오브젝트에 대한 대응하는 포인트의 텍스쳐 컬러에 상기 가중치를 적용함으로써 가중 텍스쳐 컬러를 결정하기 위한 프로그램 코드;
    상기 각각의 꼭짓점에 대해, 상기 서브세트의 각각의 키프레임의 가중 텍스쳐 컬러를 합산하기 위한 프로그램 코드; 및
    상기 각각의 꼭짓점에 대해, 합에 기초하여 상기 꼭짓점에 대한 가중 평균 텍스쳐 컬러를 계산하기 위한 프로그램 코드
    를 포함하는, 컴퓨터-판독가능 매체.
  23. 제 20 항에 있어서,
    상기 폴리곤의 텍스쳐 컬러를 등화시키는 것은, (1) 상기 폴리곤과 연관된 감소된 키프레임들 중 상기 키프레임의 부분, 및 (2) 상기 복수의 키프레임들 각각의 대응하는 부분들로부터의 픽셀들과 연관된 바와 같은 새로운 텍스쳐의 부분에서의 각각의 픽셀에 대한 상기 복수의 키프레임들로부터의 가중 평균 텍스쳐 컬러에 기초하여, 상기 복수의 폴리곤들 중 상기 폴리곤에 대한 상기 새로운 텍스쳐를 계산하는 것을 포함하는, 컴퓨터-판독가능 매체.
  24. 제 20 항에 있어서,
    상기 복수의 키프레임들 중 하나를 선택하는 것은,
    상기 복수의 키프레임들 각각에 대한 스코어를 결정하는 것; 및
    가장 양호한 스코어를 갖는 키프레임을 선택하는 것
    을 포함하는, 컴퓨터-판독가능 매체.
  25. 제 24 항에 있어서,
    상기 스코어를 결정하는 것은,
    상기 폴리곤에 수직인 벡터와 카메라 평면에 수직인 벡터 사이의 각도를 결정하는 것;
    상기 키프레임과 연관된 깊이 맵에 기초하여 카메라로부터의 상기 오브젝트의 거리를 결정하는 것;
    상기 깊이 맵과 연관된 깊이 맵 에러를 결정하는 것;
    상기 키프레임과 연관된 포즈를 결정하는 것; 및
    공식: 스코어 = 각도*(거리)2*깊이 맵 에러*포즈 를 사용하여 상기 스코어를 결정하는 것
    을 포함하는, 컴퓨터-판독가능 매체.
  26. 제 20 항에 있어서,
    상기 이미지 품질 특성들은, 폐색 값, 오브젝트 거리, 조명 품질, 또는 키프레임 각도 중 적어도 하나를 포함하는, 컴퓨터-판독가능 매체.
  27. 제 20 항에 있어서,
    할당된 키프레임들과 상기 복수의 폴리곤들 간의 연관들을 변경함으로써 적어도 하나의 폴리곤과 연관된 할당된 키프레임들의 개수를 감소시키는 것은, 상기 적어도 하나의 폴리곤이 어떠한 키프레임과도 연관되지 않도록 상기 적어도 하나의 폴리곤에 대한 모든 연관들을 배제시키는 것을 포함하는, 컴퓨터-판독가능 매체.
KR1020167025198A 2014-02-21 2015-02-20 뷰 독립적 3d 씬 텍스쳐링 KR20160127030A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461943246P 2014-02-21 2014-02-21
US61/943,246 2014-02-21
US14/625,465 US9905039B2 (en) 2014-02-21 2015-02-18 View independent color equalized 3D scene texturing
US14/625,465 2015-02-18
PCT/US2015/016875 WO2015127246A1 (en) 2014-02-21 2015-02-20 View independent 3d scene texturing

Publications (1)

Publication Number Publication Date
KR20160127030A true KR20160127030A (ko) 2016-11-02

Family

ID=52630495

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167025198A KR20160127030A (ko) 2014-02-21 2015-02-20 뷰 독립적 3d 씬 텍스쳐링

Country Status (6)

Country Link
US (1) US9905039B2 (ko)
EP (1) EP3108449B1 (ko)
JP (1) JP6400720B2 (ko)
KR (1) KR20160127030A (ko)
CN (1) CN106030661B (ko)
WO (1) WO2015127246A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102027093B1 (ko) 2019-07-02 2019-11-04 백승원 3d 스캔 데이터 변환 장치, 변환 방법 및 변환 어플리케이션

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10325402B1 (en) * 2015-07-17 2019-06-18 A9.Com, Inc. View-dependent texture blending in 3-D rendering
US10163271B1 (en) 2016-04-04 2018-12-25 Occipital, Inc. System for multimedia spatial annotation, visualization, and recommendation
US20180101989A1 (en) 2016-10-06 2018-04-12 Google Inc. Headset removal in virtual, augmented, and mixed reality using an eye gaze database
KR102581134B1 (ko) * 2016-12-06 2023-09-21 코닌클리케 필립스 엔.브이. 광 강도 이미지를 생성하기 위한 장치 및 방법
WO2018148565A1 (en) * 2017-02-09 2018-08-16 Wove, Inc. Method for managing data, imaging, and information computing in smart devices
EP3619600A4 (en) 2017-05-01 2020-10-21 Symbol Technologies, LLC METHOD AND APPARATUS FOR OBJECT STATE DETECTION
CN107369200B (zh) * 2017-07-04 2021-07-16 福建星网视易信息系统有限公司 一种3d场景特效处理方法及存储设备
CN110832551A (zh) * 2017-07-10 2020-02-21 惠普发展公司,有限责任合伙企业 将对象性质数据与位置相关联
JP6867645B2 (ja) * 2017-07-14 2021-05-12 日本電信電話株式会社 画像処理装置、方法、及びプログラム
JP6425780B1 (ja) 2017-09-22 2018-11-21 キヤノン株式会社 画像処理システム、画像処理装置、画像処理方法及びプログラム
KR102199458B1 (ko) 2017-11-24 2021-01-06 한국전자통신연구원 3차원 컬러 메쉬 복원 방법 및 장치
US10515477B2 (en) * 2018-02-06 2019-12-24 A9.Com, Inc. Photorealistic three dimensional texturing using canonical views and a two-stage approach
CN112424823A (zh) * 2018-05-04 2021-02-26 艾奎菲股份有限公司 于定时约束下进行三维数据获取和处理的系统和方法
GB2573792B (en) * 2018-05-17 2022-11-09 Denso Corp Surround monitoring system for vehicles
US11399137B2 (en) * 2018-08-10 2022-07-26 Aurora Flight Sciences Corporation Object-tracking system
JP7190849B2 (ja) * 2018-09-12 2022-12-16 キヤノン株式会社 画像生成装置、画像生成装置の制御方法及びプログラム
JP6759300B2 (ja) * 2018-10-22 2020-09-23 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US10958854B2 (en) * 2018-11-02 2021-03-23 BriefCam Ltd. Computer-implemented method for generating an output video from multiple video sources
JP7369333B2 (ja) 2018-12-21 2023-10-26 Toppanホールディングス株式会社 三次元形状モデル生成システム、三次元形状モデル生成方法、及びプログラム
CN110827397B (zh) * 2019-11-01 2021-08-24 浙江大学 一种面向rgb-d相机实时三维重建的纹理融合方法
US11593915B2 (en) * 2020-10-21 2023-02-28 Zebra Technologies Corporation Parallax-tolerant panoramic image generation
US11100721B1 (en) * 2020-11-02 2021-08-24 Bentley Systems, Incorporated Integrating 2D images into a display of a 3D reality mesh to recover lost context
US11893675B1 (en) 2021-02-18 2024-02-06 Splunk Inc. Processing updated sensor data for remote collaboration
US11915377B1 (en) 2021-02-18 2024-02-27 Splunk Inc. Collaboration spaces in networked remote collaboration sessions
US20220309733A1 (en) * 2021-03-29 2022-09-29 Tetavi Ltd. Surface texturing from multiple cameras
KR20220160197A (ko) * 2021-05-27 2022-12-06 한국전자통신연구원 기준 이미지를 이용한 텍스처 매핑 방법 및 그 방법을 수행하는 컴퓨팅 장치
US11954882B2 (en) 2021-06-17 2024-04-09 Zebra Technologies Corporation Feature-based georegistration for mobile computing devices
US20230290037A1 (en) * 2022-03-10 2023-09-14 Streem, Llc Real-time progressive texture mapping of a 3d mesh
CN116109781B (zh) * 2023-04-12 2023-06-23 深圳市其域创新科技有限公司 一种三维重建方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3352454B2 (ja) * 2000-11-21 2002-12-03 キヤノン株式会社 画像処理装置及びその方法並びに記憶媒体
US6940503B2 (en) * 2001-05-10 2005-09-06 Ati International Srl Method and apparatus for processing non-planar video graphics primitives
US7212664B2 (en) 2003-08-07 2007-05-01 Mitsubishi Electric Research Laboratories, Inc. Constructing heads from 3D models and 2D silhouettes
JP2005244518A (ja) * 2004-02-25 2005-09-08 Japan Science & Technology Agency 視点決定装置、撮影制御システム、撮影システム、視点決定プログラム、視点決定プログラムを記録したコンピュータ読み取り可能な記録媒体、及び視点決定方法
CN101069214A (zh) * 2004-10-01 2007-11-07 索尼电影娱乐公司 为计算机图形动画制作跟踪面部肌肉和眼睛运动的系统和方法
US8477154B2 (en) 2006-03-20 2013-07-02 Siemens Energy, Inc. Method and system for interactive virtual inspection of modeled objects
US8655052B2 (en) 2007-01-26 2014-02-18 Intellectual Discovery Co., Ltd. Methodology for 3D scene reconstruction from 2D image sequences
EP2058765A1 (de) 2007-11-07 2009-05-13 3D Geo GmbH Verfahren und Vorrichtung zum Texturieren eines Objektes eines virtuellen dreidimensionalen geometrischen Modells
JP2010152529A (ja) * 2008-12-24 2010-07-08 Nippon Hoso Kyokai <Nhk> 頂点テクスチャマッピング装置及びプログラム
JP5432258B2 (ja) 2009-06-24 2014-03-05 パナソニック株式会社 グラフィックス描画装置、グラフィックス描画方法、グラフィックス描画プログラム、グラフィックス描画プログラムを記録した記録媒体、集積回路
US20130215239A1 (en) 2012-02-21 2013-08-22 Sen Wang 3d scene model from video
CN102663827B (zh) * 2012-03-02 2014-07-09 天津大学 复杂淹没区域风暴潮洪水演进三维动态全过程仿真方法
CN103034765B (zh) * 2012-12-14 2015-08-05 天津大学 基于数值模拟的采空区注浆动态全过程仿真方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102027093B1 (ko) 2019-07-02 2019-11-04 백승원 3d 스캔 데이터 변환 장치, 변환 방법 및 변환 어플리케이션

Also Published As

Publication number Publication date
CN106030661A (zh) 2016-10-12
US9905039B2 (en) 2018-02-27
EP3108449B1 (en) 2020-04-29
US20150243069A1 (en) 2015-08-27
JP6400720B2 (ja) 2018-10-03
EP3108449A1 (en) 2016-12-28
CN106030661B (zh) 2019-05-21
JP2017509972A (ja) 2017-04-06
WO2015127246A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
US9905039B2 (en) View independent color equalized 3D scene texturing
JP7181977B2 (ja) 3次元再構成において構造特徴を検出し、組み合わせるための方法およびシステム
US9521391B2 (en) Settings of a digital camera for depth map refinement
CN107851178B (zh) 基于多个表面模型的混合三维场景重构
EP2272050B1 (en) Using photo collections for three dimensional modeling
US8953024B2 (en) 3D scene model from collection of images
KR101928575B1 (ko) 삼차원 장면의 불연속 평면 재구성
US20130215239A1 (en) 3d scene model from video
US20130215221A1 (en) Key video frame selection method
Hu et al. Least commitment, viewpoint-based, multi-view stereo
TW201308252A (zh) 深度測量之品質提升
CN109636890B (zh) 纹理融合方法和装置、电子设备、存储介质、产品
Pound et al. A patch-based approach to 3D plant shoot phenotyping
CN111357034A (zh) 点云生成方法、系统和计算机存储介质
JP2023505900A (ja) メモリおよびデバイスのトラッキングを使用する拡張現実アプリケーションにおけるオクルージョンハンドリングのための方法と関連装置
US10791321B2 (en) Constructing a user&#39;s face model using particle filters
WO2013144418A1 (en) Image segmentation
CN110505398A (zh) 一种图像处理方法、装置、电子设备及存储介质
US11475629B2 (en) Method for 3D reconstruction of an object
US11176678B2 (en) Method and apparatus for applying dynamic effect to image
CN109300191A (zh) Ar模型处理方法、装置、电子设备及可读存储介质
Hamad et al. Hyperpixels: Flexible 4D Over-Segmentation for Dense and Sparse Light Fields
Do et al. On multi-view texture mapping of indoor environments using Kinect depth sensors
GB2533450B (en) Settings of a digital camera for depth map refinement
CN116977417A (zh) 位姿估计方法、装置、电子设备及存储介质