KR101014852B1 - 인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체 - Google Patents

인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체 Download PDF

Info

Publication number
KR101014852B1
KR101014852B1 KR1020100098369A KR20100098369A KR101014852B1 KR 101014852 B1 KR101014852 B1 KR 101014852B1 KR 1020100098369 A KR1020100098369 A KR 1020100098369A KR 20100098369 A KR20100098369 A KR 20100098369A KR 101014852 B1 KR101014852 B1 KR 101014852B1
Authority
KR
South Korea
Prior art keywords
motion
character
vector
motion vector
database
Prior art date
Application number
KR1020100098369A
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 KR1020100098369A priority Critical patent/KR101014852B1/ko
Application granted granted Critical
Publication of KR101014852B1 publication Critical patent/KR101014852B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • G16H70/20ICT specially adapted for the handling or processing of medical references relating to practices or guidelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체가 개시된다. 본 발명의 일 실시 예에 따른 인공지능 기반의 캐릭터 동작생성 장치는 생성하려는 동작 종류를 입력받고, 데이터베이스에 저장된 특징 벡터 중 상기 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 랜덤하게 선택하고, 상기 랜덤하게 선택된 특징 벡터를 결합하여 새로운 동작에 대한 동작 벡터를 생성하는 동작 생성부; 상기 동작 벡터를 적용할 캐릭터를 검색하고, 검색된 캐릭터의 신체 구조에 따라 상기 동작 벡터를 보정하고, 물리 엔진이 적용된 가상 환경에서 상기 보정된 동작 벡터를 상기 검색된 캐릭터에 적용하여 동작 시뮬레이션을 수행하는 동작 실행부; 및 상기 동작 시뮬레이션을 수행하는 과정에서 상기 보정된 동작 벡터가 크게 수정되지 않으면, 해당 동작 벡터를 신체 부위별로 구분하여 상기 데이터베이스에 저장하는 동작 관리부를 포함한다.

Description

