KR20240013638A - 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치 - Google Patents

인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치 Download PDF

Info

Publication number
KR20240013638A
KR20240013638A KR1020220181232A KR20220181232A KR20240013638A KR 20240013638 A KR20240013638 A KR 20240013638A KR 1020220181232 A KR1020220181232 A KR 1020220181232A KR 20220181232 A KR20220181232 A KR 20220181232A KR 20240013638 A KR20240013638 A KR 20240013638A
Authority
KR
South Korea
Prior art keywords
image
motion
artificial intelligence
feature vector
similarity
Prior art date
Application number
KR1020220181232A
Other languages
English (en)
Inventor
유수연
최정원
Original Assignee
주식회사 네이션에이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 네이션에이 filed Critical 주식회사 네이션에이
Priority to PCT/KR2023/013842 priority Critical patent/WO2024136012A1/ko
Publication of KR20240013638A publication Critical patent/KR20240013638A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • 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/044Recurrent networks, e.g. Hopfield 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/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/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/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치가 제공된다. 본 발명의 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법은 컴퓨팅 장치에 의해 수행되고, 소스 영상 및 타겟 영상이 입력되는 단계, 상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 단계, 상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 단계를 포함하고, 상기 제1 객체 및 상기 제2 객체는 3차원 메쉬 객체이고, 상기 동작 유사도가 산출되는 단계는 메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출될 수 있다.
본 발명에 따른 동작 유사도 산출 방법에 의하면, 3차원 메쉬 모델을 이용하여 객체의 포즈 및 동작을 상호 비교함으로써, 객체의 신체적 특성까지 고려하여 더욱 정확하게 동작 유사도를 산출할 수 있다. 또한, 메트릭 러닝 기반으로 기계학습된 인공지능 모델을 이용함으로써, 학습되지 않은 포즈 및 동작에 대해서도 유사도 분석을 수행할 수 있다.

Description

