KR102118519B1 - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR102118519B1
KR102118519B1 KR1020180145777A KR20180145777A KR102118519B1 KR 102118519 B1 KR102118519 B1 KR 102118519B1 KR 1020180145777 A KR1020180145777 A KR 1020180145777A KR 20180145777 A KR20180145777 A KR 20180145777A KR 102118519 B1 KR102118519 B1 KR 102118519B1
Authority
KR
South Korea
Prior art keywords
electronic device
image
data
model
learning network
Prior art date
Application number
KR1020180145777A
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 KR1020180145777A priority Critical patent/KR102118519B1/ko
Priority to EP19888145.0A priority patent/EP3828756A4/en
Priority to US17/293,715 priority patent/US11501487B2/en
Priority to CN201980066509.7A priority patent/CN112823354A/zh
Priority to PCT/KR2019/013963 priority patent/WO2020105871A1/ko
Application granted granted Critical
Publication of KR102118519B1 publication Critical patent/KR102118519B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • G06K9/00335
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06K9/00208
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • 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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • 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
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 디스플레이, 디스플레이와 전기적으로 연결되어 디스플레이를 제어하는 프로세서, 프로세서와 전기적으로 연결된 메모리를 포함하고, 메모리는 프로세서가, 2D 이미지가 입력되면 3D 모델링 이미지로 변환하도록 설정된 학습 네트워크 모델에 적용하여 획득된 3D 모델링 이미지를 디스플레이에 표시하도록 제어하는 명령어들을 저장하고, 학습 네트워크 모델은 가상의 3D 모델링 데이터를 렌더링하여 획득되는 3D 포즈(pose) 및 3D 포즈에 대응되는 2D 이미지를 이용하여 학습된 학습 네트워크 모델이다.

Description