인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체 {Apparatus and Method for generating motions of character based on artificial intelligent}
본 발명은 가상 환경의 캐릭터 또는 실제 환경의 로봇 등을 제어하는 인공지능 기술에 관한 것으로, 특히, 인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체에 관한 것이다.
애니메이션, TV, 영화, 게임 등에서 대규모 군중 장면이 늘어나면서, 컴퓨터 그래픽을 이용하여 디지털 캐릭터를 생성하기 위한 연구가 활발히 진행되고 있다.
최근 IPTV가 상용화되면서 인터렉티브 영화나 기능성 게임(serious game)은 지능적면서도 자율적인 가상 캐릭터의 움직임이 중요하게 되었다. 한편, 현실세계에서 활동하는 로봇도 지능적이고 자율적으로 행동할 필요가 더욱 커지고 있다.
그런데 디지털 캐릭터에 대한 연구는, 주로 단일 캐릭터를 편집하거나 그 움직임을 자연스럽게 제어하는 방법에 중점을 두고 이루어지고 있다. 또한, 게임이나 가상 환경, 로봇 연구에서 인공지능의 개발에는 많은 비용과 시간이 든다. 그리고 동작 연구는 로봇에 적용하기 위해 필요 최소한의 동작을 대상으로 하므로, 자연스럽게 연결되는 다양한 동작을 구현하는데에는 효과적이지 못하다. 이러한 연구들에서는 가상 캐릭터를 통해 실제 사람이 가까운 행동을 취할 수 있게 하더라도 캐릭터마다 개성을 가지지 못하고 획일적인 움직임을 구현하게 된다. 특히, 캐릭터 모션에 대한 고려가 되어 있지 않아 군중 캐릭터의 모션이 다양하게 나타나지 않고 허공에서 떠다니는 듯한 느낌을 주게 되기도 한다.
본 발명이 이루고자 하는 첫 번째 기술적 과제는 가상 환경에서 로봇 제어에 있어서 동작의 다양성 부족, 움직임의 획일성 문제를 극복하면서, 캐릭터의 개성을 반영하고 자연스러운 동작을 구현할 수 있는 인공지능 기반의 캐릭터 동작생성 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 두 번째 기술적 과제는 상기의 인공지능 기반의 캐릭터 동작생성 장치에 적용되는 인공지능 기반의 캐릭터 동작생성 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 세 번째 기술적 과제는 상기의 인공지능 기반의 캐릭터 동작생성 방법을 컴퓨터 시스템에서 실행하기 위한 프로그램이 기록된 매체로서, 컴퓨터 시스템이 판독할 수 있는 기록매체를 제공하는 데 있다.
상기의 첫 번째 기술적 과제를 이루기 위하여, 본 발명의 일 실시 예에 따른 인공지능 기반의 캐릭터 동작생성 장치는 생성하려는 동작 종류를 입력받고, 데이터베이스에 저장된 특징 벡터 중 상기 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 랜덤하게 선택하고, 상기 랜덤하게 선택된 특징 벡터를 결합하여 새로운 동작에 대한 동작 벡터를 생성하는 동작 생성부; 상기 동작 벡터를 적용할 캐릭터를 검색하고, 검색된 캐릭터의 신체 구조에 따라 상기 동작 벡터를 보정하고, 물리 엔진이 적용된 가상 환경에서 상기 보정된 동작 벡터를 상기 검색된 캐릭터에 적용하여 동작 시뮬레이션을 수행하는 동작 실행부; 상기 동작 시뮬레이션을 수행하는 과정에서 상기 보정된 동작 벡터가 제2임계값 미만으로 변형되면, 변형된 동작 벡터를 신체 부위별로 구분하여 상기 데이터베이스에 저장하는 동작 관리부를 포함한다.
상기의 두 번째 기술적 과제를 이루기 위하여, 본 발명의 일 실시 예에 따른 인공지능 기반의 캐릭터 동작생성 방법은 생성하려는 동작 종류를 입력받고, 데이터베이스에 저장된 특징 벡터 중 상기 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 랜덤하게 선택하는 단계; 상기 랜덤하게 선택된 특징 벡터를 결합하여 새로운 동작에 대한 동작 벡터를 생성하는 단계; 상기 동작 벡터를 적용할 캐릭터를 검색하고, 검색된 캐릭터의 신체 구조에 따라 상기 동작 벡터를 보정하는 단계; 물리 엔진이 적용된 가상 환경에서 상기 보정된 동작 벡터를 상기 검색된 캐릭터에 적용하여 동작 시뮬레이션을 수행하는 단계; 및 상기 동작 시뮬레이션을 수행하는 과정에서 상기 보정된 동작 벡터가 제2임계값 미만으로 변형되면, 변형된 동작 벡터를 신체 부위별로 구분하여 상기 데이터베이스에 저장하는 단계를 포함한다.
본 발명의 실시 예들에 의하면, 번거로운 코딩이나 디자인 작업을 거치지 않더라도, 간단한 과정을 거쳐 캐릭터 동작의 다양성 부족, 움직임의 획일성 문제를 극복할 수 있고, 가상 환경이나 실제의 로봇 제어에서 캐릭터의 개성을 반영하고 자연스러운 동작을 구현할 수 있으므로, 본 발명의 실시 예들은 게임, 가상현실, 영화 등의 가상 환경을 다루는 모든 디지털 콘텐츠 분야와 로봇 제어와 같은 전략 산업 응용 분야에서 유용하게 사용될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 인공지능 기반의 캐릭터 동작생성 장치의 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 인공지능 기반의 캐릭터 동작생성 방법 흐름도이다.
도 3은 도 2에 사용되는 데이터베이스를 구축하는 방법의 일 예에 대한 흐름도이다.
도 4a는 도 3에서 특징 벡터 일반화 과정을 통해 얻어진 특징 벡터의 예를 도시한 것이다.
도 4b는 도 4a에서 특징 벡터를 신체 부위별로 구분하는 예를 도시한 것이다.
도 4c는 도 2에서 동작 벡터를 보정한 예를 도시한 것이다.
도 4d는 도 4c의 동작 벡터를 캐릭터에 적용하여 동작 실행을 한 후 변형된 동작 벡터를 도시한 것이다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다.
도 1은 본 발명의 일 실시 예에 따른 인공지능 기반의 캐릭터 동작생성 장치의 블록도이다.
동작 수집부(110)는 생략될 수 있다. 동작 수집부(110)가 포함되는 경우, 동작 수집부(110)는 입력 영상으로부터 캐릭터(동작 주체)의 이미지들을 추출하고, 추출한 이미지에서 특징 벡터를 추출하여 여러 종류의 동작에 대한 데이터베이스를 구축하는 역할을 한다. 보다 구체적으로, 동작 수집부(110)는 입력 영상으로부터 연속적인 동작의 특징 벡터를 추출한다. 동작 수집부(110)는 특징 벡터를 동작별 표준 데이터를 기준으로 분류하여 특징 벡터가 나타내는 동작 종류를 결정한다. 여기서, 동작 종류는 달리기, 걷기, 뛰어오르기 등의 신체 동작이나 동물들의 움직임 종류 등을 의미한다. 동작별 표준 데이터는 각각의 동작 종류마다 미리 저장해놓은 영상 데이터, 벡터 데이터 등을 의미한다. 본 발명의 다른 실시 예에서, 동작 수집부(110)는 모션 캡쳐 장비를 포함하거나 모션 캡쳐 장비와 연결될 수 있다. 이 경우, 동작 수집부(110)는 영상 처리를 수행함이 없이, 모션 갭쳐 장비에 의해 생성된 특징 벡터를 직접 입력받을 수 있다. 또한, 동작 수집부(110)는 특징 벡터를 캐릭터의 신체 부위별로 구분하고, 구분된 특징 벡터를 데이터베이스(111)에 저장한다. 동작 종류를 결정하는 과정이나 신체 부위별로 특징 벡터를 구분하는 과정에는 각각의 동작 종류, 신체 부위를 클래스로 지정하여 K-Means 알고리즘이나 일반적인 클러스터링 알고리즘이 사용될 수 있다.
동작 생성부(120)는 생성하려는 동작 종류를 입력받고, 데이터베이스(111)에 저장된 특징 벡터 중 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 랜덤하게 선택한다. 동작 생성부(120)는 랜덤하게 선택된 특징 벡터를 결합하여 새로운 동작에 대한 동작 벡터를 생성한다. 본 발명의 다른 실시 예에서, 동작 생성부(120)는 생성된 동작 벡터가 데이터베이스(111)에 저장된 특징 벡터에 대해 제1임계값 이상으로 변형된 경우, 생성된 동작 벡터를 삭제하도록 구성될 수도 있다. 이 경우, 생성된 동작 벡터가 데이터베이스(111)에 저장된 특징 벡터에 대해 변형 정도가 제1임계값 미만이 될 때까지, 동작 생성부(120)에서 특징 벡터를 신체 부위별로 랜덤하게 선택하고 선택된 특징벡터들을 결합하는 과정을 반복적으로 수행할 수 있다. 여기서, 제1임계값은 벡터 간의 거리, 벡터의 내적 연산값, 벡터 방향의 차이 등을 나타내는 값으로 당업자의 필요에 따라 임의로 정해질 수 있는 값이다. 특징 벡터가 변형된 정도는 특징 벡터간에 대응되는 구성요소(element)끼리 비교하는 과정을 통해 구해질 수 있다.
동작 실행부(130)는 생성된 동작 벡터를 적용할 캐릭터를 검색하고, 검색된 캐릭터의 신체 구조에 따라 동작 벡터를 보정한다. 예를 들어, 동작 실행부(130)는 검색된 캐릭터의 몸 길이, 어깨 너비, 팔 길이, 다리의 길이 등에 따라 신체 부위별로 동작 벡터의 스케일, 방향 등을 조정하도록 구성될 수도 있다. 동작 실행부(130)는 물리 엔진이 적용된 가상 환경에서 보정된 동작 벡터를 검색된 캐릭터에 적용하여 동작 시뮬레이션을 수행한다. 여기서, 물리 엔진은 일반 물리 법칙이 적용되는 가상 환경을 구현하는 알고리즘, 라이브러리 등으로 구성된다. 여기서, 가상 환경은 복수의 NPC(Non-Playable Character)를 제어하여 게임 환경을 제공하는 온라인 게임, 로봇 공학용 시뮬레이터, 가상 애완 동물 컨텐츠 등이 될 수 있다.
동작 벡터는 동작 시뮬레이션을 수행하는 과정에서 물리 법칙에 따라 변형될 수 있다. 예를 들어, 캐릭터가 가상환경에서 걷는 동작을 수행하는 중에 몸의 균형을 잃게 되는 경우, 무게 중심을 맞추기 위해 몇몇 동작 벡터의 크기나 방향이 조정될 수 있다.
동작 관리부(140)는 동작 시뮬레이션 과정을 거친 동작 벡터들을 평가한다. 동작 관리부(140)는 동작 벡터가 제2임계값 미만으로 변형될 때, 변형된 동작 벡터를 신체 부위별로 구분하여 데이터베이스에 저장한다. 본 발명의 다른 실시 예에서, 동작 관리부(140)는 동작 실행부(130)에서 동작 시뮬레이션을 수행하는 과정에서 오류가 발생하거나 물리법칙에 따른 동작 벡터의 변형 정도가 제2임계값 이상인 경우 해당 동작 벡터를 삭제하도록 구성될 수도 있다. 여기서, 제2임계값은 벡터 간의 거리, 벡터의 내적 연산값, 벡터 방향의 차이 등을 나타내는 값으로 당업자의 필요에 따라 임의로 정해질 수 있는 값이다.
동작 벡터가 데이터베이스(111)에 저장되면 기존에 저장된 특징 벡터와 동일하게 동작 재생성 과정에 사용될 수 있다. 한편, 동작 벡터는 3차원 랜더링 이미지나 각종 벡터 표현에 적용되어 시각적인 동작 이미지를 연출하는 데에 사용될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 인공지능 기반의 캐릭터 동작생성 방법 흐름도이다.
먼저, 생성하려는 동작 종류를 입력받고, 데이터베이스에 저장된 특징 벡터 중 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 랜덤하게 선택한다(S210).
다음, 랜덤하게 선택된 특징 벡터를 결합하여 새로운 동작에 대한 동작 벡터를 생성한다(S220). 보다 구체적으로, 이 과정(S220)은 데이터베이스에 저장된 특징 벡터 및 동작 벡터 중 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 랜덤하게 선택하는 과정을 포함하여 이루어질 수 있다. 바람직하게는, 이 과정(S220)은 동작 벡터가 데이터베이스에 저장된 특징 벡터에 대해 제1임계값 이상으로 변형된 경우, 동작 벡터를 삭제하는 단계를 포함하여 이루어질 수 있다.
동작 벡터가 생성되면, 동작 벡터를 적용할 캐릭터를 검색하고, 검색된 캐릭터의 신체 구조에 따라 동작 벡터를 보정한다(S230). 바람직하게는, 이 과정(S230)은 동작 실행부(130)는 검색된 캐릭터의 몸 길이, 어깨 너비, 팔 길이, 다리의 길이 등에 따라 신체 부위별로 동작 벡터의 스케일, 방향 등을 조정하는 단계를 포함하여 이루어질 수 있다.
다음, 물리 엔진이 적용된 가상 환경에서 보정된 동작 벡터를 검색된 캐릭터에 적용하여 동작 시뮬레이션을 수행한다(S240). 바람직하게는, 이 과정(S240)은 동작 시뮬레이션을 수행하는 과정에서 오류가 발생하거나 동작 벡터가 제2임계값 이상으로 변형되는 경우, 보정된 동작 벡터를 삭제하는 단계를 포함하여 이루어질 수 있다.
마지막으로, 동작 시뮬레이션을 수행하는 과정에서 보정된 동작 벡터가 제2임계값 미만으로 변형될 때, 변형된 동작 벡터를 신체 부위별로 구분하여 데이터베이스에 저장한다(S250).
도 3은 도 2에 사용되는 데이터베이스를 구축하는 방법의 일 예에 대한 흐름도이다.
먼저, 복수의 동작에 대한 특징 벡터들을 수집하여 데이터베이스를 구축하기 위해, 입력 영상으로부터 연속적인 동작의 특징 벡터를 추출한다(S301). 본 발명의 다른 실시 예에서, 이 과정(S301)은 모션 캡쳐 장비를 이용한 특징 벡터 추출과정일 수 있다. 이 경우, 영상 처리 과정을 거치지 않고, 모션 갭쳐 장비에 의해 생성된 특징 벡터를 직접 입력받게 된다.
이때 추출된 특징 벡터는 해당 동작을 연기하는 캐릭터의 고유한 특성을 반영한다. 몸집이 큰 동물과 몸집이 작은 동물을 같은 종류의 동작이라도 움직임이 서로 다르다. 특징 벡터를 신체 부위별로 재결합하여 새로운 동작을 생성하기 위해서는 추출된 특징 벡터에서 캐릭터의 고유한 특성을 제거하는 것이 바람직하다. 따라서 특징 벡터를 추출하는 과정(S301) 다음에 특징 벡터를 일반화할 수 있다(S302). 특징 벡터의 일반화는 동작별 표준 데이터를 이용하여 수행될 수 있다. 동작별 표준 데이터 자체는 표준적인 비율의 신체 사이즈를 기준으로 제작되기 때문이다. 이 과정(S302)은 특징 벡터의 스케일을 동작별 표준 데이터에 따라 조정하는 단계를 포함하여 이루어질 수 있다.
다음, 특징 벡터를 동작별 표준 데이터를 기준으로 분류하여 특징 벡터가 나타내는 동작 종류를 결정한다(S303).
마지막으로, 특징 벡터를 캐릭터의 신체 부위별로 구분하고, 신체 부위별로 구분된 특정 동작의 특징 벡터를 데이터베이스에 저장한다(S304). 보다 구체적으로, 동작 종류를 결정하는 과정(S303) 및 신체 부위별로 구분하는 과정(S304)는 특징 벡터를 복수의 클래스 중 어느 하나로 분류하기 위한 클러스터링 알고리즘에 적용하는 단계를 포함하여 이루어질 수 있다.
도 4a는 도 3에서 특징 벡터 일반화 과정을 통해 얻어진 특징 벡터의 예를 도시한 것이다. 각각의 마디는 특징 벡터가 연결되는 지점을 의미한다. 도 4a는 2차원적으로 표현되어 있지만, 실제로 특징 벡터는 3차원 벡터일 수 있다.
또한 도 4a, 4c, 4d는 정지 동작의 예를 들었지만, 같은 방식으로 연속적인 동작에 대해서도 처리할 수 있다.
도 4b는 도 4a에서 특징 벡터를 신체 부위별로 구분하는 예를 도시한 것이다. "a" 내지 "f"의 구역은 특징 벡터를 신체 부위별로 구분하기 위한 가상의 영역이다. 이러한 영역 구분은 캐릭터들에 대한 표준 신체 데이터를 기준으로 결정된다. 이러한 영역 구분은 새로운 동작에 대한 동작 벡터를 생성하는 과정에도 사용될 수 있다. 예를 들어, "a", "b", "d" 영역에는 사람 A의 동작으로부터 얻은 특징 벡터를 "c", "e", "f" 영역에는 사람 B의 동작으로부터 얻은 특징 벡터를 배열하는 방식으로 벡터들을 결합할 수 있다. 한편, 영역 구분 방식을 사용하는 대신, 특징 벡터를 추출하는 과정에서 벡터마다 신체의 어느 부위에 대응되는지에 대한 정보를 입력받도록 할 수도 있다.
도 4c는 도 2에서 동작 벡터를 보정한 예를 도시한 것이다. 도 4c의 동작 벡터는 도 4a의 특징 벡터보다 몸집이 큰 캐릭터에 맞추어 조정된 벡터들이다.
도 4d는 도 4c의 동작 벡터를 캐릭터에 적용하여 동작 실행을 한 후 변형된 동작 벡터를 도시한 것이다. 도 4c의 벡터들은 시뮬레이션 과정에서 물리 법칙에 부합하기 위해 필요한 범위에서 변형, 추가, 삭제될 수 있다.
본 발명은 소프트웨어를 통해 실행될 수 있다. 바람직하게는, 본 발명의 실시 예들에 따른 인공지능 기반의 캐릭터 동작생성 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시 예의 변형이 가능하다는 점을 이해할 것이다. 그리고, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.

Claims (14)

  1. 사용자로부터 생성하려는 동작 종류를 입력받고, 데이터베이스에서 신체 부위별로 구분된 특징 벡터들 중 상기 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 하나씩 랜덤하게 선택하는 단계;
    상기 랜덤하게 선택된 모든 특징 벡터를 서로 결합하여 새로운 동작에 대한 동작 벡터를 생성하는 단계;
    상기 사용자에 의해 미리 검색된 캐릭터의 신체 구조에 따라 상기 동작 벡터를 보정하는 단계;
    가상 환경에서 물리 법칙을 부여하는 물리 엔진을 적용하고 상기 보정된 동작 벡터를 적용할 캐릭터에 적용한 후 상기 캐릭터가 상기 새로운 동작을 수행하게 하는 단계; 및
    상기 새로운 동작이 수행되는 과정에서 상기 캐릭터에 적용된 동작 벡터가 상기 캐릭터에 적용되기 이전의 동작 벡터와 비교하여 제2임계값 미만으로 변형되면, 상기 변형된 동작 벡터를 신체 부위별로 구분하여 상기 데이터베이스에 저장하는 단계
    를 포함하는, 인공지능 기반의 캐릭터 동작생성 방법.
  2. 제 1 항에 있어서,
    상기 동작 벡터를 생성하는 단계는
    상기 동작 벡터가 상기 데이터베이스에 저장된 특징 벡터에 대해 제1임계값 이상으로 변형된 경우, 상기 동작 벡터를 삭제하는 단계; 및
    상기 동작 벡터가 삭제되면, 상기 데이터베이스의 특징 벡터들 중 상기 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 하나씩 다시 선택하고, 선택된 특징 벡터를 서로 결합하여 새로운 동작에 대한 동작 벡터를 생성하는 단계; 및 다시 생성된 동작 벡터가 제1임계값 이상으로 변형되었는지 판단하는 단계를 포함하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 방법.
  3. 제 1 항에 있어서,
    상기 데이터베이스에 저장하는 단계는
    상기 캐릭터의 신체 부위별 길이와 움직일 수 있는 각도를 고려하여 상기 보정된 동작 벡터의 변형 정도가 제2임계값 미만인 경우, 상기 변형된 동작 벡터를 신체부위별로 구분하는 단계를 포함하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 방법.
  4. 제 1 항에 있어서,
    상기 동작 시뮬레이션을 수행하는 단계는
    상기 동작 시뮬레이션을 수행하는 과정에서 상기 보정된 동작 벡터가 제2임계값 이상으로 변형된 경우, 상기 보정된 동작 벡터를 삭제하는 단계를 포함하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 방법.
  5. 제 1 항에 있어서,
    상기 동작 벡터를 보정하는 단계는
    상기 검색된 캐릭터의 몸 길이, 어깨 너비, 팔 길이, 및 다리의 길이에 따라 신체 부위별로 상기 동작 벡터의 스케일을 조정하는 단계를 포함하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 방법.
  6. 제 1 항에 있어서,
    상기 변형된 동작 벡터를 신체 부위별로 구분하여 상기 데이터베이스에 저장한 이후에,
    상기 데이터베이스에 저장된 상기 특징 벡터들 및 상기 동작 벡터 중 상기 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 하나씩 랜덤하게 선택하고, 상기 랜덤하게 선택된 모든 특징 벡터를 서로 결합하여 새로운 동작에 대한 동작 벡터를 생성하는 단계를 더 포함하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 방법.
  7. 제 1 항에 있어서,
    상기 특징 벡터를 선택하는 단계 이전에,
    복수의 동작에 대한 특징 벡터를 수집하여 상기 데이터베이스를 구축하기 위해, 입력 영상으로부터 연속적인 동작의 특징 벡터를 추출하는 단계;
    상기 특징 벡터를 동작별 표준 데이터를 기준으로 분류하여 상기 특징 벡터가 나타내는 동작 종류를 결정하는 단계;
    상기 특징 벡터를 캐릭터의 신체 부위별로 구분하는 단계; 및
    상기 구분된 특징 벡터를 상기 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 방법.
  8. 제 7 항에 있어서,
    상기 특징 벡터를 추출하는 단계는
    상기 특징 벡터의 스케일을 상기 동작별 표준 데이터에 따라 조정하는 단계를 포함하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 방법.
  9. 제 7 항에 있어서,
    상기 동작 종류를 결정하는 단계 및 상기 신체 부위별로 구분하는 단계는
    상기 특징 벡터를 복수의 클래스 중 어느 하나로 분류하기 위한 클러스터링 알고리즘에 적용하는 단계인 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 방법.
  10. 제1항 내지 제9항 중 어느 한 항의 방법을 컴퓨터 시스템에서 실행하기 위한 프로그램이 기록된, 컴퓨터 시스템이 판독할 수 있는 기록매체.
  11. 신체 부위별로 구분된 특징 벡터들을 저장하는 데이터베이스;
    사용자로부터 생성하려는 동작 종류를 입력받고, 상기 데이터베이스의 특징 벡터들 중 상기 입력받은 동작 종류에 해당하는 특징 벡터를 신체 부위별로 랜덤하게 선택하고, 상기 랜덤하게 선택된 특징 벡터를 서로 결합하여 새로운 동작에 대한 동작 벡터를 생성하는 동작 생성부;
    상기 사용자에 의해 미리 검색된 캐릭터의 신체 구조에 따라 상기 동작 벡터를 보정하고, 가상 환경에서 물리법칙을 부여하는 물리 엔진을 적용하고 상기 보정된 동작 벡터를 상기 캐릭터에 적용한 후 상기 캐릭터가 상기 새로운 동작을 수행하게 하는 동작 실행부; 및
    상기 새로운 동작이 수행되는 과정에서 상기 캐릭터에 적용된 동작 벡터가 상기 캐릭터에 적용되기 이전의 동작 벡터와 비교하여 제2임계값 미만으로 변형되면, 상기 변형된 동작 벡터를 신체 부위별로 구분하여 상기 데이터베이스에 저장하는 동작 관리부
    를 포함하는, 인공지능 기반의 캐릭터 동작생성 장치.
  12. 제 11 항에 있어서,
    상기 동작 실행부는
    상기 검색된 캐릭터의 몸 길이, 어깨 너비, 팔 길이, 및 다리의 길이에 따라 신체 부위별로 상기 동작 벡터의 스케일을 조정하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 장치.
  13. 제 11 항에 있어서,
    상기 동작 관리부는
    상기 캐릭터의 신체 부위별 길이와 움직일 수 있는 각도를 고려하여 상기 보정된 동작 벡터의 변형 정도가 제2임계값 미만인 경우, 상기 변형된 동작 벡터를 신체부위별로 구분하여 성가 데이터베이스에 저장하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 장치.
  14. 제 11 항에 있어서,
    입력 영상으로부터 연속적인 동작의 특징 벡터를 추출하고, 상기 특징 벡터를 동작별 표준 데이터를 기준으로 분류하여 상기 특징 벡터가 나타내는 동작 종류를 결정하며, 상기 특징 벡터를 캐릭터의 신체 부위별로 구분하며, 상기 구분된 특징 벡터를 상기 데이터베이스에 저장하는 동작 수집부를 포함하는 것을 특징으로 하는, 인공지능 기반의 캐릭터 동작생성 장치.
KR1020100098369A 2010-10-08 2010-10-08 인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체 KR101014852B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100098369A KR101014852B1 (ko) 2010-10-08 2010-10-08 인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100098369A KR101014852B1 (ko) 2010-10-08 2010-10-08 인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체

Publications (1)

Publication Number Publication Date
KR101014852B1 true KR101014852B1 (ko) 2011-02-15

Family

ID=43777454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100098369A KR101014852B1 (ko) 2010-10-08 2010-10-08 인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체

Country Status (1)

Country Link
KR (1) KR101014852B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019059712A1 (ko) * 2017-09-25 2019-03-28 넷마블 주식회사 게임 서비스 제공 장치 및 방법
KR20200028872A (ko) 2018-09-07 2020-03-17 (주)위지윅스튜디오 인공지능 기술을 이용한 연기 보정 시스템
US11501487B2 (en) 2018-11-22 2022-11-15 Samsung Electronics Co., Ltd. Electronic device and control method thereof
WO2023076890A1 (en) * 2021-10-26 2023-05-04 Emed Labs, Llc Systems, methods, and devices for preserving patient privacy
US11721055B2 (en) 2021-02-03 2023-08-08 Samsung Electronics Co., Ltd. Method and device with character animation motion control

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000026404A (ko) * 1998-10-20 2000-05-15 신동윤 가상현실 캐릭터의 실시간 제어시스템
KR20100001638A (ko) * 2008-06-27 2010-01-06 주식회사 스페이스일루젼 모션 캡쳐 애니메이션을 안무에 적용하는 방법, 장치, 및컴퓨터 판독 가능한 기록 매체
KR20100026785A (ko) * 2008-09-01 2010-03-10 한국과학기술연구원 진화 알고리즘과 모방학습에 기초한 로봇의 동작 제어 방법
KR20100072745A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 모션캡쳐 데이터베이스의 구축 방법과 이를 이용한 모션 합성 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000026404A (ko) * 1998-10-20 2000-05-15 신동윤 가상현실 캐릭터의 실시간 제어시스템
KR20100001638A (ko) * 2008-06-27 2010-01-06 주식회사 스페이스일루젼 모션 캡쳐 애니메이션을 안무에 적용하는 방법, 장치, 및컴퓨터 판독 가능한 기록 매체
KR20100026785A (ko) * 2008-09-01 2010-03-10 한국과학기술연구원 진화 알고리즘과 모방학습에 기초한 로봇의 동작 제어 방법
KR20100072745A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 모션캡쳐 데이터베이스의 구축 방법과 이를 이용한 모션 합성 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019059712A1 (ko) * 2017-09-25 2019-03-28 넷마블 주식회사 게임 서비스 제공 장치 및 방법
US11554325B2 (en) 2017-09-25 2023-01-17 Netmarble Corporation Apparatus and method for providing game service
KR20200028872A (ko) 2018-09-07 2020-03-17 (주)위지윅스튜디오 인공지능 기술을 이용한 연기 보정 시스템
US11501487B2 (en) 2018-11-22 2022-11-15 Samsung Electronics Co., Ltd. Electronic device and control method thereof
US11721055B2 (en) 2021-02-03 2023-08-08 Samsung Electronics Co., Ltd. Method and device with character animation motion control
WO2023076890A1 (en) * 2021-10-26 2023-05-04 Emed Labs, Llc Systems, methods, and devices for preserving patient privacy