인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치{METHOD AND APPARATUS FOR CALCULATING POSE SIMILARITY OF OBJECT BASED ON ARTIFICIAL INTELLIGENCE}
본 발명은 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치에 관한 것이다. 보다 자세하게는, 3차원 메쉬 객체를 기반으로 객체 간 동작 유사도를 산출하는 방법 및 장치에 관한 것이다.
메타버스 시장의 성장과 함께 핵심 요소인 3D(3-Dimensional, 3차원) 영상 생성 기술에 대한 수요가 그와 동반하여 급증하고 있다. 국내외 기업들은 차세대 성장 동력으로 현실세계를 가상세계에 재현하는 메타버스에 주목하고 있으며, 메타버스의 핵심기술인 현실세계를 3D로 전환하여 가상세계에 표현하는 3D 이미징 기술에 대한 관심 또한 크게 증가하고 있다.
과거 3D 이미징 기술은 주로 게임 분야에 활용 되었으나, 최근에는 전 산업 영역으로 확장 적용되는 추세로, AR/VR, 영화, 애니메이션, 방송 등 다양한 컨텐츠 산업으로 그 적용 범위를 넓히고 있다.
그러나, 3D 이미징 기술에 대한 관심이 높은 것에 비해, 그 기술적 완성도는 부족한 상황이다. 가령, AI 휴먼을 생성하는 업체들의 경우 CG생성 방식 혹은 Deep Fake 생성 방식으로 가상 얼굴을 생성하는 것에만 기술 개발이 집중되어 있으며, 모션을 인식하여 이를 자연스러운 동작으로 재현하는 모션 재현에 대한 기술 개발은 부족한 상황이다.
또한, 3D 이미징 기술이 전 산업 영역에 확산 적용됨에 따라 3D 저작 도구 시장 또한 지속 성장하고 있으나, 현재의 3D 이미징 저작 도구들은 정적 객체(건축, 인테리어, 설비 등) 제작에만 초점이 맞춰져 있으며 움직이는 동적 객체를 3D로 전환하여 3차원 공간에 표현하는 기술에 대한 연구 및 개발은 부족한 실정이다.
대한민국 등록특허공보 제10-1327321호 (2013.11.11 공고)
본 발명의 실시예들을 통해 해결하고자 하는 기술적 과제는, 3차원 메쉬 모델을 이용하여 객체의 포즈 및 동작을 상호 비교함으로써, 객체의 신체적 특성까지 고려하여 더욱 정확하게 동작 유사도를 산출할 수 있는, 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치를 제공하는 것이다.
본 발명의 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 메트릭 러닝 기반으로 기계학습된 인공지능 모델을 이용함으로써, 학습되지 않은 포즈 및 동작에 대해서도 유사도 분석을 수행할 수 있는, 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 인공지능 기반의 객체의 동작 유사도 산출 방법은 컴퓨팅 장치에 의해 수행되고, 소스 영상 및 타겟 영상이 입력되는 단계, 상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 단계, 상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여, 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 단계를 포함하고, 상기 제1 객체 및 상기 제2 객체는 3차원 메쉬 객체이고, 상기 동작 유사도가 산출되는 단계는 메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 단계일 수 있다.
일 실시예로서, 상기 제1 객체는 상기 소스 영상 내 객체를 기초로 상기 객체의 볼륨을 추론하여 생성된 3차원 메쉬 객체일 수 있다.
일 실시예로서, 상기 추출되는 단계는 SMPL(Skinned Multi-Person Linear) 모델을 이용하여, 상기 제1 객체 및 상기 제2 객체로부터 상기 제1 특징 벡터 및 상기 제2 특징 벡터가 추출될 수 있다.
일 실시예로서, 상기 제1 특징 벡터는 상기 제1 객체를 구성하는 복수의 메쉬를 각각 나타내는 메쉬 벡터, 및 상기 메쉬 벡터의 변화 추이를 나타내는 추이 벡터를 포함할 수 있다.
일 실시예로서, 상기 동작 유사도는 상기 제1 특징 벡터와 상기 제2 특징 벡터의 거리가 가까울수록 높게 산출될 수 있다.
일 실시예로서, 상기 동작 유사도에 기초하여 상기 타겟 영상을 상기 소스 영상의 유사 영상 검색 결과로서 제공하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 검색 결과로서 제공하는 단계는 상기 타겟 영상을 포함하는 복수의 타겟 영상을 각각의 동작 유사도에 기초하여 리스팅(listing)할 수 있다.
일 실시예로서, 상기 검색 결과로서 제공된 상기 타겟 영상에 대한 사용자 선택을 기초로, 상기 제1 객체에 상기 제2 객체의 3차원 모션 데이터를 병합하여, 상기 제1 객체가 상기 3차원 모션 데이터에 따라 움직이는 모션 영상을 생성하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 동작 유사도에 기초하여 상기 소스 영상과 상기 타겟 영상 간 유사도 점수를 출력하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 인공지능 기반의 객체의 동작 유사도 산출 장치는 프로세서, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은 소스 영상 및 타겟 영상이 입력되는 동작, 상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 동작, 상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 동작을 실행하기 위한 인스트럭션들(instructions)을 포함하고, 상기 제1 객체 및 상기 제2 객체는 3차원 메쉬 객체이고, 상기 동작 유사도가 산출되는 동작은 메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 동작일 수 있다.
도 1은 본 발명의 일 실시예에 따른, 인공지능 기반의 3차원 모션 영상 생성 장치를 나타내는 도면이다.
도 2는 도 1의 3차원 모션 영상 생성 장치를 예시적인 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 인공지능 기반의 3차원 모션 영상 생성 방법을 나타내는 순서도이다.
도 4는 도 3의 S120 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 5는 제1 인공지능 모듈(110)의 상세 구성을 예시적으로 나타내는 블록도이다.
도 6은 제2 인공지능 모듈(120)의 상세 구성을 예시적으로 나타내는 블록도이다.
도 7은 도 3의 S130 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 8은 도 7의 S131 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다.
도 9는 도 3의 S130 단계를 구체화한 다른 일 실시예를 나타내는 순서도이다.
도 10은 본 발명의 일 실시예에 따른, 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 장치의 예시적인 구성을 나타내는 도면이다.
도 11은 본 발명의 일 실시예에 따른, 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 방법을 나타내는 순서도이다.
도 12는 도 11의 S210 단계를 부연설명하기 위한 도면이다.
도 13은 도 11의 S220 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 14는 도 13의 실시예를 부연설명하기 위한 도면이다.
도 15는 제3 인공지능 모듈의 학습 방법을 예시적으로 나타내는 순서도이다.
도 16은 도 15의 실시예를 부연설명하기 위한 도면이다.
도 17은 제4 인공지능 모듈의 학습 방법을 예시적으로 나타내는 순서도이다.
도 18은 도 17의 실시예를 부연설명하기 위한 도면이다.
도 19는 본 발명의 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 장치의 예시적인 구성을 나타내는 도면이다.
도 20은 본 발명의 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다.
도 21 및 도 22는 객체의 동작 유사도 비교에 있어서, 3차원 메쉬 모델을 이용하는 경우의 특징을 설명하기 위한 도면들이다.
도 23 및 도 24는 도 20의 S520 단계를 부연설명하기 위한 도면들이다.
도 25 및 도 26은 도 20의 S530 단계를 부연설명하기 위한 도면들이다.
도 27은 본 발명의 다른 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다.
도 28은 도 27의 S540 단계를 부연설명하기 위한 도면이다.
도 29는 본 발명의 또 다른 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다.
도 30은 본 발명의 일 실시예에 따른, 모션 영상 생성 장치의 예시적인 구성을 나타내는 도면이다.
도 31은 본 발명의 일 실시예에 따른, 문장으로부터 모션 영상을 생성하는 방법을 나타내는 순서도이다.
도 32는 도 31의 S620 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 33은 도 32의 실시예를 부연설명하기 위한 도면이다.
도 34는 도 31의 S630 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 35는 도 34의 실시예를 부연설명하기 위한 도면이다.
도 36은 도 34의 S631 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 37은 도 36의 실시예를 부연설명하기 위한 도면이다.
도 38은 도 31의 S640 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 39 및 도 40은 도 38의 실시예를 부연설명하기 위한 도면들이다.
도 41은 도 38의 S642 단계를 구체화한 일 실시예를 나타내는 순서도이다.
도 42는 도 41의 실시예를 부연설명하기 위한 도면이다.
도 43은 본 발명의 다양한 실시예들이 구현되는 컴퓨팅 장치(500)의 예시적인 하드웨어 구성을 나타내는 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
2차원 영상을 이용한 3차원 모션 영상 생성
본 실시예에서는 2차원 영상 내 객체의 움직임을 분석하여, 2차원 객체의 움직임을 3차원 객체의 모션 영상으로 구현해내는 방법을 제안한다.
도 1은 본 발명의 일 실시예에 따른, 인공지능 기반의 3차원 모션 영상 생성 장치를 나타내는 도면이다.
도 1에서 3차원 모션 영상 생성 장치(100)는 카메라 등이 포함된 사용자 단말(10)을 통해 2차원 영상을 수신하고, 이를 기초로 2차원 영상 내 2차원 객체(11)의 움직임이 모사된 3차원 모션 영상(20)을 생성한다. 3차원 모션 영상(20)에는 2차원 객체(11)의 움직임을 모사한 3차원 메쉬(mesh) 객체(21)의 움직임이 표현되며, 상기 3차원 메쉬 객체(21)는 2차원 객체(11)의 형상을 본 따 만들어진 객체일 수도 있고, 특정 캐릭터를 형상화 한 미리 저장된 객체일 수도 있다.
일 실시예로서, 사용자 단말(10)은 네트워크(미도시)를 통해 3차원 모션 영상 생성 장치(100)와 상호 통신이 가능하도록 구성될 수 있다. 상기 네트워크는 설치 환경에 따라, 예를 들어, 이더넷(Ethernet), 유선 홈 네트워크(Power Line Communication), 전화선 통신 장치 및 RS-serial 통신 등의 유선 네트워크, 이동통신망, WLAN(Wireless LAN), Wi-Fi, Bluetooth 및 ZigBee 등과 같은 무선 네트워크 또는 그 조합으로 구성될 수 있다.
사용자 단말(10)은 네트워크와 통신 가능한 컴퓨팅 장치로서, 2차원 영상을 촬영, 편집, 또는 전송하기 위한 하드웨어 또는 애플리케이션을 구비할 수 있다. 예를 들어, 사용자 단말(10)은, 카메라, 스마트폰, 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스, 및/또는 셋톱 박스 등을 포함할 수 있다.
도 2는 도 1의 3차원 모션 영상 생성 장치를 예시적인 구성을 나타내는 블록도이다. 도 2를 참조하면, 3차원 모션 영상 생성 장치(100)는 제1 인공지능 모듈(110), 제2 인공지능 모듈(120), 및 3차원 모션 영상 생성 모듈(130)을 포함할 수 있다.
제1 인공지능 모듈(110)은 2차원 영상 내 객체의 움직임을 추출, 분석하여 이를 모사한 3차원 모션 데이터를 생성하는 모듈로서, 3차원 모션 데이터 생성 모듈일 수 있다. 제1 인공지능 모듈(110)은 다수의 학습 데이터를 기초로 기계학습된 하나 이상의 인공신경망을 포함하는 모듈로서, 컨볼루션 신경망(Convolutional Neural Network, 또는 CNN) 기반의 인공신경망을 포함할 수 있다.
제2 인공지능 모듈(120)은 2차원 영상 내 객체의 형상을 추출, 분석하여 객체의 질감 및 볼륨을 추정한 3차원 메쉬 객체를 생성하는 모듈로서, 3차원 메쉬 객체 생성 모듈일 수 있다. 제2 인공지능 모듈(120)은 다수의 학습 데이터를 기초로 기계학습된 하나 이상의 인공신경망을 포함하는 모듈로서, 컨볼루션 신경망 기반의 인공신경망을 포함할 수 있다.
3차원 모션 영상 생성 모듈(130)은 제1 인공지능 모듈(110) 및 제2 인공지능 모듈(120)의 출력 결과를 기초로 3차원 모션 영상을 생성하는 모듈이다.
가령, 3차원 모션 영상 생성 모듈(130)은 제1 인공지능 모듈(110)이 생성한 3차원 모션 데이터를 제2 인공지능 모듈(120)이 생성한 3차원 메쉬 객체에 적용하여, 상기 3차원 메쉬 객체의 움직임이 표현된 3차원 모션 영상을 생성할 수 있다. 또는, 3차원 모션 영상 생성 모듈(130)은 제1 인공지능 모듈(110)이 생성한 3차원 모션 데이터를 미리 저장된 3차원 캐릭터 객체에 적용하여, 상기 3차원 캐릭터 객체의 움직임이 표현된 3차원 모션 영상을 생성할 수 있다.
일 실시예로서, 3차원 모션 영상 생성 모듈(130) 또한 컨볼루션 신경망 기반의 인공지능 모듈일 수 있다.
이하에서는, 3차원 모션 영상 생성 장치(100)의 구체적인 동작 및 그것에 의한 3차원 모션 영상 생성 방법에 대해, 다양한 실시예를 참조하여 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른, 인공지능 기반의 3차원 모션 영상 생성 방법을 나타내는 순서도이다. 도 3의 3차원 모션 영상 생성 방법은 도 1의 3차원 모션 영상 생성 장치(100)에 의해 수행될 수 있다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 3차원 모션 영상 생성 장치(100)인 것으로 가정한다.
S110 단계에서, 사용자 단말 등으로부터 2차원 영상이 획득된다. 일 실시예로서, 2차원 영상은 복수의 프레임으로 구성된 영상으로서, 객체 또는 피사체의 동작이나 움직임이 표현된 모션 영상(또는, 동영상)일 수 있다.
S120 단계에서, 기계학습 된 인공지능 모듈을 이용하여, 2차원 영상으로부터 객체를 식별하고, 식별된 객체의 움직임을 분석하여 객체의 3차원 모델링 데이터가 생성된다.
일 실시예로서, 상기 3차원 모델링 데이터는 상기 식별된 객체의 움직임이 표현된 3차원 모션 데이터 및 상기 식별된 객체의 형상 및 볼륨(volume)이 표현된 3차원 메쉬 데이터를 포함할 수 있다.
3차원 모델링 데이터의 생성은 기계학습된 하나 이상의 인공지능을 이용하여 수행될 수 있으며, 일 실시예로서, 3차원 모션 데이터의 생성 및 3차원 메쉬 데이터의 생성은 각각 다른 인공지능 모듈을 이용하여 수행될 수 있다.
가령, 2차원 영상에서 움직이는 객체의 동작을 3차원 모션으로 추출하도록, 다수의 학습 데이터를 이용하여 기계학습된 제1 인공지능 모듈이 미리 구비될 수 있다. 일 실시예로서, 제1 인공지능 모듈은 2차원 영상 내 객체로부터 객체의 관절을 추정하고, 추정된 관절의 위치를 기초로 2차원 영상 내 객체의 움직임을 3차원 움직임으로 추론하는 모듈일 수 있다.
2차원 영상이 제1 인공지능 모듈에 입력되면, 제1 인공지능 모듈은 입력된 2차원 영상으로부터 객체를 디텍팅(detecting)한 후 객체 세그멘테이션(object segmentation)을 통해, 객체에 해당하는 부분을 식별하고, 2차원 영상의 각 프레임에 대해 객체의 포즈(pose) 데이터를 추출한다. 포즈 데이터는 객체의 자세를 키 포인트와 선으로 표현한 데이터로서, 스켈레톤(skeleton) 데이터일 수 있다. 그리고, 제1 인공지능 모듈은 상기 각 프레임으로부터 추출된 포즈 데이터들을 시간 순서에 따라 병합하고, 그로써 연속된 움직임이 표현된 3차원 모션 데이터가 생성될 수 있다.
또한, 2차원 영상 내 객체의 형상을 3차원 메쉬 형태로 추출하도록, 다수의 학습 데이터를 이용하여 기계학습된 제2 인공지능 모듈이 미리 구비될 수 있다. 일 실시예로서, 제2 인공지능 모듈은 2차원 영상 내 객체의 부피, 너비 등을 기초로 객체의 깊이 및 볼륨을 추정하는 모듈일 수 있다.
2차원 영상이 제2 인공지능 모듈에 입력되면, 제2 인공지능 모듈은 입력된 2차원 영상으로부터 객체를 디텍팅(detecting)한 후 객체 세그멘테이션(object segmentation)을 통해, 객체에 해당하는 부분을 식별하고, 2차원 영상의 각 프레임에 대해 객체의 포즈 데이터를 추출한다. 그리고, 제2 인공지능 모듈은 상기 각 프레임으로부터 추출된 각도 별 포즈 데이터들을 모아서 병합하고, 병합한 결과를 기초로 객체의 볼륨 및 질감이 표현된 3차원 메쉬 데이터를 생성할 수 있다.
일 실시예로서, 3차원 메쉬 데이터의 생성은 3차원 볼륨 메트릭(3-Dimensional Volume Metric) 기반으로 수행될 수 있다. 3차원 볼륨 메트릭은 2차원 영상 내 객체가 처음에 위치한 곳을 기준점으로 설정한 후, 2차원 영상 내에서 객체가 다른 위치로 이동했을 때 해당 위치의 위치 정보를 파악함으로써 객체의 크기를 추정한 후, 이를 3차원 메쉬 형태로 볼륨을 생성한다.
S130 단계에서, 앞서 생성된 3차원 모델링 데이터를 이용하여 3차원 모션 영상이 생성된다.
3차원 모션 영상은 앞서 생성된 3차원 모션 데이터를 3차원 객체에 병합함으로써 3차원 객체가 3차원 모션 데이터에 따라 움직이도록 한, 3차원 객체의 모션이 표현된 영상이다.
이때, 상기 3차원 객체는 앞서 생성된 3차원 메쉬 데이터로 만들어진 3차원 메쉬 객체일 수도 있고, 미리 저장된 3차원 캐릭터 객체일 수도 있다.
가령, 상기 3차원 메쉬 객체는 2차원 영상의 객체의 형상을 기초로 만들어진 것이므로, 상기 3차원 메쉬 객체에 3차원 모션 데이터를 병합하면, 2차원 영상 내 객체의 형상을 모사한 3차원 객체가 2차원 영상 내 객체의 움직임을 재현하는 모션 영상이 생성될 수 있다.
또는, 상기 3차원 메쉬 객체 대신 유명인이나 가상의 캐릭터를 모사한 3차원 캐릭터 객체를 이용하는 경우, 상기 3차원 캐릭터 객체에 3차원 모션 데이터를 병합하면, 상기 3차원 캐릭터 객체가 2차원 영상 내 객체의 움직임을 재현하는 모션 영상이 생성될 수 있다.
도 4는 도 3의 S120 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 4의 실시예에서는, 각 단계가 순차적으로 수행되는 것으로 예시되었지만, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령, S122 단계 및 S124 단계는 서로 동시에 병행적으로 수행될 수도 있다.
S121 단계에서, 제1 인공지능 모듈을 이용하여, 2차원 영상으로부터 객체의 포즈 데이터가 추출된다.
S122 단계에서, 제1 인공지능 모듈을 이용하여, 상기 추출된 포즈 데이터를 기초로 2차원 영상 내 객체의 움직임을 나타내는 3차원 모션 데이터가 생성된다. 상기 3차원 모션 데이터는 상기 객체의 관절 부위에 대응되는 키 포인트 데이터를 포함할 수 있다.
이에 대한 부연설명을 위해 도 5를 참조한다.
도 5는 제1 인공지능 모듈(110)의 상세 구성을 예시적으로 나타내는 블록도이다. 도 5를 참조하면, 제1 인공지능 모듈(110)은 제1 서브 모듈(111) 및 제2 서브 모듈(112)을 포함할 수 있다.
제1 인공지능 모듈(110)은 2차원 영상을 입력받아, 2차원 영상 내 객체의 움직임을 나타내는 3차원 모션 데이터를 출력한다. 이때, 입력되는 2차원 영상은 객체의 움직임을 시계열적으로 나타내는 복수의 프레임을 포함할 수 있다.
제1 서브 모듈(111)은 2차원 영상의 각 프레임으로부터 상기 객체의 포즈 데이터를 추출하는 컨볼루션 신경망 모듈이다.
제2 서브 모듈(112)은 제1 서브 모듈(112)에 이전 프레임의 정보를 제공하는 순환 신경망(Recurrent Neural Network, 또는 RNN) 기반의 모듈이다.
2차원 영상의 복수의 프레임 중 n번째 프레임(31)이 제1 인공지능 모듈(110)에 입력되면, 제1 서브 모듈(111)은 상기 프레임(31)으로부터 객체를 디텍팅한 후 객체 세그멘테이션을 통해, 객체에 해당하는 부분을 식별하고, 식별된 객체로부터 포즈 데이터(32)를 추출한다.
앞서 언급한 바와 같이, 포즈 데이터(32)는 객체의 자세를 키 포인트(32a)와 선(32b)으로 표현한 데이터로서, 3차원 좌표(x, y, z)를 갖는 스켈레톤(skeleton) 데이터일 수 있다. 키 포인트(32a)는 상기 프레임(31) 내 객체를 분석하여 식별된, 객체의 관절을 나타내는 구성요소(component)이다. 선(32b)는 상기 프레임(31) 내 객체를 분석하여 식별된, 객체의 뼈대를 나타내는 구성요소이다. 선(32b)의 어느 한쪽 또는 양쪽 끝은 각각 키 포인트(32a)와 연결될 수 있다.
한편, 제1 서브 모듈(111)이 상기 프레임(31)으로부터 포즈 데이터(32)를 추출할 때, 제2 서브 모듈(112)이 제공하는 이전 프레임의 정보, 예를 들어 n-1번째 프레임의 정보(Fn-1)가 참조될 수 있다.
가령, 3차원 모션 데이터는 연속된 포즈 데이터를 연결한 결과물로 볼 수 있으므로, n번째 프레임의 포즈 데이터(32)가 전후 프레임의 포즈 데이터와 서로 정합되지 않으면, 생성되는 3차원 모션 데이터의 움직임이 부자연스럽게 될 것이다. 따라서, 3차원 모션 데이터의 움직임을 더욱 부드럽게 구현하기 위해, 제1 서브 모듈(111)은 n번째 프레임(31)의 포즈 데이터(32)를 추출할 때, 제2 서브 모듈(112)로부터 이전 프레임의 정보(Fn-1)를 제공받아 이를 참조할 수 있다.
다시 도 4로 돌아가서, S123 단계에서, 제2 인공지능 모듈을 이용하여, 2차원 영상으로부터 객체의 형상 정보가 추출된다.
S123 단계에서, 제2 인공지능 모듈을 이용하여, 상기 추출된 형상 정보를 기초로 상기 객체의 볼륨이 표현된 3차원 메쉬 객체가 생성된다.
이에 대한 부연설명을 위해 도 6을 참조한다.
도 6은 제2 인공지능 모듈(120)의 상세 구성을 예시적으로 나타내는 블록도이다. 도 6을 참조하면, 제2 인공지능 모듈(120)은 3차원 재구성 모듈(121) 및 메쉬 모델링 모듈(122)을 포함할 수 있다.
제2 인공지능 모듈(120)은 2차원 영상을 입력받아, 2차원 영상 내 객체의 볼륨 및 질감을 3차원 메쉬 객체를 출력한다. 이때, 입력되는 2차원 영상은 객체의 형상이 다양한 각도 및/또는 위치로 표현된 복수의 프레임을 포함할 수 있다.
3차원 재구성 모듈(121)은 2차원 영상으로부터 객체를 나타내는 키 포인트 및 선을 분석하고, 이를 기초로 객체의 형상 정보로서 3차원 포인트 클라우드를 생성한다.
메쉬 모델링 모듈(122)은 생성된 3차원 포인트 클라우드를 기초로, 3차원 메쉬 모델링(mesh modeling) 및 텍스쳐 매핑(texture mapping)을 수행하여 3차원 메쉬 객체를 생성한다.
2차원 영상(41)이 제2 인공지능 모듈(120)에 입력되면, 3차원 재구성 모듈(121)은 2차원 영상(41) 내 객체의 키 포인트를 트래킹(tracking)하여 키 포인트 기반의 3차원 형상 정보를 재구성한다. 그와 함께, 3차원 재구성 모듈(121)은 2차원 영상(41) 내 객체의 선을 디텍션(detection) 및 피팅(fitting)하여 선 기반의 3차원 형상 정보를 재구성한다. 3차원 재구성 모듈(121)의 3차원 형상 정보 재구성에는 미리 결정된 재구성 파라미터(reconstruction parameters)가 이용될 수 있다.
그리고, 3차원 재구성 모듈(121)은 키 포인트 및/또는 선 기반으로 재구성된 3차원 형상 정보를 이용하여 2차원 영상 내 객체의 3차원 형상을 추정한 3차원 포인트 클라우드(PC)를 생성한다. 생성된 3차원 포인트 클라우드(PC)는 메쉬 모델링 모듈(122)로 제공된다.
메쉬 모델링 모듈(122)은 3차원 포인트 클라우드(PC)를 기초로 3D 메쉬 모델링을 수행한다. 3D 메쉬 모델링을 수행한 결과는 3차원 객체의 볼륨을 나타내는 메쉬 정보(MI, mesh information)로서 출력된다. 메쉬 모델링 모듈(122)의 3차원 메쉬 모델링에는 미리 결정된 모델링 파라미터(modeling parameters)가 이용될 수 있다. 그와 함께, 메쉬 모델링 모듈(122)은 2차원 영상(41)의 컬러 영상을 기초로 텍스쳐 매핑을 수행한다. 텍스쳐 매핑을 수행한 결과는 3차원 객체의 질감을 나타내는 텍스쳐 정보(TI, texture information)로서 출력된다.
그리고, 메쉬 모델링 모듈(122)은 메쉬 정보(MI) 및 텍스쳐 정보(TI)를 이용하여 3차원 메쉬 데이터를 구성한 후, 이를 기초로 3차원 메쉬 객체(42)를 생성한다.
도 7은 도 3의 S130 단계를 더욱 구체화한 다른 일 실시예를 나타내는 순서도이다. 도 7에서는 S122 단계에서 생성된 3차원 모션 데이터를 미리 저장된 3차원 캐릭터 객체에 입히는 실시예가 설명된다.
S131 단계에서, 미리 저장된 3차원 캐릭터 객체에 3차원 모션 데이터를 병합하여, 3차원 캐릭터 객체의 움직임이 표현된 모션 영상이 생성된다.
한편, 3차원 모션 데이터는 입력된 2차원 영상을 기초로 만들어진 데이터이고, 3차원 캐릭터 객체는 상기 2차원 영상과 무관하게 미리 저장된 객체이므로, 3차원 모션 데이터와 3차원 캐릭터 객체 사이에 부조화가 발생할 수 있다. 상기 부조화를 해소하기 위해, 3차원 모션 데이터를 3차원 캐릭터 객체에 맞게 조정하는 리타게팅(re-targeting) 작업이 요구된다. 이에 대해 도 8을 참조하여 부연설명한다.
도 8은 도 7의 S131 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 8에서는 3차원 모션 데이터의 관절 위치를 3차원 캐릭터 객체의 관절 위치에 맞게 조정하는 리타게팅의 실시예가 설명된다.
S131a 단계에서, 3차원 모션 데이터의 키 포인트 데이터를 기초로, 3차원 모션 데이터의 관절 위치가 3차원 캐릭터 객체의 관절 위치와 정합된다. 여기서, 3차원 모션 데이터의 관절 위치가 3차원 캐릭터 객체의 관절 위치와 정합된다는 것은, 예를 들어, 3차원 모션 데이터의 관절 위치가 3차원 캐릭터 객체의 관절 위치와 일치하도록 3차원 모션 데이터의 관절 위치를 조정하는 것을 의미할 수 있다.
가령, 3차원 모션 데이터를 3차원 캐릭터 객체에 입힐 때, 3차원 모션 데이터의 기초가 된 2차원 객체의 신체 특성이 3차원 캐릭터 객체의 신체 특성과 다를 수 있다. 따라서, 객체 간 신체 특성 차이에서 오는 부조화를 제거하기 위해, 3차원 모션 데이터의 각 관절 위치(즉, 키 포인트)는 3차원 캐릭터 객체의 관절 위치(즉, 키 포인트)와 일치하도록 조정되게 된다.
이때, 3차원 모션 데이터의 선 또한, 3차원 모션 데이터의 조정된 키 포인트에 기초하여 함께 조정된다. 예를 들어, 오리지널 3차원 모션 데이터에서, 키 포인트 K1(1,1,1), K2(2,2,2), 및 키 포인트 K1과 K2 사이를 잇는 선 L1이 있었다고 가정하면, 리타게팅을 통해 상기 키 포인트 K1 및 K2가 각각 K1(1,2,2)와 K2(2,3,3)으로 조정되면, 상기 선 L1도 (1,2,2)와 (2,3,3)을 잇는 선으로 조정된다.
S131b 단계에서, 상기 정합된 3차원 모션 데이터의 관절 위치에 기초하여, 3차원 모션 데이터의 움직임을 모사하도록 3차원 캐릭터 객체의 움직임을 구현한다.
이를 위해, 3차원 모션 데이터의 조정된 관절 위치(즉, 키 포인트) 및 선에 기초하여, 3차원 모션 데이터의 움직임, 예를 들어, 각 키 포인트와 선의 위치, 이동 거리, 동작 범위 등이 조정될 수 있다. 그리고, 상기 조정된 3차원 모션 데이터의 움직임을 3차원 캐릭터 객체에 병합하여, 상기 3차원 캐릭터 객체의 움직임이 구현된다.
상기 구현된 3차원 캐릭터 객체의 움직임은 3차원 모션 영상으로서 출력, 저장될 수 있다.
도 9는 도 3의 S130 단계를 더욱 구체화한 일 실시예를 나타내는 순서도이다. 도 9에서는 S122 단계에서 생성된 3차원 모션 데이터를 S124 단계에서 생성된 3차원 메쉬 객체에 입히는 실시예가 설명된다.
S132 단계에서, 앞서 생성된 3차원 메쉬 객체에 3차원 모션 데이터를 병합하여, 3차원 메쉬 객체의 움직임이 표현된 모션 영상이 생성된다.
상기 3차원 메쉬 객체는 원본 2차원 영상으로부터 추출된 3차원 객체로서, 3차원 메쉬 객체에 3차원 모션 데이터를 병합하면, 2차원 영상에 등장하는 객체의 외형이 그대로 반영된 3차원 객체를 가지고 3차원 모션 영상을 생성할 수 있게 된다.
3차원 메쉬 객체 및 3차원 모션 데이터는 동일한 2차원 객체로부터 생성된 것이므로, 3차원 메쉬 객체의 관절 위치와 3차원 모션 데이터의 관절 위치는 서로 일치할 것이다. 따라서, 본 실시예에서는 리타게팅 작업이 생략될 수 있다.
이상에서 설명한 본 발명의 실시예들에 따르면, 인공지능 기반으로 2차원 영상으로부터 객체의 동작을 추출하여 이를 3차원 모션 영상으로 구현할 수 있다.
또한, 인공지능 기반으로 객체의 2차원 영상을 이용하여 상기 객체의 3차원 메쉬 데이터를 생성할 수 있다.
전체 신체(Whole Body) 추론에 기초한 객체 영상 생성
본 실시예에서는 영상 내에서 객체의 신체 일부가 가려지거나 잘린 경우에도, 인공지능을 기반으로 객체의 전체 신체를 추론함으로써 상기 가려지거나 잘린 신체 일부를 자동 복원하여 객체 영상으로 생성해내는 방법을 제안한다.
일반적으로, 가려지거나 잘린 영상의 일부를 복원하는 기술은 복원할 부분이 영상 내부에 있는 경우 인페인팅(in-painting) 기술, 영상의 바깥에 있는 경우 아웃페인팅(out-painting) 기술이라고 지칭한다. 인페인팅 기술에서는 복원할 부분의 주변 픽셀들을 참조하여 복원할 부분을 채워 넣는데, 이 경우, 영상 내 객체 부분과 배경 부분을 구분하는 것이 어려운 부분이었다.
이러한 문제를 효과적으로 해결하기 위해 객체의 시멘틱(semantic) 정보를 컨디션 정보로서 활용하였는데, 종래의 영상 복원 기술에서는 2D segmentation mask나 2D key point와 같은 시멘틱 정보를 컨디션 정보로 입력하였다. 그러나, 2D segmentation mask의 경우 객체를 구성하는 각 부분의 구분이 어려워 영상을 상세하게 복원하기 어려웠고, 2D Key point의 경우 객체의 볼륨을 예측하기 어렵고 객체와 배경의 구분이 불명확해지는 문제가 있어, 결과적으로 복원되는 영상의 품질이 낮아지는 문제점이 있었다.
이에, 본 실시예에서는 더욱 많은 정보를 내포한 3D 정보를 기반으로 영상을 복원함으로써, 더욱 상세하고 사실적인 영상 복원이 가능한 방법을 제안하고자 한다.
한편, 현재 널리 사용되는 인공지능 기반 영상 분석 기술은 2차원 데이터에 최적화 된 경우가 많다. 따라서, 본 실시예에서는 3차원 메쉬 모델과 같은 3차원 정보를 그대로 이용하지 않고, 3차원 정보를 담고 있는 2차원 데이터인 UV 맵을 이용하여 영상 복원을 수행한다. 이를 통해, 현재 사용되고 있는 다양한 인공지능 모델 설계 기술들을 활용할 수 있으면서 고품질의 사실적인 영상을 복원하는 방법을 제안하고자 한다.
도 10은 본 발명의 일 실시예에 따른, 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 장치의 예시적인 구성을 나타내는 도면이다. 도 10을 참조하면, 객체 영상 생성 장치(200)는 제1 인공지능 모듈(210), 제2 인공지능 모듈(220), 3차원 모션 영상 생성 모듈(230), 제3 인공지능 모듈(240), 제4 인공지능 모듈(250), 및 학습 데이터 생성 모듈(260)을 포함할 수 있다.
객체 영상 생성 장치(200)는 도 2의 3차원 모션 영상 생성 장치(100)와 일부 구성이 동일할 수 있다. 예를 들어, 제1 인공지능 모듈(210), 제2 인공지능 모듈(220), 및 3차원 모션 영상 생성 모듈(230)은 각각 도 2의 제1 인공지능 모듈(110), 제2 인공지능 모듈(120), 및 3차원 모션 영상 생성 모듈(130)과 동일한 구성일 수 있다. 따라서, 설명의 중복을 피하기 위해, 본 실시예에서 제1 인공지능 모듈(210), 제2 인공지능 모듈(220), 및 3차원 모션 영상 생성 모듈(230)에 대한 구체적인 설명은 생략하기로 한다.
제3 인공지능 모듈(240)은 UV 맵 생성 모듈로서 객체의 신체 일부가 잘리거나, 가려지거나, 폐색된 객체 영상에 대해, CNN기반의 인공 신경망을 이용하여 상기 객체 영상에 대응되는 UV 맵을 생성한다. UV 맵의 구체적인 정의 및 구성은 당해 기술이 속한 영상 처리 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 구체적인 설명을 생략한다.
제4 인공지능 모듈(250)은 CNN기반의 인공 신경망을 이용하여 상기 객체 영상과 UV 맵으로부터, 상기 신체 일부가 복원된 객체 영상을 생성한다. 일 실시예로서, 상기 신체 일부가 복원된 객체 영상은 객체의 전체 신체(whole body)가 표시된 영상일 수 있다.
학습 데이터 생성 모듈(260)은 제3 인공지능 모듈(240) 및/또는 제4 인공지능 모듈(250)의 기계학습에 이용되는 학습 데이터를 생성한다.
제3 인공지능 모듈(240), 제4 인공지능 모듈(250), 및 학습 데이터 생성 모듈(260)의 구체적인 기능 및/또는 학습 방법에 대해서는 도 11 이하를 참조하여 더욱 상세히 설명하기로 한다.
도 11은 본 발명의 일 실시예에 따른, 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 방법을 나타내는 순서도이다. 도 11의 객체 영상 생성 방법은 도 10의 객체 영상 생성 장치(200)에 의해 수행될 수 있다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 객체 영상 생성 장치(200)인 것으로 가정한다.
S210 단계에서, 제1 객체 영상, 및 제1 객체 영상에 대응되는 UV 맵(UV map)이 획득된다. 이때, 제1 객체 영상은 객체의 신체 일부가 잘리거나(cropped), 가려지거나(hidden), 폐색된(blocked) 영상일 수 있다.
UV 맵은 제3 인공지능 모듈(240)에 의해 획득될 수 있다. 이에 대한 부연설명을 위해 도 12를 참조한다.
도 12에서, 제3 인공지능 모듈(240)은 객체의 신체 일부가 유실된(가령, 객체의 신체 일부가 잘리거나, 가려지거나, 폐색된) 영상이 입력될 때 해당 객체의 전체 신체에 대응되는 UV 맵을 출력하도록 기계학습된 인공지능 모듈로서, 컨볼루션 인공신경망 기반의 인공지능 모듈일 수 있다.
가령, 도 12에 도시된 것처럼, 객체의 한쪽 팔이 잘린 제1 객체 영상(41)이 제3 인공지능 모듈(240)에 입력되면, 제3 인공지능 모듈(240)은 내부의 기계학습된 인공신경망을 이용하여 객체의 전체 신체에 대응되는 UV 맵(42)을 출력한다. 한편, 제3 인공지능 모듈(240)의 기계학습 방법에 대해서는 도 15 이하에서 후술하기로 한다.
다시 도 11로 돌아가서, S220 단계에서, 제1 객체 영상 및 UV 맵에 기초하여 객체의 신체 일부가 복원된 제2 객체 영상이 생성된다. 제2 객체 영상은 제4 인공지능 모듈(250)에 의해 생성될 수 있다. 이에 대한 부연설명을 위해 도 13을 참조한다.
도 13은 도 11의 S220 단계를 구체화한 일 실시예를 나타내는 순서도이다.
S221 단계에서, 제4 인공지능 모듈을 이용하여 제1 객체 영상에 대응되는 전경 영상(foreground image) 및 배경 영상(background image)이 각각 생성된다. 여기서, 전경 영상은 객체가 표시된 영상을 의미하고, 배경 영상은 상기 객체의 배경이 표시된 영상을 의미할 수 있다.
S222 단계에서, 앞서 생성된 전경 영상 및 배경 영상을 합성하여 객체의 신체 일부가 복원된 제2 객체 영상이 생성된다. 이에 대한 상세한 설명을 위해, 도 14를 참조한다.
도 14를 참조하면, 제4 인공지능 모듈(250)의 구체적인 구성이 도시된다. 제4 인공지능 모듈(250)은 인코더(251), 전경 생성기(252), 배경 생성기(253), 및/또는 합성기(254)를 포함할 수 있다. 다만, 이는 제4 인공지능 모듈(250)의 예시적인 구성을 도시한 것으로, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령, 제4 인공지능 모듈(250)은 도 14에 도시된 인코더(251), 전경 생성기(252), 배경 생성기(253), 및/또는 합성기(254) 외에 다른 구성들을 더 포함할 수 있다.
인코더(251)는 제1 객체 영상(41) 및 UV 맵(42)을 입력받고, 그에 기초하여 특징 벡터(feature vector, v)를 추출한다.
전경 생성기(252)는 특징 벡터(v)의 제1 부분(v1)을 이용하여 제1 객체 영상(41)에 대응되는 전경 영상(43)을 생성한다.
배경 생성기(253)는 특징 벡터(v)의 제2 부분(v2)을 이용하여 제1 객체 영상(41)에 대응되는 배경 영상(44)을 생성한다. 일 실시예로서, 상기 제1 부분(v1)은 특징 벡터(v)의 절반이고, 상기 제2 부분(v2)은 특징 벡터(v)의 다른 절반일 수 있다.
합성기(254)는 생성된 전경 영상(43) 및 배경 영상(44)을 합성(또는, 블렌딩)하여 객체의 신체 일부가 복원된 제2 객체 영상(45)을 생성한다.
일 실시예로서, 상기 인코더, 상기 전경 생성기, 및 상기 배경 생성기는 컨볼루션 신경망을 포함한 구성으로서, 각각 객체 영상 및 UV 맵을 기초로 특징 벡터를 추출하고, 특징 벡터의 제1 부분을 이용하여 전경 영상을 생성하고, 특징 벡터의 제2 부분을 이용하여 배경 영상을 생성하도록 기계학습된 구성일 수 있다.
이상에서 설명한 구성들에 의하면, 제4 인공지능 모듈(250)에 제1 객체 영상(41) 및 UV 맵(42)이 입력될 때, 제4 인공지능 모듈(250)은 내부의 기계학습된 인공신경망을 이용하여 제1 객체 영상(41)에 대응되는 전경 영상(43), 및 배경 영상(44)을 생성하고, 생성된 전경 영상(43) 및 배경 영상(44)을 합성(blending)하여 객체의 잘린 신체 일부가 복원된 제2 객체 영상(45)을 생성하게 된다.
일 실시예로서, 제4 인공지능 모듈(250)은 적대적 생성 네트워크(Generative Adversarial Network) 모델을 기반으로 기계학습된 모듈일 수 있다. 제4 인공지능 모듈(250)의 기계학습 방법에 대해서는 도 17 이하에서 후술하기로 한다.
도 15는 제3 인공지능 모듈의 학습 방법을 예시적으로 나타내는 순서도이다. 이에 대해, 도 15와 도 16을 함께 참조하며 설명한다.
먼저, S310 단계에서, 2차원 객체 영상에 대응되는 3차원 메쉬 객체를 변환하여 상기 2차원 객체 영상에 대응되는 제1 UV 맵이 생성된다.
도 16을 참조하면, 객체의 전체 신체가 포함된 원본 영상인 2차원 객체 영상(51)가 도시된다. 2차원 객체 영상(51)은 제2 인공지능 모듈(220)로 입력되고, 제2 인공지능 모듈(220)은 그로부터 2차원 객체 영상(51)에 대응되는 3차원 메쉬 객체(52)를 출력한다. 제2 인공지능 모듈(220)은 2차원 영상 내 객체의 형상을 추출, 분석하여 객체의 질감 및 볼륨을 추정한 3차원 메쉬 객체를 생성하는 기계학습된 인공지능 모듈로서, 제2 인공지능 모듈(220)의 구체적인 기능 및 동작에 대해서는 앞에서 상세히 설명된 바 여기서는 그에 대한 설명을 생략한다.
그리고, 3차원 메쉬 객체(52)를 변환하여 원본 영상인 2차원 객체 영상(51)에 대응되는 제1 UV 맵(53)이 생성된다. 통상, 3차원 메쉬 객체를 변환하여 그에 상응하는 UV 맵을 생성하는 것은 소정의 수학적 변환을 통해 쉽게 수행될 수 있으며 그 방법 또한 당해 기술 분야에 널리 알려져 있다. 따라서, 여기서는 3차원 메쉬 객체를 UV 맵으로 변환하는 구체적인 방법에 대한 설명을 생략하기로 한다. 일 실시예로서, 제1 UV 맵(53)은 제3 인공지능 모듈(240)의 추론 결과를 평가하기 위한 의사 정답지(Pseudo Ground Truth)로서 이용될 수 있다.
S320 단계에서, 2차원 객체 영상에 기초하여 복수의 학습 데이터가 획득된다. 상기 복수의 학습 데이터의 생성은 학습 데이터 생성 모듈(260)을 이용하여 수행될 수 있다.
구체적으로, 2차원 객체 영상(51)의 일부 영역을 랜덤하게 자르거나(crop), 가리거나(hide), 폐색시키고(block), 상기 자르거나, 가리거나, 폐색된 부분을 랜덤 노이즈로 채우는 방식으로 복수의 학습 데이터(54)가 획득될 수 있다.
S330 단계에서, 복수의 학습 데이터가 제3 인공지능 모듈에 제공되어 제3 인공지능 모듈에 의해 학습 데이터에 대응되는 제2 UV 맵이 출력된다.
제3 인공지능 모듈(240)은 객체의 신체 일부가 잘리거나, 가려지거나, 폐색된 이미지를 입력으로 받아, 객체의 전체 신체에 대응되는 UV 맵을 추론, 출력하도록 설계된 컨볼루션 신경망 기반 인공지능 모듈이다.
제3 인공지능 모듈(240)에 복수의 학습 데이터(54)가 입력되면, 제3 인공지능 모듈(240)는 내부의 인공신경망의 동작에 의해 복수의 학습 데이터(54)에 대응되는 제2 UV 맵(55)을 출력한다.
S340 단계에서, 제1 UV 맵과 제2 UV 맵을 비교한 결과에 기초하여, 제3 인공지능 모듈의 파라미터(parameter)가 업데이트된다.
일 실시예로서, 소정의 손실 함수를 통해 제1 UV 맵(53)과 제2 UV 맵(55) 간 차이를 계산하여 MSE 손실(Loss)이 산출되고, 상기 MSE 손실에 기초하여 제3 인공지능 모듈(240)의 파라미터가 업데이트될 수 있다.
한편, S310 단계 내지 S340 단계는, 제3 인공지능 모듈(240)이 충분히 학습될 때까지, 또는 미리 결정된 횟수만큼 반복될 수 있다.
도 17은 제4 인공지능 모듈의 학습 방법을 예시적으로 나타내는 순서도이다. 이에 대해, 도 17과 도 18을 함께 참조하며 설명한다.
먼저, S410 단계에서, 원본 영상을 이용하여 2차원 객체 영상이 생성된다.
2차원 객체 영상(62)은 원본 영상(61)의 일부 영역, 또는 신체 일부를 랜덤하게 자르거나, 가리거나, 폐색시킨 영상, 또는, 상기 자르거나, 가리거나, 폐색된 부분을 랜덤 노이즈로 대체한 영상일 수 있다. 일 실시예로서, 2차원 객체 영상의 생성은 학습 데이터 생성 모듈(260)을 이용하여 수행될 수 있다.
S420 단계에서, 2차원 객체 영상에 대응되는 UV 맵이 생성된다.
일 실시예로서, UV 맵(63)은 2차원 객체 영상(62)을 제3 인공지능 모듈(240)에 입력하여 생성되는, 제3 인공지능 모듈(240)의 출력일 수 있다.
S430 단계에서, 2차원 객체 영상 및 UV 맵을 기초로 제1 특징 벡터가 추출된다.
예를 들어, 2차원 객체 영상(62) 및 UV 맵(63)이 인코더(251)에 입력되면, 인코더(251)는 2차원 객체 영상(62) 및 UV 맵(63)을 기초로, 그에 대응되는 제1 특징 벡터(v)를 출력한다.
일 실시예로서, 2차원 객체 영상(62) 및 UV 맵(63)은 연관된(concatenated) 데이터로서, 인코더(251)에 입력될 수 있다.
S440 단계에서, 제1 특징 벡터의 제1 부분을 이용하여 2차원 객체 영상에 대응되는 제1 전경 영상이 생성된다.
예를 들어, 인코더(251)로부터 제1 특징 벡터(v)가 추출되면, 전경 생성기(252)는 제1 특징 벡터(v)의 제1 부분(v1)을 이용하여 객체의 신체 일부가 복원된 제1 전경 영상(64)을 생성한다.
S450 단계에서, 제1 특징 벡터의 제2 부분을 이용하여 2차원 객체 영상에 대응되는 제1 배경 영상이 생성된다.
예를 들어, 배경 생성기(253)는 제1 특징 벡터(v)의 제2 부분(v2)을 이용하여 객체의 배경이 표시된 제1 배경 영상(65)을 생성한다. 이때, 제2 부분(v2)은 제1 특징 벡ㅌ(v) 중 제1 부분(v1)을 제외한 나머지 부분일 수 있다.
S460 단계에서, 제1 전경 영상 및 제1 배경 영상을 기초로 합성 영상이 생성된다.
예를 들어, 합성기(254)는 제1 전경 영상(64)과 제1 배경 영상(65)을 합성(또는, 블렌딩)하여 합성 영상(66)을 생성할 수 있다.
S470 단계에서, 제1 전경 영상, 제1 배경 영상, 및/또는 합성 영상을 원본 영상과 비교한 결과에 기초하여 제4 인공지능 모듈의 파라미터가 업데이트 된다.
예를 들어, 제1 전경 영상(64)의 특징 벡터(vf)와 원본 영상(61)의 특징 벡터(vo) 간 차이를 계산하여 세그먼테이션 손실(Lseg)이 산출될 수 있다. 세그먼테이션 손실(Lseg)은 전경 생성기(252)의 파라미터를 업데이트하는 데 이용될 수 있다.
또는, 제1 배경 영상(65)과 원본 영상(61) 간 차이를 계산하여 패치 손실(Lpatch)이 산출될 수 있다. 구체적으로, 제1 배경 영상(65)과 원본 영상(61)에서 서로 대응되는 위치에 있는 패치들(Pb, Po) 간 거리를 계산하여 이를 패치 손실(Lpatch)로서 산출할 수 있다. 패치 손실(Lpatch)은 배경 생성기(253)의 파라미터를 업데이트하는 데 이용될 수 있다.
또는, 합성 영상(65)과 원본 영상(61)을 비교한 결과에 기초하여 리컨스트럭션 손실(Lrec)이 산출될 수 있다. 리컨스트럭션 손실(Lrec)은 추론, 출력된 합성 영상(65)이 원래의 원본 영상(61)과 더욱 유사하게 되도록 하기 위해 정의된 손실 값이다.
또는, 판별기(270)가 합성 영상(65)을 진본 여부를 판별한 결과에 기초하여 적대 손실(adversarial loss, Ladv)이 산출될 수 있다. 적대 손실(Ladv)은 제4 인공지능 모듈(250)에 의해 출력되는 합성 영상(65)이 흐릿해지는 것을 방지하고, 더욱 사실적인 영상이 되도록 하기 위해 정의된 손실 값이다. 리컨스트럭션 손실(Lrec) 및 적대 손실(Ladv)은 제4 인공지능 모듈(250)의 파라미터를 업데이트하는 데 이용될 수 있다.
한편, S410 단계 내지 S470 단계는, 제3 인공지능 모듈(240)이 충분히 학습될 때까지, 또는 미리 결정된 횟수만큼 반복될 수 있다.
이상에서 설명한 본 발명의 실시예들에 따르면, 영상 내에서 객체의 신체 일부가 가려지거나 잘린 경우에도 인공지능을 기반으로 객체의 전체 신체를 추론함으로써 상기 가려지거나 잘린 신체 부분을 자동 복원할 수 있다.
또한, 객체의 가려지거나 잘린 신체 부분을 복원하는데 있어 3차원 정보를 담고 있는 2차원 데이터인 UV 맵을 이용함으로써, 기존의 컨볼루션 신경망 기반 모델 기술을 활용하면서도 더욱 상세하고 사실적으로 신체 부분을 복원할 수 있다.
메트릭 러닝에 기반한 3차원 메쉬 객체의 동작 유사도 산출
본 실시예에서는, 소스 영상 내 객체의 동작을 3차원 메쉬 방식으로 인식하고, 객체의 동작 간 유사도를 메트릭 러닝(Metric Learning) 기술을 이용하여 산출하는 기술을 제안한다.
영상을 기반으로 객체, 특히 인간 객체의 자세나 동작을 추정하는 기술은 카메라 장비의 발달과 영상 컨텐츠 시장의 확대로 최근 활발히 연구되고 있다. 특히, 신체에 마커나 센서 등을 부착하지 않고 영상 내 이미지만을 인공지능 모델을 통해 분석하여 객체의 동작을 비교하거나 그 유사도를 산출하는 연구는 이제 막 시작되고 있는 상황이다.
종래의 인공지능 모델 기반 객체 동작 추정 기술은 일반적으로 2D 스켈레톤(skeleton) 모델에 기반한다. 이는 신체의 관절 포인트와 각 관절 포인트를 잇는 선을 추출하고, 관절 포인트와 선의 움직임을 중심으로 객체의 동작을 추정하는 모델로서, 객체의 동작을 간명하게 추정, 비교할 수 있는 장점은 있으나 얼굴 표정이나 손 모양을 구분하기 어렵고, 디테일한 동작을 인식하기 어려운 한계가 있었다.
이에, 본 실시예에서는, 3차원 메쉬 모델을 기반으로 객체의 동작을 추론함으로써, 객체의 볼륨이나 신체적 특성까지 고려하여 더욱 디테일한 동작까지 인식할 수 있는, 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치를 제공하고자 한다.
또한, 인공지능 모델을 구성함에 있어, 메트릭 러닝 기반으로 기계학습된 인공지능 모델을 이용함으로써, 기학습되지 않은 포즈 및 동작에 대해서도 유사도 분석을 수행할 수 있는 방법을 제안하고자 한다.
도 19는 본 발명의 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 장치의 예시적인 구성을 나타내는 도면이다. 도 19를 참조하면, 객체의 동작 유사도 산출 장치(300)는 제1 인공지능 모듈(310), 제2 인공지능 모듈(320), 3차원 모션 영상 생성 모듈(330), 특징 벡터 추출 모듈(340), 제5 인공지능 모듈(350), 및 검색 결과 제공 모듈(360)을 포함할 수 있다.
객체의 동작 유사도 산출 장치(300)는 도 2의 3차원 모션 영상 생성 장치(100)와 일부 구성이 동일할 수 있다. 예를 들어, 제1 인공지능 모듈(310), 제2 인공지능 모듈(320), 및 3차원 모션 영상 생성 모듈(330)은 각각 도 2의 제1 인공지능 모듈(110), 제2 인공지능 모듈(120), 및 3차원 모션 영상 생성 모듈(130)과 동일한 구성일 수 있다. 따라서, 설명의 중복을 피하기 위해, 본 실시예에서 제1 인공지능 모듈(310), 제2 인공지능 모듈(320), 및 3차원 모션 영상 생성 모듈(330)에 대한 구체적인 설명은 생략하기로 한다.
특징 벡터 추출 모듈(340)은 3차원 메쉬 객체로부터 그와 대응되는 특징 벡터를 추출하는 모듈이다. 특징 벡터는 3차원 메쉬 객체의 포즈, 및 동작을 나타내는 값으로서, 3차원 메쉬 객체를 구성하는 각 메쉬 데이터의 방향성 및 그 추이를 나타내는 값을 포함할 수 있다.
제5 인공지능 모듈(350)은 복수의 3차원 메쉬 객체로부터 추출된 특징 벡터들에 기초하여, 상기 3차원 메쉬 객체 간 동작 유사도를 산출하는 모듈이다. 제5 인공지능 모듈(350)은 학습 데이터를 기초로 기계학습된 모듈로서, 메트릭 러닝 기반으로 기계학습된 모듈일 수 있다.
검색 결과 제공 모듈(360)은 제5 인공지능 모듈(350)이 산출한 동작 유사도를 기초로, 소스 영상과 자세 및 동작이 유사한 타겟 영상을 선택하여, 검색 결과로서 제공하거나, 소스 영상과 타겟 영상 간 동작 유사도를 구체적인 값 또는 등급으로서 출력하는 모듈이다.
특징 벡터 모듈(340), 제5 인공지능 모듈(350), 및 검색 결과 제공 모듈(360)의 구체적인 기능 및/또는 학습 방법에 대해서는 도 20 이하를 참조하여 더욱 상세히 설명하기로 한다.
도 20은 본 발명의 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다. 도 20의 객체의 동작 유사도 산출 방법은 도 19의 객체의 동작 유사도 산출 장치(300)에 의해 수행될 수 있다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 객체의 동작 유사도 산출 장치(300)인 것으로 가정한다.
S510 단계에서, 소스 영상 및 타겟 영상이 입력된다.
여기서, 소스 영상은 동작 비교의 기준이 되는 영상이고, 타겟 영상은 동작 비교의 대상이 되는 영상이다. 예를 들어, 제1 영상을 획득한 후 제1 영상과 동작이 유사한 제2 영상을 찾아 그 동작 유사도를 산출하고자 하는 경우, 제1 영상이 소스 영상이 되고 제2 영상이 타겟 영상이 된다.
일 실시예로서, 타겟 영상은 객체의 동작 유사도 산출 장치(300) 내 데이터베이스에 다른 타겟 영상들과 함께 미리 저장된 영상으로서, 상기 소스 영상과의 동작 비교를 위해 데이터베이스로부터 상기 다른 타겟 영상들과 함께 순차적으로 읽어내는 영상일 수 있다.
S520 단계에서, 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출된다.
일 실시예로서, 제1 객체, 및 제2 객체는 3차원 메쉬 객체일 수 있다.
제1 객체는 소스 영상 내 객체이거나, 소스 영상 내 객체를 기초로 새롭게 가공 또는 생성된 객체일 수 있다. 유사하게, 제2 객체 또한 타겟 영상 내 객체이거나, 타겟 영상 내 객체를 기초로 새롭게 가공 또는 생성된 객체일 수 있다.
제1 특징 벡터는 제1 객체의 포즈 및 동작을 나타내는 벡터이다. 제1 특징 벡터는 제1 객체를 구성하는 복수의 메쉬 데이터 각각에 대해 그 방향성과 추이를 나타내는 값들을 포함할 수 있다.
마찬가지로, 제2 특징 벡터는 제2 객체의 포즈 및 동작을 나타내는 벡터로서, 제2 객체를 구성하는 복수의 메쉬 데이터 각각에 대해 그 방향성과 추이를 나타내는 값들을 포함할 수 있다.
제1 특징 벡터 및 제2 특징 벡터의 추출에 대해서는 도 23 이하에서 더욱 상세히 설명하기로 한다.
S530 단계에서, 제1 특징 벡터 및 제2 특징 벡터에 기초하여, 제1 객체와 제2 객체 간 동작 유사도가 산출된다.
일 실시예로서, 상기 동작 유사도는 메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 산출될 수 있다. 메트릭 러닝에 기반한 기계학습 방법 및 이를 이용한 객체 간 동작 유사도 산출에 대해서는 도 25 이하에서 더욱 상세히 설명하기로 한다.
도 21 및 도 22는 객체의 동작 유사도 비교에 있어서, 3차원 메쉬 모델을 이용하는 경우의 특징을 설명하기 위한 도면들이다.
도 21을 참조하면, 원본 영상(71)을 기초로 2차원(또는, 2D) 스켈레톤 모델(72)을 추정하는 것과, 3차원(또는, 3D) 메쉬를 추정하는 경우의 예가 도시된다.
2차원 스켈레톤 모델(72)은 원본 영상(71)으로부터 관절 포인트와 관절 포인트를 잇는 선을 추정하여 구성된다. 3차원 메쉬 모델(73) 또한 원본 영상(71)으로부터 관절 포인트와 관절 포인트를 잇는 선을 추정하는 것은 동일하나, 그에 더하여 객체의 질감과 깊이를 추정한 후 이를 볼륨이 있는 3차원 메쉬의 형태로 구성한다.
객체의 동작을 추정할 때, 2차원 스켈레톤 모델(72)을 이용하는 경우 관절 포인트와 선의 위치 및 움직임을 기초로 객체의 동작을 추정한다. 반면에, 3차원 메쉬 모델(73)을 이용하는 경우, 관절 포인트, 선에 더해 메쉬 데이터까지 고려하여 객체의 동작을 추정하게 된다. 그로 인해, 3차원 메쉬 모델(73)을 이용하는 경우에, 객체의 볼륨이나 신체적 특성까지 고려하여 더욱 디테일하게 동작을 인식할 수 있게 된다.
이에 대한 부연 설명을 위해 도 22를 참조한다.
도 22는 팔 돌림 동작에 대해 2차원 스켈레톤 모델을 이용할 때와 3차원 메쉬 모델을 이용할 때의 인식 성능 차이를 도시한다.
도 22 (a)는 원본 영상에서의 팔 돌림 동작을 나타낸다. 도 22 (b)는 상기 팔 돌림 동작을 2차원 스켈레톤 모델을 기초로 인식한 케이스를 나타내고, 도 22 (c)는 상기 팔 돌림 동작을 3차원 메쉬 모델을 기초로 인식한 케이스를 나타낸다.
도 22 (b)를 참조하면, 2차원 스켈레톤 모델은 관절 포인트와 선을 기초로 객체의 동작을 인식하므로, 팔 돌림 동작과 같이 동작 전(74a)과 동작 후(74b) 사이에 관절 포인트 및 선의 위치 변화가 거의 없는 경우에는 해당 동작을 잘 인식하지 못하는 문제가 있다.
그에 반해, 도 22 (c)를 참조하면, 3차원 메쉬 모델은 관절 포인트와 선 외에 메쉬 데이터까지 고려하여 객체의 동작을 인식하므로, 관절 포인트 및 선의 위치 변화가 거의 없는 경우에도, 동작 전(75a)과 동작 후(75b)의 메쉬 데이터 변화를 통해 해당 동작을 잘 인식할 수 있게 된다.
도 23 및 도 24는 도 20의 S520 단계를 부연설명하기 위한 도면들이다.
도 23을 참조하면, 소스 영상 및 특징 벡터로부터 각각 특징 벡터를 추출하는 특징 벡터 추출 모듈(340)이 도시된다.
특징 벡터 추출 모듈(340)에 소스 영상이 입력되면, 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출된다.
이때, 제1 객체는 소스 영상 내 객체이거나, 소스 영상 내 객체를 기초로 새롭게 생성된 객체일 수 있다. 예를 들어, 소스 영상이 3차원 영상이고 소스 영상 내 3차원 메쉬 객체가 포함된 경우, 제1 객체는 소스 영상 내 3차원 매쉬 객체를 추출한 것일 수 있다. 반면에, 소스 영상이 2차원 영상이고 소스 영상 내 객체가 2차원 객체인 경우, 제1 객체는 소스 영상으로부터 2차원 객체를 추출한 후, 인공지능 모듈을 이용하여 2차원 객체의 질감 및 볼륨을 추정하여 생성된 3차원 메쉬 객체일 수 있다. 이때, 3차원 메쉬 객체의 추정, 생성에는 제2 인공지능 모듈(320)이 이용될 수 있다.
유사하게, 특징 벡터 추출 모듈(340)에 타겟 영상이 입력되면, 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출된다.
제2 객체도 타겟 영상 내 객체이거나, 타겟 영상 내 객체를 기초로 새롭게 생성된 객체일 수 있다. 가령, 타겟 영상 내 3차원 메쉬 객체가 포함된 경우, 제2 객체는 타겟 영상 내 3차원 매쉬 객체를 추출한 것일 수 있다. 또는, 타겟 영상 내 객체가 2차원 객체인 경우, 제2 객체는 타겟 영상으로부터 2차원 객체를 추출한 후, 인공지능 모듈을 이용하여 2차원 객체의 질감 및 볼륨을 추정하여 생성된 3차원 메쉬 객체일 수 있다. 이때에도, 3차원 메쉬 객체의 추정, 생성에는 제2 인공지능 모듈(320)이 이용될 수 있다.
일 실시예로서, 특징 벡터 추출 모듈(340)은 SMPL(Skinned Multi-Person Linear) 모델을 이용하여, 제1 객체 및 제2 객체로부터 제1 특징 벡터 및 제2 특징 벡터를 각각 추출할 수 있다. SMPL 모델은 3차원 메쉬 모델을 기초로 객체의 포즈를 추정하는 데 이용되는 솔루션으로서, SMPL 모델과 관련된 구체적인 기술 내용은 당해 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 설명을 생략한다.
한편, 제1 특징 벡터는, 제1 객체를 구성하는 제1 복수의 메쉬를 각각 나타내는 제1 메쉬 벡터, 및 상기 제1 메쉬 벡터의 변화 추이를 나타내는 제1 추이 벡터를 포함할 수 있다.
유사하게, 제2 특징 벡터는, 제2 객체를 구성하는 제2 복수의 메쉬를 각각 나타내는 제2 메쉬 벡터, 및 상기 제2 메쉬 벡터의 변화 추이를 나타내는 제2 추이 벡터를 포함할 수 있다.
이에 대해, 도 24를 참조하여 부연 설명한다.
도 24 (a)는 3차원 메쉬 객체로서, 인체의 팔 부분을 도시한다. 도 24 (b)는 3차원 메쉬 객체를 구성하는 각 메쉬 데이터의 방향성을 나타내는 메쉬 벡터를 도시한다.
설명의 간명화를 위해, 3차원 메쉬 객체를 구성하는 메쉬 데이터 중 4개의 메쉬 데이터(81a, 81b, 81c, 81d)만을 예로 들면, 특징 벡터 추출 모듈(340)에 의해 각 메쉬 데이터(81a, 81b, 81c, 81d) 각각에 대해 대응되는 메쉬 벡터(82a, 82b, 82c, 82d)가 추출된다.
일 실시예로서, 각 메쉬 벡터(82a, 82b, 82c, 82d)는 대응되는 메쉬 데이터(81a, 81b, 81c, 81d)의 법선 벡터일 수 있다. 예를 들어, 메쉬 벡터(82a)는 메쉬 데이터(81a)의 법선 벡터를 추출한 것이고, 메쉬 벡터(82b)는 메쉬 데이터(81b)의 법선 벡터를 추출한 것이고, 메쉬 벡터(82c)는 메쉬 데이터(81c)의 법선 벡터를 추출한 것이고, 메쉬 벡터(82d)는 메쉬 데이터(81d)의 법선 벡터를 추출한 것일 수 있다.
한편, 여기서는 각 메쉬 벡터(82a, 82b, 82c, 82d)가 메쉬 데이터(81a, 81b, 81c, 81d)의 법선 벡터인 것으로 예시되었지만, 본 발명의 범위는 이에 한정되지 않는다. 가령, 메쉬 데이터(81a, 81b, 81c, 81d)의 방향성을 나타내면서 메쉬 데이터(81a, 81b, 81c, 81d)를 대표할 수 있는 벡터라면 어떤 것도 메쉬 벡터가 될 수 있다.
한편, 특징 벡터 추출 모듈(340)는 메쉬 벡터(82a, 82b, 82c, 82d)의 변화 추이를 나타내는 추이 벡터를 더 추출할 수 있다. 일 실시예로서, 추이 벡터는 영상의 연속하는 프레임에서 각 메쉬 벡터(82a, 82b, 82c, 82d)가 변화되는 추이를 나타내는 벡터로서, 상기 추이를 크기와 방향으로써 나타내는 벡터일 수 있다.
특징 벡터 추출 모듈(340)에 의해 추출된 메쉬 벡터 및 추이 벡터는 객체의 특징 벡터로서 추출, 제공될 수 있다.
도 25 및 도 26은 도 20의 S530 단계를 부연설명하기 위한 도면들이다.
도 25를 참조하면, 제1 특징 벡터 및 제2 특징 벡터를 기초로 제1 객체와 제2 객체 간 동작 유사도를 산출하는 제5 인공지능 모듈(350)이 도시된다.
제5 인공지능 모듈(350)은 제1 객체로부터 추출된 제1 특징 벡터와 제2 객체로부터 추출된 제2 특징 벡터를 입력받고, 이를 기초로 제1 특징 벡터와 제2 특징 벡터 간 거리를 산출한 후, 산출한 거리에 기초하여 제1 객체와 제2 객체 간 동작 유사도를 출력하도록 기계학습된 인공지능 모듈이다.
일 실시예로서, 동작 유사도는 제1 특징 벡터와 제2 특징 벡터의 거리가 가까울수록 높게 산출될 수 있다.
앞서 언급한 바와 같이, 제5 인공지능 모듈(350)은 메트릭 러닝 방식으로 기계학습된 모듈일 수 있다.
기존의 객체의 동작 유사도를 산출하는 대표적인 방식으로 코사인 유사도 방식이 있다. 코사인 유사도 방식에서는 절대적인 좌표를 기준으로 동작 유사도를 판단한다. 때문에, 어른이 춤을 추는 동작과 아이가 춤을 추는 동작을 비교하면, 전체적인 포즈와 동작이 유사하더라도 어른 객체로부터 인식되는 좌표와 아이 객체로부터 인식되는 좌표가 크게 다르기 때문에 유사하지 않은 것으로 판정되게 된다.
그에 반해, 메트릭 러닝 방식으로 학습된 모델을 이용하여 객체의 동작 유사도를 판단하면, 각 객체의 방향성과 추이를 기준으로 동작 유사도를 판단하게 되므로, 전체적인 포즈와 동작이 유사하면 어른의 동작과 아이의 동작에 대해서도 서로 유사하다고 판단하게 된다.
메트릭 러닝에 기반한 제5 인공지능 모듈(350)의 학습 방법에 대해 도 26을 참조하여 설명한다.
메트릭 러닝 기반의 기계학습은 두 대상의 특성이 유사한지 혹은 다른지에 집중하여 유사도를 판단하도록 하는 것이다. 즉, 인공지능 모듈을 학습할 때 '분류'를 하지 않고, 유사한지 혹은 다른지를 나타내는 거리를 계산하는 메트릭을 이용한다. 메트릭 러닝에 대한 구체적인 기술 내용은 당해 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 설명을 생략한다.
도 26에서, 제5 인공지능 모듈(350)은 학습 데이터로서 앵커 데이터, 포지티브 데이터, 네거티브 데이터를 입력받는다. 앵커 데이터는 기준 데이터(a)에 대응되는 값으로서, 기준 데이터(a)로부터 추출된 특징 벡터일 수 있다. 포지티브 데이터는 기준 데이터(a)와 유사한 데이터(b)에 대응되는 값으로서, 유사한 데이터(b)로부터 추출된 특징 벡터일 수 있다. 네거티브 데이터는 기준 데이터(a)와 상이한 데이터(c)에 대응되는 값으로서, 상이한 데이터(c)로부터 추출된 특징 벡터일 수 있다.
앵커 데이터, 포지티브 데이터, 네거티브 데이터가 입력되면, 제5 인공지능 모듈(350)은 앵커 데이터를 기준으로 그와 유사한 포지티브 데이터와의 거리는 더 가깝게 되고 상이한 네거티브 데이터와의 거리는 더 멀어지게 되도록 학습된다. 즉, 제5 인공지능 모듈(350)은 앵커 데이터와 포지티브 데이터가 서로 유사한 것이고, 앵커 데이터와 네거티브 데이터가 서로 다른 것임을 인식하도록 특징들을 학습한다.
이렇게 학습된 제5 인공지능 모델(350)은 유사한 포즈 및 동작과 유사하지 않은 포즈 및 동작을 구분할 수 있게 되며, 기학습되지 않은 포즈 및 동작에 대해서도 유사도 분석을 수행할 수 있게 된다.
도 27은 본 발명의 다른 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다. 도 27의 실시예에서 S510 단계 내지 S530 단계는 도 20의 S510 단계 내지 S530 단계와 동일하다. 다만, S540 단계 및 도 S550 단계를 더 포함하는 점이 상이하다. 본 실시예에서, 설명의 중복을 피하기 위해, S510 단계 내지 S530 단계에 대한 설명은 생략된다.
S540 단계에서, 동작 유사도에 기초하여, 타겟 영상이 소스 영상의 유사 영상 검색 결과로서 제공된다. 상기 검색 결과 제공은 검색 결과 제공 모듈(360)에 의해 수행될 수 있다.
일 실시예로서, 산출된 동작 유사도가 미리 결정된 임계값을 초과하면 타겟 영상은 소스 영상의 유사 영상으로 판정되고, 그에 따라 타겟 영상이 소스 영상에 대응되는 검색 결과로서 제공된다. 반면에, 산출된 동작 유사도가 미리 결정된 임계값 미만이면 타겟 영상은 소스 영상의 유사 영상이 아닌 것으로 판정되고, 그에 따라 타겟 영상은 상기 검색 결과로서 제공되지 않는다.
한편, 상기 검색 결과는, 도 28에 도시된 바와 같이, 소스 영상과의 동작 유사도가 미리 결정된 임계값을 초과하는 복수의 타겟 영상을 리스팅하는 형태로 제공될 수 있다.
예를 들어, 데이터베이스에 복수의 타겟 영상이 저장되어 있고, 도 20 내지 도 26에서 설명된 방법에 의해, 각 타겟 영상마다 소스 영상(90)과의 동작 유사도가 산출되었다고 가정한다.
그 중, 동작 유사도가 미리 결정된 임계값을 초과하는 타겟 영상들(91, 92, 93, 94, 95, 96)을 그 동작 유사도의 크기 순서대로 정렬(sorting)하여 리스팅(listing)하고, 이를 소스 영상(90)의 유사 영상 검색 결과로서 제공할 수 있다.
S550 단계에서, 검색 결과로서 제공된 타겟 영상에 대한 사용자 선택을 기초로, 제1 객체에 제2 객체의 3차원 모션 데이터를 병합하여, 제1 객체가 상기 3차원 모션 데이터에 따라 움직이는 모션 영상 생성된다.
가령, 사용자가 자신의 움직임을 촬영하여 이를 소스 영상으로서 입력하고 데이터베이스에 저장된 타겟 영상들 중 그것과 동작이 유사한 영상을 검색하면, 본 발명에 따른 객체의 동작 유사도 산출 방법에 의해 소스 영상과 동작 유사도가 임계값 이상인 타겟 영상이 유사 영상 검색 결과로서 제공될 수 있다. 이때, 제공되는 사용자 인터페이스를 통해 타겟 영상이 선택되면, 소스 영상으로부터 추출된 사용자 외형(제1 객체에 해당)에 타겟 영상 내 샘플 객체(제2 객체에 해당)의 모션 데이터를 결합하여, 외형은 사용자이지만 동작은 샘플 객체의 동작을 따르는 모션 영상이 생성될 수 있다.
일 실시예로서, 사용자 외형의 추출은 각각 제2 인공지능 모듈(320)을 이용하여 수행될 수 있고, 샘플 객체의 모션 데이터 추출은 제1 인공지능 모듈(310)을 이용하여 수행될 수 있고, 사용자 외형과 상기 모션 데이터의 결합은 3차원 모션 영상 생성 모듈(330)에 의해 수행될 수 있다.
도 29는 본 발명의 또 다른 일 실시예에 따른, 인공지능 기반의 객체의 동작 유사도 산출 방법을 나타내는 순서도이다. 도 29의 실시예에서 S510 단계 내지 S530 단계는 도 20의 S510 단계 내지 S530 단계와 동일하다. 다만, S560 단계 및 도 S550 단계를 더 포함하는 점이 상이하다. 본 실시예에서, 설명의 중복을 피하기 위해, S510 단계 내지 S530 단계에 대한 설명은 생략된다.
S560 단계에서, 동작 유사도에 기초하여, 소스 영상과 타겟 영상 간 유사도 점수가 출력된다.
일 실시예로서, 상기 유사도 점수는 스코어 또는 상기 스코어의 구간에 따른 등급으로써 출력될 수 있다.
예를 들어, 유사도 점수는 76점, 86점, 96점과 같이 숫자로 된 스코어로써 출력될 수도 있고, 70점 이상 80점 미만은 C등급, 80점 이상 90점 미만은 B등급, 90점 이상은 A등급과 같이 스코어에 구간에 따른 등급으로써 출력될 수도 있다.
유사도 점수의 출력은 게임 등의 애플리케이션에 이용될 수 있다. 예를 들어, 특정 영상의 동작을 따라하도록 설정된 게임의 경우, 특정 영상 내 동작을 모사하는 사용자 동작을 촬영하고, 촬영된 영상 내 동작을 상기 특정 영상 내 동작과 비교하여 상호간 동작 유사도를 산출한 후, 그에 따른 유사도 점수를 사용자의 게임 플레이 결과로서 출력할 수 있다.
이상에서 설명한 본 발명의 실시예들에 따르면, 3차원 메쉬 모델을 이용하여 객체의 포즈 및 동작을 상호 비교함으로써, 객체의 신체적 특성까지 고려하여 더욱 정확하게 동작 유사도를 산출할 수 있다.
또한, 메트릭 러닝 기반으로 기계학습된 인공지능 모델을 이용함으로써, 학습되지 않은 포즈 및 동작에 대해서도 유사도 분석을 수행할 수 있다.
입력 문장으로부터 3차원 모션 영상 생성
본 실시예에서는, 텍스트 형식의 입력 문장을 분석하여 입력 문장의 의미에 대응되는 3차원 모션 영상을 자동 생성하는 기술을 제안한다.
가령, 다양한 모션 영상을 미리 생성하여 데이터베이스에 저장하였다가, '사람이 걷는다'와 같은 문장이 입력되면 데이터베이스로부터 사람이 걷는 모습을 나타내는 모션 영상을 검색하여 출력하는 것과 같이, 입력 문장의 각 구문의 의미를 나타내는 모션 영상들을 데이터베이스로부터 검색하고, 검색된 모션 영상들을 조합하여 입력 문장의 전체 의미를 나타내는 3차원 모션 영상을 자동으로 생성하는 기술을 제안하고자 한다.
도 30은 본 발명의 일 실시예에 따른, 모션 영상 생성 장치의 예시적인 구성을 나타내는 도면이다. 도 30을 참조하면, 모션 영상 생성 장치(400)는 문장으로부터 3차원 모션 영상을 자동 생성하는 장치로서, 문장 획득 모듈(410), 형태소 분석 모듈(420), 영상 검색 모듈(430), 및 모션 영상 생성 모듈(440)을 포함할 수 있다.
문장 획득 모듈(410)은 3차원 모션 영상 생성에 이용되는 문장을 획득하는 모듈이다. 문장 획득 모듈(410)은 사용자 인터페이스를 통해 상기 문장을 텍스트 형태로 직접 입력받을 수도 있고, 음성 입력 수단을 통해 입력된 음성 신호를 텍스트로 변환하여 상기 문장을 획득할 수도 있다.
형태소 분석 모듈(420)은 획득된 문장을 분석하여, 문장 내 단어를 구분하고 각 단어의 품사를 식별하는 모듈이다.
영상 검색 모듈(430)은 품사가 식별된 단어에 대해, 그와 대응되는 의미를 갖는 부분 영상을 데이터베이스에서 검색하는 모듈이다.
모션 영상 생성 모듈(440)은 검색된 부분 영상들을 조합하여 획득된 문장의 전체 의미에 대응되는 모션 영상을 생성하는 모듈이다. 이때, 모션 영상 생성 모듈(440)은 부분 영상의 조합 시, 부분 영상들이 서로 자연스럽게 연결되도록 중간 영상을 생성하여 부분 영상 사이에 이를 삽입할 수 있다.
모션 영상 생성 모듈(440)의 구체적인 동작 방법에 대해서는 도 31을 참조하여 상세히 설명하기로 한다.
일 실시예로서, 문장 획득 모듈(410), 형태소 분석 모듈(420), 영상 검색 모듈(430), 및/또는 모션 영상 생성 모듈(440)은 기계학습된 인공지능 모듈을 포함할 수 있다. 예를 들어, 문장 획득 모듈(410)은 음성을 인식하여 인식된 음성을 텍스트로 자동 변환하도록 기계학습된 인공지능 모듈을 포함할 수 있고, 형태소 분석 모듈(420)은 텍스트 형식의 문장의 각 단어를 구분하고, 구분된 단어의 품사를 식별하도록 기계학습된 인공지능 모듈을 포함할 수 있고, 영상 검색 모듈(430)은 특정 단어의 의미에 대응되는 부분 영상을 데이터베이스에서 선택적으로 검색하도록 기계학습된 인공지능 모듈을 포함할 수 있고, 모션 영상 생성 모듈(440)은 복수의 부분 영상을 조합하여 전체 모션 영상을 생성할 때, 각 부분 영상의 배치 순서를 컨텍스트에 맞게 결정하고, 각 부분 영상의 처음과 끝이 자연스럽게 이어지도록 부분 영상 사이에 삽입될 중간 영상을 생성하도록 기계학습된 인공지능 모듈을 포함할 수 있다.
도 31은 본 발명의 일 실시예에 따른, 문장으로부터 모션 영상을 생성하는 방법을 나타내는 순서도이다. 도 31의 문장으로부터 모션 영상을 생성하는 방법은 도 30의 모션 영상 생성 장치(400)에 의해 수행될 수 있다. 따라서, 이하의 단계들에서 수행 주체가 생략된 경우, 그 수행 주체는 상기 모션 영상 생성 장치(400)인 것으로 가정한다.
S310 단계에서, 3차원 모션 영상을 생성할 문장이 획득된다.
일 실시예로서, 상기 문장은 사용자 인터페이스를 통해 입력된 텍스트를 기초로 획득될 수 있다. 또는, 상기 문장은 인공지능 모델을 기초로, 음성 입력 수단을 통해 입력된 음성 신호를 텍스트로 변환함으로써 획득될 수도 있다. 인공지능 모델을 기초로 음성 신호를 텍스트로 변환하는 방법에 대한 구체적인 기술 내용은 당해 기술 분야에 널리 알려져 있으므로 여기서는 그에 대한 설명을 생략한다.
S320 단계에서, 상기 문장 내 하나 이상의 단어가 식별된다. 이에 대한 구체적인 설명을 위해 도 32를 참조한다.
도 32는 도 31의 S620 단계를 구체화한 일 실시예를 나타내는 순서도이다.
S621 단계에서, 문장을 구성하는 하나 이상의 단어가 식별된다.
S622 단계에서, 상기 식별된 하나 이상의 단어에 대해 각각의 품사가 식별된다.
일 실시예로서, 상기 하나 이상의 단어의 식별, 및 상기 품사의 식별은 자연어 처리를 위해 기계학습된 인공지능 모듈에 의해 수행될 수 있다.
이에 대한 부연설명을 위해 도 33을 참조한다.
도 33에는 3차원 모션 영상 생성을 위해 문장으로서,'A Person sits down with crossed legs, before getting up'이 입력된 예가 도시된다.
이때, 형태소 분석 모듈(420)에 의해 문장의 각 단어와 그 품사가 식별되어 도 33에 도시된 바와 같이 각 품사 별로 단어가 구분, 분류될 수 있다.
다시 도 31로 돌아가서, S330 단계에서, 상기 하나 이상의 단어에 대응되는 부분 영상이 데이터베이스로부터 검색된다. 일 실시예로서, 상기 데이터베이스는 도 1 내지 도 9에서 설명된 3차원 모션 영상 생성 방법에 의해 생성된 복수의 3차원 모션 영상들을 저장하는 구성일 수 있다. 상기 데이터베이스에 저장된 상기 복수의 3차원 모션 영상들은 문장의 의미에 대응되는 모션 영상 생성을 위한 부분 영상으로서 이용될 수 있다.
한편, 도 33에 도시된 실시예에 대한 더욱 구체적인 설명을 위해 도 34를 참조한다.
도 34는 도 31의 S630 단계를 구체화한 일 실시예를 나타내는 순서도이다.
본 실시예에서는, 문장으로부터 적어도 2개의 단어가 식별되고, 상기 적어도 2개의 단어 각각에 대해 대응되는 부분 영상이 검색되는 경우가 예시된다.
먼저, S631 단계에서, 제1 단어에 대응되는 제1 부분 영상이 데이터베이스로부터 검색된다.
다음으로, S632 단계에서, 제2 단어에 대응되는 제2 부분 영상이 데이터베이스로부터 검색된다.
이에 대한 부연설명을 위해 도 35를 참조한다.
도 35를 참조하면, 앞서 구분, 분류된 단어들 중 제1 단어인'sits down'에 대응되는 제1 부분 영상(1011)과 제2 단어인'getting up'에 대응되는 제2 부분 영상(1021)이 데이터베이스(미도시)로부터 각각 검색된 경우가 예시된다.
제1 부분 영상(1011)은 제1 단어인'sits down'의 의미에 대응되는 영상으로서 사람이 앉는 동작을 나타내는 영상이고, 제2 부분 영상(1021)은 제2 단어인'getting up'의 의미에 대응되는 영상으로서 사람이 일어서는 동작을 나타내는 영상이다.
한편, 각 단어의 의미에 대응되는 부분 영상을 찾을 때, 문맥에 더욱 부합하는 부분 영상을 찾기 위해 해당 단어와 연관되는 다른 단어가 더 참조될 수 있다. 이에 대한 부연설명을 위해 도 36 및 도 37을 함께 참조한다.
먼저, S631a 단계에서, 제1 단어를 기초로 데이터베이스로부터 복수의 부분 영상이 검색된다. 가령, 제1 단어가'sits down'인 경우, 제1 단어의 의미에 부합하는 부분 영상을 검색하면 다양한 방식의 앉는 동작을 나타내는 부분 영상들이 다수 검색될 수 있다.
예를 들어, 도 37에 도시된 것과 같이'sits down'에 대해, 다리를 교차 시켜 앉는 부분 영상(1011), 쪼그려 앉는 부분 영상(1012), 및 측면으로 모로 앉는 부분 영상(1013) 등 다수의 부분 영상들(1010)이 검색될 수 있다. 검색된 각 부분 영상들(1011, 1012, 1013) 모두'sits down'의 의미에 해당하는 동작을 나타내므로,'sits down'만으로는 부분 영상들(1011, 1012, 1013) 중 가장 적합한 어느 하나의 부분 영상을 특정하기가 어렵다.
S632b 단계에서, 제3 단어를 기초로 복수의 부분 영상 중 제1 부분 영상이 선택된다. 이때, 제3 단어는 제1 단어와 연관된 단어일 수 있다. 이에 대한 설명을 위해 다시 도 37을 참조한다.
도 37을 참조하면, 제1 단어인'sits down'의 연관 단어로서 제3 단어인'with crossed legs'가 식별된다. 앞서,'sits down'만으로는 부분 영상들(1011, 1012, 1013) 중 가장 적합한 부분 영상을 특정하기 어려웠지만, 'with crossed legs'를 함께 참조함으로써 문맥에 가장 적합한 부분 영상으로서 제1 부분 영상(1011)이 특정 및 선택될 수 있다.
한편, 연관 단어(즉, 제3 단어)의 참조가, 제1 부분 영상을 검색할 때 이용되는 경우를 예시하였지만, 유사하게 제2 부분 영상의 검색 시에도 연관 단어가 참조될 수 있다.
예를 들어, 문장 내에 제2 단어와 연관된 제4 단어가 있는 경우, 제2 단어에 대해 부분 영상이 복수 개가 검색되면, 제4 단어를 참조하여 상기 복수 개의 부분 영상 중 문맥에 가장 적합한 어느 하나의 부분 영상이 특정 및 선택될 수 있다.
이제 다시 도 31로 돌아가서, S640 단계에서, 부분 영상을 이용하여 문장에 대응되는 모션 영상이 생성된다. 이에 대한 구체적인 설명을 위해 도 38을 참조한다.
도 38은 도 31의 S640 단계를 구체화한 일 실시예를 나타내는 순서도이다.
S641 단계에서, 상기 문장의 컨텍스트(context)에 기초하여 제1 부분 영상과 제2 부분 영상의 배치 순서가 결정된다. 본 실시예에서는, 컨텍스트에 따라, 제1 부분 영상이 제2 부분 영상의 직전에 배치되는 것으로 가정한다.
S642 단계에서, 제1 부분 영상과 제2 부분 영상 사이에 삽입될 중간 영상이 생성된다. 이때, 상기 중간 영상은 제1 부분 영상의 제1 프레임 내 객체의 포즈와 제2 부분 영상의 제2 프레임 내 상기 객체의 포즈를 자연스럽게 연결하기 위해 생성된 영상일 수 있다.
S643 단계에서, 제1 부분 영상, 중간 영상, 및 제2 부분 영상을 차례로 연결하여 문장의 전체 의미에 대응되는 3차원 모션 영상이 생성된다.
이에 대한 부연설명을 위해 도 39 및 도 40을 참조한다.
도 39를 참조하면, 컨텍스트에 기초하여 각 부분 영상의 배치 순서가 결정되고, 각 부분 영상 사이에 중간 영상이 삽입되는 예가 도시된다.
도 39에서, 문장의 컨텍스트를 고려하면, 문장 내 전치사인'before'에 의해 시간적으로'sits down'동작이'getting up'동작보다 앞서는 것을 알 수 있다. 따라서, 'sits down'에 대응되는 제1 부분 영상(1011)이 앞에 배치되고, 'getting up'에 대응되는 제2 부분 영상(1021)이 뒤에 배치된다.
이때, 제1 부분 영상(1011)의 마지막 프레임(도 38의 제1 프레임)과 제2 부분 영상(1021)의 첫 프레임(도 38의 제2 프레임)을 살펴보면 객체의 포즈가 서로 달라 제1 부분 영상(1011)과 제2 부분 영상(1021)을 직접 연결하면, 부분 영상(1011, 1021)의 연결 지점에서 객체의 포즈가 불연속적인 형태가 되는 부자연스러움이 발생한다.
따라서, 제1 부분 영상(1011)의 마지막 프레임 내 객체의 포즈와 제2 부분 영상(1021)의 첫 프레임 내 객체의 포즈를 자연스럽게 연결하기 위해 중간 영상(1031)이 생성되어 제1 부분 영상(1011)과 제2 부분 영상(1021) 사이에 삽입된다.
도 40을 참조하면, 제1 부분 영상, 중간 영상, 및 제2 부분 영상을 차례로 연결하여 3차원 모션 영상을 생성한 예가 도시된다.
생성된 3차원 모션 영상은 문장의 의미에 부합하게, 사람이 다리를 교차시켜 앉다가 다시 일어나는 동작을 나타내게 된다.
이때, 제1 부분 영상(1011)과 제2 부분 영상(1021) 사이에 중간 영상(1031)을 삽입함으로써, 제1 부분 영상(1011)의 시작부터 제2 부분 영상(1021)의 끝까지 객체의 자세가 연속적으로 자연스럽게 이어지게 된 것을 알 수 있다.
도 41은 도 38의 S642 단계를 구체화한 일 실시예를 나타내는 순서도이다. 도 41에서는 중간 영상을 생성하는 구체적인 방법을 예시한다.
S642a 단계에서, 제1 부분 영상의 제1 프레임으로부터 객체의 키 포인트의 제1 위치가 식별된다.
S642b 단계에서, 제2 부분 영상의 제2 프레임으로부터 객체의 키 포인트의 제2 위치가 식별된다.
S642c 단계에서, 중간 영상 내에서 객체의 키 포인트의 위치가 제1 위치에서 제2 위치로 변화하도록 중간 영상이 생성된다.
이에 대한 부연설명을 위해 도 42를 참조한다.
제1 부분 영상(1011)과 제2 부분 영상(1021)을 자연스럽게 연결하기 위해, 제1 부분 영상(1011)의 마지막 프레임(1011a) 내 객체의 키 포인트 위치(제1 위치, P1) 및 제2 부분 영상(1021)의 첫번째 프레임(1021a) 내 객체의 키 포인트 위치(제2 위치, P2)가 식별된다. 여기서, 키 포인트는 객체의 관절 부분을 지칭하는 지점일 수 있다.
이때, 중간 영상(1031) 내에서 객체의 키 포인트 위치가 제1 위치(P1)에서 제2 위치(P2)로 변화하도록, 중간 영상(1031)이 생성된다. 상기 중간 영상(1031)의 생성은, 첫 프레임과 마지막 프레임이 주어졌을 때, 첫 프레임 내 객체의 자세를 마지막 프레임 내 객체의 자세로 연결하는 모션 영상을 생성하도록 기계학습된 인공지능 모듈에 의해 수행될 수 있다.
이러한 방법에 의하면, 제1 부분 영상(1011) 내 객체의 자세와 제2 부분 영상(1021) 내 객체의 자세가 불연속적인 경우에도, 중간 영상을 통해 제1 부분 영상(1011)과 제2 부분 영상(1021)을 자연스럽게 연결할 수 있게 된다.
이상에서 설명한 본 발명의 실시예들에 따르면, 3차원 모션 영상으로 생성하고 싶은 내용의 문장을 텍스트나 음성으로 입력하면, 해당 문장을 분석하여 그 의미에 맞는 모션 영상을 자동 생성할 수 있다.
또한, 문장 내 단어의 의미에 대응되는 부분 영상들을 조합하여 전체 모션 영상을 생성하되, 각 부분 영상간 연결이 자연스럽도록 적절한 중간 영상을 삽입할 수 있다.
이하에서는, 도 43을 참조하여 본 발명의 다양한 실시예에서 설명된 방법들이 구현되는 예시적인 컴퓨팅 장치(500)에 대하여 설명하도록 한다. 예를 들어, 도 43의 컴퓨팅 장치(500)는 도 4의 3차원 모션 영상 생성 장치(100), 도 10에 도시된 객체 영상 생성 장치(200), 도 19의 객체의 동작 유사도 산출 장치(300), 도 30의 모션 영상 생성 장치(400)일 수 있다.
도 43은 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.
도 43에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 43에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 43에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(500)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(530)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(590)로부터 하나 이상의 프로그램(591)을 로드(load) 할 수 있다. 메모리(530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(570)는 컴퓨팅 장치(500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(590)는 하나 이상의 컴퓨터 프로그램(591)을 비임시적으로 저장할 수 있다. 스토리지(590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(591)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 컴퓨터 프로그램(591)은 2차원 영상을 획득하는 동작, 기계학습 된 인공지능 모델을 이용하여 상기 2차원 영상으로부터 객체의 포즈(pose) 데이터를 추출하고, 상기 포즈 데이터를 기초로 3차원 모델링 데이터를 생성하는 동작, 및 상기 3차원 모델링 데이터를 이용하여 3차원 모션 영상을 생성하는 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
또는, 컴퓨터 프로그램(591)은 제1 객체 영상, 및 상기 제1 객체 영상에 대응되는 UV 맵(UV map)을 획득하는 동작, 및 상기 제1 객체 영상 및 상기 UV 맵에 기초하여 객체의 신체 일부가 복원된 제2 객체 영상을 생성하는 동작을 수행하기 위한 인스트럭션들을 포함하고, 상기 제1 객체 영상은 상기 객체의 상기신체 일부가 잘리거나(cropped), 가려지거나(hidden), 폐색된(blocked) 영상일 수 있다.
또는, 컴퓨터 프로그램(591)은 소스 영상 및 타겟 영상이 입력되는 동작, 상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 동작, 상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여, 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 동작을 실행하기 위한 인스트럭션들을 포함하고, 상기 제1 객체 및 상기 제2 객체는 3차원 메쉬 객체이고, 상기 동작 유사도가 산출되는 동작은 메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 동작일 수 있다.
또는, 컴퓨터 프로그램(591)은 문장을 획득하는 동작, 상기 문장 내 하나 이상의 단어를 식별하는 동작, 상기 하나 이상의 단어에 대응되는 부분 영상을 데이터베이스로부터 검색하는 동작, 및 상기 부분 영상을 이용하여 상기 문장에 대응되는 모션 영상을 생성하는 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 컴퓨팅 장치에 의해 수행되는 인공지능 기반의 객체의 동작 유사도 산출 방법에 있어서,
    소스 영상 및 타겟 영상이 입력되는 단계;
    상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 단계;
    상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여, 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 단계를 포함하고,
    상기 제1 객체 및 상기 제2 객체는,
    3차원 메쉬 객체이고,
    상기 동작 유사도가 산출되는 단계는,
    메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 단계인,
    인공지능 기반의 객체의 동작 유사도 산출 방법.
  2. 제1 항에 있어서,
    상기 제1 객체는,
    상기 소스 영상 내 객체를 기초로 상기 객체의 볼륨을 추론하여 생성된 3차원 메쉬 객체인,
    인공지능 기반의 객체의 동작 유사도 산출 방법.
  3. 제1 항에 있어서,
    상기 추출되는 단계는,
    SMPL(Skinned Multi-Person Linear) 모델을 이용하여, 상기 제1 객체 및 상기 제2 객체로부터 상기 제1 특징 벡터 및 상기 제2 특징 벡터가 추출되는,
    인공지능 기반의 객체의 동작 유사도 산출 방법.
  4. 제1 항에 있어서,
    상기 추출되는 단계는,
    SMPL(Skinned Multi-Person Linear) 모델을 이용하여, 상기 제1 객체 및 상기 제2 객체로부터 상기 제1 특징 벡터 및 상기 제2 특징 벡터가 추출되는,
    인공지능 기반의 객체의 동작 유사도 산출 방법.
  5. 제1 항에 있어서,
    상기 동작 유사도는,
    상기 제1 특징 벡터와 상기 제2 특징 벡터의 거리가 가까울수록 높게 산출되는,
    인공지능 기반의 객체의 동작 유사도 산출 방법.
  6. 제1 항에 있어서,
    상기 동작 유사도에 기초하여, 상기 타겟 영상을 상기 소스 영상의 유사 영상 검색 결과로서 제공하는 단계를 더 포함하는,
    인공지능 기반의 객체의 동작 유사도 산출 방법.
  7. 제6 항에 있어서,
    상기 검색 결과로서 제공하는 단계는,
    상기 타겟 영상을 포함하는 복수의 타겟 영상을 각각의 동작 유사도에 기초하여 리스팅(listing)하는,
    인공지능 기반의 객체의 동작 유사도 산출 방법.
  8. 제6 항에 있어서,
    상기 검색 결과로서 제공된 상기 타겟 영상에 대한 사용자 선택을 기초로,
    상기 제1 객체에 상기 제2 객체의 3차원 모션 데이터를 병합하여, 상기 제1 객체가 상기 3차원 모션 데이터에 따라 움직이는 모션 영상을 생성하는 단계를 더 포함하는,
    인공지능 기반의 객체의 동작 유사도 산출 방법.
  9. 제1 항에 있어서,
    상기 동작 유사도에 기초하여, 상기 소스 영상과 상기 타겟 영상 간 유사도 점수를 출력하는 단계를 더 포함하는,
    인공지능 기반의 객체의 동작 유사도 산출 방법.
  10. 프로세서;
    상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    소스 영상 및 타겟 영상이 입력되는 동작,
    상기 소스 영상에 대응되는 제1 객체로부터 제1 특징 벡터가 추출되고, 상기 타겟 영상에 대응되는 제2 객체로부터 제2 특징 벡터가 추출되는 동작,
    상기 제1 특징 벡터 및 상기 제2 특징 벡터에 기초하여, 상기 제1 객체와 상기 제2 객체 간 동작 유사도가 산출되는 동작을 실행하기 위한 인스트럭션들(instructions)을 포함하고,
    상기 제1 객체 및 상기 제2 객체는,
    3차원 메쉬 객체이고,
    상기 동작 유사도가 산출되는 동작은,
    메트릭 러닝(Metric Learning) 기반으로 기계학습된 인공지능 모듈을 이용하여 상기 동작 유사도가 산출되는 동작인,
    인공지능 기반의 객체의 동작 유사도 산출 장치.
KR1020220181232A 2022-07-22 2022-12-22 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치 KR20240013638A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/013842 WO2024136012A1 (ko) 2022-07-22 2023-09-14 인공지능에 기반한 3차원 모션 객체 생성 방법 및 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220091389 2022-07-22
KR20220091389 2022-07-22

Publications (1)

Publication Number Publication Date
KR20240013638A true KR20240013638A (ko) 2024-01-30

Family

ID=89714973

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020220181233A KR20240013639A (ko) 2022-07-22 2022-12-22 문장으로부터 모션 영상을 생성하는 방법 및 장치
KR1020220181230A KR20240014012A (ko) 2022-07-22 2022-12-22 인공지능 기반의 3차원 모션 영상 생성 방법 및 장치
KR1020220181232A KR20240013638A (ko) 2022-07-22 2022-12-22 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치
KR1020220181231A KR20240013637A (ko) 2022-07-22 2022-12-22 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 방법 및 장치

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020220181233A KR20240013639A (ko) 2022-07-22 2022-12-22 문장으로부터 모션 영상을 생성하는 방법 및 장치
KR1020220181230A KR20240014012A (ko) 2022-07-22 2022-12-22 인공지능 기반의 3차원 모션 영상 생성 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220181231A KR20240013637A (ko) 2022-07-22 2022-12-22 인공지능을 기반으로 객체의 일부를 추론하는 객체 영상 생성 방법 및 장치

Country Status (2)

Country Link
KR (4) KR20240013639A (ko)
WO (1) WO2024136012A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101327321B1 (ko) 2009-12-11 2013-11-11 한국전자통신연구원 모션 캡쳐 데이터의 포즈 검색 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101327321B1 (ko) 2009-12-11 2013-11-11 한국전자통신연구원 모션 캡쳐 데이터의 포즈 검색 장치 및 방법

Also Published As

Publication number Publication date
KR20240013637A (ko) 2024-01-30
KR20240013639A (ko) 2024-01-30
KR20240014012A (ko) 2024-01-31
WO2024136012A1 (ko) 2024-06-27

Similar Documents

Publication Publication Date Title
CN110390704B (zh) 图像处理方法、装置、终端设备及存储介质
KR102197553B1 (ko) 파트 기반 키 프레임들 및 선험적 모델을 사용한 견고한 메시 트래킹 및 융합
US10867405B2 (en) Object learning and recognition method and system
US8624901B2 (en) Apparatus and method for generating facial animation
Doulamis et al. Transforming Intangible Folkloric Performing Arts into Tangible Choreographic Digital Objects: The Terpsichore Approach.
CN113272870A (zh) 用于逼真的实时人像动画的系统和方法
Yu et al. A video, text, and speech-driven realistic 3-D virtual head for human–machine interface
CN113012282A (zh) 三维人体重建方法、装置、设备及存储介质
WO2023221684A1 (zh) 数字人生成方法和装置及存储介质
KR20220149717A (ko) 단안 카메라로부터 전체 골격 3d 포즈 복구
KR20240013638A (ko) 인공지능 기반의 객체의 동작 유사도 산출 방법 및 장치
CN116721008A (zh) 一种用户自定义表情合成方法及系统
KR20240013613A (ko) 영상만으로 ai 휴먼 3차원 모션을 생성하는 방법 및 그 기록매체
CN117237521A (zh) 语音驱动人脸生成模型构建方法、目标人说话视频生成方法
Ngô et al. Unified application of style transfer for face swapping and reenactment
CN115035219A (zh) 表情生成方法、装置和表情生成模型的训练方法、装置
CN115937365A (zh) 用于人脸重建的网络训练方法、装置、设备及存储介质
CN114067052A (zh) 漫画化模型构建方法、装置、设备、存储介质及程序产品
Boukhayma et al. Controllable variation synthesis for surface motion capture
US20240169701A1 (en) Affordance-based reposing of an object in a scene
KR102604672B1 (ko) 영상 촬영 가이드 제공 방법, 장치 및 컴퓨터 프로그램
Huang et al. Retargeting video with an end-to-end framework
CN112613495B (zh) 真人视频生成方法、装置、可读存储介质及设备
Guo et al. Synthesis and editing of human motion with generative human motion model
KR20240013611A (ko) 영상의 생략된 신체 부분을 복원하여 전체 3차원 모션을 생성하는 장치 및 방법