KR20190014105A - 동적 가림 핸들링을 위한 시스템들 및 방법들 - Google Patents
동적 가림 핸들링을 위한 시스템들 및 방법들 Download PDFInfo
- Publication number
- KR20190014105A KR20190014105A KR1020197002344A KR20197002344A KR20190014105A KR 20190014105 A KR20190014105 A KR 20190014105A KR 1020197002344 A KR1020197002344 A KR 1020197002344A KR 20197002344 A KR20197002344 A KR 20197002344A KR 20190014105 A KR20190014105 A KR 20190014105A
- Authority
- KR
- South Korea
- Prior art keywords
- depth
- edge points
- processing system
- depth map
- boundary
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 120
- 238000012545 processing Methods 0.000 claims abstract description 96
- 238000005457 optimization Methods 0.000 claims description 18
- 239000011521 glass Substances 0.000 claims description 17
- 230000003190 augmentative effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 83
- 238000009877 rendering Methods 0.000 description 25
- 230000000007 visual effect Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 238000012800 visualization Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 210000003811 finger Anatomy 0.000 description 3
- 210000004247 hand Anatomy 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
컴퓨팅 시스템은 적어도 하나의 처리 유닛을 갖는 처리 시스템을 포함한다. 처리 시스템은 물체의 제 1 경계를 갖는 깊이 맵을 수신하도록 구성된다. 처리 시스템은 깊이 맵에 대응하는 컬러 이미지를 수신하도록 구성된다. 컬러 이미지는 물체의 제 2 경계를 포함한다. 처리 시스템은 깊이 맵으로부터 제 1 경계의 깊이 에지점들을 추출하도록 구성된다. 처리 시스템은 깊이 맵상의 타깃 깊이 에지점들을 식별하도록 구성된다. 타깃 깊이 에지점들은 컬러 이미지에서 물체의 제 2 경계의 컬러 에지점들에 대응한다. 또한, 처리 시스템은 깊이 맵이 물체에 대한 물체 경계로 강화되도록 깊이 에지점들을 타깃 깊이 에지점들로 스냅핑하도록 구성된다.
Description
관련 출원에 대한 상호 참조
본 출원은 2016년 6월 27일자로 출원되고 그 전체가 본원에 참고로 통합된 미국 가특허출원 제 62/354,891 호의 이익을 주장한다.
발명의 분야
본 개시는 깊이 맵들을 강화하기 위한 시스템들 및 방법들에 관한 것으로, 특히 강화된 깊이 맵들을 이용한 동적 가림 핸들링(dynamic occlusion handling)에 관한 것이다.
증강 현실(Augmented Reality; AR)은 가상 세계 환경(예를 들면, 컴퓨터 생성된 입력)과 함께 실제 환경의 합성 보기를 제공하는 기술에 관한 것이다. 현실감 있고 끊김없는 AR 경험을 제공하기 위해서는 깊이에 대한 정확한 인식이 종종 필요하다. 예를 들면, AR 보조 유지 보수 또는 제작 작업들에서, 사용자는 실제 및 가상 물체들 양쪽과 자주 상호 작용하는 경향이 있다. 그러나, 정확한 깊이 인식이 없으면, 실세계 장면과 가상 세계 장면 사이의 적절한 가림 핸들링과 끊김없는 상호 작용 경험을 제공하기가 어렵다.
일반적으로, 실시간 3D 감지는 계산 비용이 많이 들고 하이-엔드 센서들이 필요하다. 이러한 오버헤드를 감소시키기 위해, 일부 초기 작업에서는 일반적으로 고정되어 있다고 가정되는 가림 관계를 추론하기 위해 2D 윤곽 추적에 의존한다. 대안적으로, 일부 다른 작업은 오프라인으로 장면의 3D 모델들을 구축하고 이 장면을 정적인 것으로 가정하고 변경되지 않은 채로 깊이 테스트를 위해 이들 3D 모델들을 온라인으로 사용하는 것을 포함한다. 이들 방법들이 일부 가림 핸들링 효과들을 달성할 수 있지만, 그들이 AR 애플리케이션들에서 매우 공통적인 사용자 상호 작용들의 동적 특성을 수용할 수 없다.
또한, 경량의 RGB-깊이(RGB-D) 카메라들의 최근 도입은 AR 애플리케이션들에 대한 3D 감지 능력들을 제공한다. 그러나, 이들 RGB-D 카메라들은 일반적으로 특히 물체 경계들 주변의 다양한 형태들의 잡음들을 겪는 저비용의 소비자 깊이 센서들을 갖는다. 이들 경량의 RGB-D 카메라들이 AR 애플리케이션들에 사용될 때, 이러한 제한들은 일반적으로 부적절한 시각적인 결함들을 야기하여, 적절한 AR 경험들을 방해한다. 이들 경량의 RGB-D 카메라들에 의해 제공된 센서 데이터의 품질을 향상시키기 위해 깊이 맵 향상을 위한 많은 연구가 수행되어왔다. 그러나, 대부분의 이들 방식들은 높은 계산 비용으로 인해 AR 사용 경우들에 직접 적용될 수 없다.
또한, 필터링은 종종 이미지 향상을 위해 사용된다. 예를 들면, 일부 예들은 공동 양측성 필터링 프로세스(joint bilateral filtering process) 또는 유도된 이미지 필터링 프로세스를 포함한다. 또한, 다른 예들은 도메인 변환 프로세스, 적응적 매니폴드 프로세스, 또는 인페인팅 프로세스(inpainting process)를 포함한다. 그러나, 이들 프로세스들은 일반적으로 비용이 많이 들고 에지 블러링(edge blurring)을 종종 초래하여, 그에 의해 경계들 주변에 보간 아티팩트들(interpolation artifacts)을 야기한다.
본 발명의 목적은 동적 가림 핸들링을 위한 시스템들 및 방법들을 제공하는 것이다.
다음은 아래에서 상세히 설명되는 특정 실시예들의 요약이다. 기술된 양태들은 단순히 독자에게 이들 특정 실시예들의 간략한 요약을 제공하기 위해 제시되고, 이들 양태들의 기술은 본 개시의 범위를 제한하려는 것이 아니다. 실제로, 본 개시는 이하에 명시적으로 설명되지 않는 다양한 양태들을 포함할 수 있다.
일 예시적인 실시예에서, 컴퓨팅 시스템은 적어도 하나의 처리 유닛을 갖는 처리 시스템을 포함한다. 처리 시스템은 물체의 제 1 경계를 갖는 깊이 맵을 수신하도록 구성된다. 처리 시스템은 깊이 맵에 대응하는 컬러 이미지를 수신하도록 구성된다. 컬러 이미지는 물체의 제 2 경계를 포함한다. 처리 시스템은 깊이 맵으로부터 제 1 경계의 깊이 에지점들을 추출하도록 구성된다. 처리 시스템은 깊이 맵상의 타깃 깊이 에지점들을 식별하도록 구성된다. 타깃 깊이 에지점들은 컬러 이미지에서 물체의 제 2 경계의 컬러 에지점들에 대응한다. 또한, 처리 시스템은 물체에 대한 물체 경계로 깊이 맵이 강화되도록 깊이 에지점들을 타깃 깊이 에지점들로 스냅핑하도록 구성된다.
일 예시적인 실시예에서, 동적 가림 핸들링을 위한 시스템은 적어도 깊이 센서, 카메라, 및 처리 시스템을 포함한다. 깊이 센서는 깊이 맵을 제공하도록 구성된다. 깊이 맵은 물체의 제 1 경계를 포함한다. 카메라는 컬러 이미지를 제공하도록 구성된다. 컬러 이미지는 물체의 제 2 경계를 포함한다. 처리 시스템은 적어도 하나의 처리 유닛을 포함한다. 처리 시스템은 물체의 제 1 경계를 갖는 깊이 맵을 수신하도록 구성된다. 처리 시스템은 깊이 맵에 대응하는 컬러 이미지를 수신하도록 구성된다. 컬러 이미지는 물체의 제 2 경계를 포함한다. 처리 시스템은 깊이 맵으로부터 제 1 경계의 깊이 에지점들을 추출하도록 구성된다. 처리 시스템은 깊이 맵상의 타깃 깊이 에지점들을 식별하도록 구성된다. 타깃 깊이 에지점들은 컬러 이미지에서 물체의 제 2 경계의 컬러 에지점들에 대응한다. 처리 시스템은 깊이 맵이 물체에 대한 물체 경계로 강화되도록 깊이 에지점들을 타깃 깊이 에지점들에 스냅핑하도록 구성된다.
일 예시적인 실시예에서, 컴퓨터 구현 방법은 물체의 제 1 경계를 갖는 깊이 맵을 수신하는 단계를 포함한다. 상기 방법은 깊이 맵에 대응하는 컬러 이미지를 수신하는 단계를 포함한다. 컬러 이미지는 물체의 제 2 경계를 포함한다. 상기 방법은 깊이 맵으로부터 상기 제 1 경계의 깊이 에지점들을 추출하는 단계를 포함한다. 상기 방법은 깊이 맵상의 타깃 깊이 에지점들을 식별하는 단계를 포함한다. 타깃 깊이 에지점들은 컬러 이미지에서 물체의 제 2 경계의 컬러 에지점들에 대응한다. 상기 방법은 깊이 맵이 상기 물체에 대한 물체 경계로 강화되도록 깊이 에지점들을 타깃 깊이 에지점들을 향하여 스냅핑하는 단계를 포함한다.
본 발명의 이들 및 다른 특징들, 양태들, 및 이점들은 유사한 부호들이 유사한 부분들을 나타내는 첨부된 도면을 참조하여 특정한 예시적인 실시예들의 다음의 상세한 설명에 의해 더 명백해질 것이다.
도 1은 본 개시의 일 예시적인 실시예에 따른 시스템의 도면.
도 2a는 동적 가림 핸들링 없이 비디오 뷰에서의 가상 물체의 렌더링을 도시하는 도면.
도 2b는 본 개시의 일 예시적인 실시예에 따른 동적 가림 핸들링을 갖는 비디오 뷰 내의 가상 물체의 렌더링을 도시하는 도면.
도 2c 및 도 2d는 동적 가림 핸들링이 없는 도 2a의 가상 물체의 렌더링들을 도시하는 도면들.
도 2e 및 도 2f는 본 개시의 일 예시적인 실시예에 따른 동적 가림 핸들링을 갖는 도 2b의 가상 물체의 렌더링들을 도시하는 도면들.
도 2g 및 도 2h는 동적 가림 핸들링 없이 안경 뷰에서 도 2a의 시각화를 도시하는 도면들.
도 2i 및 도 2j는 본 개시의 일 예시적인 실시예에 따른 동적 가림 핸들링을 갖는 안경 뷰에서 도 2b의 시각화들을 도시하는 도면들.
도 3a는 본 개시의 일 예시적인 실시예에 따른 깊이 맵의 예를 도시하는 도면.
도 3b는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 예를 도시하는 도면.
도 3c는 본 개시의 일 예시적인 실시예에 따라 도 3b의 컬러 이미지를 오버레이하는 도 3a의 깊이 맵의 일 예를 도시하는 도면.
도 3d 및 도 3e는 도 3c의 예시적인 영역들의 확대도들.
도 3f는 가상 물체와 함께 도 3c의 시각화를 도시하는 도면.
도 3g 및 도 3h는 도 3f의 예시적인 영역들의 확대도들.
도 4는 본 개시의 일 예시적인 실시예에 따른 도 1의 시스템의 프로세스의 블록도.
도 5는 본 개시의 일 예시적인 실시예에 따른 깊이 에지점 프로세스의 일 예시적인 구현의 흐름도.
도 6a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 6b는 본 개시의 일 예시적인 실시예에 따른 깊이 맵의 일 예를 도시하는 도면.
도 6c는 본 개시의 일 예시적인 실시예에 따라 그레이-스케일 이미지를 오버레이하는 깊이 에지점들의 일 예를 도시하는 도면.
도 6d는 본 개시의 일 예시적인 실시예에 따라 도 6c의 일 예시적인 영역 내의 원시 깊이 에지점들의 확대도.
도 6e는 본 개시의 일 예시적인 실시예에 따른 도 6c의 영역의 평탄화된 깊이 에지점들의 확대도.
도 6f는 본 개시의 일 예시적인 실시예에 따른 도 6d의 원시 깊이 에지점들에 기초하여 생성되는 2D-법선들의 일 예를 도시하는 도면.
도 6g는 본 개시의 일 예시적인 실시예에 따른 도 6e의 평탄화된 깊이 에지점들에 기초하여 생성되는 2D-법선들의 일 예를 도시하는 도면.
도 7은 본 개시의 일 예시적인 실시예에 따른 후보 검색 프로세스 및 최적화 프로세스의 일 예시적인 구현의 흐름도.
도 8a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 8b는 본 개시의 일 예시적인 실시예에 따라 RGB 공간으로부터의 이미지 경사도들로 에지-스냅핑(edge-snapping)의 시각화와 함께 도 8a의 영역의 확대도.
도 8c는 본 개시의 일 예시적인 실시예에 따라 RGB 공간 및 YCbCr 공간 양쪽으로부터의 이미지 경사도들로 에지-스냅핑의 시각화와 함께 도 8a의 영역의 확대도.
도 9a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 9b는 본 개시의 일 예시적인 실시예에 따른 적색 채널로부터의 이미지 경사도들의 크기의 일 예를 도시하는 도면.
도 9c는 본 개시의 일 예시적인 실시예에 따라 변환된 CR 채널에서 이미지 경사도들의 크기의 일 예를 도시하는 도면.
도 10a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 10b는 본 개시의 일 예시적인 실시예에 따른 평탄도 제약 없이 도 10a의 영역에 대한 에지-스냅핑 결과들의 일 예를 도시하는 도면.
도 10c는 본 개시의 일 예시적인 실시예에 따른 평탄도 제약을 갖는 도 10a의 영역에 대한 에지-스냅핑 결과들의 일 예를 도시하는 도면.
도 11a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 11b는 본 개시의 일 예시적인 실시예에 따른 평탄도 제약 없이 도 11a의 일 예시적인 영역에 대한 에지-스냅핑 결과들의 일 예를 도시하는 도면.
도 11c는 본 개시의 일 예시적인 실시예에 따른 평탄도 제약을 갖는 도 11a의 일 예시적인 영역에 대한 에지-스냅핑 결과들의 일 예를 도시하는 도면.
도 12는 본 개시의 일 예시적인 실시예에 따른 깊이 맵 강화 프로세스의 일 예시적인 구현의 흐름도.
도 13a, 도 13b, 도 13c, 도 13d, 및 도 13e는 본 개시의 일 예시적인 실시예에 따른 에지-스냅핑에 기초한 깊이 맵 강화 프로세스의 양태들을 도시하는 도면들.
도 14는 본 개시의 일 예시적인 실시예에 따른 안경 뷰 렌더링 프로세스의 일 예시적인 구현의 흐름도.
도 15a는 비디오 뷰와 안경 뷰 사이의 변경과 연관된 문제를 도시하는 도면.
도 15b는 보간법을 사용하여 가림 효과들의 일 예를 도시하는 도면.
도 15c는 본 개시의 일 예시적인 실시예에 따라 도 14의 프로세스를 사용하여 가림 효과들의 일 예를 도시하는 도면.
도 16a는 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 16b는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터(raw depth data)를 사용하여 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 16c는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하여 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 17(a)는 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 17(b)는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터를 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 17(c)는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 18a는 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 18b는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터를 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 18c는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 19a는 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 19b는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터를 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 19c는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 20a는 본 개시의 일 예시적인 실시예에 따른 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 20b는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터를 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 20c는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 21a, 도 21b, 도 21c 및 도 21d는 본 개시의 일 예시적인 실시예에 따른 실측 자료(ground-truth) 경계들의 윤곽들을 갖는 컬러 이미지들을 도시하는 도면들.
도 22a, 도 22b, 도 22c 및 도 22d는 본 개시의 일 예시적인 실시예에 따른 도 21a, 도 21b, 도 21c 및 도 22d 각각의 대응하는 컬러 이미지들 위에 오버레이된 원시 깊이 맵들의 시각화들을 도시하는 도면들.
도 23a, 도 23b, 도 23c 및 도 23d는 본 개시의 일 예시적인 실시예에 따른 도 21a, 도 21b, 도 21c 및 도 21d 각각의 대응하는 컬러 이미지들 위에 오버레이된 강화된 깊이 맵들의 시각화들을 도시하는 도면들.
도 2a는 동적 가림 핸들링 없이 비디오 뷰에서의 가상 물체의 렌더링을 도시하는 도면.
도 2b는 본 개시의 일 예시적인 실시예에 따른 동적 가림 핸들링을 갖는 비디오 뷰 내의 가상 물체의 렌더링을 도시하는 도면.
도 2c 및 도 2d는 동적 가림 핸들링이 없는 도 2a의 가상 물체의 렌더링들을 도시하는 도면들.
도 2e 및 도 2f는 본 개시의 일 예시적인 실시예에 따른 동적 가림 핸들링을 갖는 도 2b의 가상 물체의 렌더링들을 도시하는 도면들.
도 2g 및 도 2h는 동적 가림 핸들링 없이 안경 뷰에서 도 2a의 시각화를 도시하는 도면들.
도 2i 및 도 2j는 본 개시의 일 예시적인 실시예에 따른 동적 가림 핸들링을 갖는 안경 뷰에서 도 2b의 시각화들을 도시하는 도면들.
도 3a는 본 개시의 일 예시적인 실시예에 따른 깊이 맵의 예를 도시하는 도면.
도 3b는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 예를 도시하는 도면.
도 3c는 본 개시의 일 예시적인 실시예에 따라 도 3b의 컬러 이미지를 오버레이하는 도 3a의 깊이 맵의 일 예를 도시하는 도면.
도 3d 및 도 3e는 도 3c의 예시적인 영역들의 확대도들.
도 3f는 가상 물체와 함께 도 3c의 시각화를 도시하는 도면.
도 3g 및 도 3h는 도 3f의 예시적인 영역들의 확대도들.
도 4는 본 개시의 일 예시적인 실시예에 따른 도 1의 시스템의 프로세스의 블록도.
도 5는 본 개시의 일 예시적인 실시예에 따른 깊이 에지점 프로세스의 일 예시적인 구현의 흐름도.
도 6a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 6b는 본 개시의 일 예시적인 실시예에 따른 깊이 맵의 일 예를 도시하는 도면.
도 6c는 본 개시의 일 예시적인 실시예에 따라 그레이-스케일 이미지를 오버레이하는 깊이 에지점들의 일 예를 도시하는 도면.
도 6d는 본 개시의 일 예시적인 실시예에 따라 도 6c의 일 예시적인 영역 내의 원시 깊이 에지점들의 확대도.
도 6e는 본 개시의 일 예시적인 실시예에 따른 도 6c의 영역의 평탄화된 깊이 에지점들의 확대도.
도 6f는 본 개시의 일 예시적인 실시예에 따른 도 6d의 원시 깊이 에지점들에 기초하여 생성되는 2D-법선들의 일 예를 도시하는 도면.
도 6g는 본 개시의 일 예시적인 실시예에 따른 도 6e의 평탄화된 깊이 에지점들에 기초하여 생성되는 2D-법선들의 일 예를 도시하는 도면.
도 7은 본 개시의 일 예시적인 실시예에 따른 후보 검색 프로세스 및 최적화 프로세스의 일 예시적인 구현의 흐름도.
도 8a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 8b는 본 개시의 일 예시적인 실시예에 따라 RGB 공간으로부터의 이미지 경사도들로 에지-스냅핑(edge-snapping)의 시각화와 함께 도 8a의 영역의 확대도.
도 8c는 본 개시의 일 예시적인 실시예에 따라 RGB 공간 및 YCbCr 공간 양쪽으로부터의 이미지 경사도들로 에지-스냅핑의 시각화와 함께 도 8a의 영역의 확대도.
도 9a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 9b는 본 개시의 일 예시적인 실시예에 따른 적색 채널로부터의 이미지 경사도들의 크기의 일 예를 도시하는 도면.
도 9c는 본 개시의 일 예시적인 실시예에 따라 변환된 CR 채널에서 이미지 경사도들의 크기의 일 예를 도시하는 도면.
도 10a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 10b는 본 개시의 일 예시적인 실시예에 따른 평탄도 제약 없이 도 10a의 영역에 대한 에지-스냅핑 결과들의 일 예를 도시하는 도면.
도 10c는 본 개시의 일 예시적인 실시예에 따른 평탄도 제약을 갖는 도 10a의 영역에 대한 에지-스냅핑 결과들의 일 예를 도시하는 도면.
도 11a는 본 개시의 일 예시적인 실시예에 따른 컬러 이미지의 일 예를 도시하는 도면.
도 11b는 본 개시의 일 예시적인 실시예에 따른 평탄도 제약 없이 도 11a의 일 예시적인 영역에 대한 에지-스냅핑 결과들의 일 예를 도시하는 도면.
도 11c는 본 개시의 일 예시적인 실시예에 따른 평탄도 제약을 갖는 도 11a의 일 예시적인 영역에 대한 에지-스냅핑 결과들의 일 예를 도시하는 도면.
도 12는 본 개시의 일 예시적인 실시예에 따른 깊이 맵 강화 프로세스의 일 예시적인 구현의 흐름도.
도 13a, 도 13b, 도 13c, 도 13d, 및 도 13e는 본 개시의 일 예시적인 실시예에 따른 에지-스냅핑에 기초한 깊이 맵 강화 프로세스의 양태들을 도시하는 도면들.
도 14는 본 개시의 일 예시적인 실시예에 따른 안경 뷰 렌더링 프로세스의 일 예시적인 구현의 흐름도.
도 15a는 비디오 뷰와 안경 뷰 사이의 변경과 연관된 문제를 도시하는 도면.
도 15b는 보간법을 사용하여 가림 효과들의 일 예를 도시하는 도면.
도 15c는 본 개시의 일 예시적인 실시예에 따라 도 14의 프로세스를 사용하여 가림 효과들의 일 예를 도시하는 도면.
도 16a는 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 16b는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터(raw depth data)를 사용하여 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 16c는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하여 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 17(a)는 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 17(b)는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터를 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 17(c)는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 18a는 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 18b는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터를 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 18c는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 19a는 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 19b는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터를 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 19c는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 20a는 본 개시의 일 예시적인 실시예에 따른 동적 가림 핸들링이 없는 AR 장면의 일 예를 도시하는 도면.
도 20b는 본 개시의 일 예시적인 실시예에 따른 원시 깊이 데이터를 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 20c는 본 개시의 일 예시적인 실시예에 따라 강화된 깊이 맵을 사용하는 동적 가림 핸들링을 갖는 AR 장면의 일 예를 도시하는 도면.
도 21a, 도 21b, 도 21c 및 도 21d는 본 개시의 일 예시적인 실시예에 따른 실측 자료(ground-truth) 경계들의 윤곽들을 갖는 컬러 이미지들을 도시하는 도면들.
도 22a, 도 22b, 도 22c 및 도 22d는 본 개시의 일 예시적인 실시예에 따른 도 21a, 도 21b, 도 21c 및 도 22d 각각의 대응하는 컬러 이미지들 위에 오버레이된 원시 깊이 맵들의 시각화들을 도시하는 도면들.
도 23a, 도 23b, 도 23c 및 도 23d는 본 개시의 일 예시적인 실시예에 따른 도 21a, 도 21b, 도 21c 및 도 21d 각각의 대응하는 컬러 이미지들 위에 오버레이된 강화된 깊이 맵들의 시각화들을 도시하는 도면들.
예로서 도시되고 기술된 전술한 실시예들 및 많은 그의 이점들은 전술한 설명에 의해 이해될 것이고, 다양한 변경들이 개시된 요지를 벗어나지 않거나 하나 이상의 이점들을 희생시키지 않고 구성 요소들의 형태, 구성, 및 배열로 이루어질 수 있음이 명백할 것이다. 실제로, 이들 실시예들의 설명된 형태들은 단순히 설명적이다. 이들 실시예들은 다양한 수정들 및 대안적인 형태들에 영향을 받을 수 있고, 다음의 청구 범위들은 그러한 변경들을 포함하고 포괄하고 개시된 특정 형태들에 제한되지 않고, 오히려 본 개시의 정신 및 범위에 속하는 모든 변경들, 등가물들, 및 대안들을 포함하도록 의도된다.
도 1은 일 예시적인 실시예에 따른 AR에서의 동적 가림 핸들링을 위한 시스템(100)의 블록도를 도시한다. 일 예시적인 실시예에서, 시스템(100)은 헤드 장착형 디스플레이(110) 및 동적 가림 핸들링 시스템(120)을 포함한다. 또한, 시스템(100)은 헤드 장착형 디스플레이(110)를 동적 가림 핸들링 시스템(120)에 접속하는 통신 기술(118)을 포함한다. 일 예시적인 실시예에서, 통신 기술(118)은 헤드 장착형 디스플레이(110)와 동적 가림 시스템(120) 사이에 적어도 데이터 전송을 제공하도록 구성된다. 일 예시적인 실시예에서, 통신 기술(118)은 유선 기술, 무선 기술 또는 이들의 조합을 포함한다. 비제한적인 예들로서, 통신 기술(118)은 HDMI 기술, WiFi 기술, 또는 임의의 적합한 통신 링크를 포함한다.
일 예시적인 실시예에서, 헤드 장착형 디스플레이(110)는 투사된 이미지들을 반사시키면서 사용자가 그것을 볼 수 있게 하는 광학 헤드 장착형 디스플레이이다. 일 예시적인 실시예에서, 헤드 장착형 디스플레이(110)는 적어도 깊이 센서(114) 및 비디오 카메라(116)를 포함한다. 도 1에서, 예를 들면, 헤드 장착형 디스플레이(110)는 깊이 센서(114) 및 비디오 카메라(116)를 포함하는 RGB-D 카메라(112)를 포함한다. 일 예시적인 실시예에서, RGB-D 카메라(112)는 근접 범위(near-range)일 수 있다.
일 예시적인 실시예에서, 깊이 센서(114)는 동적 가림 핸들링을 위한 기하학적 구조 정보뿐만 아니라 깊이 데이터를 제공하도록 구성된다. 이와 관련하여, 예를 들면, 깊이 센서(114)는 구조화된 광 센서 또는 비행 시간 센서(time-of-flight sensor)이다. 대안으로, 동적인 깊이 정보를 얻기 위해 스테레오 센서가 사용될 수 있다. 일 예시적인 실시예에서, 애플리케이션에 따라, 깊이 센서(114)는 임의의 적절한 감지 범위를 가질 수 있다. 예를 들면, 도 1에서, RGB-D 카메라(112)는 사용자의 손들(204)을 수반하는 AR 상호 작용들의 영역을 커버하기에 충분한 0.2m 내지 1.2m의 감지 범위를 갖는 깊이 센서(114)를 포함한다.
일 예시적인 실시예에서, 비디오 카메라(116)는 비디오 또는 기록된 일련의 컬러 이미지들을 제공하도록 구성된다. 일 예시적인 실시예에서, 비디오 카메라(116)는 장면 추적(예를 들면, 시각 SLAM)을 제공하도록 구성된다. 또한, 헤드 장착형 디스플레이(110)에 의해 제공된 안경 뷰(212)가 동적 가림 핸들링을 위한 정보를 제공할 수 없기 때문에, 시스템(100)은 비디오 뷰(200)로부터의 비디오 데이터를 사용하고 안경 뷰(212)로서 비디오 뷰(200)를 채택하여 동적 가림 핸들링을 제공한다.
일 예시적인 실시예에서, 시스템(100)은 동적 가림 핸들링 시스템(120)을 포함한다. 일 예시적인 실시예에서, 동적 가림 핸들링 시스템(120)은 동적 가림 핸들링 모듈(130)을 포함하고 여기에 개시된 기능들을 구현할 수 있는 임의의 적절한 컴퓨팅 시스템이다. 비제한적인 예들로서, 컴퓨팅 시스템은 개인용 컴퓨터, 랩탑, 태블릿, 또는 동적 가림 핸들링 모듈(130)의 기능을 구현할 수 있는 임의의 적합한 컴퓨터 기술이다.
일 예시적인 실시예에서, 컴퓨팅 시스템은 적어도 입/출력(I/O) 디바이스들(122), 통신 시스템(124), 컴퓨터 판독 가능 매체(126), 다른 기능적 모듈들(128), 및 처리 시스템(132)을 포함한다. 일 예시적인 실시예에서, I/O 디바이스들은 키보드, 스피커, 마이크로폰, 디스플레이 등과 같은 임의의 적절한 디바이스 또는 디바이스들의 조합을 포함할 수 있다. 일 예시적인 실시예에서, 통신 시스템(124)은 동적 가림 핸들링 시스템(120)의 구성 요소들이 서로 통신하게 하고 동적 가림 핸들링 시스템(120)이 통신 기술(118)을 통해 헤드 장착형 디스플레이(110)와 또한 통신하게 하는 임의의 적절한 통신 수단을 포함한다. 또한, 일 예시적인 실시예에서, 통신 시스템(124)은 동적 가림 핸들링 시스템(120)을 인터넷에 접속하고, 뿐만 아니라 다른 컴퓨팅 시스템들 및/또는 컴퓨터 네트워크 또는 임의의 적절한 네트워크상의 디바이스들과 접속하는 컴퓨팅을 가능하게 하는 임의의 적절한 통신 수단을 포함한다. 일 예시적인 실시예에서, 컴퓨터 판독 가능 매체(126)는 본 명세서에 개시된 기능들을 가능하게 하기 위해 다양한 데이터를 저장 및 그에 대한 액세스를 제공하도록 구성된 컴퓨터 또는 전자 저장 시스템이다. 일 예시적인 실시예에서, 컴퓨터 판독 가능 매체(126)는 전기, 전자, 자기, 광학, 반도체, 전자기, 또는 임의의 적합한 메모리 기술을 포함할 수 있다. 일 예시적인 실시예에서, 컴퓨터 판독 가능 매체(126)는 로컬, 원격, 또는 이들의 조합(예컨대, 부분적으로 국부적 및 부분적으로 원격)이다. 일 예시적인 실시예에서, 다른 기능 모듈들(128)은 하드웨어, 소프트웨어, 또는 그의 조합을 포함할 수 있다. 예를 들면, 다른 기능 모듈들(128)은 운영 체계, 로직 회로, 임의의 하드웨어 컴퓨팅 구성요소들, 임의의 소프트웨어 컴퓨팅 구성요소들, 또는 그의 임의의 조합을 포함할 수 있다. 일 예시적인 실시예에서, 처리 시스템(132)은 동적 가림 핸들링 모듈(130)에 따라 동적 가림 핸들링을 수행 및 구현하기 위한 적어도 하나의 처리 유닛을 포함한다. 도 1에서, 예를 들면, 처리 시스템(132)은 적어도 중앙 처리 장치(CPU) 및 그래픽 처리 장치(GPU)를 포함한다.
상기에 논의된 바와 같이, 동적 가림 핸들링 시스템(120)은 동적 가림 핸들링 모듈(130)을 포함한다. 일 예시적인 실시예에서, 동적 가림 핸들링 모듈(130)은 하드웨어, 소프트웨어, 또는 그의 조합을 포함한다. 일 예시적인 실시예에서, 동적 가림 핸들링 모듈(130)은 프로세스(400)(예를 들면, 도 4)가 강화된 깊이 데이터 및 동적 가림 핸들링을 실행 및 제공하게 되도록 처리 시스템(132)에 필요한 데이터 및 지원을 제공하도록 구성되어, 실감나는 AR 경험을 제공한다.
도 2a 및 도 2b는 가상 물체들(202)이 획득 센서 공간으로서 비디오 뷰(200)에서 렌더링되는 비제한적인 예들을 도시한다. 구체적으로, 도 2a는 동적 가림 핸들링이 없는 가상 물체(202) 렌더링을 도시하고, 도 2b는 동적 가림 핸들링을 갖는 가상 물체(202) 렌더링을 도시한다. 이와 관련하여, 도 2a 및 도 2b의 각각에서, 가상 물체(202) 렌더링은 가상 물체(202)로서 보물 상자를 포함한다. 또한, 도 2a 및 도 2b 각각에서, 이러한 비디오 뷰의 나머지 부분들은 실세계 환경에서 사용자의 손(204)을 포함한다. 그러나, 동적 가림 핸들링 없이, 도 2a의 원형 영역(206)에 도시된 바와 같이, 사용자의 손(204)은 가상 물체(202)에 의해 부적절하게 가려진다. 즉, 도 2a의 원형 영역(206)은 가상 물체(202)와 상호 작용하는 사용자의 손(204)의 사실적인 묘사를 제공하지 않는다. 대조적으로, 동적 가림 핸들링에 의해, 사용자의 손(204)은 도 2b의 원형 영역(208)에 도시된 바와 같이 가상 물체(202)에 의해 가려지지 않는다. 이와 같이, 동적 가림 핸들링에 의해, 도 2b의 원형 영역(208)은 가상 물체(202)와 상호 작용하는 사용자의 손(204)의 사실적인 묘사를 제공할 수 있다.
도 2c-도 2d 및 도 2e-도 2f는 각각 도 2a 및 도 2b의 가상 물체들(202)의 렌더링들에 관한 것이다. 더 구체적으로, 도 2c-도 2d는 동적 가림 핸들링 없이 가상 물체들(202)의 렌더링의 비제한적인 예들을 도시한다. 이와 관련하여, 도 2c는 가상 물체(202)의 랜더링의 좌안 뷰를 나타내고, 도 2d는 가상 물체(202)의 렌더링의 우안 뷰를 나타낸다. 대조적으로, 도 2e-도 2f는 동적 가림 핸들링을 갖는 가상 물체들(202)의 렌더링의 비제한적인 예들을 도시한다. 더 구체적으로, 도 2e는 가상 물체(202)의 랜더링의 좌안 뷰를 나타내고, 도 2f는 가상 물체(202)의 렌더링의 우안 뷰를 나타낸다. 도 2e 및 도 2f에 도시된 바와 같이, 동적 가림 핸들링에 의해, 가상 물체(202)가 사용자의 손(204)을 가리지 않도록 각각의 원형 영역(210)에서 하이라이트된 바와 같이 수정된다. 따라서, 동적 가림 핸들링에 의해, 가상 물체(202) 및 사용자의 손(204) 사이의 상호 작용은 도 2b 및 도 2i-도2j의 적어도 원형 영역(208)에 도시된 바와 같이 적절하고 실제적인 방식으로 제공된다.
도 2g-도 2h 및 도 2i-도 2j는 광학 헤드 장착형 디스플레이(110)를 통한 안경 뷰(212)에서 가상 물체들(202)의 광학적, 투시 이미지들의 비제한적인 예들을 도시한다. 도 2g-도 2h는 동적 가림 핸들링이 없는 예들을 도시한다. 구체적으로, 도 2g는 안경 뷰(212)에서 가상 물체(202)의 좌안 뷰를 나타내고, 도 2h는 안경 뷰(212)에서 가상 물체(202)의 우안 뷰를 나타낸다. 대조적으로, 도 2i-도 2j는 동적 가림 핸들링을 갖는 예들을 도시한다. 구체적으로, 도 2i는 안경 뷰(212)에서 가상 물체(202)의 좌안 뷰를 나타내고, 도 2j는 안경 뷰(212)에서 가상 물체(202)의 우안 뷰를 나타낸다. 도 2i 및 도 2j의 것들과 도 2g-도 2h의 비교에 의해 증명된 바와 같이, 사용자의 손들(204)에 의해 가려져야 하는 가상 물체들(202)의 부분들이 뷰로부터 제거됨에 따라, 동적 가림 핸들링의 포함은 보다 사실적 및 몰입형 경험을 제공한다.
도 3a 내지 도 3e는 컬러 이미지들로부터 취해진 물체들의 대응하는 경계들과 비교된 깊이 맵들로부터 취해진 물체들의 경계들간의 부정합의 비제한적인 예들을 제공한다. 구체적으로, 도 3a는 깊이 맵(300)의 일 예를 도시하고, 도 3b는 컬러 이미지(302)의 대응하는 예를 도시한다. 또한, 도 3c는 도 3b의 컬러 이미지(302)를 오버레이하는 도 3a의 깊이 맵(300)의 일 예를 도시한다. 한편, 도 3d는 도 3c의 박스형 영역(304)의 확대도를 도시한다. 도 3e는 도 3c의 박스형 영역(306)의 확대도를 도시한다. 도 3c 내지 도 3e에 도시된 바와 같이, 깊이 맵(300)에서 사용자의 손(204)의 경계는 컬러 이미지(302)에서 사용자의 손(204)의 대응하는 경계와 일치하지 않는다.
도 3f 내지 도 3h는 깊이 맵(300)으로부터 원시 깊이 데이터를 이용한 동적 가림 핸들링에 기초한 예시적인 결과들이다. 구체적으로, 도 3f는 특히 사용자의 손(204)에 관련하여 가상 물체(202)(예를 들면, 스마트 폰)의 렌더링에 관한 동적 가림 핸들링을 포함한다. 한편, 도 3g는 도 3f의 박스형 영역(304)의 확대도이다. 또한, 도 3h는 도 3f의 박스형 영역(306)의 확대도를 도시한다. 도시된 바와 같이, 동적 가림 핸들링이 원시 깊이 데이터로 수행될 때, 도 3f 내지 도 3h는 원시 깊이 맵(300)과 컬러 이미지(302) 사이의 적어도 사용자의 손(204)의 경계들에서의 불일치로 인한 시각적인 아티팩트들을 포함한다. 그러나, 시스템(100)은 프로세스(400)를 포함하고, 예를 들면, 깊이 데이터와 RGB 데이터 사이의 물체 경계들의 일치를 개선함으로써 문제를 극복하게 된다.
도 4는 일 예시적인 실시예에 따른 시스템(100)의 프로세스(400)의 블록도이다. 일 예시적인 실시예에서, RGB-D 카메라(112)로부터 깊이 데이터 및 비디오 데이터를 수신하면, 프로세스(400)는 적어도 비디오 뷰 프로세스(410) 및 안경 뷰 렌더링 프로세스(490)를 포함한다. 이에 관하여, 처리 시스템(132)이 동적 가림 핸들링 모듈(130)을 통한 비일시적인 컴퓨터 판독 가능 매체, 컴퓨터 판독 가능 매체(126), 또는 그의 조합상에 저장되는 컴퓨터 판독 가능 데이터(예를 들면, 컴퓨터 실행 가능 데이터)를 실행할 때, 프로세스(400)가 수행된다. 일반적으로, 컴퓨터 실행 가능 데이터는 다양한 명령들, 데이터 구조들, 애플리케이션들, 루틴들, 프로그램들, 모듈들, 절차들, 다른 소프트웨어 구성요소들, 또는 그의 임의의 조합을 포함할 수 있다.
일 예시적인 실시예에서, 프로세스(400)는 원시 깊이 맵들의 경계들이 이미지 경사도들이 일반적으로 높은 대응하는 컬러 이미지들에서 그들의 대응하는 부분들에 보통 상당히 가깝게 있는 경우들을 이용한다. 일 예시적인 실시예에서, 프로세스(400)는 적어도 하나의 깊이 에지점을 그 원하는 타깃 위치로 스냅핑하는 것을 포함한다. 이와 관련하여, 상기에 기초하여, 프로세스(400)는 깊이 에지점의 타깃 위치를 로컬 라인 세그먼트 상에 있도록 제약함으로써 솔루션 공간을 이산화하는 것을 포함하고, 이후 이산 에너지 최소화를 통해 깊이 에지점들의 전체 세트에 대한 최적 솔루션을 발견한다.
일 예시적인 실시예에서, 프로세스(400)는 도 4에 도시된 바와 같이, 비디오 뷰 프로세스(410) 및 안경 뷰 렌더링 프로세스(490)를 포함한다. 일 예시적인 실시예에서, 비디오 뷰 프로세스(410)는 깊이 에지점 프로세스(420), 후보 검색 프로세스(460), 최적화 프로세스(470), 및 깊이 맵 강화 프로세스(480)를 포함한다. 일 예시적인 실시예에서, 깊이 에지점 프로세스(420)는 깊이 에지점 추출(430), 그룹화 및 순서화(440), 및 2D 법선 계산들(450)을 포함한다. 더 구체적으로, 일 예시적인 실시예에서, 프로세스(400)는 깊이 맵으로부터 깊이 에지점들을 추출하는 것 및 추출된 깊이 에지점들에 대해 평탄한 2D 법선 방향들을 계산하는 것을 포함한다. 이와 관련하여, 각각의 2D 법선 세그먼트 또는 라인은 대응하는 에지점에 대한 솔루션 공간을 정의한다. 즉, 각 에지점에 대한 후보들은 이러한 법선 방향을 따라서만 검색된다. 일 예시적인 실시예에서, 후보 검색 프로세스(460) 후에, 프로세스(400)는 최적의 스냅핑 타깃들의 위치를 지정하고 이용하기 위해 후보 검색(460)의 결과들에 기초하여 최적화 프로세스(470)를 포함한다. 이와 관련하여, 예를 들면, 최적화 프로세스(470)는 적어도 데이터 항 및 평탄도 항을 포함하는 솔루션 공간에서의 에너지 함수들을 정의하는 것을 포함한다. 또한, 이러한 경우에, 최적화 프로세스(470)는 각 에지점에 대한 최적의 타깃 위치를 식별하기 위해 동적 프로그래밍을 통해 에너지 최소화를 효율적으로 수행하는 것을 포함한다. 일 예시적인 실시예에서, 프로세스(400)는 에지-스냅핑의 출력에 기초하는 깊이 맵 강화 프로세스(480)를 포함한다. 깊이 맵을 강화하면, 프로세스(400)는 비디오 뷰 프로세스(410)로부터 안경 뷰 렌더링 프로세스(490)로 스위칭한다.
도 5는 일 예시적인 실시예에 따른 깊이 에지점 프로세스(420)의 흐름도이다. 일 예시적인 실시예에서, 깊이 에지점 프로세스(420)는 유효한 깊이 값들을 갖는 깊이 점들(또는 픽셀들)로부터 깊이 에지점들을 추출하도록 구성된다. 또한, 깊이 에지점 프로세스는 후보 검색 프로세스(460) 및 최적화 프로세스(470)를 준비하기 위한 다수의 동작들을 수행하도록 구성된다. 더 구체적으로, 깊이 에지점 프로세스(420)의 예시적인 구현(500)이 이하에 논의된다.
단계(502)에서, 처리 시스템(132)은 깊이 에지점들을 추출하도록 구성된다. 일 예시적인 실시예에서, 예를 들면, 깊이 에지점들은 국부적인 근방이 큰 깊이 불연속을 나타내는 점들이다. 이와 관련하여, 예를 들면, 처리 시스템(132)은 주로 또는 단지 유효 깊이값들을 갖는 깊이점들(또는 픽셀들)을 고려한다. 이들 픽셀들의 각각에 대하여, 3×3 로컬 패치가 검사된다. 4개의 이웃 픽셀들 중 어느 하나가 유효하지 않은 깊이 값을 갖거나 특정 값을 초과하는 중심 픽셀과 다른 유효한 깊이 값을 갖는 경우, 이러한 중심 픽셀은 깊이 에지점으로 간주된다. 일 예로서, 원시 깊이 맵은 보통 분리된 점들 또는 매우 작은 패치로서 일부 이상치들(outliers)을 포함할 수 있다. 이들 이상치들의 효과를 제거하기 위해, 처리 시스템(132)은 깊이 에지점들을 추출하기 전에 깊이 맵 마스크에 형태학적인 개방, 즉 팽창(dilation)으로 이어지는 침식(erosion)을 적용하도록 구성된다.
단계(504)에서, 처리 시스템(132)은 추출된 깊이 에지점들을 그룹화하기 위해 각각의 이미지 그룹에 대해 깊이 우선 검색을 수행하도록 구성된다. 깊이 우선 검색 동안, 두 개의 깊이 에지점들은 하나가 다른 쪽의 3×3 근방에 있고 이들 2개의 깊이점들(또는 픽셀들) 사이의 깊이 차이가 특정 임계값 τmax보다 작은 경우에만 연결된 것으로 간주된다.
단계(506)에서, 처리 시스템(132)은 다른 프로세스들 중 일부(예를 들면, 최적화 프로세스(470))에 의해 요구되는 바와 같이 에지 윤곽의 한 단부로부터 다른 것을 향해 횡단하도록 각 그룹의 깊이 에지점들을 순서화하도록 구성된다. 일부 경우들에서, 에지 윤곽이 원형 윤곽일 때와 같이, 처리 시스템(132)은 시작점으로서 깊이 에지점들 중 하나를 선택하도록 구성되고, 상기 선택은 무작위로 또는 임의의 적합한 선택 방법에 의해 수행될 수 있다. 일 예시적인 실시예에서, 도 5의 이러한 논의의 나머지 부분에서 이하의 동작들이 깊이 에지점들의 각 그룹에 대해 개별적으로 수행된다. 한편, 도 6c는 깊이 에지점들의 다수의 그룹들을 포함하는 예를 도시한다.
단계(508)에서, 처리 시스템(132)은 이들 깊이 에지점들의 2D 위치들을 평탄화하기 위해 원시 깊이 에지점들에 저역 필터링을 수행하도록 구성된다. 더 구체적으로, 원시 깊이 에지들의 지그재그 패턴 또는 불균일성에 의해, 이들 원시 깊이 에지점들로부터 직접 계산된 법선은 상당한 아티팩트들을 겪을 수 있다. 대조적으로, 저역 통과 필터링에 의해, 처리 시스템(132)은 단계(510)에서 이들 평탄화된 깊이 에지점들을 이용함으로써 잡음 및 아티팩트들을 감소시키도록 구성된다.
단계(510)에서, 처리 시스템(132)은 이들 깊이 에지점들의 2D 법선을 계산하도록 구성된다. 일 예시적인 실시예에서, 처리 시스템(132)은 2개의 이웃하는 점들을 사용하여 각 깊이 에지점의 2D 법선을 계산하도록 구성된다. 일 예시적인 실시예에서, 처리 시스템(132)은 2D 법선 계산을 위해서만 평탄화된 깊이 에지점들을 이용하지만, 이후 처리의 모두(또는 대부분의)에 대한 원시 깊이 에지점들에 의존한다.
도 6a 내지 도 6g는 일 예시적인 실시예에 따른 깊이 에지점 처리의 예시적인 구현(500)의 일정 양태들을 도시한다. 구체적으로, 도 6a는 RGB-D 카메라(112)로부터의 컬러 이미지(302)의 일 예를 도시한다. 도 6b는 RGB-D 카메라(112)로부터의 원시 깊이 맵(300)의 일 예를 도시한다. 도 6c는 그레이-스케일 이미지(310)를 오버레이하는 원시 깊이 에지점들(312)의 예들을 도시한다. 한편, 도 6d 내지 도 6g는 도 6a의 박스형 영역(308)에 대응하는 도 6c의 부분들의 확대도들을 도시한다. 이와 관련하여, 도 6d는 사용자의 손(204)의 엄지의 경계와 연관된 원시 깊이 에지점들(312)을 도시하고, 도 6e는 평탄화된 깊이 에지점들(314)을 도시한다. 또한, 도 6f는 원시 깊이 에지점들(312)에 기초하여 생성되는 2D 법선들(316)을 도시한다. 대조적으로, 도 6g는 평탄화된 깊이 에지점들에 기초하여 생성되는 2D 법선들(316)을 도시한다. 도시된 바와 같이, 도 6g의 평탄화된 깊이 에지점들의 2D 법선들은 도 6f의 원시 깊이 에지점들의 잡음보다 적은 잡음을 전달한다.
도 7, 도 8a 내지 도 8c, 도 9a 내지 도 9c, 도 10a 내지 도 10c, 및 도11a 내지 도 11c는 후보 검색 프로세스(460) 및 최적화 프로세스(470)에 관한 것이다. 더 구체적으로, 도 7은 일 예시적인 실시예에 따른 후보 검색 프로세스(460) 및 최적화 프로세스(470)의 일 예시적인 구현(700)의 흐름도이다. 한편, 도 8a 내지 도 8c, 도 9a 내지 도 9c, 도 10a 내지 도 10c, 및 도 11a 내지 도 11c는 후보 검색 프로세스(460) 및 최적화 프로세스(470)의 다양한 양태들을 도시한다.
단계(702)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 각 깊이 에지점에 대한 후보들을 검색한다. 이와 관련하여, 예를 들면, 각각의 깊이 에지점을 스냅핑하는 솔루션 공간은 그의 2D 법선의 선에 제한된다. 어느 방향이 타깃 방향인지에 관한 사전 정보가 없기 때문에, 처리 시스템(132)은 양 및 음의 법선 방향들 모두에서 특정 범위(rs)에 대해 검색하도록 구성되어, 2rs+1개의 후보들을 초래한다. 또한, 일 예시적인 실시예에서, 처리 시스템(132)은 깊이 에지점을 pi로 나타내고 그의 대응하는 후보 세트를 Li = {ci,k | k = 1,..., 2rs +1}로 나타내도록 구성된다.
단계(704)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 다수의 컬러 공간들에서 소벨 연산자(Sobel operator)를 사용하여 이미지 경사도들을 획득한다. 일 예시적인 실시예에서, 이미지 기울기들의 제 1 부분은 다음의 수식에 의해 RGB 컬러 공간에서 직접 계산된다:
전술한 바와 같이, 이러한 수식은 x 및 y 방향들 양쪽을 따른 이미지 경사도들을 포함한다. 그러나, 일부 경우들에는, RGB 컬러 공간의 이미지 경사도들이 일부 물체 경계들을 따라 반드시 높지는 않다. 따라서, 일 예시적인 실시예에서, 처리 시스템(132)은 다음 수식에 의해 나타내진 바와 같이 YCbCr 공간으로부터의 이미지 경사도들을 통합함으로써 판별식 영향력을 강화하도록 구성된다:
단계(706)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 이들 이미지 경사도들을 결합하고 다음과 같이 후보(ci,k)를 향해 점(pi)을 스냅핑하는 비용을 정의한다:
여기서 wrgb 및 wcbcr은 상이한 컬러 공간 경사도들의 가중치들이다.
전술한 바와 같이, 다수의 컬러 공간들로부터 이미지 경사도들을 인코딩하는 것은 다수의 이점들을 제공한다. 예를 들면, 상이한 컬러 공간들을 조합하는 것은 일반적으로 이러한 에지-스냅핑 프레임워크에 대해 더 많은 분별력을 제공한다. 예를 들면, 일부 경우들에서, RGB 컬러 공간만으로는 충분하지 않을 수 있다. 이와 관련하여, 도 9a 내지 도 9c를 참조하면, 일 예로서, 원형 영역들(328)에 보여지는 바와 같이, 손가락 끝의 경계들은 RGB 공간에서 강한 이미지 경사도를 갖지 않는다. 이러한 경우에, RGB 컬러 공간만 포함할 때, 원하는 위치들에 스냅핑될 수 없는 이들 손가락 끝과 연관된 일부 에지점들이 존재한다. 대조적으로, YCbCr 공간이 RGB 공간과 통합될 때, 처리 시스템(132)은 RGB 공간만을 포함하는 이들 스냅핑 결과들과 비교하여 개선된 스냅핑 결과들을 달성하도록 구성된다. 많은 AR 사용 경우들에서, 사용자가 적어도 하나의 가상 물체(202)와 상호 작용하는 장면들이 존재한다. 이러한 경우들에, YCbCr 컬러 공간의 통합은 특히 사용자와 연관된 피부색을 다른 색들(예를 들면, 비피부색)과 구별하기에 특히 적합하다. 또한, 다른 예시적인 실시예들에서, 다른 컬러 공간들이 사용될 수 있다. 예를 들면, HSV 컬러 공간의 색조 채널이 사용될 수 있다. 한편, 이러한 예시적인 실시예가 RGB 및 YCbCr 공간들을 사용하지만, 다른 예시적인 실시예들은 다양한 컬러 공간들의 다양한 조합들을 포함한다.
단계(708)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 이웃하는 깊이 에지점들(또는 깊이 에지 픽셀들) 사이의 큰 편차를 불리하게 하는 평탄도 항을 정의한다. 이에 관하여, 평탄한 스냅핑을 달성하기 위해, 처리 시스템(132)은 이웃하는 깊이 에지점들을 서로 상대적으로 근접하고 및/또는 서로 멀지 않은 위치들로 스냅핑한다. 예를 들면, 일 예시적인 실시예에서, 한 쌍의 연속적인 깊이 에지점들(pi 및 pj)에 대해, 처리 시스템(132)은 다음 수식을 통해 pi를 ci,k상에 및 pj를 cj,l상에 스냅핑하는 비용을 계산한다:
이러한 수식에서, 파라미터 dmax는 두 개의 연속적인 깊이 에지점들에 허용되는 최대 불일치를 정의한다.
단계(710)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 다음의 에너지 함수를 최소화하기 위해 각각의 깊이 에지점에 대한 후보를 결정하거나 찾는다:
여기서 λs는 평탄도 제약의 중요성에 영향력을 미친다. 일 예시적인 실시예에서, 이산 최적화 문제의 이러한 등급은 솔루션 공간에서 최적 경로를 식별하는 동적 프로그래밍을 통해 효율적인 방식으로 해결된다.
단계(712)에서, 처리 시스템(132)은 데이터 비용들 및 평탄도 비용들을 고려한 이산 최적화 문제를 해결함으로써 최적 경로를 결정한다. 구체적으로, 처리 시스템(132)은 크기 N×(2rs+1)의 행렬 H를 구성하고, N은 깊이 에지점들의 수이다. 엔트리들은 데이터 항 H(i,k) = Ed(i,k)로 초기화된다. 처리 시스템(132)은 이후 제 1 깊이 에지점로부터 마지막 깊이 에지점을 향해 횡단하고, 다음의 수식을 통해 행렬을 업데이트한다:
일 예시적인 실시예에서, 상기에 논의된 바와 같이, 처리 시스템(132)은 데이터 비용들 및 평탄도 비용들 양쪽을 고려하여 점(i)에서 점(j)까지의 최적 경로를 찾기 위해 이러한 업데이트를 제공한다. 일 예시적인 실시예에서, 이러한 연산은 모든 후보들(l = 1, ..., 2rs+1)에 대해 및 모든 깊이 에지점들에 대해 순차적으로 수행된다. 일반적으로, 제 2 항의 최소값을 제공하는 k는 후보(l)가 pi+1에 대해 선택되고 업데이트 동안 기록되는 경우 pi를 pi+1와 연결하는 최상의 후보이다. 업데이트가 완료될 때, 즉, 최종 에지점에 도달하면, 처리 시스템(132)은 최종 점에 대해 최소 비용을 제공하는 후보를 선택한다. 일 예시적인 실시예에서, 처리 시스템(132)은 이후 업데이트 동안 먼저 기록된 현재 점에 대한 결정이 주어지면 이전 점에 대한 최상의 후보들을 찾아내기 위해 되돌아간다. 일 예시적인 실시예에서, 처리 시스템(132)은 최적 경로가 발견되는 제 1 점이 도달될 때까지 이러한 절차를 계속한다. 이에 관하여, 최적 경로는 각 에지점에 대해 스냅핑할 타깃 위치를 제공한다.
도 8a 내지 도 8c는 다수의 컬러 공간들로부터의 이미지 경사도들을 사용하는 것과 연관된 적어도 하나의 이점을 도시한다. 이에 관하여, 도 8a는 컬러 이미지(302)의 비제한적인 예이다. 한편, 도 8b 및 도 8c의 각각은 도 8a의 박스형 영역(318)의 확대도를 도시한다. 도 8b 및 도 8c는 최적화 프로세스(470) 후의 원시 깊이 에지점들(320) 및 그의 타깃 위치들(324)을 포함한다. 또한, 도 8b 및 도 8c는 또한 원시 깊이 에지점(320)의 그의 대응하는 타깃 위치들(324)로의 이동들을 나타내는 경로들(322)을 포함한다. 더 구체적으로, 도 8b는 RGB 공간에서의 이미지 경사도만을 사용하여 획득된 결과들을 도시한다. 대조적으로, 도 8c는 RGB 공간과 YCbCr 공간 모두로부터의 이미지 경사도들을 조합함으로써 획득된 결과를 도시한다. 이에 관하여, 도 8c에 도시된 바와 같이, 다수의 컬러 공간들의 융합은 도 8b에 도시된 바와 같이 단일 컬러 공간의 견고성에 비해 에지-스냅핑 프레임워크의 견고성을 향상시킨다.
도 9a 내지 도 9c는 다수의 컬러 공간들로부터의 이미지 경사도들을 사용하는 것과 연관된 적어도 하나의 다른 이점을 도시한다. 구체적으로, 도 9a는 RGB-D 카메라(112)로부터 획득된 컬러 이미지(또는 원시 RGB 데이터)의 비제한적인 예를 도시한다. 도 9b는 적색 채널(326)로부터의 이미지 경사도들의 크기의 비제한적인 예이다. 이러한 예에서, 원형 영역들(328)은 사용자의 손(204)의 물체 경계(330)의 이미지 경사도들이 RGB 공간에서 상대적으로 낮은 경우들을 강조한다. 도 9c는 변환된 CR 채널(332)에서 이미지 경사도들의 크기의 비제한적인 예이고, 여기서 사용자의 손(204)의 물체 경계(330), 특히 손가락 끝은 더 가시적이다.
도 10a 내지 도 10c는 평탄도 항을 적용하는 것과 연관된 다수의 이점들을 도시한다. 도 10a는 컬러 이미지(302)의 비제한적인 예를 도시한다. 한편, 도 10b 및 도 10c는 도 10a의 박스형 영역(334)의 확대도들이다. 더 구체적으로, 도 10b는 평탄도 제약이 없는 에지-스냅핑 결과들을 도시한다. 대조적으로, 도 10c는 적어도 하나의 평탄도 제약을 갖는 에지-스냅핑 결과들을 도시한다. 도 10b 및 도 10c는 원시 깊이 에지점들(320) 및 그들의 타깃 위치들(324)을 포함한다. 또한, 도 10b 및 도 10c는 또한 원시 깊이 에지점들(320)의 그의 대응하는 타깃 위치들(324)로의 이동을 보여주는 경로들(322)을 포함한다. 이에 관하여, 도 10c에 도시된 바와 같이 평탄도 제약들이 제공된 결과들은 도 10b에 도시된 바와 같은 평탄도 제약들이 없는 경우에 비해 더 큰 에지-스냅핑 정확도를 제공한다.
도 11a 내지 도 11c는 평탄도 항들을 적용한 다수의 이점들을 도시한다. 도 11a는 컬러 이미지(302)의 비제한적인 예를 도시한다. 한편, 도 11b 및 도 11c는 도 11a의 박스형 영역(336)의 확대도들이다. 도 11b는 평탄도 제약이 없는 에지-스냅핑 결과들을 도시한다. 대조적으로, 도 11c는 적어도 하나의 평탄도 제약을 갖는 에지-스냅핑 결과들을 도시한다. 도 11b 및 도 11c는 원시 깊이 에지점들(320) 및 그들의 타깃 위치들(324)을 포함한다. 또한, 도 11b 및 도 11c는 또한 원시 깊이 에지점들(320)의 그들의 대응하는 타깃 위치들(324)로의 이동들을 나타내는 경로들(322)을 포함한다. 이에 관하여, 도 11c에 도시된 바와 같이, 평탄도 제약들이 제공되는 결과들은 도 11b에 도시된 바와 같이 평탄도 제약들이 없는 경우에 비해 더 양호한 에지-스냅핑 정확도를 제공한다.
평탄도 항이 없다면, 프로세스(400)는 기본적으로 가장 큰 이미지 경사도를 갖는 후보가 각각의 깊이 에지점에 대한 타깃 위치로서 선택된다는 점에서 "승자 독식(winner takes all)" 전략을 사용할 것이다. 그러나, 배경 장면이 일부 강한 에지들을 가질 때, 타깃 위치들을 선택하는 이러한 "승자 독식" 전략은 다양한 아티팩트들을 초래할 것이다. 이에 관하여, 예를 들면, 도 10b 및 도 11b는 약간의 깊이 에지점들이 큰 이미지 경사도들을 갖는 바람직하지 않은 위치들로 스냅핑된 예들을 도시한다. 대조적으로, 프로세스(400) 내에 평탄도 항의 포함은 도 10c 및 도 11c에 도시된 바와 같이, 그러한 아티팩트들이 발생하는 것을 효과적으로 방지할 수 있다.
도 12 및 도 13a 내지 도 13e는 깊이 맵 강화 프로세스(480)에 관한 것이다. 구체적으로, 도 12는 일 예시적인 실시예에 따른 깊이 맵 강화 프로세스(480)의 일 예시적인 구현(1200)의 흐름도이다. 또한, 도 13a 내지 도 13e는 에지-스냅핑에 기초한 깊이 맵 강화를 도시한다. 더 구체적으로, 도 13a 내지 도 13e의 각각은 컬러 이미지(302)를 오버레이하는 깊이 맵(300)을 도시한다. 또한, 도 13a 내지 도 13e의 각각에서, 곡선(320)은 깊이 맵(300)으로부터 취해진 사용자의 손(204)으로부터의 엄지의 경계를 나타낸다. 이러한 예에서, 적어도 곡선(318)에 의해 경계가 정해진 음영 영역(340)은 유효한 깊이 측정들을 갖지만, 나머지 영역들은 0 깊이들을 갖는다. 또한, 도 13b 내지 도 13e는 깊이 에지점들(320A 및 320B)(곡선(320)으로부터 취해짐) 및 그들의 대응하는 타깃 위치들(342A 및 342B)을 도시한다. 또한, 도 13c 및 도 13e에서 삼각형들로 도시된 점들(344A 및 344B)은 기준 깊이값들을 검색하는데 사용되는 깊이점들(또는 픽셀들)을 나타낸다. 즉, 도 13a 내지 도 13e는 이하에 논의되는 바와 같이 예시적인 구현(1200)의 특정 양태들의 예들을 도시한다.
단계(1202)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 도 13b 및 도 13d의 각각의 음영 영역(340)으로 도시된 바와 같이 사변형을 형성하는 두 개의 연속적인 깊이 에지점들(320A 및 320B)뿐만 아니라 그들의 타깃 위치들(342A 및 342B)을 고려한다. 일 예시적인 실시예에서, 처리 시스템(132)은 강화를 위해 이러한 사변형(또는 음영 영역(340)) 내부의 모든 깊이점들(또는 픽셀들)을 처리한다. 일 예시적인 실시예에서, 이러한 처리는 연속적인 깊이 에지점들(320A 및 320B)의 각 쌍에 대해 수행된다. 본질적으로, 사변형(또는 음영 영역(340)) 내부의 각 깊이점(또는 픽셀)은 센서 잡음들로 인해 부정확한 깊이 측정들을 갖는다. 일 예시적인 실시예에서, 이들 점들(또는 픽셀들)의 각각의 실제 깊이가 복구된다. 그러나, 이러한 일 예시적인 실시예는 상당히 복잡한 연산들을 포함할 수 있고 계산상으로 비싸지만, 시각적으로 만족스러운 동적 가림 효과들을 달성하기 위해 필요하지 않을 수 있다. 따라서, 다른 예시적인 실시예에서, 처리 시스템(132)은 일반적으로 충분한 이들 깊이점들(또는 픽셀들)에 대한 합리적인 깊이값들을 추정하기 위해 근사를 수행하도록 구성된다.
일반적으로, 도 13a 내지 도 13e에 도시된 바와 같이, 영역들 내의 깊이점들(또는 픽셀들)에 대해 일반적으로 2가지 형태들의 에러들이 존재한다. 예를 들면, 제 1 형태의 에러("경우 1")는 적어도 하나의 누락 값을 포함하고, 여기서 도 13a의 박스 영역(336) 내에 도시된 바와 같이 깊이 맵(300)의 물체 경계들은 일반적으로 물체 내부에 있다. 다른 형태의 에러("경우 2")는 도 13a의 박스 영역(338) 내에 도시된 바와 같이, 멀리 있는 물체에 속하는 깊이점들(또는 픽셀들)이 가림 물체로부터의 깊이값들로 라벨링될 때 발생한다. 이들 경우들 모두에서, 처리 시스템(132)은 깊이 값들을 수정하기 위해 다음의 동일한 방법을 구현한다.
단계(1204)에서, 일 예시적인 실시예에서, 한 쌍의 연속적인 깊이 에지점들(320A 및 320B)의 각각의 깊이 에지점(또는 픽셀)에 대해, 처리 시스템(132)은 타깃으로부터 이러한 픽셀로의 방향을 따라 한 스텝 뒤로 횡단하고 깊이값을 기준 깊이값으로서 검색한다. 이들 기준 픽셀들의 예들은 도 13c 및 도 13e에서 각각 검은색 삼각형들(344)로 나타내진다.
단계(1206)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 이후 상기 쌍으로부터의 기준 깊이값들의 평균을 취하고 그것을 그 영역 내의 모든 깊이점들(또는 픽셀들)에 할당한다. 도 13a에 도시된 바와 같이, 경우 1에 대하여, 기준값들은 손가락 내부의 영역으로부터 취해진다. 따라서, 타깃 영역(340)은 손가락으로부터 일부 깊이로 채워질 것이고, 누락 값들에 대한 채움 효과들을 초래한다. 도 13a의 경우 2에 대하여, 기준값들은 0이 될 것이고, 타깃 영역은 제로 깊이로 대체될 것이고, 그 결과 이 조각은 제거될 것이다. 이러한 단일 절차로, 처리 시스템(132)은 원하는대로 두 효과들을 달성한다. 속도를 고려할 때, 이러한 근사는 동적 가림 핸들링에 충분하다. 그러나, 일 대안적인 예시적인 실시예에서, 처리 시스템(132)은 깊이값들을 추정하기 위해 외삽 프로세스를 구현하도록 구성된다.
일 예시적인 실시예에서, 깊이 맵 강화 프로세스(480)는 고도로 평행하다. 따라서, 처리 시스템(132)에 관하여, CPU, GPU, 또는 이들의 조합은 깊이 맵 강화 프로세스(480)를 수행할 수 있다. 일 예시적인 실시예에서, 에지-스냅핑은 깊이 에지점들(320A 및 320B)을 그들의 타깃 위치들(342A 및 342B)을 향한 방향들로 이동시킨다. 일 예시적인 실시예에서, 처리 시스템(132)은 에지-스냅핑의 영역들 내에 있는 깊이점들(또는 픽셀들)의 모두 또는 거의 모두를 처리하도록 구성된다. 깊이 맵 강화 프로세스(480) 후에, 프로세스(400)는 안경 뷰 렌더링 프로세스(490)를 포함한다.
도 14 및 도 15a 내지 도 15c는 안경 뷰(212)에서 동적 가림 효과들을 달성하도록 구성된 안경 뷰 렌더링 프로세스(490)에 관한 것이다. 구체적으로, 도 14는 일 예시적인 실시예에 따른 안경 뷰 렌더링 프로세스(490)의 일 예시적인 구현(1400)의 흐름도이다. 일 예시적인 실시예에서, CPU, GPU, 또는 그의 조합은 이러한 예시적인 구현(1400)을 수행할 수 있다. 예를 들면, 일 예시적인 실시예에서, 속도에 대하여, 처리 시스템(132)의 GPU는 안경 뷰 렌더링 프로세스(490)를 수행하도록 구성된다. 또한, 도 15a 내지 도 15c는 예시적인 구현(1400)의 특정 양태들의 예들을 도시한다.
단계(1402)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 깊이 데이터를 비디오 뷰(200)로부터 안경 뷰(212)로 변환한다. 일 예시적인 실시예에서, 예를 들면, 변환은 AR 애플리케이션들, 예컨대 ARToolKit 또는 기타 유사한 소프트웨어 프로그램들에 대한 소프트웨어 기술을 사용한 교정을 통해 획득된다. 비디오 뷰(200)와 안경 뷰(212) 사이의 차이로 인해, 도 15a에 도시된 바와 같이 빈 영역들(홀들)이 생성될 수 있다. 여기서, 곡선(1500)은 물체 표면을 나타낸다. 또한, 도 15a에서, 점(p1) 및 점(p2)은 비디오 뷰(200)에서 가까운 점들로 투사되는 표면상에 있고, p1은 p2보다 더 멀다. 안경 뷰(212)에서, 이러한 뷰 변경으로 인해, p2 부근의 점(또는 픽셀)은 광선(R)을 따르고, 이 경우에는 직접 깊이 측정이 없다. 깊이를 획득하기 위한 한 가지 방식은 점(p1)과 점(p2) 사이의 보간법을 사용하여 점(p4)으로 끝나는 것이다. 그러나, 이러한 보간은 가림 핸들링에 문제가 될 수 있다. 이에 관하여, 예를 들면, 가상 물체(202)가 도 15b에 도시된 바와 같은 위치에 배치될 때, 점(p4)은 가상 물체(202)를 가릴 것이다. 본질적으로, 이러한 경우에, 어떠한 사전 정보도 없이 광선(R)을 따른 실제 깊이에 관한 정보가 없다. 뷰 합성에도 사용되는 더 안전한 방법은, 점(p1)과 점(p2) 사이의 더 큰 깊이를 추정치로 취하여, 도 15c에 도시된 바와 같이 점(p3)을 얻는 것이다. 따라서, 이 전략에 따라, 처리 시스템(132)은 안경 뷰(212)에서 깊이 테스트하기 전에 장면 깊이를 비디오 뷰(200)로부터 안경 뷰(212)로 변환할 때 다수의 동작들을 수행한다.
단계(1404)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 이미지 그리드상의 모든 또는 실질적으로 모든 점들(또는 픽셀들)을 삼각형화하고, 강화된 깊이 맵을 깊이 텍스처로 삼각형 메쉬로서 렌더링한다.
단계(1406)에서, 일 예시적인 실시예에서, 이러한 렌더링 동안, 처리 시스템(132)은 특정 임계값보다 긴 에지를 갖는 삼각형들을 식별한다. 하나의 비제한적인 예로서, 임계값은 20 ㎜이다. 이에 관하여, 이들 삼각형들 내의 점들(또는 픽셀들)은 도 15a에 도시된 경우에 대응한다.
단계(1408)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 이러한 삼각형의 3개의 종점들 중에 이들 점들(또는 픽셀들)에 최대 깊이를 할당한다.
단계(1410)에서, 일 예시적인 실시예에서, 처리 시스템(132)은 동적 가림 핸들링을 위한 깊이들을 렌더링한다. 이에 관하여, 예를 들면, 처리 시스템(132)은 OpenGL 쉐이더 또는 임의의 다른 소프트웨어 프로그램과 같은 적절한 소프트웨어 기술을 통해 이러한 프로세스를 구현하고 이러한 프로세스를 안경의 좌측 및 우측 뷰 모두에 적용하도록 구성된다.
상기에 논의된 바와 같이, 프로세스(400)는 RGB-D 카메라(112)에 의해 제공된 데이터에 영향을 주도록 구성된다. 더 구체적으로, 동적 가림 핸들링 시스템(120)은 대응하는 컬러 이미지를 향해 원시 깊이 데이터의 물체 경계를 스냅핑(또는 이동)하는 에지-스냅핑 알고리즘을 포함하고, 이후 에지-스냅핑 결과들에 기초하여 깊이 맵의 물체 경계를 강화시킨다. 이러한 에지-스냅핑은 원시 깊이 데이터의 사용이 경계들 주위의 구멍들, 낮은 해상도들, 및 상당한 잡음들을 포함할 수 있어서, AR을 포함하는 다양한 애플리케이션들에서 바람직하지 않은 시각적인 아티팩트들을 도입하므로 특히 유용하다. 강화된 깊이 맵은 이후 동적 가림 핸들링을 위한 가상 물체(202)를 이용한 깊이 테스팅에 사용된다. 또한, 이러한 동적 가림 핸들링으로부터 이익을 얻을 수 있는 몇 가지 AR 애플리케이션들이 있다. 비제한적인 예들로서, 이러한 동적 가림 핸들링은 적어도 다음의 2가지 AR 사용 경우들에 적용될 수 있다.
하나의 비제한적인 예로서, 제 1 AR 사용 경우는 사용자가 안내를 위해 AR 시스템을 사용하는 자동차 수리 애플리케이션을 포함한다. 이러한 예에서, 자동차 수리 애플리케이션은 3D 인쇄된 대시보드를 갖는 AR 장면(600)을 예로서 포함한다. 또한, AR 장면(600)은 가상 물체(202), 특히 가상 터치 스크린 및 방풍 유리를 포함한다. 평가 목적으로, 다음의 논의는 AR 장면(600)의 상이한 위치들에 사용자의 손(204)을 위치시키는 것을 포함한다. 일부 경우들에서, 사용자의 손(204)은 터치 스크린에 의해 가려져야 하지만 방풍 유리에는 그렇지 않아야 한다; 다른 한편에서는, 사용자의 손(204)은 양쪽 가상 물체들(202)을 모두 가려야 한다. 예시적인 결과들의 일부는 도 16a 내지 도 16c, 도 17(a) 내지 도 17(c), 및 도 18a 내지 도 18c에 도시된다.
도 16a 내지 도 16c, 도 17(a) 내지 도 17(c), 및 도 18a 내지 도 18c는 AR 보조 자동차 수리 시나리오에서 상이한 가림 핸들링 전략의 시각적 결과들을 도시한다. 구체적으로, 도 16a 내지 도 16c는 사용자의 손(204)이 2개의 가상 물체들(202)(예를 들면, 가상 터치스크린 및 가상 방풍 유리) 사이에 존재해야만 하는 경우를 도시한다. 도 16a는 임의의 가림 핸들링 없이 사용자의 손(204)에 관한 가상 물체들(202)의 시각적 결과들을 도시한다. 도 16a에 도시된 바와 같이, 두 개의 가상 물체들(202) 사이에 존재하는 대신에, 원하는대로, 사용자의 손(204)은 두 가상 물체들(202)에 의해 부적절하게 가려진다. 도 16b는 원시 깊이 데이터를 사용하여 가림 핸들링을 갖는 시각적 결과들을 도시한다. 도 16b에 도시된 바와 같이, AR 장면(600)은 화살표들(602)로 표시된 바와 같이, 다양한 시각적 아티팩트들과 같은 결함들을 겪는다. 대조적으로, 도 16c는 여기에 개시된 바와 같이, 강화된 깊이 맵을 사용하는 동적 가림 핸들링을 갖는 가상 물체들(202)의 시각적 결과들을 도시한다. 도 16c에 도시된 바와 같이, AR 장면(600)은 강화된 깊이 맵을 이용하여 동적 가림 핸들링이 수행될 때, 가상 물체들(202)에 관하여 더 양호하게 보존되고 적절히 위치되는 사용자의 손(204)에 대한 경계를 포함한다.
도 17(a) 내지 도 17(c)는 사용자의 손(204)이 가상 물체들(202)(예를 들면, 가상 터치스크린 및 가상 방풍 유리) 모두를 가려야만 하는 경우를 도시한다. 도 17(a)는 임의의 가림 핸들링 없이 사용자의 손(204)에 관한 가상 물체들(202)의 시각적 결과들을 도시한다. 도 17(a)에 도시된 바와 같이, 가상 물체(202) 앞에 존재하는 대신에, 원하는대로, 사용자의 손(204)은 양쪽 가상 물체들(202)에 의해 부적절하게 가려진다. 도 17(b)는 원시 깊이 데이터를 사용하여 가림 핸들링을 갖는 사용자의 손(204)에 관한 가상 물체들(202)의 시각적 결과들을 도시한다. 도 17(b)에 도시된 바와 같이, AR 장면(600)은 화살표들(602)로 표시된 바와 같이, 다양한 시각적 아티팩트들과 같은 결함들을 겪는다. 대조적으로, 도 17(c)는 여기에 개시된 바와 같이, 강화된 깊이 맵을 사용하여 동적 가림 핸들링을 갖는 사용자의 손(204)에 관한 가상 물체들(202)의 시각적 결과들을 도시한다. 도 17(c)에 도시된 바와 같이, AR 장면(600)은 동적 가림 핸들링이 강화된 깊이 맵으로 수행될 때, 가상 물체들(202)에 관하여 더 양호하게 보존되고 적절하게 위치되는 사용자의 손(204)에 대한 경계를 포함한다.
도 18a 내지 도 18c는 사용자의 손(204)이 적어도 2개의 가상 물체들(202)(예를 들면, 가상 터치스크린 및 가상 방풍 유리)를 가려야 하는 경우들을 도시한다. 도 18a는 임의의 가림 핸들링 없이, 사용자의 손(204)에 관한 가상 물체들(202)의 시각적 결과들을 도시한다. 도 18a에 도시된 바와 같이, 가상 물체들(202)의 앞에 존재하는 대신에, 원하는대로, 사용자의 손(204)의 손가락은 양쪽 가상 물체들(202)에 의해 부적절하게 가려진다. 도 18b는 원시 깊이 데이터를 사용하여 가림 핸들링을 갖는 사용자의 손(204)에 관한 가상 물체들(202)의 시각적 결과들을 도시한다. 대조적으로, 도 18c는 여기에 개시된 바와 같이, 강화된 깊이 맵을 사용하여 동적 가림 핸들링을 갖는 사용자의 손(204)에 관한 가상 물체들(202)의 시각적 결과들을 도시한다. 도 18c에 도시된 바와 같이, AR 장면(600)은 동적 가림 핸들링이 강화된 깊이 맵으로 수행될 때, 가상 물체들(202)에 관하여 더 양호하게 보존되고 적절히 위치되는 사용자의 손(204)에 대한 경계를 포함한다.
다른 비제한적인 예로서, 제 2 AR 사용 경우는 AR 게임을 포함한다. 예를 들면, AR 시스템을 이용한 보물 찾기 게임에서, 실제 장면은 놀이터 역할을 하고 가상 보물 상자는 실제 장면의 어딘가에 숨겨진 가상 물체(202)이다. 더 구체적으로, 이러한 예에서, 가상 보물 상자는 벽장 도어(606)의 뒤에 및 박스(604)의 뒤에 숨겨져 있다. 따라서, 이러한 AR 장면(600)에서, 숨겨진 가상 보물 상자를 발견할 수 있도록, 사용자는 벽장 도어(606)을 열고 박스(604)를 제거해야 한다.
그러나, 이러한 보물 찾기 게임에서, 적절한 동적 가림 핸들링이 없으면, 가상 보물 상자가 사용자에게 표시되어, 숨겨진 가상 보물 상자를 찾는 전체 게임 경험을 망친다. 깊이 센서로부터의 원시 깊이 데이터를 사용하여, 적절한 가림 핸들링 효과들이 달성될 수 있다. 그러나, 원시 깊이 데이터가 사용될 때, 시각적 아티팩트들이 이러한 AR 장면(600)에서 또한 관찰될 수 있다. 벽장 도어(606)와 박스(604) 사이의 가림에 의하여, 일반적으로 경계를 따라 누락된 깊이 값들이 존재한다. 사용자가 벽장 도어(606)를 열면, 시각적 아티팩트들이 관찰될 수 있다. 대조적으로, 프로세스(400)를 통해 강화된 깊이 맵들을 갖는 동적 가림 핸들링을 사용함으로써, 벽장 도어(606) 및 박스(604)의 경계들이 그들의 원하는 위치들로 스냅핑되고, 시각적 아티팩트들이 제거된다.
도 19a 내지 도 19c 및 도 20a 내지 도 20c는 AR 보물 찾기 시나리오에서의 상이한 가림 핸들링 전략들의 시각적 결과들을 도시한다. 이러한 예에서, 가상 물체(202)(예를 들면, 보물 상자)는 이러한 AR 장면(600)에서 박스(604) 뒤에 위치되어야 한다. 더 구체적으로, 도 19a 및 도 20a는 가림 핸들링 없는 시각 효과들을 도시한다. 어떠한 가림 핸들링도 없는, 도 19a 및 도 20a에서, 가상 물체(202)는 박스(604) 및 벽장 도어(606)를 가리고 따라서 의도된 바와 같이 박스(604) 뒤에 위치되지 않는다. 한편, 도 19b 및 도 20b에서, 원시 깊이 데이터에 대해 가림 핸들링을 적용할 때, 가상 물체(202)는 의도된 바와 같이 벽장 도어(606) 사이에 정확하게 위치되지만, 박스(604)를 잘못 가린다. 즉, 원시 깊이 맵(300)의 원시 깊이 데이터는 원형 영역들(608)에서 일부 값들을 명확히 누락하고, 따라서 가상 물체(202)는 이들 원형 영역들(608)에서 박스를 부정확하게 가린다. 도 19b 및 도 20b에 입증되는 이러한 경우에, 가상 물체(202)가 의도되지 않은 방식으로 실제 장면을 가릴 때, AR 장면(600)은 바람직하지 않은 아티팩트들을 겪는다. 대조적으로, 도 19c 및 도 20c는 강화된 깊이 맵들이 사용되고 AR 장면(600)에 기여하는 본 명세서에서 논의된 바와 같이 동적 가림 핸들링을 갖는 시각 효과들을 도시한다. 도 19c 및 도 20c의 AR 장면들(600)의 각각에 도시된 바와 같이, 가상 물체(202)는 적절한 방식으로 및 시각적 아티팩트들 없이 박스(604)와 벽장 도어(606) 모두의 뒤에 렌더링된다. 즉, 동적 가림 핸들링과 함께, 사용자는 적절하고 사실적인 AR 경험을 제공받는다.
도 21a 내지 도 23d는 컬러 이미지들, 원시 깊이 맵들, 및 개선된 깊이 맵들에서의 물체 경계들을 도시한다. 구체적으로, 도 21a, 도 21b, 도 21c 및 도 21d의 각각은 사용자의 손(204)의 실측 자료 경계(800)를 갖는 컬러 이미지(302)이다. 이에 관하여, 도 21a, 도 21b, 도 21c 및 도 21d의 각각은 상이한 손 제스처들 및/또는 배경 장면을 나타낸다. 도 22a 내지 도 22d 및 도 23a 내지 도 23d로 돌아오면, 이들 예시들은 예를 들면, 표준 JET 컬러 방식을 이용하고, 대응하는 컬러 이미지들(302)은 그들의 대응하는 깊이 맵들(300)을 오버레이한다. 더 구체적으로, 도 22a 내지 도 22d는 원시 깊이 맵들(300)을 포함하고, 도 23a 내지 도 23d는 강화된 깊이 맵들(900)을 포함한다. 도 23a 내지 도 23d와 도 22a 내지 도 22d의 비교에 의해 입증된 바와 같이, 강화된 깊이 맵들(900)에서의 손들(204)의 물체 경계들(902)은 원시 깊이 맵들(300)에서 손들(204)의 물체 경계들(312)보다 실측 자료 경계(800)에 더 가깝게 대응한다. 즉, 강화된 깊이 맵들(900)은 개선된 물체 경계들(902)을 제공함으로써, 개선된 AR 경험을 초래하는 동적 가림 핸들링을 달성한다.
또한, 도 21a 내지 도 21d는 원래 컬러 이미지(302) 위에 손(204)의 원하는 실측 자료 경계(800)를 가시화한다. 이상적으로, 깊이 맵들에서의 물체 경계는 이러한 곡선과 매칭되어야 한다. 그러나, 도 22a 내지 도 22d에 도시된 바와 같이, 원시 깊이 맵들(300)은 다양한 유형들의 잡음들 및 누락된 값들을 겪어서, 실측 자료 경계(800)와의 불일치를 초래한다. 예를 들면, 도 22b에서, 손바닥 영역에 구멍이 있어, 거짓 물체 경계를 생성한다. 한편, 도 23a 내지 도 23d는 깊이 맵 강화 후의 예시적인 실시예들의 결과들을 나타낸다. 도 23a 내지 도 23d의 결과들에 의해 보여진 바와 같이, 프로세스(400)는 이미지 데이터(예를 들면, RGB 데이터)와 깊이 데이터 사이의 물체들의 경계들의 일관성을 향상시킨다.
상기 논의된 바와 같이, 시스템(100)은 동적 가림 핸들링을 제공하여, AR 애플리케이션들에서 정확한 깊이 지각을 가능하게 한다. 따라서, 동적 가림 핸들링은 사실적이고 몰입형 AR 경험을 보장한다. 통상, 기존 솔루션들은 일반적으로 다양한 제한 사항들, 예를 들면, 정적 장면 가정 또는 높은 계산 복잡성을 겪고 있다. 대조적으로, 이러한 시스템(100)은 AR 애플리케이션들에서 동적 가림 핸들링을 위한 깊이 맵 강화 프로세스(480)를 포함하는 프로세스(400)를 구현하도록 구성된다. 이롭게는, 이러한 시스템(100)은 RGB 데이터와 깊이 데이터 사이의 물체 경계들의 정합성을 향상시키는 이산 최적화로서 공식화된 에지-스냅핑 방식을 구현한다. 일 예시적인 실시예에서, 시스템(100)은 동적 프로그래밍을 통해 최적화 문제를 효율적으로 해결한다. 또한, 시스템(100)은 컴퓨팅 플랫폼(예를 들면, 태블릿 플랫폼)상에서 대화식 레이트로 실행되도록 구성된다. 또한, 시스템(100)은 비디오 뷰(200)(데이터 획득 센서)와 안경 뷰(212) 사이의 차이들로부터 기인하는 보간으로 인한 구멍들 및 아티팩트들을 피하기 위해 안경 뷰(212)에 대한 렌더링 전략을 제공한다. 또한, 실험 평가들은 이러한 에지-스냅핑 방식이 원시 센서 데이터를 크게 향상시키고 속도와 품질면에서 여러 가지 관련 방식들에 비해 특히 적합하다는 것을 입증한다. 또한, 전체 이미지에 초점을 맞추는 다른 방식들과는 달리, 이러한 프로세스(400)는 에지 영역들에 유리하게 초점을 맞춘다. 더욱이, 시스템(100)은 사용자 상호 작용 동안 시각적으로 만족스러운 동적 가림 효과들을 전달한다.
전술한 바와 같이, 일 예시적인 실시예에서, 시스템(100)은 주로 이미지 경사도들에 기초하여 깊이 맵들과 컬러 이미지들 사이에서 에지-스냅핑을 수행하도록 구성된다. 추가로 또는 대안으로, 깊이 센서(114)로부터의 센서 데이터의 특성들이 대응하는 원하는 컬러 에지들에 가까운 원시 깊이 에지들을 제공할 때, 시스템(100)은 분할을 위해 개별적인 물체들의 컬러 특성을 모델링하도록 구성된다. 추가로 또는 대안으로, 시스템(100)은 어수선한 장면과 같은 복잡한 시나리오들을 더 잘 수용하기 위해, 컬러 분포들 또는 다른 관련 데이터의 것과 같은 이미지 경사도들 이외의 다른 정보를 고려함으로써 전술한 에너지 함수를 더욱 향상시키도록 구성된다. 추가로 또는 대안으로, 시스템(100)은 시간 정보를 고려하고 포함할 수 있다. 추가로 또는 대안으로, 시스템(100)은 에지-스냅핑 프레임워크의 견고성을 향상시키기 위해 이동 물체들의 명시적인 추적을 포함할 수 있다.
즉, 상기 설명은 예시적이고 제한적인 것은 아니고, 특정 애플리케이션 및 그의 요구 사항들의 환경에서 제공되도록 의도된다. 당업자는 전술한 설명으로부터 본 발명이 다양한 형태들로 구현될 수 있고 다양한 실시예들이 단독으로 또는 조합되어 구현될 수 있다는 것을 알 수 있다. 따라서, 본 발명의 실시예들이 그의 특정 예들과 관련하여 기술되었지만, 본 명세서에서 정의된 일반적인 원리들은 설명된 실시예들의 사상 및 범위를 벗어나지 않고 다른 실시예들 및 애플리케이션들에 적용될 수 있고, 도면, 상세한 설명 및 청구 범위의 연구시에 다양한 변경들이 당업자에게 명백할 것이므로, 본 발명의 실시예들 및/또는 방법들의 진실한 범위는 도시되고 설명된 실시예들로 제한되지 않는다. 예를 들면, 구성 요소들 및 기능성은 다양한 설명된 실시예들의 방식과는 다른 방식으로 분리되거나 결합될 수 있고, 상이한 용어를 사용하여 설명될 수 있다. 이들 및 다른 변형들, 수정들, 추가들, 및 개선들은 후속하는 청구 범위에 정의된 바와 같은 개시의 범위 내에 있을 수 있다.
Claims (20)
- 컴퓨팅 시스템에 있어서,
적어도 하나의 처리 유닛을 포함하는 처리 시스템을 포함하고,
상기 처리 시스템은:
물체의 제 1 경계를 갖는 깊이 맵을 수신하는 단계;
상기 깊이 맵에 대응하는 컬러 이미지를 수신하는 단계로서, 상기 컬러 이미지는 상기 물체의 제 2 경계를 포함하는, 상기 컬러 이미지를 수신하는 단계;
상기 깊이 맵으로부터 상기 제 1 경계의 깊이 에지점들을 추출하는 단계;
상기 깊이 맵상의 타깃 깊이 에지점들을 식별하는 단계로서, 상기 타깃 깊이 에지점들은 상기 컬러 이미지에서 상기 물체의 상기 제 2 경계의 컬러 에지점들에 대응하는, 상기 타깃 깊이 에지점들을 식별하는 단계; 및
상기 깊이 맵이 상기 물체에 대한 물체 경계로 강화되도록 상기 깊이 에지점들을 상기 타깃 깊이 에지점들을 향하여 스냅핑(snapping)하는 단계를 포함하는 방법을 구현하도록 구성되는, 컴퓨팅 시스템. - 제 1 항에 있어서,
상기 처리 시스템은 깊이 센서 및 카메라를 포함하는 헤드 장착형 디스플레이와 통신하고;
상기 처리 시스템은 상기 깊이 센서로부터 상기 깊이 맵 및 상기 카메라로부터 상기 컬러 이미지를 수신하는, 컴퓨팅 시스템. - 제 1 항에 있어서,
상기 처리 시스템은:
(a) 상기 깊이 에지점들을 그룹으로 그룹화하고;
(b) 상기 그룹 내의 상기 깊이 에지점들을 순서화하고;
(c) 저역 통과 필터를 사용하여 상기 깊이 에지점들의 2D 위치들을 평탄화하고;
(d) 상기 깊이 에지점들에 대한 2D 법선 세그먼트들을 계산하도록 구성되는, 컴퓨팅 시스템. - 제 3 항에 있어서,
상기 처리 시스템은 적어도 이미지 경사도 데이터에 기초하여 상기 컬러 이미지들에서 상기 컬러 에지점들에 대한 후보 검색을 수행하도록 구성되고, 상기 후보 검색은 상기 깊이 맵의 상기 2D 법선 세그먼트들에 대응하는 상기 컬러 이미지상의 미리 결정된 범위의 점들 내에 있는, 컴퓨팅 시스템. - 제 1 항에 있어서,
상기 처리 시스템은,
(a) 상기 깊이 에지점들을 상기 타깃 깊이 에지점들로 이동시키기 위한 최적 경로들을 결정하기 위해 데이터 비용들 및 평탄화 비용들을 고려하면서 이산 최적화 계산들을 수행하고;
(b) 상기 최적 경로들을 따라 상기 깊이 에지점들을 상기 타깃 깊이 에지점들로 이동시키도록 구성되는, 컴퓨팅 시스템. - 제 1 항에 있어서,
상기 처리 시스템은 상기 강화된 깊이 맵에 기초하여 동적 가림 핸들링(dynamic occlusion handling)을 수행하도록 구성되는, 컴퓨팅 시스템. - 제 1 항에 있어서,
상기 처리 시스템은 증강 현실 애플리케이션을 위해 상기 강화된 깊이 맵의 깊이 데이터를 비디오 뷰로부터 안경 뷰로 변환하도록 구성되는, 컴퓨팅 시스템. - 동적 가림 핸들링을 위한 시스템에 있어서,
깊이 맵을 제공하기 위한 깊이 센서;
컬러 이미지를 제공하기 위한 카메라; 및
적어도 하나의 처리 유닛을 포함하는 처리 시스템을 포함하고,
상기 처리 시스템은,
물체의 제 1 경계를 갖는 상기 깊이 맵을 수신하는 단계;
상기 물체의 제 2 경계를 포함하는, 상기 깊이 맵에 대응하는 컬러 이미지를 수신하는 단계;
상기 깊이 맵으로부터 상기 제 1 경계의 깊이 에지점들을 추출하는 단계;
상기 깊이 맵상의 타깃 깊이 에지점들을 식별하는 단계로서, 상기 타깃 깊이 에지점들은 상기 컬러 이미지에서 상기 물체의 상기 제 2 경계의 컬러 에지점들에 대응하는, 상기 타깃 깊이 에지점들을 식별하는 단계; 및
상기 깊이 맵이 상기 물체에 대한 물체 경계로 강화되도록 상기 깊이 에지점들을 상기 타깃 깊이 에지점들을 향하여 스냅핑하는 단계를 포함하는 방법을 구현하도록 구성되는, 동적 가림 핸들링을 위한 시스템. - 제 8 항에 있어서,
상기 깊이 센서 및 상기 카메라가 장착된 헤드 장착형 디스플레이를 더 포함하는, 동적 가림 핸들링을 위한 시스템. - 제 8 항에 있어서,
상기 처리 시스템은:
(a) 상기 깊이 에지점들을 그룹으로 그룹화하고;
(b) 상기 그룹 내의 상기 깊이 에지점들을 순서화하고;
(c) 저역 통과 필터를 사용하여 상기 깊이 에지점들의 2D 위치들을 평탄화하고;
(d) 상기 깊이 에지점들에 대한 2D 법선 세그먼트들을 계산하도록 구성되는, 동적 가림 핸들링을 위한 시스템. - 제 8 항에 있어서,
상기 처리 시스템은 적어도 이미지 경사도 데이터에 기초하여 상기 컬러 이미지 내의 상기 컬러 에지점들에 대한 후보 검색을 수행하도록 구성되고, 상기 후보 검색은 상기 깊이 맵의 상기 2D 법선 세그먼트에 대응하는 상기 컬러 이미지상의 미리 결정된 범위의 점들 내에 있는, 동적 가림 핸들링을 위한 시스템. - 제 8 항에 있어서,
상기 처리 시스템은,
(a) 상기 깊이 에지점들을 상기 타깃 깊이 에지점들로 이동시키기 위한 최적 경로들을 결정하기 위해 데이터 비용들 및 평탄화 비용들을 고려하면서 이산 최적화 계산들을 수행하는 단계; 및
(b) 상기 깊이 에지점을 상기 최적 경로들을 따라 상기 타깃 깊이 에지점들로 이동시키도록 구성되는, 동적 가림 핸들링을 위한 시스템. - 제 8 항에 있어서,
상기 처리 시스템은 상기 강화된 깊이 맵에 기초하여 동적 가림 핸들링을 수행하도록 구성되는, 동적 가림 핸들링을 위한 시스템. - 제 8 항에 있어서,
상기 처리 시스템은 증강 현실 애플리케이션을 위해 상기 강화된 깊이 맵의 깊이 데이터를 비디오 뷰로부터 안경 뷰로 변환하도록 구성되는, 동적 가림 핸들링을 위한 시스템. - 컴퓨터 구현 방법에 있어서,
물체의 제 1 경계를 갖는 깊이 맵을 수신하는 단계;
상기 깊이 맵에 대응하는 컬러 이미지를 수신하는 단계로서, 상기 컬러 이미지는 상기 물체의 제 2 경계를 포함하는, 상기 컬러 이미지를 수신하는 단계;
상기 깊이 맵으로부터 상기 제 1 경계의 깊이 에지점들을 추출하는 단계;
상기 깊이 맵상의 타깃 깊이 에지점들을 식별하는 단계로서, 상기 타깃 깊이 에지점들은 상기 컬러 이미지에서 상기 물체의 상기 제 2 경계의 컬러 에지점들에 대응하는, 상기 타깃 깊이 에지점들을 식별하는 단계; 및
상기 깊이 맵이 상기 물체에 대한 물체 경계로 강화되도록 상기 깊이 에지점들을 상기 타깃 깊이 에지점들로 스냅핑하는 단계를 포함하는, 컴퓨터 구현 방법. - 제 15 항에 있어서,
상기 깊이 에지점들을 그룹으로 그룹화하는 단계;
상기 깊이 에지점들의 그룹을 순서화하는 단계;
저역 통과 필터를 사용하여 상기 깊이 에지점들의 2D 위치들을 평탄화하는 단계; 및
상기 깊이 에지점들에 대한 2D 법선 세그먼트들을 계산하는 단계를 더 포함하는, 컴퓨터 구현 방법. - 제 15 항에 있어서,
이미지 경사도 데이터에 적어도 기초하여 상기 컬러 이미지 내 컬러 에지점들에 대한 후보 검색을 수행하는 단계를 더 포함하고, 상기 후보 검색은 상기 깊이 맵의 상기 2D 법선 세그먼트에 대응하는 상기 컬러 이미지상의 미리 결정된 범위의 점들 내에 있는, 컴퓨터 구현 방법. - 제 15 항에 있어서,
상기 깊이 에지점들을 상기 타깃 깊이 에지점들로 스냅핑하기 위해 최적 경로들을 결정하기 위해 데이터 비용들 및 평탄도 비용들을 고려하면서 이산 최적화 계산들을 수행하는 단계를 더 포함하고,
상기 깊이 에지점들은 상기 최적 경로들을 따라 상기 타깃 깊이 에지점들을 향해 스냅핑되는, 컴퓨터 구현 방법. - 제 15 항에 있어서,
상기 강화된 깊이 맵에 기초하여 동적 가림 핸들링을 수행하는 단계를 더 포함하는, 컴퓨터 구현 방법. - 제 15 항에 있어서,
증강 현실 애플리케이션을 위해 상기 강화된 깊이 맵의 깊이 데이터를 비디오 뷰로부터 안경 뷰로 변환하는 단계를 더 포함하는, 컴퓨터 구현 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662354891P | 2016-06-27 | 2016-06-27 | |
US62/354,891 | 2016-06-27 | ||
PCT/US2017/039278 WO2018005359A1 (en) | 2016-06-27 | 2017-06-26 | Systems and methods for dynamic occlusion handling |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190014105A true KR20190014105A (ko) | 2019-02-11 |
KR102337931B1 KR102337931B1 (ko) | 2021-12-13 |
Family
ID=60675555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197002344A KR102337931B1 (ko) | 2016-06-27 | 2017-06-26 | 동적 가림 핸들링을 위한 시스템들 및 방법들 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10706613B2 (ko) |
EP (1) | EP3475923A4 (ko) |
JP (1) | JP6813600B2 (ko) |
KR (1) | KR102337931B1 (ko) |
CN (1) | CN109844819A (ko) |
AU (1) | AU2017288933B2 (ko) |
BR (1) | BR112018077095A8 (ko) |
WO (1) | WO2018005359A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210108897A (ko) * | 2020-02-25 | 2021-09-03 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 에지를 기반으로 하는 증강현실 3차원 추적 등록 방법, 장치 및 전자 기기 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10645357B2 (en) * | 2018-03-01 | 2020-05-05 | Motorola Mobility Llc | Selectively applying color to an image |
US10643336B2 (en) * | 2018-03-06 | 2020-05-05 | Sony Corporation | Image processing apparatus and method for object boundary stabilization in an image of a sequence of images |
CN109035375B (zh) * | 2018-06-22 | 2023-11-10 | 广州久邦世纪科技有限公司 | 一种基于OpenGL的3D眼镜渲染方法及其系统 |
CN110072046B (zh) * | 2018-08-24 | 2020-07-31 | 北京微播视界科技有限公司 | 图像合成方法和装置 |
US11227446B2 (en) * | 2019-09-27 | 2022-01-18 | Apple Inc. | Systems, methods, and graphical user interfaces for modeling, measuring, and drawing using augmented reality |
US11348319B1 (en) * | 2020-01-22 | 2022-05-31 | Facebook Technologies, Llc. | 3D reconstruction of a moving object |
US11107280B1 (en) * | 2020-02-28 | 2021-08-31 | Facebook Technologies, Llc | Occlusion of virtual objects in augmented reality by physical objects |
JP2022123692A (ja) * | 2021-02-12 | 2022-08-24 | ソニーグループ株式会社 | 画像処理装置、画像処理方法、画像処理システム |
US11941764B2 (en) | 2021-04-18 | 2024-03-26 | Apple Inc. | Systems, methods, and graphical user interfaces for adding effects in augmented reality environments |
US11741671B2 (en) | 2021-06-16 | 2023-08-29 | Samsung Electronics Co., Ltd. | Three-dimensional scene recreation using depth fusion |
US11887267B2 (en) | 2021-07-07 | 2024-01-30 | Meta Platforms Technologies, Llc | Generating and modifying representations of hands in an artificial reality environment |
US20240289929A1 (en) * | 2021-10-28 | 2024-08-29 | Intel Corporation | Methods and apparatus to perform mask-based depth enhancement for multi-view systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140015239A (ko) * | 2010-06-29 | 2014-02-06 | 쓰리세이프 에이/에스 | 2d 영상 장치 |
KR20150117646A (ko) * | 2013-02-14 | 2015-10-20 | 엘에스아이 코포레이션 | 적어도 하나의 추가적인 이미지를 사용한 이미지 향상과 에지 검증을 위한 방법 및 장치 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7787678B2 (en) * | 2005-10-07 | 2010-08-31 | Siemens Corporation | Devices, systems, and methods for processing images |
JP4789745B2 (ja) | 2006-08-11 | 2011-10-12 | キヤノン株式会社 | 画像処理装置および方法 |
US10198792B2 (en) * | 2009-10-14 | 2019-02-05 | Dolby Laboratories Licensing Corporation | Method and devices for depth map processing |
US8787663B2 (en) * | 2010-03-01 | 2014-07-22 | Primesense Ltd. | Tracking body parts by combined color image and depth processing |
US8774267B2 (en) | 2010-07-07 | 2014-07-08 | Spinella Ip Holdings, Inc. | System and method for transmission, processing, and rendering of stereoscopic and multi-view images |
US9122053B2 (en) * | 2010-10-15 | 2015-09-01 | Microsoft Technology Licensing, Llc | Realistic occlusion for a head mounted augmented reality display |
KR101972356B1 (ko) * | 2010-12-21 | 2019-04-25 | 한국전자통신연구원 | 상반신 검출장치 및 검출방법 |
US9349169B2 (en) * | 2012-05-17 | 2016-05-24 | The Regents Of The University Of California | Sampling-based multi-lateral filter method for depth map enhancement and codec |
US9036907B2 (en) | 2012-07-16 | 2015-05-19 | Mitsubishi Electric Research Laboratories, Inc. | Method and apparatus for extracting depth edges from images acquired of scenes by cameras with ring flashes forming hue circles |
US10455219B2 (en) | 2012-11-30 | 2019-10-22 | Adobe Inc. | Stereo correspondence and depth sensors |
US9514574B2 (en) | 2013-08-30 | 2016-12-06 | Qualcomm Incorporated | System and method for determining the extent of a plane in an augmented reality environment |
US9363499B2 (en) * | 2013-11-15 | 2016-06-07 | Htc Corporation | Method, electronic device and medium for adjusting depth values |
US9754377B2 (en) * | 2014-08-15 | 2017-09-05 | Illinois Institute Of Technology | Multi-resolution depth estimation using modified census transform for advanced driver assistance systems |
JP2016048467A (ja) | 2014-08-27 | 2016-04-07 | Kddi株式会社 | 運動視差再現方法、装置およびプログラム |
US9824412B2 (en) * | 2014-09-24 | 2017-11-21 | Intel Corporation | Position-only shading pipeline |
US20160140761A1 (en) | 2014-11-19 | 2016-05-19 | Microsoft Technology Licensing, Llc. | Using depth information for drawing in augmented reality scenes |
-
2017
- 2017-06-26 US US15/633,221 patent/US10706613B2/en active Active
- 2017-06-26 CN CN201780052439.0A patent/CN109844819A/zh active Pending
- 2017-06-26 KR KR1020197002344A patent/KR102337931B1/ko active IP Right Grant
- 2017-06-26 BR BR112018077095A patent/BR112018077095A8/pt active Search and Examination
- 2017-06-26 JP JP2018567839A patent/JP6813600B2/ja active Active
- 2017-06-26 WO PCT/US2017/039278 patent/WO2018005359A1/en unknown
- 2017-06-26 AU AU2017288933A patent/AU2017288933B2/en active Active
- 2017-06-26 EP EP17821009.2A patent/EP3475923A4/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140015239A (ko) * | 2010-06-29 | 2014-02-06 | 쓰리세이프 에이/에스 | 2d 영상 장치 |
KR20150117646A (ko) * | 2013-02-14 | 2015-10-20 | 엘에스아이 코포레이션 | 적어도 하나의 추가적인 이미지를 사용한 이미지 향상과 에지 검증을 위한 방법 및 장치 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210108897A (ko) * | 2020-02-25 | 2021-09-03 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 에지를 기반으로 하는 증강현실 3차원 추적 등록 방법, 장치 및 전자 기기 |
US11574414B2 (en) | 2020-02-25 | 2023-02-07 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Edge-based three-dimensional tracking and registration method and apparatus for augmented reality, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP2019526847A (ja) | 2019-09-19 |
US10706613B2 (en) | 2020-07-07 |
BR112018077095A8 (pt) | 2023-04-04 |
WO2018005359A1 (en) | 2018-01-04 |
AU2017288933B2 (en) | 2021-09-23 |
BR112018077095A2 (pt) | 2019-04-02 |
EP3475923A1 (en) | 2019-05-01 |
EP3475923A4 (en) | 2020-01-01 |
KR102337931B1 (ko) | 2021-12-13 |
US20170372510A1 (en) | 2017-12-28 |
CN109844819A (zh) | 2019-06-04 |
AU2017288933A1 (en) | 2019-02-14 |
JP6813600B2 (ja) | 2021-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102337931B1 (ko) | 동적 가림 핸들링을 위한 시스템들 및 방법들 | |
Du et al. | Edge snapping-based depth enhancement for dynamic occlusion handling in augmented reality | |
CN109003325B (zh) | 一种三维重建的方法、介质、装置和计算设备 | |
Dhamo et al. | Peeking behind objects: Layered depth prediction from a single image | |
CN115699114B (zh) | 用于分析的图像增广的方法和装置 | |
TWI536318B (zh) | 深度測量之品質提升 | |
EP1969560B1 (en) | Edge-controlled morphological closing in segmentation of video sequences | |
EP1969562B1 (en) | Edge-guided morphological closing in segmentation of video sequences | |
CN109462747B (zh) | 基于生成对抗网络的dibr系统空洞填充方法 | |
US20090028432A1 (en) | Segmentation of Video Sequences | |
CN108351864A (zh) | 成凹几何密铺 | |
Gupta et al. | Real-time stereo matching using adaptive binary window | |
WO2012071356A1 (en) | Depth estimation based on global motion | |
WO2012074852A1 (en) | Depth estimation based on global motion | |
CN107808388B (zh) | 包含运动目标的图像处理方法、装置及电子设备 | |
US11682234B2 (en) | Texture map generation using multi-viewpoint color images | |
JP2021056679A (ja) | 画像処理装置、方法及びプログラム | |
WO2020130070A1 (ja) | 検出装置、情報処理装置、検出方法、及び情報処理プログラム | |
Hernandez et al. | Near laser-scan quality 3-D face reconstruction from a low-quality depth stream | |
KR101099648B1 (ko) | 입체 영상에서의 폐색을 처리하는 입체 정합 시스템 및 방법, 폐색 처리 알고리즘을 기록한 컴퓨터에 의해 판독가능한 매체 | |
KR20110021500A (ko) | 이동객체의 실시간 추적과 거리 측정 방법 및 그 장치 | |
CN114494611A (zh) | 基于神经基函数的智能三维重建方法、装置、设备及介质 | |
JP2017102896A (ja) | シーンにおける光源の反射率パラメータ及び位置を推定する方法及び装置 | |
CN118196135A (zh) | 图像处理方法、装置、存储介质、设备及程序产品 | |
Camplani et al. | Accurate depth-color scene modeling for 3D contents generation with low cost depth cameras |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |