KR20230115219A - 증강 현실 이미지를 제공하기 위한 이미지 처리 방법 및 장치 - Google Patents

증강 현실 이미지를 제공하기 위한 이미지 처리 방법 및 장치 Download PDF

Info

Publication number
KR20230115219A
KR20230115219A KR1020220121964A KR20220121964A KR20230115219A KR 20230115219 A KR20230115219 A KR 20230115219A KR 1020220121964 A KR1020220121964 A KR 1020220121964A KR 20220121964 A KR20220121964 A KR 20220121964A KR 20230115219 A KR20230115219 A KR 20230115219A
Authority
KR
South Korea
Prior art keywords
information
image
user
camera
virtual object
Prior art date
Application number
KR1020220121964A
Other languages
English (en)
Inventor
드미트로 시도랜코
스비틀라나 알키모바
인나 본다렌코
다리아 보스코보이니코바
예브헨니 뷰헤라
안드리 보가첸코
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20230115219A publication Critical patent/KR20230115219A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Ophthalmology & Optometry (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시는 증강 현실(Augmented Reality) 이미지를 제공하기 위한 이미지 처리 방법 및 디바이스(device)에 관한 것이다. 방법은 제 1 카메라를 이용하여 사용자의 눈을 포함하는 제 1 이미지를 획득하는 단계; 제 1 이미지에 기초하여 사용자의 눈에 관한 정보를 획득하는 단계; 제 2 카메라를 이용하여 실제 환경을 포함하는 제 2 이미지를 획득하는 단계; 사용자의 시선 방향에 관한 정보에 기초하여 제2 이미지로부터 타겟 객체를 검출하는 단계; 디바이스의 스펙에 관한 정보 및 눈의 위치에 관한 정보에 기초하여, 제 2 이미지로부터 디바이스에 의해 사용자의 눈으로부터 가려진 영역에 관한 제 3 이미지를 획득하는 단계; 디바이스와 타겟 객체 사이의 거리에 관한 정보, 시선 방향에 관한 정보, 및 제 3 이미지에 기초하여 가상 객체의 속성을 조정하는 단계; 및 조정된 가상 객체 및 제 3 이미지를 이용하여 증강 현실 이미지를 획득하는 단계를 포함할 수 있다.

Description

증강 현실 이미지를 제공하기 위한 이미지 처리 방법 및 장치 {AN METHOD AND DEVICE PROCESIING IMAGE FOR PROVIDING AUGMENTED REALITY IMAGE}
본 개시는 증강 현실(Augmented Reality) 이미지를 제공하기 위한 이미지 처리 방법 및 디바이스(device)에 관한 것이다.
증강 현실(Augmented Reality, AR)은 현실 세계를 기반으로, 가상의 대상 또는 사물을 합성 및 결합함으로써, 부가적인 정보를 제공하는 증강 현실 이미지를 사용자에게 제공하는 기술을 의미한다. 여기서 증강 현실 이미지는 현실 공간(real space) 내에 위치한 하나 이상의 현실 객체를 포함한다.
증강 현실 기술은 원격 의료 진단, 방송, 위치기반 서비스, 모바일 게임, 모바일 솔루션 업계, 교육 분야 등으로 그 활용범위가 다양하게 확장되고 있다. 사용자에게 유용하고 사실적인 증강 현실 이미지를 제공하기 위해서는, 사용자의 시선을 고려한 이미지 처리 기술이 요구된다.
본 개시의 일 실시 예에 따르면, 증강 현실 이미지를 제공하기 위한 이미지 처리 방법이 제공될 수 있다. 상기 방법은 1 카메라를 이용하여 사용자의 눈을 포함하는 제 1 이미지를 획득하는 단계를 포함할 수 있다. 상기 방법은 상기 제 1 이미지에 기초하여 사용자의 눈에 관한 정보를 획득하는 단계를 포함할 수 있다. 상기 사용자의 눈에 관한 정보는 상기 사용자의 시선 방향에 관한 정보 및 눈의 위치에 관한 정보를 포함할 수 있다. 상기 방법은 상기 제1 카메라의 촬영 방향과 촬영 방향이 반대인 제 2 카메라를 이용하여 상기 사용자의 시선 방향에 위치하는 실제 환경을 포함하는 제 2 이미지를 획득하는 단계를 포함할 수 있다. 상기 방법은 상기 사용자의 시선 방향에 관한 정보에 기초하여, 상기 제2 이미지로부터 상기 사용자의 시선 방향에 위치하는 타겟 객체를 검출하는 단계를 포함할 수 있다. 상기 방법은 상기 디바이스의 물리적 크기에 대한 정보를 포함하는 상기 디바이스의 스펙에 관한 정보 및 상기 눈의 위치에 관한 정보에 기초하여, 상기 제 2 이미지로부터 상기 디바이스에 의해 상기 사용자의 눈으로부터 가려진 영역에 관한 제 3 이미지를 획득할 수 있다. 상기 방법은 상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보, 상기 시선 방향에 관한 정보, 및 상기 제 3 이미지에 기초하여 적어도 하나의 가상 객체의 속성을 조정하는 단계를 포함할 수 있다. 상기 방법은 상기 조정된 적어도 하나의 가상 객체 및 상기 제 3 이미지를 이용하여 증강 현실 이미지를 획득하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따르면, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.
본 개시의 일 실시 예에 따르면, 증강 현실 이미지를 제공하기 위해 이미지를 처리하는 디바이스가 제공될 수 있다. 상기 디바이스는 제 1 카메라, 상기 제1 카메라의 촬영 방향과 촬영 방향이 반대인 제 2 카메라 및 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 1 카메라를 이용하여 사용자의 눈을 포함하는 제 1 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 1 이미지에 기초하여, 상기 사용자의 시선 방향에 관한 정보 및 눈의 위치에 관한 정보를 포함하는 사용자의 눈에 관한 정보를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 2 카메라를 이용하여 상기 사용자의 시선 방향에 위치하는 실제 환경을 포함하는 제 2 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 사용자의 시선 방향에 관한 정보에 기초하여, 상기 제2 이미지로부터 상기 사용자의 시선 방향에 위치하는 타겟 객체를 검출할 수 있다. 상기 적어도 하나의 프로세서는 상기 디바이스의 물리적 크기에 대한 정보를 포함하는 상기 디바이스의 스펙에 관한 정보 및 상기 눈의 위치에 관한 정보에 기초하여, 상기 제 2 이미지로부터, 상기 디바이스에 의해 상기 사용자의 눈으로부터 가려진 영역에 관한 제 3 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보, 상기 시선 방향에 관한 정보, 및 상기 제 3 이미지에 기초하여 적어도 하나의 가상 객체의 속성을 조정할 수 있다. 상기 적어도 하나의 프로세서는 상기 조정된 가상 객체 및 제 3 이미지를 이용하여 증강 현실 이미지를 획득할 수 있다.
도 1A는 본 개시의 일 실시 예에 따른 증강 현실 이미지를 설명하기 위한 도면이다.
도 1B는 본 개시의 일 실시 예에 따른 증강 현실 이미지를 제공하기 위해 이미지를 처리하는 디바이스의 구성 요소를 도시한 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 증강 현실 이미지를 제공하기 위해 이미지를 처리하는 방법을 도시한 흐름도이다.
도 3은 본 개시의 일 실시 예에 따른 시선 방향에 관한 정보를 획득하는 방법에 관한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 눈과 디바이스 사이의 거리에 관한 정보를 획득하는 방법에 관한 도면이다.
도 5는 본 개시의 일 실시예에 따른 디바이스 또는 눈의 좌표 정보를 결정하는 방법에 관한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 타겟 객체의 위치 정보를 획득하는 방법에 관한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 디바이스에 의해 사용자의 눈으로부터 가려진 영역에 관한 정보를 획득하는 방법에 관한 도면이다.
도 8A 및 도 8B는 본 개시의 다양한 실시 예에 따라 제공될 수 있는 증강현실 컨텐츠를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 적어도 하나의 객체를 조정하는 방법에 관한 도면이다.
본 명세서의 실시예들에서 사용되는 용어는 본 개시의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 또한, 본 명세서에서 사용되는 '제1' 또는 '제2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 시스템"이라는 표현은, 그 시스템이 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시의 실시예들은 증강 현실 장치를 위한 이미지 처리 방법 및 이를 수행하는 디바이스에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.
본 개시에서, '증강 현실(AR: Augmented Reality)'은 현실 세계의 물리적 환경 공간 내에 가상 이미지를 함께 보여주거나 현실 객체(real world object)와 가상 이미지를 함께 보여주는 것을 의미한다. '증강 현실 장치(Augmented Reality Device)'라 함은 '증강 현실(Augmented Reality)'을 표현할 수 있는 장치로서, 모바일 디바이스나, 차량에 탑재 가능한 디바이스, 안경 형상의 증강 현실 안경 장치(Augmented Reality Glasses)나, 헤드 마운트 디스플레이 장치(HMD: Head Mounted Display Apparatus) 또는 증강 현실 헬멧(Augmented Reality Helmet) 형태도 될 수 있다.
본 개시에서, 현실 장면(real scene)'이란 사용자가 증강 현실 디바이스를 통해서 보는 현실 세계의 장면으로서, 현실 객체(real world object)(들)를(을) 포함할 수 있다.
본 개시에서, '가상 이미지(virtual image)'는 광학 엔진을 통해 생성되는 이미지로 정적 이미지와 동적 이미지를 모두 포함할 수 있다. 이러한 가상 이미지는 현실 장면과 함께 관측되며, 현실 장면 속의 현실 객체에 대한 정보 또는 증강 현실 디바이스의 동작에 대한 정보나 제어 메뉴 등을 나타내는 가상의 이미지일 수 있다.
본 개시에서, '가상 객체'는 가상 이미지의 일부 영역을 의미한다. 가상 객체는 현실 객체와 관련된 정보를 나타낼 수 있다. 가상 객체는 예를 들어, 문자, 숫자, 기호, 아이콘, 이미지, 및 애니메이션 중 적어도 하나를 포함할 수 있다.
본 개시에서, '가상 이미지의 깊이(depth)'라 함은 사용자가 가상 이미지를 볼 때 공간 상에서 가상 이미지가 있다고 인식되는 거리 또는 위치를 의미한다. 예를 들어, 양안 시차를 이용하는 영상은 서로 다른 시선 방향의 좌안 가상 이미지와 우안 가상 이미지를 생성하며, 이때 서로 다른 시선 방향들은 사용자의 좌안에서 보는 시 방향과 우안에서 보는 시선 방향일 수 있다. 따라서 양안 시차(binocular disparity)를 이용하는 영상에서 가상 이미지의 깊이는 좌안에서 보는 시선 방향과 우안에서 보는 시선 방향에 의한 시차(즉, 양안 시차)에서 환산된 거리일 수 있다.
본 개시에서, '시선 방향(gaze direction)'이란 사용자가 응시하는 방향을 의미하며, '시선(gaze)'이란 사용자의 눈동자에서 시선 방향으로 향하는 가상의 선을 의미한다. 본 개시에서, '응시점(gaze point)'이란 사용자가 응시하는 지점을 가리키며, 사용자의 양안의 시선이 교차하는 지점으로 산출될 수 있다. 양안 시차를 이용하는 영상을 볼 때 사용자는 양안 시차에 의해 영상을 인식하므로, 사용자의 양안의 수렴각을 통해 얻어지는 응시점이 사용자가 가상 객체가 있다고 인식되는 지점(즉, 가상 이미지의 깊이)일 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
이하 첨부된 도면을 참고하여 개시를 상세히 설명하기로 한다.
도 1A는 본 개시의 일 실시 예에 따른 증강 현실 이미지를 설명하기 위한 도면이다.
현실 공간 내지 현실 세계에서 본 개시의 다양한 실시 예에 따른 증강 현실 이미지를 제공하는 디바이스 또는 방법이 사용될 수 있다. 예를 들어, 도 1A의 101 103 및 105에 도시된 바와 같이, 카페의 외벽, 창문, 또는 카페의 문과 같은 현실 객체가 포함된 환경에서, 본 개시는 사용자의 눈에 관한 정보에 기초하여 현실 장면을 처리함으로써 증강 현실 이미지를 제공할 수 있다. 예를 들어, 도 1Adml 105에 도시된 바와 같이, 디바이스가 사용자의 시선 정보에 기초하여 디바이스에 의해 가려진 영역에 적절한 AR 콘텐츠(contents)를 매핑함으로써 현실 객체인 카페의 문과 카페에 관한 정보를 지시하는 가상 객체가 결합된 AR 컨텐츠를 제공할 수 있다. 본 개시의 디바이스는 현실 세계와 디바이스에 의해 가려진 영역이 자연스럽게 이어지는 증강 현실 이미지를 제공하여 사용자의 집중력과 몰입도를 높일 수 있다.
도 1B는 본 개시의 일 실시 예에 따른 증강 현실 이미지를 제공하기 위해 이미지를 처리하는 디바이스의 구성 요소를 도시한 블록도이다.
도 1B 는 본 개시의 일 실시예에 따른 증강현실을 실현하기 위한 이미지를 처리하는 디바이스(100)의 구성 요소를 표시한 블록도이다. 본 개시의 디바이스(100)은 모바일 디바이스, 휴대폰(Cellular Phone), 스마트 폰, 퍼스널 컴퓨터(Personal Computer), TV, 타블렛, 노트북, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 디지털 카메라, 냉장고, 세탁기, 청소기, 건조기, 센서, 블랙박스, 자동차에 탑재 디바이스, 자동차에 탑재된 디바이스 내의 모듈, 자동차 그 자체를 포함할 수 있다. 그러나, 이에 한정되는 것은 아니고, 다양한 디바이스들을 포함할 수 있다.
디바이스(100)는 예를 들어, 무비 애플리케이션, 뮤직 애플리케이션, 포토 애플리케이션, 갤러리 애플리케이션, 웹 브라우저 애플리케이션, 전자책(e-book reader) 애플리케이션, 게임 애플리케이션, 증강 현실 애플리케이션, SNS 애플리케이션, 메신저 애플리케이션, 오브젝트 인식 애플리케이션 등을 실행함으로써, 각각의 애플리케이션에서 표시되는 가상 이미지 콘텐트를 사용자에게 제공할 수 있다.
도 1B를 참조하면, 디바이스(100)는 제 1 카메라(110), 제 2 카메라(120), 프로세서(130, 메모리(140), 디스플레이(150)을 포함할 수 있다. 도 1B는 본 개시의 일 실시예에 따른 디바이스(100)의 동작을 설명하기 위한 필수적 구성 요소만이 도시되었고, 증강 현실 디바이스(100)가 포함하는 구성 요소가 도 1B에 도시된 바와 같이 한정되는 것은 아니다. 도 1b에 도시되지 않은 구성을 추가로 포함하거나, 도 1B에 도시된 구성 중 일부를 생략할 수도 있다. 예를 들면, 디바이스(100)는 인공지능 모델, 예컨대, 적어도 하나의 학습 모델을 위한 별도의 프로세서, 예컨대, NPU(neural processing unit)를 더 포함할 수도 있다.
본 개시의 일 실시 예에 따르면, 제 1 카메라(110)는 디바이스(100)의 배면 방향을 촬영할 수 있고, 제 2 카메라(120)는 디바이스의 전면 방향을 촬영할 수 있다. 여기서, 디바이스의 배면은 사용자의 눈이 마주하는 면을 의미하고, 사용자의 전면은 배면에 대향되는 면(즉, 사용자의 눈에서 먼 쪽)을 의미한다. 제 1 카메라(110) 또는 제 2 카메라(120)는 하나 이상의 카메라를 포함할 수 있다. 제 1 카메라(110) 또는 제 2 카메라(120)는 하나 이상의 렌즈를 포함할 수 있다. 예를 들면, 제 1 카메라(110) 또는 제 2 카메라(120)는 초점 거리 등에 기초하여 표준 렌즈, 광각 렌즈, 망원 렌즈, 어안 렌즈, 마이크로 렌즈, 및 줌 렌즈 중 하나 이상의 종류의 렌즈를 포함할 수 있다. 촬영 목적에 따라 하나 이상의 렌즈가 선택될 수 있다. 본 개시의 일 실시 예에 따르면, 제 2 카메라(120)는 디바이스(100)의 전면에 배치 수 있다. 여기서, '전면'은 사용자가 디바이스를 사용하는 경우, 사용자의 눈에서 멀게 배치되고, 현실 장면에 가깝게 배치되는 위치 관계를 의미한다. 본 개시의 일 실시예에 따르면, 제 1 카메라(110)는 디바이스(100)의 배면에 배치될 수 있다.
프로세서(130)는 예를 들어, 중앙 처리 장치(Central Processing Unit, CPU), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit, GPU), NPU(neural processing unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 및 FPGAs(Field Programmable Gate Arrays) 중 적어도 하나의 하드웨어로 구성될 수 있으나, 이에 한정되는 것은 아니다.
디스플레이(150)은 가상 이미지의 광을 생성하도록 구성되고, 화상 패널, 조명 광학계, 투사 광학계 등을 포함하는 프로젝터(projector)의 광학 엔진일 수 있다. 디스플레이(150)는 광을 출력하는 광원, 광원으로부터 출력되는 광을 이용하여 2차원의 가상 이미지를 형성하는 화상 패널, 및 화상 패널에서 형성되는 가상 이미지의 광을 투사하는 투사광학계를 포함할 수 있다. 광원은 광을 조명하는 광학 부품으로서, RGB의 컬러를 조절하여 광을 생성할 수 있다. 광원은 예를 들어, 발광 다이오드(LED)로 구성될 수 있다. 화상 패널은 광원에 의해 조명된 광을 2차원 이미지를 담은 광으로 변조하면서, 반사하는 반사형 화상 패널로 구성될 수 있다. 반사형 화상 패널은 예를 들어, DMD(Digital Micromirror Device) 패널 또는 LCoS(Liquid Crystal on Silicon) 패널이나, 그밖의 공지의 반사형 화상 패널일 수 있다. 본 개시의 일 실시예에 따른 디스플레이(150)는 배면에 배치될 수 있다.
메모리(140)는 하나 이상의 명령어들을 포함하는 프로그램을 저장할 수 있다. 메모리(140)는 예를 들어, 플래시 메모리 타입(flash memory type), 램(RAM, Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 하드웨어 장치를 포함할 수 있다.
도 2는 본 개시의 일 실시 예에 따른 증강 현실 이미지를 제공하기 위해 디바이스가 이미지를 처리하는 방법을 도시한 흐름도이다.
단계 S210에서, 디바이스는 제 1 카메라를 이용하여 사용자의 눈을 포함하는 제 1 이미지를 획득할 수 있다. 일 실시예에서, 디바이스는 제 1 카메라를 이용한 촬영을 통해 사용자의 눈에 관한 이미지를 획득할 수 있다. 본 개시의 일 실시 예에 따르면, 디바이스는 제 1 이미지를 이용하여 사용자 식별(user identification)을 수행할 수 있다. 예를 들어, 디바이스는 제 1 이미지를 이용하여 홍채 인식 또는 얼굴 인식을 통해 사용자 식별을 수행할 수 있다.
일 실시예에서, 디바이스는 학습된 심층 신경망 모델(trained deep neural network)을 이용하거나 고전적인 특징 추출 기술(classical feature extraction technique)을 이용하여 얼굴 인식(face identification)을 수행함으로써 사용자 식별을 할 수 있다. 고전적인 특징 추출 기술은 로컬 바이너리 패턴(local binary pattern, LBP), 주성분 분석(principal component analysis)을 포함한다. 심층 신경망 모델은 예를 들어, 컨볼루션 신경망 모델(Convolutional Neural Network; CNN)일 수 있다. 그러나 이에 한정되는 것은 아니고, 심층 신경망 모델은 순환 신경망 모델(Recurrent Neural Network; RNN), 제한 볼츠만 머신(Restricted Boltzmann Machine; RBM), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks) 중 적어도 하나를 포함하는 공지의 인공지능 모델일 수 있다.
단계 S220에서, 디바이스는 제 1 이미지에 기초하여 사용자의 눈에 관한 정보를 획득할 수 있다. 일 실시예에서, 사용자의 눈에 관한 정보는 사용자의 시선 방향(gaze direction)에 관한 정보 또는 눈의 위치(location)에 관한 정보 중 적어도 하나를 포함할 수 있다. 눈의 위치에 관한 정보는 눈 영역(eye region)에 관한 정보, 눈과 디바이스 사이의 거리에 관한 정보, 디바이스와 눈의 좌표 정보 중 적어도 하나를 포함할 수 있다.
디바이스는 제 1 이미지에 기초하여 시선 방향에 관한 정보를 획득할 수 있다. 도 3에는 시선 방향에 관한 정보를 획득하는 방법 중 일부 실시예가 설명되어 있다. 본 개시의 일 실시 예에 따르면, 안구 모델을 이용하여 제 1 이미지로부터 사용자의 시선 방향에 관한 정보를 획득할 수 있다. 일 실시 예에 따르면, 디바이스는 제 1 이미지에 기초하여, 학습된 심층 신경망 학습 모델을 이용하여 시선 방향에 관한 정보를 획득할 수 있다. 일 실시 예에 따르면, 머리 포즈와 같은 보조 정보 및 눈 모양과 맵핑(mapping)되는 특징 벡터(feature vector)에 기초하여 시선 방향에 관한 정보를 획득할 수 있다. 일 실시예에 따르면, 디바이스는 제 1 이미지에 기초하여 눈 영역 검출을 수행하고 사용자의 시선 방향에 관한 정보를 획득할 수 있다. 일 실시 예에 따르면, 디바이스는 제 1 이미지에 기초하여 눈 영역 검출(eye region detection)을 수행하여 홍채 또는 눈 모서리와 같은 눈 영역의 랜드마크(land mark)에 관한 정보를 획득할 수 있다. 예를 들어, 눈 영역 검출은 하-모양 특징 추출 방법(Haar-like feature) 또는 조지 및 루트레이 방법(George & Routray)을 사용하여 수행될 수 있다. 하-모양 특징 추출 방법을 이용하는 경우, 두 눈은 명암이 상대적으로 어둡고 코는 명암이 상대적으로 밝은 명암 특징을 이용하여 디바이스는 이미지에서 눈의 영역을 검출할 수 있다.
디바이스는 제 1 이미지로부터 눈과 디바이스 사이의 거리에 관한 정보를 획득할 수 있다. 도 4에는 눈과 디바이스 사이의 거리에 관한 정보를 획득하는 방법 중 일부 실시 예가 설명되어 있다. 눈과 디바이스 사이의 거리는 눈과 제 1 카메라 사이의 거리로 이해될 수 있다. 일 실시예에 따르면, 디바이스는 사용자의 좌안과 우안 사이의 거리에 관한 정보에 기초하여 제 1 이미지로부터 눈과 디바이스 사이의 거리에 관한 정보를 획득할 수 있다. 본 개시의 일 실시 예에 따르면, 디바이스는 홍채의 직경에 관한 정보에 기초하여 제 1 이미지로부터 눈과 디바이스 사이의 거리에 관한 정보를 획득할 수 있다.
디바이스는 눈과 디바이스 사이의 거리에 관한 정보, 카메라의 초점 거리에 관한 정보에 기초하여 제 1 이미지로부터 디바이스와 눈의 좌표 정보를 식별 또는 결정할 수 있다. 도 5에는 디바이스와 눈의 좌표 정보를 식별 또는 결정하는 방법 중 일부 실시 예가 설명되어 있다. 디바이스는 눈과 디바이스 사이의 거리에 관한 정보, 카메라의 초점 거리에 관한 정보에 기초하여 눈과 디바이스의 좌표 정보를 식별할 수 있다. 디바이스는 디바이스의 스펙에 관한 정보, 눈과 디바이스의 좌표에 관한 정보에 기초하여 좌우 상하 모서리, 제 1 카메라, 제 2 카메라, 디스플레이 중 적어도 하나를 포함하는 디바이스의 좌표 정보를 식별 또는 결정할 수 있다. 디바이스의 스펙에 관한 정보는 디바이스에서 제 1 카메라의 위치 정보 또는 디바이스 모서리의 좌표 정보, 디바이스의 물리적 차원(physical dimension)에 관한 정보 중 적어도 하나를 포함할 수 있다.
단계 S230에서, 디바이스는 디바이스의 제 2 카메라를 이용하여 상기 사용자의 시선 방향에 위치하는 실제 환경을 포함하는 제 2 이미지를 획득할 수 있다. 디바이스는 제1 카메라의 촬영 방향과 촬영 방향이 반대인 디바이스의 제 2 카메라를 이용하여 상기 사용자의 시선 방향에 위치하는 실제 환경을 포함하는 제 2 이미지를 획득할 수 있다. 실제 환경을 포함하는 제 2 이미지는 하나 이상의 현실 객체를 포함할 수 있다.
단계 S240에서, 사용자의 시선 방향에 관한 정보에 기초하여, 제2 이미지로부터 사용자의 시선 방향에 위치하는 타겟 객체를 검출할 수 있다. 타겟 객체는 사용자의 시선 방향에 위치하는 객체 또는 응시점에 위치하는 객체로 이해될 수 있다. 검출 가능한 타겟 객체는 사람(들), 차(들), 광고물(들), 건물(들), 음식(들), 광원(들) 등 다양한 현실 객체를 포함할 수 있다. 일 실시 예에 따르면, 디바이스는 심층 신경망 모델을 이용하여 타겟 객체를 검출할 수 있다. 디바이스는 심층 신경망 모델을 이용하여 객체의 자세, 위치 또는 크기 등에 관한 정보를 획득할 수 있다. 심층 신경망 모델은 심층 신경망 모델은 예를 들어, 컨볼루션 신경망 모델(Convolutional Neural Network; CNN)일 수 있다. 그러나 이에 한정되는 것은 아니고, 심층 신경망 모델은 FPN(Feature Pyramid Network) 모델, 캐스케이드 R-CNN 모델(Cascade Region based CNN), 리브라 R-CNN 모델(Libra Region based CNN), 게이티드 쉐이프 CNN 모델(Gated Shape CNN), 마스크 R-CNN 모델(Mask R-CNN), 순환 신경망 모델(Recurrent Neural Network; RNN), 제한 볼츠만 머신(Restricted Boltzmann Machine; RBM), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks), D2Det 모델 중 적어도 하나를 포함하는 공지의 인공지능 모델일 수 있다.
일 실시 예에 따르면, 디바이스는 타겟 객체 검출 여부를 식별 또는 결정할 수 있다. 타겟 객체가 검출된 경우, 디바이스는 타겟 객체를 추적(tracking)할 수 있다. 디바이스는 학습된 심층 신경망을 이용하여 타겟 객체를 추적할 수 있다. 예를 들어, 디바이스는 학습된 심층 신경망을 이용하여 초당 100 프레임(frame)으로 객체를 추적할 수 있다. 타겟 객체가 검출되지 않은 경우, 디바이스는 다시 사용자의 시선 방향에 위치하는 타겟 객체를 검출할 수 있다. 한편, 디바이스는 ToF 센서(Time-of-Flight) 또는 LiDAR를 추가로 포함할 수 있고, 이를 이용하여 타겟 객체를 검출할 수 있다.
일 실시 예에 따르면, 디바이스는 타겟 객체의 위치 정보를 획득할 수 있다. 도 6에는 타겟 객체의 위치 정보를 획득하는 방법 중 일부 실시 예가 설명되어 있다. 타겟 객체의 위치 정보는 타겟 객체의 좌표 정보 또는 타겟 객체와 디바이스 사이의 거리에 관한 정보를 포함할 수 있다. 타겟 객체와 디바이스 사이의 거리는 타겟 객체와 디바이스의 제 2 카메라 사이의 거리 또는 제 2 이미지에서 타겟 객체의 깊이(depth)로 이해될 수 있다. 일 실시 예에 따르면, 디바이스는 실제 크기 정보에 기초하여 이미지의 픽셀 거리와 타겟 객체의 실체 크기 사이의 상관 관계를 이용하여 타겟 객체와 디바이스 사이의 거리를 계산할 수 있다. 디바이스는 하나 이상의 카메라를 이용하여 타겟 객체와 디바이스 사이의 거리를 계산, 식별, 또는 결정할 수 있다.
디바이스는 복수의 카메라를 이용하여 타겟 객체와 디바이스 사이의 거리를 계산할 수 있다. 디바이스는 사용자의 좌안을 촬영하는 좌안 카메라 및 사용자의 우안을 촬영하는 우안 카메라를 포함할 수 있고, 상기 좌안 카메라를 이용하여 좌안의 시선 방향을 나타내는 제1 시선 벡터를 획득하고, 상기 우안 카메라를 이용하여 우안의 시선 방향을 나타내는 제2 시선 벡터를 획득하고, 양안 시차(binocular disparity)에 따라 상기 제1 시선 벡터와 상기 제2 시선 벡터가 수렴하는 응시점을 검출하고, 검출된 상기 응시점의 3차원 위치 좌표 정보를 획득할 수 있다.
디바이스는 하나의 카메라를 이동하여 복수의 카메라를 사용하는 경우와 같이 타겟 객체와 디바이스 사이의 거리를 계산할 수 있고, 디바이스는 관성 센서를 포함할 수 있다. 일 실시 예에 따르면, 디바이스는 학습된 심층 신경망 모델을 이용하여 타겟 객체와 디바이스 사이의 거리를 계산할 수 있다. 학습된 심층 신경망 모델은 인코더(encoder)-디코더(decoder) 기반 아키텍처(architecture)로 구성될 수 있고, 단일 카메라를 통해 촬영한 이미지를 입력하여 훈련될 수 있다. 학습된 심층 신경망 모델은 2개 이상의 카메라를 통해 촬영한 이미지를 입력하여 훈련하여 훈련될 수 있다.
단계 S 250에서, 디바이스의 스펙(specification)에 관한 정보 및 눈의 위치에 관한 정보에 기초하여, 디바이스는 제 2 이미지로부터, 디바이스에 의해 사용자의 눈으로부터 가려진 영역에 관한 제 3 이미지를 획득할 수 있다. 도 7에는 제 3 이미지를 획득하는 방법 중 일부 실시예가 설명되어 있다. 도 7의 설명을 참조하여 수행될 수 있다. 일 실시예에서, 디바이스의 스펙에 관한 정보는 디바이스의 물리적 크기에 관한 정보, 제 2 카메라의 FOV 값 (Field of view value)에 관한 정보, 디바이스의 높이, 너비 등에 관한 정보, 디바이스에서 제 1 카메라 또는 제 2 카메라의 위치 정보 또는 상기 제 2 카메라의 해상도에 관한 정보 중 적어도 하나를 포함할 수 있다. 디바이스에 의해 사용자의 눈으로부터 가려진 영역은 이미지 평면(image plane)에서 디바이스의 투영 영역(projection area) 또는 폐색 영역 (occlusion zone)으로 이해될 수 있다. 눈의 위치에 관한 정보는 눈과 디바이스 사이의 거리에 관한 정보, 디바이스와 눈의 좌표 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 디바이스는 디바이스의 물리적 크기에 대한 정보를 포함하는 디바이스의 스펙에 관한 정보 및 상기 눈의 위치에 관한 정보에 기초하여, 사용자의 눈으로부터 디바이스에 의해 가려진 영역을 계산할 수 있다. 디바이스는 계산 결과를 이용하여 제 2 이미지로부터 사용자의 눈으로부터 디바이스에 의해 가려진 영역에 관한 제 3 이미지를 획득할 수 있다. 일 실시예에서, 디바이스는 제 2 이미지를 자르거나(cropping), 늘리거나(stretching), 확대하는(zooming) 등 변형을 함으로써 사용자의 눈으로부터 디바이스에 의해 가려진 영역에 관한 제 3 이미지를 획득할 수 있다.
단계 S260에서, 디바이스는 디바이스와 타겟 객체 사이의 거리에 관한 정보, 시선 방향에 관한 정보, 제 3 이미지 중 적어도 하나에 기초하여 적어도 하나의 객체의 속성을 조정할 수 있다. 객체는 가상 객체 또는 현실 객체 중 적어도 하나를 포함할 수 있다. 예를 들어, 디바이스는 가상 객체를 회전시켜 가상 객체의 속성을 조정할 수 있다. 디바이스는 가상 객체의 형상(shape) 또는 크기(size) 등을 포함하는 기하학적 특성을 변형하여 가상 객체를 조정할 수 있다. 디바이스는 가상 객체의 색상(color) 또는 질감(texture) 등을 변형하여 가상 객체를 조정할 수 있다. 디바이스는 가상 객체의 위치를 변형하여 가상 객체의 소성을 조정할 수 있다. 디바이스는 시선 방향에 관한 정보를 포함하는 사용자의 눈에 관한 정보에 기초하여 가상 객체를 블러링(blurring)하여 가상 객체를 조정할 수 있다. 예를 들어, 가상 객체가 서로 다른 위치에 있는 경우, 사용자의 시선 방향에 위치하지 않은 가상 객체에 대하여 블러링(blurring)을 수행할 수 있다. 디바이스는 사용자와 목표 객체와의 거리 또는 디바이스와 목표 객체와의 거리에 관한 정보에 기초하여 가상객체의 가시성(visibility)을 조정할 수 있다. 예를 들어, 디바이스는 목표 객체와의 거리가 임계값(threshold) 이상인 경우 가상 객체가 사용자에게 보이지 않게 하고, 임계값 이하인 경우 가상 객체가 사용자에게 보이도록 할 수 있다. 다른 예를 들어, 디바이스(130)는 목표 객체와의 거리가 임계값 이상인 경우 가상 객체가 사용자에게 보이도록 하고, 목표 객체와의 거리가 임계값 이하인 경우 사용자에게 보이지 않도록 할 수 있다. 디바이스는 디바이스와 목표 객체와의 거리에 관한 정보 및 현실 객체의 경계에 관한 정보에 기초하여 가상 객체의 폐색(Occlusion)을 처리할 수 있다. 예를 들어, 디바이스는 가상 객체의 일부 픽셀이 현실 객체에 의해 가려지도록 가상 객체의 심도 정보(depth information)를 조정할 수 있다. 디바이스는 Z 버퍼링(z-buffering) 또는 심층 신경망 모델을 이용하여 가상 객체의 폐색을 처리할 수 있다. 디바이스는 가상 객체와 마찬가지로 현실 객체를 조정할 수 있다.
단계 S270에서, 조정된 가상 객체 제 3 이미지를 이용하여 증강 현실 이미지를 획득할 수 있다. 일 실시예에서, 디바이스는 조정된 가상 객체와 제 3 이미지를 결합하거나, 겹치거나 병합하여 증강 현실 이미지를 획득할 수 있다. 일 실시예에 따른 디바이스는 사용자의 눈에 관한 정보에 기초하여 이미지를 처리함으로써 자연스러운 시각 콘텐츠를 제공할 수 있고 향상된 시각 경험을 제공할 수 있다. 또한 디바이스에 의해 가려진 영역에 맵핑되는 증강현실 컨텐츠를 통해 사용자에게 현실 세계의 위험 상황으로부터 경고를 할 수 있다. 현실 세계의 위험 상황은 맨홀, 차량, 투사체, 구조물, 인물 등을 포함할 수 있다. 디바이스는 증강 현실 이미지를 디스플레이에 렌더링(rendering)할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 시선 방향에 관한 정보를 획득하는 방법을 설명하기 위한 도면이다. 도 3의 300은 안구 모델에 기초하여 시선 방향에 관한 정보를 획득 하는 방법에 관한 이미지이다. 도 3의 350은 심층 신경망 모델(deep neural network)을 이용하여 시선 방향에 관한 정보를 획득하는 방법에 관한 이미지이다.
도 3의 300은 안구 모델에 기초하여 시선 방향에 관한 정보를 획득 하는 방법에 관한 이미지이다. 본 개시의 일 실시 예에 따르면, 프로세서는 안구 모델에 기초하여 시선 방향에 관한 정보를 획득할 수 있다. 안구 모델은 눈의 기하학적 모델로 이해될 수 있다. 예를 들어, 프로세서는 각막에 관한 정보, 동공 중심에 관한 정보 등을 포함하는 눈의 기하학적 모델에 관한 정보에 기초하여 시선 방향에 관한 정보를 획득할 수 있다. 각막과 동공 중심을 연결하는 선을 광축(optical axis), 각막 중심(cornea center)와 중심와(fovea)를 통과하는 선을 시축(visual axis)이라고 할 때, 프로세서(130)은 광축과 시축에 기초하여 시선 방향을 계산할 수 있다. 한편, 응시점(gaze point)는 시축(visual axis)와 디스플레이 표면 사이의 교차점으로 이해될 수 있다.
도 3의 350은 심층 신경망 모델(deep neural network)을 이용하여 시선 방향에 관한 정보를 획득하는 방법에 관한 이미지이다. 본 개시의 일 실시 예에 따르면, 프로세서는 제 1 이미지에 기초하여, 학습된 심층 신경망 모델을 이용하여 사용자의 시선 방향에 관한 정보를 획득할 수 있다. 학습된 신경망 모델은 획득된 복수의 눈에 관한 이미지를 입력으로 하고, 시선 방향에 관한 정보를 라벨값(label을 정답값(groundtruth)으로 하는 지도 학습(supervised learning)을 통해 트레이닝된 인공 지능 모델일 수 있다. 심층 신경 학습망 모델은 회귀 모델(regression model) 또는 분류 모델(classification model)을 포함할 수 있다. 예를 들어, 프로세서는 회귀 모델을 이용하여 눈에 관한 이미지로부터 사용자의 시선 방향에 관한 정보를 획득할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 눈과 디바이스 사이의 거리에 관한 정보를 획득하는 방법에 관한 도면이다. 도 4의 400은 사용자의 좌안과 우안 사이의 거리에 관한 정보에 기초하여 눈과 디바이스 사이의 거리에 관한 정보를 획득하는 방법에 관한 이미지이다. 도 450은 홍채의 직경에 관한 정보에 기초하여 눈과 디바이스 사이의 거리에 관한 정보를 획득하는 방법에 관한 도면이다.
본 개시의 일 실시예에 따르면, 프로세서는 사용자의 좌안과 우안 사이의 거리에 관한 정보에 기초하여 제 1 이미지로부터 눈과 디바이스 사이의 거리에 관한 정보를 획득할 수 있다. 예를 들어, 도 4의 400에 도시된 바와 같이 디바이스와 사람이 위치하는 경우, 프로세서는 하기 수학식 2에서 정의된 바와 같이 디바이스와 눈 사이의 거리(D)를 계산할 수 있다.
[수학식 1]
수학식 2 에 따르면, 프로세서는 카메라 시야각(), 기준 이미지에서 동공간 거리(E), 기준 이미지의 넓이(W), 사용자의 동공간 거리(L)에 기초하여 디바이스와 눈 사이의 거리(D)를 계산할 수 있다.
다른 예를 들어, 프로세서는 하기 수학식 1에서 정의된 바와 같이 디바이스와 눈 사이의 거리()를 계산할 수 있다.
[수학식 2]
수학식 1 에 따르면, 프로세서는 기준 이미지에서 눈과 디바이스 사이의 거리(), 기준 이미지에서 동공간 거리(), 제 1 이미지에서 동공간 거리()에 기초하여 디바이스와 눈 사이의 거리()를 계산할 수 있다.
본 개시의 일 실시 예에 따르면, 프로세서는 홍채의 직경에 관한 정보에 기초하여 제 1 이미지로부터 디바이스와 눈 사이의 거리를 계산할 수 있다. 예를 들어, 전 인구에 걸쳐 홍채의 수평 직경이 대략 11.70.5 mm로 일정하다는 가정 하에 제 1 이미지에서의 홍채 직경에 관한 정보에 기초하여 디바이스와 눈 사이의 거리를 계산할 수 있다. 도 4의 450에 도시된 바와 같이, 제 1 이미지에서 좌우 홍채 직경에 관한 정보에 기초하여 좌안과의 거리는 40cm, 우안과의 거리는 39cm라는 정보를 획득할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 디바이스 또는 눈의 좌표 정보를 결정하는 방법에 관한 도면이다. 도 5의 500은 눈의 좌표 정보를 결정하는 방법에 관한 이미지이다. 도 5의 550은 디바이스의 좌표 정보를 결정하는 방법에 관한 이미지이다.
본 개시의 일 실시 예에 따르면, 프로세서는 눈과 디바이스 사이의 거리에 관한 정보, 제 1 카메라의 초점 거리에 관한 정보에 기초하여 제 1 이미지로부터 디바이스와 눈의 좌표 정보를 식별 또는 결정할 수 있다. 디바이스의 위치에 관한 정보는 제 1 카메라의 위치에 관한 정보를 포함할 수 있다.
프로세서는 눈과 디바이스 사이의 거리에 관한 정보, 제 1 카메라의 초점 거리에 관한 정보에 기초하여 제 1 이미지로부터 눈의 좌표 정보를 계산, 식별 또는 결정할 수 있다. 예를 들어, 도5의 500에 도시된 바와 같이, 제 1 카메라의 위치를 원점, 디바이스의 평면이 XY 평면에 위치하고, 제 1 카메라의 광축이 z 축과 나란하게 위치한다고 가정하는 경우, 수학식 3과 수학식 4에 정의된 바와 같이, 프로세서는 눈의 위치에 관한 정보를 식별 또는 계산할 수 있습니다.
[수학식 3]
[수학식 4]
수학식 3 및 수학식 4에 따르면, 디바이스에서 카메라의 좌표를 원점이라고 가정하고 좌안(Left Eye)과 제 1 카메라 사이의 거리 , 좌안이 위치한 평면과 제 1 카메라 사이의 거리 d, 이미지 평면에서의 좌안의 좌표 제 1 카메라의 초점 거리 , 이미지 평면에서 좌안의 위치 좌표 P' LE (x',y') 에 기초하여 좌안의 위치 좌표 를 계산할 수 있다.
프로세서는 눈과 디바이스 사이의 거리에 관한 정보, 디바이스 스펙(specification)에 관한 정보, 눈의 좌표 정보에 기초하여 디바이스 위치를 계산, 식별 또는 결정할 수 있다. 예를 들어, 도5의 550에 도시된 바와 같이, 디바이스와 눈이 위치하는 경우, 프로세서는 눈과 디바이스 사이의 거리에 관한 정보, 디바이스 스펙(specification)에 관한 정보, 눈의 좌표 정보에 기초하여 디바이스의 좌상단 모서리(TL), 우상단 모서리(TR), 좌하단 모서리(BL), 우하단 모서리(BR), 디스플레이, 제 1 카메라 또는 제 2 카메라의 좌표 정보 중 적어도 하나를 계산할 수 있다. 본 개시의 다양한 실시예에 따르면, 좌안 또는 우안 중 적어도 하나만 있는 경우에도 디바이스의 위치 정보, 눈의 위치 정보를 계산할 수 있다.
도 6은 본 개시의 일 실시 예에 따른 타겟 객체의 위치 정보를 획득하는 방법에 관한 도면이다. 타겟 객체의 위치 정보는 타겟 객체와 디바이스 사이의 거리에 관한 정보 또는 타겟 객체의 좌표 정보를 포함할 수 있다.
프로세서는 2개 이상의 카메라를 이용하여 타겟 객체의 위치 정보를 획득할 수 있다. 타겟 객체는 시선 방향 또는 응시점에 위치하는 객체로 이해될 수 있다. 예를 들어, 도 6에 도시된 바와 같이 대상 객체의 좌표를 , 좌안 카메라의 이미지 평면에서의 P의 투영점을 (), 우안카메라의 이미지 평면에서의 P의 투영점을 (), 두 개의 카메라가 같은 수평면(horizontal plane)에 배치되고(), 카메라 광학 중심(optical center) 사이의 거리를 B, 카메라의 초점 거리를 f라고 가정하는 경우, 프로세서는 양안시차 와 응시점 를 다음 수학식과 같이 계산할 수 있다.
(5)
(6)
(7)
수학식 5 내지 7에 따르면, 프로세서는 양안 시차를 이용하여 타겟 객체의 위치에 관한 정보를 획득할 수 있다. 하나의 카메라를 사용하여 이미지를 획득한 경우, 프로세서는 하나의 카메라를 이동함으로써, 복수의 카메라를 사용한 경우를 참조하여 타겟 객체의 위치에 관한 정보를 획득할 수 있고, 디바이스의 변위는 관성 센서를 사용하여 측정될 수 있다.
도 7은 본 개시의 일 실시 예에 따른 디바이스에 의해 사용자의 눈으로부터 가려진 영역에 관한 정보를 획득하는 방법에 관한 도면이다. 도 7의 700은 디바이스에 의해 좌안으로부터 가려진 영역에 관한 정보를 획득하는 방법에 관한 이미지이다. 도 7의 750은 양안시(binoclular vision)에서 디바이스에 의해 가려진 영역에 관한 이미지이다.
프로세서는 디바이스의 물리적 크기에 대한 정보를 포함하는 디바이스의 스펙에 관한 정보 및 눈의 위치에 관한 정보에 기초하여, 사용자의 눈으로부터 디바이스에 의해 가려진 영역을 계산할 수 있다. 프로세서는 디바이스의 물리적 크기에 대한 정보를 포함하는 디바이스의 스펙에 관한 정보 및 눈의 위치에 관한 정보에 기초하여, 제 2 이미지로부터, 투영 영역을 계산할 수 있다. 예를 들어, 도 7의 700과 같이 제 1 카메라 및 제 2 카메라의 위치를 원점 , 디바이스가 XY-평면에 위치하고, 제 1 카메라 및 제 2 카메라의 광축(optical axis)가 z 축과 평행하다고 가정하면, 하기의 수학식과 같이 투영 영역을 계산할 수 있다. 을 디바이스 좌측 모서리(edge), (x P ,y P ,z P )을 좌안(Right Eye)의 위치, 를 이미지 평면에서의 좌측 모서리의 투영점, 를 이미지 평면에서의 제 2 카메라의 투영점, 를 제 2 카메라에서 이미지 평면으로 수선을 그렸을 때 만나는 점이라고 할 때, 디바이스의 좌측 모서리가 투영된 지점까지의 길이 은 다음의 수학식들에 의해 계산될 수 있다.
(8)
수학식 8에 따르면, 디바이스의 좌측 모서리가 투영된 지점까지의 길이 의 합으로 이해될 수 있으므로 를 각각 계산하여 프로세서는 를 계산할 수 있다.
(9)
(10)
(11)
(12)
수학식 9 내지 12에 따르면, 프로세서는 삼각형의 닮음 및 삼각비를 이용하여 를 계산할 수 있다. 좌안과 제 1 카메라 사이의 거리 , 디바이스의 너비(width) , 제 2 이미지 너비 , 제 2 카메라의 FOV (field of view) 값(value) 에 기초하여, 프로세서는 를 계산할 수 있다.
(13)
(14)
수학식 11, 13, 14 에 따르면, 프로세서는 삼각형의 닮음 및 삼각비를 이용하여 를 계산할 수 있다. 좌안과 제 1 카메라 사이의 거리 (또는 ), 디바이스의 너비(width) , 제 2 이미지 너비 , 제 2 카메라의 FOV (field of view) 값(value) 에 기초하여, 프로세서는 를 계산할 수 있다.
15)
수학식 12, 14, 15 에 따르면, 프로세서는 좌안과 제 1 카메라 사이의 거리 (또는 ), 디바이스의 너비(width) , 제 2 이미지 너비 , 제 2 카메라의 FOV (field of view) 값(value) 에 기초하여, 프로세서는 를 계산할 수 있다. 우안(Right Eye)에서도 마찬가지로 계산을 수행하여 투영 영역을 계산할 수 있다. 상기 수학식 7 내지 14는 예시적인 것이고 프로세서(130)가 상기 수학식 7 내지 14에 따라 투영 영역을 계산하는 것으로 한정되는 것은 아니다. 설명의 편의를 위하여, 제 1 카메라와 제 2 카메라가 공간 상에서 같은 지점에 위치한 경우를 들어 설명하였으나 제 1 카메라와 제 2 카메라는 서로 다른 곳에 위치할 수 있다. 디바이스가 이미지 평면으로 투영되는 영역, 즉 눈으로부터 디바이스에 의해 가려진 영역은 눈의 개수 또는 위치에 따라 수정될 수 있다. 예를 들어, 도 7의 750에 도시된 바와 같이 우안으로부터 디바이스에 의해 가려진 영역이 좌안에 의해 보일 수 잇고, 좌안으로부터 디바이스에 의해 가려진 영역이 우안에 의해 보일 수 있으므로 양안시(binocular vision)에서 가려진 영역은 단안시(monocular vision)에서 보다 작아질 수 있다.
도 8A 및 도 8B는 본 개시의 다양한 실시 예에 따라 제공될 수 있는 증강현실 컨텐츠를 설명하기 위한 도면이다.
본 개시의 다양한 실시 예는, AR 네비게이션에 사용될 수 있다. 예를 들어, 도 8A의 810에 도시된 바와 같이, AR 네비게이션에서는 방향, 거리 등을 지시하는 가상 객체가 포함된 증강 현실 이미지가 제공될 수 있다. 사용자는 증강 현실 이미지와 현실 세계가 자연스럽게 이어짐으로써 외부로 주의가 분산되지 않고 길을 찾을 수 있다.
본 개시의 다양한 실시 예는 AR 게임과 같은 AR 컨테츠에 사용될 수 있다. 예를 들어, 도 8A의 820 및 820에 도시된 바와 같이, 사용자가 디바이스를 통해 AR 컨텐츠를 사용 중인 경우, 사용자는 디바이스에 의해 가려진 영역에 존재하는 맨홀 또는 차량 등 위험한 현실 객체를 인식하지 못할 수 있다. 본 개시의 다양한 실시 예는 사용자의 시야에서 디바이스에 의해 가려진 영역에 현실 객체가 포함된 증강 현실 이미지를 사용자에게 제공할 수 있다. 본 개시는 증강 현실 이미지를 제공함으로써 디바이스에 의해 가려진 영역에 존재할 수 있는 위험 상황을 사용자가 인식하게 할 수 있다.
본 개시의 다양한 실시예는 AR 원격 도우미(remote assistant) 또는 AR 유저 매뉴얼(user manual)에 사용될 수 있다. 예를 들어, 도 8A의 840에 도시된 바와 같이, 사용자가 차량에 탑승한 경우, 차의 인터페이스에 관한 설명을 지시하는 가상 객체가 포함된 증강 현실 이미지를 제공할 수 있다. 다른 예를 들어, 가구 조립시 각 부품에 관한 설명에 관한 가상 객체가 포함된 증강 현실 이미지를 제공할 수 있다.
본 개시의 다양한 실시예는 AR 트래블링 어시스턴트(travelling assistant)에 사용될 수 있다. 예를 들어, 도 8B의 850에 도시된 바와 같이, 유명 장소, 지형물의 이름, 해발고도, 또는 위치에 관한 정보를 지시하는 가상 객체가 포함된 증강 현실 이미지가 제공될 수 있다. 안경을 착용하지 않는 등 사용자의 시력 저하로 인해 사용자의 시야가 확보되지 않은 상황에서 선명한 증강 현실 이미지가 제공될 수 있다.
본 개시의 다양한 실시예는 AR 사람 인식(person recognition)에 사용될 수 있다. 예를 들어, 도 8B의 860에 도시된 바와 같이, 목표 객체가 사진이나 그림 속의 인물, 동영상 속의 인물 또는 현실 속의 인물에 해당하는 경우, 인물의 얼굴을 인식함으로써 인식된 인물의 이름, 직업, 이력 등 인적 사항을 지시하는 가상 객체가 포함된 증강 현실 이미지가 제공될 수 있다.
본 개시의 다양한 실시 예는 AR 쇼핑에 사용될 수 있다. 예를 들어, 예를 들어, 도 8B의 870에 도시된 바와 같이, 사용자가 가구를 쇼핑하려는 경우, 본 개시는 집 내부 등 실제 환경에 관한 이미지를 이용하여 가구에 관한 객체가 포함된 증강 현실 이미지를 제공할 수 있다. 사용자는 쇼핑하고자 하는 아이템에 관한 가상 객체가 현실 장면에 맞추어 조정됨으로써 향상된 AR 경험을 획득할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 적어도 하나의 객체를 조정하는 방법에 관한 도면이다. 객체는 가상 객체 또는 현실 객체 중 적어도 하나를 포함할 수 있다.
프로세서는 시선 방향에 관한 정보를 포함하는 사용자의 눈에 관한 정보에 기초하여 적어도 하나의 객체를 블러링(blurring)하여 객체를 조정할 수 있다. 예를 들어, 도9의 901에 도시된 바와 같이, 객체가 서로 다른 위치에 있는 경우, 사용자의 시선 방향에 위치하지 않은 가상 객체에 대하여 블러링(blurring)을 수행할 수 있다.
프로세서는 사용자와 목표 객체와의 거리 또는 디바이스와 목표 객체와의 거리에 관한 정보에 기초하여 가상객체의 가시성(visibility)을 조정할 수 있다. 예를 들어, 도9의 903에 도시된 바와 같이 프로세서는 목표 객체와의 거리가 임계값(threshold) 이상인 경우 가상 객체가 사용자에게 보이지 않게 하고, 임계값 이하인 경우 가상 객체가 사용자에게 보이도록 할 수 있다. 다른 예를 들어, 프로세서는 목표 객체와의 거리가 임계값 이상인 경우 가상 객체가 사용자에게 보이도록 하고, 목표 객체와의 거리가 임계값 이하인 경우 사용자에게 보이지 않도록 할 수 있다.
프로세서는 디바이스와 목표 객체와의 거리에 관한 정보 및 현실 객체의 경계에 관한 정보에 기초하여 가상 객체의 폐색(Occlusion)을 처리할 수 있다. 예를 들어, 도9의 905에 도시된 바와 같이, 프로세서는 가상 객체의 일부 픽셀이 현실 객체에 의해 가려지도록 가상 객체의 심도 정보(depth information)를 조정할 수 있다. 프로세서는 Z 버퍼링(z-buffering) 또는 심층 신경망 모델을 이용하여 가상 객체의 폐색을 처리할 수 있다.
본 개시의 일 실시 예에 따르면, 증강 현실 이미지를 제공하기 위한 이미지 처리 방법이 제공될 수 있다. 상기 방법은 1 카메라를 이용하여 사용자의 눈을 포함하는 제 1 이미지를 획득하는 단계를 포함할 수 있다. 상기 방법은 상기 제 1 이미지에 기초하여 사용자의 눈에 관한 정보를 획득하는 단계를 포함할 수 있다. 상기 사용자의 눈에 관한 정보는 상기 사용자의 시선 방향에 관한 정보 및 눈의 위치에 관한 정보를 포함할 수 있다. 상기 방법은 상기 제1 카메라의 촬영 방향과 촬영 방향이 반대인 제 2 카메라를 이용하여 상기 사용자의 시선 방향에 위치하는 실제 환경을 포함하는 제 2 이미지를 획득하는 단계를 포함할 수 있다. 상기 방법은 상기 사용자의 시선 방향에 관한 정보에 기초하여, 상기 제2 이미지로부터 상기 사용자의 시선 방향에 위치하는 타겟 객체를 검출하는 단계를 포함할 수 있다. 상기 방법은 상기 디바이스의 물리적 크기에 대한 정보를 포함하는 상기 디바이스의 스펙에 관한 정보 및 상기 눈의 위치에 관한 정보에 기초하여, 상기 제 2 이미지로부터 상기 디바이스에 의해 상기 사용자의 눈으로부터 가려진 영역에 관한 제 3 이미지를 획득할 수 있다. 상기 방법은 상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보, 상기 시선 방향에 관한 정보, 및 상기 제 3 이미지에 기초하여 적어도 하나의 가상 객체의 속성을 조정하는 단계를 포함할 수 있다. 상기 방법은 상기 조정된 적어도 하나의 가상 객체 및 상기 제 3 이미지를 이용하여 증강 현실 이미지를 획득하는 단계를 포함할 수 있다.
상기 방법은 증강 현실 이미지를 디스플레이 렌더링하는 단계를 포함할 수 있다. 상기 방법은 상기 타겟 객체가 검출된 경우, 상기 타겟 객체를 추적하는 단계를 포함할 수 있다. 상기 방법은 상기 적어도 하나의 가상 객체의 형상, 크기, 색상 및 질감 중 적어도 하나를 변형하는 단계를 포함할 수 있다. 상기 방법은 상기 시선 방향에 관한 정보에 기초하여 적어도 하나의 가상 객체를 블러링(blurring)하는 단계를 포함할 수 있다. 상기 방법은 상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보에 기초하여 상기 적어도 하나의 가상 객체의 가시성(visibility)을 조정하는 단계를 포함할 수 있다. 상기 방법은 상기 적어도 하나의 가상 객체의 일부 영역이 현실 객체에 의해 가려지도록 상기 적어도 하나의 가상 객체의 심도 정보(depth information)를 조정하는 단계를 포함할 수 있다. 상기 디바이스의 스펙에 관한 정보는 상기 제 2 카메라의 FOV 값 (Field of view value)에 관한 정보 및 상기 제 2 카메라의 해상도에 관한 정보를 포함할 수 있다. 상기 방법은 상기 제 2 이미지를 자르거나, 확대하거나, 또는 늘리는 변형을 함으로써 상기 사용자의 눈으로부터 가려진 영역에 관한 상기 제 3 이미지를 획득하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따르면, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공될 수 있다.
본 개시의 일 실시 예에 따르면, 증강 현실 이미지를 제공하기 위해 이미지를 처리하는 디바이스가 제공될 수 있다. 상기 디바이스는 제 1 카메라, 상기 제1 카메라의 촬영 방향과 촬영 방향이 반대인 제 2 카메라, 적어도 하나의 메모리 및 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는 상기 메모리에 저장된 적어도 하나의 인스트럭션을 상기 적어도 하나의 프로세서는 상기 제 1 카메라를 이용하여 사용자의 눈을 포함하는 제 1 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 1 이미지에 기초하여, 상기 사용자의 시선 방향에 관한 정보 및 눈의 위치에 관한 정보를 포함하는 사용자의 눈에 관한 정보를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 2 카메라를 이용하여 상기 사용자의 시선 방향에 위치하는 실제 환경을 포함하는 제 2 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 사용자의 시선 방향에 관한 정보에 기초하여, 상기 제2 이미지로부터 상기 사용자의 시선 방향에 위치하는 타겟 객체를 검출할 수 있다. 상기 적어도 하나의 프로세서는 상기 디바이스의 물리적 크기에 대한 정보를 포함하는 상기 디바이스의 스펙에 관한 정보 및 상기 눈의 위치에 관한 정보에 기초하여, 상기 제 2 이미지로부터, 상기 디바이스에 의해 상기 사용자의 눈으로부터 가려진 영역에 관한 제 3 이미지를 획득할 수 있다. 상기 적어도 하나의 프로세서는 상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보, 상기 시선 방향에 관한 정보, 및 상기 제 3 이미지에 기초하여 적어도 하나의 가상 객체의 속성을 조정할 수 있다. 상기 적어도 하나의 프로세서는 상기 조정된 가상 객체 및 제 3 이미지를 이용하여 증강 현실 이미지를 획득할 수 있다.
상기 적어도 하나의 프로세서는 증강 현실 이미지를 디스플레이에 렌더링할 수 있다. 상기 적어도 하나의 프로세서는 상기 타겟 객체가 검출된 경우, 상기 타겟 객체를 추적할 수 있다. 상기 적어도 하나의 프로세서는 상기 적어도 하나의 가상 객체의 형상, 크기, 색상 및 질감 중 적어도 하나를 변형할 수 있다. 상기 적어도 하나의 프로세서는 상기 시선 방향에 관한 정보에 기초하여 적어도 하나의 가상 객체를 블러링(blurring) 할 수 있다. 상기 적어도 하나의 프로세서는 상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보에 기초하여 상기 적어도 하나의 가상 객체의 가시성(visibility)을 조정할 수 있다. 상기 적어도 하나의 프로세서는 상기 적어도 하나의 가상 객체의 일부 영역이 현실 객체에 의해 가려지도록 상기 적어도 하나의 가상 객체의 심도 정보(depth information)를 조정할 수 있다. 상기 디바이스의 스펙에 관한 정보는 상기 제 2 카메라의 FOV 값 (Field of view value)에 관한 정보 및 상기 제 2 카메라의 해상도에 관한 정보를 포함할 수 있다. 상기 적어도 하나의 프로세서는 상기 제 2 이미지를 자르거나, 확대하거나, 또는 늘리는 변형을 함으로써 상기 사용자의 눈으로부터 가려진 영역에 관한 상기 제 3 이미지를 획득할 수 있다.
본 개시의 다양한 실시 예는 실제 환경과 자연스럽게 이어지는 증강 현실 이미지가 제공함으로써 현실 객체와 비교 인식이 용이하여 사용자 편의가 향상되고 주의가 덜 분산되어 사용자의 피로도를 경감시킬 수 있다. 본 개시의 다양한 실시 예는 디바이스에 의해 가려진 영역에 포함된 현실 객체를 적절하게 제공함으로써 사용자의 안전을 확보할 수 있다. 본 발명의 실시예는 전술되거나 후술되는 실시예에 한하지 않으며, 다양한 분야에서 사용될 수 있다.
본 개시에서 설명된 디바이스(100)는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 개시된 실시예들에서 설명된 디바이스(100)는 프로세서, ALU(arithmetic logic unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 마이크로컴퓨터, 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.
소프트웨어는, 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체로는, 예를 들어 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD, Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시예에 따른 동작이 가능한 장치로서, 개시된 실시예들에 따른 증강 현실 디바이스(100)를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 개시된 실시예들에 따른 디바이스(100) 또는 그 동작 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 소프트웨어 프로그램, 소프트웨어 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 디바이스(100)의 제조사 또는 전자 마켓(예를 들어, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 소프트웨어 프로그램 형태의 상품(예를 들어, 다운로드 가능한 애플리케이션(downloadable application))을 포함할 수 있다. 전자적 배포를 위하여, 소프트웨어 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 소프트웨어 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 단말(예를 들어, 증강 현실 디바이스)로 구성되는 시스템에서, 서버의 저장매체 또는 단말의 저장매체를 포함할 수 있다. 또는, 서버 또는 단말과 통신 연결되는 제3 장치(예, 스마트 폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 단말 또는 제3 장치로 전송되거나, 제3 장치로부터 단말로 전송되는 소프트웨어 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 단말 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 단말 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 단말이 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제3 장치가 컴퓨터 프로그램 제품을 실행하여, 제3 장치와 통신 연결된 단말이 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다.
제3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 장치는 프리로드된(pre-loaded) 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 본 개시의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자 에게 명확하게 이해될 수 있을 것이다.
또한, 이상에서는 본 개시의 실시예에 대하여 도시하고 설명하였지만, 본 개시는 전술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 전자 장치, 구조, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (20)

  1. 디바이스가 증강 현실 이미지를 제공하기 위한 이미지 처리 방법에 있어서,
    제 1 카메라를 이용하여 사용자의 눈을 포함하는 제 1 이미지를 획득하는 단계;
    상기 제 1 이미지에 기초하여 사용자의 눈에 관한 정보를 획득하고, 상기 사용자의 눈에 관한 정보는 상기 사용자의 시선 방향에 관한 정보 및 눈의 위치에 관한 정보를 포함하는, 단계;
    상기 제1 카메라의 촬영 방향과 촬영 방향이 반대인 제 2 카메라를 이용하여 상기 사용자의 시선 방향에 위치하는 실제 환경을 포함하는 제 2 이미지를 획득하는 단계;
    상기 사용자의 시선 방향에 관한 정보에 기초하여, 상기 제2 이미지로부터 상기 사용자의 시선 방향에 위치하는 타겟 객체를 검출하는 단계;
    상기 디바이스의 물리적 크기에 대한 정보를 포함하는 상기 디바이스의 스펙에 관한 정보 및 상기 눈의 위치에 관한 정보에 기초하여, 상기 제 2 이미지로부터, 상기 디바이스에 의해 상기 사용자의 눈으로부터 가려진 영역에 관한 제 3 이미지를 획득하는 단계;
    상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보, 상기 시선 방향에 관한 정보, 및 상기 제 3 이미지에 기초하여 적어도 하나의 가상 객체의 속성을 조정하는 단계;
    상기 조정된 적어도 하나의 가상 객체 및 상기 제 3 이미지를 이용하여 증강 현실 이미지를 획득하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 증강 현실 이미지를 디스플레이에 렌더링(rendering)하는 단계를 더 포함하는, 방법.
  3. 제 1 항 및 제2항 중 어느 한 항에 있어서,
    상기 타겟 객체를 검출하는 단계는,
    상기 타겟 객체가 검출된 경우, 상기 타겟 객체를 추적하는 단계를 더 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 적어도 하나의 가상 객체의 속성을 조정하는 단계는,
    상기 적어도 하나의 가상 객체의 형상, 크기, 색상 및 질감 중 적어도 하나를 변형하는 단계를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 가상 객체의 속성을 조정하는 단계는,
    상기 시선 방향에 관한 정보에 기초하여 적어도 하나의 가상 객체를 블러링(blurring)하는 단계를 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 가상 객체의 속성을 조정하는 단계는,
    상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보에 기초하여 상기 적어도 하나의 가상 객체의 가시성(visibility)을 조정하는 단계를 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 적어도 하나의 가상 객체의 속성을 조정하는 단계는,
    상기 적어도 하나의 가상 객체의 일부 영역이 현실 객체에 의해 가려지도록 상기 적어도 하나의 가상 객체의 심도 정보(depth information)를 조정하는 단계를 포함하는, 방법.
  8. 제 1 항에 있어서,
    상기 디바이스의 스펙에 관한 정보는 상기 제 2 카메라의 FOV 값 (Field of view value)에 관한 정보 및 상기 제 2 카메라의 해상도에 관한 정보를 더 포함하는, 방법.
  9. 상기 제 3 이미지를 획득하는 단계는,
    상기 제 2 이미지를 자르거나, 확대하거나, 또는 늘리는 변형을 함으로써 상기 사용자의 눈으로부터 가려진 영역에 관한 상기 제 3 이미지를 획득하는 단계를 포함하는, 방법.
  10. 증강 현실을 실현하기 위한 이미지를 처리하는 디바이스에 있어서,
    상기 디바이스는,
    제 1 카메라;
    상기 제1 카메라의 촬영 방향과 촬영 방향이 반대인 제 2 카메라;
    적어도 하나의 인스트럭션을 저장하는 메모리 및
    상기 메모리에 저장된 적어도 하나의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,상기 적어도 하나의 프로세서는 상기 적어도 하나의 인스트럭션을 실행하여,
    상기 제 1 카메라를 이용하여 사용자의 눈을 포함하는 제 1 이미지를 획득하고,
    상기 제 1 이미지에 기초하여, 상기 사용자의 시선 방향에 관한 정보 및 눈의 위치에 관한 정보를 포함하는 사용자의 눈에 관한 정보를 획득하고,
    상기 제 2 카메라를 이용하여 상기 사용자의 시선 방향에 위치하는 실제 환경을 포함하는 제 2 이미지를 획득하고,
    상기 사용자의 시선 방향에 관한 정보에 기초하여, 상기 제2 이미지로부터 상기 사용자의 시선 방향에 위치하는 타겟 객체를 검출하고,
    상기 디바이스의 물리적 크기에 대한 정보를 포함하는 상기 디바이스의 스펙에 관한 정보 및 상기 눈의 위치에 관한 정보에 기초하여, 상기 제 2 이미지로부터, 상기 디바이스에 의해 상기 사용자의 눈으로부터 가려진 영역에 관한 제 3 이미지를 획득하고,
    상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보, 상기 시선 방향에 관한 정보, 및 상기 제 3 이미지에 기초하여 적어도 하나의 가상 객체의 속성을 조정하고,
    상기 조정된 가상 객체 및 제 3 이미지를 이용하여 증강 현실 이미지를 획득하는, 디바이스.
  11. 제 10 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 증강 현실 이미지를 디스플레이에 렌더링(rendering)하는, 디바이스.
  12. 제 10 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 타겟 객체가 검출된 경우, 상기 타겟 객체를 추적하는, 디바이스.
  13. 제 10 항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 타겟 객체가 검출되지 않은 경우, 상기 타겟 객체를 다시 검출하는, 디바이스.
  14. 제 10 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 가상 객체의 형상, 크기, 색상 또는 질감을 변형하는, 디바이스.
  15. 제 10 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 시선 방향에 관한 정보에 기초하여 상기 적어도 하나의 가상 객체를 블러링(blurring)하는, 디바이스.
  16. 제 10 항에 있어서,
    상기 디바이스와 상기 타겟 객체 사이의 거리에 관한 정보에 기초하여 상기 적어도 하나의 가상 객체의 가시성(visibility)을 조정하는, 디바이스.
  17. 제 10 항에 있어서,
    상기 적어도 하나의 가상 객체의 일부 영역이 현실 객체에 의해 가려지도록 가상 객체의 심도 정보(depth information)를 조정하는, 디바이스.
  18. 제 10 항에 있어서,
    상기 디바이스의 스펙에 관한 정보는 상기 제 2 카메라의 FOV 값 (Field of view value)에 관한 정보 및 상기 제 2카메라의 해상도에 관한 정보를 더 포함하는, 디바이스.
  19. 제 10 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제 2 이미지를 자르거나, 확대하거나, 또는 늘리는 변형을 함으로써 상기 사용자의 눈으로부터 가려진 영역에 관한 상기 제 3 이미지를 획득하는, 디바이스.
  20. 제 1 항 내지 제 9 항의 방법 중 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020220121964A 2022-01-25 2022-09-26 증강 현실 이미지를 제공하기 위한 이미지 처리 방법 및 장치 KR20230115219A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220011064 2022-01-25
KR20220011064 2022-01-25

Publications (1)

Publication Number Publication Date
KR20230115219A true KR20230115219A (ko) 2023-08-02

Family

ID=87566850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220121964A KR20230115219A (ko) 2022-01-25 2022-09-26 증강 현실 이미지를 제공하기 위한 이미지 처리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20230115219A (ko)

Similar Documents

Publication Publication Date Title
KR102544062B1 (ko) 가상 이미지 표시 방법, 저장 매체 및 이를 위한 전자 장치
US10002463B2 (en) Information processing apparatus, information processing method, and storage medium, for enabling accurate detection of a color
US9563981B2 (en) Information processing apparatus, information processing method, and program
US10120442B2 (en) Eye tracking using a light field camera on a head-mounted display
US20160117860A1 (en) System and method for immersive and interactive multimedia generation
US10634918B2 (en) Internal edge verification
US20180300040A1 (en) Mediated Reality
US10755434B2 (en) Low feature object detection and pose estimation for image data streams
US20190094956A1 (en) Method and device for displaying image based on virtual reality (vr) apparatus
US11922594B2 (en) Context-aware extended reality systems
US11720996B2 (en) Camera-based transparent display
US20200211243A1 (en) Image bounding shape using 3d environment representation
CN112753037A (zh) 传感器融合眼睛跟踪
CN114026603B (zh) 渲染计算机生成现实文本
JP6221292B2 (ja) 集中度判定プログラム、集中度判定装置、および集中度判定方法
JP2021527252A (ja) 自動化された表面選択設置およびコンテンツ配向設置を用いた拡張現実ビューア
US10748344B2 (en) Methods and devices for user interaction in augmented reality
JP2022061495A (ja) 動的クロストークを測定する方法及び装置
KR20230115219A (ko) 증강 현실 이미지를 제공하기 위한 이미지 처리 방법 및 장치
US11544910B2 (en) System and method for positioning image elements in augmented reality system
US20150365657A1 (en) Text and graphics interactive display
US20230070721A1 (en) Method, processing device, and display system for information display
CN115088015B (zh) 点云集群的空间关系
US20240161527A1 (en) Camera Parameter Estimation Using Semantic Labels
KR20180108006A (ko) 트릭아트 전시장치 및 전시방법