Similar Documents

Publication Publication Date Title
KR102197553B1 (ko) 파트 기반 키 프레임들 및 선험적 모델을 사용한 견고한 메시 트래킹 및 융합
US11232292B2 (en) Activity recognition systems and methods
Villegas et al. Learning to generate long-term future via hierarchical prediction
CN111626218B (zh) 基于人工智能的图像生成方法、装置、设备及存储介质
Guo et al. Human action recognition via multi-task learning base on spatial–temporal feature
US9489042B2 (en) Scenario-specific body-part tracking
KR101014852B1 (ko) 인공지능 기반의 캐릭터 동작생성 장치, 방법 및 그 기록 매체
US9610496B2 (en) Character model animation using stored recordings of player movement interface data
Li et al. Cloning crowd motions
Makantasis et al. From pixels to affect: A study on games and player experience
Won et al. Generating and ranking diverse multi-character interactions
Ho et al. Topology aware data‐driven inverse kinematics
CN111104930A (zh) 视频处理方法、装置、电子设备及存储介质
Zhang Design of mobile augmented reality game based on image recognition
KR100427879B1 (ko) 물체영역정보를 생성하기 위한 프로그램과 그 프로그램에 의해 생성된 물체영역정보를 격납한 기록매체
US11830121B1 (en) Neural animation layering for synthesizing martial arts movements
WO2022115160A1 (en) In-game dynamic camera angle adjustment
Lee et al. SAME: Skeleton-Agnostic Motion Embedding for Character Animation
Gokul et al. Semantic interaction with human motion using query-based recombinant video synthesis
Gibson et al. Capture and synthesis of insect motion
Chang et al. Key frames extraction from human motion capture data based on hybrid particle swarm optimization algorithm
Lee et al. Projective motion correction with contact optimization
Salamah et al. Hierarchical method for segmentation by classification of motion capture data
Berseth et al. Towards Learning to Imitate from a Single Video Demonstration
Allhoff A Framework to Generate and Label Synthetic/Real Video Data to Feed Temporal Segment Networks

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140206

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160202

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170208

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190201

Year of fee payment: 9