KR101532854B1 - Using occlusions to detect and track three-dimensional objects - Google Patents
Using occlusions to detect and track three-dimensional objects Download PDFInfo
- Publication number
- KR101532854B1 KR101532854B1 KR1020137022014A KR20137022014A KR101532854B1 KR 101532854 B1 KR101532854 B1 KR 101532854B1 KR 1020137022014 A KR1020137022014 A KR 1020137022014A KR 20137022014 A KR20137022014 A KR 20137022014A KR 101532854 B1 KR101532854 B1 KR 101532854B1
- Authority
- KR
- South Korea
- Prior art keywords
- shape
- region
- interest
- image
- determining
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/10016—Video; Image sequence
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
- G06T2207/30208—Marker matrix
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
모바일 플랫폼이 2 차원 (2D) 표면의 폐색들을 이용해 3 차원 (3D) 오브젝트를 검출하여 추적한다. 3D 오브젝트를 검출하여 추적하기 위해, 3D 오브젝트를 갖는 2D 표면의 이미지가 캡쳐되어 디스플레이되고, 2D 표면이 검출되어 추적된다. 2D 표면 상의 관심 영역으로 지정된 구역의 폐색이 검출된다. 3D 오브젝트의 형상은 미리 결정된 형상에 기초하거나, 2D 표면에 대한 카메라의 포지션에 따라 가려진 2D 표면의 영역의 형상을 이용하여 결정되어, 형상이 산출된다. 2D 표면의 관심 영역의 위치 및 3D 오브젝트의 형상에 기초하여 디스플레이된 3D 오브젝트 상에 또는 그 근처에 그래픽 오브젝트를 렌더링하여 디스플레이하는 것과 같은, 2D 표면 상의 3D 오브젝트의 포지션에 대해 임의의 원하는 동작이 수행될 수도 있다.The mobile platform detects and tracks three-dimensional (3D) objects using occlusions of two-dimensional (2D) surfaces. To detect and track the 3D object, an image of the 2D surface with the 3D object is captured and displayed, and the 2D surface is detected and tracked. Closure of the region designated as the region of interest on the 2D surface is detected. The shape of the 3D object is determined based on a predetermined shape or using the shape of the area of the 2D surface obscured by the position of the camera with respect to the 2D surface, and the shape is calculated. Any desired action is performed on the position of the 3D object on the 2D surface, such as rendering and displaying the graphical object on or near the displayed 3D object based on the position of the region of interest of the 2D surface and the shape of the 3D object .
Description
증강 현실 (augmented reality; AR) 애플리케이션들에서, 실세계의 오브젝트는 이미지 또는 텍스트 정보와 같은 컴퓨터로 생성된 정보와 함께 스크린 상에 이미지화되어 디스플레이된다. AR 에서, 이미지화된 실세계 오브젝트들이 검출되고 추적되어, 오브젝트에 대한 카메라의 포지션 및 방향 (포즈) 정보를 결정한다. 이러한 정보는 그래픽 오브젝트를 정확하게 렌더링하여 실세계 오브젝트와 함께 디스플레이하도록 하는데 이용된다. 검출되어 추적되는 실세계 오브젝트들은 일반적으로 2 차원 (two-dimensional; 2D) 오브젝트들이다. 3 차원 (three-dimensional; 3D) 오브젝트들을 검출하여 추적하는 것은 2D 표면들을 검출하여 추적하는 것과 비교하여 알고리즘적으로 보다 복잡하고 계산상 매우 비용이 많이 든다. 데스트탑 컴퓨터 상에서, 풀 3D 추적은 일반적으로 오브젝트의 기하학적 구조로부터 전체 3D 오브젝트를 인식함으로써 수행된다. 스마트 폰들과 같은 모바일 플랫폼들 상에서의 제한된 프로세싱 능력으로 인해, 모바일 플랫폼들용 풀 3D 오브젝트 추적 솔루션은 없다. 그러나, 2D 이미지들이나 평면들이 아니라 실세계에서의 3D 오브젝트들에 맞춘 강렬한 사용자 경험들을 구축하기 위해 AR 애플리케이션들에서 3D 오브젝트 검출 및 추적은 중요한 목표로 남아 있다.In augmented reality (AR) applications, real-world objects are imaged and displayed on a screen with computer generated information such as image or text information. At the AR, imaged real-world objects are detected and tracked to determine camera position and orientation (pose) information for the object. This information is used to render the graphic object accurately and to display it together with the real-world object. Real-world objects that are detected and tracked are generally two-dimensional (2D) objects. Detecting and tracking three-dimensional (3D) objects is algorithmically more complicated and computationally very costly as compared to detecting and tracking 2D surfaces. On a desktop computer, full 3D tracking is typically performed by recognizing the entire 3D object from the geometry of the object. Due to limited processing capability on mobile platforms such as smart phones, there is no full 3D object tracking solution for mobile platforms. However, 3D object detection and tracking remains an important goal in AR applications to build intense user experiences tailored to real-world 3D objects, not 2D images or planes.
따라서, 필요한 것은 3D 오브젝트들을 검출 및 추적하기 위한 개선된 방법이다.Thus, what is needed is an improved method for detecting and tracking 3D objects.
모바일 플랫폼이 2D 표면의 3D 오브젝트들 폐색을 이용해 3D 오브젝트를 검출하여 추적한다. 3D 오브젝트를 검출하여 추적하기 위해, 3D 오브젝트와 함께 2D 표면의 이미지가 캡쳐되어 디스플레이되고, 2D 표면에 대한 모바일 플랫폼의 포지션이 검출되어 추적된다. 2D 표면 상의 관심 영역으로 지정된 구역의 폐색이 검출된다. 3D 오브젝트의 형상은 미리 결정된 형상에 기초하거나, 2D 표면에 대한 모바일 플랫폼의 포지션과 함께 가려진 2D 표면의 영역의 형상을 이용하여 결정되어, 형상이 산출된다. 2D 표면의 관심 영역의 위치 및 3D 오브젝트의 형상에 기초하여 디스플레이된 3D 오브젝트 상에 또는 그 근처에 그래픽 오브젝트를 렌더링하여 디스플레이하는 것과 같은, 2D 표면 상의 3D 오브젝트의 포지션에 대해 임의의 원하는 동작이 수행될 수도 있다.The mobile platform detects and tracks 3D objects using the obliteration of 3D objects on the 2D surface. To detect and track the 3D object, an image of the 2D surface with the 3D object is captured and displayed, and the position of the mobile platform with respect to the 2D surface is detected and tracked. Closure of the region designated as the region of interest on the 2D surface is detected. The shape of the 3D object is determined based on a predetermined shape or by using the shape of the area of the 2D surface obscured with the position of the mobile platform with respect to the 2D surface, and the shape is calculated. Any desired action is performed on the position of the 3D object on the 2D surface, such as rendering and displaying the graphical object on or near the displayed 3D object based on the position of the region of interest of the 2D surface and the shape of the 3D object .
도 1a 및 도 1b 는 2D 표면의 폐색을 이용해 3D 오브젝트를 검출하여 추적할 수 있는 모바일 플랫폼의, 각각, 전면 및 후면을 도시한다.
도 2 는 2D 바둑판무늬 표면 및 3D 관형 오브젝트의 캡쳐된 이미지를 디스플레이하는 풍경 모드로 홀딩된 모바일 플랫폼의 전면을 도시한다.
도 3 은 모바일 플랫폼으로 2D 표면의 폐색들을 이용해 3D 오브젝트를 검출하여 추적하는 플로우 차트이다.
도 4 는 "관심 영역들" 로 지정된 2 개의 구역들을 갖는 이미지화된 2D 바둑판무늬 표면의 상면도를 도시한다.
도 5 는 2D 표면 및 3D 오브젝트의 이미지를 캡쳐하는 모바일 플랫폼의 측면도를 도시하고, 3D 오브젝트는 3D 오브젝트의 형상 및 2D 표면에 대한 모바일 플랫폼의 포즈에 기초하여 2D 표면의 영역을 가린다.
도 6 은 3D 오브젝트에 의해 가려진 2D 표면의 영역을 보여주는 2D 바둑판무늬 표면의 상면도를 도시한다.
도 7 은 렌더링되어 디스플레이된 그래픽 오브젝트들과 함께 2D 바둑판무늬 표면 및 3D 관형 오브젝트의 캡쳐된 이미지를 디스플레이하는 풍경 모드로 홀딩된 모바일 플랫폼의 전면을 도시한다.
도 8 은 2D 표면의 폐색들을 이용해 3D 오브젝트들을 검출하여 추적할 수 있는 모바일 플랫폼의 블록 다이어그램이다.Figures 1a and 1b illustrate front and rear views, respectively, of a mobile platform capable of detecting and tracking 3D objects using occlusion of a 2D surface.
Figure 2 shows a front view of a mobile platform held in landscape mode displaying a 2D image of a checkerboard surface and a captured image of a 3D tubular object.
Figure 3 is a flow chart for detecting and tracking 3D objects using occlusions of a 2D surface as a mobile platform.
Figure 4 shows a top view of an imaged 2D checkerboard surface having two zones designated as "areas of interest ".
Figure 5 shows a side view of a mobile platform for capturing an image of a 2D surface and a 3D object, wherein the 3D object shadows the area of the 2D surface based on the shape of the 3D object and the pose of the mobile platform to the 2D surface.
Figure 6 shows a top view of a 2D checkerboard surface showing the area of the 2D surface obscured by the 3D object.
Figure 7 shows a front view of a mobile platform held in landscape mode displaying a captured image of a 2D checkerboard surface and a 3D tubular object with graphics objects rendered and displayed.
Figure 8 is a block diagram of a mobile platform that can detect and track 3D objects using occlusions of a 2D surface.
도 1a 및 도 1b 는 2D 표면의 폐색 (occlusion) 들을 이용해 3D 오브젝트 (object) 들을 검출하여 추적할 수 있는 모바일 플랫폼 (100) 의, 각각, 전면 및 후면을 도시한다. 도 1a 및 도 1b 에서의 모바일 플랫폼 (100) 은 하우징 (101), 터치 스크린 디스플레이일 수도 있는 디스플레이 (102) 를 포함하는 것으로 도시된다. 모바일 플랫폼 (100) 은 또한, 예를 들어, 모바일 플랫폼 (100) 이 셀룰러 전화인 경우, 스피커 (104) 및 마이크 (106) 를 포함할 수도 있다. 모바일 플랫폼 (100) 은 디스플레이 (102) 상에 디스플레이되는 환경을 이미지화하기 위한 전방 카메라 (108) 를 더 포함한다. 모바일 플랫폼 (100) 은 가속도계들, 자이로스코프들 등과 같은 모션 센서들 (110) 을 더 포함할 수도 있으며, 이는, 모바일 플랫폼 (100) 또는 동등하게는 모션 센서들 (110) 에 대해 알려진/보정된 포지션 관계를 가질 수도 있는 카메라 (108) 의 포즈를 결정할 시에 보조하기 위해 이용될 수도 있다. 모바일 플랫폼 (100) 의 포즈는 또한 또는 대안으로 비전 기반 추적 기법들을 이용하여 결정될 수도 있다. 모바일 플랫폼 (100) 은 셀룰러 또는 다른 무선 통신 디바이스, PCS (personal communication system) 디바이스, PND (personal navigation device), PIM (Personal Information Manager), PDA (Personal Digital Assistant), 랩탑, 카메라, 또는 증강 현실 (AR) 이 가능한 다른 적절한 모바일 디바이스와 같은 임의의 휴대용 전자 디바이스일 수도 있음이 이해되어야 한다.Figures 1a and 1b illustrate front and back views, respectively, of a
도 2 는 풍경 (landscape) 모드로 홀딩된 모바일 플랫폼 (100) 의 전면을 도시한다. 디스플레이 (102) 는 표면 (120) 위에 실세계 3D 관형 오브젝트 (122) 를 갖는 실세계 2D 바둑판무늬 (checkered) 표면 (120) 의 이미지를 디스플레이하는 것으로 도시된다. 원하는 경우, 컴퓨터로 렌더링된 (randering) 그래픽 오브젝트들이 또한 디스플레이 (102) 에 의해 디스플레이될 수도 있다. 실세계 오브젝트들은 카메라 (108) (도 1b) 를 이용하여 생성되는 반면, 임의의 AR 오브젝트들은 컴퓨터로 렌더링된 오브젝트들 (또는 정보) 이다. 모바일 플랫폼 (100) 은 알려진 위치에서의 2D 표면 (120) 의 폐색 및 결정된 3D 오브젝트의 형상에 기초하여 3D 오브젝트 (122) 를 검출하여 추적한다. 결과적으로, 모바일 플랫폼 (100) 이 직접적으로 3D 오브젝트를 검출하여 추적할 것이 요구되지 않으므로, 계산 효율성을 개선시키는데, 이는 개선된 프레임 레이트 및 배터리 사용을 뜻한다.Figure 2 shows a front view of the
도 3 은 2D 표면의 폐색들을 이용해 3D 오브젝트를 검출하여 추적하는 플로우 차트이다. 도시된 바와 같이, 3D 오브젝트를 갖는 2D 표면의 이미지가 캡쳐되어 디스플레이된다 (202). 캡쳐된 이미지는 단일 이미지, 예를 들어, 비디오의 사진 또는 프레임일 수도 있거나, 원하는 경우, 비디오의 하나 이상의 사진 또는 프레임이 단일 이미지를 생성하는데 이용될 수도 있음이 이해되어야 한다. 2D 표면에 대한 모바일 플랫폼의 포지션이 검출되어 추적된다 (204). 예를 들어, 도 2 에서 도시된 2D 바둑판무늬 표면 (120) 에 대한 모바일 플랫폼 (100) 의 포지션이 검출되어 추적된다. 2D 표면에 대한 모바일 플랫폼의 포지션을 검출하여 추적하는 것은 잘 알려진 비전 기반 추적을 이용하여 수행될 수도 있는데, 여기서 카메라 (108) 로부터의 추가적인 이미지들로부터의 특징들이 추출되어 2D 표면의 이미지로부터 추출된 특징들과 비교된다. 대안으로, 원하는 경우, 모바일 플랫폼과 2D 표면 간의 관계는 실세계에서의 2D 표면의 알려진 포즈, 및 모션 센서들 (110) 을 이용하여 결정되는 모바일 플랫폼의 포즈에 기초하여 결정될 수도 있다.Figure 3 is a flow chart for detecting and tracking 3D objects using occlusions of a 2D surface. As shown, an image of a 2D surface with 3D objects is captured and displayed (202). It should be appreciated that the captured image may be a single image, e.g., a picture or frame of video, or, if desired, one or more pictures or frames of video may be used to create a single image. The position of the mobile platform relative to the 2D surface is detected and traced (204). For example, the position of the
2D 표면의 특정 구역, 즉, 알려진 위치를 갖는 구역은 "관심 영역" 으로 지정된다 (206). 관심 영역은 3D 오브젝트에 의해 가려질 것으로 예상되는 구역이다. 관심 영역의 지정은, 예를 들어, 모바일 플랫폼 (100) 상의 그래픽 사용자 인터페이스를 이용하여 디스플레이 (102) 를 통해 2D 표면을 보면서 사용자에 의해 수행될 수도 있다. 대안으로, 관심 영역의 지정은 오프 라인으로 수행되어 모바일 플랫폼 (100) 의 메모리에 저장될 수도 있다. 원하는 경우, 전체 2D 표면 또는 오직 2D 표면의 적은 구역만이 관심 영역으로 지정될 수도 있다. 하나 이상의 구역들이 동일한 2D 표면 내의 관심 영역으로 지정될 수도 있다. 이러한 관심 영역들은 정사각형, 직사각형, 삼각형, 원 등과 같은 보통의 기하학적 형상들, 또는 2D 이미지 내의 특정 영역을 커버하는 임의의 다각형일 수 있다. 예를 들어, 관심 영역의 형상뿐만 아니라 관심 영역의 위치는 3D 오브젝트의 미리 정의된 형상 및 위치에 기초할 수도 있다. 도 4 는, 예로서, "관심 영역" 으로 지정된 것으로 알려진 위치들을 갖는 2 개의 구역들 (124a 및 124b) 을 갖는 이미지화된 2D 바둑판무늬 표면 (120) 의 상면도를 도시한다. 구역들 (124a 및 124b) 은 이 예에서 예상되는 3D 오브젝트 (122) 와 같이 원형으로 되시되며, 관형 형상, 따라서 원형 횡단면을 갖는다. 원하는 경우, 보다 많은 관심 영역들이 지정될 수도 있다. 또한, 원하는 경우, 관심 영역은 3D 오브젝트의 횡단면의 형상과 상이한 형상을 가질 수도 있다.A particular region of the 2D surface, i.e., a region having a known location, is designated 206 as an "area of interest ". The area of interest is the area that is expected to be covered by the 3D object. Designation of the area of interest may be performed by the user while viewing the 2D surface through the
프로세스는 그 다음에 관심 영역이 가려지는 경우, 즉, 커버되는 경우를 검출한다 (208). 폐색은, 자연적 특징 검출을 수행하여, 관심 영역 내의 다수의 특징들을 이용하여 매칭시키고, 관심 영역이 카메라 (108) 의 뷰 내에 있는 동안, 관심 영역 내의 특징들 중 상당한 부분, 즉, 미리 결정된 임계치보다 큰 수치가 검출되지 않는 경우를 확인함으로써 검출될 수도 있다. 특징들은 비전 기반 추적 기법의 일부분으로서 검출되어 매칭될 수도 있다. 특징들이 관심 영역에 걸쳐 적절히 분포되는 경우, 기하학적으로 커버되는 영역과 커버되지 않는 영역의 부분을 찾는 것이 가능하다. 원하는 경우, AR 오브젝트가 렌더링되어 디스플레이되도록, 전체 관심 영역, 또는 관심 영역의 상당한 부분이 가려질 것이 요구될 수도 있다. 다시 말해, 관심 영역의 오직 일부분만을 가리는 것이 불충분할 수도 있다. 관심 영역의 폐색은, 반드시 그렇지는 않을 수도 있지만, 3D 오브젝트에 의해 야기되는 것으로 추정될 수도 있다. 오 (false) 검출들, 즉, 3D 오브젝트에 의해 야기되지 않는 관심 영역의 폐색들의 검출들의 양을 감소시키기 위해, 관심 영역의 형상은 3D 오브젝트와 동일한 횡단면을 가질 수도 있고, 관심 영역과 형상이 상당히 상이한 영역이 가려지는 경우, 그 폐색은 3D 오브젝트에 의해 야기된 것이 아니라고 결정될 수도 있다. 예를 들어, 원하는 경우, 관심 영역의 특정 형상들이 이용되어 오직 특정 오브젝트만이 관심 영역을 가리는데 이용될 수도 있다. 관심 영역이 2D 표면 상의 알려진 위치를 갖기 때문에, 검출된 관심 영역의 폐색은 가리는 오브젝트의 위치에 대한 정보를 제공하며, 가리는 오브젝트는 3D 오브젝트인 것으로 추정된다.The process then detects if the region of interest is covered, i.e. covered (208). The occlusion is performed by performing a natural feature detection to match using a plurality of features within the region of interest and to determine that a significant portion of the features in the region of interest, It may be detected by confirming a case where a large value is not detected. The features may be detected and matched as part of a vision-based tracking technique. If the features are appropriately distributed over the area of interest, it is possible to find the area covered by the geometrically covered area and the area not covered. If desired, it may be required that the entire ROI, or a significant portion of the ROI, be obscured such that the AR object is rendered and displayed. In other words, covering only a portion of the area of interest may be insufficient. The occlusion of the region of interest may be presumed to be caused by a 3D object, although this may not necessarily be the case. To reduce the amount of false detections, i.e., the detection of occlusions of a region of interest that are not caused by a 3D object, the shape of the region of interest may have the same cross-section as the 3D object, If a different area is obscured, it may be determined that the occlusion is not caused by the 3D object. For example, if desired, certain shapes of the area of interest may be used, and only certain objects may be used to mark the area of interest. Since the region of interest has a known location on the 2D surface, the occlusion of the detected region of interest provides information on the location of the object to be masked, and the masked object is assumed to be a 3D object.
3D 오브젝트의 형상이 또한 결정된다 (210). 3D 오브젝트의 형상은 미리 정의될 수도 있는데, 즉, 3D 오브젝트의 형상은 사용자에 의해 제공되거나 미리 프로그래밍되어 메모리에 저장된다. 3D 오브젝트의 형상은 또한 2D 표면의 폐색 영역에 기초하여 결정될 수도 있다. 예를 들어, 도 5 는 2D 표면 (120) 및 3D 오브젝트 (122) 의 이미지를 캡쳐하는 모바일 플랫폼 (100) 의 측면도를 도시하고, 3D 오브젝트 (122) 는 2D 표면 (120) 의 영역 (126) 을 가린다. 도 5 에서 광선들 (123) 에 의해 도시된 바와 같이, 3D 오브젝트 (122) 는 2D 표면 (120) 의 영역 (126) 을 가릴 것이며, 2D 표면 (120) 의 영역 (126) 은 3D 오브젝트 (122) 의 형상뿐만 아니라 표면 (120) 에 대한 모바일 플랫폼 (100) 의 포즈 (즉, 포지션 및 위치) 에 기초하여 변할 것이다. 도 6 은 해칭 (hatching) 으로 보여진 3D 오브젝트에 의해 가려진 영역 (126) 과 함께 이미지화된 바둑판무늬 표면 (120) 의 상면도를 도시한다. 따라서, 2D 바둑판무늬 표면 (120) 의 가려진 영역의 형상과 함께, 2D 표면 (120) 을 추적함으로써 결정되는 2D 바둑판무늬 표면 (120) 에 대한 모바일 플랫폼 (100) 의 알려진 포즈에 기초하여, 3D 오브젝트 (122) 의 형상이 산출될 수도 있다. 모바일 플랫폼 (100) 이 2D 바둑판무늬 표면 (120) 및 3D 오브젝트 (122) 에 대해 이동하고 이를 이미지화함에 따라, 3D 오브젝트 (122) 의 형상에 대한 추가적인 정보가 도출되어 모바일 플랫폼 (100) 의 메모리에 저장될 수도 있다.The shape of the 3D object is also determined (210). The shape of the 3D object may be predefined, i.e., the shape of the 3D object is provided by the user or preprogrammed and stored in memory. The shape of the 3D object may also be determined based on the occlusion area of the 2D surface. 5 illustrates a side view of a
가려진 관심 영역의 알려진 위치 및 결정된 3D 오브젝트의 형상을 이용하여; 모바일 플랫폼 (100) 은 3D 오브젝트를 간접적으로 추적할 수 있다. 따라서, 실제 3D 오브젝트를 직접적으로 검출하여 추적하는 대신에, 2D 표면 상의 가려진 관심 영역이 검출되고 추적되어, 계산 요구사항들을 크게 감소시킨다. 임의의 원하는 동작이 그 다음에 2D 표면 상의 3D 오브젝트의 포지션에 대해 수행될 수도 있다 (212). 예를 들어, 증강 현실 오브젝트들이 그 다음에 가려진 관심 영역의 위치를 참조하여 렌더링되어 디스플레이될 수 있는데, 여기서 AR 오브젝트는 결정된 3D 오브젝트의 형상에 대하여 렌더링된다 (212). 원하는 경우, 이산 동작들을 수행하거나, 모바일 플랫폼을 이용하거나 모바일 플랫폼 내의 행위들을 스위칭 온 및 오프하는 것과 같은 임의의 다른 동작이 3D 오브젝트의 결정된 위치에 기초하여 트리거링될 수도 있다. 실세계 행위들 또는 동작들은 모바일 플랫폼에 의해, 예를 들어, 무선 주파수나 광신호들을 통해 직접적으로, 또는 무선 네트워크를 통해 제어될 수도 있다. 예를 들어, 실세계 또는 시뮬레이션된 전기 회로들은 배선도 상에 3D 오브젝트들 (촉각 아이콘들) 을 배치함으로써 제어될 수도 있다. 기차역에서의 스위치 지점들은 기차역의 계획도 상에 3D 오브젝트들을 배치함으로써 제어될 수도 있다. 다른 예들은, 예를 들어, 흐름에서의 장애물로서 3D 오브젝트를 배치함으로써 흐름 시뮬레이션 애플리케이션에 영향을 주거나 이를 제어하는 것을 포함하는데, 예를 들어, 장애물은 풍차 환풍기와 같은 흐름 소스일 수도 있다. 실제 환풍기를 장면 (scene) 으로 배치함으로써, 흐름 시뮬레이션이 그에 따라 변경된다. 다른 예는 충돌 반응을 조정하는 것으로, 예를 들어, 물리적 시뮬레이션 애플리케이션에서 장애물로서 배치된 3D 오브젝트의 충돌에 가상 오브젝트가 정확하게 반응할 수도 있다.Using the known location of the obscured region of interest and the shape of the determined 3D object; The
도 7 은 2D 바둑판무늬 표면 및 3D 관형 오브젝트의 캡쳐된 이미지를 디스플레이하는 모바일 플랫폼 (100) 의 전면을 도시하는 것으로, 이는 도 2 에 도시된 것과 유사하지만, 렌더링되어 디스플레이된 그래픽 오브젝트들도 도시한다. 예를 들어, AR 오브젝트 (128) 는 3D 오브젝트 (122) 의 사이즈에 대해 렌더링되고 가려진 관심 영역을 참조하여 디스플레이되어 3D 오브젝트 (122) 가 AR 오브젝트 (128) 에 의해 커버되거나 페인팅되는 것으로 보이는 것처럼 도시된다. 다른 AR 오브젝트들 (129a 및 129b) 은 3D 오브젝트 (122) 의 사이즈에 대해 렌더링될 수도 있으나, 3D 오브젝트 (122) 위가 아니라 근처에 디스플레이된다. 본 예에서, AR 오브젝트들 (129a 및 129b) 은 3D 오브젝트 (122) 주위를 날아다니다가, AR 오브젝트 (129b) 에 의해 도시된 바와 같이 3D 오브젝트 (122) 뒤로 사라지는 벌 (bee) 들처럼 보인다.Figure 7 shows a front view of a
도 8 은 2D 표면의 폐색들을 이용해 3D 오브젝트들을 검출하여 추적할 수 있는 모바일 플랫폼 (100) 의 블록 다이어그램이다. 모바일 플랫폼 (100) 은 카메라 (108) 와 같은, 3D 오브젝트를 갖는 2D 표면의 이미지를 캡쳐하기 위한 수단을 포함하고, 가속도계들, 자이로스코프들, 전자 컴파스들, 또는 다른 유사한 모션 감지 소자들과 같은 모션 센서들 (110) 을 포함할 수도 있다. 모바일 플랫폼 (100) 은 "컴퓨터 비전" 기법들을 이용하는 오브젝트 인식과 같은 다른 포지션 결정 방법들을 포함할 수도 있다. 모바일 플랫폼은 디스플레이 (102) 와 같은, 이미지 및 AR 오브젝트들을 디스플레이하기 위한 수단을 포함하는 사용자 인터페이스 (150) 를 더 포함한다. 사용자 인터페이스 (150) 는 또한 키패드 (152) 또는 다른 입력 디바이스를 포함할 수도 있으며, 이를 통해 사용자는 정보를 모바일 플랫폼 (100) 에 입력할 수 있다. 원하는 경우, 키패드 (152) 는 터치 센서를 이용하여 가상 키패드를 디스플레이 (102) 에 통합함으로써 제거될 수도 있다. 사용자 인터페이스 (150) 는 또한, 예를 들어, 모바일 플랫폼이 셀룰러 전화인 경우, 마이크 (106) 및 스피커 (104) 를 포함할 수도 있다. 물론, 모바일 플랫폼 (100) 은 무선 송수신기와 같이 본 개시물과 관련이 없는 다른 소자들을 포함할 수도 있다.Figure 8 is a block diagram of a
모바일 플랫폼 (100) 은 또한 카메라 (108), 모션 센서들 (110), 및 사용자 인터페이스 (150) 에 접속되고, 이들과 통신하는 제어 유닛 (160) 을 포함한다. 제어 유닛 (160) 은 카메라 (108) 및 모션 센서들 (110) 로부터 데이터를 받아들여 프로세싱하고, 이에 응답하여 디스플레이 (102) 를 제어한다. 제어 유닛 (160) 에는 프로세서 (161) 및 연관된 메모리 (164), 하드웨어 (162), 소프트웨어 (165), 및 펌웨어 (163) 가 제공될 수도 있다. 제어 유닛 (160) 은 카메라 (108) 로부터의 이미지들을 프로세싱하여, 2D 표면들을 검출해 관심 영역들이 가려지는 경우를 결정하고, 원하는 경우 가려진 영역의 형상을 결정하기 위한 이미지 프로세서 (166) 를 포함할 수도 있다. 제어 유닛은 또한 카메라 (108) 로부터의 비주얼 (visual) 데이터 및/또는 모션 센서들 (110) 로부터 수신된 데이터에 기초하여 검출된 2D 표면에 대한 모바일 플랫폼 (100) 의 포즈를 결정하여 추적하기 위한 포지션 프로세서 (167) 를 포함할 수도 있다. 제어 유닛 (160) 은 가려진 관심 영역들의 위치에 대해 그리고 결정된 3D 오브젝트의 형상에 대해 원하는 AR 오브젝트들을 렌더링하기 위한, 예를 들어, 게임 엔진일 수도 있는, 그래픽 엔진 (168) 을 더 포함할 수도 있다. 그래픽 엔진 (168) 은 저장부로부터 (예를 들어, 메모리 (164) 에서) AR 오브젝트들을 검색할 수도 있다. 이미지 프로세서 (166), 포지션 프로세서 (167), 및 그래픽 엔진은 명확성을 위해 프로세서 (161) 와 별개로 도시되나, 프로세서 (161) 의 일부분이거나 프로세서 (161) 에서 구동되는 소프트웨어 (165) 내의 명령들에 기초하여 프로세서 내에 구현될 수도 있다. 본원에서 사용되는 바와 같은 프로세서 (161) 는 하나 이상의 마이크로프로세서들, 내장형 프로세서들, 제어기들, ASIC (application specific integrated circuit) 들, DSP (digital signal processor) 들 등을 포함할 수 있으나, 반드시 이를 포함할 필요는 없음이 이해될 것이다. 용어 프로세서는 특정 하드웨어가 아니라 시스템에 의해 구현되는 기능들을 설명하고자 한다. 또한, 본원에서 사용되는 바와 같은 용어 "메모리" 는 장기, 단기를 포함하는 임의의 유형의 컴퓨터 저장 매체, 또는 모바일 플랫폼과 연관된 다른 메모리를 지칭하고, 임의의 특정 유형의 메모리나 다수의 메모리들, 또는 메모리가 저장되는 유형의 매체로 제한되지 않는다.The
디바이스는 2D 표면을 검출하여 추적하기 위한 수단을 포함하는데, 이 수단은 이미지 프로세서 (166), 포지션 프로세서 (167), 뿐만 아니라 원하는 경우 모션 센서들 (110) 을 포함할 수도 있다. 디바이스는 2D 표면 상의 관심 영역의 폐색을 검출하기 위한 수단을 더 포함하는데, 이 수단은 이미지 프로세서 (166) 를 포함할 수도 있다. 3D 오브젝트의 형상을 결정하기 위한 수단은 메모리 (164) 로부터 3D 오브젝트의 미리 결정된 형상을 검색하는 그래픽 엔진 (168) 을 포함할 수도 있다. 또한, 예를 들어, 이미지 프로세서 (166) 에 의해 2D 표면의 폐색 영역의 형상을 결정하기 위한 수단이 제공될 수도 있고, 예를 들어, 포지션 프로세서 (167), 뿐만 아니라 원하는 경우 모션 센서들 (110) 에 의해 2D 표면에 대한 모바일 플랫폼의 포즈를 결정하기 위한 수단이 제공될 수도 있고, 3D 오브젝트의 형상을 결정하기 위한 수단은, 예를 들어, 3D 오브젝트의 형상을 결정하기 위해, 2D 표면의 폐색 영역의 형상 및 2D 표면에 대한 카메라의 포즈를 이용하는 프로세서 (161) 일 수도 있다. 2D 표면의 관심 영역의 위치를 참조하여 그래픽 오브젝트를 렌더링하기 위한 수단은 그래픽 엔진 (168) 일 수도 있으며, 여기서 그래픽 오브젝트는 3D 오브젝트의 형상에 대하여 렌더링된다.The device includes means for detecting and tracking a 2D surface, which may include an
본원에서 설명된 방법론들은 애플리케이션에 따라 다양한 수단으로 구현될 수도 있다. 예를 들어, 이러한 방법론들은 하드웨어 (162), 펌웨어 (163), 소프트웨어 (165), 또는 이들의 임의의 조합으로 구현될 수도 있다. 하드웨어 구현에서, 프로세싱 유닛들은 하나 이상의 ASIC (application specific integrated circuit) 들, DSP (digital signal processor) 들, DSPD (digital signal processing device) 들, PLD (programmable logic device) 들, FPGA (field programmable gate array) 들, 프로세서들, 제어기들, 마이크로 제어기들, 마이크로프로세서들, 전자 디바이스들, 본원에서 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 조합 내에서 구현될 수도 있다.The methodologies described herein may be implemented in various ways depending on the application. For example, these methodologies may be implemented with
펌웨어 및/또는 소프트웨어 구현을 위해, 방법론들은 본원에서 설명된 기능들을 수행하는 모듈들 (예를 들어, 절차들, 기능들 등등) 로 구현될 수도 있다. 명령들을 유형적으로 구체화하는 임의의 기계 판독가능 매체가 본원에서 설명된 방법론들을 구현하는데 이용될 수도 있다. 예를 들어, 소프트웨어 코드들은 메모리 (164) 에 저장될 수도 있고 프로세서 (161) 에 의해 실행될 수도 있다. 메모리는 프로세서 (161) 내에 또는 프로세서 (161) 외부에 구현될 수도 있다.For a firmware and / or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium that tangibly embodies the instructions may be used to implement the methodologies described herein. For example, the software codes may be stored in the
펌웨어 및/또는 소프트웨어로 구현되는 경우, 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드로 저장될 수도 있다. 예들은 데이터 구조로 인코딩된 비일시적 컴퓨터 판독가능 매체들 및 컴퓨터 프로그램으로 인코딩된 컴퓨터 판독가능 매체들을 포함한다. 예를 들어, 저장된 프로그램 코드를 포함하는 컴퓨터 판독가능 매체는 카메라에 의해 캡쳐된, 3D 오브젝트를 갖는 2D 표면의 이미지를 디스플레이하기 위한 프로그램 코드, 이미지 내의 2D 표면을 검출하여 추적하기 위한 프로그램 코드, 2D 표면 상의 관심 영역으로 지정된 구역의 폐색을 검출하기 위한 프로그램 코드, 3D 오브젝트의 형상을 결정하기 위한 프로그램 코드, 및 2D 표면 상의 관심 영역의 위치를 참조해 그래픽 오브젝트를 렌더링하여 디스플레이하기 위한 프로그램 코드를 포함할 수도 있으며, 여기서 그래픽 오브젝트는 3D 오브젝트의 형상에 대해 렌더링된다. 컴퓨터 판독가능 매체는 2D 표면의 폐색 영역의 형상을 결정하기 위한 프로그램 코드, 및 2D 표면에 대한 카메라의 포즈를 결정하기 위한 프로그램 코드를 더 포함할 수도 있으며, 여기서 3D 오브젝트의 형상을 결정하기 위한 프로그램 코드는 3D 오브젝트의 형상을 결정하기 위해 2D 표면의 폐색 영역의 형상 및 2D 표면의 포즈를 이용한다. 컴퓨터 판독가능 매체들은 물리적 컴퓨터 저장 매체들을 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM, 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있고; 본원에서 사용되는 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 (Blu-ray) 디스크를 포함하며, 여기서 디스크 (disk) 들은 통상 데이터를 자기적으로 재생하는 반면, 디스크 (disc) 들은 데이터를 레이저들을 이용하여 광학적으로 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.When implemented in firmware and / or software, the functions may be stored in one or more instructions or code on a computer readable medium. Examples include non-volatile computer-readable media encoded in a data structure and computer-readable media encoded with a computer program. For example, a computer readable medium having stored thereon program code is program code for displaying an image of a 2D surface having a 3D object, captured by a camera, program code for detecting and tracking a 2D surface in the image, 2D Program code for detecting the occlusion of the region designated as the region of interest on the surface, program code for determining the shape of the 3D object, and program code for rendering and displaying the graphics object with reference to the location of the region of interest on the 2D surface Where the graphics object is rendered for the shape of the 3D object. The computer readable medium may further comprise program code for determining the shape of the occlusion region of the 2D surface and program code for determining the pose of the camera with respect to the 2D surface, The code uses the shape of the occluded region of the 2D surface and the pose of the 2D surface to determine the shape of the 3D object. Computer readable media include physical computer storage media. The storage medium may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage or other magnetic storage devices, And any other medium that can be accessed by a computer; Disks and discs as used herein include compact discs (CD), laser discs, optical discs, digital versatile discs (DVD), floppy discs and Blu-ray discs, Discs usually reproduce data magnetically, while discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer readable media.
예를 들어, 저장된 프로그램 코드를 포함하는 컴퓨터 판독가능 매체는 카메라에 의해 캡쳐된, 3D 오브젝트를 갖는 2D 표면의 이미지를 디스플레이하기 위한 프로그램 코드, 이미지 내의 2D 표면을 검출하여 추적하기 위한 프로그램 코드, 2D 표면 상에 관심 영역으로 지정된 구역의 폐색을 검출하기 위한 프로그램 코드, 3D 오브젝트의 형상을 결정하기 위한 프로그램 코드, 및 2D 표면 상의 관심 영역의 위치를 참조해 그래픽 오브젝트를 렌더링하여 디스플레이하기 위한 프로그램 코드를 포함할 수도 있으며, 여기서 그래픽 오브젝트는 3D 오브젝트의 형상에 대해 렌더링된다.For example, a computer readable medium having stored thereon program code is program code for displaying an image of a 2D surface having a 3D object, captured by a camera, program code for detecting and tracking a 2D surface in the image, 2D Program code for detecting an occlusion of a region designated as a region of interest on the surface, program code for determining the shape of the 3D object, and program code for rendering and displaying a graphics object with reference to the location of the region of interest on the 2D surface Where the graphic object is rendered for the shape of the 3D object.
본 발명이 학습 목적으로 특정 실시형태들과 관련하여 설명되긴 하지만, 본 발명은 이로 제한되지 않는다. 본 발명의 범위를 벗어나지 않으면서 다양한 각색들 및 수정들이 이루어질 수도 있다. 따라서, 첨부된 청구항들의 사상 및 범위는 앞서의 설명으로 제한되어서는 안된다.While the present invention has been described in connection with specific embodiments for purposes of study, the invention is not so limited. Various adaptations and modifications may be made without departing from the scope of the present invention. Accordingly, the spirit and scope of the appended claims should not be limited to the foregoing description.
Claims (35)
상기 2D 표면을 검출하여 추적하는 단계;
상기 2D 표면 상의 알려진 위치를 갖는 상기 2D 표면의 구역을 관심 영역으로 지정하는 단계;
상기 3D 오브젝트에 의한, 추적된 상기 2D 표면의 이미지 내의 상기 관심 영역의 폐색 (occlusion) 을 검출하는 단계;
상기 관심 영역의 검출된 상기 폐색에 기초하여 상기 3D 오브젝트의 위치에 대한 정보를 획득하는 단계;
상기 3D 오브젝트의 형상을 결정하는 단계; 및
상기 2D 표면 상의 상기 관심 영역의 상기 알려진 위치를 참조해 그래픽 오브젝트를 렌더링하여 디스플레이하는 단계로서, 상기 그래픽 오브젝트는 상기 3D 오브젝트의 형상에 대해 렌더링되는, 상기 그래픽 오브젝트를 렌더링하여 디스플레이하는 단계를 포함하는, 방법.Capturing and displaying an image of a two-dimensional (2D) surface having a three-dimensional (3D) object with a camera;
Detecting and tracking the 2D surface;
Designating a region of the 2D surface having a known location on the 2D surface as a region of interest;
Detecting an occlusion of the region of interest within the image of the tracked 2D surface by the 3D object;
Obtaining information about the position of the 3D object based on the detected occlusion of the region of interest;
Determining a shape of the 3D object; And
Rendering and displaying a graphical object with reference to the known location of the region of interest on the 2D surface, wherein the graphical object is rendered for a shape of the 3D object; , Way.
상기 3D 오브젝트의 형상은 미리 정의되는, 방법.The method according to claim 1,
Wherein the shape of the 3D object is predefined.
상기 3D 오브젝트의 형상을 결정하는 단계는, 상기 2D 표면의 폐색 영역의 형상 및 상기 2D 표면에 대한 상기 카메라의 포지션을 결정하고, 상기 2D 표면의 상기 폐색 영역의 형상 및 상기 2D 표면에 대한 상기 카메라의 포지션을 상기 3D 오브젝트의 형상을 산출하기 위해 이용하는 단계를 포함하는, 방법.The method according to claim 1,
Wherein determining the shape of the 3D object comprises: determining a shape of the occluded region of the 2D surface and a position of the camera with respect to the 2D surface; determining a shape of the occluded region of the 2D surface, Using the position of the 3D object to calculate the shape of the 3D object.
상기 그래픽 오브젝트는 상기 3D 오브젝트 위에 렌더링되는, 방법.The method according to claim 1,
Wherein the graphical object is rendered on the 3D object.
상기 그래픽 오브젝트는 상기 3D 오브젝트 근처에 렌더링되는, 방법.The method according to claim 1,
Wherein the graphical object is rendered near the 3D object.
상기 2D 표면의 다수의 구역들이 관심 영역들로 지정되는, 방법.The method according to claim 1,
Wherein a plurality of regions of the 2D surface are designated as regions of interest.
상기 관심 영역의 상기 알려진 위치는 미리 정의되는, 방법.The method according to claim 1,
Wherein the known location of the region of interest is predefined.
상기 이미지는 모바일 플랫폼에 의해 캡쳐되어 디스플레이되는, 방법.The method according to claim 1,
Wherein the image is captured and displayed by a mobile platform.
카메라;
상기 카메라에 접속된 프로세서;
상기 프로세서에 접속된 메모리;
상기 메모리에 접속된 디스플레이; 및
상기 메모리 내에 유지되고, 상기 프로세서에서 실행되어 상기 프로세서로 하여금, 상기 카메라에 의해 캡쳐된, 3 차원 (3D) 오브젝트를 갖는 2 차원 (2D) 표면의 이미지를 상기 디스플레이 상에 디스플레이하며, 상기 이미지 내의 상기 2D 표면을 검출하여 추적하며, 상기 2D 표면 상의 알려진 위치를 갖는, 추적된 상기 2D 표면 상의 관심 영역으로 지정된 구역의 폐색을 검출하며, 상기 관심 영역의 검출된 상기 폐색에 기초하여 상기 3D 오브젝트의 위치에 대한 정보를 획득하며, 상기 3D 오브젝트의 형상을 결정하고, 상기 2D 표면 상의 상기 관심 영역의 상기 알려진 위치를 참조해 그래픽 오브젝트를 상기 디스플레이 상에 렌더링하여 디스플레이하게 하는 소프트웨어를 포함하고,
상기 그래픽 오브젝트는 상기 3D 오브젝트의 형상에 대해 렌더링되는, 모바일 플랫폼.As a mobile platform,
camera;
A processor connected to the camera;
A memory coupled to the processor;
A display connected to said memory; And
Wherein the processor is maintained in the memory and is executed on the processor to cause the processor to display on the display an image of a two-dimensional (2D) surface captured by the camera and having a three-dimensional (3D) Detecting and tracking the 2D surface and detecting occlusion of a region designated as a region of interest on the traced 2D surface with a known location on the 2D surface; and detecting the occlusion of the 3D object based on the detected occlusion of the region of interest Software for obtaining information about a location, determining a shape of the 3D object, and rendering the graphic object on the display by referring to the known location of the area of interest on the 2D surface,
Wherein the graphical object is rendered for a shape of the 3D object.
상기 3D 오브젝트의 형상은 미리 정의되는, 모바일 플랫폼.11. The method of claim 10,
Wherein the shape of the 3D object is predefined.
상기 프로세서에서 실행되는 상기 소프트웨어는, 상기 프로세서로 하여금, 상기 2D 표면의 폐색 영역의 형상 및 상기 2D 표면에 대한 상기 모바일 플랫폼의 포지션에 기초하여 상기 3D 오브젝트의 형상을 결정하도록 하는, 모바일 플랫폼.11. The method of claim 10,
Wherein the software executing on the processor causes the processor to determine a shape of the 3D object based on a shape of the occlusion region of the 2D surface and a position of the mobile platform relative to the 2D surface.
상기 그래픽 오브젝트는 상기 디스플레이에서 상기 3D 오브젝트 위에 렌더링되는, 모바일 플랫폼.11. The method of claim 10,
Wherein the graphical object is rendered on the 3D object in the display.
상기 그래픽 오브젝트는 상기 디스플레이에서 상기 3D 오브젝트 근처에 렌더링되는, 모바일 플랫폼.11. The method of claim 10,
Wherein the graphical object is rendered near the 3D object in the display.
상기 2D 표면의 다수의 구역들이 관심 영역들로 지정되는, 모바일 플랫폼.11. The method of claim 10,
Wherein a plurality of regions of the 2D surface are designated as regions of interest.
상기 관심 영역의 상기 알려진 위치는 미리 정의되는, 모바일 플랫폼.11. The method of claim 10,
Wherein the known location of the region of interest is predefined.
모션 센서들을 더 포함하고,
상기 소프트웨어는 상기 프로세서로 하여금 상기 모션 센서들로부터의 데이터를 이용하여 상기 이미지 내의 상기 2D 표면을 검출하여 추적하도록 하는, 모바일 플랫폼.11. The method of claim 10,
Further comprising motion sensors,
Wherein the software causes the processor to detect and track the 2D surface in the image using data from the motion sensors.
상기 소프트웨어는 상기 프로세서로 하여금 상기 카메라로부터의 추가적인 이미지들을 이용하여 상기 이미지 내의 상기 2D 표면을 검출하여 추적하도록 하는, 모바일 플랫폼.11. The method of claim 10,
Wherein the software causes the processor to detect and track the 2D surface within the image using additional images from the camera.
상기 이미지를 디스플레이하기 위한 수단;
상기 2D 표면을 검출하여 추적하기 위한 수단;
상기 2D 표면 상의 알려진 위치를 갖는, 추적된 상기 2D 표면 상의 관심 영역으로 지정된 구역의 폐색을 검출하기 위한 수단;
상기 관심 영역의 검출된 상기 폐색에 기초하여 상기 3D 오브젝트의 위치에 대한 정보를 획득하기 위한 수단;
상기 3D 오브젝트의 형상을 결정하기 위한 수단; 및
상기 2D 표면의 상기 관심 영역의 상기 알려진 위치를 참조해 그래픽 오브젝트를 렌더링하여 디스플레이하기 위한 수단으로서, 상기 그래픽 오브젝트는 상기 3D 오브젝트의 형상에 대해 렌더링되는, 상기 그래픽 오브젝트를 렌더링하여 디스플레이하기 위한 수단을 포함하는, 시스템.Means for capturing an image of a two-dimensional (2D) surface having three-dimensional (3D) objects;
Means for displaying the image;
Means for detecting and tracking the 2D surface;
Means for detecting an occlusion of a region designated as a region of interest on the tracked 2D surface having a known location on the 2D surface;
Means for obtaining information about a position of the 3D object based on the detected occlusion of the region of interest;
Means for determining a shape of the 3D object; And
Means for rendering and displaying a graphics object with reference to the known location of the region of interest on the 2D surface, the graphic object being rendered for a shape of the 3D object; Including the system.
상기 3D 오브젝트의 형상은 미리 정의되는, 시스템.21. The method of claim 20,
Wherein the shape of the 3D object is predefined.
상기 2D 표면의 폐색 영역의 형상을 결정하기 위한 수단; 및
상기 2D 표면에 대한 상기 이미지를 캡쳐하기 위한 수단의 포지션을 결정하기 위한 수단을 더 포함하고,
상기 3D 오브젝트의 형상을 결정하기 위한 수단은, 상기 3D 오브젝트의 형상을 결정하기 위해, 상기 2D 표면의 상기 폐색 영역의 형상 및 상기 2D 표면에 대한 상기 이미지를 캡쳐하기 위한 수단의 포지션을 이용하는, 시스템.21. The method of claim 20,
Means for determining the shape of the occlusion region of the 2D surface; And
Further comprising means for determining a position of the means for capturing the image for the 2D surface,
Wherein the means for determining the shape of the 3D object utilizes a position of the means for capturing the shape of the occluded region of the 2D surface and the image relative to the 2D surface to determine the shape of the 3D object. .
상기 그래픽 오브젝트는 상기 3D 오브젝트 위에 렌더링되는, 시스템.21. The method of claim 20,
Wherein the graphical object is rendered on the 3D object.
상기 그래픽 오브젝트는 상기 3D 오브젝트 근처에 렌더링되는, 시스템.21. The method of claim 20,
Wherein the graphical object is rendered near the 3D object.
상기 2D 표면의 다수의 구역들이 관심 영역들로 지정되는, 시스템.21. The method of claim 20,
Wherein a plurality of regions of the 2D surface are designated as regions of interest.
상기 관심 영역의 상기 알려진 위치는 미리 정의되는, 시스템.21. The method of claim 20,
Wherein the known location of the region of interest is predefined.
카메라에 의해 캡쳐된, 3 차원 (3D) 오브젝트를 갖는 2 차원 (2D) 표면의 이미지를 디스플레이하기 위한 프로그램 코드;
상기 이미지 내의 상기 2D 표면을 검출하여 추적하기 위한 프로그램 코드;
상기 2D 표면 상의 알려진 위치를 갖는, 추적된 상기 2D 표면 상의 관심 영역으로 지정된 구역의 폐색을 검출하기 위한 프로그램 코드;
상기 3D 오브젝트의 형상을 결정하기 위한 프로그램 코드; 및
상기 2D 표면의 상기 관심 영역의 상기 알려진 위치를 참조해 그래픽 오브젝트를 렌더링하여 디스플레이하기 위한 프로그램 코드로서, 상기 그래픽 오브젝트는 상기 3D 오브젝트의 형상에 대해 렌더링되는, 상기 그래픽 오브젝트를 렌더링하여 디스플레이하기 위한 프로그램 코드를 포함하는, 컴퓨터 판독가능 매체.A computer readable medium comprising stored program code,
Program code for displaying an image of a two-dimensional (2D) surface having a three-dimensional (3D) object, which is captured by a camera;
Program code for detecting and tracking the 2D surface in the image;
Program code for detecting an occlusion of a region designated as a region of interest on the tracked 2D surface having a known location on the 2D surface;
Program code for determining a shape of the 3D object; And
Program code for rendering and displaying a graphical object with reference to said known location of said region of interest on said 2D surface, said graphical object being rendered against the shape of said 3D object, ≪ / RTI >
상기 3D 오브젝트의 형상은 미리 정의되는, 컴퓨터 판독가능 매체.29. The method of claim 28,
Wherein the shape of the 3D object is predefined.
상기 2D 표면의 폐색 영역의 형상을 결정하기 위한 프로그램 코드, 및 상기 2D 표면에 대한 상기 카메라의 포지션을 결정하기 위한 프로그램 코드를 더 포함하고,
상기 3D 오브젝트의 형상을 결정하기 위한 프로그램 코드는, 상기 3D 오브젝트의 형상을 결정하기 위해, 상기 2D 표면의 상기 폐색 영역의 형상 및 상기 2D 표면에 대한 상기 카메라의 포지션을 이용하는, 컴퓨터 판독가능 매체.29. The method of claim 28,
Program code for determining a shape of the occlusion region of the 2D surface, and program code for determining a position of the camera relative to the 2D surface,
Wherein the program code for determining the shape of the 3D object utilizes the shape of the occluded region of the 2D surface and the position of the camera relative to the 2D surface to determine the shape of the 3D object.
상기 그래픽 오브젝트는 디스플레이에서 상기 3D 오브젝트 위에 렌더링되는, 컴퓨터 판독가능 매체.29. The method of claim 28,
Wherein the graphical object is rendered on the 3D object in a display.
상기 그래픽 오브젝트는 디스플레이에서 상기 3D 오브젝트 근처에 렌더링되는, 컴퓨터 판독가능 매체.29. The method of claim 28,
Wherein the graphical object is rendered near the 3D object in a display.
상기 2D 표면의 다수의 구역들이 관심 영역들로 지정되는, 컴퓨터 판독가능 매체.29. The method of claim 28,
Wherein a plurality of regions of the 2D surface are designated as regions of interest.
상기 관심 영역의 상기 알려진 위치는 미리 정의되는, 컴퓨터 판독가능 매체.29. The method of claim 28,
Wherein the known location of the region of interest is predefined.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/013,535 US10109065B2 (en) | 2011-01-25 | 2011-01-25 | Using occlusions to detect and track three-dimensional objects |
US13/013,535 | 2011-01-25 | ||
PCT/US2012/022479 WO2012103168A1 (en) | 2011-01-25 | 2012-01-25 | Using occlusions to detect and track three-dimensional objects |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130122660A KR20130122660A (en) | 2013-11-07 |
KR101532854B1 true KR101532854B1 (en) | 2015-06-30 |
Family
ID=45563597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137022014A KR101532854B1 (en) | 2011-01-25 | 2012-01-25 | Using occlusions to detect and track three-dimensional objects |
Country Status (6)
Country | Link |
---|---|
US (1) | US10109065B2 (en) |
EP (1) | EP2668636A1 (en) |
JP (1) | JP5554457B2 (en) |
KR (1) | KR101532854B1 (en) |
CN (2) | CN103339654A (en) |
WO (1) | WO2012103168A1 (en) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120170800A1 (en) * | 2010-12-30 | 2012-07-05 | Ydreams - Informatica, S.A. | Systems and methods for continuous physics simulation from discrete video acquisition |
US9049433B1 (en) * | 2012-01-06 | 2015-06-02 | John H. Prince | High-speed railroad inspection using coordinated 3D cameras |
US9384711B2 (en) | 2012-02-15 | 2016-07-05 | Microsoft Technology Licensing, Llc | Speculative render ahead and caching in multiple passes |
US9230517B2 (en) | 2012-05-31 | 2016-01-05 | Microsoft Technology Licensing, Llc | Virtual surface gutters |
US9177533B2 (en) | 2012-05-31 | 2015-11-03 | Microsoft Technology Licensing, Llc | Virtual surface compaction |
US9286122B2 (en) * | 2012-05-31 | 2016-03-15 | Microsoft Technology Licensing, Llc | Display techniques using virtual surface allocation |
US9235925B2 (en) | 2012-05-31 | 2016-01-12 | Microsoft Technology Licensing, Llc | Virtual surface rendering |
US9349218B2 (en) | 2012-07-26 | 2016-05-24 | Qualcomm Incorporated | Method and apparatus for controlling augmented reality |
US9025823B2 (en) | 2013-03-12 | 2015-05-05 | Qualcomm Incorporated | Tracking texture rich objects using rank order filtering |
CN103236074B (en) | 2013-03-25 | 2015-12-23 | 深圳超多维光电子有限公司 | A kind of 2D/3D image processing method and device |
US10509533B2 (en) * | 2013-05-14 | 2019-12-17 | Qualcomm Incorporated | Systems and methods of generating augmented reality (AR) objects |
US9354702B2 (en) | 2013-06-03 | 2016-05-31 | Daqri, Llc | Manipulation of virtual object in augmented reality via thought |
US9383819B2 (en) * | 2013-06-03 | 2016-07-05 | Daqri, Llc | Manipulation of virtual object in augmented reality via intent |
US9307007B2 (en) | 2013-06-14 | 2016-04-05 | Microsoft Technology Licensing, Llc | Content pre-render and pre-fetch techniques |
WO2016006728A1 (en) * | 2014-07-08 | 2016-01-14 | 삼성전자 주식회사 | Electronic apparatus and method for processing three-dimensional information using image |
US9821813B2 (en) * | 2014-11-13 | 2017-11-21 | Nec Corporation | Continuous occlusion models for road scene understanding |
US10033995B2 (en) | 2015-03-01 | 2018-07-24 | Nextvr Inc. | Methods and apparatus for supporting content generation, transmission and/or playback |
US20170228929A1 (en) * | 2015-09-01 | 2017-08-10 | Patrick Dengler | System and Method by which combining computer hardware device sensor readings and a camera, provides the best, unencumbered Augmented Reality experience that enables real world objects to be transferred into any digital space, with context, and with contextual relationships. |
EP3480788A4 (en) * | 2016-06-30 | 2019-05-08 | Nissan Motor Co., Ltd. | Object tracking method and object tracking device |
US10140539B2 (en) * | 2016-09-23 | 2018-11-27 | Optofidelity Oy | Calibration device for camera-finger—offset |
CN106780769B (en) * | 2016-12-23 | 2020-11-13 | 太炫科技(南京)有限公司 | Three-dimensional model drawing system and method for reducing shielding of close-distance object |
CN109460690B (en) * | 2017-09-01 | 2022-10-14 | 虹软科技股份有限公司 | Method and device for pattern recognition |
US10909671B2 (en) * | 2018-10-02 | 2021-02-02 | International Business Machines Corporation | Region of interest weighted anomaly detection |
US10818028B2 (en) * | 2018-12-17 | 2020-10-27 | Microsoft Technology Licensing, Llc | Detecting objects in crowds using geometric context |
US11935183B2 (en) * | 2020-01-10 | 2024-03-19 | Dirtt Environmental Solutions Ltd. | Occlusion solution within a mixed reality design software application |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006059165A (en) * | 2004-08-20 | 2006-03-02 | Riyuukoku Univ | Three-dimensional modeling device, geometric pattern, three-dimensional modeling data generating method, three-dimensional modeling program and recording medium |
JP2008046750A (en) * | 2006-08-11 | 2008-02-28 | Canon Inc | Image processor and image processing method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643024B2 (en) | 2001-05-17 | 2010-01-05 | The Trustees Of Columbia University In The City Of New York | System and method for view management in three dimensional space |
JP4480083B2 (en) | 2005-02-23 | 2010-06-16 | アイシン精機株式会社 | Object recognition device |
JP4600760B2 (en) | 2005-06-27 | 2010-12-15 | アイシン精機株式会社 | Obstacle detection device |
US8659668B2 (en) * | 2005-10-07 | 2014-02-25 | Rearden, Llc | Apparatus and method for performing motion capture using a random pattern on capture surfaces |
CN101000690A (en) * | 2005-10-17 | 2007-07-18 | 美国西门子医疗解决公司 | Method for improving image consistency, signal, computer readable medium and system |
ATE453904T1 (en) | 2006-05-15 | 2010-01-15 | Im3D S P A | AUTOMATIC DETECTION OF PRENEOPLASTIC ANOMALIES IN ANATOMIC STRUCTURES BASED ON IMPROVED AREA GROWTH SEGMENTATION AND COMPUTER PROGRAM THEREOF |
KR101476176B1 (en) * | 2007-10-19 | 2014-12-24 | 엘지전자 주식회사 | Terminal, method for controlling the terminal, and recorable medium for the method |
CN101710429B (en) | 2009-10-12 | 2012-09-05 | 湖南大学 | Illumination algorithm of augmented reality system based on dynamic light map |
-
2011
- 2011-01-25 US US13/013,535 patent/US10109065B2/en active Active
-
2012
- 2012-01-25 KR KR1020137022014A patent/KR101532854B1/en active IP Right Grant
- 2012-01-25 WO PCT/US2012/022479 patent/WO2012103168A1/en active Application Filing
- 2012-01-25 CN CN2012800063404A patent/CN103339654A/en active Pending
- 2012-01-25 CN CN201910111365.4A patent/CN109829937A/en active Pending
- 2012-01-25 EP EP12702718.3A patent/EP2668636A1/en not_active Withdrawn
- 2012-01-25 JP JP2013551299A patent/JP5554457B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006059165A (en) * | 2004-08-20 | 2006-03-02 | Riyuukoku Univ | Three-dimensional modeling device, geometric pattern, three-dimensional modeling data generating method, three-dimensional modeling program and recording medium |
JP2008046750A (en) * | 2006-08-11 | 2008-02-28 | Canon Inc | Image processor and image processing method |
Non-Patent Citations (1)
Title |
---|
Occlusion based interaction methods for tangible augmented reality environments. * |
Also Published As
Publication number | Publication date |
---|---|
US10109065B2 (en) | 2018-10-23 |
US20120188342A1 (en) | 2012-07-26 |
KR20130122660A (en) | 2013-11-07 |
EP2668636A1 (en) | 2013-12-04 |
WO2012103168A1 (en) | 2012-08-02 |
JP5554457B2 (en) | 2014-07-23 |
CN103339654A (en) | 2013-10-02 |
JP2014503922A (en) | 2014-02-13 |
CN109829937A (en) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101532854B1 (en) | Using occlusions to detect and track three-dimensional objects | |
KR101554797B1 (en) | Context aware augmentation interactions | |
JP6043856B2 (en) | Head pose estimation using RGBD camera | |
EP3855288B1 (en) | Spatial relationships for integration of visual images of physical environment into virtual reality | |
US8878846B1 (en) | Superimposing virtual views of 3D objects with live images | |
US9196045B2 (en) | Analysis of three-dimensional scenes | |
US20120195461A1 (en) | Correlating areas on the physical object to areas on the phone screen | |
US20150097865A1 (en) | Method and computing device for providing augmented reality | |
US20110292036A1 (en) | Depth sensor with application interface | |
US10768711B2 (en) | Mediated reality | |
US20140123507A1 (en) | Reference coordinate system determination | |
KR20150130483A (en) | In situ creation of planar natural feature targets | |
JP2013050883A (en) | Information processing program, information processing system, information processor, and information processing method | |
KR20160042461A (en) | Dataset creation for tracking targets with dynamically changing portions | |
US9025823B2 (en) | Tracking texture rich objects using rank order filtering | |
WO2023071381A1 (en) | Virtual-real fusion method and apparatus, and device, storage medium and program product | |
KR20100006736A (en) | System and apparatus for implementing augmented reality, and method of implementing augmented reality using the said system or the said apparatus | |
JP6172233B2 (en) | Image processing apparatus, image processing method, and program | |
US20230326056A1 (en) | Information processing apparatus, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180329 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190327 Year of fee payment: 5 |