KR20200111957A - Vr 이미지 생성 방법 및 장치 - Google Patents

Vr 이미지 생성 방법 및 장치 Download PDF

Info

Publication number
KR20200111957A
KR20200111957A KR1020190031680A KR20190031680A KR20200111957A KR 20200111957 A KR20200111957 A KR 20200111957A KR 1020190031680 A KR1020190031680 A KR 1020190031680A KR 20190031680 A KR20190031680 A KR 20190031680A KR 20200111957 A KR20200111957 A KR 20200111957A
Authority
KR
South Korea
Prior art keywords
image
images
frames
generating
neural network
Prior art date
Application number
KR1020190031680A
Other languages
English (en)
Other versions
KR102259045B1 (ko
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 박주복
Priority to KR1020190031680A priority Critical patent/KR102259045B1/ko
Publication of KR20200111957A publication Critical patent/KR20200111957A/ko
Application granted granted Critical
Publication of KR102259045B1 publication Critical patent/KR102259045B1/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/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

VR 이미지 생성 방법 및 장치 개시된다. 일실시예에 따른 VR 이미지 생성 방법은 사용자 단말들로부터 2D 이미지들을 획득하는 단계; 획득한 2D 이미지들의 촬영 장소 데이터 및 촬영 시기 데이터를 획득하는 단계; 촬영 장소 데이터 및 촬영 시기 데이터에 기초하여, 획득한 2D 이미지 각각을 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 포함시키는 단계; 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속한 2D 이미지들에 기초하여, VR 이미지의 제1 프레임들을 생성하는 단계; 제1 프레임들 각각의 가장 자리로부터 미리 설정된 픽셀 단위만큼의 배경 영역을 기초로 제2 프레임들을 생성하는 단계; 제1 프레임들 및 제2 프레임들에 기초하여, VR 이미지를 생성하는 단계; 및 생성된 VR 이미지를 사용자 단말 또는 VR 뷰어로 전송하는 단계를 포함한다.

Description

VR 이미지 생성 방법 및 장치{METHOD AND APPARATUS OF GENERATING VIRTUAL REALITY IMAGE}
본 발명은 VR 이미지를 생성하는 기술에 관한 것이다. 보다 구체적으로, 본 발명은 획득한 2D 이미지들을 특정한 공통 사항에 따라 분류하고, 분류된 2D 이미지들을 조합하여, VR 이미지를 생성하는 기술에 관한 것이다.
일반적으로 가상 현실(virtual reality, VR)은 주로 컴퓨터 그래픽을 통해 가상의 공간을 구현하여 사용자에게 실제로 존재하지 않는 공간; 실제로 존재하지만 특수한 환경인 공간; 또는 실제로 존재했지만 현재는 더 이상 존재하지 않는 공간 등을 간접적으로 체험하게 해주는 기술을 말한다. VR 뷰어을 통해 감상하는 VR 이미지 및 VR 영상은 일반 디스플레이로 감상하는 2D 이미지 및 2D 영상에 비해 높은 몰입도 및 현장감을 줄 수 있다.
한편, 종래에 VR 기술은 군사, 의학, 시뮬레이션 등 전문 분야에 이용되어 왔으나, 최근 5G 통신 기술 및 그래픽 기술의 발전에 따라 점차 대중화가 이루어지고 있으며, 그 결과 VR 기술은 게임, 엔터테인먼트, 영상 및 이미지 감상 등의 영역으로 확장하고 있다.
특히 VR 영상 및 이미지 감상과 관련하여, 추억하는 시기의 특정 장소를 VR로 감상하고자 하는 수요가 있다. 즉, 종래에는 어린 시절의 고향, 연인 시절의 데이트 장소, 학창 시절의 교정 등 특정 시기에 경험했던 뜻 깊은 공간에서의 추억을 되살리기 위해 일반적으로 사진 감상 또는 동영상 감상 등의 방법이 주로 활용됐으나, 최근에는 VR 뷰어를 이용하여 추억하는 시기의 특정 장소를 감상하고자 하는 수요가 있다.
그러나 추억의 장소는 자연적인 이유 또는 인공적인 이유로 모습이 변경되었을 수 있다. 이 경우, VR 전용 촬영 장치를 이용하여 같은 장소를 촬영하더라도 추억의 느낌을 살릴 수 없을 수 있다. 따라서, VR 뷰어로 사용자들에게 추억하고 싶은 시절 그대로의 장소를 보여주기 위해서는, 특정 시점의 특정 장소의 2D 영상 또는 이미지들을 조합하여, VR 뷰어로 감상할 수 있는 자연스러운 VR 이미지로 변환하는 기술이 요구된다. 구체적으로, 2D 이미지들을 특정 시기 및 특정 장소 별로 분류하고, 다양한 각도 및 위치에서 특정 시기 및 특정 장소를 촬영한 2D 이미지들을 조합하여, 특정 시기 및 특정 장소의 모습을 재현한 VR 이미지를 만드는 기술이 요구되고 있다.
본 발명은 상기 배경 기술에서 언급한 과제들 및 본 명세서에서 드러나는 해당 기술 분야의 과제들을 해결하기 위한 VR 이미지 생성 방법 및 장치를 제공하고자 한다.
본 발명의 일실시예에 따른 VR 이미지 생성 방법은, 사용자 단말들로부터 2D 이미지들을 획득하는 단계; 상기 획득한 2D 이미지들의 촬영 장소 데이터 및 촬영 시기 데이터를 획득하는 단계; 상기 촬영 장소 데이터 및 상기 촬영 시기 데이터에 기초하여, 상기 획득한 2D 이미지 각각을 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 포함시키는 단계; 상기 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속한 2D 이미지들에 기초하여, VR 이미지의 제1 프레임들을 생성하는 단계; 상기 제1 프레임들 각각의 가장 자리로부터 미리 설정된 픽셀 단위만큼의 배경 영역을 기초로 제2 프레임들을 생성하는 단계; 상기 제1 프레임들 및 상기 제2 프레임들에 기초하여, VR 이미지를 생성하는 단계; 및 상기 생성된 VR 이미지를 사용자 단말 또는 VR 뷰어로 전송하는 단계를 포함할 수 있다.
일실시예에 따르면, VR 이미지 생성 방법은, 상기 제2 프레임들을 생성하는 단계 이후, 사용자 단말로부터 추가 2D 이미지를 획득하는 단계; 상기 추가 이미지를 배경 영역과 전경 영역으로 분리하는 단계; 상기 추가 이미지의 전경 영역을 기초로 추가 VR 이미지를 생성하는 단계; 및 상기 추가 VR 이미지를 상기 제2 프레임들 중 특정한 어느 하나의 제2 프레임에 포함시키는 단계를 더 포함할 수 있다.
일실시예에 따르면, 상기 촬영 장소 데이터 및 촬영 시기 데이터를 획득하는 단계는, 상기 획득한 2D 이미지를 배경 영역과 전경 영역으로 분리하는 단계; 상기 전경 영역에 기초하여, 미리 학습된 인공 신경망(artificial neural network)의 인풋 레이어(input layer)에 대응하는 입력을 생성하는 단계; 상기 입력을 상기 인공 신경망에 적용하는 단계; 및 상기 인공 신경망에 의해 생성된 출력을 획득하는 단계를 포함하며, 상기 출력은 상기 인공 신경망이 추론한 상기 획득한 2D 이미지의 촬영 장소의 추론값 및 촬영 시기의 추론값을 포함할 수 있다.
일실시예에 따른 VR 이미지 생성 장치는, 사용자 단말들로부터 2D 이미지들을 획득하고, 상기 획득한 2D 이미지들의 촬영 장소 데이터 및 촬영 시기 데이터를 획득하고, 상기 촬영 장소 데이터 및 상기 촬영 시기 데이터에 기초하여, 상기 획득한 2D 이미지 각각을 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 포함시키고, 상기 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속한 2D 이미지들에 기초하여, VR 이미지의 제1 프레임들을 생성하고, 상기 제1 프레임들의 배경 영역을 연장하여 제2 프레임들을 생성하고, 상기 제1 프레임들 및 상기 제2 프레임들에 기초하여, VR 이미지를 생성하고, 상기 생성된 VR 이미지를 사용자 단말 또는 VR 뷰어로 전송하는 프로세서를 포함할 수 있다.
일실시예에 따른 VR 이미지 생성 방법에 의하면, VR 이미지 생성 장치는 사용자 단말들로부터 획득한 2D 이미지들을 각각 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 포함시킨 후, 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속한 2D 이미지들에 기초하여 VR 이미지를 생성하여 VR 뷰어로 전송할 수 있다. 이를 통해, VR 뷰어의 사용자는 특정 장소 및 특정 시기의 VR 이미지를 감상할 수 있다.
또한, VR 이미지 생성 장치는 사용자 단말들로부터 획득한 추가 2D 이미지로부터 추가 VR 이미지를 생성한 후, 기존의 VR 이미지에 추가 VR 이미지를 삽입하여 VR 뷰어로 전송할 수 있다. 이를 통해, VR 뷰어의 사용자는 특정 장소 및 특정 시기에 특정 추억물의 이미지가 함께 포함된 VR 이미지를 감상할 수 있다.
한편, 실시예들에 따른 효과는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 해당 기술 분야의 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 일실시예에 따른 VR 이미지 생성 장치를 포함하는 시스템을 설명하기 위한 도면이다.
도 2는 일실시예에 따른 VR 이미지 생성 방법을 설명하기 위한 순서도이다.
도 3 내지 6은 일실시예에 따른 VR 이미지 생성 방법을 설명하기 위한 도면들이다.
도 7은 일실시예에 따른 인공 신경망의 동작을 설명하기 위한 순서도이다.
도 8은 일실시예에 따른 인공 신경망의 동작을 설명하기 위한 도면이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기증을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 또는 "구비"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...유닛", "...부" 또는 "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
한편, 본 발명의 실시 예에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있으며, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
또한 첨부된 순서도의 각 과정과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터, 스마트폰과 같은 모바일 기기, 온라인 게임 서비스 제공 서버 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 장치 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 아래에서 설명할 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 장치 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 장치에 이용 가능한 메모리 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조물을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 장치 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 장치 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되기 위한 프로세스를 생성하여 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 발명의 실시예에 있어서, “장치”라고 함은 범용 서버, 전용 서버, 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, VR 뷰어, 게임기 등 데이터를 수집, 판독, 처리, 가공, 저장, 표시할 수 있는 모든 계산 수단을 의미한다. 특히, 본 발명의 실시예에 있어서의 장치들은 해독 가능한 코드로 작성된 소프트웨어를 실행시킬 수 있으며, 이를 사용자에게 표시하여 전달할 수 있는 기능을 가진다. 또한, 필요에 따라서는 소프트웨어를 자체적으로 저장하기도 하고, 또는 외부로부터 데이터와 함께 읽어 들일 수도 있다.
또한, 본 발명의 실시예에 있어서의 장치들은 데이터 처리 기능 뿐 아니라 입력, 출력, 저장 등의 기능이 포함되어 있으며, 이를 위하여 일반적인 컴퓨터들이 갖는 CPU, 메인보드, 그래픽 카드, 하드디스크, 사운드 카드, 스피커, 키보드, 마우스, 모니터, USB, 통신 모뎀 등의 각종 요소들 뿐만 아니라 서버용 컴퓨터들이 갖는 CPU, 메인보드, 그래픽 칩, 메모리 칩, 사운드엔진, 스피커, 터치패드, USB 등의 외부 연결 단자, 통신 안테나, 3G, LTE, LTE-A, 5G, WiFi, 블루투스 등의 통신을 구현할 수 있는 통신 모뎀 등을 포함할 수 있다. 이러한 각종 요소들이 단독으로 또는 2 이상이 함께, 또는 각종 요소들의 일부분이 결합되어 하나 또는 그 이상의 기능을 구현할 수 있으며, 본 발명의 실시예에서 도면이나 상세한 설명에서 하나 또는 2 이상의 블록으로 표시된 장치 또는 그 일부분들은 위와 같은 각종 요소들이 단독으로 또는 그 이상이 함께, 또는 각종 요소들의 일부분이 결합되어 하나 또는 그 이상의 기능을 나타내는 것을 의미할 수 있다.
한편, 본 발명의 실시예의 장치들은 통신 기능을 가질 수 있으며, 통신 기능을 구현하기 위하여 유선 인터넷, 무선 인터넷, 적외선 통신, 블루투스, WCDMA, Wibro, WiFi, LTE, LTE-A, 5G, 유무선 전화망 등의 각종 네트워크 수단을 구비할 수 있다.
이하에서는 본 발명의 실시예에 따른 VR 이미지 생성 방법 및 장치에 대하여 첨부한 도면을 참고하여 구체적으로 설명하기로 한다.
도 1은 일실시예에 따른 VR 이미지 생성 장치를 포함하는 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, VR 이미지 생성 장치(100); 사용자 단말(110); 및 VR 뷰어(120)는 VR 이미지 생성 및 감상을 위한 시스템(10)을 구성할 수 있다. VR 이미지 생성 장치(100); 사용자 단말(110); 및 VR 뷰어(120)는 상기에서 언급한 “장치”에 해당하며, 상술한 “장치”로서의 기능들과 더불어, 후술의 본 발명에 따른 특수한 기능들을 수행할 수 있도록 구성될 수 있다.
구체적으로, VR 이미지 생성 장치(100); 사용자 단말(110); 및 VR 뷰어(120)는 각각 프로세서 및 메모리를 포함할 수 있다. VR 이미지 생성 장치(100); 사용자 단말(110); 및 VR 뷰어(120)의 프로세서는 도 1 내지 8을 통하여 후술되는 적어도 하나의 부재를 포함하거나, 도 1 내지 8을 통하여 후술되는 적어도 하나의 방법을 수행할 수 있다. VR 이미지 생성 장치(100); 사용자 단말(110); 및 VR 뷰어(120)의 메모리는 후술되는 방법들과 관련된 정보를 저장하거나 후술된 방법들이 구현된 프로그램을 저장할 수 있다. 메모리는 휘발성 메모리 또는 비휘발성 메모리일 수 있다. 프로세서는 메모리에 저장된 프로그램을 수행할 수 있다.
VR 이미지 생성 장치(100); 사용자 단말(110); 및 VR 뷰어(120)를 개별적으로 살펴보면, 우선, VR 이미지 생성 장치(100)는 사용자 단말(110)들 또는 VR 뷰어(120)들로부터 2D 이미지들을 획득하고, 획득한 2D 이미지들을 기초로 VR 이미지를 생성한 후, 생성한 VR 이미지를 사용자 단말(110)들 또는 VR 뷰어(120)들에게 전송하는 기능을 수행하는 하드웨어 및 소프트웨어의 조합으로 구성되는 장치로, 서버 등의 형태로 구현될 수 있다.
VR 이미지 생성 장치(100)는 상기의 기능들을 수행하기 위해 적어도 하나 이상의 미리 학습된 인공 신경망(artificial neural network)을 포함할 수 있다. VR 이미지 생성 장치(100)는 인공 신경망의 연산 처리를 위해 CNN 가속기, NPU(Neural Processing Unit) 또는 VPU(Vision Processing Unit) 등을 포함할 수 있다. VR 이미지 생성 장치(100)는 위 부재들을 통해 인공 신경망의 연산을 수행함으로써, 인공 신경망, 가령 컨볼루션 신경망(convolutional neural network)의 처리에서 요구되는 데이터 로드 횟수, 연산 횟수(예를 들어, MAC의 연산 횟수)를 줄여 메모리를 절감하고 처리 속도를 높일 수 있으므로, 제한된 리소스를 사용하는 환경에 적합할 수 있다.
VR 이미지 생성 장치(100)는 사용자 단말(110) 및 VR 뷰어(120)와 통신할 수 있다. VR 이미지 생성 장치(100)를 운영하는 주체는 VR 이미지 생성 장치(100)를 이용하여 사용자 단말(110) 또는 VR 뷰어(120)로부터 2D 이미지들을 획득하고, 사용자 단말(110) 또는 VR 뷰어(120)로 VR 이미지를 제공하는 서비스를 제공할 수 있다.
사용자 단말(110)은 스마트 폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터 등 일상적으로 사용하는 컴퓨터 장치일 수 있으며, 그 형태, 종류, 크기, 제조사 등은 상관이 없다. 사용자 단말(110)에는 VR 이미지 생성 장치(100)를 운영하는 주체가 배포한 어플리케이션이 설치될 수 있다. 사용자 단말(110)은 자체적으로 또는 VR 이미지 생성 장치(100)를 운영하는 주체가 배포한 어플리케이션을 통해 VR 이미지 생성 장치(100) 및 VR 뷰어(120)와 통신할 수 있다.
구체적으로, 사용자 단말(110)은 VR 이미지 생성 장치(100)로 도 3의 2D 이미지들(310, 320, 330)을 전송할 수도 있고, 도 6의 추가 2D 이미지(600)를 전송할 수도 있다. 또한, 사용자 단말(110)은 VR 이미지 생성 장치(100)로부터 도 3의 VR 이미지(301)를 전송 받을 수도 있고, 도 6의 추가 VR 이미지를 삽입한 VR 이미지를 전송 받을 수도 있다. 또한, 사용자 단말(110)은 VR 이미지 생성 장치(100)로부터 전송 받은 VR 이미지를 VR 뷰어(120)로 전송하는 매개 역할을 수행할 수 있다.
VR 뷰어(120)는 VR 이미지 및 VR 영상 등을 감상할 수 있는 기기이기만 하면 그 형태, 종류, 크기, 제조사 등은 상관이 없다. 가령, VR 뷰어(120)는 구글 카드보드, 오큘러스 리프트, 삼성 기어 VR과 같은 보편적인 장치일 수 있다. VR 뷰어(120)에는 VR 이미지 생성 장치(100)를 운영하는 주체가 배포한 어플리케이션이 설치될 수 있다. VR 뷰어(120)는 자체적으로 또는 VR 이미지 생성 장치(100)를 운영하는 주체가 배포한 어플리케이션을 통해 VR 뷰어(120)의 기능들을 제어하거나, VR 이미지 생성 장치(100) 및 VR 뷰어(120)와 통신할 수 있다.
한편, VR 이미지 생성 장치(100); 사용자 단말(110); 및 VR 뷰어(120)는 유선 또는 무선 인터넷 환경, LAN, LTE, 5G, WiFi, 블루투스, UART, SPI, I2C, USB 통신 등을 비롯한 다양한 네트워크를 이용해 서로에게 데이터를 전달할 수 있다. VR 이미지 생성 장치(100); 사용자 단말(101); 및 VR 뷰어(102)는 유무선 네트워크를 위한 통신 안테나; 통신 단자; 하드웨어; 소프트웨어; 및 이들의 조합을 포함할 수 있으며, 유무선 네트워크를 위한 표준 통신 기술 및/또는 프로토콜들을 사용할 수 있다.
이하에서, VR 이미지 생성 장치(100)의 동작을 중심으로 실시예들이 기술되지만, 실시예들은 주체나 양상에 의해 제한되지 않고 다양한 응용예가 채용될 수 있다. 이하, 도 2 내지 6을 참조하여, 2D 이미지들로부터 VR 이미지를 생성하는 동작과 관련된 실시예들이 설명된다. 도 7 및 8을 참조하여, 2D 이미지들로부터 VR 이미지를 생성하는 과정에 있어서, 인공 신경망의 동작과 관련된 실시예들이 설명된다.
도 2는 일실시예에 따른 VR 이미지 생성 방법을 설명하기 위한 순서도이다.
도 2를 참조하면, 우선, VR 이미지 생성 장치(100)는 사용자 단말(110)들로부터 2D 이미지들을 획득할 수 있다(210). 2D 이미지들은 특정 시기 및 특정 장소를 촬영한 사진들로, 사용자 단말(110)들이 접근할 수 있는 경로에 저장된 사진들일 수 있다. 예를 들어, 2D 이미지들은 사용자 단말(110)들인 핸드폰 또는 스마트폰으로 촬영한 사진들로, 사용자 단말(110)의 내부 저장 장치나 사용자 단말(110)을 통해 접근할 수 있는 클라우드에 저장된 사진들일 수 있다. 또는, 2D 이미지들은 DSLR, 액션 카메라, 드론 카메라 등으로 촬영한 후, 사용자 단말(110)의 내부 저장 장치나 사용자 단말(110)을 통해 접근할 수 있는 클라우드에 저장된 사진들일 수 있다.
다음으로, VR 이미지 생성 장치(100)는 획득한 2D 이미지들의 촬영 장소 데이터 및 촬영 시기 데이터를 획득할 수 있다(220). 촬영 장소 데이터 및 촬영 시기 데이터를 획득하는 방법으로는, 우선, VR 이미지 생성 장치(100)는 획득한 2D 이미지의 메타 데이터가 있는지 판별하고, 획득한 2D 이미지의 메타 데이터가 있는 것으로 판별한 경우, 메타 데이터에는 스마트폰 등으로 촬영한 사진의 촬영 날짜, 촬영 시간, 촬영 장소의 좌표 등이 포함되므로, VR 이미지 생성 장치(100)는 메타 데이터를 참조하여 촬영 장소 데이터 및 촬영 시기 데이터를 생성 및 획득할 수 있다. 한편, 획득한 2D 이미지의 메타 데이터가 없는 것으로 판별한 경우, VR 이미지 생성 장치(100)는 미리 학습된 인공 신경망(artificial neural network)을 통해 촬영 장소 및 촬영 시기를 추론하여, 촬영 장소의 추론값과 촬영 시기의 추론값을 촬영 장소 데이터 및 촬영 시기 데이터로 각각 획득할 수 있다. VR 이미지 생성 장치(100)가 인공 신경망을 통해 촬영 장소 데이터 및 촬영 시기 데이터를 추론하는 과정은 도 7 및 8을 참조하여 후술된다.
이어서, VR 이미지 생성 장치(100)는 촬영 장소 데이터 및 촬영 시기 데이터에 기초하여, 획득한 2D 이미지 각각을 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 포함시킬 수 있다(230). 이때, 그룹은 배열(array), 세트(set), 리스트(list), 키-벨류 맵(key-value map) 등 이미지 파일들을 분류하여 참조할 수 있는 자료 구조라면 어떤 것이든 될 수 있다.
지금까지의 과정을 예시를 들어 설명할 수 있다. 예를 들어, VR 이미지 생성 장치(100)는 5대의 사용자 단말(110)인 사용자 단말 A; 사용자 단말 B; 사용자 단말 C; 사용자 단말 D; 및 사용자 단말 E로부터 각각 2D 이미지 A; 2D 이미지 B; 2D 이미지 C; 2D 이미지 D; 및 2D 이미지 E를 획득할 수 있을 것이다.
다음으로, VR 이미지 생성 장치(100)는 획득한 2D 이미지들 각각의 메타 데이터를 기초로 촬영 장소 데이터 및 촬영 시기 데이터를 획득하거나, 획득한 2D 이미지들 각각을 미리 학습된 인공 신경망에 적용함으로써 촬영 장소의 데이터와 촬영 시기 데이터를 획득할 수 있을 것이다. 가령, VR 이미지 생성 장치(100)는 2D 이미지 A의 촬영 시기 데이터 및 촬영 장소 데이터로 “2006년도 여름, 서울대 중앙도서관 부근”을; 2D 이미지 B의 촬영 시기 데이터 및 촬영 장소 데이터로 “2006년도 여름, 서울대 중앙도서관과 학생회관 사이 부근”을; 2D 이미지 C의 촬영 시기 데이터 및 촬영 장소 데이터로 “2006년도 여름, 서울대 학생회관 부근”을; 2D 이미지 D의 촬영 시기 데이터 및 촬영 장소 데이터로 “2016년도 겨울, 서울대 학생회관 부근”을; 및 2D 이미지 E의 촬영 시기 데이터 및 촬영 장소 데이터로 “2006년도 여름, 고려대 학생회관 부근”을 획득할 수 있을 것이다.
이어서, VR 이미지 생성 장치(100)는 촬영 장소 데이터 및 촬영 시기 데이터에 기초하여, 획득한 2D 이미지 각각을 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 포함시키는 작업을 수행할 수 있을 것이다. 구체적으로, 2D 이미지 A, 2D 이미지 B, 및 2D 이미지 C를 “2006년도 여름, 서울대 중앙도서관 및 학생회관 부근” 그룹에; 2D 이미지 D를 “2016년도 겨울, 서울대 중앙도서관 및 학생회관 부근” 그룹에; 2D 이미지 E를 “2006년도 여름, 고려대 학생회관 및 4.18 기념관 부근” 그룹에 포함시킬 수 있을 것이다.
이후, VR 이미지 생성 장치(100)는 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속한 2D 이미지들에 기초하여, VR 이미지의 제1 프레임들을 생성할 수 있다(240). 예를 들어, 도 4와 같이, VR 이미지 생성 장치(100)는 “2006년도 여름, 서울대 중앙도서관 및 학생회관 부근” 그룹에 포함된 2D 이미지 A(310); 2D 이미지 B(320); 및 2D 이미지 C(330)에 기초하여, VR 이미지가 생성될 영역(300)에 제1 프레임들(410, 420, 430)을 생성할 수 있다. 2D 이미지들로부터 제1 프레임들을 생성하는 구체적인 과정은 도 4를 참조하여 후술된다.
다음으로, VR 이미지 생성 장치(100)는 제1 프레임들 각각의 가장 자리로부터 미리 설정된 픽셀 단위만큼의 배경 영역을 기초로 제2 프레임들을 생성할 수 있다(250). 예를 들어, 도 5와 같이, VR 이미지 생성 장치(100)는 2D 이미지 A를 기초로 한 제1 프레임(410) 및 2D 이미지 B를 기초로 한 제1 프레임(420)에 기초하여, 제2 프레임(510)을 생성할 수 있다. 또한, 2D 이미지 B를 기초로 한 제1 프레임(420) 및 2D 이미지 C를 기초로 한 제1 프레임(430)에 기초하여, 제2 프레임(520)을 생성할 수 있다. 제1 프레임들로부터 제2 프레임들을 생성하는 구체적인 과정은 도 5를 참조하여 후술된다.
이어서, VR 이미지 생성 장치(100)는 제1 프레임들(410, 420, 430) 및 제2 프레임들(510, 520)에 기초하여, VR 이미지를 생성할 수 있다(260). 구체적으로, VR 이미지 생성 장치(100)는 도 3과 같이, VR 이미지가 생성될 영역(300)에 맞추어 VR 이미지(301)를 생성할 수 있으며, 이를 위해, VR 이미지 생성 장치(100)는 도 4의 제1 프레임들(410, 420, 430) 및 도 5의 제2 프레임들(510, 520)을 결합하는 방식으로 VR 이미지(301)을 생성할 수 있다.
또한, VR 이미지 생성 장치(100)는 도 6과 같이, 추가 2D 이미지(600)를 기초로 생성한 추가 VR 이미지를 미리 생성된 VR 이미지(301)에 삽입(610)하여 VR 이미지를 생성할 수 있다. 추가적인 전경 영역을 삽입한 VR 이미지를 생성하는 과정은 도 6을 참조하여 후술된다.
이후, VR 이미지 생성 장치(100)는 사용자 단말(110) 또는 VR 뷰어(120)로 VR 이미지(301)를 전송할 수 있다(270). VR 이미지(301)를 VR 뷰어(120)로 전송한 경우, VR 뷰어(120)의 사용자는 VR 뷰어(120)을 통해 VR 이미지(301)을 감상할 수 있다. VR 이미지(301)를 사용자 단말(110)로 전송한 경우, 사용자 단말(110)은 사용자의 조작에 따라 또는 자동으로 VR 뷰어(120)로 VR 이미지(301)를 전달할 수 있으며, 사용자는 VR 뷰어(120)을 통해 VR 이미지(301)를 감상할 수 있다.
도 3은 일실시예에 따른 VR 이미지 생성 방법을 설명하기 위한 도면이다.
도 3을 참조하면, VR 이미지 생성 장치(100)는 VR 이미지가 생성될 영역(300)을 설정한 후, VR 이미지가 생성될 영역(300)에 맞추어 VR 이미지(301)를 생성할 수 있다. VR 이미지가 생성될 영역(300)은 화각으로 표현될 수 있다. 구체적으로, 화각은 90˚, 120˚, 180˚, 270˚, 360˚ 등의 값이 될 수 있다. 화각은 VR 이미지(301)에서 표현하는 대상 및 목적 등에 따라 자동으로 결정되거나, VR 이미지 생성 장치(100)를 운영하는 주체가 VR 이미지 생성 장치(100)를 조작함으로써 결정될 수 있다. 예를 들어, VR 이미지(301)가 초원이나 해변 등 넓은 풍경을 표현하고자 하는 경우, 화각은 180˚이상 360˚이하의 값이 될 수 있다. 또는, VR 이미지(301)가 특정한 건축물이나 특정한 동상 등을 집중적으로 표현하고자 하는 경우, 화각은 180˚이하의 값, 가령 120˚가 될 수 있다. 도 3에서는 VR 이미지가 생성될 영역(300)으로 화각 180˚의 영역이 설정된 모습이 도시되어 있다.
한편, VR 이미지 생성 장치(100)는 VR 이미지가 생성될 영역(300)에 맞추어, 도 4의 제1 프레임들(410, 420, 430) 및 도 5의 제2 프레임들(510, 520)을 생성 및 결합하여 VR 이미지(301)를 생성할 수 있다. VR 이미지(301)의 기초가 되는 제1 프레임들 및 제2 프레임들이 생성되는 구체적인 과정은 도 4 내지 6을 참조하여 후술된다.
도 4는 일실시예에 따른 VR 이미지에 포함되는 제1 프레임들의 생성을 설명하기 위한 도면이다.
도 4를 참조하면, VR 이미지 생성 장치(100)는 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속하는 2D 이미지들(310, 320, 330)을 기초로 VR 이미지(301)에 포함되는 제1 프레임들(410, 420, 430)을 생성할 수 있다. 생성된 제1 프레임들(410, 420, 430)은 후술의 제2 프레임들(510, 520)과 결합하여 VR 이미지(301)을 구성할 수 있다.
VR 이미지 생성 장치(100)가 제1 프레임들(410, 420, 430)을 생성하는 과정은 다음과 같을 수 있다. 우선, VR 이미지 생성 장치(100)는 컴퓨터 비전 및 영상 처리에서 많이 사용되는 딥 러닝(deep learning) 인공 신경망 중 컨볼루션 신경망(convolutional neural network) 또는 순환 신경망(recurrent neural network)을 포함할 수 있다. VR 이미지 생성 장치(100)는 미리 학습된 인공 신경망을 통해 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속하는 2D 이미지들(310, 320, 330) 각각의 배경 영역과 전경 영역을 추론하여 분류할 수 있다. VR 이미지 생성 장치(100)에 포함되는 인공 신경망의 구체적인 동작은 도 7 및 8을 참조하여 후술된다.
여기서, 2D 이미지의 배경 영역은 하늘, 숲, 바다, 원경의 건물 등 통상적으로 배경으로 인식되는 대상들로, 비교적 긴 시간이 지나도 모습의 변화가 적은 대상들일 수 있다. 평면형의 2D 이미지의 배경 영역은 원통형 또는 구형의 VR 이미지의 배경 영역으로 변환될 수 있으며, 이 과정에서 통상의 이미지 편집 기술들이 적용될 수 있다. VR 이미지의 배경 영역은 VR 이미지(301)에서 입체적으로 처리되지 않는 영역일 수 있다.
구체적으로, VR 이미지 생성 장치(100)는 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속하는 2D 이미지들(310, 320, 330)의 배경 영역을 제1 프레임들(410, 420, 430)의 배경 영역으로 변환될 수 있다. 예를 들어, VR 이미지 생성 장치(100)는 2D 이미지 A(310)의 배경 영역을 2D 이미지 A를 기초로 한 제1 프레임(410)의 배경 영역으로; 2D 이미지 B(320)의 배경 영역을 2D 이미지 B를 기초로 한 제1 프레임(420)의 배경 영역으로; 2D 이미지 C(330)의 배경 영역을 2D 이미지 C를 기초로 한 제1 프레임(430)의 배경 영역으로 변환할 수 있다.
2D 이미지의 전경 영역은 행사 부스, 특정 가게나 카페, 캠핑 카, 설치물 등으로, 배경 영역의 대상들에 비해 상대적으로 크기가 크지 않으며, 비교적 짧은 시간에 모습의 변화가 있을 수 있는 대상들일 수 있다. 2D 이미지의 전경 영역은 VR 이미지의 전경 영역으로 변환될 수 있으며, 이 과정에서 통상의 그래픽 편집 기술들이 적용될 수 있다. VR 이미지의 전경 영역은 VR 이미지(301)에서 입체적으로 처리되는 영역일 수 있다.
구체적으로, VR 이미지 생성 장치(100)는 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속하는 2D 이미지들(310, 320, 330)의 전경 영역을 제1 프레임들(410, 420, 430)의 전경 영역으로 변환될 수 있다. 예를 들어, VR 이미지 생성 장치(100)는 2D 이미지 A(310)의 전경 영역을 2D 이미지 A를 기초로 한 제1 프레임(410)의 전경 영역으로; 2D 이미지 B(320)의 전경 영역을 2D 이미지 B를 기초로 한 제1 프레임(420)의 전경 영역으로; 2D 이미지 C(330)의 전경 영역을 2D 이미지 C를 기초로 한 제1 프레임(430)의 전경 영역으로 변환할 수 있다.
이 과정에서, VR 이미지 생성 장치(100)는 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속하는 2D 이미지들(310, 320, 330)을 분석하여 VR 이미지(301)의 전경 영역의 입체적 배치 구도 등을 판단할 수 있다. 나아가, VR 이미지 생성 장치(100)는 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속하는 2D 이미지들(310, 320, 330)의 해상도, 화질, 화이트 밸런스, 서로 간의 중첩 여부, 서로 간의 촬영 앵글의 차이 등을 판단한 후, 제1 프레임들(410, 420, 430) 상에서 상기 파라미터들을 조정함으로써, 자연스러운 VR 이미지(301)를 생성할 수 있다.
도 5는 일실시예에 따른 VR 이미지에 포함되는 제2 프레임들의 생성을 설명하기 위한 도면이다.
도 5를 참조하면, VR 이미지 생성 장치(100)는 제1 프레임들(410, 420, 430) 각각의 가장 자리로부터 미리 설정된 픽셀 단위만큼의 배경 영역을 기초로 제2 프레임들(510, 520)을 생성할 수 있다. 제2 프레임들(510, 520)이 VR 이미지가 생성될 영역(300)에서 제1 프레임들(410, 420, 430)로 채워지지 않는 영역을 채움으로써, VR 이미지(301)는 완성될 수 있다.
여기서, 미리 설정된 픽셀 단위는 cm, inch 등의 물리적 단위; px, dpi 등 화소 단위; 또는 % 단위 등을 기초로 표현될 수 있다. 예를 들어, 미리 설정된 픽셀 단위는 각각의 제1프레임들(410, 420, 430)에서 가장 자리로부터 10%에 해당하는 픽셀들만큼일 수 있다. 한편, 제1 프레임들(410, 420, 430)로부터 제2 프레임들(510, 520)을 생성하는 과정에는 통상의 이미지를 연장, 합성, 및 블렌딩 기술들이 차용될 수 있다.
제2 프레임들(510, 520)이 생성되는 과정은 다음과 같을 수 있다. 우선, 2D 이미지 A를 기초로 한 제1 프레임(410) 전체에서 우측 가장 자리로부터 10%에 해당하는 픽셀들만큼의 배경 영역을 우측으로 연장하여, 2D 이미지 A를 기초로 한 제1 프레임 및 2D 이미지 B를 기초로 한 제1 프레임을 기초로 한 제2 프레임(510)의 일부를 생성할 수 있다. 또한, 2D 이미지 B를 기초로 한 제1 프레임(420) 전체에서 좌측 가장 자리로부터 10%에 해당하는 픽셀들만큼의 배경 영역을 좌측으로 연장하여, 2D 이미지 A를 기초로 한 제1 프레임 및 2D 이미지 B를 기초로 한 제1 프레임을 기초로 한 제2 프레임(510)의 일부를 생성할 수 있다. 연장된 배경 영역들은 서로 중첩되는 부분에서 블랜딩되어 합성될 수 있다. 그 결과, 2D 이미지 A를 기초로 한 제1 프레임 및 2D 이미지 B를 기초로 한 제1 프레임을 기초로 한 제2 프레임(510)에는 2D 이미지 A를 기초로 한 제1 프레임(410)으로부터 연장된 “중앙도서관”과 “덤불” 등이; 2D 이미지 B를 기초로 한 제1 프레임(420)으로부터 연장된 “중앙도서관”, “수풀”, 및 “덤불” 등이 포함될 것이다.
또한, 2D 이미지 B를 기초로 한 제1 프레임(420) 전체에서 우측 가장 자리로부터 10%에 해당하는 픽셀들만큼의 배경 영역을 우측으로 연장하여, 2D 이미지 B를 기초로 한 제1 프레임 및 2D 이미지 C를 기초로 한 제1 프레임을 기초로 한 제2 프레임(520)의 일부를 생성할 수 있다. 또한, 2D 이미지 C를 기초로 한 제1 프레임(430) 전체에서 좌측 가장 자리로부터 10%에 해당하는 픽셀들만큼의 배경 영역을 좌측으로 연장하여, 2D 이미지 B를 기초로 한 제1 프레임 및 2D 이미지 C를 기초로 한 제1 프레임을 기초로 한 제2 프레임(520)의 일부를 생성할 수 있다. 연장된 배경 영역들은 서로 중첩되는 부분에서 블랜딩되어 합성될 수 있다. 그 결과, 2D 이미지 B를 기초로 한 제1 프레임 및 2D 이미지 C를 기초로 한 제1 프레임을 기초로 한 제2 프레임(520)에는 2D 이미지 B를 기초로 한 제1 프레임(420)으로부터 연장된 “수풀”과 “덤불” 등이; 2D 이미지 C를 기초로 한 제1 프레임(430)으로부터 연장된 “학생회관”과 “계단” 등이 포함될 것이다.
도 6은 일실시예에 따른 VR 이미지에 추가적인 전경 영역을 생성하는 방법을 설명하기 위한 도면이다.
도 6을 참조하면, VR 이미지 생성 장치(100)는 제2 프레임들(501, 502)을 생성하는 단계 이후, 사용자 단말(110) 또는 VR 뷰어(120)로부터 추가 2D 이미지(600)를 획득하고, 다음으로, 추가 2D 이미지(600)를 배경 영역과 전경 영역으로 분리하고, 이어서, 추가 2D 이미지의 전경 영역을 추가 VR 이미지로 변환한 후, 추가 VR 이미지를 제2 프레임들 중 특정한 어느 하나의 제2 프레임에 추가 2D 이미지(600)를 전송한 사용자가 사용자 단말(110)을 통해 요청한 특정한 위치에 삽입(610)할 수 있다. 여기서, 추가 2D 이미지의 배경 영역과 전경 영역을 추론 및 분류하는 과정은 인공 신경망에 의해 이루어질 수 있다. 인공 신경망의 동작은 도 7 및 8을 참조하여 후술된다.
도 6의 경우, VR 이미지 생성 장치(100)는 제2 프레임들(501, 502)을 생성하는 단계 이후, 사용자 단말(110)로부터 “동아리 행사로 페인트칠한 벤치들”의 추가 이미지(600)를 획득하고, 다음으로, 미리 학습된 인공 신경망을 통해 추가 이미지(600)를 배경 영역과 전경 영역으로 분리하고, 이어서, 추가 이미지의 전경 영역을 추가 VR 이미지로 변환한 후, 추가 VR 이미지를 제2 프레임(510)에 삽입(610)하고 있다. 그 결과, VR 이미지 생성 장치(100)로부터 사용자 단말(110) 또는 VR 뷰어(120)로 전송되는 “2006년 여름 서울대 중앙도서관 및 학생회관 부근”의 VR 이미지(300)에는 “동아리 행사로 페인트칠한 벤치들”의 이미지가 추가적으로 삽입되어, VR 뷰어(120)의 사용자는 자신만의 추억이 담긴 “2006년 여름 서울대 중앙도서관 및 학생회관에서 동아리 행사로 페인트칠한 벤치들”을 VR 이미지로 감상할 수 있게 된다.
한편, 추가 VR 이미지를 삽입한 VR 이미지의 경우, 추가 2D 이미지(600)를 전송한 사용자가 사용자 단말(110)을 통해 요청한 설정에 따라, 사용자의 VR 뷰어(120)에만 보이거나; 사용자가 지정한 제 3 사용자들의 VR 뷰어(120)들에만 보이거나; 추가 이미지를 반영한 VR 이미지를 보기를 희망하는 모든 제 3 사용자의 VR 뷰어(120)들에 보일 수 있다.
가령, 추가 2D 이미지(600)를 전송한 사용자는 사용자 단말(110)을 통해 VR 이미지 생성 장치(100)에게, 연인에게 해준 촛불 이벤트의 전경 영역인 “촛불 이벤트”가 사용자의 VR 뷰어(120)에만 보이도록 요청하거나; 동아리 사람들과 벤치페인팅을 한 전경 영역인 “페인트칠한 벤치들”이 동아리 구성원들의 VR 뷰어(120)들에만 보이도록 요청하거나; 공개를 희망하는 전경 영역인 “과거의 행사 부스”가 희망하는 제 3 사용자 모두의 VR 뷰어(120)들에 보이도록 요청할 수 있다.
도 7은 일실시예에 따른 인공 신경망의 동작을 설명하기 위한 순서도이다.
도 7을 참조하면, VR 이미지 생성 장치(100)는 미리 학습된 인공 신경망(artificial neural network)의 인풋 레이어(input layer)에 대응하는 입력을 생성할 수 있다(710). 다음으로, VR 이미지 생성 장치(100)는 생성된 입력을 인공 신경망에 적용할 수 있다(720). 이어서, VR 이미지 생성 장치(100)는 인공 신경망에 의해 생성된 출력을 획득할 수 있다(730).
VR 이미지 생성 장치(100)는 복수의 인공 신경망, 가령 제1 인공 신경망과 제2 인공 신경망을 포함할 수 있다.
구체적으로, 제1 인공 신경망은 2D 이미지 등을 입력 받아, 2D 이미지의 배경 영역과 전경 영역을 출력할 수 있다. 이를 위해, 제1 인공 신경망의 인풋 레이어는 2D 이미지 그 자체를 받아 들이거나; 2D 이미지의 RGB 중 어느 하나의 특정 색상 맵을 받아 들이거나; 2D 이미지의 흑백으로만 이루어진 명암 맵을 받아 들일 수 있다. VR 이미지 생성 장치(100)는 제1 인공 신경망의 인풋 레이어에 대응하도록 2D 이미지 그 자체를 입력으로 사용하거나; 2D 이미지의 RGB 중 어느 하나의 특정 색상 맵을 입력으로 생성하거나; 2D 이미지의 흑백으로만 이루어진 명암 맵을 입력으로 생성할 수 있다. 이후, VR 이미지 생성 장치(100)는 입력을 제1 인공 신경망에 적용할 수 있으며, 이를 통해 2D 이미지의 배경 영역 및 전경 영역을 추론하여 분리한 값을 출력으로 획득할 수 있다. 이 과정에서 이루어지는 인공 신경망의 구체적인 연산 동작은 도 8을 참조하여 후술된다.
제1 인공 신경망의 동작은 다음과 같을 수 있다. 예를 들어, 제1 인공 신경망은 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속하는 2D 이미지들(310, 320, 330)을 입력 받아, 해당 이미지들의 전경 영역 및 배경 영역을 출력할 수 있다. 해당 출력은 VR 이미지의 제1 프레임들(410, 420, 430)을 생성하는데 활용될 수 있다. 또한, 제1 인공 신경망은 추가 2D 이미지(600)를 입력 받아, 추가 2D 이미지의 전경 영역 및 배경 영역을 출력할 수 있다. 해당 출력 중 추가 2D 이미지의 전경 영역은 도 6의 제2 프레임(510)에 삽입되는 추가 VR 이미지(610)를 생성하는데 사용할 수 있다.
한편, 제2 인공 신경망은 2D 이미지의 전경 영역 등을 입력 받아, 2D 이미지의 촬영 장소의 추론값과 촬영 시기의 추론값을 출력할 수 있다. 이때, 제2 인공 신경망의 입력은 제1 인공 신경망의 출력일 수 있다. 제2 인공 신경망의 인풋 레이어는 2D 이미지의 전경 영역을 받아들이거나; 2D 이미지의 전경 영역의 RGB 중 어느 하나의 특정 색상 맵을 받아들이거나; 2D 이미지의 전경 영역의 흑백으로만 이루어진 명암 맵을 받아들일 수 있다. VR 이미지 생성 장치(100)는 제2 인공 신경망의 인풋 레이어에 대응하도록 2D 이미지의 전경 영역을 입력으로 사용하거나; 2D 이미지의 전경 영역의 RGB 중 어느 하나의 특정 색상 맵을 입력으로 생성하거나; 2D 이미지의 전경 영역의 흑백으로만 이루어진 명암 맵을 입력으로 생성할 수 있다. 이후, VR 이미지 생성 장치(100)는 입력을 제2 인공 신경망에 적용할 수 있으며, 이를 통해 2D 이미지의 촬영 장소의 추론 값과 촬영 시기의 추론 값을 출력으로 획득할 수 있다. 이때, 제2 인공 신경망의 입력은 제1 인공 신경망의 출력일 수 있다. 이 과정에서 이루어지는 인공 신경망의 구체적인 연산 동작은 도 8을 참조하여 후술된다.
제2 인공 신경망의 동작은 다음과 같을 수 있다. 예를 들어, 제2 인공 신경망은 제1 인공 신경망의 출력의 일부인 2D 이미지 A의 전경 영역; 2D 이미지 B의 전경 영역; 2D 이미지 C의 전경 영역; 2D 이미지 D의 전경 영역; 및 2D 이미지 E의 전경 영역을 입력으로 받을 수 있다. 제2 인공 신경망은 각각의 입력을 인공 신경망에 적용하여, 촬영 시기 데이터 및 촬영 장소 데이터의 추론값을 출력으로 획득할 수 있다. 요컨대, 입력인 “2D 이미지 A의 전경 영역”으로부터 출력인 “2006년도 여름, 서울대 중앙도서관 부근”을; 입력인 “2D 이미지 B의 전경 영역”으로부터 출력인 “2006년도 여름, 서울대 중앙도서관과 학생회관 사이 부근”을; 입력인 “2D 이미지 C의 전경 영역”으로부터 출력인 “2006년도 여름, 서울대 학생회관 부근”을; 입력인 “2D 이미지 D의 전경 영역”으로부터 출력인 “2016년도 겨울, 서울대 학생회관 부근”을; 및 입력인 “2D 이미지 E의 전경 영역”으로부터 출력인 “2006년도 여름, 고려대 학생회관 부근”을 추론하여 출력할 수 있다. 이와 같은 과정을 거쳐 획득한 촬영 장소 데이터의 출력값 및 촬영 시기 데이터의 출력값은 VR 이미지 생성 장치(100)가 2D 이미지 A; 2D 이미지 B; 2D 이미지 C; 2D 이미지 D; 및 2D 이미지 E 각각을 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 포함시키는 작업을 수행하는데 활용할 수 있다.
도 8은 일실시예에 따른 인공 신경망의 동작을 설명하기 위한 도면이다.
VR 이미지 생성 장치(100)는 컴퓨터 비전 및 영상 처리에서 많이 사용되는 딥 러닝(deep learning) 기술 중 컨볼루션 신경망(convolutional neural network) 또는 순환 신경망(recurrent neural network)을 포함할 수 있다. 실시예에서는 VR 이미지 생성 장치(100)가 컨볼루션 신경망(800)을 포함하는 경우를 설명한다.
도 8을 참조하면, 미리 학습된 컨볼루션 신경망(800)은 생성된 입력(801)에 기초하여, 학습에 따라 목표된 출력(891)을 생성할 수 있다. 컨볼루션 신경망(800)은 목표하는 출력을 얻기 위해 지도 학습, 비지도 학습, 또는 강화 학습으로 학습된 인공 신경망일 수 있다. 인공 신경망이 지도 학습으로 학습된 경우, 트레이닝 데이터(training data)는 풍경 사진들; 또는 풍경 사진들의 전경 영역일 수 있으며, 레이블(label)은 풍경 사진의 배경 영역 및 전경 영역; 또는 풍경 사진이 촬영된 위치 및 시기의 정보일 수 있다. 컨볼루션 신경망(800)은 미리 구축된 데이터베이스로부터 커널(kernel) 또는 입력(801)을 로딩할 수 있고, 데이터베이스는 VR 이미지 생성 장치(100)에 포함된 메모리로 구현되거나 VR 이미지 생성 장치(100)와 유선, 무선, 또는 네트워크 등으로 연결 가능한 외부 장치로 구현될 수 있다.
컨볼루션 신경망(800)은 컨볼루션 연산을 수행하도록 설계된 컨볼루션 레이어(convolution layer, 810, 820)들을 포함한다. 컨볼루션 신경망(800)을 구성하는 적어도 하나의 컨볼루션 레이어(810, 820)는 적어도 하나의 커널을 이용하여 입력과 연관된 컨볼루션 연산을 수행할 수 있다. 컨볼루션 레이어(810, 820)들의 입력, 커널 및 출력은 해당 컨볼루션 레이어가 설계된 양상에 따라 정의될 수 있다.
구체적으로, 제1 컨볼루션 레이어(810)는 입력(801)을 받아들이는 인풋 레이어(input layer)로서의 역할을 수행하며, 입력(801)은 커널과 컨볼루션(811) 되어 제1 특징맵(feature map, 812)을 생성할 수 있다. 커널은 입력(300)의 명도 특징을 감지하거나 에지 특징을 감지하는 커널 등으로 구성될 수 있으며, 기 알려진 AlexNet 모델, ConvNet 모델, LeNet-5모델 등 컨볼루션 신경망 모델들에서 이용되는 다양한 커널들이 이용될 수 있다.
이 과정에서, 컨볼루션(811) 이후 활성화함수(activation function)를 적용하여 제1 특징맵(feature map, 812)을 생성할 수도 있다. 이를 통해, 기계학습이 비선형적인 딥 러닝으로 이루어지도록 할 수 있다. 활성화함수는 기 알려진 시그모이드 함수(sigmoid function), 하이퍼볼릭 탄젠트 함수(hyperbolic tangent function), ReLU(rectified linear unit) 등이 컨볼루션 신경망 모델들에서 이용되는 다양한 활성화함수들이 이용될 수 있다.
다음으로, 제1 특징맵들(812)을 풀링(pooling, 813)하여, 제1 풀링된 특징맵(pooled feature map, 814)을 생성할 수 있다. 풀링은 기 알려진 최대값 풀링(max pooling), 평균값 풀링(mean pooling) 등이 컨볼루션 신경망 모델들에서 이용되는 다양한 풀링들이 이용될 수 있다.
풀링(813)을 통해 유의미한 정보는 남겨두면서도 컨볼루션 신경망(800)의 전체 노드(node)의 개수 및 전체 연산량을 줄일 수 있으므로, 보다 적은 컴퓨팅 파워를 가지고도 보다 빠른 속도로 목표하는 출력을 얻을 수 있다. 이를 통해, VR 이미지 생성 장치(100)가 슈퍼 컴퓨터 등이 아닌 경우라도 컨볼루션 신경망(800)의 연산이 용이하게 수행되도록 할 수 있다.
한편, 컨볼루션 레이어(810, 820)를 통해 특징맵을 생성하고, 특징맵에 활성화함수를 적용한 후 풀링하는 과정은 복수 회 이루어질 수 있다. 구체적으로, 컨볼루션 신경망(800)의 제2 컨볼루션 레이어(820)는 제1 풀링된 특징맵(814)을 입력으로서 획득하여, 컨볼루션 연산(821)을 통해 제2 특징맵(822)을 생성할 수 있으며, 이 과정에서 활성화함수가 적용될 수도 있다. 이어서, 제2 특징맵(822)을 풀링(823)하여 제2 풀링된 특징맵(824)을 생성할 수 있다. 이러한 과정은 수 차례 반복될 수 있다. 이처럼 풀링된 특징맵을 복수 회 생성하는 과정을 통해, 유의미한 정보는 남겨둔 채 컨볼루션 신경망의 전체 노드의 개수 및 전체 연산량을 줄일 수 있으므로, 보다 적은 컴퓨팅 파워를 가지고도 보다 빠른 속도로 목표하는 출력을 얻을 수 있다.
이어서, 마지막으로 풀링된 특징맵(824)을 풀리 커넥티드 레이어(fully connected layer, 890)에 연결하고, 풀리 커넥티드 레이어(890)로부터 목표하는 출력(891)을 생성할 수 있다. 이 과정에서, 풀리 커넥티드 레이어(890)의 노드 일부로부터 출력이 목표하는 제1 추론값을 얻고, 나머지 노드로부터 출력이 목표하는 제2 추론값을 얻을 수 있다. 예를 들어, 제1 추론값은 2D 이미지의 배경 영역일 수 있고, 제2 추론값은 2D 이미지의 전경 영역일 수 있다. 또는, 제1 추론값은 2D 이미지의 촬영 장소이고, 제2 추론값은 2D 이미지의 촬영 시기일 수 있다.
한편, 도면들을 참조하여 설명된 본 발명의 방법들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, DVD, SSD 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (5)

  1. 사용자 단말들로부터 2D 이미지들을 획득하는 단계;
    상기 획득한 2D 이미지들의 촬영 장소 데이터 및 촬영 시기 데이터를 획득하는 단계;
    상기 촬영 장소 데이터 및 상기 촬영 시기 데이터에 기초하여, 상기 획득한 2D 이미지 각각을 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 포함시키는 단계;
    상기 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속한 2D 이미지들에 기초하여, VR 이미지의 제1 프레임들을 생성하는 단계;
    상기 제1 프레임들 각각의 가장 자리로부터 미리 설정된 픽셀 단위만큼의 배경 영역을 기초로 제2 프레임들을 생성하는 단계;
    상기 제1 프레임들 및 상기 제2 프레임들에 기초하여, VR 이미지를 생성하는 단계; 및
    상기 생성된 VR 이미지를 사용자 단말 또는 VR 뷰어로 전송하는 단계;
    를 포함하는,
    VR 이미지 생성 방법.
  2. 제1항에 있어서,
    상기 제2 프레임들을 생성하는 단계 이후,
    사용자 단말로부터 추가 2D 이미지를 획득하는 단계;
    상기 추가 이미지를 배경 영역과 전경 영역으로 분리하는 단계;
    상기 추가 이미지의 전경 영역을 기초로 추가 VR 이미지를 생성하는 단계; 및
    상기 추가 VR 이미지를 상기 제2 프레임들 중 특정한 어느 하나의 제2 프레임에 포함시키는 단계;
    를 더 포함하는
    VR 이미지 생성 방법.
  3. 제1항에 있어서,
    상기 촬영 장소 데이터 및 촬영 시기 데이터를 획득하는 단계는,
    상기 획득한 2D 이미지를 배경 영역과 전경 영역으로 분리하는 단계;
    상기 전경 영역에 기초하여, 미리 학습된 인공 신경망(artificial neural network)의 인풋 레이어(input layer)에 대응하는 입력을 생성하는 단계;
    상기 입력을 상기 인공 신경망에 적용하는 단계; 및
    상기 인공 신경망에 의해 생성된 출력을 획득하는 단계;
    를 포함하며,
    상기 출력은
    상기 인공 신경망이 추론한 상기 획득한 2D 이미지의 촬영 장소의 추론값 및 촬영 시기의 추론값을 포함하는,
    VR 이미지 생성 방법.
  4. 하드웨어와 결합되어 제1항 내지 제 3항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  5. 사용자 단말들로부터 2D 이미지들을 획득하고,
    상기 획득한 2D 이미지들의 촬영 장소 데이터 및 촬영 시기 데이터를 획득하고,
    상기 촬영 장소 데이터 및 상기 촬영 시기 데이터에 기초하여, 상기 획득한 2D 이미지 각각을 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 포함시키고,
    상기 특정 장소 및 특정 시기의 2D 이미지들의 그룹에 속한 2D 이미지들에 기초하여, VR 이미지의 제1 프레임들을 생성하고,
    상기 제1 프레임들의 배경 영역을 연장하여 제2 프레임들을 생성하고,
    상기 제1 프레임들 및 상기 제2 프레임들에 기초하여, VR 이미지를 생성하고,
    상기 생성된 VR 이미지를 사용자 단말 또는 VR 뷰어로 전송하는 프로세서
    를 포함하는
    VR 이미지 생성 장치.
KR1020190031680A 2019-03-20 2019-03-20 Vr 이미지 생성 방법 및 장치 KR102259045B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190031680A KR102259045B1 (ko) 2019-03-20 2019-03-20 Vr 이미지 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190031680A KR102259045B1 (ko) 2019-03-20 2019-03-20 Vr 이미지 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200111957A true KR20200111957A (ko) 2020-10-05
KR102259045B1 KR102259045B1 (ko) 2021-05-31

Family

ID=72809449

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190031680A KR102259045B1 (ko) 2019-03-20 2019-03-20 Vr 이미지 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102259045B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040001300A (ko) * 2002-06-27 2004-01-07 백승헌 파노라마 영상이미지를 배경으로 하는 영상이미지합성편집 시스템 및 그 방법
KR20130068463A (ko) * 2011-12-15 2013-06-26 주식회사 유프레스토 위치 기반 정보 서비스를 이용한 역사 정보 제공 시스템 및 방법
KR20180080098A (ko) * 2017-01-03 2018-07-11 삼성전자주식회사 전자 장치 및 그 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040001300A (ko) * 2002-06-27 2004-01-07 백승헌 파노라마 영상이미지를 배경으로 하는 영상이미지합성편집 시스템 및 그 방법
KR20130068463A (ko) * 2011-12-15 2013-06-26 주식회사 유프레스토 위치 기반 정보 서비스를 이용한 역사 정보 제공 시스템 및 방법
KR20180080098A (ko) * 2017-01-03 2018-07-11 삼성전자주식회사 전자 장치 및 그 동작 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Poleg & Peleg. Alignment and mosaicing of non overlapping images. ICCP, 2012년 4월, pp. 1-8. 1부.* *

Also Published As

Publication number Publication date
KR102259045B1 (ko) 2021-05-31

Similar Documents

Publication Publication Date Title
EP3815042B1 (en) Image display with selective depiction of motion
WO2018014766A1 (zh) 增强现实模块的生成方法及装置、生成系统和存储介质
CN108959392B (zh) 在3d模型上展示富文本的方法、装置及设备
JP7247327B2 (ja) ダイナミックデプス画像を撮影して編集するための手法
US11024060B1 (en) Generating neutral-pose transformations of self-portrait images
US11663467B2 (en) Methods and systems for geometry-aware image contrast adjustments via image-based ambient occlusion estimation
CN111476851B (zh) 图像处理方法、装置、电子设备及存储介质
US20140184596A1 (en) Image based rendering
US20220068007A1 (en) 3d asset generation from 2d images
CN110458924B (zh) 一种三维脸部模型建立方法、装置和电子设备
CN104021585A (zh) 基于真实场景的三维展示方法
US20190164323A1 (en) Method and program for generating virtual reality contents
CN111142967A (zh) 一种增强现实显示的方法、装置、电子设备和存储介质
CN116457821A (zh) 使用神经网络的对象重新照明
WO2021109764A1 (zh) 图像或视频生成方法、装置、计算设备及计算机可读介质
KR102259045B1 (ko) Vr 이미지 생성 방법 및 장치
US10762702B1 (en) Rendering three-dimensional models on mobile devices
US20220207786A1 (en) Flow-guided motion retargeting
US11580682B1 (en) Messaging system with augmented reality makeup
JP6892557B2 (ja) 学習装置、画像生成装置、学習方法、画像生成方法及びプログラム
CN108846897B (zh) 三维模型表面材质模拟方法、装置、存储介质及电子设备
CN117876550B (zh) 一种基于大数据的虚拟数字人渲染方法、系统及终端设备
Melenbrink et al. Fulldome Interfacing
US20240185399A1 (en) Parameter processing method and apparatus for virtual camera, device, storage medium, and program product
Mirbauer et al. SkyGAN: Realistic Cloud Imagery for Image‐based Lighting

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant