KR101193073B1 - Device and Method for generating character action by demonstration, and Recording medium thereof - Google Patents

Device and Method for generating character action by demonstration, and Recording medium thereof Download PDF

Info

Publication number
KR101193073B1
KR101193073B1 KR1020100126171A KR20100126171A KR101193073B1 KR 101193073 B1 KR101193073 B1 KR 101193073B1 KR 1020100126171 A KR1020100126171 A KR 1020100126171A KR 20100126171 A KR20100126171 A KR 20100126171A KR 101193073 B1 KR101193073 B1 KR 101193073B1
Authority
KR
South Korea
Prior art keywords
action
partial
control value
actions
quantized
Prior art date
Application number
KR1020100126171A
Other languages
Korean (ko)
Other versions
KR20120064908A (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 KR1020100126171A priority Critical patent/KR101193073B1/en
Publication of KR20120064908A publication Critical patent/KR20120064908A/en
Application granted granted Critical
Publication of KR101193073B1 publication Critical patent/KR101193073B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Educational Administration (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Optimization (AREA)
  • Educational Technology (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

모방 학습 기반의 캐릭터 행동 생성 장치, 그 방법 및 기록매체가 개시된다. 본 발명의 일 실시 예에 따른 모방 학습 기반의 캐릭터 행동 생성 장치는 사용자에 의해 입력되는 제1 동작 제어값을 수집하는 중계부; 상기 제1 동작 제어값을 바로 이전에 입력받은 제2 동작 제어값과 비교하여 두 값의 차이가 임계치 미만이면 상기 제1 동작 제어값을 삭제하는 액션 필터; 상기 두 값의 차이가 임계치 이상이면 상기 제1 동작 제어값을 양자화하여 양자화된 동작을 생성하는 동작 양자화부; 목표개수의 양자화된 동작을 수집하는 동작 수집부; 상기 동작 수집부에서 상기 목표개수의 양자화된 동작이 수집되어 시간순으로 배열되어 전체 행동이 구성되면, 상기 전체 행동 중 시간 축 상에서 연속하는 양자화된 동작들로 구성할 수 있는 모든 부분 행동들을 추출하는 행동 생성부; 및 상기 부분 행동들 중 복수의 대표 행동을 추출하고, 상기 대표 행동을 기준으로 상기 부분 행동들을 분류하면서 상기 대표 행동에 속하지 않는 부분 행동을 새로운 대표 행동으로 추가하는 행동 선택부를 포함한다.Disclosed are a device for generating a character behavior based on imitation learning, a method, and a recording medium. In accordance with one embodiment of the present invention, an apparatus for generating character behavior based on imitation learning includes: a relay unit configured to collect a first motion control value input by a user; An action filter for comparing the first operation control value with a second operation control value which has been previously input and deletes the first operation control value if a difference between the two values is less than a threshold; An operation quantizer for generating a quantized operation by quantizing the first operation control value when the difference between the two values is greater than or equal to a threshold; A motion collecting unit for collecting a target number of quantized motions; When the target number of quantized motions are collected and arranged in chronological order in the motion collecting unit, the entire behavior is configured, and the action extracts all partial actions that can be composed of consecutive quantized motions on the time axis. Generation unit; And an action selection unit that extracts a plurality of representative actions among the partial actions, and classifies the partial actions based on the representative actions and adds a partial action not belonging to the representative action as a new representative action.

Description

모방 학습 기반의 캐릭터 행동 생성 장치, 그 방법 및 기록매체 {Device and Method for generating character action by demonstration, and Recording medium thereof}Device for generating behavior based on imitation learning, method and recording medium {Device and Method for generating character action by demonstration, and Recording medium}

본 발명은 가상 캐릭터를 위한 행동을 정의하는 기술에 관한 것으로, 특히, 모방 학습 기반의 캐릭터 행동 생성 장치, 그 방법 및 기록매체에 관한 것이다.The present invention relates to a technique for defining a behavior for a virtual character, and more particularly, to a device for generating a behavior based on imitation learning, a method and a recording medium.

모방 학습 기술은 로봇 분야 및 가상 캐릭터 등 다양한 분야에 응용되어 적용되고 있다.Imitation learning technology has been applied to various fields such as robot field and virtual character.

모방 학습 프레임워크에 관한 연구는 다음과 같다. 사용자가 수행한 팔의 움직임을 재생하기 위한 동적 시스템에 관해 연구되고 있다. 이 시스템은 mixtures of nonlinear dynamical system에 기반을 두고 있기 때문에 사람의 행동을 정확하게 재생하지 못하는 문제를 해결했다. 또 따른 로봇 팔의 이동 경로를 학습하기 위한 연구로는 PCA(Principal Component Analysis), ICA(Independent Component Analysis) 그리고 HMM(Hidden Markov Model)을 사용한 방법이 있다. 종래에는 PCA를 사용해서 분석할 데이터의 양을 줄이고 ICA를 사용해서 데이터를 분석하며 HMM은 팔의 이동 경로를 모델링하였다.The research on the imitation learning framework is as follows. Dynamic systems for reproducing arm movements performed by users have been studied. The system is based on a mixtures of nonlinear dynamical systems that solves the problem of inaccurate reproduction of human behavior. In addition, the study for learning the movement path of the robotic arm includes a method using Principal Component Analysis (PCA), Independent Component Analysis (ICA) and Hidden Markov Model (HMM). Conventionally, PCA is used to reduce the amount of data to analyze, ICA is used to analyze the data, and HMM models arm travel paths.

로봇이 있는 환경이 복잡하면 수행할 행동도 계층적으로 표현할 필요가 있다. 이에 따라 에이전트의 수행할 행동을 정의하는 방법도 연구되고 있다. Multi-controller fusion은 수행할 행동을 계층적으로 표현하는 방법을 제안하고 각각의 행동을 통합하거나 다시 분리할 수 있는 방법을 제시하였다.Complex environments with robots also need to be hierarchical. Accordingly, a method of defining an agent's action to be performed is also being studied. Multi-controller fusion proposed a method of hierarchically expressing the actions to be performed and presented a method of integrating or re-separating each action.

그러나 종래의 방법들은 많은 양의 행동을 정의하기 위해서는 비용과 시간이 지나치게 많이 드는 문제가 있다. 한편 사용자가 인위적으로 동작을 생성하면 캐릭터의 움직임이 부자연스럽게 되므로, 캐릭터에 적용하기 위한 방대하면서도 자연스러운 행동을 구축하기 위해서는 그 대안이 되지 못하였다.However, conventional methods suffer from too much cost and time to define a large amount of behavior. On the other hand, if the user artificially creates a motion, the movement of the character becomes unnatural, and thus, it is not an alternative to construct a massive and natural action to apply to the character.

본 발명이 이루고자 하는 첫 번째 기술적 과제는 실제 사람의 움직임에 가까운 행동들을 자동으로 생성하여 방대한 행동 스크립트 또는 데이터베이스를 구축할 수 있게 하는 모방 학습 기반의 캐릭터 행동 생성 장치를 제공하는 데 있다.The first technical problem to be achieved by the present invention is to provide an imitation learning-based character behavior generation apparatus that can automatically generate behaviors that are close to the actual human movement to build a massive behavior script or database.

본 발명이 이루고자 하는 두 번째 기술적 과제는 상기 캐릭터 행동 생성 장치에 적용되는 모방 학습 기반의 캐릭터 행동 생성 방법을 제공하는 데 있다.The second technical problem to be achieved by the present invention is to provide a method for generating character behavior based on imitation learning applied to the character behavior generating device.

본 발명이 이루고자 하는 세 번째 기술적 과제는 상기의 모방 학습 기반의 캐릭터 행동 생성 방법을 컴퓨터 시스템에서 실행하기 위한 프로그램이 기록된 매체로서, 컴퓨터 시스템이 판독할 수 있는 기록매체를 제공하는 데 있다.A third technical problem to be achieved by the present invention is to provide a recording medium that can be read by a computer system, as a medium in which a program for executing the above-described method for generating a character behavior based on a mimicking learning is recorded in a computer system.

상기의 첫 번째 기술적 과제를 이루기 위하여, 본 발명의 일 실시 예에 따른 모방 학습 기반의 캐릭터 행동 생성 장치는 사용자에 의해 입력되는 제1 동작 제어값을 수집하는 중계부; 상기 제1 동작 제어값을 마지막으로 동작 양자화부에 전달한 제2 동작 제어값과 비교하여 두 값의 차이가 임계치 미만이면 상기 제1 동작 제어값을 삭제하는 액션 필터; 상기 두 값의 차이가 임계치 이상이면 상기 제1 동작 제어값을 양자화하여 양자화된 동작을 생성하는 동작 양자화부; 목표개수의 양자화된 동작을 수집하는 동작 수집부; 상기 동작 수집부에서 상기 목표개수의 양자화된 동작이 수집되어 시간순으로 배열되어 전체 행동이 구성되면, 상기 전체 행동 중 시간 축 상에서 연속하는 양자화된 동작들로 구성할 수 있는 모든 부분 행동들을 추출하는 행동 생성부; 및 상기 부분 행동들 중 복수의 대표 행동을 추출하고, 상기 대표 행동을 기준으로 상기 부분 행동들을 분류하면서 상기 대표 행동에 속하지 않는 부분 행동을 새로운 대표 행동으로 추가하는 행동 선택부를 포함한다.In order to achieve the first technical problem, an apparatus for generating character behavior based on imitation learning according to an embodiment of the present invention includes: a relay unit configured to collect a first motion control value input by a user; An action filter for comparing the first operation control value with a second operation control value finally transmitted to an operation quantization unit and deleting the first operation control value if a difference between the two values is less than a threshold; An operation quantizer for generating a quantized operation by quantizing the first operation control value when the difference between the two values is greater than or equal to a threshold; A motion collecting unit for collecting a target number of quantized motions; When the target number of quantized motions are collected and arranged in chronological order in the motion collecting unit, the entire behavior is configured, and the action extracts all partial actions that can be composed of consecutive quantized motions on the time axis. Generation unit; And an action selection unit that extracts a plurality of representative actions among the partial actions, and classifies the partial actions based on the representative actions and adds a partial action not belonging to the representative action as a new representative action.

상기의 두 번째 기술적 과제를 이루기 위하여, 본 발명의 일 실시 예에 따른 모방 학습 기반의 캐릭터 행동 생성 방법은 사용자에 의해 입력되는 제1 동작 제어값을 수집하면서, 마지막으로 양자화한 제2 동작 제어값과 비교하여 두 값의 차이가 임계치 이상이면 상기 제1 동작 제어값을 양자화하여 양자화된 동작을 생성하는 단계; 목표개수의 양자화된 동작이 시간순으로 배열되어 전체 행동이 구성되면, 상기 전체 행동 중 시간 축 상에서 연속하는 양자화된 동작들로 구성할 수 있는 모든 부분 행동들을 추출하는 단계; 및 상기 부분 행동들 중 복수의 대표 행동을 추출하고, 상기 대표 행동을 기준으로 상기 부분 행동들을 분류하면서 상기 대표 행동에 속하지 않는 부분 행동을 새로운 대표 행동으로 추가하는 단계를 포함한다.In order to achieve the second technical problem, the method of generating a character behavior based on the imitation learning according to an embodiment of the present invention collects a first motion control value input by a user and finally quantizes the second motion control value. Quantizing the first operation control value to generate a quantized operation when the difference between the two values is greater than or equal to a threshold compared with the control unit; If a target number of quantized operations are arranged in chronological order to form a total behavior, extracting all partial behaviors that can be composed of consecutive quantized operations on the time axis of the total behavior; And extracting a plurality of representative actions from the partial actions, and classifying the partial actions based on the representative actions and adding a partial action not belonging to the representative action as a new representative action.

본 발명의 실시 예들에 의하면, 실제 사람의 움직임에 가까운 행동들을 자동으로 생성하여 방대한 행동 스크립트 또는 데이터베이스를 구축할 수 있으며, 게임, 가상현실, 영화 등의 가상 환경을 다루는 모든 디지털 콘텐츠 분야와 로봇 제어와 같은 전략 산업 응용 분야에서 지능적 행동 구현에 응용될 수 있다.According to the embodiments of the present invention, the robot can automatically generate behaviors that are close to real human motions to construct a massive behavior script or database, and control all digital content fields and robots that cover virtual environments such as games, virtual reality, and movies. It can be applied to the implementation of intelligent behavior in strategic industrial applications.

도 1은 본 발명의 일 실시 예에 따른 모방 학습 기반의 캐릭터 행동 생성 장치의 블록도이다.
도 2는 도 1의 블록도를 레이싱 게임 컨텐츠에 적용한 예이다.
도 3은 본 발명의 일 실시 예에 따른 모방 학습 기반의 캐릭터 행동 생성 방법의 흐름도이다.
도 4는 전체 행동을 구성한 예를 도시한 것이다.
도 5는 도 4의 전체 행동으로부터 부분 행동을 추출하는 과정의 예를 도시한 것이다.
1 is a block diagram of an apparatus for generating character behavior based on imitation learning according to an embodiment of the present invention.
2 is an example of applying the block diagram of FIG. 1 to racing game content.
3 is a flowchart illustrating a method of generating character behavior based on imitation learning according to an embodiment of the present invention.
4 shows an example of the overall action.
FIG. 5 illustrates an example of a process of extracting partial actions from the entire actions of FIG. 4.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다.Hereinafter, with reference to the drawings will be described a preferred embodiment of the present invention. However, embodiments of the present invention illustrated below may be modified in various other forms, and the scope of the present invention is not limited to the embodiments described below.

캐릭터의 움직임은 가상 환경의 현실성을 높이는 중요한 요소이다. 게임 혹은 가상 환경에서 캐릭터를 제어하기 위해서 캐릭터가 수행할 행동을 가장 먼저 정의하고 이를 기반으로 캐릭터가 움직이는 방법을 정의한다. 행동은 캐릭터 움직임의 기반이 되기 때문에 행동을 어떻게 정의하는가가 중요하다. Character movement is an important factor to increase the reality of the virtual environment. In order to control a character in a game or virtual environment, we first define the action the character will perform and then define how the character moves. Since behavior is the basis for character movement, how to define behavior is important.

본 발명의 실시 예들은 가상 캐릭터가 사람과 같이 자연스러운 행동을 정의 혹은 생성하기 위한 것이다. 본 발명의 실시 예들에서는 사용자가 직접 캐릭터의 행동을 정의하지 않고 사람의 캐릭터 동작 제어를 분석해서 캐릭터에 적합한 동작을 생성하거나 정의한다. 결국 본 발명의 실시 예들은 모방학습의 결과를 가상 캐릭터에 적용하기 위한 프레임워크에 해당한다.Embodiments of the present invention are for a virtual character to define or create a natural behavior such as a human. In the embodiments of the present invention, the user does not directly define the character's behavior, but analyzes the character's motion control of a person to create or define a motion suitable for the character. After all, embodiments of the present invention correspond to a framework for applying the results of imitation learning to virtual characters.

도 1은 본 발명의 일 실시 예에 따른 모방 학습 기반의 캐릭터 행동 생성 장치(100)의 블록도이다.1 is a block diagram of an apparatus 100 for generating a character behavior based on imitation learning according to an embodiment of the present invention.

중계부(110)는 사용자에 의해 입력되는 제1 동작 제어값을 수집한다. 제1 동작 제어값은 사용자 조작부(101)에서 컨텐츠 구동 시스템(102)를 통해 전달될 수 있다. 동작 제어값은 캐릭터의 공간상의 좌표, 신체 각부의 움직임 정도, 신체 각부의 기울기 등을 제어하기 위한 값으로 사용자 조작부(101)의 형태에 따라 데이터의 포맷이 달라진다. 사용자 조작부(101)는 키보드, 마우스, 조이스틱, 터치 스크린, 터치 패드 등 사용자 입력 수단을 의미한다. 컨텐츠 구동 시스템(102)는 캐릭터에게 가상환경을 제공하는 장치로서 PC, 시뮬레이션 서버, 실험용 장비, 게임기 등일 수 있다.The relay unit 110 collects the first operation control value input by the user. The first operation control value may be transmitted from the user manipulation unit 101 through the content driving system 102. The motion control value is a value for controlling the spatial coordinates of the character, the degree of movement of the body parts, the inclination of the body parts, and the like, and the format of the data varies according to the shape of the user manipulation unit 101. The user manipulation unit 101 means a user input means such as a keyboard, a mouse, a joystick, a touch screen, a touch pad, and the like. The content driving system 102 may be a PC, a simulation server, an experimental equipment, a game machine, or the like as a device for providing a virtual environment to the character.

액션 필터(120)는 제1 동작 제어값을 바로 이전에 입력받은 제2 동작 제어값과 비교하여 두 값의 차이가 임계치 미만이면 제1 동작 제어값을 삭제한다. 제2 동작 제어값은 마지막으로 동작 양자화부(130)에 전달한 제1 동작 제어값을 의미한다. 예를 들어, 액션 필터(120)는 마지막으로 입력받은 제2 동작 제어값과 비교하기 위해, 제1 동작 제어값과 제2 동작 제어값의 유클리드 거리를 계산하여 유클리드 거리가 임계치 이상인지 판단한다. The action filter 120 compares the first operation control value with the second operation control value which has been previously input, and deletes the first operation control value when the difference between the two values is less than the threshold value. The second operation control value means the first operation control value finally transmitted to the operation quantization unit 130. For example, the action filter 120 calculates the Euclidean distance between the first operation control value and the second operation control value to determine whether the Euclidean distance is greater than or equal to the threshold in order to compare with the second input operation control value.

두 값의 차이가 임계치 이상이면, 동작 양자화부(130)는 제1 동작 제어값을 양자화하여 양자화된 동작을 생성한다.If the difference between the two values is greater than or equal to the threshold, the operation quantization unit 130 generates a quantized operation by quantizing the first operation control value.

동작 수집부(140)는 목표개수의 양자화된 동작을 수집하여 이를 시간순으로 배열한 전체 행동을 구성한다.The motion collecting unit 140 collects a target number of quantized motions and configures the overall motions arranged in chronological order.

행동 생성부(150)는 동작 수집부(140)에서 목표개수의 양자화된 동작이 수집되어 시간순으로 배열되어 전체 행동이 구성되면, 전체 행동으로부터 모든 부분 행동들을 추출한다. 여기서 부분 행동들은 전체 행동 중 시간 축 상에서 연속하는 양자화된 동작들로 구성된다. 보다 구체적으로, 부분 행동들은 전체 행동에서 시간 축 상의 임의 시간 지점부터 다음 임의 시간 지점까지의 양자화된 동작들의 배열이다. 바람직하게는, 행동 생성부(150)는 추출된 모든 부분 행동들 중 행동 길이(행동이 수행되는 시간 길이)가 임계 시간 이상인 부분 행동을 삭제하도록 하거나(지나치게 수행시간이 긴 부분 행동을 걸러냄) 임계 시간 미만인 부분 행동을 삭제하도록(지나치게 수행시간이 짧은 부분 행동을 걸러냄) 구성될 수 있다.The behavior generator 150 extracts all partial behaviors from the total behavior when the target number of quantized motions are collected and arranged in chronological order in the motion collector 140 to form the entire behavior. Partial actions here consist of consecutive quantized actions on the time axis of the overall action. More specifically, partial actions are an arrangement of quantized actions from any time point on the time axis to the next arbitrary time point in the overall action. Preferably, the action generator 150 deletes the partial action whose action length (the length of time that the action is performed) is greater than or equal to the threshold time of all the extracted partial actions (extrapolates the partial action of which the execution time is excessively long). It may be configured to delete partial actions that are below a threshold time (filtering out excessively short duration actions).

행동 선택부(160)는 부분 행동들 중 복수의 대표 행동을 추출하고, 대표 행동을 기준으로 부분 행동들을 분류한다. 예를 들어, 행동 선택부(160)는 복수의 대표 행동을 추출하는 과정 및 부분 행동들을 분류하는 과정에 Minmax 알고리즘, K-means 알고리즘 등의 알고리즘을 적용할 수 있다. 또한, 행동 선택부(160)는 부분 행동들을 분류하는 과정에서 새로운 대표 행동을 추가할 수도 있다. 보다 구체적으로 행동 선택부(160)는 부분 행동들을 분류면서 기존의 대표 행동에 속하지 않는 부분 행동을 새로운 대표 행동으로 추가할 수 있다.The action selector 160 extracts a plurality of representative actions from the partial actions, and classifies the partial actions based on the representative actions. For example, the action selector 160 may apply an algorithm such as a Minmax algorithm or a K-means algorithm to extract a plurality of representative actions and classify partial actions. In addition, the action selector 160 may add a new representative action in the process of classifying partial actions. More specifically, the action selector 160 may classify the partial actions and add the partial actions that do not belong to the existing representative actions as the new representative actions.

스크립트 생성부(170)는 행동 선택부(160)에서 대표 행동들을 스크립트로 저장한다. 바람직하게는, 스크립트 생성부(170)는 컨텐츠를 구동하는 환경에 대응하는 포맷으로 변환하도록 구성될 수 있다. 본 발명의 다른 실시 예에서는 스크립트 생성부(170)가 생략될 수도 있다.The script generator 170 stores the representative actions in the action selector 160 as a script. Preferably, the script generation unit 170 may be configured to convert to a format corresponding to the environment for driving the content. In another embodiment of the present invention, the script generation unit 170 may be omitted.

도 2는 도 1의 블록도를 레이싱 게임 컨텐츠에 적용한 예이다.2 is an example of applying the block diagram of FIG. 1 to racing game content.

도 2는 사용자 조작부(101)가 레이싱 게임용 스티어링 휠과 페달로 구성된 장치이다. 컨텐츠 구동 시스템(102)은 레이싱 게임 컨텐츠를 구동하는데, 사용자 조작부(101)의 제어 입력값에 따라 자동차(캐릭터)의 움직임을 표현한다. 도 2에서 컨텐츠 구동 시스템(102)는 중계부(110)를 통해서 스크립트(171)를 전달받고, 스크립트(171)에 기술된 행동을 수행한다.2 is a device in which the user manipulation unit 101 is composed of a steering wheel and a pedal for a racing game. The content driving system 102 drives the racing game content, and expresses the movement of the car (character) according to the control input value of the user manipulation unit 101. In FIG. 2, the content driving system 102 receives the script 171 through the relay unit 110 and performs an action described in the script 171.

도 3은 본 발명의 일 실시 예에 따른 모방 학습 기반의 캐릭터 행동 생성 방법의 흐름도이다.3 is a flowchart illustrating a method of generating character behavior based on imitation learning according to an embodiment of the present invention.

먼저, 사용자에 의해 입력되는 제1 동작 제어값을 수집한다(S311).First, the first operation control value input by the user is collected (S311).

다음, 입력받은 제1 동작 제어값과 마지막으로 양자화한 제2 동작 제어값을 비교하여 두 값의 차이가 임계치 이상이면(S312), 제1 동작 제어값을 양자화하여 양자화된 동작을 생성한다(S314).Next, if the difference between the two values is greater than or equal to the threshold value (S312) by comparing the received first operation control value with the last quantized second operation control value, the first operation control value is quantized to generate a quantized operation (S314). ).

보다 구체적으로, 이 과정(S312)에서 마지막으로 입력받은 제2 동작 제어값과 비교하기 위해, 제1 동작 제어값과 제2 동작 제어값의 유클리드 거리를 계산하여 유클리드 거리가 임계치 이상인지 판단할 수 있다. 이를 상세히 설명하면 다음과 같다.More specifically, the Euclidean distance between the first operation control value and the second operation control value may be calculated to compare with the second operation control value last input in this process (S312) to determine whether the Euclidean distance is greater than or equal to the threshold. have. This will be described in detail as follows.

사용자가 조작한 시간 t의 캐릭터의 행동을 at라고 정의한다. 사용자가 조작해서 수행한 모든 행동 a의 집합이 A이고, 행동 ag는 집합 A의 g번째 행동일 때, 수학식 1과 같은 관계가 성립한다.We define a t as the behavior of the character at the time t that the user manipulated. When the set of all the actions a performed by the user is A and the actions a g are the g-th actions of the set A, the relationship as in Equation 1 is established.

Figure 112010081478610-pat00001
Figure 112010081478610-pat00001

여기서, 행동 at는 다수개의 동작(m)으로 정의된다(at = m1 t?m2 t? ... ). 두 개의 연속적인 값을 비교하기 위해 수학식 2와 같은 유클리드 거리(Euclid Distance) 연산이 사용될 수 있다.Here, the behavior a t is defined as a plurality of operations m (a t = m 1 t ? M 2 t ? ...). To compare two consecutive values, an Euclidean distance operation such as Equation 2 can be used.

Figure 112010081478610-pat00002
Figure 112010081478610-pat00002

이를 본 발명에 적용하면 수학식 3과 같이 표현될 수 있다.When applied to the present invention it can be expressed as Equation 3.

Figure 112010081478610-pat00003
Figure 112010081478610-pat00003

여기서, 행동 an은 n번째로 비교할 행동이고 행동 an - 1는 (n-1)번째 전달한 행동이다. 모션 mi n는 n번째 행동 an을 구성하는 i번째 모션(m)이고, 비율 ri n는 모션 mi n의 반영 비율이다.Where action a n is the nth behavior to compare and action a n - 1 is the (n-1) th passed behavior. The motion m i n is the i-th motion m constituting the n-th action a n , and the ratio r i n is a reflection ratio of the motion m i n .

액션 필터의 구현 예의 하나로, 수학식 4와 같이, 두 행동의 함수값 차이가 임계치 ε을 넘어갈 때 동작 양자화를 시킨다고 정의할 수 있다.As an example of the implementation of the action filter, as shown in Equation 4, it can be defined that the operation quantization when the difference in the function value of the two behaviors exceeds the threshold ε.

Figure 112010081478610-pat00004
Figure 112010081478610-pat00004

본 발명의 일 실시 예에서, 입력받은 제1 동작 제어값과 바로 이전에 입력받은 제2 동작 제어값을 비교하여 두 값의 차이가 임계치 미만이면(S312), 해당 동작 제어값은 삭제하고(S313), 새로운 동작 제어값을 입력받아 비교하는 과정을 반복한다(S311).In an embodiment of the present disclosure, if the difference between the two values is less than the threshold value by comparing the first operation control value input with the second operation control value immediately input (S312), the operation control value is deleted (S313). ), And repeats the process of receiving a new operation control value (S311).

양자화하는 과정(S314)의 구체적인 예는 다음과 같다. 행동 an은 수학식 5와 같이 delta time dn과 쌍으로 사용할 행동 fn을 정의할 수 있다.A specific example of the quantization process S314 is as follows. Action a n may define an action f n to be used in pairs with delta time d n as shown in Equation 5.

Figure 112010081478610-pat00005
Figure 112010081478610-pat00005

delta time dn는 수학식 6과 같이 마지막으로 전달한 행동 an -1의 시간 tn -1과 비교할 행동 an의 시간 tn의 시간 차이이다.The delta time d n is a time difference of the time t n of the action a n to be compared with the time t n -1 of the last action a n -1 as shown in Equation (6).

Figure 112010081478610-pat00006
Figure 112010081478610-pat00006

집합 D가 delta time d의 집합(dn ∈ D, D = { d1, d2, … })일 때, 집합 F은 수학식 7과 같이 동작 양자화부(130)가 전달받은 행동 fn의 집합을 정의할 수 있다.When the set D is a set of delta time d (d n ∈ D, D = {d 1 , d 2 ,…}), the set F corresponds to the action f n received by the operation quantization unit 130 as shown in Equation 7 below. You can define a set.

Figure 112010081478610-pat00007
Figure 112010081478610-pat00007

양자화하는 함수 T는 수학식 8과 같이 행동 fn를 양자화해서 행동 qn을 생성한다.Function T quantizing generates a behavior q n to quantize the act f n as shown in Equation 8.

Figure 112010081478610-pat00008
Figure 112010081478610-pat00008

행동 fn은 행동 an과 delta time dn으로 구성되기 때문에 양자화하는 각각의 함수 Ta와 함수 Td가 필요하다.Since behavior f n consists of behavior a n and delta time d n , we need each function T a and function T d to quantize.

행동 an의 양자화 과정은 행동 an를 구성하는 다수개의 모션 m을 양자화하는 방식으로 구현할 수 있다. 모션 m을 양자화하기 위해서는 아날로그 신호를 디지털 신호로 변환하는 수학식 9를 응용할 수 있다.Quantization of a n act can be implemented in a manner of quantizing a plurality of motion m constituting the action a n. In order to quantize the motion m, Equation 9 for converting an analog signal into a digital signal may be applied.

Figure 112010081478610-pat00009
Figure 112010081478610-pat00009

수학식 9에서 2M은 양자하한 결과의 총 개수, vMax와 vMin는 입력 값의 최대 및 최소값, vIn은 입력받은 값을 의미한다. 수학식 9를 이용하면, 수학식 10과 같이 n번째 행동의 i번째 모션 mi n을 양자화를 나타낼 수 있다.In Equation 9, 2 M is the total number of quantum lower bound results, v Max and v Min are the maximum and minimum values of the input value, and v In is the input value. Using Equation 9, as shown in Equation 10, the i th motion m i n of the n th action may be represented as quantization.

Figure 112010081478610-pat00010
Figure 112010081478610-pat00010

mMin는 모션의 최소 값이고 mMax는 모션의 최대값이다. mstep은 양자화한 값의 간격을 표현한다.m Min is the minimum value of motion and mMax is the maximum value of motion. m step represents the interval of quantized values.

행동을 양자화하는 함수 Ta는 수학식 11과 같이 각각의 모션 m'n을 양자화해서 행동 a'n을 구한다.The function T a to quantize the behavior quantizes each motion m ' n as shown in Equation 11 to obtain the behavior a' n .

Figure 112010081478610-pat00011
Figure 112010081478610-pat00011

함수 Td는 시간을 양자화하기 위한 함수이고 수학식 12와 같이 d'n을 계산한다. 여기서 '?'는 함께 기재된 행동 또는 모션이 시간적으로 연속되어 있다는 의미이다.The function T d is a function for quantizing time and calculates d ' n as shown in Equation 12. Here '?' Means that the actions or motions described together are continuous in time.

Figure 112010081478610-pat00012
Figure 112010081478610-pat00012

집합 Q를 qn ∈ Q, Q = { q1, q2, … }와 같이 행동 q의 집합이라고 정의한다. The set Q is q n ∈ Q, Q = {q 1 , q 2 ,. } Is defined as a set of behaviors q.

결론적으로, 양자화된 행동 a'n과 delta time d'n은 수학식 13 및 14와 같이 나타낼 수 있다.In conclusion, the quantized behaviors a ' n and delta time d' n can be expressed as Equations 13 and 14.

Figure 112010081478610-pat00013
Figure 112010081478610-pat00013

여기서, 집합 A'는 양자화된 행동 a'의 집합이다.Here, set A 'is a set of quantized behaviors a'.

Figure 112010081478610-pat00014
Figure 112010081478610-pat00014

여기서, 집합 D'는 양자화한 delta time d'의 집합이다. 수학식 15와 같이 집합 Q의 원소 개수는 집합 F의 원소 개수보다 작거나 같아질 수 있다.Here, the set D 'is a set of quantized delta time d'. As shown in Equation 15, the number of elements in the set Q may be less than or equal to the number of elements in the set F.

Figure 112010081478610-pat00015
Figure 112010081478610-pat00015

다음, 목표개수의 양자화된 동작이 시간순으로 배열되어 전체 행동이 구성되면(S321), 전체 행동으로부터 가능한 모든 부분 행동들을 추출한다(S322). 보다 구체적으로, 부분 행동들은 전체 행동에서 시간 축 상의 임의 시간 지점부터 다음 임의 시간 지점까지의 양자화된 동작들의 배열이다. 도 4는 전체 행동을 구성한 예를 도시한 것이고, 도 5는 도 4의 전체 행동(600)으로부터 부분 행동(610, 620)을 추출하는 과정의 예를 도시한 것이다. 도 5에서는 부분 행동은 시간적으로 연속한 모션의 어느 시점부터 연속된 모션을 임의의 길이로 잘라내어 부분 행동을 추출하는 방식을 보여주었는데, 시간적으로 연속한 "행동"의 어느 시점부터 연속된 행동을 임의의 길이로 잘라내어 부분 행동을 추출하는 것도 가능하다.Next, when the target number of quantized operations are arranged in chronological order (S321), all possible partial behaviors are extracted from the total behavior (S322). More specifically, partial actions are an arrangement of quantized actions from any time point on the time axis to the next arbitrary time point in the overall action. FIG. 4 illustrates an example of configuring an entire action, and FIG. 5 illustrates an example of a process of extracting partial actions 610 and 620 from the overall action 600 of FIG. 4. In FIG. 5, a partial action is a method of extracting a partial action by cutting a continuous motion to an arbitrary length from a point in time continuous motion, and selecting a continuous action from a point in time continuous "action". It is also possible to extract the partial action by cutting to the length of.

부분 행동들을 추출하는 구체적인 방법의 예는 다음과 같다. An example of a specific method of extracting partial actions is as follows.

행동 선택부(160)에 전달된 행동이 q1?q2? … ?qj 라면(j는 q의 마지막 인덱스이다), 행동 선택부(160)는 입력받은 일렬의 행동으로부터 가능한 모든 후보를 정의한다. 부분 행동 sm은 수학식 16과 같이 수집한 일렬의 행동 q의 일부분이다.The action delivered to the action selector 160 is q 1 ? Q 2 ? ... If q is j (j is the last index of q), the action selector 160 defines all possible candidates from the input line of actions. The partial action s m is a part of the line of action q collected as shown in Equation (16).

Figure 112010081478610-pat00016
Figure 112010081478610-pat00016

v, w은 임의의 자연수이다. 일렬의 행동 s의 집합을 수학식 17과 같이 집합 S로 정의할 수 있다.v and w are arbitrary natural numbers. A set of a line of actions s may be defined as a set S as shown in Equation 17.

Figure 112010081478610-pat00017
Figure 112010081478610-pat00017

본 발명의 다른 실시 예에서는 이 과정(S321)에서 추출된 모든 부분 행동들 중 행동 길이가 임계 시간 이상인 부분 행동을 삭제하는 과정(지나치게 수행시간이 긴 부분 행동을 걸러냄)을 거치거나 임계 시간 미만인 부분 행동을 삭제하는 과정(지나치게 수행시간이 짧은 부분 행동을 걸러냄)을 거칠 수 있다.In another exemplary embodiment of the present invention, the process of deleting partial actions having an action length greater than or equal to a threshold time among all partial actions extracted in this process (S321) or filtering out partial actions having a long execution time is less than or equal to a threshold time. You can go through the process of deleting partial actions (excessively filtering out partial actions).

다음, 부분 행동들 중 복수의 대표 행동을 추출하고, 대표 행동을 기준으로 부분 행동들을 분류하여 분류한다(S331). 예를 들어, 이 과정(S331)에서 부분 행동들을 분류면서 기존의 대표 행동에 속하지 않는 부분 행동을 새로운 대표 행동으로 추가할 수도 있다.Next, a plurality of representative actions are extracted from the partial actions, and the partial actions are classified and classified based on the representative actions (S331). For example, while classifying the partial actions in this process (S331), a partial action that does not belong to the existing representative action may be added as a new representative action.

본 발명의 다른 실시 예에서는 복수의 대표 행동을 추출하는 과정 및 부분 행동들을 분류하는 과정에 Minmax 알고리즘, K-means 알고리즘 등의 알고리즘을 적용할 수도 있다.In another embodiment of the present invention, algorithms such as a Minmax algorithm and a K-means algorithm may be applied to a process of extracting a plurality of representative actions and a process of classifying partial actions.

Minmax 알고리즘은 분류의 진행에 따라 트리를 생성하게 된다. 트리에는 각 레벨(예를 들어, 0, 1, 2, 3, 4 ...)이 있는데, Max, Min은 교대로 행해진다. 각 노드의 숫자는 평가 함수의 값을 Min 레벨에서는 Max값이 가장 작은 값을, Max레벨에서는 Min값이 가장 큰값을 돌려받는 식의 과정을 거치게 된다. 이러한 방식으로 모든 노드를 찾기 위해서는 방대한 연산을 필요로 한다. 따라서 적당한 깊이까지 탐색 노드의 제한을 두는 것이 바람직하다. 본 발명의 일 실시 예에 Minmax 알고리즘을 적용하면, 트리의 각 노드는 행동들을 나타내고 트리의 상위 노드가 대표 행동을 나타내게 된다. 부분 행동들을 분류하는 과정에는 Minmax 알고리즘 대신에 K-means 알고리즘이 사용될 수도 있다. K-means 알고리즘은 n개의 객체들의 집합을 K개의 군집으로 분해하는 거리에 기반을 둔 클러스터링 기법이다. 군집 유사성은 군집에서 군집의 무게중심으로 볼 수 있는 객체들의 평균값을 측정하여 기준점에 가까운 곳의 데이터들을 하나의 군집으로 묶는 방법이다. 수행과정은 다음과 같다. 임의의 K개의 군집수를 결정하고, 각 군집에 초기치 또는 군집 중심을 1개씩 할당하여 위치 설정한다. 각각의 데이터에 대해 K개의 위치까지의 거리를 구하고 가장 가까운 군집에 소속시킨다. 군집으로 나누어진 데이터를 기준으로 새로운 군집 중앙의 위치를 최소가 되도록 재설정한다. 새롭게 구한 군집 중앙의 위치가 기존과 동일하면 알고리즘 종료하고 다르면 두 번째부터 재수행한다. 이 과정을 통하여 K개의 군집으로 데이터를 구분하고 K값에 따라 클러스터링에 많은 영향을 받는다.The Minmax algorithm generates a tree as the classification progresses. The tree has each level (for example 0, 1, 2, 3, 4 ...), with Max and Min alternated. The number of each node returns the value of the evaluation function, the value with the smallest Max value at the Min level, and the value with the largest Min value at the Max level. Finding all nodes in this way requires extensive operations. Therefore, it is desirable to limit the search node to a suitable depth. When the Minmax algorithm is applied to an embodiment of the present invention, each node in the tree represents behaviors and the upper nodes of the tree represent representative behaviors. In the process of classifying partial actions, the K-means algorithm may be used instead of the Minmax algorithm. The K-means algorithm is a distance-based clustering technique that decomposes a set of n objects into K clusters. Cluster similarity is a method of grouping data near a reference point into a cluster by measuring an average value of objects that can be viewed as the center of gravity of the cluster. The execution process is as follows. An arbitrary number of K clusters is determined, and each cluster is located by assigning one initial value or cluster center. For each data, find the distance to K locations and associate them with the nearest cluster. Reset the center of the new cluster to the minimum based on the data divided into clusters. If the center of the newly obtained cluster is the same as the existing one, the algorithm is terminated. Through this process, data is divided into K clusters and clustering is affected by K values.

마지막으로, 대표 행동들을 스크립트로 저장한다(S332). 본 발명의 다른 실시 예에서는 스크립트 생성 과정(S332)이 생략될 수도 있다.Finally, the representative actions are stored as a script (S332). In another embodiment of the present invention, the script generation process (S332) may be omitted.

본 발명은 소프트웨어를 통해 실행될 수 있다. 바람직하게는, 본 발명의 실시 예들에 따른 모방 학습 기반의 캐릭터 행동 생성 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.The invention can be implemented via software. Preferably, the method for generating a character behavior based on the imitation learning according to the embodiments of the present invention may be provided by recording a program for executing on a computer in a computer-readable recording medium. When implemented in software, the constituent means of the present invention are code segments that perform the necessary work. The program or code segments may be stored on a processor readable medium or transmitted by a computer data signal coupled with a carrier on a transmission medium or network.

컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer readable recording medium include ROM, RAM, CD-ROM, DVD 占 ROM, DVD-RAM, magnetic tape, floppy disk, hard disk, optical data storage, and the like. The computer readable recording medium can also be distributed over network coupled computer devices so that the computer readable code is stored and executed in a distributed fashion.

본 발명은 도면에 도시된 일 실시 예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시 예의 변형이 가능하다는 점을 이해할 것이다. 그리고, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and variations may be made therefrom. And, such modifications should be considered to be within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

Claims (15)

컨텐츠 상의 캐릭터가 수행할 행동에 대한 정보를 자동으로 생성하는 방법에 있어서,
중계부를 통해 사용자에 의해 입력되는 제1 동작 제어값을 수집하면서, 마지막으로 양자화한 제2 동작 제어값과 비교하여 두 값의 차이가 임계치 이상이면 동작 양자화부를 이용하여 상기 제1 동작 제어값을 구성하며 시간적으로 연속하는 복수의 모션 각각을 양자화하여 양자화된 동작을 생성하는 단계;
상기 양자화 과정을 반복하여 목표개수의 양자화된 동작이 시간순으로 배열되어 전체 행동이 구성되면, 행동 생성부가 상기 전체 행동 중 시간 축 상에서 연속하는 양자화된 동작들로 구성할 수 있는 모든 부분 행동들을 추출하는 단계; 및
행동 선택부가 상기 부분 행동들에 대한 군집 유사성을 산출하여 상기 부분 행동들 중 각각의 군집을 대표하는 복수의 대표 행동을 추출하고, 상기 대표 행동을 기준으로 상기 부분 행동들을 분류하면서 상기 대표 행동에 속하지 않는 부분 행동을 새로운 대표 행동으로 추가하는 단계
를 포함하는, 모방 학습 기반의 캐릭터 행동 생성 방법.
In the method for automatically generating information about the action to be performed by the character on the content,
While collecting the first operation control value input by the user through the relay unit, if the difference between the two values is greater than or equal to the threshold value compared with the last quantized second operation control value, the first operation control value is configured using the operation quantization unit. And quantizing each of a plurality of motions that are continuous in time to generate a quantized motion;
Repeating the quantization process, if the target number of quantized operations are arranged in chronological order to form a whole action, the action generator extracts all partial actions that can be composed of consecutive quantized actions on the time axis. step; And
The behavior selector calculates cluster similarity for the partial behaviors to extract a plurality of representative behaviors representing each cluster among the partial behaviors, and classifies the partial behaviors based on the representative behaviors to belong to the representative behaviors. To add a partial action as a new representative action
Including, mimic learning-based character behavior generation method.
제1항에 있어서,
상기 모든 부분 행동들을 추출하는 단계는
상기 추출된 모든 부분 행동들 중 행동 길이가 임계 시간 이상인 부분 행동을 삭제하는 단계인 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 방법.
The method of claim 1,
Extracting all the partial actions
Deleting a partial action of the action length of the extracted partial actions of more than a threshold time, mimic learning based character behavior generation method.
제1항에 있어서,
상기 대표 행동들을 저장하는 단계는
상기 복수의 대표 행동을 추출하는 과정 및 상기 부분 행동들을 분류하는 과정에 Minmax 알고리즘 또는 K-means 알고리즘 중 어느 하나의 알고리즘을 적용하는 단계인 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 방법.
The method of claim 1,
Storing the representative actions
And applying one of a minmax algorithm and a K-means algorithm to the process of extracting the plurality of representative behaviors and classifying the partial behaviors.
제1항에 있어서,
상기 대표 행동들을 저장하는 단계는
상기 컨텐츠를 구동하는 환경에 대응하는 포맷으로 변환하는 단계를 포함하는 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 방법.
The method of claim 1,
Storing the representative actions
And converting the content into a format corresponding to an environment in which the content is driven.
제1항에 있어서,
상기 모든 부분 행동들을 추출하는 단계는
상기 전체 행동에서 시간 축 상의 임의 시간 지점부터 다음 임의 시간 지점까지의 양자화된 동작들의 배열을 추출하는 단계인 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 방법.
The method of claim 1,
Extracting all the partial actions
Extracting an arrangement of quantized actions from an arbitrary time point on a time axis to a next arbitrary time point in the overall action.
제1항에 있어서,
상기 양자화된 동작을 생성하는 단계는
상기 마지막으로 양자화한 제2 동작 제어값과 비교하기 위해, 상기 제1 동작 제어값과 상기 제2 동작 제어값의 유클리드 거리를 계산하여 유클리드 거리가 상기 임계치 이상인지 판단하는 단계를 포함하고,
상기 제1 동작 제어값과 상기 마지막으로 양자화한 제2 동작 제어값을 비교하여 두 값의 차이가 임계치 미만이면 액션 필터를 이용하여 상기 제1 동작 제어값을 삭제하는 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 방법.
The method of claim 1,
Generating the quantized operation
Calculating a Euclidean distance between the first operation control value and the second operation control value to compare the second quantized second operation control value to determine whether the Euclidean distance is greater than or equal to the threshold value;
The first motion control value is compared with the last quantized second motion control value, and if the difference between the two values is less than the threshold, the first motion control value is deleted using an action filter. How to create character behavior.
제1항에 있어서,
상기 모든 부분 행동들을 추출하는 단계는
상기 추출된 모든 부분 행동들 중 행동 길이가 임계 시간 미만인 부분 행동을 삭제하는 단계인 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 방법.
The method of claim 1,
Extracting all the partial actions
Deleting a partial action of the action length of the extracted partial actions of less than a threshold time, mimic learning based character behavior generation method.
제1항 내지 제7항 중 어느 한 항의 방법을 컴퓨터 시스템에서 실행하기 위한 프로그램이 기록된, 컴퓨터 시스템이 판독할 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 7 on a computer system. 컨텐츠 상의 캐릭터가 수행할 행동에 대한 정보를 자동으로 생성하는 장치에 있어서,
사용자에 의해 입력되는 제1 동작 제어값을 수집하는 중계부;
상기 제1 동작 제어값을 마지막으로 동작 양자화부에 전달한 제2 동작 제어값과 비교하여 두 값의 차이가 임계치 미만이면 상기 제1 동작 제어값을 삭제하는 액션 필터;
상기 두 값의 차이가 임계치 이상이면 상기 제1 동작 제어값을 구성하며 시간적으로 연속하는 복수의 모션 각각을 양자화하여 양자화된 동작을 생성하는 동작 양자화부;
상기 양자화 과정을 반복하여 목표개수의 양자화된 동작을 수집하는 동작 수집부;
상기 동작 수집부에서 상기 목표개수의 양자화된 동작이 수집되어 시간순으로 배열되어 전체 행동이 구성되면, 상기 전체 행동 중 시간 축 상에서 연속하는 양자화된 동작들로 구성할 수 있는 모든 부분 행동들을 추출하는 행동 생성부; 및
상기 부분 행동들에 대한 군집 유사성을 산출하여 상기 부분 행동들 중 각각의 군집을 대표하는 복수의 대표 행동을 추출하고, 상기 대표 행동을 기준으로 상기 부분 행동들을 분류하면서 상기 대표 행동에 속하지 않는 부분 행동을 새로운 대표 행동으로 추가하는 행동 선택부
를 포함하는, 모방 학습 기반의 캐릭터 행동 생성 장치.
An apparatus for automatically generating information about an action to be performed by a character on a content,
A relay unit for collecting a first operation control value input by a user;
An action filter for comparing the first operation control value with a second operation control value finally transmitted to an operation quantization unit and deleting the first operation control value if a difference between the two values is less than a threshold;
An operation quantization unit constituting the first operation control value and quantizing each of a plurality of consecutive motions in time to generate a quantized operation when the difference between the two values is greater than or equal to a threshold value;
An action collecting unit for collecting a target number of quantized actions by repeating the quantization process;
When the target number of quantized motions are collected and arranged in chronological order in the motion collecting unit, the entire behavior is configured, and the action extracts all partial actions that can be composed of consecutive quantized motions on the time axis. Generation unit; And
Clustering similarities to the partial behaviors are calculated to extract a plurality of representative behaviors representing each cluster among the partial behaviors, and classifying the partial behaviors based on the representative behaviors, while not belonging to the representative behaviors. Action selector to add a new representative action
Including, mimic learning-based character behavior generation device.
제9항에 있어서,
상기 행동 생성부는
상기 추출된 모든 부분 행동들 중 행동 길이가 임계 시간 이상인 부분 행동을 삭제하는 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 장치.
10. The method of claim 9,
The action generator
Apparatus for generating a character action based on the imitation learning, characterized in that for deleting the partial action of the action length of the extracted partial action more than a threshold time.
제9항에 있어서,
상기 행동 선택부는
상기 복수의 대표 행동을 추출하는 과정 및 상기 부분 행동들을 분류하는 과정에 Minmax 알고리즘 또는 K-means 알고리즘 중 어느 하나의 알고리즘을 적용하는 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 장치.
10. The method of claim 9,
The action selection unit
Apparatus for generating a character behavior based on mimic learning, characterized in that any one of the Minmax algorithm or K-means algorithm is applied to the process of extracting the plurality of representative behaviors and classifying the partial behaviors.
제9항에 있어서,
상기 행동 생성부는
상기 전체 행동에서 시간 축 상의 임의 시간 지점부터 다음 임의 시간 지점까지의 양자화된 동작들의 배열을 추출하는 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 장치.
10. The method of claim 9,
The action generator
And extracting an arrangement of quantized motions from an arbitrary time point on a time axis to a next arbitrary time point in the overall action.
제9항에 있어서,
상기 액션 필터는
상기 마지막으로 전달받은 제2 동작 제어값과 비교하기 위해, 상기 제1 동작 제어값과 상기 제2 동작 제어값의 유클리드 거리를 계산하여 유클리드 거리가 상기 임계치 이상인지 판단하는 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 장치.
10. The method of claim 9,
The action filter is
In order to compare with the last received second operation control value, the Euclidean distance of the first operation control value and the second operation control value is calculated by determining whether the Euclidean distance is greater than the threshold, mimic learning Character action generation device based.
제9항에 있어서,
상기 컨텐츠를 구동하는 환경에 대응하는 포맷으로 변환함으로써 상기 대표 행동들을 스크립트로 저장하는 스크립트 생성부를 더 포함하는, 모방 학습 기반의 캐릭터 행동 생성 장치.
10. The method of claim 9,
And a script generator for storing the representative actions as a script by converting the content into a format corresponding to an environment for driving the content.
제9항에 있어서,
상기 행동 생성부는
상기 추출된 모든 부분 행동들 중 행동 길이가 임계 시간 미만인 부분 행동을 삭제하는 것을 특징으로 하는, 모방 학습 기반의 캐릭터 행동 생성 장치.
10. The method of claim 9,
The action generator
Apparatus for generating a character behavior based on the imitation learning, characterized in that for deleting the partial action of the action length of the extracted partial actions less than a threshold time.
KR1020100126171A 2010-12-10 2010-12-10 Device and Method for generating character action by demonstration, and Recording medium thereof KR101193073B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100126171A KR101193073B1 (en) 2010-12-10 2010-12-10 Device and Method for generating character action by demonstration, and Recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100126171A KR101193073B1 (en) 2010-12-10 2010-12-10 Device and Method for generating character action by demonstration, and Recording medium thereof

Publications (2)

Publication Number Publication Date
KR20120064908A KR20120064908A (en) 2012-06-20
KR101193073B1 true KR101193073B1 (en) 2012-10-22

Family

ID=46684838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100126171A KR101193073B1 (en) 2010-12-10 2010-12-10 Device and Method for generating character action by demonstration, and Recording medium thereof

Country Status (1)

Country Link
KR (1) KR101193073B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513090B1 (en) 2003-12-12 2005-09-08 한국전자통신연구원 Apparatus and method for motion data processing
JP2008080431A (en) 2006-09-27 2008-04-10 Advanced Telecommunication Research Institute International Robot system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513090B1 (en) 2003-12-12 2005-09-08 한국전자통신연구원 Apparatus and method for motion data processing
JP2008080431A (en) 2006-09-27 2008-04-10 Advanced Telecommunication Research Institute International Robot system

Also Published As

Publication number Publication date
KR20120064908A (en) 2012-06-20

Similar Documents

Publication Publication Date Title
ALIAS PARTH GOYAL et al. Neural production systems
CN108780519B (en) Structural learning of convolutional neural networks
Wolinski et al. Parameter estimation and comparative evaluation of crowd simulations
US20180349757A1 (en) Learning service providing apparatus
Arikan et al. Interactive motion generation from examples
US9448636B2 (en) Identifying gestures using gesture data compressed by PCA, principal joint variable analysis, and compressed feature matrices
US11514319B2 (en) Action prediction
Dickinson et al. Panel report: The potential of geons for generic 3-d object recognition
KR20050084771A (en) Information processing device and method, program, and recording medium
CN110633667B (en) Action prediction method based on multitask random forest
CN107967258A (en) The sentiment analysis method and system of text message
Voulodimos et al. Physics-based keyframe selection for human motion summarization
CN111652453A (en) Intelligent workflow advisor for part design, simulation and manufacturing
Haggag et al. An adaptable system for rgb-d based human body detection and pose estimation: Incorporating attached props
KR101819323B1 (en) Method for Generating Robot Task Motion Based on Imitation Learning and Motion Composition and Apparatus Therefor
Herrmann et al. Accelerating statistical human motion synthesis using space partitioning data structures
KR101193073B1 (en) Device and Method for generating character action by demonstration, and Recording medium thereof
KR101086671B1 (en) Method for training robot collaborating with human on virtual environment, recording medium thereof, and robot thereof
KR102590541B1 (en) Management server, method for generating relative pattern information between imitation drawing data and computer program
KR20240013613A (en) Method for generating AI human 3D motion only with video and its recording medium
CN114297022A (en) Cloud environment anomaly detection method and device, electronic equipment and storage medium
KR20210112853A (en) Method and Apparatus for automatic placement of animation data Based on Text
Obukhov et al. Methodology for the Development of Adaptive Training Systems Based on Neural Network Methods
Bisagno et al. Virtual crowds: An LSTM-based framework for crowd simulation
CN109815779A (en) A kind of stage special efficacy triggering method and system

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
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: 20151002

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 7