KR20200115231A - 이미지 또는 비디오 데이터로부터의 가상 캐릭터 생성 - Google Patents

이미지 또는 비디오 데이터로부터의 가상 캐릭터 생성 Download PDF

Info

Publication number
KR20200115231A
KR20200115231A KR1020200034918A KR20200034918A KR20200115231A KR 20200115231 A KR20200115231 A KR 20200115231A KR 1020200034918 A KR1020200034918 A KR 1020200034918A KR 20200034918 A KR20200034918 A KR 20200034918A KR 20200115231 A KR20200115231 A KR 20200115231A
Authority
KR
South Korea
Prior art keywords
custom
data
model
virtual
virtual character
Prior art date
Application number
KR1020200034918A
Other languages
English (en)
Other versions
KR102296906B1 (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 일렉트로닉 아트 아이엔씨.
Publication of KR20200115231A publication Critical patent/KR20200115231A/ko
Application granted granted Critical
Publication of KR102296906B1 publication Critical patent/KR102296906B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video
    • A63F2300/695Imported photos, e.g. of the player
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/16Cloth
    • 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/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Processing Or Creating Images (AREA)

Abstract

맞춤형 가상 캐릭터를 생성하기 위한 시스템 및 방법이 개시된다. 시스템은 실제 인물을 묘사하는 비디오 데이터 또는 다른 미디어를 획득한 다음, 상기 획득한 미디어를 상기 비디오 또는 다른 미디어에서 묘사되는 특정 사람에 관한 시각적 외관 및 행동을 학습하도록 구성된 하나 이상의 머신러닝 모델에 제공할 수 있다. 시스템은 그 후 상기 실제 인물에 대응하는 커스텀 시각적 외관 모델 및 커스텀 행동 모델을 생성할 수 있고, 이는 나중에 비디오 게임의 가상 환경 내에서, 외관과 게임 내 행동 면에서 실제 인물과 닮은 가상 캐릭터를 렌더링하는 데 사용될 수 있다.

Description

이미지 또는 비디오 데이터로부터의 가상 캐릭터 생성{VIRTUAL CHARACTER GENERATION FROM IMAGE OR VIDEO DATA}
본 출원에 출원된 바와 같이 외국 또는 국내 우선권 주장이 본 출원 데이터 시트에서 인정되는 임의의 및 모든 출원이 본원에 참조로 포함된다.
최근 몇 년 동안 비디오 게임 애플리케이션의 인기와 복잡성이 증가했다. 다른 플레이어와의 게임 내 온라인 상호작용을 포함하는 많은 비디오 게임의 가상 환경에 더 많은 플레이어가 참여함에 따라, 많은 플레이어는 이러한 가상 환경에서 제어하는 가상 캐릭터에 대한 사용자 정의 옵션이 늘어나기를 원한다.
특히 멀티 플레이어 비디오 게임에서, 많은 플레이어는 가상 환경에서 제어하는 가상 캐릭터에 대한 사용자 정의 옵션이 늘어나기를 원하는데, 플레이어는 종종 게임 내에서 다른 플레이어가 볼 수 있는 아바타나 캐릭터를 개인적으로 맞추고(personalize) 싶어한다. 다른 게임에서는 플레이어가 선택한 캐릭터의 의상 색깔 또는 게임 내 캐릭터의 시각적 외관의 다른 측면을 바꿀 수 있는 옵션을 제공하는 등, 미리 정의된 캐릭터의 적어도 어느 정도의 커스터마이제이션(customization)이 가능하다.
본 개시의 시스템, 방법 및 장치는 각각 몇 가지 혁신적인 양태를 가지며, 그 중 어느 것도 여기에 개시된 모든 바람직한 특징에 대해 단독으로 책임지지 않는다.
일부 실시예에서, 시스템은 비디오 게임의 가상 캐릭터에 대한 3차원(3D) 모델 데이터를 저장하는 데이터 저장소(data store) - 상기 3D 모델 데이터는 휴먼 베이스 모델(human base model)을 포함하고, 상기 휴먼 베이스 모델은 일반적인 인간 모습의 바디 형상(body shape of generic human figure)을 정의하는 3D 메쉬 데이터(3D mesh data)를 포함함 -; 및 상기 데이터 저장소와 전자적(electronics) 통신하고, 컴퓨터 판독 가능 명령어를 실행하도록 구성된 컴퓨팅 시스템(computing system)을 포함한다. 상기 명령어는: 실제 인물을 묘사하는(depicting) 입력 미디어(input media)를 획득하고, 상기 입력 미디어는 적어도 카메라에 의해 수집된(captured) 상기 실제 인물의 비디오 녹화를 포함하고; 상기 입력 미디어의 적어도 일부를, 이미지 또는 비디오 데이터에 묘사된 한 명 이상의 인간에 관한 시각적 정보를 추출하도록 구성된 제1 머신러닝 모델(first machine learning model)에 제공하고; 상기 실제 인물에 대응하는 커스텀 3D 모델 데이터를 생성하기 위해 상기 제1 머신러닝 모델에 의해 추출된 시각 정보에 기초하여 상기 휴먼 베이스 모델의 상기 3D 메쉬 데이터를 변경하고; 상기 입력 미디어를, 비디오 데이터에 묘사된 한 명 이상의 인간의 행동을 판단하도록 구성된 제2 머신러닝 모델(second machine learning model)에 제공하고; 상기 제2 머신러닝 모델의 출력에 적어도 부분적으로 기초하여 상기 실제 인물에 대응하는 커스텀 행동 데이터(custom behavior data)를 생성하고 - 상기 커스텀 행동 데이터는 상기 입력 미디어에 묘사된 상기 실제 인물에 의해 수행되는 동작과 관련된 골격 움직임을 나타냄 -; 및 비디오 게임의 3D 가상 환경 내에서, 하나 이상의 동작을 수행하는 상기 실제 인물과 유사한 가상 캐릭터를 묘사하는 일련의 디스플레이용 프레임을 렌더링하도록 - 렌더링된 상기 가상 캐릭터의 시각적 외관은 상기 커스텀 3D 모델 데이터에 적어도 부분적으로 기초하고, 상기 하나 이상의 동작은 상기 커스텀 행동 데이터에 적어도 부분적으로 기초함 - 상기 컴퓨팅 시스템을 구성할 수 있다.
상기 컴퓨터 시스템은 다음 특징 중 하나, 전부 또는 임의의 조합을 가질 수 있다. 상기 컴퓨터 판독 가능 명령어는: 상기 입력 미디어에 도시된 상기 실제 인물이 착용한 제1 의류 아이템(first item of clothing)에 관한 시각적 정보를 상기 입력 미디어로부터 추출하고; 및 상기 실제 인물이 착용한 상기 제1 의류 아이템에 대응하는 가상 의류 아이템(virtual clothing item)을 생성하되 - 상기 가상 의류 아이템은 상기 시각 정보에 기초해 생성된 텍스처(texture)를 포함함 -, 상기 비디오 게임의 상기 3D 가상 환경에서 렌더링 된 상기 가상 캐릭터의 상기 시각적 외관은 상기 가상 의류 아이템을 착용한 상기 가상 캐릭터의 묘사를 포함하도록 상기 컴퓨팅 시스템을 더 구성할 수 있다. 상기 컴퓨터 판독 가능 명령어는 사용자에게 디스플레이를 위한 가상 의류 선택 인터페이스(virtual clothing selection interface)를 생성하도록 상기 컴퓨팅 시스템을 더 구성할 수 있고, 상기 가상 의류 선택 인터페이스는 상기 가상 캐릭터에 적용하기 위해 이용가능한 카탈로그(catalog)로부터 가상 의류 아이템의 서브셋(subset)을 식별하고, 가상 의류 아이템의 상기 서브셋은 상기 입력 미디어의 자동화된 분석으로부터 결정된 상기 실제 인물의 하나 이상의 의류 스타일에 적어도 부분적으로 기초해 상기 컴퓨팅 시스템에 의해 상기 카탈로그로부터 선택된다. 상기 컴퓨터 판독 가능 명령어는: 상기 데이터 저장소에 상기 실제 인물에 대응하는 커스텀 가상 캐릭터 데이터를 저장하도록 - 상기 커스텀 가상 캐릭터 데이터는 적어도 상기 커스텀 3D 모델 데이터와 상기 커스텀 행동 데이터를 포함함 - 상기 컴퓨팅 시스템을 더 구성할 수 있다. 상기 컴퓨터 판독 가능 명령어는: 상기 가상 캐릭터를 둘 이상의 비디오 게임 애플리케이션 각각과 관련된 가상 세계에 통합하기 위해 상기 커스텀 가상 캐릭터 데이터를 상기 둘 이상의 비디오 게임 애플리케이션에 제공하도록 상기 컴퓨팅 시스템을 더 구성할 수 있다.
일부 실시예에서, 상기 실제 인물에 대응하는 상기 커스텀 3D 모델 데이터는 상기 입력 미디어로부터 추출된 커스텀 텍스처(texture)를 포함할 수 있다. 상기 제1 머신러닝 모델은 생성기(generator) 및 판별기(discriminator)를 포함하는 GAN(generative adversarial network)를 포함할 수 있다. 상기 제2 머신러닝 모델은 컨볼루션 뉴럴 네트워크(convolutional neural network)을 포함할 수 있고, 상기 컴퓨팅 시스템은 상기 컨볼루션 뉴럴 네트워크의 출력에 운동적인 골격 피팅(kinematic skeleton fitting)을 적용하도록 구성된다. 상기 커스텀 행동 데이터는 상기 입력 미디어로부터 결정된 상기 실제 인물의 자세(body posture) 또는 걸음걸이(gait) 중 적어도 어느 하나를 반영하는 정보를 포함할 수 있다.
일부 실시예에서, 컴퓨터로 구현되는 방법은 적어도 컴퓨터 하드웨어를 포함하는 컴퓨터 시스템의 제어 하에서, 카메라로 수집된(captured) 실제 인물을 묘사하는 입력 미디어(input media)를 획득하고; 일반적인 인간 모습과 관련된 기본 3D 모델 데이터(base three-dimensional model data)를 획득하고; 이미지나 비디오 데이터에 묘사된 한 명 이상의 인간에 관한 시각적 정보를 추출하도록 구성된 제1 머신러닝 모델(first machine learning model)로 상기 입력 미디어의 적어도 일부를 제공하고; 상기 실제 인물에 대응하는 커스텀 3D 모델 데이터(custom 3D model data)를 생성하기 위해 상기 제1 머신러닝 모델에 의해 추출된 시각 정보에 기초하여 상기 기본 3D 모델 데이터를 수정하고; 비디오 데이터에서 묘사된 한 명 이상의 인간의 행동을 판단하도록 구성된 제2 머신러닝 모델(second machine learning model)로 상기 입력 미디어를 제공하고; 상기 제2 머신러닝 모델의 출력에 적어도 부분적으로 기초하여 상기 실제 인물에 대응하는 커스텀 행동 데이터(custom behavior data)를 생성하고 - 상기 커스텀 행동 데이터는 상기 입력 미디어에 묘사된 상기 실제 인물에 의해 수행된 적어도 하나의 움직임(movement) 또는 동작(action)과 관련됨 -; 및 적어도 하나의 비디오 게임의 가상 세계에 존재하는(populate) 가상 캐릭터에 대한 가상 캐릭터 데이터를 저장하는 데이터 저장소에, 커스텀 가상 캐릭터(custom virtual character)를 정의하는 데이터를 저장하는 - 상기 커스텀 가상 캐릭터를 정의하는 상기 데이터는 적어도 상기 커스텀 3D 모델 및 상기 커스텀 행동 모델을 포함함 - 컴퓨터 실행 가능 명령어(computer executable instruction)로 구성되는 상기 컴퓨터 시스템을 포함할 수 있다.
상기 컴퓨터로 구현되는 방법은 다음 특징들의 하나, 전부 또는 임의의 조합을 더 포함할 수 있다. 상기 방법은 비디오 게임의 3D 가상 환경 내에서, 하나 이상의 동작을 수행하는 상기 커스텀 가상 캐릭터를 묘사하는 일련의 디스플레이용 프레임을 렌더링하는 - 렌더링 된 상기 커스텀 가상 캐릭터의 시각적 외관은 상기 커스텀 3D 모델 데이터에 적어도 부분적으로 기초하며, 상기 하나 이상의 동작은 상기 커스텀 행동 모델에 적어도 부분적으로 기초함 - 컴퓨터 실행 가능 명령어를 더 포함할 수 있다. 상기 방법은 비디오 게임 플레이어가 상기 제2 머신러닝 모델로 학습한 커스텀 동작(custom action)을, 상기 가상 세계 내에서 상기 커스텀 가상 캐릭터에 의해 수행되는 게임 내 동작으로 태깅(tag)할 수 있게 하는 사용자 인터페이스(user interface)를 생성하는 컴퓨터 실행 가능 명령어를 더 포함할 수 있다. 상기 사용자 인터페이스는 상기 커스텀 동작과 관련될 수 있는 복수의 게임 내 동작을 식별할 수 있다. 상기 커스텀 동작은 상기 입력 미디어에서 상기 실제 인물에 의해 수행되는 춤 또는 제스쳐일 수 있다. 상기 커스텀 행동 모델은 행동 트리(behavior tree)일 수 있다. 상기 커스텀 행동 모델을 생성하는 것은 마르코프 모델(Markov model) 또는 딥 뉴럴 네트워크(deep neural network) 중 적어도 어느 하나의 적용을 포함할 수 있다.
일부 실시예에서, 비일시적 컴퓨터 판독 가능 저장 매체는, 실행될 때, 컴퓨팅 시스템이: 카메라로 수집된(captured) 실제 인물을 묘사하는 입력 미디어(input media)를 획득하고; 일반적인 인간 모습과 관련된 기본 3D 모델 데이터(base three-dimensional model data)를 획득하고; 이미지나 비디오 데이터에 묘사된 한 명 이상의 인간에 관한 시각적 정보를 추출하도록 구성된 제1 머신러닝 모델(first machine learning model)로 상기 입력 미디어의 적어도 일부를 제공하고; 상기 실제 인물에 대응하는 커스텀 3D 모델 데이터(custom 3D model data)를 생성하기 위해 상기 제1 머신러닝 모델에 의해 추출된 시각 정보에 기초하여 상기 기본 3D 모델 데이터를 수정하고; 비디오 데이터에서 묘사된 한 명 이상의 인간의 행동을 판단하도록 구성된 제2 머신러닝 모델(second machine learning model)로 상기 입력 미디어를 제공하고; 상기 제2 머신러닝 모델의 출력에 적어도 부분적으로 기초하여 상기 실제 인물에 대응하는 커스텀 행동 데이터(custom behavior data)를 생성하고 - 상기 커스텀 행동 데이터는 상기 입력 미디어에 묘사된 상기 실제 인물에 의해 수행된 적어도 하나의 움직임(movement) 또는 동작(action)과 관련됨 -; 및 적어도 하나의 비디오 게임의 가상 세계에 존재하는(populate) 가상 캐릭터에 대한 가상 캐릭터 데이터를 저장하는 데이터 저장소에, 커스텀 가상 캐릭터(custom virtual character)를 정의하는 데이터를 저장 - 상기 커스텀 가상 캐릭터를 정의하는 상기 데이터는 적어도 상기 커스텀 3D 모델 및 상기 커스텀 행동 모델을 포함함 - 하도록 구성하는 컴퓨터로 판독 가능한 명령어를 저장할 수 있다.
상기 컴퓨터 판독 가능 매체는 다음 특징들의 하나, 전부 또는 임의의 조합을 더 포함할 수 있다. 상기 명령어는 상기 컴퓨팅 시스템이 비디오 게임의 3D 가상 환경 내에서, 하나 이상의 동작을 수행하는 상기 커스텀 가상 캐릭터를 묘사하는 일련의 디스플레이용 프레임을 렌더링하도록 더 구성할 수 있고, 렌더링된 상기 커스텀 가상 캐릭터의 시각적 외관은 상기 커스텀 3D 모델 데이터에 적어도 부분적으로 기초하며, 상기 하나 이상의 동작은 상기 커스텀 행동 모델에 적어도 부분적으로 기초한다. 상기 실제 인물은 상기 적어도 하나의 비디오 게임의 플레이어일 수 있고, 상기 입력 미디어는 (a) 상기 플레이어의 컴퓨팅 장치 또는 (b) 상기 플레이어와 관련된 제3자 미디어 계정 중 적어도 어느 하나로부터 얻어질 수 있다. 상기 명령어는 상기 컴퓨팅 시스템이: 상기 커스텀 가상 캐릭터가, 비디오 게임의 가상 세계 내에서 상기 실제 인물의 실제 세계에서의 행동과 일치하지 않는 방식으로 행동한다는 것을 나타내는 사용자 피드백(user feedback)을 수신하고, 상기 사용자 피드백에 대응하는 하나 이상의 행동을 억제하도록 상기 커스텀 행동 모델의 적어도 일부를 수정하도록 더 구성할 수 있다.
비록 특정 실시예 및 예시가 여기 개시되어 있지만, 발명의 주제는 구체적으로 개시된 실시예의 예시를 넘어서 다른 대안적인 실시예 및/또는 용도, 및 그 수정 및 그에 상응하는 것으로 확장된다.
본 명세서에 기재되어 있다.
도면 전체에 걸쳐 참조 번호는 참조된 요소 간의 대응을 나타내기 위해 재사용된다. 도면은 여기에 기재된 주제의 실시예를 도시하기 위해 제공되며, 그 범위를 제한하기 위한 것이 아니다.
도 1은 커스텀 캐릭터 시스템의 하나 이상의 실시예를 구현하기 위한 네트워크 컴퓨팅 환경의 실시예를 도시한다.
도 2는 일부 실시예에 따라 실제 인물을 묘사하는 입력 미디어의 자동화된 분석에 기초하여 가상 캐릭터 모델을 생성 및 저장하기 위한 예시적인 방법의 흐름도이다.
도 3은 일실시예에 따라, 커스텀 3D 모델 및 가상 의류/액세서리 아이템이 생성되는 실제 인물 및 일반 사람의 3D 메쉬를 도시하는 예시적인 입력 미디어의 그래픽 묘사를 제공한다.
도 4a는 일부 실시예에 따라 특정 실제 인물과 시각적으로 유사하게 보이는 가상 캐릭터에 대한 커스텀 텍스처(custom texture) 및 3D 모델 데이터를 생성하기 위한 예시적인 방법의 흐름도이다.
도 4b는 일부 실시예에 따라 가상 캐릭터에 의해 착용될 하나 이상의 의류 또는 액세서리 아이템에 대한 커스텀 텍스처 및/또는 3D 모델 데이터를 생성하기 위한 예시적인 방법의 흐름도이다.
도 5는 일부 실시예에 따라 실제 인물을 묘사하는 입력 미디어의 자동화된 분석에 기초하여 가상 캐릭터에 대한 행동 모델 및 커스텀 애니메이션 데이터를 생성 및 저장하기 위한 예시적인 방법의 흐름도이다.
도 6은 일실시예에 따라 비디오 게임 플레이어가 가상 캐릭터에 의해 착용될 맞춤형 의류 및 액세서리(custom clothing and accessories)를 선택하고 가상 캐릭터의 외관을 편집할 수 있게 하는 예시적인 사용자 인터페이스(user interface)이다.
도 7은 일실시예에 따라 비디오 게임 플레이어가 비디오 데이터로부터 생성된 가상 캐릭터에 대한 맞춤형 애니메이션(custom animation)을 검토할 수 있게 하고, 애니메이션이 가상 캐릭터에 적용될 수 있는 게임 내 인스턴스를 선택할 수 있게 하는 예시적인 사용자 인터페이스이다.
도 8은 본 개시의 양태를 구현할 수 있는 컴퓨팅 장치의 실시예를 도시한다.
개요
많은 비디오 게임을 통해 플레이어는 주어진 게임 인스턴스에서 플레이어가 제어할 수 있도록 기존에 정의된 다양한 가상 캐릭터 중에서 선택할 수 있다. 또한, 많은 비디오 게임 및 기타 프로그램은 종종 소프트웨어-제어 가상 개체(software-controlled virtual entities)를 포함한다. 비디오 게임에서, 이러한 소프트웨어 제어 또는 프로그램 제어 가상 개체는 때때로 컴퓨터 플레이어, 봇, 인공 지능(AI) 유닛, AI 캐릭터 또는 비 플레이어 캐릭터(non-player characters; "NPCs")로 불릴 수 있다. NPC는 게임 내 자극(예를 들어, 다른 NPC 또는 플레이어 제어 캐릭터와 관련된 게임 내 동작 또는 사건)에 대해 인간 플레이어에게 실제처럼 보이는 방식으로 반응하도록 프로그래밍될 수 있다. 주어진 NPC에 대해 프로그래밍된 행동은 NPC의 특정 캐릭터 유형(예를 들어, 인간, 특정 유형의 동물, 괴물, 외계인 등), NPC에 할당된 특성(예를 들어, 무모함, 우호적임, 공격적임, 소극적임 등), NPC에 할당된 역할(예를 들어, 팀원, 적, 상점 주인, 상사 등) 및/또는 다른 요인에 따라 다를 수 있다. 기존 비디오 게임의 일부 인스턴스에서, 플레이어는 게임 내에서 가상 세계에 존재하는(populate) 하나 이상의 NPC를 선택할 수 있으며, 예를 들면 대전 격투 게임(fighting game)에서 플레이어가 컴퓨터 게임 상대(computer-controlled opponent)를 선택하거나, 시뮬레이션 게임(simulation game)의 가상 환경 내에서 플레이어가 상호 작용하는 가상 인간 캐릭터 패밀리를 생성하는 것이 있다.
플레이어는 플레이어 자신의 가상 복제본 또는 가상 버전인 게임 내 가상 캐릭터(플레이어 제어 캐릭터 또는 NPC)를 갖기를 원할 수 있다. 이와 관련하여 기존 비디오 게임 캐릭터 시스템의 문제점은, 플레이어가 주어진 게임에 제공된 표준 게임 내 캐릭터(standard in-game character)를 플레이어의 실제 현실 세계 외관에 가깝게 보이도록 조정하기 위해서는 캐릭터 에디터 사용자 인터페이스(character editor user interface)의 수동 선택을 하는 것에 제한된다는 것이다. 이로 인해 개별 캐릭터 특징을 수동으로 편집하고, 사용 가능한 가상 의상을 교체하고, 및/또는 주어진 게임에서 사용할 수 있는 가상 캐릭터 외관의 다른 측면을 수동으로 조정하는 데 긴 시행착오가 생길 수 있고, 이는 일반적인 플레이어에게는 불만스러울 수 있고 플레이어의 기대에 못 미치는 가상 캐릭터를 만들어낼 수 있다. 게임에서 가상 캐릭터가 착용할 가상 의상을 선택하는 하위 프로세스 내에서도, 이러한 기능을 제공하는 일반적인 게임은 플레이어가 플레이어의 실제 생활에서의 의상 스타일에 유사한 이용 가능한 의상을 찾을 수 있게 하는 특별히 효율적인 메커니즘을 제공하지 않는다. 추가적인 예로, 플레이어는 특정 비디오 게임이 플레이어와 적어도 약간은 유사하게 보이도록 게임 내 가상 캐릭터를 커스터마이징하는 옵션을 제공하는 것을 찾을 수 있지만(예를 들어, 가상 캐릭터는 유사한 피부 톤, 머리 길이 및 머리 색을 가질 수 있다), 이는 플레이어가 실제 생활에서 하는 것과는 매우 다르게 행동하거나 움직일 수 있다(예를 들어, 보행 시 플레이어의 절뚝거림(limp)의 부족, 다른 자세를 가지는 것 등). 이로 인해, 가상 캐릭터가 그의 가상 버전처럼 보이거나 행동했다면 플레이어가 몰입했을 것 보다 가상 캐릭터나 게임에 대체로 감정적으로 덜 몰입하게 될 수 있다.
본 개시의 양태는 특정 실제 인물을 묘사하는(depicting) 입력 미디어로부터 커스텀 가상 캐릭터를 생성하는 것에 대한 자동화된 시스템과 방법을 제공함으로써 상기 문제 및 다른 문제를 해결하고, 상기 생성된 가상 캐릭터는 입력 미디어로부터 모두 결정되는 커스터마이징 된 텍스처, 3D 모델 데이터, 의류 옵션 및 행동 모델을 포함할 수 있다. 입력 미디어 자체 또는 입력 미디어에 대한 액세스는 플레이어에 의해 본원에 기재된 커스텀 캐릭터 시스템에 제공될 수 있다. 예를 들어, 플레이어는 실제 플레이어를 묘사하는 이미지 및/또는 비디오를 커스텀 캐릭터 시스템에 제공할 수 있다. 대안적으로 또는 추가적으로, 플레이어는 비디오 게임 시스템이 제3자 미디어 소스, 예를 들어 플레이어의 소셜 미디어 계정 또는 소셜 네트워크 계정, 플레이어가 디지털 미디어를 저장하기 위해 사용하는 클라우드 저장 서비스, 홈 보안 카메라 모니터링 서비스, 및/또는 플레이어 또는 플레이어가 하나 이상의 게임 내로 가상 형태로 가져오길(imported) 원하는 사람을 묘사하는 다른 미디어 소스에 액세스할 수 있게 한다.
이하 상세히 기재되는 바와 같이, 본원에 기재된 커스텀 캐릭터 시스템은 사람의 외관 및 행동의 다양한 측면을 학습하기 위해 실제 생활에서의 플레이어 또는 다른 사람을 묘사하는 입력 미디어를 분석할 수 있다. 일부 실시예에서, 커스텀 캐릭터 시스템은 하나 이상의 일반 또는 기본 외관 모델 및/또는 행동 모델을 출발점으로 사용할 수 있다(예를 들어, 성별, 연령대 등과 같은 다양한 특성에 따라 커스터마이징 될 수 있는 사람에 대한 저장된 템플릿(templates) 또는 모델(models)에 대한 액세스 권한을 가질 수 있다). 커스텀 캐릭터 시스템은 그 후, 인물의 녹화된 비디오 또는 라이브 비디오 스트림과 같은 입력 미디어에 묘사된 실제 생활 속 인물의 구체적인 관찰되거나 발견된 양태에 기초하여 이 일반 또는 기본 모델을 수정할 수 있다. 커스텀 캐릭터 시스템은 궁극적으로 3D 메쉬 또는 다른 기하학적 구조 또는 다른 3D 객체 데이터, 텍스처, 애니메이션 데이터, 행동 트리 또는 다른 행동 모델, 커스텀 의류 및/또는 액세서리, 및/또는 다른 데이터와 같은 특정 인물에 대한 다양한 커스텀 데이터를 생성하고 저장한다. 이 커스텀 데이터셋(custom data set)은 실제 인물을 흉내내는 현실적인 외관 및/또는 행동으로 하나 이상의 비디오 게임에서 실제 인물의 가상 캐릭터 버전을 렌더링하는 데 사용될 수 있다.
커스텀 캐릭터 시스템 및 운영 환경의 개요
도 1은 일부 실시예에 따른 커스텀 캐릭터 시스템(130)을 구현하기 위한 컴퓨팅 환경(100)의 실시예를 도시한다. 환경(100)은 네트워크(108), 플레이어 컴퓨팅 시스템(102), 하나 이상의 선택적 제3자 미디어 소스 또는 서비스(103) 및 인터랙티브 컴퓨팅 시스템(120)을 포함한다. 논의를 단순화하고 본 개시를 제한하지 않기 위해, 다수의 시스템이 사용될 수 있지만 도 1은 하나의 플레이어 컴퓨팅 시스템(102) 및 하나의 인터랙티브 컴퓨팅 시스템(120)만 도시한다.
인터랙티브 컴퓨팅 시스템(120)은 애플리케이션 호스트 시스템(122), 하나 이상의 데이터 저장소(124) 및 커스텀 캐릭터 시스템(130)을 포함할 수 있다. 커스텀 캐릭터 시스템(130)은 게임 애플리케이션과 관련된 데이터를 획득하고 게임 애플리케이션에 사용하기 위한 커스텀 캐릭터 데이터를 제공하기 위해 데이터 저장소(124) 및/또는 애플리케이션 호스트 시스템(122)과 통신할 수 있다. 단 하나의 네트워크(108)만이 도시되어 있지만, 다수의 개별 및/또는 분산 네트워크가 존재할 수 있다. 이들 사이의 상호 작용 또는 통신을 포함해, 도 1에 도시된 다양한 시스템 및 다른 컴포넌트가 이하 보다 상세하게 기재될 것이다.
A. 인터랙티브 컴퓨팅 시스템
도시된 실시예에서, 인터랙티브 컴퓨팅 시스템(120)은 애플리케이션 호스트 시스템(122), 데이터 저장소(124) 및 커스텀 캐릭터 시스템(130)을 포함한다. 이 시스템들은 서로 통신할 수 있다. 예를 들어, 커스텀 캐릭터 시스템(130)은 애플리케이션 호스트 시스템(122)으로부터 게임 애플리케이션과 관련된 데이터를 얻을 수 있고, 커스텀 캐릭터 데이터를 애플리케이션 호스트 시스템(122)에 및/또는 데이터 저장소(124)에 저장하기 위해 제공할 수 있다. 애플리케이션 호스트 시스템(122)은 게임 애플리케이션을 실행 및/또는 호스트하기 위해 데이터 저장소(124)와 통신할 수 있다. 특정 실시예에서, 인터랙티브 컴퓨팅 시스템(120)은 게임 퍼블리셔, 게임 개발자, 플랫폼 제공자 또는 다른 단체에 의해 운영될 수 있는 네트워크 기반 서비스와 관련될 수 있다.
1. 애플리케이션 호스트 시스템
애플리케이션 호스트 시스템(122)은 플레이어 컴퓨팅 시스템(102) 상에서 동작하는 게임 애플리케이션(104)의 일부 및/또는 인터랙티브 컴퓨팅 시스템(120) 상의 호스트 애플리케이션(미도시)을 실행하도록 구성될 수 있다. 특정 실시예에서, 애플리케이션 호스트 시스템(122)은 게임 애플리케이션(104)의 일부 및/또는 호스트 애플리케이션을 실행하는 대신에 또는 추가로 다른 애플리케이션을 실행할 수 있으며, 이는 게임 애플리케이션(104)의 게임 플레이 세션의 실행 중 게임 애플리케이션(104)을 보완 및/또는 상호 작용할 수 있다. 애플리케이션 호스트 시스템에 대한 자세한 내용은 이하 기재되어 있다.
인터랙티브 컴퓨팅 시스템(120)은 다수의 플레이어 또는 컴퓨팅 시스템이 게임 애플리케이션(104)의 일부 및/또는 호스트 애플리케이션에 액세스할 수 있게 할 수 있다. 일부 실시예에서, 인터랙티브 컴퓨팅 시스템(120)의 애플리케이션 호스트 시스템(122)에 의해 실행되는 게임 애플리케이션(104)의 일부는 지속적 가상 세계(persistent virtual world)를 생성할 수 있다. 이 지속적 가상 세계 또는 가상 환경은 하나 이상의 플레이어가 가상 세계와 그리고 서로 동기(synchronous) 및/또는 비동기(asynchronous) 방식으로 상호 작용할 수 있게 한다. 일부 경우에, 지속적 가상 세계의 다수 인스턴스가 인터랙티브 컴퓨팅 시스템(120)에 의해 생성되거나 호스팅될 수 있다. 플레이어 집단은 지속적 가상 세계의 한 인스턴스에 할당되거나 액세스할 수 있는 반면, 다른 플레이어 집단은 지속적 가상 세계의 다른 인스턴스에 할당되거나 액세스할 수 있다.
일부 실시예에서, 애플리케이션 호스트 시스템(122)은 게임 환경의 다양한 양상들을 실행하기 위한 호스팅 시스템을 실행할 수 있다. 예를 들어, 일실시예에서, 게임 애플리케이션(104)은 1인칭 슈팅 게임 또는 스포츠 게임과 같은 경쟁 게임일 수 있고, 호스트 애플리케이션 시스템(122)은 멀티 플레이어 게임 인스턴스를 호스팅하기 위한 전용 호스팅 서비스를 제공하거나 플레이어 컴퓨팅 장치에 의해 호스팅되는 게임 인스턴스의 생성을 용이하게 할 수 있다. 일부 실시예에서, 애플리케이션 호스트 시스템(122)은 플레이어들이 서로 상호작용하도록 로비 또는 다른 환경을 제공할 수 있다. 일부 실시예에서, 가상 환경은 게임 개발자에 의해 설계된 하나 이상의 캐릭터 뿐만 아니라 커스텀 캐릭터 시스템(130)에 의해 생성된 하나 이상의 가상 캐릭터로 채워질 수 있다.
2. 커스텀 캐릭터 시스템
본원에서 더 자세히 기재되는 바와 같이, 커스텀 캐릭터 시스템(130)은 미디어 및 다른 데이터를 획득하기 위해 다른 시스템과 통신할 수 있고, 미디어 및 다른 데이터에 기초해 하나 이상의 커스텀 가상 캐릭터(및/또는 관련 의류 아이템 및 액세서리)를 생성할 수 있고, 이 가상 캐릭터들을 게임이나 다른 가상 세계에서 NPC 또는 플레이어 제어 캐릭터로 사용할 수 있게 할 수 있다. 커스텀 캐릭터 시스템(130)은 본원에 기재된 다양한 기능을 구현하기 위한 하나 이상의 시스템, 서브 시스템 또는 컴포넌트를 포함할 수 있다. 예를 들어, 커스텀 캐릭터 시스템(130)은 미디어 처리 시스템(132), 행동 학습 시스템(134), 외관 학습 시스템(136), 애니메이션 생성기(138) 및 캐릭터 에디터 인터페이스 시스템(140)을 포함할 수 있다. 이러한 예시적인 시스템 또는 컴포넌트는 제한적인 것으로 의도되지 않으며, 커스텀 캐릭터 시스템(130)은 도시되거나 기재된 것보다 더 적거나 많은 시스템이나 컴포넌트를 포함할 수 있다.
커스텀 캐릭터 시스템(130) 및 그 다양한 시스템 또는 컴포넌트는 다수의 컴퓨팅 시스템에 걸쳐 분산될 수 있다. 커스텀 캐릭터 시스템(130)의 다양한 시스템은 서로 통신하며 데이터를 획득하고, 데이터를 분석하고, 가상 캐릭터 데이터를 생성할 수 있다. 다양한 시스템이 인터랙티브 컴퓨팅 시스템(120) 및/또는 커스텀 캐릭터 시스템(130)의 일부로서 도시되어 있지만, 각 시스템의 기능은 다른 또는 다수의 컴퓨팅 시스템 또는 장치에 의해 구현될 수 있음이 이해될 것이다. 또한, 단일 시스템은 서로 통신하는 다수의 시스템에 의해 제공되거나 구현되는 것으로 본원에 기재된 기능을 구현할 수 있다. 유사하게, 인터랙티브 컴퓨팅 시스템(120)의 커스텀 캐릭터 시스템(130)에 의해 제공되는 것으로 기재된 기능은 다른 실시예에서 대신에 플레이어 컴퓨팅 시스템(102)에서 구현될 수 있다. 커스텀 캐릭터 시스템(130)의 각 시스템 또는 컴포넌트는 이하 개괄적으로 기재되며, 관련 기능은 다른 도면과 관련해 이후 더 기재된다.
a. 미디어 처리 시스템
미디어 처리 시스템(132)은 실시예에 따라 다양한 소스로부터 이미지, 비디오 및/또는 오디오 데이터를 획득, 수신 또는 검색하도록 구성될 수 있다. 예를 들어, 본원에서 더 기재될 바와 같이, 미디어 처리 시스템(132)은 플레이어 컴퓨팅 시스템(102), 제3자 미디어 소스(103) 및/또는 다른 소스로부터 이미지(예를 들어, 디지털 사진), 비디오 및/또는 다른 미디어 아이템 또는 파일을 획득할 수 있다. 미디어 처리 시스템은 특정 미디어 데이터를 저장하는 특정 서비스 또는 시스템에 특정한 다양한 API 또는 다른 프로토콜을 통해 통신하도록 구성될 수 있다. 일부 실시예에서, 획득된 미디어는 카메라(예를 들어, 핸드폰 카메라, 독립형 디지털 카메라, 보안 또는 가정용 카메라, 및/또는 다른 장치)에 의해 수집된 한 명 이상의 실제 인물을 묘사하는 비디오 및/또는 이미지를 포함할 수 있다.
일부 사례에서, 미디어는 특히 인물의 비디오를 커스텀 캐릭터 시스템(130)에 제공하기 위한 목적으로 플레이어의 카메라에 의해 수집되었을 수 있다. 다른 경우, 플레이어는 대신 플레이어의 묘사를 포함하는 기존 이미지 또는 비디오를 커스텀 캐릭터 시스템(130)에 제공할 수 있다. 예를 들어, 입력 비디오는 사회적 상황의 플레이어, 스포츠를 하는 플레이어, 친구들과 대화하는 플레이어, 일상 활동 및/또는 다른 동작이나 활동을 하면서 방을 걷는 플레이어를 포함할 수 있다.
일부 실시예에서, 미디어 처리 시스템(132)은 미디어 또는 관련 데이터를 행동 학습 시스템(134) 및/또는 외관 학습 시스템(136)에 제공하기 전에 미디어의 초기 분석을 수행할 수 있다. 예를 들어, 미디어 처리 시스템(132)은 이미지 분할 분석, 객체 검출을 수행할 수 있고, 및/또는 커스텀 캐릭터 시스템(130)과 관련된 한 명 이상의 사람을 묘사하는 이미지, 비디오 프레임 및/또는 입력 미디어의 다른 부분을 식별하기 위해 다양한 머신 러닝 모델에 대한 입력으로서 입력 미디어를 제공할 수 있다.
b. 행동 학습 시스템
행동 학습 시스템(134)은 가상 캐릭터로 생성될 인물을 묘사하는 이미지 또는 비디오와 같은 입력 미디어를 분석하여 그 인물의 고유한 행동을 학습하도록 구성될 수 있다. 이하 기재되는 바와 같이, 예를 들어 입력 미디어에서 관찰된 인물이 수행하는 일련의 일상 동작, 특이 동작을 식별하는 것 등에 의해, 행동 학습 시스템(134)은 입력 미디어에 묘사된 특정 인물이 어떻게 행동하는지를 나타내는 행동 트리 또는 다른 행동 모델을 출력할 수 있다. 행동 학습 시스템은 마르코프(Markov) 모델 및/또는 딥 뉴럴 네트워크(deep neural network) 모델의 앙상블 같은 다양한 모델링 기술 또는 접근법을 이용할 수 있다. 행동 학습 시스템(134)은 해당 인물이 일반적으로 에너지가 많은지, 느리게 움직이는지, 긴장했는지, 조용한지 등과 같은 인물의 특성을 추출하거나 결정하기 위해 비디오와 같은 입력 미디어의 의미 분석(semantic analysis)을 추가로 진행할 수 있다. 행동 학습 시스템은 일부 실시예에서 인물의 걸음걸이(gait), 걷거나 뛸 때의 자세 및 속도와 같은 특정 움직임에 대한 자세 유형이나 스타일 유형을 결정할 수 있다.
c. 외관 학습 시스템
외관 학습 시스템(136)은 가상 캐릭터로서 생성될 인물을 묘사하는 이미지 또는 비디오와 같은 입력 미디어를 분석하여 그 사람의 고유한 시각적 특성 또는 외관 세부 사항을 학습하도록 구성될 수 있다. 이하 기재되는 바와 같이, 외관 학습 시스템(136)은 3D 모델에 스타일을 적용하기 위해 비주얼 스타일 추출 기술(visual style extraction techniques)를 하나 이상의 학습 모델로서 적용할 수 있으며, 이는 3D 모델에 적용할 텍스처를 생성하는 것을 포함할 수 있다. 3D 메쉬 데이터와 같은 초기 3D 모델이 기본 또는 템플릿으로 사용될 수 있다. 외관 학습 시스템(136)은 아래에서 더 설명되는 바와 같이 실제 인물의 외관에 더 잘 맞도록 3d 모델 데이터를 추가로 변경할 수 있다. 외관 학습 시스템은 가상 캐릭터에 의해 착용될 특정 가상 의류 아이템을 생성 및/또는 추천하기 위해 입력 미디어에서 그 인물에 의해 착용된 의류 아이템 및/또는 의류 스타일을 추가로 식별할 수 있다.
d. 애니메이션 생성기
행동 학습 시스템(134)과 함께 또는 협업하여 동작할 수 있는 애니메이션 생성기(138)는, 입력 미디어에 묘사된 실제 생활 속 인물에 의해 수행되는 특정 움직임을 모방하거나 근사하는(approximate) 방식으로 움직이는 가상 캐릭터에 대한 애니메이션 데이터를 생성하도록 구성될 수 있다. 예를 들어, 행동 학습 시스템(134)은 비디오에 묘사된 실제 인물이 비디오의 특정 프레임에서 달리고 있다고 결정할 수 있는 반면, 애니메이션 생성기는 가상 캐릭터가 비디오의 실제 인물과 비슷한 방식으로 달리는 것으로 보이게 하기 위해 가상 캐릭터에 적용될 수 있는 애니메이션 또는 일련의 골격 움직임을 생성하기 위해 해당 프레임의 픽셀 데이터로부터 골격 모션을 결정할 수 있다. 애니메이션 생성기(138)에 의해 구현되는 기능은 일부 실시예에서 딥 뉴럴 네트워크(deep neural network) 또는 다른 머신 러닝 모델의 적용을 포함할 수 있으며, 이는 아래에서 더 자세히 기재될 것이다.
e. 캐릭터 에디터 인터페이스 시스템
캐릭터 에디터 인터페이스 시스템(140)은 커스텀 캐릭터 시스템(130)에 의해 생성된 커스텀 캐릭터 및/또는 관련 의류에 관한 피드백 또는 변경 요청을, 예를 들면 플레이어 컴퓨팅 시스템(102)을 이용하는 플레이어로부터 수신하도록 구성될 수 있다. 예를 들어, 캐릭터 에디터 인터페이스 시스템 컴포넌트(140)는 커스텀 캐릭터 시스템(130)에 의해 생성된 가상 캐릭터의 외관 및/또는 행동이 일치하는 것으로 보이는지 여부(예를 들어, 실제 인물을 의도한 대로 따라하는지 여부)를 프롬프트(prompt)하거나, 아니면 사용자 인터페이스를 통해 또는 게임 내에서 플레이어로 하여금 표시하도록 할 수 있다.
예를 들어, 플레이어는 가상 캐릭터가 방금 수행한 특정 동작이 실제 인물이나 다른 실제 인물을 따라하지 못한다고 표시할 수 있고, 가상 캐릭터가 수행한 동작의 범위 또는 세부 사항이 틀렸다고(예를 들어, 가상 캐릭터가 너무 높이 뛰었다든가, 너무 천천히 달렸다든가, 너무 많이 절름거렸다든가 등) 표시할 수 있고, 및/또는 가상 인물이 수행한 일련의 동작이나 특정 상황에서의 동작이 실제 인물이었다면 수행하지 않았을 것이라고(예를 들어, 실제 인물은 게임을 이겼을 때 특정 셀레브레이션 춤을 출 것이고, 게임에서 적으로부터 숨었을 때는 그러하지 않을 것임) 표시할 수 있다. 캐릭터 에디터 인터페이스 시스템(140)은 그 후, 예를 들어 행동 학습 시스템(134)과 협력하여, 가상 캐릭터의 행동을 정확한 행동을 강제하고(enforce) 부정확한 행동을 억제(suppress)하도록 조정하기 위해 피드백을 적용할 수 있다. 캐릭터 에디터 인터페이스 시스템(140)은 또한, 이하 더 기재되는 바와 같이 플레이어가 가상 캐릭터의 다양한 외관 특성을 변경할 수 있게 하는 사용자 인터페이스를 제공한다.
f. 캐릭터 데이터 저장소
커스텀 캐릭터 시스템(130)은 데이터 저장소(145)를 포함할 수 있다. 데이터 저장소(145)는 외관 학습 시스템(136) 및/또는 행동 학습 시스템(134)에 의해 생성된 커스텀 캐릭터 모델(외관 및 행동 모두) 뿐만 아니라 일반 캐릭터 모델과 같은 데이터를 저장하도록 구성될 수 있다. 데이터 저장소(145)는 다수의 컴퓨팅 장치에 걸쳐 분산될 수 있다(예를 들어, 도 8의 컴퓨팅 장치(10) 참조). 일부 실시예에서, 데이터 저장소(145)는 데이터가 다른 위치에 저장될 수 있는 네트워크 기반 저장 시스템일 수 있다.
3. 인터랙티브 컴퓨팅 시스템의 데이터 저장소
인터랙티브 컴퓨팅 시스템(120)은 데이터 저장소(124)를 포함할 수 있다. 데이터 저장소(124)는 예를 들어 원격 측정 데이터, 비디오 데이터, 게임 상태 정보, 사용자 데이터 등과 같은 다른 시스템에 의해 획득된 데이터를 저장하도록 구성될 수 있다. 일부 실시예에서, 데이터 저장소(124)는 비디오 게임 퍼블리셔, 게임 플랫폼 제공자 또는 사용자가 복수의 다른 비디오 게임에 걸쳐 선호도, 가상 캐릭터, 아바타, 업적 및/또는 다른 데이터를 유지할 수 있게 하는 다른 서비스와 관련된 사용자 계정 데이터를 저장할 수 있다. 데이터 저장소(124)는 다수의 컴퓨팅 장치에 걸쳐 분산될 수 있다(예를 들어, 도 8의 컴퓨팅 장치(10) 참조). 일부 실시예에서, 데이터 저장소(124)는 데이터가 다른 위치에 저장될 수 있는 네트워크 기반 저장 시스템일 수 있다.
B. 플레이어 컴퓨팅 시스템
플레이어 컴퓨팅 시스템(102)은 비디오 게임의 플레이어와 같은 사용자에 의해 제어될 수 있다. 플레이어 컴퓨팅 시스템(102)은 통신 네트워크(108)를 통한 통신을 확립하기 위한 하드웨어 및 소프트웨어 컴포넌트를 포함할 수 있다. 예를 들어, 플레이어 컴퓨팅 시스템(102)은 하나 이상의 네트워크(예를 들어, 인터넷 또는 인트라넷)를 통한 통신을 용이하게 하는 네트워킹 장비 및 네트워크 소프트웨어 애플리케이션(예를 들어, 웹 브라우저)을 구비할 수 있다. 플레이어 컴퓨팅 시스템(102)은 중앙 처리 장치 및 아키텍처, 메모리, 대용량 저장 장치, 그래픽 처리 장치, 통신 네트워크 이용 가능성 및 대역폭 등과 같은 다양한 로컬 컴퓨팅 자원을 가질 수 있다. 또한, 플레이어 컴퓨팅 시스템(102)은 임의의 유형의 컴퓨팅 시스템을 포함할 수 있다. 예를 들어, 플레이어 컴퓨팅 시스템(102)은 몇 가지 예를 들면 데스크탑, 랩탑, 게임 애플리케이션 플랫폼, 가상 현실 시스템, 증강 현실 시스템, 텔레비전 셋톱 박스, 텔레비전(예를 들어, 인터넷 TV), 네트워크 지원 키오스크, 자동차 콘솔 장치, 컴퓨터화된 가전기구, 웨어러블 장치(예를 들어, 스마트 와치 및 컴퓨팅 기능이 있는 안경), 및 무선 모바일 장치(예를 들어, 스마트폰, PDA, 태블릿 등)와 같은 임의의 유형의 컴퓨팅 장치(들)를 포함할 수 있다. 일부 실시예에서, 플레이어 컴퓨팅 시스템(102)은 이하 기재되는 하나 이상의 컴포넌트 또는 실시예를 포함할 수 있다.
1. 게임 애플리케이션 및 호스트 애플리케이션 시스템
플레이어 컴퓨팅 시스템(102)은 로컬 및/또는 분산된 환경에서 저장 및/또는 실행될 수 있는 하나 이상의 게임 애플리케이션(104)을 실행할 수 있다. 로컬로 실행되는 게임 애플리케이션(104)에서, 일반적으로, 게임은 게임 애플리케이션을 실행하기 위해 외부 컴퓨팅 시스템(예를 들어, 인터랙티브 컴퓨팅 시스템(120))에 의존하거나 이용하지 않는다. 일부 경우, 로컬로 실행 가능한 게임은 게임 패치, 게임 인증, 클라우드 저장, 커스텀 가상 캐릭터 데이터, 사용자 계정 데이터 또는 다른 기능과 같은 게임 관련 정보를 검색하기 위해 외부 서버와 통신할 수 있다. 분산된 게임 애플리케이션에서, 플레이어 컴퓨팅 시스템(102)은 게임 및 인터랙티브 컴퓨팅 시스템(120)의 일부를 실행할 수 있거나, 인터랙티브 컴퓨팅 시스템(120)의 애플리케이션 호스트 시스템(122)이 게임의 다른 부분을 실행할 수 있다. 예를 들어, 게임은 플레이어 컴퓨팅 시스템(102)에 의해 실행되는 클라이언트 부분과, 하나 이상의 애플리케이션 호스트 시스템(122)에 의해 실행되는 서버 부분을 포함하는 대규모 멀티 플레이어 온라인 롤 플레잉 게임(massively multiplayer online role-playing game; MMORPG)일 수 있다. 본 논의에서, 게임 애플리케이션(104)의 유형은 로컬로 실행 가능한 게임, 분산된 애플리케이션, 또는 플레이어 컴퓨팅 시스템(102)에서 실행되는 부분 및 적어도 애플리케이션 호스트 시스템(122)에서 실행되는 부분을 포함하는 애플리케이션일 수 있다.
2. 플레이어 데이터 저장소
플레이어 컴퓨팅 시스템(102)은 데이터 저장소(126)를 포함할 수 있다. 데이터 저장소(126)는 하나 이상의 게임 애플리케이션(104)과 관련된 데이터, 인터랙티브 컴퓨팅 시스템(120)에 의해 플레이어를 위해 유지된 계정과 관련된 로컬 계정 데이터, 하나 이상의 게임에서 사용 가능한 플레이어에 의해 생성된 가상 캐릭터 및/또는 다른 게임 관련 또는 계정 관련 데이터를 저장하도록 구성될 수 있다. 일부 실시예에서, 플레이어는 개인 사진, 비디오, 파일 및 플레이어가 일반적으로 개인용 데스크탑이나 랩탑 컴퓨터 같은 곳에 저장하도록 선택할 수 있는 다른 정보를 저장하기 위해 데이터 저장소(126)와 같은 플레이어 컴퓨팅 시스템(102)의 저장소를 이용할 수 있다. 따라서 일부 실시예에서 데이터 저장소(126)는, 실제 생활의 플레이어 및/또는 상기 플레이어와 관련된 다른 실제 인물을 묘사하는 매우 다양한 이미지 및/또는 비디오를 플레이어가 커스텀 가상 캐릭터를 생성하는데 사용할 목적으로 또는 관련 없는 이유로 이 이미지나 비디오를 저장하도록 선택했는지 여부에 관계없이 저장할 수 있다. 데이터 저장소(126)는 다수의 컴퓨팅 장치에 걸쳐 분산될 수 있다(예를 들어, 도 8의 컴퓨팅 장치(10) 참조).
3. 선택적인 브라우저 또는 다른 애플리케이션
도 1에 도시되지 않았지만, 플레이어 컴퓨팅 시스템(102)은 브라우저 애플리케이션 또는 다른 애플리케이션(예를 들어, 게임 퍼블리셔 또는 게임 플랫폼과 연관된 독립형 계정 관리 애플리케이션)을 포함할 수 있으며, 플레이어 컴퓨팅 시스템(102)을 이용하는 플레이어는 이를 통해 임의의 특정 게임 애플리케이션(104) 외부의 인터랙티브 컴퓨팅 시스템(120)과 상호 작용할 수 있다. 예를 들어, 플레이어는 그러한 브라우저 또는 애플리케이션을 이용하여, 플레이어의 사용자 계정과 관련된 다수의 다른 게임 애플리케이션에 걸쳐 사용될 수 있는 가상 캐릭터를 플레이어가 커스터마이징 할 수 있게 하는 사용자 인터페이스와 상호 작용할 수 있다.
C. 제3자 미디어 소스
플레이어 컴퓨팅 시스템(102) 및/또는 인터랙티브 컴퓨팅 시스템(120)은 하나 이상의 제3자 미디어 소스(103)와 네트워크(108)를 통해 통신할 수 있다. 제3자 미디어 소스(103)는 일반적으로 플레이어 및/또는 플레이어와 관련된 다른 사람들의 스트리밍 또는 저장된 미디어 데이터(이미지, 음원, 및/또는 비디오 같은)를 갖는 하나 이상의 서비스일 수 있다. 예를 들어, 제3자 미디어 소스(103)는 소셜 미디어 서비스 또는 소셜 네트워크 서비스, 클라우드 저장 서비스, 홈 보안 카메라 또는 다른 비디오 모니터링 서비스, 및/또는 플레이어와 관련된 개인 기록 또는 스트리밍 미디어의 다른 소스를 포함할 수 있다. 플레이어는 각각의 그러한 제3자 미디어 소스 또는 서비스에 관한 사용자 계정을 가질 수 있고, 그 인증 정보(예를 들어 사용자 이름 및 비밀번호)는 플레이어가 특정 이미지나 비디오가 주어진 서비스를 통해 액세스 가능하게 하거나 소스가 게임 애플리케이션(104) 및/또는 인터랙티브 컴퓨팅 시스템(120)에 의해 액세스 가능하게 하기 위해 게임 애플리케이션(104) 및/또는 인터랙티브 컴퓨팅 시스템(120)에 제공하도록 플레이어가 선택할 수 있다. 일부 실시예에서, 주어진 제3자 미디어 소스(103)와 게임 애플리케이션(104) 또는 인터랙티브 컴퓨팅 시스템(120) 사이의 통신은 주어진 제3자 미디어 소스에 의해 제공되는 API(application programming interface; API)를 통해 이뤄질 수 있다.
D. 기타 고려사항
다양한 시스템이 위에서 개별적으로 설명되었지만, 이들 시스템 중 하나 이상이 함께 결합될 수 있음에 유의해야 한다. 예를 들어, 인터랙티브 컴퓨팅 시스템(120)은 하나 이상의 제3자 미디어 소스(103)와 유사한 기능을 제공할 수 있다. 또한, 하나 이상의 시스템은 동일한 컴퓨팅 장치(예를 들어, 도 8의 컴퓨팅 장치(10) 참조) 또는 도 1에 도시된 것과 같은 다른 컴퓨팅 장치에 의해 실행될 수 있다. 예를 들어, 커스텀 캐릭터 시스템(130)은 플레이어 컴퓨팅 시스템(102)과 동일한 컴퓨팅 장치에서 실행될 수 있다. 한편, 하나 이상의 시스템은 다수의 컴퓨팅 장치에 의해 실행될 수 있다. 예를 들어, 커스텀 캐릭터 시스템(130)의 일부 또는 서브 시스템은 플레이어의 개인용 컴퓨터 또는 플레이어 컴퓨팅 시스템(102)에 의해 구현될 수 있는 반면, 다른 부분 또는 서브 시스템은 서버에 의해 구현될 수 있다.
가상 캐릭터 생성을 위한 예시적 방법
도 2는 일부 실시예에 따라 실제 인물을 묘사하는 입력 미디어의 자동화된 분석에 기초해 가상 캐릭터를 생성하고 저장하는 예시적인 방법(200)의 흐름도이다. 일부 실시예에서, 방법(200)은 전체적으로 또는 부분적으로, 게임 애플리케이션(104), 커스텀 캐릭터 시스템(130), 플레이어 컴퓨팅 시스템(102), 인터랙티브 컴퓨팅 시스템(120), 또는 다른 애플리케이션 컴포넌트 또는 모듈에 의해 구현될 수 있다. 임의의 수의 시스템이 전체적으로 또는 부분적으로 방법(200)을 구현할 수 있지만, 논의를 단순화하기 위해 방법(200)은 커스텀 캐릭터 시스템(130)의 특정 시스템 또는 컴포넌트와 관련하여 설명될 것이다.
예시적인 방법(200)은 블록 202에서 시작하는데, 여기서 미디어 처리 시스템(132)은 게임으로 입력되거나 가상 캐릭터로 제작될 인물을 묘사하는 비디오 데이터, 이미지 데이터 및/또는 다른 입력 미디어를 얻을 수 있다. 입력 미디어는 가상 캐릭터로 제작될 플레이어나 다른 인물의 이미지나 비디오를 업로드하도록 선택하는 플레이어와 같이, 플레이어에 의해 플레이어 컴퓨팅 시스템(102)(또는 플레이어의 다른 컴퓨팅 장치)로부터 인터랙티브 컴퓨팅 시스템(120)으로 제공될 수 있다. 플레이어는 게임 애플리케이션(104)에 의해 생성된 게임 내 사용자 인터페이스 또는 인터랙티브 컴퓨팅 시스템에 의해 생성된 다른 사용자 인터페이스를 통해 그렇게 할 수 있다. 대안적으로 또는 추가적으로, 플레이어는 인터랙티브 컴퓨팅 시스템(120)이, 위에서 설명한 바와 같이 플레이어의 소셜 미디어 계정 또는 소셜 네트워크 계정과 같은 제3자 미디어 소스(103), 플레이어가 디지털 미디어를 저장하기 위해 사용하는 클라우드 저장 서비스, 홈 보안 카메라 또는 다른 비디오 모니터링 서비스 및/또는 다른 미디어 소스에 액세스할 수 있게 할 수 있다.
블록 202에서 획득된 이미지 및/또는 비디오는 원래 기존 2차원(2D) 카메라를 사용하여 플레이어의 카메라에 의해 수집되었을 수 있는데, 본원에 기재된 가상 캐릭터 생성 기술은 3D 센서 데이터가 입력 미디어와 관련될 것을 요구하지 않기 때문이다. 그러나, 해당 플레이어가 3D 센서 정보(예를 들어, Kinect 센서)가 있는 카메라를 사용해 입력 미디어를 수집한 경우 커스텀 캐릭터 시스템(130)은 입력 미디어와 관련된 3D 센서 정보를 처리하고 고려하도록 구성될 수 있다.
다음으로, 블록 204에서, 커스텀 캐릭터 시스템(130)은 수정을 위한 기본 모델 데이터로 사용될 하나 이상의 일반 모델 및 다른 데이터를 검색하거나 획득할 수 있다. 예를 들어, 외관 학습 시스템(136)은 일반 가상 인물과 관련된 일반 3D 메쉬 또는 다른 3D 모델 데이터를 데이터 저장소(145)로부터 얻을 수 있고, 행동 학습 시스템(134)은 일반 인간 캐릭터 행동 데이터를 데이터 저장소(145)로부터 얻을 수 있다. 다른 이용 가능한 일반 또는 기본 모델의 수는 실시예마다 달라질 수 있다. 예를 들어, 일부 실시예에서 커스텀 캐릭터 시스템(130)은 일반 모델로 단일 파라미터화 된(single parameterized) 인간 모델만을 가질 수 있다. 다른 경우, 다수의 표준 또는 기본 모델이 각각 아동 모델, 남성 성인 및 여성 성인과 같이 다른 광범위한 분류에 적용될 수 있다. 다른 실시예에서, 커스텀 캐릭터 시스템(130)은 각각의 성별 내의 다양한 신체 유형에 대한 모델(예를 들어, 운동선수, 비만 등)과 같은 더 구체적인 기본 모델에 대한 액세스를 가질 수 있다. 블록 204에서 선택된 구체적인 일반 모델은, 예를 들어 이미지에 묘사된 인간을 신체 유형에 기초해 분류하도록 트레이닝된 뉴럴 네트워크(neural network) 또는 다른 머신 러닝 모델(machine learning model)의 출력을 기반으로 할 수 있다.
블록 206에서, 커스텀 캐릭터 시스템(130)은 입력 미디어로부터 하나 이상의 커스텀 행동 모델 및 하나 이상의 커스텀 외관 모델을 생성할 수 있다. 일부 실시예에서, 커스텀 행동 모델은 행동 학습 시스템(134)에 의해 생성될 수 있고, 커스텀 외관 모델(커스텀 3D 메쉬 데이터 및 대응하는 텍스처를 포함할 수 있음)은 외관 학습 시스템(136)에 의해 생성될 수 있다. 이러한 모델을 생성하기 위한 예시적인 방법은 도 4a 및 도 5를 참조하여 이하 상세히 기재될 것이다. 외관 모델 및 행동 모델은 실시예에 따라 순서대로 또는 병렬적으로 생성될 수 있다.
블록 208에서, 커스텀 캐릭터 시스템(130)은 가상 캐릭터가 착용할 수 있는 하나 이상의 커스텀 가상 의류 아이템 및/또는 가상 액세서리를 생성할 수 있다. 일부 실시예에서, 커스텀 의류 및 액세서리는 외관 학습 시스템(136)에 의해 하나 이상의 머신 러닝 모델을 사용하여 입력 미디어의 자동화된 분석에 기초해 생성될 수 있다. 가상의 의류 및 액세서리 아이템을 플레이어에게 생성, 커스터마이징 및/또는 추천하기 위한 예시적인 방법은 도 4b를 참조하여 이하 상세히 기재될 것이다.
다음으로, 블록 210에서, 캐릭터 에디터 인터페이스 시스템(140)은 플레이어로부터 선택적으로 게임 또는 캐릭터 리뷰 사용자 인터페이스에서 렌더링된 가상 캐릭터의 생성된 외관 또는 행동에 관한 피드백을 받을 수 있다. 예를 들어, 플레이어는 커스텀 캐릭터 시스템(130)에 의해 생성된 가상 캐릭터의 특정 행동 또는 외관 특징이 그 가상 캐릭터가 가상 형태로 복제하려 했던 그 실제 인물을 정확하게 반영하거나 또는 반영하지 않음을 나타내는 입력을 하나 이상의 게임 내 제어 또는 사용자 인터페이스를 통해 제공할 수 있다. 생성된 커스텀 외관 또는 행동 모델은 커스텀 캐릭터 시스템(130)에 의해 상기 피드백에 기초하여 수정될 수 있고, 이는 이하 더 기재될 것이다.
임의의 선택적인 초기 피드백이 수신되어 외관 및 행동 모델에 통합되면, 커스텀 캐릭터 시스템(130)은 블록 212에서 가상 캐릭터의 최종 3D 모델, 텍스처, 애니메이션, 행동, 의류, 액세서리 및/또는 하나 이상의 게임에서 사용하기 위한 다른 데이터를 저장할 수 있다. 실시예에 따라, 커스텀 가상 캐릭터는 하나 이상의 데이터 저장소(145), 데이터 저장소(124) 및/또는 데이터 저장소(126)에 저장될 수 있다. 방법(200)은 블록 214에서 끝난다. 일부 실시예에서, 저장된 데이터는 가상 캐릭터가 통합될 수 있는 특정 게임에 특정한 적어도 일부 데이터를 포함할 수 있다. 예를 들어, 저장된 행동 데이터 또는 시각적 데이터는 게임의 양상을 실제 인물의 학습된 실제 생활 외관 또는 행동으로 통합하는 정보를 포함할 수 있고, 예를 들면 특정 가상 캐릭터가, 특정 게임 내 역할에 적합하다든가 특정 게임 내의 특정 사건에 의해 촉발되는 특정 고유 행동을 해야 한다는 것을 나타내는 것이 있다.
도 3은 일실시예에 따른 실제 인물을 묘사하는 예시적인 입력 미디어(302)와 일반 인물의 3D 메쉬(304)의 그래픽 도시를 제공하고, 이로부터 커스텀 3D 모델(308) 및 가상 의류/액세서리 아이템(310)이 생성된다. 도시된 바와 같이, 비디오 컨텐츠의 단일 프레임(302)은 입력 미디어의 예시적인 프레임으로서 제공된다. 비디오 프레임(302)은 비디오 카메라에 의해 수집되었을 수 있고, 야외에서 걷는 것과 같이 자연 환경에 있는 실제 인물을 묘사한다. 이해되는 바와 같이, 이것은 긴 비디오(예를 들어, 어쩌면 수 분 또는 심지어 몇 시간의 길이)로부터의 하나의 예시적인 비디오 프레임일 수 있고, 이는 그 자체로는 커스텀 캐릭터 시스템(130)에 의해 분석된 동일한 인물의 많은 다른 비디오 파일과 이미지 중 하나에 불과할 수 있다. 도시된 바와 같이, 일반 3D 메쉬(304)는 입력 미디어(302)에 도시된 인물과 아주 유사하지는 않은 사람에 대한 일반적인 메쉬이다.
입력 미디어(302)는 블록 306에서 커스텀 캐릭터 시스템(130)에 의해 분석되어 커스텀 외관 데이터(예를 들어 하나 이상의 커스텀 텍스처 이미지와 같은) 및 변경된 3D 메쉬(308)를 생성한다. 변경된 또는 커스텀 3D 메쉬(308)는 도 4a와 관련하여 이하 기재되는 바와 같이, 입력 미디어에서 묘사된 인물의 외관에 기초하여 일반 3D 메쉬 데이터(304)의 파라미터를 변경함으로써 생성될 수 있다. 커스텀 가상 캐릭터는 그 후, 예를 들어 커스텀 생성 텍스처(들)를 수정된 3D 메쉬(308)에 적용하고 결과 모델을 3D 가상 공간에 제시함으로써 (예를 들어, 해당 분야에 공지된 바와 같이 가상 카메라와 광원을 사용하는 것) 렌더링될 수 있다. 도시된 바와 같이, 수정된 3D 메쉬(308)의 신체 크기 및 비율은 입력 미디어(302)에 묘사된 실제 인물의 신체 크기 및 비율과 매우 유사하다. 예를 들어, 수정된 3D 메쉬 또는 모델(308)의 바디는 일반적인 3D 메쉬(304)가 일치하는 것보다 입력 미디어(302)의 실제 인물과 더 밀접하게 일치하는 다른 비율로, 일반 모델(304)보다 더 중요하게 설정된다.
블록 305은 입력 미디어(302)에 도시된 인물에 기초해 하나 이사의 의류 아이템 및/또는 액세서리 아이템을 생성하는 것을 추가로 포함한다. 예시된 바와 같이, 커스텀 가상 의류 및 액세서리 아이템(310)은 입력 미디어에서 실제 인물이 입은 셔츠와 비슷한 가상 셔츠, 실제 인물이 착용한 실제 모자와 비슷한 가상 모자, 실제 인물이 착용한 실제 선글라스와 비슷한 가상 선글라스를 포함한다. 일부 실시예에서, 이들 가상 아이템 각각은 기본 3D 메쉬 또는 다른 3D 객체 데이터뿐만 아니라, 입력 미디어에 기초해 생성된 텍스처도 포함한다. 이러한 커스텀 가상 아이템의 생성은 도 4b와 관련하여 아래에서 더 논의될 것이다.
도 4a는 일부 실시예에 따른 특정 실제 인물과 시각적으로 유사하게 보이는 가상 캐릭터에 대한 커스텀 텍스처 및 3D 모델 데이터를 생성하기 위한 예시적인 방법(400)의 흐름도이다. 일부 실시예에서, 방법(400)은 전체적으로 또는 부분적으로 게임 애플리케이션(104), 커스텀 캐릭터 시스템(130), 플레이어 컴퓨팅 시스템(102), 인터랙티브 컴퓨팅 시스템(120), 또는 다른 애플리케이션 컴포넌트 또는 모듈에 의해 구현될 수 있다. 임의의 수의 시스템이 전체적으로 또는 부분적으로 방법(400)을 구현할 수 있지만, 논의를 단순화하기 위해 방법(400)은 커스텀 캐릭터 시스템(130)의 특정 시스템 또는 컴포넌트와 관련하여 설명될 것이다.
예시적인 방법(400)은 블록 402에서 시작하는데, 여기서 커스텀 캐릭터 시스템(130)은 실제 사람을 도시하는 입력 시각 미디어뿐만 아니라 일반적인 모델 데이터도 획득할 수 있다. 위에서 논의된 바와 같이, 특정 일반 모델 데이터는 모든 인간 캐릭터에 기본 모델로 사용되는 일반적인 파라미터화된 인간 모델(generic parameterized human model)일 수 있거나, 또는 신체 유형, 성별 및/또는 입력 미디어나 사용자 입력으로부터 검출된 인물에 대한 다른 기본 정보에 대해 특정적일 수 있다. 일부 실시예에서, 일반 모델 데이터는 별도의 신체부위, 얼굴 특징, 모발 및/또는 모듈식 컴포넌트로서의 다른 요소에 대한 3D 메쉬 데이터를 포함할 수 있다. 다른 실시예에서, 3D 메쉬 데이터는 종합적인 기본 3D 메쉬 내에 모든 신체 및 얼굴 특징을 통합할 수 있다.
다음으로, 블록 404에서, 외관 학습 시스템(136)은 비주얼 스타일 추출(visual style extraction)을 위해 학습된 모델을 검색, 액세스 또는 메모리에 로딩할 수 있다. 일부 실시예에서, 학습된 모델은 스타일 전이(style transfer) 또는 추출 기술을 적용하는 뉴럴 네트워크 모델(neural network model)일 수 있다. 일례로서, 모델은 이하 더 설명되는 바와 같이, cGAN(conditional generative adversarial network; cGAN)과 같은 GAN(generative adversarial network; GAN)일 수 있다.
블록 406에서, 외관 학습 시스템(136)은 검색된 비주얼 스타일 추출 모델에 대한 입력으로서 실제 인물을 묘사하는 입력 미디어의 입력 이미지 및/또는 비디오 데이터를 제공할 수 있다. 예를 들어, 외관 학습 시스템은 cGAN을 사용해 이미지 대 이미지 변환을 적용할 수 있다. 이용될 수 있는 한가지 알려진 기술로는 해당 분야에 pix2pix로 알려진 것으로, 이는 GAN을 사용해 에지 투 포토 이미지 투 포토 (edge to photo image to photo)변환을 적용하는 것을 포함한다. 예를 들어, GAN은 입력 이미지로부터 출력 이미지로의 맵핑(mapping)을 학습하고, 이 맵핑을 트레이닝 하기 위해 손실 함수(loss function)을 학습하도록 구성될 수 있다. 이것은 현저히 다른 손실 공식화(loss formulations)를 포함할 수 있는 문제에 단일한 접근법을 적용하는 것을 가능하게 한다. 블록 406에서 적용된 GAN 또는 cGAN은 (에지 추출(edge extraction)과 같은)일반적인 시각적 모델 및/또는 텍스처를 취할 수 있고, 완전한 텍스처 및/또는 하나 이상의 입력 이미지 및/또는 입력 비디오 프레임에 묘사된 실제 인물과 매우 유사한 다른 비주얼 스타일 요소(visual style elements)를 생성할 수 있다.
일부 실시예에서, 블록 406에서 사용되는 cGAN은 비주얼 스타일(visual style)을 생성하는(3D 메쉬 또는 다른 3D 모델에 텍스처로서 적용하기 위한 하나 이상의 이미지를 생성하는 것을 포함할 수 있음) 생성기를 포함할 수 있다. 생성기의 비주얼 스타일 출력은 판별기가 생성된 시각적 외관이 진짜로 보이는지 가짜로 보이는지를 판단하는 것을 평가하기 위해 cGAN 모델 내에서 판별기로 전달될 수 있다. 일부 실시예에서, 판별기로부터의 "진짜"표시는 판별기가 이미지를 일반적으로 실제 인물처럼 보인다고 판단했다거나 이미지에 도시된 특정 인물처럼 보인다고 판단했다는 것 모두를 나타낼 수 있다. 예를 들어, 일실시예에서의 판별기는 차이가 허용 가능한 차이 임계값 내에 있는지 여부를 평가하기 위해 생성기에 의해 출력된 이미지가 사람을 나타내는지를 식별하도록 트레이닝되고, 또한 생성기에 의해 생성된 이미지를 특정 실제 인물의 하나 이상의 실제 이미지(또는 이런 이미지로부터 추출된 텍스처)와 비교하도록 구성될 수 있다. 생성기에 의해 생성된 특정 비주얼 스타일이 판별기의 테스트를 통과하지 못하면, 부정적인 피드백이 생성기에 제공되고, 다시 시도된다. 판별기가 생성기의 추출된 비주얼 스타일 정보를 진짜라고 "속아서"("fooled") 라벨링하는 경우, 방법은 블록 408로 진행할 수 있다.
블록 408에서, 외관 학습 시스템(136)은 블록 406에서 모델에 의해 생성되거나 출력된 추출된 비주얼 스타일을 블록 402에서 얻어진 일반적인 3D 모델에 커스텀 텍스처(custom texture)로서 적용할 수 있다. 예를 들어, 커스텀 캐릭터 시스템(130) 또는 관련된 3D 렌더링 엔진은 3D 렌더링 또는 쉐이딩(shading) 절차를 적용할 수 있고, 여기에서 (블록 406으로부터의)생성 텍스처 정보 및/또는 다른 비주얼 스타일 정보가 (블록 402에서 검색된)일반 3D 메쉬에 적용되고, 하나 이상의 가상 광원 및 특정 가상 카메라 위치를 갖는 3D 가상 공간에 제시된다. 커스텀 캐릭터 시스템(130)은 초기에 적어도 하나의 입력 이미지 또는 입력 비디오 프레임에서, 가상 카메라에 대한 3D 모델의 포즈 및 모델의 위치를 실제 카메라에 대한 실제 인물의 포즈 및 위치에 맞추려고 시도할 수 있다.
그 후, 블록 410에서, 외관 학습 시스템(136)은 입력 미디어에서의 실제 인물의 묘사와 더 잘 일치하도록 일반 3D 모델을 변경할 수 있다. 변경은 입력 미디어의 하나 이상의 이미지 또는 비디오 프레임에서 묘사된 실제 인물에 대한 3D 모델의 렌더링의 (적용된 커스텀 텍스처와의) 비교에 기반할 수 있다. 3D 가상 캐릭터 모델이 입력 미디어의 특정 이미지 또는 비디오 프레임 내에서 실제 인물의 위치 및 포즈와 유사하게 위치되고 포즈하게 될 때까지, (일부 실시예에서 3D 가상 캐릭터 모델의 포즈를 조정할 뿐만 아니라) 3D 가상 캐릭터 모델에 대한 가상 카메라의 위치 및 포즈를 반복적으로 조정하기 위해 그라디언트 디센트 방식(gradient descent approach)을 사용할 수 있다.
외관 학습 시스템(136)은 비디오 프레임의 대응하는 입력 이미지에 묘사된 실제 인물에 더 잘 일치하도록 3D 모델 데이터의 모델 파라미터(model parameters)를 조정할 수 있다. 예를 들어, 렌더링된 3D 가상 인물이 입력 이미지의 실제 사람에 가깝게 일치하지만 실제 사람보다 다리가 더 짧은 경우, 외관 학습 시스템(136)은 가상 인물의 다리 영역의 3D 메쉬를 연장하도록 다리 길이 파라미터를 바꿀 수 있다. 해당 분야에 알려진 바와 같이, 모델 데이터는 모델의 파라미터를 변경하기 위한 다양한 규칙 및 제한과 관련될 수 있다. 예를 들어, 사실성을 위해, 가상 인물의 다리를 늘리면 가상 인물의 엉덩이 또는 신체의 다른 부분이 대응하여 조정될 수 있다. 일부 실시예에서, 다른 피어싱, 헤어스타일, 얼굴 털 및/또는 다른 것들과 같은 모듈식 애드온 3D 데이터(modular add-on 3D data) 또는 템플릿이 3D 모델 데이터를 입력 미디어에 더 잘 일치시키도록 조정하는 데 사용될 수 있다. 다른 경우, 3D 모델 데이터의 컴포넌트 또는 양상은, 하나의 사지 또는 다른 특징의 단축 또는 제거와 같이 제거되거나 최소화될 수 있다.
일부 실시예에서, 블록 404, 406, 408 및/또는 410은 실제 사람의 신체와 일치하도록 가상 신체를 변경한 다음, 다시 실제 사람의 얼굴과 일치하도록 가상 얼굴을 변경하기 위해 개별적으로 수행될 수 있다. 다른 실시예에서, 신체 및 얼굴이 수정될 수 있고, 단일 패스(single pass)에서 생성된 텍스처와 연관될 수 있다. 외관 학습 시스템(136)이 허용 가능한 임계 범위의 차이 내에서 입력 미디어에 일치하도록 3D 모델 데이터에 충분한 수정이나 변경이 이뤄졌다고 판단하는 경우, 예시적인 방법(400)은 블록 412에서 종료된다.
도 4b는 일부 실시예에 따라 가상 캐릭터가 착용할 하나 이상의 의류 또는 액세서리 아이템에 대한 커스텀 텍스처 및/또는 3D 모델 데이터를 생성하기 위한 예시적인 방법(420)의 흐름도이다. 일부 실시예에서, 방법(420)은 전체적으로 또는 부분적으로 게임 애플리케이션(104), 커스텀 캐릭터 시스템(130), 플레이어 컴퓨팅 시스템(102), 인터랙티브 컴퓨팅 시스템(120), 또는 다른 애플리케이션 컴포넌트 또는 모듈에 의해 구현될 수 있다. 임의의 수의 시스템이 전체적으로 또는 부분적으로 방법(420)을 구현할 수 있지만, 논의를 단순화하기 위해 방법(420)은 커스텀 캐릭터 시스템(130)의 특정 시스템 또는 컴포넌트와 관련해 설명될 것이다.
예시적인 방법(420)은 블록 430에서 시작하고, 여기서 외관 학습 시스템(136)은 이미지 또는 비디오 데이터와 같은 입력 미디어에 묘사된 실제 사람이 착용한 의류 및/또는 액세서리 아이템을 식별할 수 있다. 예를 들어, 일부 실시예에서, 구현 블록 430은 하나 이상의 머신 러닝 모델(컨볼루션 뉴럴 네트워크와 같은) 또는 이미지 데이터의 미리 정의된 객체(predefined objects), 예를 들어 셔츠, 자켓, 안경, 모자, 짧은 바지, 긴바지, 벨트, 장갑, 귀걸이, 부츠, 신발, 목걸이, 시계, 및/또는 다른 것들을 식별하도록 구성된 분류기(classifier)의 적용을 포함할 수 있다.
다음으로, 블록 432에서, 외관 학습 시스템(136)은 블록 430에서 식별된 각각의 아이템과 유사한 일반 의류 아이템 또는 액세서리에 대한 저장된 3D 메쉬 및/또는 텍스처 데이터를 검색할 수 있다. 예를 들어, 일부 실시예에서, 커스텀 캐릭터 시스템(130)은 데이터 저장소(예를 들어 데이터 저장소(145)) 또는 각 객체 유형과 관련된 일반 3D 모델 데이터를 포함하는 다른 데이터 소스에 액세스할 수 있으며, 블록 430의 머신 러닝 모델 또는 분류기가 이미지 데이터에서 상기 각 객체 유형을 검출하도록 트레이닝 되어있다. 예를 들어, 데이터 저장소(145)는 셔츠의 일반적인 3D 모델, 자켓의 일반적인 3D 모델, 안경의 일반적인 3D 모델 등을 포함할 수 있다. 검색된 데이터는 3D 신발 모델에 대한 기본 신발 텍스처, 3D 청바지 모델에 대한 기본 청바지 텍스처 등과 같은 관련된 3D 모델에 대한 일반 텍스처 데이터를 포함할 수 있다.
블록 434에서, 외관 학습 시스템(136)은 검색된 텍스처 데이터 및/또는 의류 또는 액세서리 아이템(들)의 3D 메쉬를 입력 미디어에서 식별된 대응하는 의류 또는 액세서리 아이템(들)에 기초하여 커스터마이징 할 수 있다. 일부 실시예에서, 블록 434는 비주얼 스타일 추출(visual style extraction)이 위에서 도 4a에 관련하여 구현된 것과 비슷한 방식이지만 인간 형태보다는 적절한 의류나 액세서리 아이템(들)에 관해 트레이닝 되어진 비주얼 스타일 추출을 사용하여 구현될 수 있다.
커스텀 캐릭터 시스템(130)은 비디오 게임 플레이어에게 디스플레이하기 위한 사용자 인터페이스에서와 같이, 블록 436에서 가상 캐릭터를 위한 추천 의류 아이템 및/또는 액세서리를 선택적으로 제공할 수 있다. 하나의 예가 도 6과 관련하여 이하 기재될 것이다. 사용자 인터페이스는 사용자가 입력 미디어에 기초하여 커스텀 캐릭터 시스템(130)에 의해 커스터마이징 된 개별적인 가상 의류 아이템 또는 액세서리를 선택할 수 있도록 할 수 있고, 플레이어가 하나 이상의 비디오 게임에서 플레이어의 가상 캐릭터가 어떤 가상 의류 또는 액세서리 아이템을 착용할 것인지를 선택하도록 할 수 있다. 일부 실시예에서, 커스텀 캐릭터 시스템(130)은 플레이어에게 개별적으로 커스터마이징 되지 않은 의류 아이템(예를 들어, 주어진 아이템의 3D 객체 데이터와 텍스처가 데이터 저장소(145)에 저장된 표준 가상 의류 아이템에서 수정되지 않은 것 등)을 추천할 수 있고, 이는 비록 개별적으로 커스터마이징 되지 않은 의류 아이템이지만 그럼에도 불구하고 그 특정 가상 의류 아이템이 커스텀 캐릭터 시스템(130)이 입력 미디어에서 인물이 착용한 것이라고 판단한 의류 스타일과 일치하기 때문에 커스텀 캐릭터 시스템(130)이 플레이어에게 추천하는 것이다.
블록 428에서, 커스텀 캐릭터 시스템(130)은 위에서 생성된 하나 이상의 커스텀 의류 또는 액세서리 아이템을 착용한 커스텀 3D 가상 캐릭터를 게임 내 제공할 수 있다. 예를 들어, 커스텀 캐릭터 시스템(130)은 커스텀 가상 캐릭터의 생성을 요청한 플레이어가 플레이하는 하나 이상의 비디오 게임의 가상 세계로의 통합을 위해, 가상 캐릭터 데이터 및 대응하는 의류 아이템 데이터를 애플리케이션 호스트 시스템(122) 및/또는 게임 애플리케이션(104)에 제공할 수 있다. 예를 들어, 커스텀 가상 캐릭터는 인간 캐릭터를 특징으로 하는 다수의 다른 유형의 게임 내에서 플레이어 제어 캐릭터 또는 NPC일 수 있다. 방법(420)은 블록 440에서 종료된다.
도 5는 일부 실시예에 따른, 실제 인물을 묘사하는 입력 미디어의 자동화된 분석에 기초하여 가상 캐릭터에 대한 행동 모델 및 커스텀 애니메이션 데이터를 생성 및 저장하기 위한 예시적인 방법(500)의 흐름도이다. 일부 실시예에서, 방법(500)은 전체적으로 또는 부분적으로 게임 애플리케이션(104), 커스텀 캐릭터 시스템(130), 플레이어 컴퓨팅 시스템(102), 인터랙티브 컴퓨팅 시스템(120), 또는 다른 애플리케이션 컴포넌트 또는 모듈에 의해 구현될 수 있다. 임의의 수의 시스템이 전체적으로 또는 부분적으로 방법(500)을 구현할 수 있지만, 논의를 단순화하기 위해 방법(500)은 커스텀 캐릭터 시스템(130)의 특정 시스템 또는 컴포넌트와 관련해 설명될 것이다.
방법(500)은 블록 502에서 시작하는데, 여기서 커스텀 캐릭터 시스템(130)은 실제 인물뿐만 아니라 하나 이상의 일반적인 행동 모델(들)을 묘사하는 입력 미디어를 획득한다. 입력 미디어를 얻는 방법은 위에서 자세히 기재되었다. 획득된 행동 모델 데이터 및/또는 관련 애니메이션 데이터는 행동 트리(behavior tree), 룰 세트(rule sets), 골격 움직임 데이터(skeletal movement data), 동작 시퀀스 리스트(lists of action sequences), 연쇄(kinematic chains) 및/또는 다른 운동적 데이터, 및/또는 비디오 게임 개발 분야에서 알려진 다른 애니메이션 관련 또는 행동 관련 데이터와 같이 다양한 포맷(formats)일 수 있다. 일부 실시예에서, 일반 행동 모델을 얻는 것은 선택적일 수 있다. 예를 들어, 도 5에 도시된 실시예 외의 실시예에서, 커스텀 행동 모델은 디폴트 행동 모델(default behavior model)을 참조하지 않고 생성될 수 있지만, 이후 일반 또는 디폴트 행동으로 선택적으로 보완될 수 있다.
블록 504에서, 행동 학습 시스템(134)은 입력 미디어의 자동화된 분석에 기초하여 입력 미디어에 묘사된 인물의 특성 및 전형적인 동작 시퀀스를 추출하거나 판단할 수 있다. 일부 실시예에서, 이 분석은 의미 분석(semantic analysis), Markov 모델, 딥 뉴럴 네트워크(deep neural network) 또는 다른 머신 러닝 모델, 움직임 분류 모델(movement classification models), 자세 분석 모델(pose analysis models), 및/또는 다른 방법 중 적어도 어느 하나를 적용하는 것을 포함할 수 있다. 일실시예에서, 머신 러닝 모델은 모델이 인식하거나 분류하도록 트레이닝 된 수면, 점프, 달리기, 춤 등과 같은 많은 행동으로부터 선택된 특정 행동으로서 포즈나 움직임을 라벨링하기 위해 이미지나 비디오를 분석하도록 구성될 수 있다. 일부 실시예에서, 머신 러닝 모델 또는 분류 모델은 다른 점프 스타일로 점프하는 많은 사람들을 묘사하는 트레이닝 비디오를 해당 모델에 제공함으로써 특정 동작(예를 들어, 점프)을 식별하도록 트레이닝될 수 있다. 다른 실시예에서, 행동 학습 시스템(134)은 관측된 동작이나 행동에 가장 가까운 저장된 동작 또는 애니메이션을 식별하기 위해, 입력 비디오로부터 추출된 실제 사람의 골격 또는 운동적 동작 또는 움직임과, 데이터 저장소에서 특정 동작(점프 애니메이션과 같은)으로 라벨링된 저장된 움직임 또는 동작을 비교할 수 있다.
예를 들어, 행동 학습 시스템(134)은 긴 비디오 파일 또는 비디오 데이터 스트림(예컨대, 몇 분 또는 수 시간)을 분석할 수 있고, 특정 행동이나 동작이 식별되는 비디오의 타임 스탬프 또는 프레임을 라벨링할 수 있으며, 연속적인 행동이나 동작을 동작 시퀀스(예를 들어, 자다가 일어나고, 하품한 후, 살짝 걷기 시작하기 전에 짧게 절며 걷기 등)로서 링크할 수 있고, 그 후 마르코프(Markov) 분석 또는 모델을 적용하여 사람의 행동을 예측하기 위해 다양한 관측 빈도 및 길이에 대한 통계를 낼 수 있다. 블록 506 및/또는 블록 508에서 구현된 프로세스는 일부 실시예에서 딥 뉴럴 네트워크(deep neural network) 모델뿐만 아니라 마르코프(Markov) 모델의 앙상블을 이용할 수 있다. 또한, 하나 이상의 모델이 특정 포즈, 동작, 표현, 행동, 객체 상호 작용, 및/또는 입력 미디어에 제시된 다른 특징에 기반하여 전반적인 특성(예를 들어, 우호적인, 화난, 빠르게 이동하는, 천천히 이동하는 등)을 식별하도록 구성될 수 있다. 또한, 사람에 의해 수행되는 다양한 자세, 동작 또는 움직임 동안 일반적인 자세 및 걸음걸이와 같은 움직임이나 자세의 스타일이나 방식이 관찰될 수 있다.
다음으로, 블록 506에서, 행동 학습 시스템(134)은 블록 502에서 획득된 일반 행동 모델과 블록 504에서 입력 미디어 분석으로부터 추출되거나 판단된 행동 데이터 간의 차이에 적어도 부분적으로 기초하여 하나 이상의 커스텀 캐릭터 행동 모델을 생성할 수 있다. 예를 들어, 행동 학습 시스템(134)은 블록 506 또는 블록 508의 일부로서, 입력 미디어의 실제 인물에게서 관찰되는 일련의 동작, 행동, 동작 시퀀스, 또는 유사한 행동 정보를 생성할 수 있고, 이는 행동 트리, 동작 시퀀스, 및/또는 다른 포맷(formats)일 수 있다. 예를 들어, 행동 학습 시스템(134)은 앉은 자세에서 일어난 직후 특정 사람이 시간의 60%를 스트레칭하고 40%를 옷매무세를 정리한다고 판단할 수 있다. 행동 학습 시스템(134)은 특정 행동의 이러한 통계 및 가능성을 행동 트리와 같은 저장된 행동 모델에 통합할 수 있다. 일부 실시예에서, 커스텀 행동 모델은 기본 행동 모델의 수정된 버전으로 생성될 수 있다. 예를 들어, 일반 인간 캐릭터에 대한 일반 또는 기본 행동 모델은 이미 행동 트리에 배치된 수백개의 잠재적 동작이나 행동을 포함할 수 있고, 행동 학습 시스템(134)은 표준 행동과 특정 관찰된 사람의 행동 간에 상당한 차이가 있을 때 커스텀 가상 캐릭터가 특정 순서로 특정 동작을 하도록 경향을 변경할 수 있다.
일부 실시예에서, 행동 모델에서의 개별 행동 또는 동작은 환경 자극 또는 객체와 연결되거나 관련될 수 있다. 예를 들어, 행동 데이터는 특정 인물이 비디오에서 처음 다른 사람을 볼 때 그들에게 하이 파이브를 할 가능성이 매우 높음을 나타낼 수 있다. 따라서, 이 행동이 특정 비디오 게임의 가상 캐릭터에 대해 적용될 때, 이 가상 캐릭터는 게임의 가상 환경 내에서 만나는 팀원 캐릭터들과 하이 파이브를 할 가능성이 매우 높다.
블록 508에서, 행동 학습 시스템(134)은 선택적으로 하나 이상의 특정 동작에 대한 하나 이상의 커스텀 애니메이션을 생성할 수 있다. 예를 들어, 행동 학습 시스템(134)은 실제 인물이 이전에 저장된 일반 움직임 또는 애니메이션 데이터와 관련하여 하나 이상의 고유한 동작을 (또는 일상 동작을 고유한 방법으로) 수행하는 것을 검출하기 위해, 해당 인물의 입력 비디오로부터 운동 데이터, 골격 움직임 또는 유사한 정보를 추출할 수 있다. 예를 들어, 행동 학습 시스템(134)은 독특한 댄스 움직임, 독특한 제스쳐 또는 평범하지 않은 걸음 스타일을 식별할 수 있다. 이러한 관찰에 응하여, 행동 학습 시스템(134)은 관찰된 골격 움직임 또는 애니메이션 데이터를 주어진 가상 캐릭터에 대한 새로운 독특한 동작으로 저장하거나(이전에 알려지지 않았던 동작인 경우) 또는 기존 동작에 대한 대응하는 표준 애니메이션의 대체(replacement) 혹은 오버라이드(override)로 저장할 수 있다(다리를 절면서 걷는 것과 같은 비정상적인 걷기의 경우).
블록 504, 506 및/또는 508에서 비디오로부터 추출된 동작 또는 포즈 정보는 여러 방식으로 결정될 수 있다. 예를 들어, 행동 학습 시스템(134)은 단일의 전통적인 비디오 카메라로 수집된 비디오 데이터로부터 3D 포즈 및 골격 움직임 정보를 추정하기 위한 하나 이상의 알려진 방법을 이용할 수 있다. 일부 실시예에 따른 예시로서, 컨볼루션 뉴럴 네트워크(Convolutional Neural Network; CNN)가 운동적인 골격 피팅(kinematic skeleton fitting)에 관해 포즈 리그레서(pose regressor)의 일부로 이용될 수 있다. 이러한 CNN 기반 모델은 2D 및 3D 조인트 위치를 회귀(regress)할 수 있다. 운동적 골격 피팅 방법은 운동적 골격에 기초하여 3D 포즈 재구성을 생성하기 위해 CNN의 출력을 사용할 수 있다. 일부 실시예에서, 2D 키포인트들은 다양한 조인트들에 대해 결정될 수 있고, 개별 프레임에서 3D 포즈 정보를 추정하는 데 사용될 수 있고, 이어서 프레임에 걸친 골격 피팅을 사용해 3D 포즈 추정치에 결합될 수 있다.
블록 510에서, 행동 학습 시스템(134)은 게임 애플리케이션(104)과 같은 게임에서 가상 캐릭터를 애니메이팅(animating) 할 때 커스텀 행동 모델(선택적으로 일반 기존 설정(generic presets)과 결합됨)을 사용할 수 있다. 예를 들어, 연관된 시각적 외관 및 커스텀 행동 모델을 갖는 가상 캐릭터는 특정 비디오 게임 또는 다수의 다른 비디오 게임에서 NPC 또는 플레이어 제어 캐릭터로 통합될 수 있다. 커스텀 가상 캐릭터 데이터는 커스텀 캐릭터 시스템(130)에 의해 하나 이상의 특정 비디오 게임에서 사용하는 하나 이상의 포맷(formats)으로 저장될 수 있어서, 커스텀 캐릭터는 해당 게임의 가상 환경 내에서 게임의 표준 개발자-설계 캐릭터 중 임의의 것과 같은 방식으로 렌더링될 수 있다. 커스텀 가상 캐릭터는 위에서 생성된 커스텀 행동 모델에 따라 게임 내 자극 또는 객체에 응답할 수 있다.
블록 512에서, 행동 학습 시스템(134)은 모델 내에서 정확한 행동을 강제(enforce)하고 부정확한 행동을 억제(suppress)하기 위한 게임 내 사용자 피드백에 기초하여 선택적으로 커스텀 행동 모델을 조정할 수 있다. 예를 들어, 커스텀 캐릭터 시스템(130) 또는 특정 게임은 가상 캐릭터가 게임 내에서 수행하는 특정 커스텀 동작 또는 행동이 실제 세계의 사람이 어떻게 행동하는지(도 6과 관련해 이하 더 논의됨)와 비교해 정확한지 또는 부정확한지 사용자가 표시할 수 있게 하는 사용자 입력 메커니즘(할당된 키 또는 버튼, 사용자 인터페이스 요소 등)을 제공할 수 있다. 이들 플레이어 입력은 행동 학습 시스템(134)에 의해 학습 프로세스에서 긍정적 또는 부정적 강화로서 제공되어 특정 가상 캐릭터에 대한 정확한 행동을 강제하고 부정확한 행동을 억제할 수 있다. 방법(500)은 블록 514에서 종료된다.
사용자 인터페이스 예시
도 6은 일실시예에 따른, 비디오 게임 플레이어가 가상 캐릭터(602)가 착용할 커스텀 의류 및 액세서리를 선택할 수 있게 하고 그 가상 캐릭터의 외관을 편집할 수 있게 하는 예시적인 사용자 인터페이스(600)이다. 실시예에 따라, 사용자 인터페이스(600)는 게임 애플리케이션(104), 인터랙티브 컴퓨팅 시스템(120), 커스텀 캐릭터 시스템, 또는 애플리케이션 컴포넌트 또는 모듈에 의해 전체적으로 또는 부분적으로 생성될 수 있다. 도시된 바와 같이, 사용자 인터페이스(600)는 플레이어가 특정 게임 애플리케이션(104)에서 사용할 커스텀 가상 캐릭터를 생성하기 위해 커스텀 캐릭터 시스템(130)과 통신하도록 구성된 게임 애플리케이션(104)에 의해 플레이어 컴퓨팅 시스템(102)에 의해 제공될 수 있다.
사용자 인터페이스(600)는 커스텀 캐릭터 시스템(130)이 입력 미디어로부터 커스텀 가상 캐릭터(602)를 생성한 후에 제공될 수 있다. 따라서 커스텀 가상 캐릭터(602)는 실제 플레이어와 매우 유사할 수 있다(플레이어가 자신의 이미지 및/또는 비디오를 업로드한 경우). 사용자 인터페이스(600)는 플레이어가 근육량, 전체 체중, 신장 및/또는 다른 비율을 증가 또는 감소시키기 위해 가상 캐릭터(602)의 신체 비율을 변경할 수 있게 하는 옵션(604)을 포함한다. 플레이어는 가상 캐릭터(602)의 뷰(view)를 회전시키기 위해 회전 화살표(606)를 선택할 수 있다. 플레이어는 다양한 옵션(608) 중에서 선택하여 사용자 인터페이스의 편집 뷰 또는 모드를 변경하여, 예를 들어 전체 캐릭터 뷰에서 특정 신체 부위나 커스텀 가상 캐릭터(602)가 착용한 의복 아이템의 확대 뷰 간 전환하거나 다른 의류 또는 액세서리 옵션을 볼 수 있다.
사용자 인터페이스(600)는 시스템이 자동으로 사용자 인터페이스에 디스플레이된 의류와 액세서리를 시스템이 플레이어의 입력 미디어(예를 들어, 플레이어가 제공한 입력 미디어에 묘사된 사람이 착용한 의류 스타일) 분석에 기초해 플레이어가 좋아할 것으로 예측한 것들로 커스터마이징 했다는 것을 나타내는 체크 박스 인터페이스 요소(610)를 더 포함한다. 추천 의류 아이템은 가상 셔츠(612) 및 가상 모자(614)를 포함한다. 셔츠(612)의 번개와 같은 추천 아이템의 텍스처는 입력 미디어를 기반으로(예를 들어 시스템에서 이전에 분석한 입력 미디어에서 그 사람이 착용한 셔츠 또는 기타 의류 아이템에 나타난 번개 로고에 기초하여) 커스터마이징 되었을 수 있다. 플레이어는 셔츠를 착용한 가상 캐릭터(602)를 보이기 위해 아이템(612)을 선택할 수 있고, 이후 게임 내 사용을 위해 셔츠나 다른 커스터마이징한 것을 가상 캐릭터에 데이터 저장소에 저장된 것으로 하기 위해 제출 요소(640)를 선택할 수 있다.
플레이어는 색상, 패턴, 크기, 로고 및/또는 다른 특징의 변경과 같은 대응하는 가상 의류 아이템을 편집하기 위해 편집 옵션(622 또는 624)을 선택할 수 있다. 화살표(626)를 선택함으로써 더 많은 의류나 액세서리 아이템을 볼 수 있고, 플레이어는 가상 의류 아이템의 전체 목록을 검색(630)하도록 선택할 수 있다. 일부 실시예에서, 이용 가능한 가상 의류 아이템의 목록은 수백 또는 수천 개의 가상 아이템을 포함할 수 있어서, 입력 미디어의 자동화된 분석에 기초해 플레이어가 관심이 있을 수 있는 특정 아이템에 대한 추천을 제공하는 것은 플레이어가 가상 캐릭터(602)에 만족스럽게 할당할 수 있는 가상 의류 아이템을 찾기 위해 필요한 사용자 인터페이스 선택의 수(예를 들어, 플레이어의 화살표(626) 클릭수)를 크게 감소시킬 수 있다.
플레이어는 또한 카탈로그를 검색하기 위해 필드(632)에 검색어나 키워드를 입력할 수 있고, 결과는 커스텀 캐릭터 시스템이 각 아이템에 대해 생성하는 신뢰 점수 순으로 정렬될 수 있다. 주어진 아이템에 대한 신뢰 점수는 전술한 입력 미디어 분석으로부터 시스템이 학습한 의류 스타일 선호도에 기초하여 플레이어가 주어진 의류 아이템을 좋아할 것으로 예상되는 가능성을 나타낼 수 있다.
도 7은 비디오 게임 플레이어가 비디오 데이터로부터 생성된 가상 캐릭터에 대한 커스텀 애니메이션을 검토하고 애니메이션이 가상 캐릭터에 적용될 수 있는 게임 내 인스턴스를 선택할 수 있게 하는, 일실시예에 따른 예시적인 사용자 인터페이스(700)이다. 실시예에 따라, 사용자 인터페이스(600)는 게임 애플리케이션(104), 인터랙티브 컴퓨팅 시스템(120), 커스텀 캐릭터 시스템, 또는 애플리케이션 컴포넌트 또는 모듈에 의해 전체적으로 또는 부분적으로 생성될 수 있다. 도시된 바와 같이, 사용자 인터페이스(600)는 플레이어가 특정 게임 애플리케이션(104)에서 사용할 커스텀 캐릭터 애니메이션을 생성하기 위해 커스텀 캐릭터 시스템(130)과 통신하도록 구성된 게임 애플리케이션(104)에 의해 플레이어 컴퓨팅 시스템(102)에 의해 제공될 수 있다.
도시된 바와 같이, 사용자 인터페이스(700)는 플레이어에 의해 선택될 때 커스텀 캐릭터 시스템에 의해 해당 동작을 수행하는 실제 사람의 분석된 비디오로부터 추출된 동작을 가상 캐릭터(702)가 애니메이트(animate) 하고 수행하게 할 수 있는 플레이 애니메이션 옵션(704)을 포함한다. 예를 들어, 그 동작은 분석 및 움직임 추출을 위해 플레이어가 커스텀 캐릭터 시스템에 제공한 실제 세계 비디오에서 수행하는 자신을 플레이어가 녹화한 독특한 댄스 동작일 수 있다. 커스텀 캐릭터 시스템은 해당 독특한 댄스 동작에 대응하는 애니메이션 데이터를 저장하기 위해 위에 기재한 방식으로 골격 움직임 데이터 및/또는 다른 정보를 추출했을 수 있다.
플레이어는 텍스트 필드(706)를 통해 애니메이션에 이름을 할당할 수 있다(이 경우, 플레이어는 "Joe의 해피 댄스"라고 입력했다). 플레이어는 하나 이상의 특정 비디오 게임에서 이 독특한 댄스 동작을 승리의 감정 표현으로 사용하기 위해 옵션(710)을 선택했고, 이는 비디오 게임 내에서 가상 캐릭터가 매치에서 이길 때 자동으로 이 댄스 동작 애니메이션을 수행한다는 것을 의미한다. 플레이어는 하나 이상의 특정 비디오 게임에서 게임 내 감정 표현 메뉴에 이 독특한 댄스 동작을 포함시키기 위해 옵션(712)을 추가로 선택했고, 이는 플레이어로 하여금 그의 가상 캐릭터가 특정 게임에서의 요구(예를 들어, 게임 중 플레이어가 특정 키를 누를 때)에 따라 이 애니메이션을 수행하도록 요구할 수 있게 할 수 있다.
플레이어는 옵션(714)을 선택함으로써 애니메이션이 수행될 시기에 대한 다른 규칙을 생성할 수 있다. 대안적으로, 플레이어는 옵션(720)을 통해 예를 들어 애니메이션의 하나 이상의 부분이 제거 또는 편집되어야 함(예를 들어, 과장된 팔 제스쳐를 최소화 또는 비슷한 변화)을 나타내는 애니메이션에 관한 피드백을 제공할 수 있다. 플레이어는 최종적으로 사용자 인터페이스(700)에서 이루어진 선택을 저장하기 위해 제출 요소(730)를 선택할 수 있으며, 이로 인해 시스템은 이후 게임 내 사용을 위해 사용자 인터페이스(700)를 통해 설정된 애니메이션 규칙을 나타내는 업데이트된 가상 캐릭터 데이터를 저장하게 된다.
컴퓨팅 장치 개요
도 8은 본 개시에 따른 컴퓨팅 장치(10)의 실시예를 도시한다. 컴퓨팅 장치(10)의 컴포넌트를 제거 또는 추가하는 것과 같이, 컴퓨팅 장치(10)의 다른 변형이 본원에 명시적으로 제시된 예시를 대체할 수 있다. 컴퓨팅 장치(10)는 게임 장치, 스마트폰, 태블릿, 개인용 컴퓨터, 랩탑, 스마트 텔레비전, 자동차 콘솔 디스플레이, 서버 등을 포함할 수 있다. 컴퓨팅 장치(10)는 또한 다수의 지리적 위치에 걸쳐 분산될 수 있다. 예를 들어, 컴퓨팅 장치(10)는 클라우드 기반 서버의 클러스터(cluster)일 수 있다. 일부 실시예에서, 플레이어 컴퓨팅 시스템(102)은 도 8에 도시된 하나 이상의 컴포넌트를 포함할 수 있고, 다른 실시예에서는 인터랙티브 컴퓨팅 시스템(120)이 도 8에 도시된 하나 이상의 컴포넌트를 포함할 수 있다.
도시된 바와 같이, 컴퓨팅 장치(10)는 컴퓨팅 장치(10)의 다른 컴포넌트 및 컴퓨팅 장치(10)의 외부 컴포넌트와 상호 작용하는 처리 장치(20)를 포함한다. 게임 미디어(12)와 통신하는 게임 미디어 판독기(22)가 포함된다. 게임 미디어 판독기(22)는 CD-ROM 또는 DVD와 같은 광디스크를 판독할 수 있는 광디스크 판독기, 또는 게임 미디어(12)로부터 데이터를 수신 및 판독할 수 있는 임의의 다른 유형의 판독기일 수 있다. 하나 이상의 컴퓨팅 장치가 본원에 개시된 하나 이상의 시스템을 구현하는 데 사용될 수 있다.
컴퓨팅 장치(10)는 별도의 그래픽 프로세서(24)를 포함할 수 있다. 일부 경우, 그래픽 프로세서(24)는 처리 장치(20) 내에 내장될 수 있다. 그러한 일부 경우에, 그래픽 프로세서(24)는 랜덤 액세스 메모리(Random Access Memory; RAM)를 처리 장치(20)와 공유할 수 있다. 대안적으로 또는 추가적으로, 컴퓨팅 장치(10)는 처리 장치(20)와 분리된 개별 그래픽 프로세서(24)를 포함할 수 있다. 그러한 일부 경우, 그래픽 프로세서(24)는 처리 장치(20)와 별도의 RAM을 가질 수 있다. 컴퓨팅 장치(10)는 휴대용 게임 애플리케이션 장치, 전용 게임 콘솔 컴퓨팅 시스템, 범용 랩탑 또는 데스크탑 컴퓨터, 스마트폰, 태블릿, 자동차 콘솔 또는 다른 적절한 시스템일 수 있다.
컴퓨팅 장치(10)는 또한 I/O(32), 사용자 I/O(34), 디스플레이 I/O(36) 및 네트워크 I/O(38)와 같은 입력/출력을 가능하게 하기 위한 다양한 컴포넌트를 포함한다. I/O(32)는 컴퓨팅 장치(10)를 위한 저장소(storage)를 제공하기 위해, 저장 장치(storage element)(40)와 상호작용하고, 장치(42)를 통해 탈착 가능한 저장 매체(44)와 상호 작용한다. 처리 장치(20)는 게임 상태 데이터 및 임의의 공유 데이터 파일과 같은 데이터를 저장하기 위해 I/O(32)를 통해 통신할 수 있다. 저장 장치(40) 및 탈착 가능한 저장 매체(44) 외에, ROM(Read-Only Memory)(46) 및 RAM(48)을 포함하는 컴퓨팅 장치(10)가 도시되어 있다. RAM(48)은 게임이 플레이될 때처럼, 자주 액세스되는 데이터에 사용될 수 있다.
사용자 I/O(34)는 처리 장치(20)와, 게임 컨트롤러와 같은 사용자 장치 사이에서 명령을 송수신하는 데 사용된다. 일부 실시예에서, 사용자 I/O(34)는 터치 스크린 입력을 포함할 수 있다. 터치 스크린은 정전 용량 방식 터치스크린(capacitive touch screen), 저항막 방식 터치스크린(resistive touch screen) 또는 플레이어로부터 촉각 입력(tactile input)을 통해 사용자 입력을 수신하도록 구성된 다른 유형의 터치 스크린 기술일 수 있다. 디스플레이 I/O(36)는 재생중인 게임의 이미지를 디스플레이하는 데 사용되는 입/출력 기능을 제공한다. 네트워크 I/O(38)는 네트워크의 입/출력 기능에 사용된다. 네트워크 I/O(38)는 게임이 온라인으로 플레이되거나 온라인으로 액세스 될 때와 같은 게임 실행 동안 사용될 수 있다.
디스플레이 I/O(36)에 의해 생성된 디스플레이 출력 신호는 그래픽, 사용자 인터페이스, 비디오 및/또는 다른 시각적 컨텐츠와 같은 디스플레이 장치 상에 컴퓨팅 장치(10)에 의해 생성된 시각적 컨텐츠를 디스플레이하기 위한 신호를 포함한다. 컴퓨팅 장치(10)는 디스플레이 I/O(36)에 의해 생성된 디스플레이 출력 신호를 수신하도록 구성된 하나 이상의 통합형 디스플레이를 포함할 수 있다. 일부 실시예에 따르면, 디스플레이 I/O(36)에 의해 생성된 디스플레이 출력 신호는 컴퓨팅 장치(10) 외부의 하나 이상의 디스플레이 장치로도 출력될 수 있다.
컴퓨팅 장치(10)는 또한 클락(clock)(50), 플래시 메모리(52) 및 다른 컴포넌트와 같은 게임에 사용될 수 있는 다른 특징들을 포함할 수 있다. 오디오/비디오 플레이어(56)는 또한 영화와 같은 비디오 시퀀스(video sequence)를 재생하는 데 사용될 수 있다. 다른 컴포넌트가 컴퓨팅 장치(10)에 제공될 수 있고, 당업자는 컴퓨팅 장치(10)의 다른 변형을 이해할 것이다.
프로그램 코드는 ROM(46), RAM(48) 또는 저장 장치(40)(하드 디스크, 다른 자기 저장 장치, 광학 저장 장치, 다른 비휘발성 저장 장치 또는 이들의 조합이나 변형을 포함할 수 있음)에 저장될 수 있다. 프로그램 코드의 일부는 프로그램 가능한 ROM(ROM, PROM, EPROM, EEPROM 등)에 저장될 수 있고, 프로그램 코드의 일부는 저장 장치(40) 및/또는 게임 미디어(12)와 같은 탈착 가능한 매체에 저장될 수 있다(CD-ROM, 카트리지, 메모리 칩 등일 수 있거나, 필요에 따라 네트워크 또는 기타 전자 채널을 통해 얻어질 수 있음). 일반적으로, 프로그램 코드는 유형의 비일시적 신호 베어링 매체(tangible non-transitory signal bearing medium)에 구현되어 있다.
RAM(Random Access Memory)(48)(및 가능한 다른 저장 장치)은 필요에 따라 변수 및 다른 게임 및 처리 데이터를 저장하는 데 사용될 수 있다. RAM(48)은 애플리케이션의 실행 동안 생성된 데이터를 보유하며, 이들의 일부는 프레임 버퍼, 애플리케이션 상태 정보 및/또는 사용자 입력을 해석하고 디스플레이 출력을 생성하는 데 필요하거나 사용할 수 있는 다른 데이터를 위해 남겨질(reserved) 수 있다. 일반적으로, RAM(48)은 휘발성 저장 장치이고, RAM(48) 내에 저장된 데이터는 컴퓨팅 장치(10)가 꺼지거나 전력이 손실될 때 손실될 수 있다.
컴퓨팅 장치(10)가 게임 미디어(12)를 판독하고 애플리케이션을 제공함에 따라, 정보는 게임 미디어(12)로부터 판독되고 RAM(48)과 같은 메모리 장치에 저장될 수 있다. 또한, 저장 장치(40), ROM(46), 네트워크(미도시)를 통해 액세스 된 서버, 또는 탈착 가능한 저장 매체(44)로부터의 데이터가 판독되고 RAM(48)으로 로딩될 수 있다. 데이터가 RAM(48)에서 발견되는 것으로 기재되었지만, 데이터는 RAM(48)에 저장될 필요는 없고 처리 장치(20)에 액세스 가능하거나, 게임 미디어(12) 및 저장 장치(40)와 같은 여러 매체에 분산된 다른 메모리에 저장될 수 있음을 이해할 것이다.
모든 목적 또는 장점이 본원에 기재된 임의의 특정 실시예에 따라 반드시 달성될 필요는 없음이 이해되어야 한다. 따라서, 예를 들어, 당업자는 특정 실시예가 본원에서 교시 또는 제안될 수 있는 다른 목적이나 장점을 반드시 달성하지 않고 본원에서 교시된 바와 같이 하나의 장점이나 한 그룹의 장점을 달성하거나 최적화하는 방식으로 동작하도록 구성될 수 있음을 인식할 것이다.
본원에 기재된 모든 프로세스는 하나 이상의 컴퓨터 또는 프로세서를 포함하는 컴퓨팅 시스템에 의해 실행되는 소프트웨어 코드 모듈을 통해 구현되고, 완전 자동화될 수 있다. 코드 모듈은 임의의 유형의 비일시적 컴퓨터 판독 가능 매체 또는 다른 컴퓨터 저장 장치에 저장될 수 있다. 일부 또는 모든 방법은 전문화된 컴퓨터 하드웨어로 구현될 수 있다.
본원에 기재된 것 이외의 많은 다른 변형이 본 개시로부터 명백해질 것이다. 예를 들어, 실시예에 따라, 본원에 개시된 임의의 알고리즘의 특정 동작, 이벤트 또는 기능은 다른 순서로 수행될 수 있거나, 추가, 병합 또는 생략될 수 있다(예를 들어, 알고리즘의 실행에 대해 설명된 모든 동작이나 이벤트가 필수적인 것은 아니다). 더욱이, 특정 실시예에서, 동작 또는 이벤트는 순차적 수행되는 것이 아니라, 예를 들어 멀티 스레디드 프로세싱(multi-threaded processing), 인터럽트 프로세싱(interrupt processing) 또는 다중 처리 장치(multiple processors) 또는 프로세서 코어(processor cores) 또는 다른 병렬 아키텍쳐를 통해 동시에 수행될 수 있다. 또한, 서로 다른 작업이나 프로세스는 함께 작동할 수 있는 다른 기계 및/또는 컴퓨팅 시스템에 의해 수행될 수 있다.
본원에 개시된 실시예와 관련해 기재된 다양한 예시적인 논리 블록 및 모듈들은 처리 장치 또는 프로세서, DSP(digital signal processor), ASIC(application specific integrated circuit), FPGA(field programmable gate array) 또는 다른 프로그래밍 가능한 로직 장치, 이산 게이트(discrete gate) 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 본원에 기재된 기능을 수행하도록 설계된 이들의 임의의 조합과 같은 기계에 의해 구현되거나 수행될 수 있다. 프로세서는 마이크로 프로세서일 수 있지만, 대안적으로 프로세서는 컨트롤러, 마이크로 컨트롤러, 또는 상태 머신(state machine), 이들의 조합 등일 수 있다. 프로세서는 컴퓨터로 실행 가능한 명령어를 처리하도록 구성된 전기 회로를 포함할 수 있다. 다른 실시예에서, 프로세서는 컴퓨터로 실행 가능한 명령어를 처리하지 않고 로직 동작을 수행하는 FPGA 또는 다른 프로그래밍 가능한 장치를 포함한다. 프로세서는 또한 컴퓨팅 장치의 조합, 예를 들어, DSP 및 마이크로 프로세서의 조합, 복수의 마이크로 프로세서, DSP 코어와 관련된 하나 이상의 마이크로 프로세서 또는 이런 임의의 다른 구성으로 구현될 수 있다. 본원에서 주로 디지털 기술과 관련하여 기재되었지만, 프로세서는 주로 아날로그 컴포넌트를 포함할 수도 있다. 예를 들어, 본원에 기재된 신호 처리 알고리즘 중 일부 또는 전부는 아날로그 회로 또는 혼합 아날로그 및 디지털 회로로 구현될 수 있다. 컴퓨팅 환경은 몇 가지 예를 들면 기기 내의 마이크로 프로세서, 메인 프레임 컴퓨터, 디지털 신호 프로세서, 휴대용 컴퓨팅 장치, 장치 컨트롤러, 또는 컴퓨터 엔진에 기초한 컴퓨터 시스템을 포함하지만, 이에 제한되지는 않는 임의의 유형의 컴퓨터 시스템을 포함할 수 있다.
특별히 달리 언급되지 않는 한, "할 수 있는(can)", "할 수 있는(could)", "할 수 있는(might)" 또는 "할 수 있는(may)"과 같은 조건부 언어는 다른 실시예는 특정 기능, 요소 및/또는 단계를 포함하지 않지만, 특정 실시 양태는 이들을 포함한다는 것을 전달하기 위해 일반적으로 사용되는 문맥 내에서 이해된다. 따라서, 이런 조건부 언어는 일반적으로 특징, 요소 및/또는 단계가 하나 이상의 실시예에 대해 어떤 식으로든 요구된다거나, 사용자 입력이나 프롬프팅(prompting)이 있거나 없거나 이 특징, 요소 및/또는 단계가 어느 특정 실시예에 포함되거나 거기서 수행되어야 할지를 판단하는 로직을 하나 이상의 실시예가 반드시 포함해야 한다고 암시하도록 의도한 것이 아니다.
달리 구체적으로 언급되지 않는 한, "X, Y 또는 Z 중 적어도 어느 하나"라는 어구와 같은 분리적(disjunctive) 언어는 항목, 용어 등이 X, Y 또는 Z, 또는 이들의 임의의 조합(예를 들어, X, Y 및/또는 Z)을 나타내기 위해 일반적으로 사용되는 문맥에서 이해될 것이다. 따라서, 이런 분리적 언어는 일반적으로 특정 실시예가 적어도 X중 하나, 적어도 Y중 하나, 또는 적어도 Z중 하나가 각각 존재하도록 요구하는 것으로 암시하도록 의도한 것이 아니며, 암시해서는 안된다.
본원에 기재되고 및/또는 첨부된 도면에 도시된 흐름도의 임의의 프로세서 기재, 요소 또는 블록은 프로세스에서 특정 논리 기능이나 요소를 구현하기 위한 하나 이상의 실행 가능한 명령을 포함하는 모듈, 세그먼트 또는 코드의 일부를 잠재적으로 나타내는 것으로 이해되어야 한다. 당업자에게 이해되는 바와 같이, 관련 기능에 따라 요소나 기능이 삭제되거나, 실질적으로 동시에 또는 역순인 것을 포함해 도시된 것과 다른 순서로 실행 또는 논의되는 대안적인 구현들이 여기 기재된 실시예들의 범위에 포함된다.
달리 명시되지 않는 한, "하나(a)" 또는 "하나(an)"과 같은 것은 일반적으로 하나 이상의 기재된 항목을 포함하는 것으로 해석되어야 한다. 따라서, "~로 구성된 장치"와 같은 문구는 하나 이상의 언급된 장치를 포함하도록 의도된다. 이러한 하나 이상의 인용된 장치는 언급된 설명을 수행하도록 집합적으로 구성될 수도 있다. 예를 들어, "설명 A, B 및 C를 수행하도록 구성된 프로세서"는 설명B 및 C를 수행하도록 구성된 제2 프로세서와 함께 작동하는 설명 A를 수행하도록 구성된 제1 프로세서를 포함할 수 있다.
위에 기재된 실시예에 대해 많은 변형 및 수정이 이루어질 수 있으며, 그 구성 요소는 다른 허용 가능한 예시 중 하나인 것으로 이해되어야 한다. 이러한 모든 수정 및 변형은 본원의 범위 내에 포함되도록 의도된다.

Claims (20)

  1. 시스템에 있어서,
    비디오 게임의 가상 캐릭터에 대한 3차원(3D) 모델 데이터를 저장하는 데이터 저장소(data store) - 상기 3D 모델 데이터는 휴먼 베이스 모델(human base model)을 포함하고, 상기 휴먼 베이스 모델은 일반적인 인간 모습의 바디 형상(body shape of generic human figure)을 정의하는 3D 메쉬 데이터(3D mesh data)를 포함함 -; 및
    상기 데이터 저장소와 전자적(electronics) 통신하고, 컴퓨터 판독 가능 명령어를 실행하도록 구성된 컴퓨팅 시스템(computing system)
    을 포함하되,
    상기 명령어는:
    실제 인물을 묘사하는(depicting) 입력 미디어(input media)를 획득하고, 상기 입력 미디어는 적어도 카메라에 의해 수집된(captured) 상기 실제 인물의 비디오 녹화를 포함하고;
    상기 입력 미디어의 적어도 일부를, 이미지 또는 비디오 데이터에 묘사된 한 명 이상의 인간에 관한 시각적 정보를 추출하도록 구성된 제1 머신러닝 모델(first machine learning model)에 제공하고;
    상기 실제 인물에 대응하는 커스텀 3D 모델 데이터를 생성하기 위해 상기 제1 머신러닝 모델에 의해 추출된 시각 정보에 기초하여 상기 휴먼 베이스 모델의 상기 3D 메쉬 데이터를 변경하고;
    상기 입력 미디어를, 비디오 데이터에 묘사된 한 명 이상의 인간의 행동을 판단하도록 구성된 제2 머신러닝 모델(second machine learning model)에 제공하고;
    상기 제2 머신러닝 모델의 출력에 적어도 부분적으로 기초하여 상기 실제 인물에 대응하는 커스텀 행동 데이터(custom behavior data)를 생성하고 - 상기 커스텀 행동 데이터는 상기 입력 미디어에 묘사된 상기 실제 인물에 의해 수행되는 동작과 관련된 골격 움직임을 나타냄 -; 및
    비디오 게임의 3D 가상 환경 내에서, 하나 이상의 동작을 수행하는 상기 실제 인물과 유사한 가상 캐릭터를 묘사하는 일련의 디스플레이용 프레임을 렌더링하도록 - 렌더링된 상기 가상 캐릭터의 시각적 외관은 상기 커스텀 3D 모델 데이터에 적어도 부분적으로 기초하고, 상기 하나 이상의 동작은 상기 커스텀 행동 데이터에 적어도 부분적으로 기초함 -
    상기 컴퓨팅 시스템을 구성하는,
    시스템.
  2. 제1항에 있어서,
    상기 컴퓨터 판독 가능 명령어는:
    상기 입력 미디어에 도시된 상기 실제 인물이 착용한 제1 의류 아이템(first item of clothing)에 관한 시각적 정보를 상기 입력 미디어로부터 추출하고; 및
    상기 실제 인물이 착용한 상기 제1 의류 아이템에 대응하는 가상 의류 아이템(virtual clothing item)을 생성하되 - 상기 가상 의류 아이템은 상기 시각 정보에 기초해 생성된 텍스처(texture)를 포함함 -,
    상기 비디오 게임의 상기 3D 가상 환경에서 렌더링 된 상기 가상 캐릭터의 상기 시각적 외관은 상기 가상 의류 아이템을 착용한 상기 가상 캐릭터의 묘사를 포함하도록 상기 컴퓨팅 시스템을 더 구성하는,
    시스템.
  3. 제1항에 있어서,
    상기 컴퓨터 판독 가능 명령어는 사용자에게 디스플레이를 위한 가상 의류 선택 인터페이스(virtual clothing selection interface)를 생성하도록 상기 컴퓨팅 시스템을 더 구성하고,
    상기 가상 의류 선택 인터페이스는 상기 가상 캐릭터에 적용하기 위해 이용가능한 카탈로그(catalog)로부터 가상 의류 아이템의 서브셋(subset)을 식별하고,
    가상 의류 아이템의 상기 서브셋은 상기 입력 미디어의 자동화된 분석으로부터 결정된 상기 실제 인물의 하나 이상의 의류 스타일에 적어도 부분적으로 기초해 상기 컴퓨팅 시스템에 의해 상기 카탈로그로부터 선택되는,
    시스템.
  4. 제1항에 있어서,
    상기 컴퓨터 판독 가능 명령어는:
    상기 데이터 저장소에 상기 실제 인물에 대응하는 커스텀 가상 캐릭터 데이터를 저장하도록 - 상기 커스텀 가상 캐릭터 데이터는 적어도 상기 커스텀 3D 모델 데이터와 상기 커스텀 행동 데이터를 포함함 -
    상기 컴퓨팅 시스템을 더 구성하는,
    시스템.
  5. 제4항에 있어서,
    상기 컴퓨터 판독 가능 명령어는:
    상기 가상 캐릭터를 둘 이상의 비디오 게임 애플리케이션 각각과 관련된 가상 세계에 통합하기 위해 상기 커스텀 가상 캐릭터 데이터를 상기 둘 이상의 비디오 게임 애플리케이션에 제공
    하도록 상기 컴퓨팅 시스템을 더 구성하는,
    시스템.
  6. 제1항에 있어서,
    상기 실제 인물에 대응하는 상기 커스텀 3D 모델 데이터는 상기 입력 미디어로부터 추출된 커스텀 텍스처(texture)를 포함하는,
    시스템.
  7. 제1항에 있어서,
    상기 제1 머신러닝 모델은 생성기(generator) 및 판별기(discriminator)를 포함하는 GAN(generative adversarial network)를 포함하는,
    시스템.
  8. 제1항에 있어서,
    상기 제2 머신러닝 모델은 컨볼루션 뉴럴 네트워크(convolutional neural network)을 포함하고, 상기 컴퓨팅 시스템은 상기 컨볼루션 뉴럴 네트워크의 출력에 운동적인 골격 피팅(kinematic skeleton fitting)을 적용하도록 구성되는,
    시스템.
  9. 제1항에 있어서,
    상기 커스텀 행동 데이터는 상기 입력 미디어로부터 결정된 상기 실제 인물의 자세(body posture) 또는 걸음걸이(gait) 중 적어도 어느 하나를 반영하는 정보를 포함하는,
    시스템.
  10. 컴퓨터로 구현되는 방법(computer-implemented method)에 있어서,
    컴퓨터 하드웨어를 포함하는 컴퓨터 시스템의 제어 하에서,
    카메라로 수집된(captured) 실제 인물을 묘사하는 입력 미디어(input media)를 획득하고;
    일반적인 인간 모습과 관련된 기본 3D 모델 데이터(base three-dimensional model data)를 획득하고;
    이미지나 비디오 데이터에 묘사된 한 명 이상의 인간에 관한 시각적 정보를 추출하도록 구성된 제1 머신러닝 모델(first machine learning model)로 상기 입력 미디어의 적어도 일부를 제공하고;
    상기 실제 인물에 대응하는 커스텀 3D 모델 데이터(custom 3D model data)를 생성하기 위해 상기 제1 머신러닝 모델에 의해 추출된 시각 정보에 기초하여 상기 기본 3D 모델 데이터를 수정하고;
    비디오 데이터에서 묘사된 한 명 이상의 인간의 행동을 판단하도록 구성된 제2 머신러닝 모델(second machine learning model)로 상기 입력 미디어를 제공하고;
    상기 제2 머신러닝 모델의 출력에 적어도 부분적으로 기초하여 상기 실제 인물에 대응하는 커스텀 행동 데이터(custom behavior data)를 생성하고 - 상기 커스텀 행동 데이터는 상기 입력 미디어에 묘사된 상기 실제 인물에 의해 수행된 적어도 하나의 움직임(movement) 또는 동작(action)과 관련됨 -; 및
    적어도 하나의 비디오 게임의 가상 세계에 존재하는(populate) 가상 캐릭터에 대한 가상 캐릭터 데이터를 저장하는 데이터 저장소에, 커스텀 가상 캐릭터(custom virtual character)를 정의하는 데이터를 저장하는 - 상기 커스텀 가상 캐릭터를 정의하는 상기 데이터는 적어도 상기 커스텀 3D 모델 및 상기 커스텀 행동 모델을 포함함 -
    컴퓨터 실행 가능 명령어(computer executable instruction)로 구성되는 상기 컴퓨터 시스템
    을 포함하는,
    컴퓨터로 구현되는 방법.
  11. 제10항에 있어서,
    비디오 게임의 3D 가상 환경 내에서, 하나 이상의 동작을 수행하는 상기 커스텀 가상 캐릭터를 묘사하는 일련의 디스플레이용 프레임을 렌더링하는 - 렌더링 된 상기 커스텀 가상 캐릭터의 시각적 외관은 상기 커스텀 3D 모델 데이터에 적어도 부분적으로 기초하며, 상기 하나 이상의 동작은 상기 커스텀 행동 모델에 적어도 부분적으로 기초함 -
    컴퓨터 실행 가능 명령어를 더 포함하는,
    컴퓨터로 구현되는 방법.
  12. 제10항에 있어서,
    비디오 게임 플레이어가 상기 제2 머신러닝 모델로 학습한 커스텀 동작(custom action)을, 상기 가상 세계 내에서 상기 커스텀 가상 캐릭터에 의해 수행되는 게임 내 동작으로 태깅(tag)할 수 있게 하는 사용자 인터페이스(user interface)를 생성하는
    컴퓨터 실행 가능 명령어를 더 포함하는,
    컴퓨터로 구현되는 방법.
  13. 제12항에 있어서,
    상기 사용자 인터페이스는 상기 커스텀 동작과 관련될 수 있는 복수의 게임 내 동작을 식별하는,
    컴퓨터로 구현되는 방법.
  14. 제12항에 있어서,
    상기 커스텀 동작은 상기 입력 미디어에서 상기 실제 인물에 의해 수행되는 춤 또는 제스쳐인,
    컴퓨터로 구현되는 방법.
  15. 제10항에 있어서,
    상기 커스텀 행동 모델은 행동 트리(behavior tree)를 포함하는,
    컴퓨터로 구현되는 방법.
  16. 제10항에 있어서,
    상기 커스텀 행동 모델을 생성하는 것은 마르코프 모델(Markov model) 또는 딥 뉴럴 네트워크(deep neural network) 중 적어도 어느 하나의 적용을 포함하는,
    컴퓨터로 구현되는 방법.
  17. 컴퓨터로 판독 가능한 명령어를 저장한 비일시적(non-transitory) 컴퓨터 판독 가능 저장 매체에 있어서,
    실행될 때, 컴퓨팅 시스템이:
    카메라로 수집된(captured) 실제 인물을 묘사하는 입력 미디어(input media)를 획득하고;
    일반적인 인간 모습과 관련된 기본 3D 모델 데이터(base three-dimensional model data)를 획득하고;
    이미지나 비디오 데이터에 묘사된 한 명 이상의 인간에 관한 시각적 정보를 추출하도록 구성된 제1 머신러닝 모델(first machine learning model)로 상기 입력 미디어의 적어도 일부를 제공하고;
    상기 실제 인물에 대응하는 커스텀 3D 모델 데이터(custom 3D model data)를 생성하기 위해 상기 제1 머신러닝 모델에 의해 추출된 시각 정보에 기초하여 상기 기본 3D 모델 데이터를 수정하고;
    비디오 데이터에서 묘사된 한 명 이상의 인간의 행동을 판단하도록 구성된 제2 머신러닝 모델(second machine learning model)로 상기 입력 미디어를 제공하고;
    상기 제2 머신러닝 모델의 출력에 적어도 부분적으로 기초하여 상기 실제 인물에 대응하는 커스텀 행동 데이터(custom behavior data)를 생성하고 - 상기 커스텀 행동 데이터는 상기 입력 미디어에 묘사된 상기 실제 인물에 의해 수행된 적어도 하나의 움직임(movement) 또는 동작(action)과 관련됨 -; 및
    적어도 하나의 비디오 게임의 가상 세계에 존재하는(populate) 가상 캐릭터에 대한 가상 캐릭터 데이터를 저장하는 데이터 저장소에, 커스텀 가상 캐릭터(custom virtual character)를 정의하는 데이터를 저장 - 상기 커스텀 가상 캐릭터를 정의하는 상기 데이터는 적어도 상기 커스텀 3D 모델 및 상기 커스텀 행동 모델을 포함함 -
    하도록 구성하는 컴퓨터로 판독 가능한 명령어를 저장하는,
    비일시적 컴퓨터 판독 가능 저장 매체.
  18. 제17항에 있어서,
    상기 명령어는 상기 컴퓨팅 시스템이 비디오 게임의 3D 가상 환경 내에서, 하나 이상의 동작을 수행하는 상기 커스텀 가상 캐릭터를 묘사하는 일련의 디스플레이용 프레임을 렌더링하도록 더 구성하고,
    렌더링된 상기 커스텀 가상 캐릭터의 시각적 외관은 상기 커스텀 3D 모델 데이터에 적어도 부분적으로 기초하며,
    상기 하나 이상의 동작은 상기 커스텀 행동 모델에 적어도 부분적으로 기초하는,
    비일시적 컴퓨터 판독 가능 저장 매체.
  19. 제17항에 있어서,
    상기 실제 인물은 상기 적어도 하나의 비디오 게임의 플레이어이고,
    상기 입력 미디어는 (a) 상기 플레이어의 컴퓨팅 장치 또는 (b) 상기 플레이어와 관련된 제3자 미디어 계정 중 적어도 어느 하나로부터 얻어지는,
    비일시적 컴퓨터 판독 가능 저장 매체.
  20. 제17항에 있어서,
    상기 명령어는 상기 컴퓨팅 시스템이:
    상기 커스텀 가상 캐릭터가 비디오 게임의 가상 세계 내에서 상기 실제 인물의 실제 세계에서의 행동과 일치하지 않는 방식으로 행동한다는 것을 나타내는 사용자 피드백(user feedback)을 수신하고,
    상기 사용자 피드백에 대응하는 하나 이상의 행동을 억제하도록 상기 커스텀 행동 모델의 적어도 일부를 수정
    하도록 더 구성하는,
    비일시적 컴퓨터 판독 가능 저장 매체.
KR1020200034918A 2019-03-27 2020-03-23 이미지 또는 비디오 데이터로부터의 가상 캐릭터 생성 KR102296906B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/367,016 2019-03-27
US16/367,016 US10953334B2 (en) 2019-03-27 2019-03-27 Virtual character generation from image or video data

Publications (2)

Publication Number Publication Date
KR20200115231A true KR20200115231A (ko) 2020-10-07
KR102296906B1 KR102296906B1 (ko) 2021-09-01

Family

ID=72606774

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200034918A KR102296906B1 (ko) 2019-03-27 2020-03-23 이미지 또는 비디오 데이터로부터의 가상 캐릭터 생성

Country Status (3)

Country Link
US (2) US10953334B2 (ko)
KR (1) KR102296906B1 (ko)
CN (1) CN111744200A (ko)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220113248A (ko) * 2021-02-05 2022-08-12 옥재윤 인공지능 기반 가상현실 서비스 시스템 및 방법
KR20220122349A (ko) * 2021-02-26 2022-09-02 주식회사 야타브엔터 클라우드 기반 메타버스 콘텐츠 협업 시스템
KR20220124432A (ko) * 2021-03-03 2022-09-14 엔에이치엔클라우드 주식회사 2차원 이미지에 기초한 3차원 가상 의류 착용방법 및 그 시스템
WO2022169289A3 (ko) * 2021-02-05 2022-10-06 옥재윤 인공지능 기반 가상현실 서비스 시스템 및 방법
KR20220144689A (ko) 2021-04-20 2022-10-27 주식회사 케이티 사람의 전신에 대한 3d 모델을 생성하는 서버, 방법 및 컴퓨터 프로그램
KR102479195B1 (ko) * 2022-03-15 2022-12-21 (주)포위즈시스템 Nft 기반 디지털아트 자가생성 장치 및 방법
KR20230047588A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 돌발 상황 대응을 위한 가상현실 훈련 방법
KR20230047599A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 화학테러 대응을 위한 가상현실 훈련 방법
KR20230047583A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 가상현실 훈련 방법
KR20230047593A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 화학테러 대응을 위한 가상현실 훈련 시스템
KR20230047586A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 돌발 상황 대응을 위한 가상현실 훈련 시스템
KR20230047579A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 가상현실 훈련 시스템
KR20230076004A (ko) 2021-11-23 2023-05-31 주식회사 엘지유플러스 메타버스 제공 방법 및 장치
WO2023114147A1 (en) * 2021-12-13 2023-06-22 Board Of Regents, The University Of Texas System Controlling multicomputer interaction with deep learning and artificial intelligence
KR102550973B1 (ko) * 2022-01-18 2023-07-05 (주)에스프레소미디어 Ai 딥러닝을 활용한 개인 밀착형 메타버스 캐릭터 생성 시스템 및 그 방법
KR20230103666A (ko) * 2021-12-31 2023-07-07 주식회사 마블러스 통신 시스템에서 행동 및 성격에 대한 학습을 통해 사용자와 음성으로 대화를 수행할 수 있는 메타버스 가상 현실 반려 동물을 제공하기 위한 방법 및 장치
WO2023214826A1 (ko) * 2022-05-05 2023-11-09 유한회사 닥터다비드 집단 지성을 이용한 정보 처리 시스템 및 그 방법

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8584031B2 (en) 2008-11-19 2013-11-12 Apple Inc. Portable touch screen device, method, and graphical user interface for using emoji characters
US9940637B2 (en) 2015-06-05 2018-04-10 Apple Inc. User interface for loyalty accounts and private label accounts
US10445425B2 (en) 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
US9919217B2 (en) 2016-03-08 2018-03-20 Electronic Arts Inc. Dynamic difficulty adjustment
US11580608B2 (en) 2016-06-12 2023-02-14 Apple Inc. Managing contact information for communication applications
US10384133B1 (en) 2016-12-30 2019-08-20 Electronic Arts Inc. Systems and methods for automatically measuring a video game difficulty
US10357718B2 (en) 2017-02-28 2019-07-23 Electronic Arts Inc. Realtime dynamic modification and optimization of gameplay parameters within a video game application
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
KR20230144661A (ko) 2017-05-16 2023-10-16 애플 인크. 이모지 레코딩 및 전송
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11113887B2 (en) * 2018-01-08 2021-09-07 Verizon Patent And Licensing Inc Generating three-dimensional content from two-dimensional images
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
DK201870374A1 (en) 2018-05-07 2019-12-04 Apple Inc. AVATAR CREATION USER INTERFACE
US10713543B1 (en) 2018-06-13 2020-07-14 Electronic Arts Inc. Enhanced training of machine learning systems based on automatically generated realistic gameplay information
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
SG11202103493QA (en) 2018-10-11 2021-05-28 Tesla Inc Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11107261B2 (en) 2019-01-18 2021-08-31 Apple Inc. Virtual avatar animation based on facial feature movement
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US10953334B2 (en) * 2019-03-27 2021-03-23 Electronic Arts Inc. Virtual character generation from image or video data
US11276216B2 (en) 2019-03-27 2022-03-15 Electronic Arts Inc. Virtual animal character generation from image or video data
US11302080B1 (en) * 2019-05-06 2022-04-12 Apple Inc. Planner for an objective-effectuator
US10902618B2 (en) * 2019-06-14 2021-01-26 Electronic Arts Inc. Universal body movement translation and character rendering system
US11110353B2 (en) 2019-07-10 2021-09-07 Electronic Arts Inc. Distributed training for machine learning of AI controlled virtual entities on video game clients
CN112237739A (zh) * 2019-07-17 2021-01-19 厦门雅基软件有限公司 游戏角色渲染方法、装置、电子设备及计算机可读介质
KR20210030147A (ko) * 2019-09-09 2021-03-17 삼성전자주식회사 3d 렌더링 방법 및 장치
US11217036B1 (en) 2019-10-07 2022-01-04 Facebook Technologies, Llc Avatar fidelity and personalization
US11250572B2 (en) * 2019-10-21 2022-02-15 Salesforce.Com, Inc. Systems and methods of generating photorealistic garment transference in images
US11475639B2 (en) 2020-01-03 2022-10-18 Meta Platforms Technologies, Llc Self presence in artificial reality
CN111324253B (zh) * 2020-02-12 2021-08-03 腾讯科技(深圳)有限公司 虚拟物品交互方法、装置、计算机设备及存储介质
US11504625B2 (en) 2020-02-14 2022-11-22 Electronic Arts Inc. Color blindness diagnostic system
US11436830B2 (en) * 2020-03-11 2022-09-06 Bank Of America Corporation Cognitive robotic process automation architecture
US11648480B2 (en) 2020-04-06 2023-05-16 Electronic Arts Inc. Enhanced pose generation based on generative modeling
US11232621B2 (en) 2020-04-06 2022-01-25 Electronic Arts Inc. Enhanced animation generation based on conditional modeling
US11452940B2 (en) 2020-06-09 2022-09-27 International Business Machines Corporation Real-world activity simulation augmentation with real-world data of the activity
US10991142B1 (en) 2020-06-16 2021-04-27 Justin Harrison Computer-implemented essence generation platform for posthumous persona simulation
CN115735229A (zh) * 2020-06-25 2023-03-03 斯纳普公司 在消息收发系统中更新化身服装
US11463657B1 (en) 2020-11-10 2022-10-04 Know Systems Corp. System and method for an interactive digitally rendered avatar of a subject person
US11140360B1 (en) 2020-11-10 2021-10-05 Know Systems Corp. System and method for an interactive digitally rendered avatar of a subject person
US11582424B1 (en) 2020-11-10 2023-02-14 Know Systems Corp. System and method for an interactive digitally rendered avatar of a subject person
US12020359B2 (en) * 2020-12-07 2024-06-25 Zoltan GELENCSER System and method for immersive telecommunications supported by AI analysis
US11663764B2 (en) 2021-01-27 2023-05-30 Spree3D Corporation Automatic creation of a photorealistic customized animated garmented avatar
US20230050535A1 (en) * 2021-01-11 2023-02-16 Tetavi Ltd. Volumetric video from an image source
US11893792B2 (en) * 2021-03-25 2024-02-06 Adobe Inc. Integrating video content into online product listings to demonstrate product features
GB2606344A (en) * 2021-04-28 2022-11-09 Sony Interactive Entertainment Europe Ltd Computer-implemented method and system for generating visual adjustment in a computer-implemented interactive entertainment environment
CN113327311B (zh) * 2021-05-27 2024-03-29 百度在线网络技术(北京)有限公司 基于虚拟角色的显示方法、装置、设备、存储介质
CN113409430B (zh) 2021-06-01 2023-06-23 北京百度网讯科技有限公司 可驱动三维人物生成方法、装置、电子设备及存储介质
US11769346B2 (en) 2021-06-03 2023-09-26 Spree3D Corporation Video reenactment with hair shape and motion transfer
US11836905B2 (en) 2021-06-03 2023-12-05 Spree3D Corporation Image reenactment with illumination disentanglement
US11854579B2 (en) 2021-06-03 2023-12-26 Spree3D Corporation Video reenactment taking into account temporal information
US11887232B2 (en) 2021-06-10 2024-01-30 Electronic Arts Inc. Enhanced system for generation of facial models and animation
US11769289B2 (en) 2021-06-21 2023-09-26 Lemon Inc. Rendering virtual articles of clothing based on audio characteristics
US11295503B1 (en) * 2021-06-28 2022-04-05 Facebook Technologies, Llc Interactive avatars in artificial reality
US11726553B2 (en) * 2021-07-20 2023-08-15 Sony Interactive Entertainment LLC Movement-based navigation
US11786816B2 (en) 2021-07-30 2023-10-17 Sony Interactive Entertainment LLC Sharing movement data
USD1005305S1 (en) * 2021-08-01 2023-11-21 Soubir Acharya Computing device display screen with animated graphical user interface to select clothes from a virtual closet
CN113554760B (zh) * 2021-08-05 2024-02-13 网易(杭州)网络有限公司 一种换装方法、装置、计算机设备和存储介质
US20230053308A1 (en) * 2021-08-13 2023-02-16 At&T Intellectual Property I, L.P. Simulation of likenesses and mannerisms in extended reality environments
CN113633971B (zh) * 2021-08-31 2023-10-20 腾讯科技(深圳)有限公司 视频帧的渲染方法、装置、设备以及存储介质
CN113784167B (zh) * 2021-10-11 2023-04-28 福建天晴数码有限公司 一种基于3d渲染的互动视频制作和播放的方法及终端
CN114049417B (zh) * 2021-11-12 2023-11-24 抖音视界有限公司 虚拟角色图像的生成方法、装置、可读介质及电子设备
CN114125552A (zh) * 2021-11-30 2022-03-01 完美世界(北京)软件科技发展有限公司 视频数据的生成方法及装置、存储介质、电子装置
CN114247143A (zh) * 2021-12-21 2022-03-29 北京蔚领时代科技有限公司 基于云服务器的数字人互动方法、装置、设备及存储介质
KR20230108869A (ko) 2022-01-12 2023-07-19 주식회사 이너버즈 딥 러닝을 이용한 가상 인물 생성 모델의 학습방법
US20230237768A1 (en) * 2022-01-21 2023-07-27 CurioSearch DBA Materiall Method of identifying similars in clothing images
US11954570B2 (en) 2022-04-28 2024-04-09 Theai, Inc. User interface for construction of artificial intelligence based characters
WO2023212260A1 (en) * 2022-04-28 2023-11-02 Theai, Inc. Agent-based training of artificial intelligence character models
CN114821675B (zh) * 2022-06-29 2022-11-15 阿里巴巴达摩院(杭州)科技有限公司 对象的处理方法、系统和处理器
US11861778B1 (en) * 2022-07-25 2024-01-02 Gravystack, Inc. Apparatus and method for generating a virtual avatar
CN115168745B (zh) * 2022-09-02 2022-11-22 环球数科集团有限公司 一种基于图像技术的虚拟人物形象再创造的方法和系统
CN115375809B (zh) * 2022-10-25 2023-03-14 科大讯飞股份有限公司 虚拟形象的生成方法、装置、设备及存储介质
CN116630495B (zh) * 2023-07-04 2024-04-12 深圳微品致远信息科技有限公司 基于aigc算法的虚拟数字人模型规划系统
CN117150089B (zh) * 2023-10-26 2023-12-22 环球数科集团有限公司 一种基于aigc技术的人物艺术形象更改系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120052228A (ko) * 2009-07-13 2012-05-23 마이크로소프트 코포레이션 사용자로부터 학습된 입력을 통해 비주얼 형상을 활성화하는 방법
KR20140033088A (ko) * 2011-06-06 2014-03-17 마이크로소프트 코포레이션 플레이어의 모습을 반영한 아바타의 생성 기법
KR20160115959A (ko) * 2014-01-28 2016-10-06 지멘스 헬스케어 게엠베하 파라미터화된 변형가능 메시를 이용하여 개인화된 아바타들을 구성하기 위한 방법 및 시스템
KR20160145732A (ko) * 2014-04-17 2016-12-20 이베이 인크. 패션 선호도 분석 기법

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274801A (en) 1988-04-29 1993-12-28 International Business Machines Corp. Artifical intelligence delivery system
US5683082A (en) 1992-08-04 1997-11-04 Kabushiki Kaisha Ace Denken Gaming system controlling termination of playing and degree of playing difficulty
US6285380B1 (en) 1994-08-02 2001-09-04 New York University Method and system for scripting interactive animated actors
EP2110732A3 (en) 1995-02-13 2009-12-09 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6106395A (en) 1997-03-04 2000-08-22 Intel Corporation Adaptive gaming behavior based on player profiling
US8540575B2 (en) 2002-10-08 2013-09-24 White Knuckle Gaming, Llc Method and system for increased realism in video games
US20040152512A1 (en) 2003-02-05 2004-08-05 Collodi David J. Video game with customizable character appearance
JP4057945B2 (ja) 2003-04-25 2008-03-05 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
US20050130725A1 (en) 2003-12-15 2005-06-16 International Business Machines Corporation Combined virtual and video game
US7296007B1 (en) 2004-07-06 2007-11-13 Ailive, Inc. Real time context learning by software agents
KR100766545B1 (ko) 2005-09-08 2007-10-11 엔에이치엔(주) 게이머의 입력 패턴을 복사하여 게임을 수행하는 게임 ai제어 방법 및 게임 ai 제어 시스템
US9117329B2 (en) 2005-09-12 2015-08-25 Bally Gaming, Inc. Gaming system for data management and collection and related methods
US20070066403A1 (en) * 2005-09-20 2007-03-22 Conkwright George C Method for dynamically adjusting an interactive application such as a videogame based on continuing assessments of user capability
US9250703B2 (en) * 2006-03-06 2016-02-02 Sony Computer Entertainment Inc. Interface with gaze detection and voice input
US8142282B2 (en) 2006-11-15 2012-03-27 Microsoft Corporation Console integrated downloadable game service
US9522332B2 (en) 2006-12-13 2016-12-20 Voodoo Gaming Llc Video games including real-life attributes and/or fantasy team settings
US8128476B1 (en) 2007-02-02 2012-03-06 Popcap Games, Inc. Electronic game, such as a computer game involving removing pegs
US8907193B2 (en) 2007-02-20 2014-12-09 Ubisoft Entertainment Instrument game system and method
JP5427343B2 (ja) 2007-04-20 2014-02-26 任天堂株式会社 ゲームコントローラ
US8475274B2 (en) 2007-04-26 2013-07-02 Sony Computer Entertainment America Llc Method and apparatus for dynamically adjusting game or other simulation difficulty
US20080268961A1 (en) 2007-04-30 2008-10-30 Michael Brook Method of creating video in a virtual world and method of distributing and using same
US8197313B2 (en) 2007-10-29 2012-06-12 Microsoft Corporation User to user game referrals
EP2263190A2 (en) * 2008-02-13 2010-12-22 Ubisoft Entertainment S.A. Live-action image capture
KR20090092007A (ko) 2008-02-26 2009-08-31 한국전자통신연구원 게임 캐릭터의 사용자 조작 패턴 학습 방법 및 장치
US8443350B2 (en) 2008-06-06 2013-05-14 Cornell University System and method for scaling simulations and games
JP4439572B2 (ja) 2008-07-11 2010-03-24 任天堂株式会社 ディジタルデータ補正プログラムおよびディジタルデータ補正装置
US20100144444A1 (en) 2008-12-04 2010-06-10 Disney Enterprises, Inc. Real-time, video game playtesting
EP2411101A4 (en) 2009-03-27 2016-03-30 Infomotion Sports Technologies Inc MONITORING PHYSICAL TRAINING EVENTS
US8803889B2 (en) * 2009-05-29 2014-08-12 Microsoft Corporation Systems and methods for applying animations or motions to a character
US20110035280A1 (en) 2009-08-04 2011-02-10 Visa U.S.A. Inc. Systems and Methods for Targeted Advertisement Delivery
US20110295649A1 (en) 2010-05-31 2011-12-01 International Business Machines Corporation Automatic churn prediction
US20120083330A1 (en) * 2010-10-05 2012-04-05 Zynga Game Network, Inc. System and Method for Generating Achievement Objects Encapsulating Captured Event Playback
US20120115581A1 (en) 2010-11-05 2012-05-10 Wms Gaming Inc. Wagering games, methods and systems including skill-based components
JP5581232B2 (ja) 2011-01-12 2014-08-27 株式会社スクウェア・エニックス ネットワークゲームシステム、及びサーバ装置
JP5587800B2 (ja) 2011-01-12 2014-09-10 株式会社スクウェア・エニックス ネットワークゲームシステム、ゲーム装置、サーバ装置、及びプログラム
JP6302614B2 (ja) 2011-02-25 2018-03-28 任天堂株式会社 通信システム、情報処理装置、プログラム及び情報処理方法
US8977585B2 (en) 2011-03-09 2015-03-10 Sportsvision, Inc. Simulation system
US8267764B1 (en) 2011-04-21 2012-09-18 Wms Gaming Inc. Wagering game having enhancements to queued outcomes
KR101217361B1 (ko) 2011-09-08 2012-12-31 (주)네오위즈게임즈 스포츠 게임의 캐릭터 정보 관리 방법 및 장치
US8535163B2 (en) 2012-01-10 2013-09-17 Zynga Inc. Low-friction synchronous interaction in multiplayer online game
US10937239B2 (en) * 2012-02-23 2021-03-02 Charles D. Huston System and method for creating an environment and for sharing an event
KR101495757B1 (ko) 2012-04-20 2015-03-04 (주)네오위즈게임즈 게임 자동 플레이 제어 방법 및 장치
US8814663B2 (en) 2012-05-24 2014-08-26 Sap Ag Predictive analysis based on player segmentation
KR101911133B1 (ko) * 2012-06-21 2018-10-23 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 깊이 카메라를 이용한 아바타 구성
US9616329B2 (en) 2012-06-28 2017-04-11 Electronic Arts Inc. Adaptive learning system for video game enhancement
DE102013203667B4 (de) * 2013-03-04 2024-02-22 Adidas Ag Kabine zum Ausprobieren eines oder mehrerer Bekleidungsstücke
US9056252B2 (en) 2013-03-13 2015-06-16 Sugarcane Development, Inc. Highly interactive online multiplayer video games
JP5869544B2 (ja) 2013-10-10 2016-02-24 株式会社 ディー・エヌ・エー サーバー装置、及び、プログラム
US20150142507A1 (en) 2013-11-21 2015-05-21 Ana Maria Tuta Osman Recommendation system for specifying and achieving goals
CN106575354B (zh) 2014-05-21 2021-11-05 汤杰宝游戏公司 有形界面对象的虚拟化
US10322351B2 (en) 2014-07-03 2019-06-18 Activision Publishing, Inc. Matchmaking system and method for multiplayer video games
US9675889B2 (en) 2014-09-10 2017-06-13 Zynga Inc. Systems and methods for determining game level attributes based on player skill level prior to game play in the level
KR101603681B1 (ko) 2014-11-12 2016-03-16 세종대학교산학협력단 게임 플레이 데이터의 모방에 기반한 게임 캐릭터의 인공지능 생성 시스템 및 방법
MA41117A (fr) * 2014-12-05 2017-10-10 Myfiziq Ltd Imagerie d'un corps
US10169891B2 (en) * 2015-08-26 2019-01-01 Electronic Arts Inc. Producing three-dimensional representation based on images of a person
US9734594B2 (en) * 2015-08-26 2017-08-15 Electronics Arts Inc. Producing three-dimensional representation based on images of an object
US20170124753A1 (en) * 2015-11-03 2017-05-04 Electronic Arts Inc. Producing cut-out meshes for generating texture maps for three-dimensional surfaces
US10105603B2 (en) 2015-11-13 2018-10-23 Zynga Inc. Automated tuning of computer-implemented games
US9919217B2 (en) 2016-03-08 2018-03-20 Electronic Arts Inc. Dynamic difficulty adjustment
CN115500818A (zh) 2016-03-18 2022-12-23 哈佛大学校长及研究员协会 分析对象的运动以将其分成亚秒级模块的系统和方法
JP6275362B1 (ja) * 2016-04-01 2018-02-07 株式会社wise 3dグラフィック生成、人工知能の検証・学習システム、プログラム及び方法
US20170312634A1 (en) * 2016-04-28 2017-11-02 Uraniom System and method for personalized avatar generation, especially for computer games
US10226708B2 (en) 2016-06-30 2019-03-12 Electronic Arts Inc. Interactive gameplay playback system
US10478730B1 (en) 2016-08-25 2019-11-19 Electronic Arts Inc. Computer architecture for simulation of sporting events based on real-world data
CN106390456B (zh) 2016-09-30 2018-09-18 腾讯科技(深圳)有限公司 游戏中角色行为的生成方法和装置
US10004984B2 (en) * 2016-10-31 2018-06-26 Disney Enterprises, Inc. Interactive in-room show and game system
EP3551304A1 (en) 2016-12-09 2019-10-16 Unity IPR APS Creating, broadcasting, and viewing 3d content
CN106600667B (zh) * 2016-12-12 2020-04-21 南京大学 一种基于卷积神经网络的视频驱动人脸动画方法
US20180161673A1 (en) 2016-12-13 2018-06-14 Microsoft Technology Licensing, Llc Using telemetry data in a distributed computing environment to address complex problems
US10384133B1 (en) 2016-12-30 2019-08-20 Electronic Arts Inc. Systems and methods for automatically measuring a video game difficulty
US10357718B2 (en) * 2017-02-28 2019-07-23 Electronic Arts Inc. Realtime dynamic modification and optimization of gameplay parameters within a video game application
US11763143B2 (en) 2017-04-19 2023-09-19 AIBrain Corporation Adding deep learning based AI control
CN107274466A (zh) * 2017-05-31 2017-10-20 珠海金山网络游戏科技有限公司 一种实时全身动作捕捉的方法、装置和系统
EP3665653A4 (en) 2017-09-11 2021-09-29 Track160, Ltd. METHOD FOR REPRESENTING THREE-DIMENSIONAL ANIMATED GRAPHICS FROM VIDEOS
JP7145221B2 (ja) * 2017-12-22 2022-09-30 マジック リープ, インコーポレイテッド 稠密3d再構成データのキャッシュおよび更新
US10614310B2 (en) 2018-03-22 2020-04-07 Viisights Solutions Ltd. Behavior recognition
US10839215B2 (en) 2018-05-21 2020-11-17 Electronic Arts Inc. Artificial intelligence for emulating human playstyles
US10713543B1 (en) 2018-06-13 2020-07-14 Electronic Arts Inc. Enhanced training of machine learning systems based on automatically generated realistic gameplay information
US10569176B2 (en) 2018-06-22 2020-02-25 Yacht Club Games, LLC Video game gameplay having nuanced character movements and dynamic movement indicators
CN113168737A (zh) * 2018-09-24 2021-07-23 奇跃公司 用于三维模型共享的方法和系统
US11276216B2 (en) 2019-03-27 2022-03-15 Electronic Arts Inc. Virtual animal character generation from image or video data
US10953334B2 (en) * 2019-03-27 2021-03-23 Electronic Arts Inc. Virtual character generation from image or video data
US10940393B2 (en) 2019-07-02 2021-03-09 Electronic Arts Inc. Customized models for imitating player gameplay in a video game
US11110353B2 (en) 2019-07-10 2021-09-07 Electronic Arts Inc. Distributed training for machine learning of AI controlled virtual entities on video game clients

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120052228A (ko) * 2009-07-13 2012-05-23 마이크로소프트 코포레이션 사용자로부터 학습된 입력을 통해 비주얼 형상을 활성화하는 방법
KR20140033088A (ko) * 2011-06-06 2014-03-17 마이크로소프트 코포레이션 플레이어의 모습을 반영한 아바타의 생성 기법
KR20160115959A (ko) * 2014-01-28 2016-10-06 지멘스 헬스케어 게엠베하 파라미터화된 변형가능 메시를 이용하여 개인화된 아바타들을 구성하기 위한 방법 및 시스템
KR20160145732A (ko) * 2014-04-17 2016-12-20 이베이 인크. 패션 선호도 분석 기법

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220113248A (ko) * 2021-02-05 2022-08-12 옥재윤 인공지능 기반 가상현실 서비스 시스템 및 방법
WO2022169289A3 (ko) * 2021-02-05 2022-10-06 옥재윤 인공지능 기반 가상현실 서비스 시스템 및 방법
KR20220122349A (ko) * 2021-02-26 2022-09-02 주식회사 야타브엔터 클라우드 기반 메타버스 콘텐츠 협업 시스템
KR20220124432A (ko) * 2021-03-03 2022-09-14 엔에이치엔클라우드 주식회사 2차원 이미지에 기초한 3차원 가상 의류 착용방법 및 그 시스템
KR20220144689A (ko) 2021-04-20 2022-10-27 주식회사 케이티 사람의 전신에 대한 3d 모델을 생성하는 서버, 방법 및 컴퓨터 프로그램
KR20230047583A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 가상현실 훈련 방법
KR20230047588A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 돌발 상황 대응을 위한 가상현실 훈련 방법
KR20230047599A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 화학테러 대응을 위한 가상현실 훈련 방법
KR20230047593A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 화학테러 대응을 위한 가상현실 훈련 시스템
KR20230047586A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 돌발 상황 대응을 위한 가상현실 훈련 시스템
KR20230047579A (ko) * 2021-10-01 2023-04-10 대한민국(환경부 화학물질안전원장) 가상현실 훈련 시스템
KR20230076004A (ko) 2021-11-23 2023-05-31 주식회사 엘지유플러스 메타버스 제공 방법 및 장치
WO2023114147A1 (en) * 2021-12-13 2023-06-22 Board Of Regents, The University Of Texas System Controlling multicomputer interaction with deep learning and artificial intelligence
KR20230103666A (ko) * 2021-12-31 2023-07-07 주식회사 마블러스 통신 시스템에서 행동 및 성격에 대한 학습을 통해 사용자와 음성으로 대화를 수행할 수 있는 메타버스 가상 현실 반려 동물을 제공하기 위한 방법 및 장치
KR102550973B1 (ko) * 2022-01-18 2023-07-05 (주)에스프레소미디어 Ai 딥러닝을 활용한 개인 밀착형 메타버스 캐릭터 생성 시스템 및 그 방법
KR102479195B1 (ko) * 2022-03-15 2022-12-21 (주)포위즈시스템 Nft 기반 디지털아트 자가생성 장치 및 방법
WO2023214826A1 (ko) * 2022-05-05 2023-11-09 유한회사 닥터다비드 집단 지성을 이용한 정보 처리 시스템 및 그 방법

Also Published As

Publication number Publication date
US11406899B2 (en) 2022-08-09
US20210275925A1 (en) 2021-09-09
KR102296906B1 (ko) 2021-09-01
US20200306640A1 (en) 2020-10-01
CN111744200A (zh) 2020-10-09
US10953334B2 (en) 2021-03-23

Similar Documents

Publication Publication Date Title
KR102296906B1 (ko) 이미지 또는 비디오 데이터로부터의 가상 캐릭터 생성
US11276216B2 (en) Virtual animal character generation from image or video data
US11656680B2 (en) Technique for controlling virtual image generation system using emotional states of user
CN102470273B (zh) 基于玩家表情的视觉表示表情
KR101700468B1 (ko) 사용자로부터 학습된 입력을 통해 비주얼 표현을 활성화하는 방법
US11679334B2 (en) Dynamic gameplay session content generation system
CN113924601A (zh) 用于使人体的单个图像成动画并应用效果的娱乐性移动应用程序
US20220270324A1 (en) Systems and methods for generating a model of a character from one or more images
US11816772B2 (en) System for customizing in-game character animations by players
CN113766168A (zh) 一种互动处理方法、装置、终端及介质
KR20240076807A (ko) 3d 상부 의복 추적
CN113826147A (zh) 动画角色的改进
US20220327755A1 (en) Artificial intelligence for capturing facial expressions and generating mesh data
EP4023310A1 (en) Program, method, and terminal device
US20080303830A1 (en) Automatic feature mapping in inheritance based avatar generation
CN113763568A (zh) 增强现实的显示处理方法、装置、设备及存储介质
JP7364702B2 (ja) テクスチャ操作を使用するアニメーション化された顔
WO2019201822A1 (en) Tangible mobile game programming environment for non-specialists
CN116982088A (zh) 贴合底层身体和/或服装层的分层服装
US20240087266A1 (en) Deforming real-world object using image warping
TWI814318B (zh) 用於使用模擬角色訓練模型以用於將遊戲角色之臉部表情製成動畫之方法以及用於使用三維(3d)影像擷取來產生遊戲角色之臉部表情之標籤值之方法
WO2023201937A1 (zh) 基于故事场景的人机互动方法、装置、设备及介质
US20240226750A1 (en) Avatar generation using an image of a person with modifier description
US20240221270A1 (en) Computer-implemented method for controlling a virtual avatar
WO2024058966A1 (en) Deforming real-world object using image warping

Legal Events

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