전자 장치 및 그 제어 방법{ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF}
본 개시는 전자 장치 및 그 제어방법에 관한 것으로, 더욱 상세하게는 이미지 입력 데이터에 포함된 객체의 동작을 인식하는 전자 장치 및 그 제어방법에 대한 것이다.
이미지 데이터를 수신하여 이미지 데이터에 포함된 객체의 동작을 인식하기 위해서 인공지능 학습 네트워크 모델을 이용할 수 있다. 여기서, 학습된 모델은 입력된 이미지에 포함된 객체가 어떤 동작을 취하고 있는지 여부를 판단할 수 있다. 특히, 객체가 어떤 동작을 취하고 있는지 여부를 판단하는 것은 복잡한 계산 과정이 필요하다.
또한, 정확한 인식 결과를 제공하기 위하여 인공 지능 모델은 대량의 학습 데이터를 이용하여야 한다. 일반적으로, 학습 데이터를 생성하기 위해 객체를 직접 카메라로 촬상하는 모션 캡쳐 방식을 이용할 수 있다. 하지만, 모션 캡쳐 방식은 객체를 직접 촬상해야 하는 불편함이 있을 수 있다. 예를 들어, 카메라로 촬상하기에 크기가 너무 크거나, 구하기 어려운 객체가 될 수 있다.
따라서, 모션 캡쳐 방식은 많은 학습 데이터를 생성하기에 물리적으로 한계가 있을 수 있으며 비용이 많이 들 수 있다는 문제점이 있었다.
일본 공개특허공보 특개2014-123366호(공개일: 2014.07.03.), 공개특허공보 제10-2012-0007878호(공개일: 2012.01.25.)
본 개시는 상술한 문제를 개선하기 위해 고안된 것으로, 본 개시의 목적은 3D 휴먼 모델을 이용하여 포즈 식별을 위한 학습 네트워크 모델을 생성하는 전자 장치 및 그의 제어방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 실시 예에 따른 전자 장치는 디스플레이, 상기 디스플레이와 전기적으로 연결되어 상기 디스플레이를 제어하는 프로세서, 상기 프로세서와 전기적으로 연결된 메모리를 포함하고, 상기 메모리는 상기 프로세서가, 2D 이미지가 입력되면 3D 모델링 이미지로 변환하도록 설정된 학습 네트워크 모델에 적용하여 획득된 3D 모델링 이미지를 상기 디스플레이에 표시하도록 제어하는 명령어들을 저장하고, 상기 학습 네트워크 모델은 가상의 3D 모델링 데이터를 렌더링하여 획득되는 3D 포즈(pose) 및 상기 3D 포즈에 대응되는 2D 이미지를 이용하여 학습된 학습 네트워크 모델이다.
여기서, 상기 학습 네트워크 모델은 데이터에 기초하여 3D 휴먼 모델을 복수의 3D포즈로 변형시켜 상기 복수의 3D 포즈 각각에 대응되는 적어도 하나의2D 이미지를 획득할 수 있고, 상기 복수의 3D 포즈 및 상기 복수의 3D 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 학습된 학습 네트워크 모델일 수 있다.
또한, 상기 학습 네트워크 모델은 상기 입력된 2D 이미지에 포함된 객체의 프로필 정보를 식별할 수 있고, 상기 프로필 정보에 대응되는 상기 3D 휴먼 모델을 획득할 수 있다.
또한, 상기 학습 네트워크 모델은 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트가 상기 3D 모델링 데이터에 기초하여 기 설정된 각도 범위 내에서 움직이도록 상기 3D 휴먼 모델의 포즈를 변형시키고, 상기 변형된 포즈에 대응되는 적어도 하나의 2D 이미지를 획득할 수 있다.
또한, 상기 학습 네트워크 모델은 상기 3D 모델링 데이터에 기초하여 3D 휴먼 모델을 상기 3D 포즈로 변형시키고, 상기 3D 포즈에 대해 상이한 방향에 대응되는 복수의 2D 이미지를 획득할 수 있다.
한편, 상기 3D 모델링 데이터는 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트 간 각도 데이터, 각 바디 파트의 길이 데이터 또는 각 바디 파트의 방향 데이터 중 적어도 하나를 포함할 수 있다.
또한, 상기 학습 네트워크 모델은 복수의 3D포즈 및 상기 복수의 3D 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 상기 학습 네트워크 모델에 포함된 뉴럴 네트워크의 가중치를 학습할 수 있다.
한편, 상기 프로세서는 사용자 시점을 변경하기 위한 사용자 명령이 입력되면, 상기 사용자 명령에 대응되는 정보를 상기 학습 네트워크 모델에 입력할 수 있고, 상기 학습 네트워크 모델은 상기 사용자 명령에 대응되는 정보에 기초하여 상기 3D 모델링 이미지를 출력할 수 있다.
여기서, 상기 사용자 시점은 사용자가 바라보는 방향 또는 상기 사용자가 바라보는 거리 중 적어도 하나를 포함할 수 있다.
또한, 상기 프로세서는 3D 휴먼 모델을 변형시키기 위한 포즈 정보를 입력 받기 위한 UI를 제공할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 2D 이미지를 입력 받는 단계 및 상기 입력된 2D 이미지를, 2D이미지를 3D모델링 이미지로 변환하도록 설정된 학습 네트워크 모델에 적용하여 획득된 3D 모델링 이미지를 디스플레이하는 단계를 포함하고, 상기 학습 네트워크 모델은 가상의 3D 모델링 데이터를 렌더링하여 획득되는 3D 포즈(pose) 및 상기 3D 포즈에 대응되는 2D 이미지를 이용하여 학습된 학습 네트워크 모델이다.
여기서, 상기 학습 네트워크 모델은 데이터에 기초하여 3D 휴먼 모델을 복수의 3D포즈로 변형시켜 상기 복수의 3D 포즈 각각에 대응되는 적어도 하나의2D 이미지를 획득할 수 있고, 상기 복수의 3D 포즈 및 상기 복수의 3D 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 학습된 학습 네트워크 모델일 수 있다.
또한, 상기 학습 네트워크 모델은 상기 입력된 2D 이미지에 포함된 객체의 프로필 정보를 식별할 수 있고, 상기 프로필 정보에 대응되는 상기 3D 휴먼 모델을 획득할 수 있다.
또한, 상기 학습 네트워크 모델은 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트가 상기 3D 모델링 데이터에 기초하여 기 설정된 각도 범위 내에서 움직이도록 상기 3D 휴먼 모델의 포즈를 변형시키고, 상기 변형된 포즈에 대응되는 적어도 하나의 2D 이미지를 획득할 수 있다.
또한, 상기 학습 네트워크 모델은 상기 3D 모델링 데이터에 기초하여 3D 휴먼 모델을 상기 3D 포즈로 변형시키고, 상기 3D 포즈에 대해 상이한 방향에 대응되는 복수의 2D 이미지를 획득할 수 있다.
또한, 상기 3D 모델링 데이터는 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트 간 각도 데이터, 각 바디 파트의 길이 데이터 또는 각 바디 파트의 방향 데이터 중 적어도 하나를 포함할 수 있다.
또한, 상기 학습 네트워크 모델은 복수의 3D포즈 및 상기 복수의 3D 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 상기 학습 네트워크 모델에 포함된 뉴럴 네트워크의 가중치를 학습할 수 있다.
또한, 상기 전자 장치의 제어 방법은 사용자 시점을 변경하기 위한 사용자 명령이 입력되면, 상기 사용자 명령에 대응되는 정보를 상기 학습 네트워크 모델에 입력하는 단계를 더 포함할 수 있고, 상기 학습 네트워크 모델은 상기 사용자 명령에 대응되는 정보에 기초하여 상기 3D 모델링 이미지를 출력할 수 있다.
여기서, 상기 사용자 시점은 사용자가 바라보는 방향 또는 상기 사용자가 바라보는 거리 중 적어도 하나를 포함할 수 있다.
또한, 상기 전자 장치의 제어 방법은 3D 휴먼 모델을 변형시키기 위한 포즈 정보를 입력 받기 위한 UI를 제공할 수 있다.
도 1은 이미지에 포함된 객체의 동작을 인식하는 과정을 설명하기 위한 도면이다.
도 2는 모션 캡쳐 방식을 통해 학습 데이터를 획득하는 방법을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 블록도이다.
도 4는 도 3의 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 5는 3D 휴먼 모델을 생성하는 동작을 설명하기 위한 도면이다.
도 6은 도 5에서 생성된 3D 휴먼 모델을 이용하여, 일 실시 예에 따른 2D 이미지를 획득하는 동작을 설명하기 위한 도면이다.
도 7은 도 5에서 생성된 3D 휴먼 모델을 이용하여, 또 다른 실시 예에 따른 2D 이미지를 획득하는 동작을 설명하기 위한 도면이다.
도 8은 도 7에 의해 획득된 2D 이미지에 기초하여 학습 데이터를 획득하는 동작을 설명하기 위한 도면이다.
도 9는 3D 휴먼 모델에 적용 가능한 복수의 포즈를 설명하기 위한 도면이다.
도 10은 도 9에 의해 획득된 2D 이미지에 기초하여 학습 데이터를 획득하는 동작을 설명하기 위한 도면이다.
도 11은 3D 휴먼 모델의 관절 포인트를 설명하기 위한 도면이다.
도 12는 도 11에 따른 3D 휴먼 모델의 관절 포인트에 접촉하는 바디 파트의 움직임을 설명하기 위한 도면이다.
도 13은 3D 휴먼 모델의 특정 바디 파트를 변경하는 동작을 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시 예에 따른 이미지 학습 네트워크 모델을 생성하는 방법을 설명하기 위한 도면이다.
도 15 내지 도 17은 학습부 및 인식부의 동작을 설명하기 위한 도면이다.
도 18은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다." 또는 "구성되다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시의 계산은 머신 러닝 기반의 인식 시스템에 의해 수행될 수 있으며, 본 개시에서는 뉴럴 네트워크(Neural Networks)에 기반한 일련의 기계학습 알고리즘에 의한 분류 시스템으로서, 딥 러닝 기반의 인식 시스템을 예로서 설명한다.
딥 러닝 기반의 인식 시스템은 적어도 하나의 분류기를 포함할 수 있으며, 분류기는 하나 또는 복수 개의 프로세서에 해당할 수 있다. 프로세서는 다수의 논리 게이트들의 어레이(Array)로 구현될 수 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다.
분류기는 뉴럴 네트워크(Neural Network) 기반 분류기, SVM(Support Vector Machine), 에이다부스트 분류기(Adaboost Classifier), 베이지안 분류기(Bayesian Classifier) 및, 퍼셉트론 분류기(Perceptron Classifier) 등으로 구현될 수 있다. 이하, 본 개시의 분류기는 컨볼루션 뉴럴 네트워크(Convolutional Neural Network, CNN) 기반 분류기로 구현되는 실시 예에 대하여 설명한다. 뉴럴 네트워크 기반 분류기는, 연결선으로 연결된 많은 수의 인공 뉴런들을 이용하여 생물학적인 시스템의 계산 능력을 모방하도록 구현된 연산모델로서, 연결 강도(가중치)를 갖는 연결선을 통해 인간의 인지작용이나 학습과정을 수행하게 된다. 그러나, 본 개시의 분류기가 이에 한정되는 것은 아니며, 상술한 다양한 분류기로 구현될 수 있음은 물론이다.
일반적인 뉴럴 네트워크는 입력층(input layer), 은닉층(hidden layer) 및 출력층(output layer)을 포함하며, 은닉층은 필요에 따라서 1 이상의 층으로 구성될 수 있다. 이러한, 뉴럴 네트워크를 학습시키기 위한 알고리즘으로 역전파(Bak Propagation) 알고리즘을 이용할 수 있다.
분류기는 어떠한 데이터가 뉴럴 네트워크의 입력층에 입력되면, 입력된 학습 데이터에 대한 출력 데이터가 뉴럴 네트워크의 출력층으로 출력되도록 뉴럴 네트워크를 학습시킬 수 있다. 촬영 이미지로부터 추출된 특징 정보가 입력되면, 뉴럴 네트워크를 이용하여 특징 정보의 패턴을 여러 클래스 중에서 어느 하나의 클래스로 분류하고, 분류 결과를 출력할 수 있다.
프로세서는 뉴럴 네트워크(Neural Networks)에 기반한 일련의 기계학습 알고리즘에 의한 분류 시스템으로서, 딥 러닝 기반의 인식 시스템을 이용할 수 있다.
도 1은 이미지에 포함된 객체의 동작을 인식하는 과정을 설명하기 위한 도면이다.
사용자가 특정 이미지에 포함된 객체의 포즈를 인식하기 위해 인공 지능 모델을 이용할 수 있다. 예를 들어, 이미지가 입력데이터로서 인공 지능 모델에 입력되면, 인공 지능 모델은 입력된 이미지를 분석할 수 있다. 이미지 학습 네트워크 모델은 입력된 이미지 데이터를 분석할 수 있고, 카테고리 또는 동작 중 적어도 하나에 대한 결과 값을 획득할 수 있다. 도 1에 따른 예시에서는 이미지 학습 네트워크 모델은 체력 훈련이라는 카테고리 또는 푸쉬 업이라는 동작 중 적어도 하나의 정보를 포함하는 결과 값을 획득할 수 있다.
도 2는 모션 캡쳐 방식을 통해 학습 데이터를 획득하는 방법을 설명하기 위한 도면이다.
도 1에서 언급한 이미지 학습 네트워크 모델을 생성하기 위해서는 많은 데이터가 필요할 수 있다. 이미지 학습 네트워크 모델을 생성하기 위한 데이터를 학습 데이터로 명명한다. 전자 장치(100)는 학습 데이터가 많을수록 인식률이 높은 또는 결과의 신뢰도가 높은 이미지 학습 네트워크 모델을 생성할 수 있다.
한편, 이미지 학습 네트워크 모델을 생성하기 위한 학습 데이터를 획득하기 위해 사용자는 모션 캡쳐 방식을 이용할 수 있다. 모션 캡쳐 방식이란, 카메라를 이용하여 객체를 촬상하고 촬상된 이미지를 이용하여 학습 데이터를 생성하는 방식을 의미할 수 있다. 예를 들어, 스튜디오에 적어도 하나의 카메라를 이용하여 특정 객체를 촬상할 수 있다. 여기서, 카메라가 복수개인 경우, 획득되는 2D 이미지는 복수개일 수 있다. 그리고, 촬상된 객체의 동작에 대한 정보를 사람이 직접 입력할 수 있다. 그리고, 전자 장치(100)는 촬상된 객체의 이미지와 사람이 직접 입력한 촬상된 객체의 동작을 매칭하여, 학습 데이터를 생성할 수 있다.
하지만, 도 2에서 설명한 모션 캡쳐 방식에 의한 학습 데이터 생성은 시간과 비용 측면에서 효율적이지 못할 수 있다. 이미지 학습 네트워크 모델이 인식하기 위한 모든 포즈를 직접 촬상해야 하기 때문에, 비용이 많이 들고, 시간이 오래 걸릴 수 있다. 또한, 스튜디오보다 큰 객체의 경우 촬상하는 것이 어려울 수 있다. 또한, 동물과 같이 스튜디오에서 직접 촬영이 용이하지 않은 경우 학습 데이터를 생성하기 어려울 수 있다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 블록도이다.
전자 장치(100)는 메모리(110), 디스플레이(115) 및 프로세서(120)로 구성될 수 있다.
전자 장치(100)는 TV, 데스크탑 PC, 노트북, 스마트폰, 태블릿 PC, 서버 등일 수 있다. 또는, 전자 장치(100)는 클라우딩 컴퓨팅 환경이 구축된 시스템 자체 즉, 클라우드 서버로 구현될 수도 있다. 구체적으로, 전자 장치(100)는 딥 러닝 기반의 인식 시스템을 포함하는 장치일 수 있다. 한편, 상술한 예는 전자 장치를 설명하기 위한 예시에 불과하며 반드시 상술한 장치에 한정되는 것은 아니다.
메모리(110)는 프로세서(120)와 전기적으로 연결되며, 다양한 형태의 메모리로 구현될 수도 있다. 예를 들어, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나로 구현되고, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결 가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 예를 들어 메모리(110)는 프로세서(120)의 동작을 제어하기 위한 명령어를 저장할 수 있다. 일 실시 예에 따라, 메모리(110)는 프로세서(120)가, 2D 이미지가 입력되면 3D 모델링 이미지로 변환하도록 설정된 학습 네트워크 모델에 적용하여 획득된 3D 모델링 이미지를 디스플레이에 표시하도록 제어하는 명령어들을 저장하고 있을 수 있다.
또한, 메모리(120)는 본 발명의 일 실시 예에 따른 학습 네트워크 모델을 저장할 수 있다. 여기서, 학습 네트워크 모델은 가상의 3D 모델링 데이터를 렌더링하여 획득되는 3D 포즈(pose) 및 3D 포즈에 대응되는 2D 이미지를 이용하여 학습된 학습 네트워크 모델일 수 있다.
디스플레이(115)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
또한, 본 발명의 일 실시 예에 따른, 디스플레이(115)는 영상을 출력하는 디스플레이 패널뿐만 아니라, 디스플레이 패널을 하우징하는 베젤을 포함할 수 있다. 특히, 본 발명의 일 실시 예에 따른, 베젤은 사용자 인터렉션을 감지하기 위한 터치 센서(미도시)를 포함할 수 있다. 프로세서(120)는 메모리(130)와 전기적으로 연결되어 전자 장치의 전반적인 제어 동작을 수행할 수 있다. 구체적으로, 프로세서는 전자 장치의 전반적인 동작을 제어하는 기능을 한다.
프로세서(120)는 디지털 영상 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
프로세서(120)는 디스플레이(115)와 전기적으로 연결되어 디스플레이를 제어할 수 있다.
또한, 프로세서(120)는 메모리(110)에 저장된 명령어에 따라 학습 네트워크 모델에 2D 이미지를 입력하고, 학습 네트워크 모델로부터 출력되는 3D 모델링 이미지를 디스플레이(115)에 표시할 수 있다. 여기서, 2D 이미지는 촬영 영상, 예를 들어 정지 영상 또는 동영상 중 적어도 하나일 수 있다.
여기서, 학습 네트워크 모델은 상술한 바와 같이 가상의 3D 모델링 데이터를 렌더링하여 획득되는 3D 포즈(pose) 및 3D 포즈에 대응되는 2D 이미지를 이용하여 학습된 학습 네트워크 모델일 수 있다. 여기서, 3D 모델링 이미지란 가상의 3D 캐릭터 이미지를 의미할 수 있다. 예를 들어, 남자 아이가 축구를 하고 있는 모습을 사진기를 통해 찍었다고 가정한다. 사진기에 의해 촬상된 남자 아이의 모습이 2D 이미지에 포함될 수 있다. 2D 이미지가 학습 네트워크 모델에 입력되면, 학습 네트워크 모델은 2D 이미지를 분석하여 2D 이미지에 포함된 객체를 식별할 수 있다. 학습 네트워크 모델은 2D 이미지에 포함된 객체가 남자 아이이며, 축구를 하고 있는 모습을 식별할 수 있다. 그리고, 학습 네트워크 모델은 남자 아이가 축구를 하고 있는 모습의 3D 모델링 이미지를 생성할 수 있다. 2D 이미지에서는 실제 축구를 하는 남자 아이의 모습을 포함하고 있으며, 3D 모델링 이미지에서는 가상의 3D 캐릭터(남자 아이의 3D캐릭터)가 축구를 하는 장면을 포함하고 있을 수 있다.
즉, 학습 네트워크 모델은 입력된 2D 이미지에 대응되는 3D 모델링 이미지를 생성(획득)할 수 있다.
일 예에 따라 프로세서(120)는 3D 휴먼 모델에 3D 모델링 데이터를 적용하여 학습용 2D 이미지를 생성하도록 제어할 수 있다. 그리고, 프로세서(120)는 학습 네트워크 모델을 통하여 입력용 2D 이미지를 변환하여 3D 모델링 이미지를 생성할 수 있다. 여기서, 3D 모델링 데이터란 3D 모델링 이미지를 획득하는데 이용되는 다양한 데이터를 포함할 수 있다. 즉, 상이한 3D 모델링 데이터에 따라 상이한 3D 모델링 이미지가 획득될 수 있다.
예를 들어, 여자 형상의3D 휴먼 모델이 있다고 가정한다. 여자인 3D 휴먼 모델이 도 9에서 도시하고 있는 4가지 3D 포즈를 취하는 경우, 각 포즈에 따라 3D 모델링 데이터가 상이할 수 있다. 3D 모델링 데이터가 변경되면, 학습 네트워크 모델로부터 출력되는 3D 모델링 이미지가 변경되므로, 디스플레이(115)에 디스플레이되는3D 휴먼 모델의 동작, 크기, 방향 등이 변경될 수 있다.
한편, 3D 휴먼 모델과 3D 캐릭터는 가상 공간에 표시되는 가상 모델이라는 점에서 동일 또는 유사한 것일 수 있다. 다만, 본 명세서에서는 설명의 편의를 위하여 학습 데이터를 생성하는 과정에서 이용되는 가상의 캐릭터를 3D 휴먼 모델로 명명하고, 입력된 2D 이미지에 대응되는 3D 모델링 이미지에 대응되는 가상의 캐릭터를 3D 캐릭터로 기술하였다. 다만, 처음부터 2D 이미지에 대응되는 3D 휴먼 모델을 이용하는 경우 3D 휴먼 모델과 3D 캐릭터가 동일할 수 있음은 물론이다.
한편, 학습 네트워크 모델은 데이터에 기초하여 3D 휴먼 모델을 복수의 3D포즈로 변형시켜 복수의 3D 포즈 각각에 대응되는 적어도 하나의2D 이미지를 획득할 수 있고, 복수의 3D 포즈 및 복수의 3D 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 학습될 수 있다. 예를 들어, 3D 휴먼 모델이 제1 포즈에 해당하는 3D 포즈를 취하고 있다고 가정한다. 3D 휴먼 모델은 디스플레이(115)에서 하나의 이미지로 표현될 수 있다. 하지만, 3D 휴먼 모델은 입체이기 때문에 360도 어느 방향에서도 바라볼 수 있으며 보는 위치에 따라 3D 휴먼 모델의 크기도 달라질 수 있다. 제1 포즈를 취하고 있는 3D 휴먼 모델은 바라보는 위치, 각도, 거리 정보(3D 모델링 데이터)등에 따라 복수의 2D 이미지를 획득할 수 있다. 복수의 2D 이미지를 획득하는 구체적인 동작은 도 6 및 도 7에서 후술한다.
프로세서(120)는 3D 휴먼 모델이 취하는 복수의 포즈 각각에 대한 2D 이미지를 획득할 수 있다. 여기서, 하나의 포즈에 대응되는 2D 이미지는 복수 개일 수 있다. 구체적으로, 3D 휴먼 모델이 하나의 포즈를 취하더라도 복수의 방향에 대응되는 2D 이미지는 복수 개일 수 있다. 여기서, 상이한 방향이란 3차원 공간에서 3D 휴먼 모델을 바라보는 가상의 방향(또는 카메라 시점)이 상이할 수 있다는 것을 의미할 수 있다. 예를 들어, 3차원 공간에 3D 휴먼 모델이 있다고 가정한다. 3D 휴먼 모델은 전면에서 보는 경우와 후면에서 보는 경우 전혀 다른 이미지를 표시할 수 있으며, 프로세서(120)는 방향 정보를 고려하여 전혀 다른 2D 이미지를 획득할 수 있다. 여기서 방향 정보는 사용자가 3D 휴먼 모델을 바라본다고 가정했을 때 바라보는 위치가 될 수 있다. 예를 들어, 프로세서(120)는 3D 휴먼 모델을 사용자가 우측에서 바라본다고 가정했을 때 사용자가 인지 할 수 있는 2D 이미지를 획득할 수 있다. 실제로 사용자가 우측에서 볼 수 있다는 의미는 아니며, 가상 공간에 생성된 3D 휴먼 모델을 가상 공간의 우측에서 바라보는 것을 가정하는 것이다.
또한, 학습 네트워크 모델은 입력된 2D 이미지에 포함된 객체의 프로필 정보를 식별할 수 있고, 프로필 정보에 대응되는 3D 휴먼 모델을 획득할 수 있다. 여기서, 프로필 정보란 입력된 2D 이미지에 포함되는 객체의 정보를 의미할 수 있다. 객체는 일반적으로, 사람 또는 동물에 해당할 수 있다. 또한, 프로필 정보는 2D 이미지에 포함된 객체의 모습(동작)을 특정할 수 있는 다양한 정보를 의미할 수 있다. 예를 들어, 프로필 정보는 성별, 나이, 키, 얼굴 유형, 머리스타일, 동작 중 적어도 하나에 해당하는 정보를 의미할 수 있다. 여기서, 동작은 객체가 어떠한 모션을 취하고 있는지를 나타내는 정보일 수 있다.
또한, 학습 네트워크 모델은 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트가 3D 모델링 데이터에 기초하여 기 설정된 각도 범위 내에서 움직이도록 3D 휴먼 모델의 포즈를 변형시키고, 변형된 포즈에 대응되는 적어도 하나의 2D 이미지를 획득할 수 있다.
여기서, 바디 파트란 관절과 관절 사이를 연결한 몸 일부를 의미한다. 예를 들어, 손목 관절과 팔꿈치 사이에 연결된 몸 일부분이 바디 파트가 될 수 있다.
3D 휴먼 모델은 복수개의 관절을 포함할 수 있다. 여기서, 관절이란, 사람 또는 동물을 기준으로 뼈와 뼈가 연결되는 부분을 의미할 수 있다. 일반적으로 사람 또는 동물은 특정 관절에 따라 뼈가 움직일 수 있는 범위가 한정된다. 예를 들어, 목은 상하좌우로 움직이지만, 목이 360도로 돌아가지 않는다. 이것은 관절 부위가 뼈가 움직일 수 있는 범위를 한정하고 있기 때문이다. 학습 네트워크 모델은 3D 휴먼 모델의 관절마다 상이한 각도를 적용하여 3D 휴먼 모델의 포즈를 변형시킬 수 있다. 그리고, 학습 네트워크 모델은 변형된 포즈에 대응되는 2D 이미지를 획득할 수 있다. 한편, 관절에 대해서는 도 11 및 도 12에서 후술한다.
또한, 학습 네트워크 모델은 3D 모델링 데이터에 기초하여 3D 휴먼 모델을 3D 포즈로 변형시키고, 3D 포즈에 대해 상이한 방향에 대응되는 복수의 2D 이미지를 획득할 수 있다. 특정 포즈로 변형시키는 동작은 도 9 및 도 10에서 후술한다. 그리고, 상이한 방향에 대응되는 복수의 2D 이미지를 획득하는 과정은 도 6 및 도 7에서 후술한다.
한편, 3D 모델링 데이터는 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트 간 각도 데이터, 각 바디 파트의 길이 데이터 또는 각 바디 파트의 방향 데이터 중 적어도 하나를 포함할 수 있다. 관절 및 복수의 바디 파트에 대해서는 도 11 및 도 12에서 후술한다.
또한, 학습 네트워크 모델은 복수의 3D포즈 및 복수의 3D 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 학습 네트워크 모델에 포함된 뉴럴 네트워크의 가중치를 학습할 수 있다.
한편, 프로세서(120)는 사용자 시점을 변경하기 위한 사용자 명령이 입력되면, 사용자 명령에 대응되는 정보를 학습 네트워크 모델에 입력할 수 있다. 학습 네트워크 모델은 사용자 명령에 대응되는 정보에 기초하여 3D 모델링 이미지를 출력할 수 있다. 3D 모델링 이미지는 3D 캐릭터를 표시하는 이미지일 수 있으며, 사용자 시점이란, 전자 장치(100)의 사용자 입장에서 바라보는 기준으로, 카메라의 촬영 시점과 유사한 의미가 될 수 있다
여기서, 사용자 시점은 사용자가 바라보는 방향 또는 사용자가 바라보는 거리 중 적어도 하나를 포함할 수 있다. 예를 들어, 전자 장치(100)의 사용자가 가상 공간 안에서 3D 캐릭터를 정면에서 바라보는 경우, 측면에서 바라보는 경우, 후면에서 바라보는 경우 시점이 상이할 수 있다. 사용자의 시점에 따라 상이한 2D 이미지가 획득될 수 있다는 내용은 도 6 및 도 7에서 후술한다.
또한, 프로세서(120)는 3D 휴먼 모델을 변형시키기 위한 포즈 정보를 입력 받기 위한 UI를 제공할 수 있다. 여기서, UI는 카테고리 정보 및 포즈 정보를 포함할 수 있다. 예를 들어, 축구 카테고리에는 헤딩 포즈, 슛 포즈, 드로잉 포즈, 슬라이딩 포즈 등이 포함될 수 있다. 프로세서(120)는 사용자가 특정 카테고리를 선택하면, 해당 카테고리에 대응되는 정보를 학습 네트워크 모델에 입력하고, 학습 네트워크 모델로부터 출력되는 3D 모델링 이미지를 디스플레이 상에 제공할 수 있다.
한편, 학습 네트워크 모델은 3D 휴먼 모델을 복수의 포즈로 변형시켜 복수의 포즈 각각에 대응되는 적어도 하나의2D 이미지를 획득하고, 복수의 포즈 및 복수의 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 학습할 수 있다.
예를 들어, 학습 네트워크 모델은, 제1 포즈에 대응되는 복수의 제1 3D 모델링 데이터에 기초하여 제1 포즈에 대응되는 복수의 2D 이미지를 획득하고, 제2 포즈에 대응되는 복수의 제2 3D 모델링 데이터에 기초하여 제2 포즈에 대응되는 복수의 2D 이미지를 획득할 수 있다. 여기서 제1 포즈와 제2포즈는 서로 다른 포즈일 수 있다.
여기서, 제1 3D 모델링 데이터는 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트 간 제1 각도 데이터, 각 바디 파트의 제1 길이 데이터 또는 각 바디 파트의 제1 방향 데이터 중 적어도 하나를 포함할 수 있고, 제2 3D 모델링 데이터는 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트 간 제2 각도 데이터, 각 바디 파트의 제2 길이 데이터 또는 각 바디 파트의 제2 방향 데이터 중 적어도 하나를 포함할 수 있다.
예를 들어, 양팔을 벌린 상태로 서 있는 포즈에 대해서 복수 개의 3D 모델링 데이터가 존재할 수 있다. . 예를 들어, 똑 같이 양팔을 벌린 상태로 서 있는 동작이라고 하더라도 양팔을 벌린 각도의 차이 또는 양발이 떨어진 길이의 차이 등에 따라 3D 모델링 데이터가 상이할 수 있다. 예를 들어, 각 3D 모델링 데이터는, 동일한 포즈를 나타내지만 바디 파트간 각도 데이터, 바디 파트의 길이 데이터, 바디 파트의 방향 데이터 중 적어도 하나가 상이할 수 있다. 예를 들어, 양팔을 벌려 서있는 포즈에 대해서 팔과 몸통의 각도가 90도인 경우 및 85도인 경우가 있을 수 있다. 이에 따라 학습 네트워크 모델은 하나의 포즈에 대해 상이한 3D 모델링 데이터를 학습할 수 있다.
또한, 학습 네트워크 모델은, 상이한 3D 모델링 데이터에 기초하여 획득된 복수의 포즈 및 복수의 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 뉴럴 네트워크의 가중치를 학습할 수 있다. 예를 들어, 학습 네트워크 모델은, 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트간 각도, 각 바디 파트의 길이 또는 각 바디 파트의 방향 중 적어도 하나에 기초하여 획득된 복수의 포즈 및 복수의 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 뉴럴 네트워크의 가중치를 학습할 수 있다.
본원은 가상의 객체를 생성하여 가상의 공간에서 객체를 변형하고 다양한 방향 정보를 고려하여 복수의 2D 이미지를 획득하는 동작을 개시한다. 본원은 실제 객체를 촬상하지 않아도 되므로 시간 및 비용을 절약할 수 있다.
인공 지능 학습 네트워크 모델에서 학습 데이터가 많을수록 인식률이 좋아질 수 있다. 본원과 같은 방식으로 다양한 학습 데이터를 생성할 수 있다는 점에서 인식률이 좋은 인공 지능 모델을 생성하는데 도움이 될 수 있다.
그리고 실제 모델(배우)를 이용하는 모션 캡쳐 방식은 후처리 작업이 필요하게 되어 학습 데이터 생성 시간이 오래 걸릴 수 있다. 하지만, 본원은 후처리 작업이 따로 필요하지 않고 프로그램이 자동으로 2D 이미지를 획득하므로, 학습 데이터 생성 시간을 단축 시킬 수 있다.
한편, 본원 방식은 가상의 3D 휴먼 모델을 이용한다는 점에서 실제 모델을 이용하는 것과 비교하여 오차가 있을 수 있다. 이러한 오차를 제거하기 위하여, 3D 휴먼 모델에서 획득된 2D 이미지 및 실제 객체(카메라에 의해 촬상된 객체)에서 획득된 2D 이미지를 모두 이용하여 학습 데이터를 생성할 수 있다.
한편, 상술한 실시 예에서는 전자 장치(100)에 디스플레이가 포함되는 것으로 설명하였지만, 실제 구현 시 전자 장치(100)는 학습 네트워크 모델과 관련된 동작 만을 수행하고, 3D 휴먼 모델을 표시하는 동작은 별도의 디스플레이 장치에서 이루어질 수도 있다.
또한, 스튜디오에서 촬영하기 어려운 동작을 학습 데이터로 생성하기 위해선, 기존의 방식으로 제약 사항이 많을 수 있다. 예를 들어, 스포츠 동작은 특정 동작을 촬영하는 것이 매우 어려울 수 있다. 공중에서 멈춰 있거나 모델(배우가) 취하기 어려운 포즈의 경우 학습 데이터를 생성하는 것이 어려울 수 있다. 하지만, 본원 방식에 의하면 시뮬레이션을 통해 쉽게 학습 데이터를 생성할 수 있다. 그리고, 다양한 각도 및 방향에 대한 학습 데이터가 생성되므로, 인식률이 오히려 증가하는 효과를 기대할 수 있다.
한편, 상술한 설명에서는 3D 캐릭터를 설명함에 있어 3D 휴먼 모델 즉 사람임을 한정하여 설명하였다. 하지만, 이는 일 실시 예에 불과하며 3D 휴먼 모델 이외에 동물이 될 수 있다. 이에 따라 본원에 따른 학습 네트워크 모델은 동물에 대한 모습 또는 포즈를 인식하기 위한 학습 네트워크 모델일 수도 있다. 또 다른 실시 예에 따라 학습 네트워크 모델은 사람 및 동물 이외에 다른 객체를 인식하기 위한 학습 네트워크 모델일 수 있다.
도 4는 도 3의 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 4를 참조하면, 본 개시의 일 실시 예의 전자 장치(100)는 메모리(110), 디스플레이(115), 프로세서(120), 통신 인터페이스(130), 사용자 인터페이스(140), 입출력 인터페이스(150)로 구성될 수 있다.
메모리(110) 및 프로세서(120)의 동작 중에서 앞서 설명한 것과 동일한 동작에 대해서는 중복 설명은 생략한다.
프로세서(120)는 메모리(110)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(120)는 RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 134-n), 버스(125)를 포함한다.
RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 134-n) 등은 버스(125)를 통해 서로 연결될 수 있다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 메모리(110)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 메모리(110)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
메인 CPU(123)는 메모리(110)에 액세스하여, 메모리(110)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(110)에 저장된 각종 프로그램, 컨텐츠 데이터 등을 이용하여 다양한 동작을 수행한다.
제1 내지 n 인터페이스(124-1 내지 134-n)는 상술한 각종 구성 요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
한편, 프로세서(120)는 그래픽 처리 기능(비디오 처리 기능)을 수행할 수 있다. 예를 들어, 프로세서(120)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다. 여기서, 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산할 수 있다. 그리고, 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. 또한, 프로세서(120)는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
한편, 프로세서(120)는 오디오 데이터에 대한 처리를 수행할 수 있다. 구체적으로, 프로세서(120)는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
한편, 프로세서(120)는 GPU(Graphics Processing Unit) 또는 NPU(Neural Processing Unit)를 포함할 수 있다. GPU는 그래픽처리를 위한 고성능의 처리장치에 해당할 수 있으며, NPU는 AI 칩셋으로서 AI accelerator일 수 있다. 한편, NPU는 GPU를 대신하여 또는 함께 딥러닝 모델을 실행하는 처리 장치에 해당할 수 있다.
통신 인터페이스(130)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 인터페이스(130)는 와이파이 모듈(131), 블루투스 모듈(132), 적외선 통신 모듈(133), 및 무선 통신 모듈(134) 등을 포함한다. 프로세서(120)는 통신 인터페이스(130)를 이용하여 각종 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 TV와 같인 디스플레이 장치, set-top box와 같은 영상 처리 장치, 외부 서버, 리모컨과 같은 제어 장치, 블루투스 스피커와 같은 음향 출력 장치, 조명 장치, 스마트 청소기, 스마트 냉장고와 같은 가전 기기, IOT 홈 매니저 등과 같은 서버 등을 포함할 수 있다.
와이파이 모듈(131), 블루투스 모듈(132)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈(131)이나 블루투스 모듈(132)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
적외선 통신 모듈(133)은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈(134)은 상술한 와이파이 모듈(131) 및 블루투스 모듈(132) 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 통신 규격에 따라 통신을 수행하는 모듈을 의미한다.
그 밖에 통신 인터페이스(130)는LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.
일 예에 따라 통신 인터페이스(130)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 동일한 통신 모듈(예를 들어, Wi-Fi 모듈)을 이용할 수 있다.
다른 예에 따라 통신 인터페이스(130)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 상이한 통신 모듈(예를 들어, Wi-Fi 모듈)을 이용할 수 있다. 예를 들어, 통신 인터페이스(130)는 외부 서버와 통신하기 위해 이더넷 모듈 또는 WiFi 모듈 중 적어도 하나를 이용할 수 있고, 리모컨과 같은 외부 장치와 통신하기 위해 BT 모듈을 이용할 수도 있다. 다만 이는 일 실시 예에 불과하며 통신 인터페이스(130)는 복수의 외부 장치 또는 외부 서버와 통신하는 경우 다양한 통신 모듈 중 적어도 하나의 통신 모듈을 이용할 수 있다.
한편, 통신 인터페이스(130)는 구현 예에 따라 튜너 및 복조부를 추가적으로 포함할 수 있다.
튜너(미도시)는 안테나를 통해 수신되는 RF(Radio Frequency) 방송 신호 중 사용자에 의해 선택된 채널 또는 기 저장된 모든 채널을 튜닝하여 RF 방송 신호를 수신할 수 있다.
복조부(미도시)는 튜너에서 변환된 디지털 IF 신호(DIF)를 수신하여 복조하고, 채널 복호화 등을 수행할 수도 있다.
사용자 인터페이스(140)는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 상술한 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
입출력 인터페이스(150)는 HDMI(High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP(Display Port), 썬더볼트(Thunderbolt), VGA(Video Graphics Array)포트, RGB 포트, D-SUB(D-subminiature), DVI(Digital Visual Interface) 중 어느 하나의 인터페이스일 수 있다.
HDMI는 오디오 및 비디오 신호를 입출력하는 AV 기기용 고성능 데이터의 전송이 가능한 인터페이스이다. DP는 1920x1080의 풀HD급은 물론, 2560x1600이나 3840x2160과 같은 초고해상도의 화면, 그리고 3D 입체영상을 구현할 수 있고, 디지털 음성 또한 전달 가능한 인터페이스이다. 썬더볼트는 고속 데티어 전송 및 연결을 위한 입출력 인터페이스이며, PC, 디스플레이, 저장장치 등을 모두 하나의 포트로 병렬 연결할 수 있다.
입출력 인터페이스(150)는 오디오 및 비디오 신호 중 적어도 하나를 입출력 할 수 있다.
구현 예에 따라, 입출력 인터페이스(150)는 오디오 신호만을 입출력하는 포트와 비디오 신호만을 입출력하는 포트를 별개의 포트로 포함하거나, 오디오 신호 및 비디오 신호를 모두 입출력하는 하나의 포트로 구현될 수 있다.
외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 하나로 구현될 수 있다. 예를 들어, 외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 Wi-Fi모듈로 동일할 수 있다.
외부 장치 및 외부 서버와의 통신을 위한 통신 모듈은 별개로 구현될 수 있다. 예를 들어, 외부 장치와는 Bluetooth 모듈을 이용하여 통신하고, 외부 서버와는 이더넷 모뎀 또는 Wi-Fi모듈을 이용하여 통신할 수 있다.
도 5는 3D 휴먼 모델을 생성하는 동작을 설명하기 위한 도면이다.
이미지 학습 네트워크 모델을 생성하기 위하여, 사용자는 전자 장치(100)를 이용하여 3D 휴먼 모델(3D 캐릭터)을 생성하고, 3D 휴먼 모델에 특정 포즈를 취하도록 전자 장치(100)를 제어할 수 있다. 여기서, 3D 휴먼 모델은 사용자의 설정에 따라 다양한 모델(캐릭터)가 생성될 수 있다. 그리고, 사용자는 특정 포즈를 취한 3D 휴먼 모델을 이용하여 2D 이미지를 획득하도록 전자 장치(100)를 제어할 수 있다. 상술한 동작을 3D 휴먼 모델(3D 캐릭터) 캡쳐 방식으로 명명할 수 있다. 도 2에서 설명한 모션 캡쳐 방식은 실제 객체를 카메라를 이용하여 촬상하는 방식이었지만, 도 5에서 설명하는 3D 휴먼 모델(3D 캐릭터) 캡쳐 방식은 카메라를 이용하지 않는다. 3D 휴먼 모델 캡쳐 방식은 가상으로 생성된 3D 휴먼 모델에 기초하여 2D 이미지를 획득한다. 2D 이미지를 획득하는 구체적인 방법은 도 6 및 도 7에서 후술한다.
한편, 본 개시에 따른 일 실시 예는 3D 휴먼 모델을 설명하고 있지만, 반드시 사람 모델에 한정되는 것은 아니다. 예를 들어, 사람 모델이 아닌 동물 모델이 될 수 있다. 다른 예에 따라, 전자 장치(100)는 다양한 객체 모델을 이용할 수 있다.
도 6은 도 5에서 생성된 3D 휴먼 모델을 이용하여, 일 실시 예에 따른 2D 이미지를 획득하는 동작을 설명하기 위한 도면이다.
전자 장치(100)는 생성된 3D 휴먼 모델이 특정 포즈를 취하도록 제어할 수 있다. 여기서 특정 포즈란, 사용자의 설정에 따른 포즈가 될 수 있다. 예를 들어, 사용자가 3D 휴먼 모델이 팔을 벌리고 있는 포즈를 취하도록 제어 명령을 전자 장치(100)에 입력하면, 전자 장치(100)는 3D 휴먼 모델이 팔을 벌리고 있는 포즈를 취하도록 제어할 수 있다. 여기서, 전자 장치(100)는 디스플레이를 포함할 수 있고, 전자 장치(100)는 디스플레이에 3D 휴먼 모델이 팔을 벌리고 있는 포즈를 표시할 수 있다.
한편, 전자 장치(100)는 특정 포즈를 취하고 있는 3D 휴먼 모델에 기초하여 2D 이미지를 획득할 수 있다. 구체적으로, 전자 장치(100)는 3D 휴먼 모델을 3차원 공간에 생성할 수 있고, 전자 장치(100)는 3차원 공간에서 3D 휴먼 모델을 바라보는 방향에 기초하여 2D 이미지를 획득할 수 있다.
도 6을 참고하면, 전자 장치(100)의 디스플레이 상에 앞을 바라보고 있는 3D 휴먼 모델이 있다. 여기서, 전자 장치(100)는 3D 휴먼 모델의 정면 이미지, 좌측면 이미지(3D캐릭터를 바라보는 시점에서 좌측), 후면 이미지, 우측면 이미지(3D 캐릭터를 바라보는 시점에서 우측)를 획득할 수 있다.
정면 이미지란, 3차원 공간에 생성된 3D 휴먼 모델을 정면에서 바라본 이미지일 수 있다. 여기서, 3D 휴먼 모델을 정면에서 바라본다는 의미는 사용자 기준에서 정면(3D 휴먼 모델 기준으로 정면)에서 바라봤을 때 인지 가능한 2D 이미지 정보를 획득하는 것을 의미할 수 있다. 좌측면 이미지는 전자 장치(100)의 디스플레이를 이용하는 사용자 입장에서 좌측면(3D 휴먼 모델 기준으로 우측면)에서 바라봤을 때 인지 가능한 2D 이미지 정보를 의미할 수 있다. 후면 이미지는 전자 장치(100)의 디스플레이를 이용하는 사용자 입장에서 후면(3D 휴먼 모델 기준으로 후면)에서 바라봤을 때 인지 가능한 2D 이미지 정보를 의미할 수 있다. 우측면 이미지는 3D 휴먼 모델의 디스플레이를 이용하는 사용자 입장에서 우측면(3D 휴먼 모델 기준으로 좌측면)에서 바라봤을 때 인지 가능한 2D 이미지를 의미할 수 있다.
도 6에서는 4가지 방향에 따른 2D 이미지 획득 방법을 설명하였다. 하지만, 이는 예시 적인 것에 불과하며, 어느 방향에서도 3차원 공간에서 3D 휴먼 모델을 바라본 2D 이미지를 획득할 수 있다. 즉, 전자 장치(100)는 360도 어느 방향에서도 3D 휴먼 모델에 기초한 2D 이미지를 획득할 수 있다.
전자 장치(100)는 3D 휴먼 모델에 대한 3차원 이미지 정보를 포함하고 있기 때문에, 특정 방향에서 바라봤을 때 인지 가능한 이미지 정보를 획득할 수 있다. 예를 들어, 특정 방향에서 바라본 것과 같은 2D 이미지를 획득하기 위해, 전자 장치(100)는 3차원 이미지 정보 중 특정 차원의 정보를 제거하고 2차원 이미지 정보만을 획득할 수 있다. 그리고, 전자 장치(100)는 도 6에서 설명한 방식으로 3D 휴먼 모델이 취한 하나의 포즈에 대하여 복수의 2D 이미지를 획득할 수 있다.
도 7은 도 5에서 생성된 3D 휴먼 모델을 이용하여, 또 다른 실시 예에 따른 2D 이미지를 획득하는 동작을 설명하기 위한 도면이다.
도 7을 참고하면, 전자 장치(100)는 생성된 3D 휴먼 모델을 다양한 각도로 회전시킬 수 있다. 그리고, 전자 장치(100)는 디스플레이상에 다양한 각도로 회전된 3D 휴먼 모델을 3차원 공간에서 회전되는 것처럼 표시할 수 있다. 그리고, 전자 장치(100)는 회전되는 3D 휴먼 모델을 이용하여 2D 이미지를 획득할 수 있다. 예를 들어, 전자 장치(100)는 3D 휴먼 모델의 회전에 따라 “프린트 스크린 기능”을 수행함으로써 3D 휴먼 모델의 2D 이미지를 획득할 수 있다. “프린트 스크린 기능”이란 디스플레이상에 표시되는 특정 영역의 이미지를 보이는 그대로 캡쳐하는 것을 의미할 수 있다.
도 7을 참고하면, 전자 장치(100)는 사용자 설정 또는 기 설정된 이벤트에 따라 회전되는 3D 휴먼 모델의 2D 이미지를 “프린트 스크린 기능”을 통해 획득할 수 있다. 그리고, 전자 장치(100)는 도 7에서 설명한 방식으로 3D 휴먼 모델이 취한 하나의 포즈에 복수의 2D 이미지를 획득할 수 있다.
도 8은 도 7에 의해 획득된 2D 이미지에 기초하여 학습 데이터를 획득하는 동작을 설명하기 위한 도면이다.
전자 장치(100)가 도 7에서와 같이, 전면, 좌측면, 후면, 우측면 이미지(총 4가지의 2D 이미지)를 획득한 것으로 가정한다. 전자 장치(100)는 2D 이미지를 이용하여 학습 데이터를 생성할 수 있다. 전자 장치(100)는 학습 데이터를 생성하기 위해 획득된 2D 이미지를 특정 포즈와 매칭 시킬 수 있다.
예를 들어, 도 7에서 3D 휴먼 모델은 팔을 벌리고 있는 자세를 취할 수 있다. 전자 장치(100)는 사용자의 명령에 따라 3D 휴먼 모델이 팔을 벌리고 있는 포즈를 취하도록 제어할 수 있으며, 전자 장치(100)는 팔을 벌리고 있는 포즈를 취하는 3D 휴먼 모델의 화면을 디스플레이상에 표시할 수 있다. 여기서, 팔을 벌리고 있다는 포즈(제1 포즈)는 포즈의 이름이 될 수 있다. 그리고, 해당 포즈에 대한 카레고리를 사용자가 직접 정의할 수 있다. 도 7에서 설명하고 있는 팔을 벌리고 있는 포즈는 “기본 자세”라는 카테고리에 해당할 수 있다.
도 7을 참고하면, 전자 장치(100)는 카테고리 또는 포즈 중 적어도 하나와 2D 이미지를 매칭시킬 수 있다. 그리고, 매칭된 정보들을 학습 데이터로 이용할 수 있다. 전자 장치(100)는 하나의 포즈에 해당하는 복수의 2D 이미지를 학습 데이터로 이용할 수 있다. 전자 장치(100)는 복수의 2D 이미지를 학습 데이터 획득부로 전송할 수 있다. 그리고, 전자 장치(100)는 학습 데이터 획득부에서 획득된 2D 이미지들을 이용하여 이미지 학습 네트워크 모델을 생성할 수 있다. 학습 데이터 획득부에 대해선 도 15내지 도 17에서 구체적으로 후술한다.
하나의 카테고리에는 복수의 포즈가 포함될 수 있다. 예를 들어, 기본 자세에는 팔을 벌리고 있는 포즈, 팔을 모으고 있는 포즈, 앉아서 팔을 무릎에 놓는 포즈, 팔을 모으면서 고개를 숙이는 포즈 등 다양한 포즈를 포함할 수 있다.
또한, 하나의 포즈가 복수의 카테고리에 포함될 수 있다. 예를 들어, 발차기 포즈는 축구 카테고리, 격투기 카테고리, 럭비 카테고리 등 다양한 카테고리에 포함될 수 있다. 여기서, 이미지 학습 네트워크 모델에 입력된 이미지가 발차기 포즈에 해당되는 경우, 전자 장치(100)는 축구 카테고리, 격투기 카테고리, 럭비 카테고리에 해당될 확률 값을 획득할 수 있다. 또한, 전자 장치(100)는 가장 높은 확률 값을 갖는 카테고리를 최종 인식된 출력 값으로 결정할 수 있다.
도 9는 3D 휴먼 모델에 적용 가능한 복수의 포즈를 설명하기 위한 도면이다.
도 9를 참고하면, 전자 장치(100)는 3D 휴먼 모델을 이용하여 다양한 포즈를 취하도록 제어할 수 있다. 예를 들어, 전자 장치(100)는 3D 휴먼 모델이 제1 포즈, 제2 포즈, 제3 포즈 또는 제4 포즈 중 어느 하나의 포즈를 취하도록 제어할 수 있다. 제1포즈 내지 제4 포즈는 서로 상이한 포즈에 해당하며, 전자 장치(100)는 각 포즈에 대응되는 3D 휴먼 모델의 이미지를 디스플레이 상에 표시할 수 있다.
예를 들어, 전자 장치(100)는 사용자의 입력에 따라 복수의 포즈를 취하는 3D 휴먼 모델에 대응되는 이미지를 표시할 수 있다. 그리고, 전자 장치(100)는 복수의 포즈를 취하는 3D 휴먼 모델을 이용하여 도 6 또는 도 7에서 설명한 방법으로 2D 이미지를 획득할 수 있다. 그리고, 전자 장치(100)는 각 포즈(제1 포즈 내지 제 4포즈)에 대하여 복수의 2D 이미지를 획득할 수 있다.
도 10은 도 9에 의해 획득된 2D 이미지에 기초하여 학습 데이터를 획득하는 동작을 설명하기 위한 도면이다.
전자 장치(100)는 도 9에 의해 획득된 복수의 포즈 각각에 대응되는 복수의 2D 이미지를 이용하여 학습 데이터를 생성할 수 있다. 구체적으로, 전자 장치(100)는 획득된 2D 이미지를 카테고리 또는 포즈이름 중 적어도 하나에 매칭시킬 수 있다. 예를 들어, 제1 포즈 내지 제4 포즈가 요가자세 카테고리에 해당한다고 가정한다. 전자 장치(100)는 요가 자세(카테고리) 또는 제1 포즈(포즈 이름) 중 적어도 하나를 제1 포즈에 대응되는 2D 이미지와 함께 매칭할 수 있다. 같은 방식으로, 요가 자세(카테고리) 또는 제2포즈(포즈 이름) 중 적어도 하나를 제2 포즈에 대응되는 2D 이미지와 함께 매칭할 수 있다. 여기서, 제1포즈(제2 포즈)에 대응되는 2D 이미지는 각 포즈당 복수 개 일 수 있다. 그리고, 전자 장치(100)는 매치된 복수의 정보들을 학습 데이터 획득부로 전송할 수 있다. 학습 데이터 획득부는 획득된 2D 이미지 매칭 정보를 이용하여 이미지 학습 네트워크 모델을 생성할 수 있다.
도 11은 3D 휴먼 모델의 관절 포인트를 설명하기 위한 도면이다.
도 11을 참고하면, 전자 장치(100)는 사용자 설정에 따라 3D 휴먼 모델의 관절 포인트를 획득할 수 있다. 관절 포인트란, 사람 또는 동물을 기준으로 뼈와 뼈가 연결되는 부분을 의미할 수 있다. 일반적으로 사람 또는 동물은 특정 관절에 따라 뼈가 움직일 수 있는 범위가 한정된다. 예를 들어, 목은 상하좌우로 움직이지만, 목이 360도로 돌아가지 않는다. 이것은 관절 부위가 뼈가 움직일 수 있는 범위를 한정하고 있기 때문이다.
전자 장치(100)는 관절 포인트를 이용하여 3D 휴먼 모델이 특정 포즈를 취하는 이미지를 표시하도록 제어할 수 있다. 구체적으로, 3D 휴먼 모델의 관절 포인트는 머리, 어깨, 목, 가슴, 배, 등, 골반, 팔꿈치, 손목, 손가락 마디, 무릎, 발목, 발가락 마디 등이 있을 수 있다. 여기서, 전자 장치(100)는 3D 휴먼 모델이 특정 포즈를 취하도록 상술한 관절 포인트 중 특정 관절 포인트만을 이용할 수 있다. 많은 관절 포인트를 이용하는 경우, 전자 장치(100)의 데이터 처리 속도가 느려질 수 있다. 따라서, 전자 장치(100)는 데이터 처리 속도를 위해 일부 관절 포인트 만을 이용하여 3D 휴먼 모델을 제어(조작)할 수 있다. 어떤 관절 포인트를 이용할 것인지 여부는 사용자의 설정에 따라 결정될 수 있다.
다른 예에 따라, 전자 장치(100)는 3D 휴먼 모델의 관절 포인트를 추가적으로 더 지정할 수도 있다.
도 12는 도 11에 따른 3D 휴먼 모델의 관절 포인트에 접촉하는 바디 파트의 움직임을 설명하기 위한 도면이다.
전자 장치(100)는 학습 데이터에 이용될 다양한 포즈를 생성할 수 있다. 여기서, 전자 장치(100)는 다양한 포즈를 자동으로 생성하기 위하여 특정 포즈를 기준으로 3D 휴먼 모델의 포즈를 변형시킬 수 있다. 그리고, 전자 장치(100)는 변형된 포즈를 취하는 3D 휴먼 모델의 모습을 디스플레이상에 표시할 수 있다.
예를 들어, 제1 포즈를 취하고 있는 3D 휴먼 모델을 변형 시키기 위하여, 전자 장치(100)는 제1 포즈에서 일부 관절부분에 대응되는 바디 파트를 움직일 수 있다. 그리고, 전자 장치(100)는 바디 파트를 움직여 획득된 3D 휴먼 모델을 캡쳐하여 2D 이미지를 획득할 수 있다.
여기서, 바디 파트란 관절과 관절 사이를 연결한 몸 일부를 의미한다. 예를 들어, 손목 관절과 팔꿈치 사이에 연결된 몸 일부분이 바디 파트가 될 수 있다.
도 11에서 설명한 바와 같이 각 관절 포인트마다 관절 포인트에 연결된 뼈가 움직일 수 있는 범위가 한정될 수 있다. 전자 장치(100)는 3D 휴먼 모델을 조작함에 있어 특정 관절 포인트에선 일정 각도 이내로 뼈가 움직이도록 제한할 수 있다.
예를 들어, 목 관절은 목이 좌우로 180 도까지만 움직이도록 설정될 수 있다. 도 12에서는 좌우의 각도만을 표시하였지만, 실제 구현시 상하의 각도도 설정될 수 있다. 또한, 팔꿈치 관절에서는 팔 부분이 180도 까지만 움직이도록 설정될 수 있다. 그리고, 각 관절마다 서로 다른 각도가 적용될 수 있다. 예를 들어, 무릎 관절은 다리 부분이 160도 까지만 움직이도록 설정될 수 있다. 또한, 발목 관절은 발 부분이 140도 까지만 움직이도록 설정될 수 있다. 전자 장치(100)는 복수의 관절에 서로 다른 각도를 적용할 수 있고, 서로 다른 각도가 적용된 관절에는 관절에 연결된 바디 파트가 서로 다른 각도 까지만 움직이도록 제어할 수 있다. 그리고, 전자 장치(100)는 도 12에서 설명한 관절에 적용된 각도 제한을 고려하여 3D 휴먼 모델의 포즈를 생성할 수 있다.
한편, 도 12에서는 관절에서도 어느 하나의 방향만을 예시로 설명한 것일 뿐이며, 하나의 관절에도 축에 따라 복수의 각도 제한이 설정될 수 있다.
도 13은 3D 휴먼 모델의 특정 바디 파트를 변경하는 동작을 설명하기 위한 도면이다.
도 13을 참고하면, 전자 장치(100)는 특정 관절과 특정 관절 사이에 연결된 바디 파트의 길이를 변경하여 새로운 3D 휴먼 모델을 생성할 수 있다. 예를 들어, 발목 관절과 무릎 관절 사이의 바디 파트가 40cm로 설정되어 있다고 가정한다. 다양한 학습 데이터를 생성하기 위해서, 키가 더 큰 사람에 대한 학습 데이터가 필요할 수 있다. 이 경우, 전자 장치(100)는 기존의 3D 휴먼 모델의 키를 늘려 학습 데이터를 획득할 수 있다. 키가 큰 3D 휴먼 모델을 생성하기 위해서, 전자 장치(100)는 발목 관절과 무릎 관절 사이의 바디 파트를 40cm에서 60cm로 변형시킬 수 있다.
전자 장치(100)는 하나의 3D 휴먼 모델을 이용하여 2D 이미지를 획득할 수 있으며, 복수의 3D 휴먼 모델을 이용하여 2D 이미지를 획득할 수도 있다. 3D 휴먼 모델은 성별, 몸무게, 키 등과 같이 신체 정보를 이용하여 다양한 방식으로 생성될 수 있다. 다양한 3D 휴먼 모델에 대한 2D 이미지를 획득하는 경우, 인식률이 높아질 수 있다.
본 개시에 따른 전자 장치(100)는 실제 다양한 모델을 이용하지 않고, 가상의 3D 휴먼 모델을 이용하여 손쉽게 특정 포즈를 취하는 다양한 3D 휴먼 모델의 2D 이미지를 획득할 수 있다. 가상의 3D 휴먼 모델을 이용하여 본원은 시간 및 비용을 절약하는 효과를 가질 수 있다.
도 14는 본 개시의 일 실시 예에 따른 이미지 학습 네트워크 모델을 생성하는 방법을 설명하기 위한 도면이다.
전자 장치(100)는 사용자 설정에 따른 3D 휴먼 모델를 생성할 수 있다. 그리고, 전자 장치(100)는 사용자 설정에 따른 3D 포즈를 3D 휴먼 모델이 취하도록 제어할 수 있다. 결국, 전자 장치(100)는 특정 3D 포즈를 취하는 3D 휴먼 모델을 디스플레이상에 표시할 수 있으며, 전자 장치(100)는 도 6 또는 도 7에서 개시한 내용에 따라 2D 이미지를 획득할 수 있다.
그리고, 전자 장치(100)는 특정 3D 포즈와 특정 3D 포즈에 대응되는 2D 이미지를 매칭하여 학습 데이터를 생성할 수 있다. 그리고, 전자 장치(100)는 생성된 학습 데이터를 이용하여 딥러닝 학습을 수행하고 이미지 학습 네트워크 모델을 생성할 수 있다.
전자 장치(100)는 생성된 이미지 학습 네트워크 모델을 이용하여, 입력 데이터에 대한 포즈 인식 동작을 수행할 수 있다. 전자 장치(100)는 이미지 학습 네트워크 모델을 이용하여 외부 장치 또는 기 저장된 입력 데이터를 분석하고, 입력 데이터에 포함된 객체의 대상 및 객체의 대상이 취하고 있는 포즈가 무엇인지 여부를 추측(결정, 추론)할 수 있다.
상술한 실시 예들에서 전자 장치(100)가 수행하는 것으로 기재된 다양한 동작들은 본 개시의 일 실시 예에 따른 학습 네트워크에서 수행될 수 있다.
도 15 내지 도 17은 학습부 및 인식부의 동작을 설명하기 위한 도면이다.
도 15를 참조하면, 프로세서(1500)는 학습부(1510) 및 인식부(1520) 중 적어도 하나를 포함할 수 있다. 도 15의 프로세서(1500)는 전자 장치(100)의 프로세서(120) 또는 데이터 학습 서버(미도시)의 프로세서에 대응될 수 있다.
학습부(1510)는 소정의 상황 판단을 위한 기준을 갖는 인식 모델을 생성 또는 학습시킬 수 있다. 학습부(1510)는 수집된 학습 데이터를 이용하여 판단 기준을 갖는 인식 모델을 생성할 수 있다.
일 예로, 학습부(1510)는 객체가 포함된 이미지를 학습 데이터로서 이용하여 이미지에 포함된 객체가 어떤 것인지 또는 어떠한 동작을 취하는지 여부를 판단하는 기준을 갖는 객체 인식 모델을 생성, 학습 또는 갱신시킬 수 있다.
또 다른 예로, 학습부(1510)는 객체가 포함된 화면에 포함된 주변 정보를 학습 데이터로서 이용하여 이미지에 포함된 객체 주변에 다양한 추가 정보를 판단하는 기준을 갖는 주변 정보 인식 모델을 생성, 학습 또는 갱신시킬 수 있다.
또 다른 예로, 학습부(1510)는 입력된 이미지를 학습 데이터로서 이용하여 이미지에 포함된 사용자의 얼굴을 판단하는 기준을 갖는 얼굴 인식 모델을 생성, 학습 또는 갱신시킬 수 있다.
인식부(1520)는 소정의 데이터를 학습된 인식 모델의 입력 데이터로 사용하여, 소정의 데이터에 포함된 인식 대상 및 인식 대상의 동작(포즈)을 추정할 수 있다.
일 예로, 인식부(1520)는 객체가 포함된 객체 영역(또는, 이미지)를 학습된 인식 모델의 입력 데이터로 사용하여 객체 영역에 포함된 객체에 대한 객체 정보를 획득(또는, 추정, 추론)할 수 있다.
다른 예로, 인식부(1520)는 객체 정보 및 컨텍스트 정보 중 적어도 하나를 학습된 인식 모델에 적용하여 검색 결과를 제공할 검색 카테고리를 추정(또는, 결정, 추론)할 수 있다. 이 때, 검색 결과는 우선 순위에 따라 복수 개가 획득될 수도 있다.
또 다른 예로, 인식부(1520)는 컨텍스트 정보(예를 들어, 객체의 주변 정보)를 학습된 인식 모델에 적용하여 객체와 연관성이 있는 컨텍스트 인식 정보(예를 들어, 객체와 관련된 추가 정보 등)를 추정할 수 있다.
학습부(1510)의 적어도 일부 및 인식부(1520)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 학습부(1510) 및 인식부(1520) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치 또는 객체 인식 장치에 탑재될 수도 있다. 이 때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(1510) 및 인식부(1520)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
이 경우, 학습부(1210) 및 인식부(1220)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 학습부(1210) 및 인식부(1220) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 학습부(1510) 및 인식부(1520)는 유선 또는 무선으로 통하여, 학습부(1510)가 구축한 모델 정보를 인식부(1520)로 제공할 수도 있고, 인식부(1520)로 입력된 데이터가 추가 학습 데이터로서 학습부(1510)로 제공될 수도 있다.
도 16은, 다양한 실시예에 따른 학습부(1510) 및 인식부(1520)의 블록도이다.
도 16의 (a)를 참조하면, 일부 실시예에 따른 학습부(1510)는 학습 데이터 획득부(1510-1) 및 모델 학습부(1510-4)를 포함할 수 있다. 또한, 학습부(1510)는 학습 데이터 전처리부(1510-2), 학습 데이터 선택부(1510-3) 및 모델 평가부(1510-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(1510-1)는 인식 대상 또는 인식 대상의 동작(포즈)을 추론하기 위한 인식 모델에 필요한 학습 데이터를 획득할 수 있다. 본 문서의 실시예로, 학습 데이터 획득부(1510-1)는 객체를 포함하는 전체 이미지, 객체 영역에 대응하는 이미지, 객체 정보 및 컨텍스트 정보 중 적어도 하나를 학습 데이터로서 획득할 수 있다. 학습 데이터는 학습부(1510) 또는 학습부(1510)의 제조사가 수집 또는 테스트한 데이터가 될 수도 있다.
모델 학습부(1510-4)는 학습 데이터를 이용하여, 인식 모델이 소정의 인식 대상 또는 인식 대상의 동작(포즈)을 어떻게 판단할 지에 관한 판단 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(1510-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 인식 모델을 학습시킬 수 있다. 또는, 모델 학습부(1510-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1210-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1510-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 인식 모델을 학습시킬 수 있다
또한, 모델 학습부(1510-4)는 입력 데이터를 이용하여 인식 대상을 추정하기 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 선별 기준을 학습할 수도 있다.
모델 학습부(1510-4)는 미리 구축된 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 인식 모델을 학습할 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
인식 모델이 학습되면, 모델 학습부(1510-4)는 학습된 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1510-4)는 학습된 인식 모델을 전자 장치(A)의 메모리(1750)에 저장할 수 있다. 또는, 모델 학습부(1510-4)는 학습된 인식 모델을 전자 장치(A)와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습부(1510)는 인식 모델의 분석 결과를 향상시키거나, 인식 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(1510-2) 및 학습 데이터 선택부(1510-3)를 더 포함할 수도 있다.
학습 데이터 전처리부(1510-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 학습 데이터 전처리부(1510-2)는 모델 학습부(1510-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(1510-3)는 학습 데이터 획득부(1510-1)에서 획득된 데이터 또는 학습 데이터 전처리부(1510-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(1510-4)에 제공될 수 있다. 학습 데이터 선택부(1510-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1510-3)는 모델 학습부(1510-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(1510)는 데이터 인식 모델의 분석 결과를 향상시키기 위하여, 모델 평가부(1510-5)를 더 포함할 수도 있다.
모델 평가부(1510-5)는 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1510-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인식 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(1510-5)는 평가 데이터에 대한 학습된 인식 모델의 분석 결과 중에서, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1510-5)는 각각의 학습된 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1510-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 인식 모델로서 결정할 수 있다.
도 16의 (b)를 참조하면, 일부 실시예에 따른 인식부(1520)는 인식 데이터 획득부(1520-1) 및 인식 결과 제공부(1520-4)를 포함할 수 있다.
또한, 인식부(1520)는 인식 데이터 전처리부(1520-2), 인식 데이터 선택부(1520-3) 및 모델 갱신부(1520-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
인식 데이터 획득부(1520-1)는 상황 판단에 필요한 데이터를 획득할 수 있다. 인식 결과 제공부(1520-4)는 인식 데이터 획득부(1520-1)에서 획득된 데이터를 입력 값으로 학습된 인식 모델에 적용하여 상황을 판단할 수 있다. 인식 결과 제공부(1520-4)는 데이터의 분석 목적에 따른 분석 결과를 제공할 수 있다. 인식 결과 제공부(1520-4)는 후술할 인식 데이터 전처리부(1520-2) 또는 인식 데이터 선택부(1520-3)에 의해 선택된 데이터를 입력 값으로 인식 모델에 적용하여 분석 결과를 획득할 수 있다. 분석 결과는 인식 모델에 의해 결정될 수 있다.
일 실시예로, 인식 결과 제공부(1520-4)는 인식 데이터 획득부(1520-1)에서 획득한 객체가 포함된 객체 영역을 학습된 인식 모델 적용하여 객체 영역에 대응하는 객체 정보를 획득(또는, 추정)할 수 있다.
다른 실시예로, 인식 결과 제공부(1520-4)는 인식 데이터 획득부(1520-1)에서 획득한 객체 영역, 객체 정보 및 컨텍스트 정보 중 적어도 하나를 학습된 인식 모델에 적용하여 검색 결과를 제공할 검색 카테고리를 획득(또는, 추정)할 수 있다
인식부(1520)는 인식 모델의 분석 결과를 향상시키거나, 분석 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 인식 데이터 전처리부(1520-2) 및 인식 데이터 선택부(1520-3)를 더 포함할 수도 있다.
인식 데이터 전처리부(1520-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 인식 데이터 전처리부(1520-2)는 인식 결과 제공부(1520-4)가 상황 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
인식 데이터 선택부(1520-3)는 인식 데이터 획득부(1520-1)에서 획득된 데이터 또는 인식 데이터 전처리부(1520-2)에서 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(1520-4)에게 제공될 수 있다. 인식 데이터 선택부(1520-3)는 상황 판단을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(1520-3)는 모델 학습부(1510-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(1520-5)는 인식 결과 제공부(1520-4)에 의해 제공되는 분석 결과에 대한 평가에 기초하여, 인식 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(1520-5)는 인식 결과 제공부(1520-4)에 의해 제공되는 분석 결과를 모델 학습부(1510-4)에게 제공함으로써, 모델 학습부(1510-4)가 인식 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.
도 17은, 일 실시예에 따른 전자 장치(A) 및 서버(S)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 17을 참조하면, 서버(S)는 상황 판단을 위한 기준을 학습할 수 있으며, 전자 장치(A)는 서버(S)에 의한 학습 결과에 기초하여 상황을 판단할 수 있다.
이 경우, 서버(S)의 모델 학습부(1510-4)는 도 1915에 도시된 학습부(1510)의 기능을 수행할 수 있다. 서버(S)의 모델 학습부(1510-4)는 소정의 상황을 판단하기 위하여 어떤 객체 영상, 객체 정보 또는 컨텍스트 정보를 이용할 지, 상기 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다.
또한, 전자 장치(A)의 인식 결과 제공부(1520-4)는 인식 데이터 선택부(1520-3)에 의해 선택된 데이터를 서버(S)에 의해 생성된 인식 모델에 적용하여 객체 정보 또는 검색 카테고리를 판단할 수 있다. 또는, 전자 장치(A)의 인식 결과 제공부(1520-4)는 서버(S)에 의해 생성된 인식 모델을 서버(S)로부터 수신하고, 수신된 인식 모델을 이용하여 상황을 판단할 수 있다. 이 경우, 전자 장치(A)의 인식 결과 제공부(1520-4)는 인식 데이터 선택부(1520-3)에 의해 선택된 객체 영상을 서버(S)로부터 수신된 인식 모델에 적용하여, 객체 영상에 대응하는 객체 정보를 판단할 수 있다. 또는, 인식 결과 제공부(1520-4)는 컨텍스트 정보 및 컨텍스트 인식 정보 중 적어도 하나를 이용하여 검색 결과를 획득할 검색 카테고리를 판단할 수 있다.
도 18은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따른 전자 장치(100)의 제어 방법은, 2D 이미지를 입력 받을 수 있다 (S1805). 또한, 제어 방법은 입력된 2D 이미지를, 2D이미지를 3D모델링 이미지로 변환하도록 설정된 학습 네트워크 모델에 적용하여 획득된 3D 모델링 이미지를 디스플레이 할 수 있다 (S1810). 여기서, 학습 네트워크 모델은 가상의 3D 모델링 데이터를 렌더링하여 획득되는 3D 포즈(pose) 및 3D 포즈에 대응되는 2D 이미지를 이용하여 학습된 학습 네트워크 모델일 수 있다.
여기서, 학습 네트워크 모델은 데이터에 기초하여 3D 휴먼 모델을 복수의 3D포즈로 변형시켜 복수의 3D 포즈 각각에 대응되는 적어도 하나의2D 이미지를 획득할 수 있고, 복수의 3D 포즈 및 복수의 3D 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 학습된 학습 네트워크 모델일 수 있다.
또한, 학습 네트워크 모델은 입력된 2D 이미지에 포함된 객체의 프로필 정보를 식별할 수 있고, 프로필 정보에 대응되는 3D 휴먼 모델을 획득할 수 있다.
또한, 학습 네트워크 모델은 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트가 3D 모델링 데이터에 기초하여 기 설정된 각도 범위 내에서 움직이도록 3D 휴먼 모델의 포즈를 변형시키고, 변형된 포즈에 대응되는 적어도 하나의 2D 이미지를 획득할 수 있다.
또한, 학습 네트워크 모델은 3D 모델링 데이터에 기초하여 3D 휴먼 모델을 3D 포즈로 변형시키고, 3D 포즈에 대해 상이한 방향에 대응되는 복수의 2D 이미지를 획득할 수 있다.
또한, 3D 모델링 데이터는 3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트 간 각도 데이터, 각 바디 파트의 길이 데이터 또는 각 바디 파트의 방향 데이터 중 적어도 하나를 포함할 수 있다.
또한, 학습 네트워크 모델은 복수의 3D포즈 및 복수의 3D 포즈 각각에 대응되는 적어도 하나의 2D 이미지를 이용하여 학습 네트워크 모델에 포함된 뉴럴 네트워크의 가중치를 학습할 수 있다.
또한, 전자 장치(100)의 제어 방법은 사용자 시점을 변경하기 위한 사용자 명령이 입력되면, 사용자 명령에 대응되는 정보를 학습 네트워크 모델에 입력할 수 있고, 학습 네트워크 모델은 사용자 명령에 대응되는 정보에 기초하여 3D 모델링 이미지를 출력할 수 있다.
여기서, 사용자 시점은 사용자가 바라보는 방향 또는 사용자가 바라보는 거리 중 적어도 하나를 포함할 수 있다.
또한, 전자 장치(100)의 제어 방법은 3D 휴먼 모델을 변형시키기 위한 포즈 정보를 입력 받기 위한 UI를 제공할 수 있다.
한편, 도 18과 같은 전자 장치의 제어 방법은 도 3 또는 도 4의 구성을 가지는 전자 장치 상에서 실행될 수 있으며, 그 밖의 구성을 가지는 전자 장치 상에서도 실행될 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 상술한 실시 예에 따른 전자 장치의 제어 방법은 프로그램으로 구현되어 전자 장치에 제공될 수 있다. 특히, 전자 장치의 제어 방법을 포함하는 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
또한, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서(120) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치에서의 처리 동작을 상기 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치 110: 메모리
120: 프로세서

Claims (20)

  1. 전자 장치에 있어서,
    디스플레이;
    상기 디스플레이와 전기적으로 연결되어 상기 디스플레이를 제어하는 프로세서; 및
    상기 프로세서와 전기적으로 연결된 메모리;를 포함하고,
    상기 메모리는,
    상기 프로세서가, 2D 이미지가 입력 되면 3D 모델링 이미지로 변환하도록 설정된 학습 네트워크 모델에 기초하여 획득된 3D 모델링 이미지를 상기 디스플레이에 표시하도록 제어하는 명령어들을 저장하고,
    상기 학습 네트워크 모델은,
    가상의 3D 모델링 데이터를 렌더링하여 획득되는 3D 포즈(pose) 및 상기 3D 포즈에 대응되는 복수의 2D 이미지를 이용하여 학습된 학습 네트워크 모델이고,
    상기 복수의 2D 이미지는 상기 3D 포즈에 대해 상이한 방향에 대응되는, 전자 장치.
  2. 제1항이 있어서,
    상기 학습 네트워크 모델은,
    데이터에 기초하여 3D 휴먼 모델을 복수의 3D 포즈로 변형시켜 상기 복수의 3D 포즈 각각에 대응되는 복수의 2D 이미지를 획득하고, 상기 복수의 3D 포즈 및 상기 복수의 3D 포즈 각각에 대응되는 복수의 2D 이미지를 이용하여 학습된 학습 네트워크 모델인, 전자 장치.
  3. 제2항이 있어서,
    상기 학습 네트워크 모델은,
    상기 입력된 2D 이미지에 포함된 객체의 프로필 정보를 식별하고, 상기 프로필 정보에 대응되는 상기 3D 휴먼 모델을 획득하는, 전자 장치.
  4. 제1항에 있어서,
    상기 학습 네트워크 모델은,
    3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트가 상기 3D 모델링 데이터에 기초하여 기 설정된 각도 범위 내에서 움직이도록 상기 3D 휴먼 모델의 포즈를 변형시키고, 상기 변형된 포즈에 대응되는 복수의 2D 이미지를 획득하는, 전자 장치.

  5. 삭제
  6. 제1항에 있어서,
    상기 3D 모델링 데이터는,
    3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트 간 각도 데이터, 각 바디 파트의 길이 데이터 또는 각 바디 파트의 방향 데이터 중 적어도 하나를 포함하는, 전자 장치.
  7. 제1항에 있어서,
    상기 학습 네트워크 모델은,
    복수의 3D 포즈 및 상기 복수의 3D 포즈 각각에 대응되는 복수의 2D 이미지를 이용하여 상기 학습 네트워크 모델에 포함된 뉴럴 네트워크의 가중치를 학습하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는, 사용자 시점을 변경하기 위한 사용자 명령이 입력 되면, 상기 사용자 명령에 대응되는 정보를 상기 학습 네트워크 모델에 입력 하고,
    상기 학습 네트워크 모델은,
    상기 사용자 명령에 대응되는 정보에 기초하여 상기 3D 모델링 이미지를 출력하는, 전자 장치.
  9. 제8항에 있어서,
    상기 사용자 시점은,
    사용자가 바라보는 방향 또는 상기 사용자가 바라보는 거리 중 적어도 하나를 포함하는, 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    3D 휴먼 모델을 변형시키기 위한 포즈 정보를 입력받기 위한 UI를 제공하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    2D 이미지를 입력받는 단계; 및
    상기 입력된 2D이미지를 3D 모델링 이미지로 변환하도록 설정된 학습 네트워크 모델에 기초하여 획득된 3D 모델링 이미지를 디스플레이하는 단계;를 포함하며,
    상기 학습 네트워크 모델은,
    가상의 3D 모델링 데이터를 렌더링하여 획득되는 3D 포즈(pose) 및 상기 3D 포즈에 대응되는 복수의 2D 이미지를 이용하여 학습된 학습 네트워크 모델이고,
    상기 복수의 2D 이미지는 상기 3D 포즈에 대해 상이한 방향에 대응되는, 상기 전자 장치의 제어 방법.
  12. 제11항이 있어서,
    상기 학습 네트워크 모델은,
    데이터에 기초하여 3D 휴먼 모델을 복수의 3D 포즈로 변형시켜 상기 복수의 3D 포즈 각각에 대응되는 복수의 2D 이미지를 획득하고, 상기 복수의 3D 포즈 및 상기 복수의 3D 포즈 각각에 대응되는 복수의 2D 이미지를 이용하여 학습된 학습 네트워크 모델인, 상기 전자 장치의 제어 방법.
  13. 제12항이 있어서,
    상기 학습 네트워크 모델은,
    상기 입력된 2D 이미지에 포함된 객체의 프로필 정보를 식별하고, 상기 프로필 정보에 대응되는 상기 3D 휴먼 모델을 획득하는, 상기 전자 장치의 제어 방법.
  14. 제11항에 있어서,
    상기 학습 네트워크 모델은,
    3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트가 상기 3D 모델링 데이터에 기초하여 기 설정된 각도 범위 내에서 움직이도록 상기 3D 휴먼 모델의 포즈를 변형시키고, 상기 변형된 포즈에 대응되는 복수의 2D 이미지를 획득하는, 상기 전자 장치의 제어 방법.
  15. 삭제
  16. 제11항에 있어서,
    상기 3D 모델링 데이터는,
    3D 휴먼 모델에 포함된 관절을 기준으로 구분된 복수의 바디 파트 간 각도 데이터, 각 바디 파트의 길이 데이터 또는 각 바디 파트의 방향 데이터 중 적어도 하나를 포함하는, 상기 전자 장치의 제어 방법.
  17. 제11항에 있어서,
    상기 학습 네트워크 모델은,
    복수의 3D 포즈 및 상기 복수의 3D 포즈 각각에 대응되는 복수의 2D 이미지를 이용하여 상기 학습 네트워크 모델에 포함된 뉴럴 네트워크의 가중치를 학습하는, 상기 전자 장치의 제어 방법.
  18. 제11항에 있어서,
    상기 전자 장치의 제어 방법은,
    사용자 시점을 변경하기 위한 사용자 명령이 입력되면, 상기 사용자 명령에 대응되는 정보를 상기 학습 네트워크 모델에 입력하는 단계;를 더 포함하고,
    상기 학습 네트워크 모델은,
    상기 사용자 명령에 대응되는 정보에 기초하여 상기 3D 모델링 이미지를 출력하는, 상기 전자 장치의 제어 방법.
  19. 제18항에 있어서,
    상기 사용자 시점은,
    사용자가 바라보는 방향 또는 상기 사용자가 바라보는 거리 중 적어도 하나를 포함하는, 상기 전자 장치의 제어 방법.
  20. 제11항에 있어서,
    상기 전자 장치의 제어 방법은,
    3D 휴먼 모델을 변형시키기 위한 포즈 정보를 입력받기 위한 UI를 제공하는 단계;를 더 포함하는, 상기 전자 장치의 제어 방법.
KR1020180145777A 2018-11-22 2018-11-22 전자 장치 및 그 제어 방법 KR102118519B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180145777A KR102118519B1 (ko) 2018-11-22 2018-11-22 전자 장치 및 그 제어 방법
EP19888145.0A EP3828756A4 (en) 2018-11-22 2019-10-23 ELECTRONIC DEVICE AND ITS CONTROL PROCESS
US17/293,715 US11501487B2 (en) 2018-11-22 2019-10-23 Electronic device and control method thereof
CN201980066509.7A CN112823354A (zh) 2018-11-22 2019-10-23 电子装置及其控制方法
PCT/KR2019/013963 WO2020105871A1 (ko) 2018-11-22 2019-10-23 전자 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180145777A KR102118519B1 (ko) 2018-11-22 2018-11-22 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR102118519B1 true KR102118519B1 (ko) 2020-06-15

Family

ID=70774576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180145777A KR102118519B1 (ko) 2018-11-22 2018-11-22 전자 장치 및 그 제어 방법

Country Status (5)

Country Link
US (1) US11501487B2 (ko)
EP (1) EP3828756A4 (ko)
KR (1) KR102118519B1 (ko)
CN (1) CN112823354A (ko)
WO (1) WO2020105871A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220041319A (ko) * 2020-09-25 2022-04-01 엔에이치엔 주식회사 딥러닝 기반 상품검색 방법 및 시스템
KR20220087886A (ko) * 2020-12-18 2022-06-27 네이버랩스 주식회사 학습 데이터 수집 장치 및 방법, 이를 이용한 포즈 추정 모델의 학습 방법
KR102584540B1 (ko) * 2022-11-28 2023-10-05 디블라트 주식회사 인공지능을 이용한 피사체 운동 정보 생성 장치 및 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11526697B1 (en) * 2020-03-10 2022-12-13 Amazon Technologies, Inc. Three-dimensional pose estimation
CN111694429B (zh) 2020-06-08 2023-06-02 北京百度网讯科技有限公司 虚拟对象驱动方法、装置、电子设备及可读存储

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120007878A (ko) * 2010-07-15 2012-01-25 경희대학교 산학협력단 인체 동작의 3d 모션 구현방법
JP2014123366A (ja) 2012-12-21 2014-07-03 Honda Motor Co Ltd 歩行者姿勢分類に適用される3次元人間モデル

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8847880B2 (en) 2009-07-14 2014-09-30 Cywee Group Ltd. Method and apparatus for providing motion library
US8866845B2 (en) * 2010-03-10 2014-10-21 Empire Technology Development Llc Robust object recognition by dynamic modeling in augmented reality
EP2395478A1 (en) 2010-06-12 2011-12-14 Toyota Motor Europe NV/SA Monocular 3D pose estimation and tracking by detection
KR101014852B1 (ko) 2010-10-08 2011-02-15 동국대학교 산학협력단 인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체
JP5210401B2 (ja) 2011-01-17 2013-06-12 株式会社スクウェア・エニックス 用例に基づく効率的なモーションデータベースのスタイリング
KR101410273B1 (ko) 2012-09-11 2014-06-20 한국과학기술원 증강현실 응용을 위한 환경 모델링 방법 및 장치
US9165190B2 (en) 2012-09-12 2015-10-20 Avigilon Fortress Corporation 3D human pose and shape modeling
JP2014085933A (ja) * 2012-10-25 2014-05-12 Nippon Telegr & Teleph Corp <Ntt> 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
US20140300612A1 (en) * 2013-04-03 2014-10-09 Tencent Technology (Shenzhen) Company Limited Methods for avatar configuration and realization, client terminal, server, and system
US10310616B2 (en) * 2015-03-31 2019-06-04 Ebay Inc. Modification of three-dimensional garments using gestures
KR101665039B1 (ko) * 2015-04-28 2016-10-11 주식회사 엔씨소프트 피규어 커스터마이징을 이용한 3d 프린터용 데이터 생성방법 및 시스템
EP3179407B1 (en) 2015-12-07 2022-07-13 Dassault Systèmes Recognition of a 3d modeled object from a 2d image
US9971960B2 (en) 2016-05-26 2018-05-15 Xesto Inc. Method and system for providing gesture recognition services to user applications
US10163003B2 (en) * 2016-12-28 2018-12-25 Adobe Systems Incorporated Recognizing combinations of body shape, pose, and clothing in three-dimensional input images
US10977818B2 (en) * 2017-05-19 2021-04-13 Manor Financial, Inc. Machine learning based model localization system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120007878A (ko) * 2010-07-15 2012-01-25 경희대학교 산학협력단 인체 동작의 3d 모션 구현방법
JP2014123366A (ja) 2012-12-21 2014-07-03 Honda Motor Co Ltd 歩行者姿勢分類に適用される3次元人間モデル

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220041319A (ko) * 2020-09-25 2022-04-01 엔에이치엔 주식회사 딥러닝 기반 상품검색 방법 및 시스템
KR102534182B1 (ko) 2020-09-25 2023-05-18 엔에이치엔클라우드 주식회사 딥러닝 기반 상품검색 방법 및 시스템
KR20220087886A (ko) * 2020-12-18 2022-06-27 네이버랩스 주식회사 학습 데이터 수집 장치 및 방법, 이를 이용한 포즈 추정 모델의 학습 방법
KR102484771B1 (ko) 2020-12-18 2023-01-05 네이버랩스 주식회사 학습 데이터 수집 장치 및 방법, 이를 이용한 포즈 추정 모델의 학습 방법
KR102584540B1 (ko) * 2022-11-28 2023-10-05 디블라트 주식회사 인공지능을 이용한 피사체 운동 정보 생성 장치 및 그 방법

Also Published As

Publication number Publication date
EP3828756A4 (en) 2021-09-29
US20220012940A1 (en) 2022-01-13
CN112823354A (zh) 2021-05-18
US11501487B2 (en) 2022-11-15
WO2020105871A1 (ko) 2020-05-28
EP3828756A1 (en) 2021-06-02

Similar Documents

Publication Publication Date Title
KR102118519B1 (ko) 전자 장치 및 그 제어 방법
US11928592B2 (en) Visual sign language translation training device and method
US11290640B2 (en) Electronic device and controlling method of electronic device
US9818029B2 (en) Apparatus and method for computer aided diagnosis (CAD) based on eye movement
US11430124B2 (en) Visual object instance segmentation using foreground-specialized model imitation
KR102008290B1 (ko) 영상에서 객체의 행동을 인식하는 방법 및 그 장치
US20190102044A1 (en) Depth-Based Touch Detection
US11294457B2 (en) Display apparatus and controlling method thereof
US10509957B2 (en) System and method for human pose estimation in unconstrained video
KR20190099914A (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
CN102222431A (zh) 基于机器的手语翻译器
US20190188453A1 (en) Terminal and server for providing video call service
US11934953B2 (en) Image detection apparatus and operation method thereof
US12008159B2 (en) Systems and methods for gaze-tracking
KR20200008845A (ko) 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
EP3738305B1 (en) Electronic device and control method thereof
US20240046583A1 (en) Real-time photorealistic view rendering on augmented reality (ar) device
JP2017033556A (ja) 画像処理方法及び電子機器
CN113168700A (zh) 电子装置及其控制方法
US11798252B2 (en) Electronic device and control method therefor
US20210158491A1 (en) System and method for precise image inpainting to remove unwanted content from digital images
KR20210156470A (ko) 전자 장치 및 이의 제어 방법
US11481036B2 (en) Method, system for determining electronic device, computer system and readable storage medium
KR20210157052A (ko) 객체 인식 방법 및 객체 인식 장치
US11847771B2 (en) Systems and methods for quantitative evaluation of optical map quality and for data augmentation automation

Legal Events

Date Code Title Description
GRNT Written decision to grant