WO2022107915A1 - 영상 내에 3차원 캐릭터를 렌더링하는 방법, 장치 및 시스템 - Google Patents

영상 내에 3차원 캐릭터를 렌더링하는 방법, 장치 및 시스템 Download PDF

Info

Publication number
WO2022107915A1
WO2022107915A1 PCT/KR2020/016345 KR2020016345W WO2022107915A1 WO 2022107915 A1 WO2022107915 A1 WO 2022107915A1 KR 2020016345 W KR2020016345 W KR 2020016345W WO 2022107915 A1 WO2022107915 A1 WO 2022107915A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
person
character
frame
displayed
Prior art date
Application number
PCT/KR2020/016345
Other languages
English (en)
French (fr)
Inventor
이준호
Original Assignee
주식회사 플라스크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 플라스크 filed Critical 주식회사 플라스크
Publication of WO2022107915A1 publication Critical patent/WO2022107915A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/02Non-photorealistic rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • 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/20112Image segmentation details
    • G06T2207/20132Image cropping

Definitions

  • the present invention relates to a method, apparatus and system for rendering a three-dimensional character in Yeongsan that generates a character based on a person in an image, and more particularly, generates a character that moves in the same manner according to the movement of a person in an image.
  • markers are attached to major joints of actors using an optical motion capture device, and signals from 3 to 16 video cameras are simultaneously read into a computer to locate the markers. It was created by analyzing the movement of each part of the body.
  • An object of the present invention for solving the above-described problems is to obtain a joint position value of a person based on an image obtained by photographing a motion of the person in real time, and to generate and provide a three-dimensional character based on this.
  • Another object of the present invention is to provide a user interface (UI) capable of editing a 3D character, background music, and background image generated from the image.
  • UI user interface
  • a method for rendering a three-dimensional character in an image performed by an apparatus for solving the above-mentioned problems, receiving a first image photographed by a first person performing at least one posture from a photographing apparatus Step, based on a first model, calculating a first joint position value corresponding to the posture of the first person for each at least one frame of the first image, the 3D based on the first joint position value
  • the method may include rendering a character to show the same posture as the first person, and displaying the rendered 3D character in each area in which the first person is displayed for each frame.
  • the rendering step includes converting the first joint position value of the first person for each frame into a basic joint position value simplified to a preset level or less, and a posture corresponding to each of the basic joint position values It may include the step of rendering the 3D character to represent.
  • the method for rendering a three-dimensional character in an image performed by an apparatus includes: obtaining a second image in which a second person performing the same posture as the first person is photographed; based on the first model, the calculating a second joint position value corresponding to the posture of the second person for each at least one frame of a second image;
  • the method may include rendering to be displayed, and displaying the rendered 3D character in each area in which the second person is displayed for each frame.
  • the degree of matching between the three-dimensional characters in the same frame of the first image and the second image is equal to or greater than a preset degree of matching, the same frame of the first image and the second image may be substituted for each other.
  • the 3D character may be displayed by overlaying the 3D character on each area where the first person is displayed for each frame.
  • the displaying may include cropping each region in which the first person is displayed for each frame, and synthesizing and displaying the 3D character in each of the cropped regions.
  • the 3D character may be synthesized and displayed in a peripheral area of each area in which the first person is displayed for each frame.
  • an indicator indicating the 3D character may be displayed on or around each area where the first person is displayed for each frame, and when the indicator is selected, the 3D character may be displayed.
  • the displaying may include alternately displaying a frame including the first person and a frame including the 3D character in the first image.
  • the method of rendering a three-dimensional character in an image performed by the device further comprises the step of displaying a user interface (UI) for editing a first image including the three-dimensional character, the user interface
  • UI user interface
  • At least one of a joint position value of the 3D character, a sound, and a background image for each reproduction time period of the first image can be adjusted through the user interface.
  • the joint position value of a person is obtained based on an image of the motion of the person in real time, and a three-dimensional character is generated and provided based on the obtained image, thereby moving in real time identical to the movement of the person in the image. It has the effect of making it easy to create 3D characters.
  • the present invention has the effect of easily obtaining a desired movement by monitoring the movement of the three-dimensional character in real time through the three-dimensional character moving in real time in the same manner as the movement of the person.
  • the present invention provides a user interface (UI, User Interface) that can edit the 3D character, background music, and background image generated from the image, so that even companies or individuals who do not have technical skills can easily 3D It has the effect of not only creating and editing characters, but also editing videos.
  • UI User Interface
  • FIG. 1 is a diagram schematically showing a system for rendering a three-dimensional character in an image according to the present invention.
  • Fig. 2 is a diagram schematically showing the operation of the system 1 for rendering a three-dimensional character in an image according to the present invention.
  • FIG. 3 is a flowchart illustrating a process in which the apparatus according to the present invention renders a 3D character in an image.
  • 4A to 4B are exemplary diagrams illustrating that the apparatus according to the present invention renders a 3D character through the second model.
  • 5A to 5D are exemplary diagrams of a method of displaying a 3D character by an apparatus according to the present invention.
  • 6A to 6C are exemplary diagrams of a user interface provided by an apparatus according to the present invention.
  • FIG. 1 is a schematic diagram of a system 1 for rendering a three-dimensional character in an image according to the present invention.
  • the system 1 acquires the joint position value of a person based on an image of the movement of the person in real time, and generates and provides a three-dimensional character based on this. can have the effect of easily generating
  • system 1 has the effect of easily obtaining a desired movement by monitoring the movement of the three-dimensional character in real time through the three-dimensional character moving in real time in the same manner as the movement of the person.
  • system 1 provides a user interface (UI) that can edit 3D characters, background music, and background images generated from the image, so that even companies or individuals who do not have technical skills can easily
  • UI user interface
  • a system 1 may include a photographing device 10 for capturing an image and a device 20 for rendering a 3D character in the image.
  • the photographing device 10 may be provided separately to transmit an image photographed by the apparatus 20 , or may be provided connected to the apparatus 20 .
  • the device 20 may be configured in the form of a server.
  • system 1 may include fewer or more components than the components shown in FIG. 1 .
  • the photographing device 10 may mean a device capable of photographing an image.
  • the photographing apparatus 10 may photograph an image according to a user's manipulation or a preset input.
  • the photographing apparatus 10 may be an electronic device equipped with a camera, and may be provided in connection with the apparatus 20 or may be provided to enable transmission and reception of information through a communication unit (not shown) in a separately provided state.
  • the photographing device 10 may include a separate recording module (not shown) to record music played during video recording.
  • the photographing device 10 may photograph the first person 2, a moving object (not shown), a background, etc. located within a preset photographable radius, and record music played while photographing in real time. .
  • the device 20 may include, but is not limited to, the communication unit 210 , the memory 220 , and the control unit 230 , and may include fewer or more components. Coordinates to be described below are three-dimensional coordinates.
  • the communication unit 210 is one that enables wireless communication between the device 20 and a wireless communication system, between the device 20 and the photographing device 10, or between the device 20 and an external server (not shown). It may include more than one module. In addition, the communication unit 210 may include one or more modules for connecting the device 20 to one or more networks.
  • the communication unit 210 may receive information about the image and music included in the image from the photographing device 10 , and a control signal for the operation of the photographing device 10 generated by the controller 230 . can be transmitted.
  • the memory 220 may store information supporting various functions of the device 20 .
  • the memory 220 may store a plurality of application programs (or applications) running in the device 20 , data for operation of the device 20 , and commands. At least some of these application programs may be downloaded from an external server (not shown) through wireless communication. In addition, at least some of these application programs may exist for basic functions of the device 20 . Meanwhile, the application program may be stored in the memory 220 , installed on the device 20 , and driven to perform an operation (or function) of the device 20 by the controller 230 .
  • the controller 230 may generally control the overall operation of the device 20 .
  • the controller 230 may provide or process appropriate information or functions to the user by processing signals, data, information, etc. input or output through the above-described components or by driving an application program stored in the memory 220 .
  • the controller 230 may control at least some of the components discussed with reference to FIG. 1 in order to drive an application program stored in the memory 220 . Furthermore, in order to drive the application program, the controller 230 may operate at least two or more of the components included in the device 20 in combination with each other.
  • the controller 230 may receive a first image captured by the first person 2 performing at least one posture from the photographing device 10 through the communication unit 210 .
  • the controller 230 may calculate a first joint position value corresponding to the posture of the first person 2 for each at least one frame of the first image based on the first model.
  • the first model may be a joint prediction model
  • the joint prediction model may include a convolutional neural network (CNN) and a recurrent neural network.
  • CNN convolutional neural network
  • 'RNN' recurrent neural network
  • CNN spatially integrates the convolution layer, which creates a feature map by applying a plurality of filters to each area of the image, and the feature map to extract features that are invariant to changes in position or rotation. It may be formed in a structure that alternately repeats the pooling layer several times. Through this, various level features can be extracted from low-level features such as points, lines, and planes to complex and meaningful high-level features.
  • the convolution layer can obtain a feature map by taking a nonlinear activation function on the dot product of the filter and the local receptive field for each patch of the input image.
  • CNNs may have the feature of using filters with sparse connectivity and shared weights. Such a connection structure can reduce the number of parameters to be learned, make learning through the backpropagation algorithm efficient, and consequently improve prediction performance.
  • the integration layer may generate a new feature map by using local information of the feature map obtained from the previous convolutional layer.
  • the newly created feature map by the integration layer is reduced to a smaller size than the original feature map.
  • Representative integration methods include Max Pooling, which selects the maximum value of the corresponding region in the feature map, and the corresponding feature map in the feature map. There may be an average pooling method for obtaining an average value of a region.
  • the feature map of the integrated layer can be less affected by the location of arbitrary structures or patterns present in the input image than the feature map of the previous layer.
  • the integration layer can extract features that are more robust to regional changes such as noise or distortion in the input image or previous feature map, and these features can play an important role in classification performance.
  • Another role of the integration layer is to reflect the features of a wider area as you go up to the upper learning layer in the deep structure. More and more abstract features can be generated that reflect the features of the entire image.
  • the features finally extracted through iteration of the convolutional layer and the integration layer are fully connected to a classification model such as a multi-layer perception (MLP) or a support vector machine (SVM). -connected layer) and can be used for classification model training and prediction.
  • MLP multi-layer perception
  • SVM support vector machine
  • RNN is a deep learning technique that is effective for learning the sequence through a structure in which a specific part is repeated. Because it needs to be recognized by referring to the preceding word, letter, or frame).
  • the RNN can be mainly used to recognize sequential information such as speech and letters.
  • the joint prediction model according to the present invention is not limited to CNN and RNN, and may be formed of neural networks having various structures.
  • a transformer may be used instead of CNN.
  • Transformer a neural network structure widely used in the field of natural language processing, receives input as a sequence of 'words'.
  • it is possible to obtain a result that surpasses CNN. Accordingly, it can be replaced with a Transformer instead of a CNN.
  • the controller 230 may render the 3D character to represent the same posture as the first person 2 based on the first joint position value.
  • the 3D character may be a pre-stored character or a character newly created by the user.
  • control unit 230 changes the joint position value of the first person 2 for each frame to a basic joint position value simplified to a preset level or less by using the second model, and each of the basic joint position values
  • the three-dimensional character may be rendered to represent a posture corresponding to .
  • the controller 230 may acquire a second image in which the second person 3 performing the same posture as the first person 2 is photographed.
  • the second image may be an image of photographing the second person 3 in real time or a pre-stored image.
  • the first person 2 and the second person 30 may be the same person or different persons, but may perform the same posture.
  • the controller 230 may calculate a second joint position value corresponding to the posture of the second person 3 for each at least one frame of the second image based on the first model.
  • the controller 230 may display the rendered 3D character at each position where the second person is displayed for each frame.
  • the controller 230 may replace the same frame of the first image and the second image with each other when the degree of matching between the 3D characters in the same frame of the first image and the second image is equal to or greater than a preset degree of matching.
  • the controller 230 may display the rendered 3D character in each area where the first person 2 is displayed for each frame.
  • the controller 230 may display the three-dimensional character in each of the regions where the first person 2 is displayed for each frame in various ways. As an example, the controller 230 may overlay the 3D character on each area where the first person 2 is displayed. In addition, the controller 230 may crop each region in which the first person 2 is displayed for each frame, and synthesize and display the 3D character in each of the cropped regions. Also, the controller 230 may synthesize and display the 3D character in a region surrounding each region in which the first person 2 is displayed for each frame. In addition, the controller 230 displays an indicator indicating the three-dimensional character on or around each area in which the first person is displayed for each frame, and when the indicator is selected, the three-dimensional character is displayed can do. Also, the controller 230 may alternately display a frame including the first person and a frame including the 3D character in the first image.
  • the controller 230 may display a user interface (UI) for editing the first image including the 3D character.
  • the user may edit at least one of a 3D character, background music, and a background image in the first image through the user interface.
  • the user may adjust at least one of a joint position value of the 3D character, background music, and a background image for each reproduction time period of the first image through the user interface.
  • control unit 230 may display the second joint position value of the 3D character, background music, and background image, respectively, in the form of a graph, a dope sheet, or a visualization for each time period of the first image. and the user may edit and modify any one of the graph, the help sheet, and the visualization form.
  • Fig. 2 is a diagram schematically showing the operation of the system 1 for rendering a three-dimensional character in an image according to the present invention.
  • the system 1 allows the user to select a desired character among at least one 3D character displayed on the track panel, and a first person 2 ) can be moved according to the posture.
  • the system 1 can check the moving 3D character in real time through a rendering panel, and can edit the recorded posture by recording the moving 3D character's posture.
  • the photographing apparatus 10 may photograph the first person 2 performing at least one posture in real time.
  • the device 20 may receive a first image in which the first person 2 is photographed from the photographing device 10 .
  • the device 20 may calculate a first joint position value corresponding to the posture of the first person for each frame of the first image through the first model.
  • the device 20 may store the calculated first joint position value in real time.
  • the device 20 may display a user interface including a track panel and a rendering panel, and display a plurality of 3D characters on the rendering panel.
  • the 3D character may be input from the user.
  • the device (20) converts the joint position value of the first person for each frame into a basic joint position value simplified to a preset level or less through the second model, and displays the posture corresponding to each of the basic joint position values It is possible to render the 3D character input from the user.
  • the apparatus 20 may display a first image in which the first person 2 is photographed in real time and the 3D character moving in the same manner as the movement of the first person 2 in the first image on the rendering panel.
  • the device 20 may display, on the track panel, the second joint position value of the 3D character, background music, and the background image, respectively, in the form of a graph, a help sheet, and a visualization for each time period of the first image.
  • the user can edit and modify any one of the graph, help sheet, and visualization displayed on the track panel.
  • FIG. 3 is a flowchart illustrating a process of rendering a 3D character in an image by the apparatus 20 according to the present invention.
  • 4A to 4B are exemplary diagrams illustrating that the apparatus 20 according to the present invention renders a 3D character through the second model.
  • 5A to 5D are exemplary diagrams of a method in which the device 20 according to the present invention displays a three-dimensional character.
  • 6A to 6C are exemplary diagrams of a user interface provided by the device 20 according to the present invention.
  • the process of rendering a 3D character in an image of the present invention may be performed by the apparatus 20 and may be performed through a specific program. Also, hereinafter, all operations of the device 20 may be equally performed by the controller 230 .
  • the apparatus 20 may receive a first image in which the first person 2 is photographed from the photographing apparatus 10 ( S301 ).
  • the device 20 may receive a first image in which a first person performing at least one posture is photographed from the photographing device 10 .
  • the first person may take a continuous motion and may take several segmented motions.
  • the device 20 may calculate the first joint position value of the first person 2 based on the first model (S302).
  • the device 20 may calculate a first joint position value corresponding to the posture of the first person 2 for each at least one frame of the first image, based on the first model.
  • the device 20 may render the 3D character to exhibit the same posture as the first person based on the first joint position value (S303).
  • the device 20 converts the joint position value of the first person for each frame into a basic joint position value simplified to a preset level or less according to the second model, and displays a posture corresponding to each of the basic joint position values to render the 3D character.
  • the device 20 may render the 3D character through the second model.
  • the rendering of the 3D character may be retargeting.
  • the retargeting may be converting the posture of one skeleton into the posture of another skeleton for two character skeletons having different structures.
  • a skeleton of a character may be a kind of graph consisting of vertices and their connecting lines (edges).
  • a pooling operation defined for these graphs may be a process of merging neighboring vertices. Repeating this pooling operation results in the simplest skeleton, and the simplest possible skeleton, but preserving the topology, can be a primal skeleton.
  • the apparatus 20 may render the 3D character through the encoder E_A and the decoder D_B included in the second model.
  • the encoder may refer to a neural network that converts a skeleton 'A' in a specific pose, for example, a pose 'a' into a primal skeleton doing a pose 'a'.
  • a decoder may refer to a neural network that receives a primal skeleton in a pose 'I' and a skeleton 'X' in an arbitrary pose 'I' and outputs a skeleton 'X' that is in a pose 'I'. .
  • the encoder (E_A) and the decoder (D_A) may have been properly trained.
  • the device 20 defines the error value (loss) as the difference between the skeleton 'A' of the first pose 'A' and the skeleton 'A' of the last pose 'A' after the encoder (D_A) and the decoder (D_A). can proceed.
  • the device 20 prepares the encoder (E_A) and the decoder (D_A) learned through this process, and if there is a starting skeleton skeleton 'A' and a target skeleton skeleton 'B' of the pose 'A' to be retargeted, , A primal skeleton of pose 'A' can be obtained by passing skeleton 'A' of pose 'A' through the encoder (E_A).
  • the device 20 passes the primal skeleton and skeleton 'B' of the pose 'A' obtained in this way through the decoder D_B, the skeleton 'B' with the pose 'A' can be obtained.
  • the device 20 may display the three-dimensional character (S304).
  • the apparatus 20 may display the rendered 3D character 502 in each area in which the first person 501 is displayed for each frame.
  • the device 20 may overlay and display the 3D character 502 on each area in which the first person 501 is displayed for each frame.
  • the 3D character 502 may be overlaid on the area where the first person 501 is located on the left side of FIG. 5A .
  • the device 20 crops each region in which the first person 501 is displayed for each frame, and synthesizes the 3D character 502 in each cropped region. can be displayed.
  • the area where the first person 501 is displayed is cropped, and on the right side of FIG. B, the first character 502 is synthesized in the cropped area instead of the first person 501. can be displayed.
  • the device 20 may synthesize and display the 3D character 502 in a peripheral area of each area in which the first person 501 is displayed for each frame. On the left side of FIG. 5C , only the first person 501 may be displayed, and on the right side of FIG. 5C , the 3D character 502 may be synthesized and displayed on the right side of the first person 501 .
  • the device 20 displays an indicator 503 indicating the three-dimensional character 502 on or around each area in which the first person 501 is displayed for each frame, and the user input Accordingly, when the indicator 503 is selected, the 3D character 502 may be displayed.
  • the indicator 503 is displayed on the right side of the first person 501, and when the indicator 503 is selected according to a user input, as shown in the upper right corner of FIG. 5D, the first person ( The three-dimensional character 502 may be displayed instead of the first person 501 in the area where 501 is located, and the three-dimensional character 502 may be displayed on the right side of the first person 501 as shown in the lower right of FIG. 5D .
  • 502 may be synthesized and displayed.
  • the device 20 may alternately display a frame including the first person and a frame including the 3D character in the first image.
  • the device 20 may edit the 3D character (S305).
  • the device 20 displays a user interface (UI) for editing a first image including the three-dimensional character, and a three-dimensional character, background music, and background image in the first image through the user interface At least one of them may be editable.
  • UI user interface
  • the device 20 may adjust at least one of a joint position value of the 3D character, a sound, and a background image for each reproduction time period of the first image through the user interface.
  • the device 20 may display each of the second joint position value, sound, and background screen of the 3D character in graph form for each time period of the first image, and may be editable by modifying the graph.
  • the device 20 may acquire a second image in which a second person performing the same posture as the first person is photographed before editing through the user interface.
  • the device 20 may calculate a second joint position value corresponding to the posture of the second person for each at least one frame of the second image, based on the first model.
  • the device 20 may render the 3D character to represent the same posture as the second person based on the second joint position value.
  • the device 20 may display the rendered 3D character at each position where the second person is displayed for each frame.
  • the device 20 determines that the same frame of the first image and the second image are mutually can be replaced Accordingly, the user can take the same motion several times, select a favorite frame from among them, and obtain a desired 3D character motion.
  • the user interface may include a selection panel 601 at the top left, a rendering panel 602 at the top center, a control panel 603 at the top right, and a track panel 604 at the bottom.
  • the selection panel 601 may display samples for at least one 3D character, background music, and a background image.
  • the 3D character may be a stored 3D character or a 3D character created by the user.
  • the selection panel 601 includes a Samples button and a Characters button, and the user can select a 3D character through the buttons.
  • the user can search for a desired 3D character sample through a sample search (Search Samples) at the top of the selection panel 601 .
  • the rendering panel 602 may be divided into at least one screen, a first person 610 photographed in real time through the photographing device 10 may be displayed on the right side, and the first person 610 may be displayed on the left side.
  • the 3D character 611 rendered based on .
  • the rendering panel 602 is divided into two screens in FIGS. 6A to 6C , the present invention is not limited thereto and may be configured as one screen or divided into multiple screens.
  • the control panel 603 When the user presses the joint of the first person 610 or the three-dimensional character 611 at a specific point in time through the rendering panel 602 or the track panel 604, the control panel 603 provides information about the joint. Coordinates, background music at the specific point in time, a background image, lighting, etc. may be displayed. Here, when the user changes the value of the coordinates, the movement of the joints of the three-dimensional character 611 may be changed. In addition, the user may edit the background music, the background image, the lighting, etc. in addition to the movement of the 3D character 611 through the control panel 603 .
  • the control panel 603 is a coordinate transformation tab, an Interpolation tab, a Collection tab, an Instancing tab, Motion Paths, and Visibility for each property. ) tab, a Viewport Display tab, a Custom Properties tab, and the like, and selecting the tab to enable the movement of the 3D character 611 through the selected tab, the background music, and the background. You can also edit the video, the lighting, etc.
  • the Location values are displayed as X, Y, and Z
  • the Rotation values are displayed as X, Y, Z
  • the Scale value is displayed.
  • values can be displayed in X, Y, or Z.
  • the track panel 604 may display the 3D character 611, background music, background image, lighting, and the like in various forms.
  • the track panel 604 includes a first area 605 in which classification names for 3D characters, background music, background images, and lighting are displayed, and for each classification, in graph form, dope sheet form, and visualization
  • a second region 606 displayed in the form of (Visualization) may be included.
  • the track panel 604 may include a View button, a Select button, a Marker button, a Channel button, and a Key button at the top, and a time (eg, 0.0s) , 0.3s, etc.) can be displayed.
  • a time eg, 0.0s
  • the device 20 divides the three-dimensional character 611 into an upper body and a lower body in the first area 605 of the track panel 604, and in FIG. 6A
  • the classification name can be displayed by classifying the lower body into right knee, left knee, and the like.
  • the device 20 may display the motions corresponding to each time in the form of a graph on the second area 606 based on the classification name.
  • the user may select and move the graph displayed in the second area 606 to edit the 3D character 611 or use the control panel 604 .
  • the device 20 classifies a plurality of joints for the 3D character 611 in the first area 605 of the track panel 604 and displays classification names.
  • the lower body Classification names for joints of the device 20 may display the movement corresponding to each of the categories in the form of a help sheet for each time period on the second area 606 based on the classification name.
  • dots in the form of a square or a circle may be displayed in chronological order, and an interpolation bar connecting the dots may be displayed.
  • Each of the dots may represent a stationary posture for each time period, and the interpolation bar may represent an operation connecting the respective postures.
  • a first square shape 607 and a second square shape 608 may be displayed, and a first interpolation bar 609 connecting between the first square shape 607 and the second square shape 608 may be displayed.
  • the first square shape 607 may represent a first posture in which the three-dimensional character 611 holds a right knee
  • the second square shape 608 indicates that the three-dimensional character 611 is left
  • It may represent a second posture in which the knee is raised
  • the first interpolation bar 609 may represent a process in which the first posture and the second posture are changed.
  • the user may edit the motion of the third character 611 by selecting and adjusting the dot and the interpolation bar of the second area 606 .
  • the user may modify the coordinates displayed on the control panel 604 in order to edit the 3D character 611 .
  • the device 20 displays the lower body, which is a classification name, according to the classification for the 3D character 611 in the first area 605 of the track panel 604 , and the position of the head (Position) may be displayed, and the background music (Sound Track) and the background image (Background) may be displayed. Also, based on the classification name, the device 20 may display the motion corresponding to each time in the form of a visualization or a help sheet for each time period in the second area 606, and the background music and the background image. can also be displayed in the form of visualization or waveform.
  • the user may edit the motion of the third character 611 by selecting and adjusting the dot and the interpolation bar of the second area 606 , or may select and edit the visualization form.
  • the user may edit the background music by selecting the waveform shape of the second area 606 , and may edit the background image by selecting the visualization shape of the second area 606 .
  • FIG. 3 shows that steps S301 to S305 are sequentially executed, but this is merely illustrative of the technical idea of this embodiment, and those of ordinary skill in the art to which this embodiment belongs. Since it will be possible to change and execute the order described in FIG. 3 without departing from the essential characteristics, or various modifications and variations to execute one or more of steps S301 to S305 in parallel, FIG. 3 is a time series sequence It is not limited.
  • the method according to an embodiment of the present invention described above may be implemented as a program (or application) to be executed in combination with a server, which is hardware, and stored in a medium.
  • the above-described program is C, C++, JAVA, machine language, etc. that a processor (CPU) of the computer can read through the device interface of the computer in order for the computer to read the program and execute the methods implemented as a program
  • It may include code (Code) coded in the computer language of Such code may include functional code related to a function defining functions necessary for executing the methods, etc., and includes an execution procedure related control code necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do.
  • the code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer to be referenced. have.
  • the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.
  • a software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable ROM
  • EEPROM electrically erasable programmable ROM
  • flash memory hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Graphics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Geometry (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 장치에 의해 수행되는 영상 내에 3차원 캐릭터를 렌더링하는 방법에 있어서, 촬영장치로부터 적어도 하나의 자세를 행하고 있는 제1 인물이 촬영된 제1 영상을 수신하는 단계, 제1 모델을 기반으로, 상기 제1 영상의 적어도 하나의 프레임 별로 상기 제1 인물의 자세에 해당하는 제1 관절 위치값을 산출하는 단계, 상기 제1 관절 위치값을 기반으로 상기 3차원 캐릭터가 상기 제1 인물과 동일 자세를 나타내도록 렌더링하는 단계 및 상기 렌더링된 3차원 캐릭터를 상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역에 표시하는 단계를 포함할 수 있다.

Description

영상 내에 3차원 캐릭터를 렌더링하는 방법, 장치 및 시스템
본 발명은 영상 내의 인물을 기반으로 캐릭터를 생성하는 것으로, 보다 상세하게는 영상 내의 인물의 움직임에 따라 동일하게 움직이는 캐릭터를 생성하는 영산 내에 3차원 캐릭터를 렌더링하는 방법, 장치 및 시스템에 관한 것이다.
최근 들어 할리우드 영화에서만 볼 수 있었던 3차원 영상의 모션캡처 기술이 가전, 게임, 의료, 광고, 애니메이션, 버츄얼 유튜버 등에 의해 널리 사용되고 있다. 이러한 모션캡쳐를 위한 장치는 대부분 인체에 마커나 센서를 붙인 다음 카메라로 마커 영상이나 센서로부터 나온 데이터를 인식하고 분석하여 인체 각 관절들의 위치와 방향을 측정한다. 여기에서 사용된 마커나 센서의 작동 방식에 따라서 초음파(Acoustic) 방식, 기계(Mechanical) 방식, 자기(Magnetic) 방식, 광학(Optical) 방식의 네 가지로 나눌 수 있다.
이들 중 대중에게 잘 알려진 영화 캐릭터 헐크의 경우도, 광학 방식 모션 캡처 장치를 이용하여 연기자의 주요 관절 부분에 마커를 부착하고 3 내지 16 대의 비디오카메라의 신호를 컴퓨터로 동시에 읽어들여 이들 중 마커의 위치를 분석하여 신체의 각 부위의 움직임을 파악하여 생성되었다.
이러한 종래의 광학 방식은 캐릭터 등의 동작을 사실적으로 표현하는데 중점을 두고 있기 때문에 데이터의 양이 방대하고 이러한 방대한 양의 데이터를 후처리하기 위하여 고급사양의 컴퓨터와 많은 전문가가 필요하다. 또한, 고속프레임을 이용하거나 고화질의 카메라를 이용하는 경우 컴퓨터의 처리부담이 가중되고, 다수의 비디오카메라로부터 비디오 신호가 동시간에 동기되어 전송되어야 하기 때문에 고가의 동기식 카메라가 사용되므로 막대한 비용이 필요하다가 문제점이 존재한다. 또한, 캐릭터를 생성한 후에 이를 편집하는 과정에서도 전문가가 아니면 쉽게 편집하기가 어려운 문제점이 존재한다.
따라서, 모션캡쳐와 이후 캐릭터 편집을 다양한 규모의 기업들이 사용할 수 있도록 비용 절감이 가능하고 손쉽게 적용이 가능한 기술이 필요하다.
상술한 바와 같은 문제점을 해결하기 위한 본 발명은 인물의 동작을 실시간으로 촬영한 영상을 기반으로 인물의 관절 위치값을 획득하여 이를 기반으로 3차원 캐릭터를 생성하여 제공하는 것을 그 목적으로 한다.
또한, 상기 영상에서 생성된 3차원 캐릭터, 배경 음악 및 배경 영상 등을 편집할 수 있는 유저 인터페이스(UI, User Interface)를 제공하는 것을 그 목적으로 한다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명에 따른 장치에 의해 수행되는 영상 내에 3차원 캐릭터를 렌더링하는 방법에 있어서, 촬영장치로부터 적어도 하나의 자세를 행하고 있는 제1 인물이 촬영된 제1 영상을 수신하는 단계, 제1 모델을 기반으로, 상기 제1 영상의 적어도 하나의 프레임별로 상기 제1 인물의 자세에 해당하는 제1 관절 위치값을 산출하는 단계, 상기 제1 관절 위치값을 기반으로 상기 3차원 캐릭터가 상기 제1 인물과 동일 자세를 나타내도록 렌더링하는 단계 및 상기 렌더링된 3차원 캐릭터를 상기 프레임별로 상기 제1 인물이 표시된 각각의 영역에 표시하는 단계를 포함할 수 있다.
여기서, 상기 렌더링 단계는, 상기 프레임 각각에 대한 상기 제1 인물의 상기 제1 관절 위치값을 기 설정된 수준 이하로 단순화한 기본 관절 위치값으로 변환하는 단계 및 상기 기본 관절 위치값 각각에 해당하는 자세를 나타내도록 상기 3차원 캐릭터를 렌더링하는 단계를 포함할 수 있다.
또한, 장치에 의해 수행되는 영상 내에 3차원 캐릭터를 렌더링하는 방법은, 상기 제1 인물과 동일 자세를 행하는 제2 인물이 촬영된 제2 영상을 획득하는 단계, 상기 제1 모델을 기반으로, 상기 제2 영상의 적어도 하나의 프레임 별로 상기 제2 인물의 자세에 해당하는 제2 관절 위치값을 산출하는 단계, 상기 제2 관절 위치값을 기반으로 상기 3차원 캐릭터가 상기 제2 인물과 동일 자세를 나타내도록 렌더링하는 단계 및 상기 렌더링된 3차원 캐릭터를 상기 프레임 별로 상기 제2 인물이 표시된 각각의 영역에 표시하는 단계를 포함할 수 있다. 여기서, 상기 제1 영상 및 제2 영상의 동일 프레임 내의 각각의 상기 3차원 캐릭터 간의 일치도가 기 설정된 일치도 이상일 경우, 상기 제1 영상 및 제2 영상의 동일 프레임은 서로 대체 가능할 수 있다.
또한, 상기 표시 단계는, 상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역에 상기 3차원 캐릭터를 오버레이하여 표시할 수 있다.
또한, 상기 표시 단계는, 상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역을 크롭핑(cropping)하고, 상기 크롭핑된 각각의 영역에 상기 3차원 캐릭터를 합성하여 표시할 수 있다.
또한, 상기 표시 단계는, 상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역의 주변 영역에 상기 3차원 캐릭터를 합성하여 표시할 수 있다.
또한, 상기 표시 단계는, 상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역 상에 또는 주변에 상기 3차원 캐릭터를 나타내는 인디케이터를 표시하고, 상기 인디케이터가 선택될 경우 상기 3차원 캐릭터를 표시할 수 있다.
또한, 상기 표시 단계는, 상기 제1 영상 내에서 상기 제1 인물이 포함된 프레임 및 상기 3차원 캐릭터가 포함된 프레임을 서로 교번적으로 표시할 수 있다.
또한, 장치에 의해 수행되는 영상 내에 3차원 캐릭터를 렌더링하는 방법은, 상기 3차원 캐릭터가 포함된 제1 영상의 편집을 위한 유저 인터페이스(UI)를 표시하는 단계를 더 포함하고, 상기 유저 인터페이스를 통해 상기 제1 영상 내에 3차원 캐릭터, 배경 음악 및 배경 영상 중 적어도 하나가 편집 가능할 수 있다.
또한, 상기 편집 단계는, 상기 유저 인터페이스를 통해 상기 제1 영상의 재생 시간대 별로 상기 3차원 캐릭터의 관절 위치값, 사운드 및 배경 영상 중 적어도 하나가 조절 가능한, 방법.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
상기와 같은 본 발명에 따르면, 인물의 동작을 실시간으로 촬영한 영상을 기반으로 인물의 관절 위치값을 획득하여 이를 기반으로 3차원 캐릭터를 생성하여 제공함으로써 영상 내의 인물의 움직임과 동일하게 실시간으로 움직이는 3차원 캐릭터를 쉽게 생성할 수 있는 효과가 있다.
또한, 본 발명은 상기 인물의 움직임과 동일하게 실시간으로 움직이는 3차원 캐릭터를 통해 3차원 캐릭터의 움직임을 실시간으로 모니터링하여 원하는 움직임을 쉽게 얻을 수 있는 효과가 있다.
또한, 본 발명은 상기 영상에서 생성된 3차원 캐릭터, 배경 음악 및 배경 영상 등을 편집할 수 있는 유저 인터페이스(UI, User Interface)를 제공함으로써 기술력을 보유하지 못한 기업이나 개인의 경우에도 쉽게 3차원 캐릭터의 생성과 편집 뿐만 아니라 영상에 대한 편집도 가능한 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 영상 내에 3차원 캐릭터를 렌더링하는 시스템에 대해 개략적으로 나타낸 도면이다.
도 2는 본 발명에 따른 영상 내에 3차원 캐릭터를 렌더링하기 위한 시스템(1)의 동작에 대해 개략적으로 나타낸 도면이다.
도 3은 본 발명에 따른 장치가 영상 내에 3차원 캐릭터를 렌더링하는 과정을 나타낸 흐름도이다.
도 4a 내지 4b는 본 발명에 따른 장치가 제2 모델을 통해 3차원 캐릭터를 렌더링하는 것을 나타낸 예시도이다.
도 5a 내지 도 5d는 본 발명에 따른 장치가 3차원 캐릭터를 표시하는 방식에 대한 예시도이다.
도 6a 내지 도 6c는 본 발명에 따른 장치가 제공하는 유저 인터페이스에 대한 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)." 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만, 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
도 1은 본 발명에 따른 영상 내에 3차원 캐릭터를 렌더링하는 시스템(1)에 대해 개략적으로 나타낸 도면이다.
시스템(1)은 인물의 동작을 실시간으로 촬영한 영상을 기반으로 인물의 관절 위치값을 획득하여 이를 기반으로 3차원 캐릭터를 생성하여 제공함으로써 영상 내의 인물의 움직임과 동일하게 실시간으로 움직이는 3차원 캐릭터를 쉽게 생성할 수 있는 효과를 가질 수 있다.
또한, 시스템(1)은 상기 인물의 움직임과 동일하게 실시간으로 움직이는 3차원 캐릭터를 통해 3차원 캐릭터의 움직임을 실시간으로 모니터링하여 원하는 움직임을 쉽게 얻을 수 있는 효과가 있다.
또한, 시스템(1)은 상기 영상에서 생성된 3차원 캐릭터, 배경 음악 및 배경 영상 등을 편집할 수 있는 유저 인터페이스(UI, User Interface)를 제공함으로써 기술력을 보유하지 못한 기업이나 개인의 경우에도 쉽게 3차원 캐릭터의 생성과 편집 뿐만 아니라 영상에 대한 편집도 가능한 효과를 가질 수 있다.
도 1을 보면, 시스템(1)은 영상을 촬영하는 촬영장치(10) 및 상기 영상 내에 3차원 캐릭터를 렌더링하는 장치(20)를 포함할 수 있다. 여기서, 촬영장치(10)는 별도로 구비되어 상기 장치(20)로 촬영한 영상을 송신할 수도 있고, 상기 장치(20)에 연결되어 구비될 수도 있다. 또한, 상기 장치(20)는 서버 형태로 구성될 수 있다.
이하, 시스템(1)은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수 있다.
촬영장치(10)는 영상 촬영이 가능한 기기를 의미할 수 있다. 상기 촬영장치(10)는 사용자의 조작 또는 기 설정된 입력에 따라 영상을 촬영할 수 있다. 상기 촬영장치(10)는 카메라가 구비된 전자기기일 수 있으며, 상기 장치(20)와 연결되어 구비되거나 별도로 구비된 상태에서 통신부(미도시)를 통해 정보의 송수신이 가능하도록 구비될 수 있다. 또한, 상기 촬영장치(10)는 영상 촬영 중 플레이 되는 음악에 대해서도 별도의 녹음모듈(미도시)을 구비하여 녹음할 수 있다.
여기서, 촬영장치(10)는 기 설정된 촬영 가능한 반경에 위치하는 제1 인물(2), 움직이는 물체(미도시), 배경 등을 촬영하고, 촬영하는 동안 플레이 되는 음악에 대해서는 실시간으로 녹음할 수 있다.
장치(20)는 통신부(210), 메모리(220) 및 제어부(230)를 포함하여 구성될 수 있으나 반드시 이에 한정되지 않고 더 적거나 더 많은 구성요소를 포함할 수 있다. 이하, 설명되는 좌표는 3차원 좌표이다.
통신부(210)는 상기 장치(20)와 무선 통신 시스템 사이, 상기 장치(20)와 촬영장치(10) 사이 또는 상기 장치(20)와 외부 서버(미도시) 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 통신부(210)는 장치(20)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.
여기서, 통신부(210)는 촬영장치(10)로부터 영상과 영상에 함께 포함되는 음악에 대한 정보를 수신할 수 있고, 상기 제어부(230)에서 생성한 상기 촬영장치(10)의 동작에 대한 제어신호를 전송할 수 있다.
메모리(220)는 상기 장치(20)의 다양한 기능을 지원하는 정보를 저장할 수 있다. 메모리(220)는 상기 장치(20)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 상기 장치(20)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버(미도시)로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는, 상기 장치(20)의 기본적인 기능을 위하여 존재할 수 있다. 한편, 응용 프로그램은, 메모리(220)에 저장되고, 상기 장치(20) 상에 설치되어, 제어부(230)에 의하여 상기 장치(20)의 동작(또는 기능)을 수행하도록 구동될 수 있다.
제어부(230)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 상기 장치(20)의 전반적인 동작을 제어할 수 있다. 제어부(230)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(220)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
제어부(230)는 메모리(220)에 저장된 응용 프로그램을 구동하기 위하여, 도 1과 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(230)는 상기 응용 프로그램의 구동을 위하여, 상기 장치(20)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작 시킬 수 있다.
제어부(230)는 촬영장치(10)로부터 적어도 하나의 자세를 행하고 있는 제1 인물(2)이 촬영된 제1 영상 상기 통신부(210)를 통해 수신할 수 있다. 제어부(230)는 제1 모델을 기반으로 상기 제1 영상의 적어도 하나의 프레임 별로 상기 제1 인물(2)의 자세에 해당하는 제1 관절 위치값을 산출할 수 있다.
여기서, 제1 모델은 관절 예측 모델일 수 있고, 상기 관절 예측 모델은 컨볼루션 뉴럴 네트워크(CNN, convolutional neural network) 및 순환 뉴럴 네트워크(recurrent neural network)를 포함할 수 있다. 이하, 컨볼루션 뉴럴 네트워크는 'CCN'이라 명칭하고, 순환 뉴럴 네트워크는 'RNN'이라 명칭하겠다.
CNN은 영상의 각 영역에 대해 복수의 필터를 적용하여 특징 지도(Feature Map)를 만들어 내는 컨볼루션 층(Convolution Layer)과 특징 지도를 공간적으로 통합함으로써 위치나 회전의 변화에 불변하는 특징을 추출할 수 있도록 하는 통합층(Pooling Layer)을 번갈아 수차례 반복하는 구조로 형성될 수 있다. 이를 통해, 점, 선, 면 등의 낮은 수준의 특징에서부터 복잡하고 의미 있는 높은 수준의 특징까지 다양한 수준의 특징을 추출해낼 수 있다.
컨볼루션 층은 입력 영상의 각 패치에 대하여 필터와 국지 수용장(Local Receptive Field)의 내적에 비선형 활성 함수(Activation Function)를 취함으로 서 특징지도(Feature Map)를 구할 수 있다. 다른 네트워크 구조와 비교하여, CNN은 희소한 연결성 (Sparse Connectivity)과 공유된 가중치(Shared Weights)를 가진 필터를 사용하는 특징을 가질 수 있다. 이러한 연결구조는 학습할 모수의 개수를 줄여주고, 역전파 알고리즘을 통한 학습을 효율적으로 만들어 결과적으로 예측 성능을 향상시킬 수 있다.
통합 층(Pooling Layer 또는 Sub-sampling Layer)은 이전 컨볼루션 층에서 구해진 특징 지도의 지역 정보를 활용하여 새로운 특징 지도를 생성할 수 있다. 일반적으로 통합 층에 의해 새로 생성된 특징지도는 원래의 특징 지도보다 작은 크기로 줄어드는데, 대표적인 통합 방법으로는 특징 지도 내 해당 영역의 최대값을 선택하는 최대 통합(Max Pooling)과 특징 지도 내 해당 영역의 평균값을 구하는 평균 통합(Average Pooling) 등이 있을 수 있다. 통합 층의 특징지도는 일반적으로 이전 층의 특징 지도보다 입력 영상에 존재하는 임의의 구조나 패턴의 위치에 영향을 적게 받을 수 있다. 즉, 통합층은 입력 영상 혹은 이전 특징 지도에서의 노이즈나 왜곡과 같은 지역적 변화에 보다 강인한 특징을 추출할 수 있게 되고, 이러한 특징은 분류 성능에 중요한 역할을 할 수 있다. 또 다른 통합 층의 역할은, 깊은 구조상에서 상위의 학습 층으로 올라갈수록 더 넓은 영역의 특징을 반영할 수 있게 하는 것으로서, 특징 추출 층이 쌓이면서, 하위 층에서는 지역적인 특징을 반영하고 상위 층으로 올라갈수록 더욱 추상적인 전체 영상의 특징을 반영하는 특징 생성할 수 있다.
이와 같이, 컨볼루션 층과 통합 층의 반복을 통해 최종적으로 추출된 특징은 다중 신경망(MLP: Multi-Layer Perception)이나 서포트 벡터 머신(SVM: Support Vector Machine)과 같은 분류 모델이 완전 연결 층(Fully-connected Layer)의 형태로 결합되어 분류 모델 학습 및 예측에 사용될 수 있다.
RNN은 어떤 특정 부분이 반복되는 구조를 통해 순서를 학습하기에 효과적인 딥러닝 기법으로 이전 상태의 상태값이 다음 계산의 입력으로 들어가서 결과에 영향을 미칠 수 있다(단어, 문장, 영상을 인식할 때 앞의 단어, 글자, 프레임을 참고하여 인식할 필요가 있기 때문). RNN은 음성과 글자 등 순차적인(Sequential) 정보를 인식하는 데 주로 사용될 수 있다.
다만, 본 발명에 따른 상기 관절 예측 모델은 CNN과 RNN에 한정되지 아니하고, 다양한 구조의 신경망으로 형성될 수 있다.
일 예로, CNN 대신 트랜스포머(Transformer)를 이용할 수 있다. 자연어 처리 분야에서 많이 사용되는 신경망 구조인 트랜스포머(Transformer)는 ‘단어(word)’들의 시퀀스로 입력값(input)을 받는데 최근 여러 컴퓨터 비전 영역에서 이미지를 퍼즐처럼 자르고, 이미지를 퍼즐들의 시퀀스로 취급하여 트랜스포머(Transformer)에 넣었을 때 CNN을 초월한 결과를 얻을 수 있다. 이에 따라 이에 CNN 대신에 트랜스포머(Transformer)로 대체 가능하다.
제어부(230)는 제1 관절 위치값을 기반으로 상기 3차원 캐릭터가 상기 제1 인물(2)과 동일 자세를 나타내도록 렌더링(Rendering)할 수 있다. 여기서, 3차원 캐릭터는, 기 저장된 캐릭터이거나 사용자가 새롭게 생성한 캐릭터일 수 있다.
여기서, 제어부(230)는 제2 모델을 이용하여 상기 프레임 각각에 대한 제1 인물(2)의 관절 위치값을 기 설정된 수준 이하로 단순화한 기본 관절 위치값으로 변화하고, 상기 기본 관절 위치값 각각에 해당하는 자세를 나타내도록 상기 3차원 캐릭터를 렌더링할 수 있다.
제어부(230)는 제1 인물(2)과 동일 자세를 행하는 제2 인물(3)이 촬영된 제2 영상을 획득할 수 있다. 여기서, 제2 영상은 실시간으로 제2 인물(3)을 촬영하는 영상이거나 기 저장된 영상일 수 있다. 제1 인물(2)과 제2 인물(30)은 동일 인물이거나 다른 인물일 수 있으나 동일 자세를 행할 수 있다. 제어부(230)는 제1 모델을 기반으로 상기 제2 영상의 적어도 하나의 프레임 별로 상기 제2 인물(3)의 자세에 해당하는 제2 관절 위치값을 산출할 수 있다. 제어부(230)는 상기 렌더링됭 3차원 캐릭터를 상기 프레임 별로 상기 제2 인물이 표시된 각각의 위치에 표시할 수 있다.
여기서, 제어부(230)는 제1 영상 및 제2 영상의 동일 프레임 내의 각각의 3차원 캐릭터 간의 일치도가 기 설정된 일치도 이상일 경우, 상기 제1 영상 및 제2 영상의 동일 프레임을 서로 대체할 수 있다.
제어부(230)는 상기 렌더링된 3차원 캐릭터를 상기 프레임 별로 상기 제1 인물(2)이 표시된 각각의 영역에 표시할 수 있다.
여기서, 제어부(230)는 상기 프레임 별로 상기 제1 인물(2)이 표시된 각각의 영역에 상기 3차원 캐릭터를 다양한 방법으로 표시할 수 있다. 일 예로, 제어부(230)는 상기 제1 인물(2)이 표시된 각각의 영역에 상기 3차원 캐릭터를 오버레이하여 표시할 수 있다. 또한, 제어부(230)는 상기 프레임 별로 상기 제1 인물(2)이 표시된 각각의 영역을 크롭핑(Cropping)하고, 상기 크롭핑된 각각의 영역에 상기 3차원 캐릭터를 합성하여 표시할 수 있다. 또한, 제어부(230)는 상기 프레임 별로 상기 제1 인물(2)이 표시된 각각의 영역의 주변 영역에 상기 3차원 캐릭터를 합성하여 표시할 수 있다. 또한, 제어부(230)는 상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역 상에 또는 주변에 상기 3차원 캐릭터를 나타내는 인디케이터(Indicator)를 표시하고, 상기 인디케이터가 선택될 경우 상기 3차원 캐릭터를 표시할 수 있다. 또한, 제어부(230)는 상기 제1 영상 내에서 상기 제1 인물이 포함된 프레임 및 상기 3차원 캐릭터가 포함된 프레임을 서로 교번적으로 표시할 수 있다.
제어부(230)는 상기 3차원 캐릭터가 포함된 제1 영상의 편집을 위한 유저 인터페이스(UI, User Interface)를 표시할 수 있다. 사용자는 상기 유저 인터페이스를 통해 상기 제1 영상 내에 3차원 캐릭터, 배경 음악 및 배경 영상 중 적어도 하나를 편집할 수 있다. 여기서, 상기 사용자는 상기 유저 인터페이스를 통해 상기 제1 영상의 재생 시간대 별로 상기 3차원 캐릭터의 관절 위치값, 배경 음악 및 배경 영상 중 적어도 하나를 조절할 수 있다.
일 예로, 제어부(230)는 상기 제1 영상의 시간대 별로 상기 3차원 캐릭터의 제2 관절 위치값, 배경 음악 및 배경 영상 각각을 그래프, 돕 시트(Dope Sheet), 비쥬얼라이제이션 형태로 표시할 수 있고, 상기 사용자는 상기 그래프, 돕 시트, 비쥬얼라이제이션 형태 중 어느 하나를 수정하여 편집할 수 있다.
도 2는 본 발명에 따른 영상 내에 3차원 캐릭터를 렌더링하기 위한 시스템(1)의 동작에 대해 개략적으로 나타낸 도면이다.
도 2를 보면, 시스템(1)은 사용자가 트랙 패널에 표시되는 적어도 하나의 3차원 캐릭터 중 원하는 캐릭터를 선택할 수 있고, 상기 3차원 캐릭터를 촬영장치(10)로 촬영하고 있는 제1 인물(2)의 자세대로 움직이게 할 수 있다. 또한, 상기 시스템(1)은 움직이는 상기 3차원 캐릭터를 렌더링 패널을 통해 실시간으로 확인할 수 있고, 움직이는 상기 3차원 캐릭터의 자세를 녹화하여 녹화된 자세를 편집할 수 있다.
촬영장치(10)는 실시간으로 적어도 하나의 자세를 행하고 있는 제1 인물(2)을 촬영할 수 있다. 장치(20)는 촬영장치(10)로부터 제1 인물(2)이 촬영된 제1 영상을 수신할 수 있다. 장치(20)는 제1 모델을 통해 상기 제1 영상을 적어도 하나의 프레임 별로 상기 제1 인물의 자세에 해당하는 제1 관절 위치값을 산출할 수 있다. 장치(20)는 상기 산출된 제1 관절 위치값을 실시간으로 저장할 수 있다.
장치(20)는 트랙 패널과 렌더링 패널을 포함하는 유저 인터페이스를 표시할 수 있고, 상기 렌더링 패널에 복수의 3차원 캐릭터를 표시할 수 있다. 여기서, 상기 3차원 캐릭터는 사용자로부터 입력받을 수 있다. 장치는(20) 제2 모델을 통해 상기 프레임 각각에 대한 제1 인물의 관절 위치값을 기 설정된 수준 이하로 단순화한 기본 관절 위치값으로 변환하고, 상기 기본 관절 위치값 각각에 해당하는 자세를 나타내도록 사용자로부터 입력받은 상기 3차원 캐릭터를 렌더링할 수 있다.
장치(20)는 렌더링 패널에 실시간 제1 인물(2)이 촬영되는 제1 영상과 상기 제1 영상의 제1 인물(2)의 움직임과 동일하게 움직이는 상기 3차원 캐릭터를 표시할 수 있다.
장치(20)는 트랙 패널에 상기 제1 영상의 시간대 별로 상기 3차원 캐릭터의 제2 관절 위치값, 배경 음악 및 배경 영상 각각을 그래프, 돕 시트, 비쥬얼라이제이션 형태 표시할 수 있다. 사용자는 트랙 패널에 표시되는 상기 그래프, 돕 시트, 비쥬얼라이제이션 형태 중 어느 하나를 수정하여 편집할 수 있다.
도 3은 본 발명에 따른 장치(20)가 영상 내에 3차원 캐릭터를 렌더링하는 과정을 나타낸 흐름도이다.
도 4a 내지 4b는 본 발명에 따른 장치(20)가 제2 모델을 통해 3차원 캐릭터를 렌더링하는 것을 나타낸 예시도이다.
도 5a 내지 도 5d는 본 발명에 따른 장치(20)가 3차원 캐릭터를 표시하는 방식에 대한 예시도이다.
도 6a 내지 도 6c는 본 발명에 따른 장치(20)가 제공하는 유저 인터페이스에 대한 예시도이다.
먼저, 도 3을 보면, 본 발명의 영상 내에 3차원 캐릭터를 렌더링하는 과정은 장치(20)에 의해 수행될 수 있으며, 특정 프로그램을 통해 수행될 수 있다. 또한, 이하, 장치(20)의 모든 동작은 제어부(230)가 동일하게 수행할 수 있다.
장치(20)는 촬영장치(10)로부터 제1 인물(2)이 촬영된 제1 영상을 수신할 수 있다(S301).
장치(20)는 촬영장치(10)로부터 적어도 하나의 자세를 행하고 있는 제1 인물이 촬영된 제1 영상을 수신할 수 있다. 여기서, 제1 인물은 연속되는 동작을 취할 수 있고, 분절되는 여러 개의 동작을 취할 수 있다.
장치(20)는 제1 모델을 기반으로 상기 제1 인물(2)의 상기 제1 관절 위치값을 산출할 수 있다(S302).
장치(20)는 제1 모델을 기반으로, 상기 제1 영상의 적어도 하나의 프레임 별로 상기 제1 인물(2)의 자세에 해당하는 제1 관절 위치값을 산출할 수 있다.
장치(20)는 상기 제1 관절 위치값을 기반으로 상기 3차원 캐릭터가 상기 제1 인물과 동일 자세를 나타내도록 렌더링할 수 있다(S303).
장치(20)는 제2 모델에 따라 상기 프레임 각각에 대한 제1 인물의 관절 위치값을 기 설정된 수준 이하로 단순화한 기본 관절 위치값으로 변환하고, 상기 기본 관절 위치값 각각에 해당하는 자세를 나타내도록 상기 3차원 캐릭터를 렌더링할 수 있다.
도 4a 내지 4b를 보면, 장치(20)는 제2 모델을 통해 상기 3차원 캐릭터의 렌더링을 수행할 수 있다. 여기서, 상기 3차원 캐릭터의 렌더링은 리타게팅일 수 있다.
리타게팅은 서로 다른 구조를 가진 두 캐릭터 골격에 대해 한 골격의 자세를 다른 골격의 자세로 변환하는 것일 수 있다. 구체적으로, 장치(20)는 제2 모델을 통해 리타게팅 대상이 되는 두 골격이 서로 다른 수의 관절을 갖더라도 같은 위상(Topology)을 갖는다면(=위상동형(homeomorphic)하다면 =팔 개수, 다리 개수, 머리 개수 등이 같다면) 하나의 대상을 다른 대상으로 변환할 수 있다.
도 4a를 통해, 제2 모델의 동작을 설명하기 전에 프라이멀 스켈레톤(Primal Skeleton) 개념에 대해 설명한다.
캐릭터의 골격(Skeleton)은 꼭짓점(Node)과 이들의 연결선(Edge)으로 이루어진 일종의 그래프일 수 있다. 이러한 그래프들에 대해 정의되는 풀링(Pooling) 연산이란 이웃한 꼭짓점들끼리 병합하는 과정일 수 있다. 이러한 풀링 연산을 반복하면 가장 단순한 스켈레톤을 얻게 되고 최대한 단순해진, 그러나 위상을 보존하는 스켈레톤이 프라이멀 스켈레톤일 수 있다.
도 4b를 보면, 장치(20)는 제2 모델에 포함되는 인코더(E_A)와 디코더(D_B)를 통해 상기 3차원 캐릭터의 렌더링을 수행할 수 있다. 인코더는 특정 포즈 일 예로 포즈 ‘가’를 하고 있는 스켈레톤 ‘A'를 포즈 ’가'를 하고 있는 프라이멀 스켈레톤으로 변환하는 신경망을 의미할 수 있다. 디코더는 포즈 ‘가'를 하고 있는 프라이멀 스켈레톤과, 임의의 포즈 ‘나'를 하고 있는 임의의 스켈레톤 ‘X'를 받아 포즈 ‘가'를 하고 있는 스켈레톤 ‘X’를 출력하는 신경망을 의미할 수 있다.
여기서, 인코더(E_A)를 지나고, 디코더(D_A)를 지난 포즈 ‘가’의 스켈레톤 ‘A’는 처음의 모습과 동일하다면 인코더(E_A)와 디코더(D_A)가 제대로 학습된 것일 수 있다. 장치(20)는 오차값(loss)을 최초의 포즈 ‘가’의 스켈레톤 ‘A’와 인코더(D_A)와 디코더(D_A)를 지난 포즈 ‘가’의 스켈레톤 ‘A’ 사이의 차로 정의하여 학습을 진행할 수 있다.
장치(20)는 이 과정을 통해 학습된 인코더(E_A)와 디코더(D_A)가 준비되어 있고, 리타게팅하고자 하는 포즈 ‘가’의 출발 골격 스켈레톤 ‘A’와 목표 골격 스켈레톤 ‘B’가 있다고 하면, 포즈 ‘가’의 스켈레톤 ‘A’를 인코더(E_A)에 통과시켜 포즈 '가’의 프라이멀 스켈레톤을 얻을 수 있다. 장치(20)는 이렇게 얻은 포즈 ‘가'의 프라이멀 스켈레톤과 스켈레톤 ‘B’를 디코더(D_B)에 통과시키면 포즈 ‘가’를 한 스켈레톤 ‘B’를 얻을 수 있다.
장치(20)는 상기 3차원 캐릭터를 표시할 수 있다(S304).
장치(20)는 렌더링된 3차원 캐릭터(502)를 상기 프레임 별로 상기 제1 인물(501)이 표시된 각각의 영역에 표시할 수 있다.
도 5a를 보면, 장치(20)는 상기 프레임 별로 상기 제1 인물(501)이 표시된 각각의 영역에 상기 3차원 캐릭터(502)를 오버레이 표시할 수 있다. 도 5a의 오른쪽은 도 5a 왼쪽에서 상기 제1 인물(501)이 위치되는 영역에 상기 3차원 캐릭터(502)가 오버레이되어 표시될 수 있다.
도 5b를 보면, 장치(20)는 상기 프레임 별로 상기 제1 인물(501)이 표시된 각각의 영역을 크롭핑(Cropping)하고, 상기 크롭핑된 각각의 영역에 상기 3차원 캐릭터(502)를 합성하여 표시할 수 있다. 도 5b의 왼쪽은 상기 제1 인물(501)이 표시되는 영역을 크롭핑되고, 도 b의 오른쪽은 상기 크롭핑된 영역에 상기 제1 인물(501) 대신 상기 제1 캐릭터(502)가 합성되어 표시될 수 있다.
도 5c를 보면, 장치(20)는 상기 프레임 별로 상기 제1 인물(501)이 표시된 각각의 영역의 주변 영역에 상기 3차원 캐릭터(502)를 합성하여 표시할 수 있다. 도 5c의 왼쪽은 상기 제1 인물(501)만 표시되고, 도 5c의 오른쪽에는 상기 제1 인물(501) 오른쪽에 상기 3차원 캐릭터(502)가 합성되어 표시될 수 있다.
도 5d를 보면, 장치(20)는 상기 프레임 별로 상기 제1 인물(501)이 표시된 각각의 영역 상에 또는 주변에 상기 3차원 캐릭터(502)를 나타내는 인디케이터(503)를 표시하고, 사용자의 입력에 따라 상기 인디케이터(503)가 선택될 경우 상기 3차원 캐릭터(502)를 표시할 수 있다. 도 5d의 왼쪽은 상기 제1 인물(501)의 오른쪽에 상기 인디케이터(503)가 표시되고, 사용자의 입력에 따라 상기 인디케이터(503)가 선택되는 경우 도 5d의 오른쪽 상단과 같이 상기 제1 인물(501)이 위치하는 영역에 상기 제1 인물(501) 대신에 상기 3차원 캐릭터(502)가 표시될 수 있고, 도 5d의 오른쪽 하단과 같이 상기 제1 인물(501)의 오른쪽에 상기 3차원 캐릭터(502)가 합성되어 표시될 수 있다.
추가로, 장치(20)는 상기 제1 영상 내에서 상기 제1 인물이 포함된 프레임 및 상기 3차원 캐릭터가 포함된 프레임을 서로 교번적으로 표시할 수 있다.
장치(20)는 상기 3차원 캐릭터를 편집할 수 있다(S305).
장치(20)는 상기 3차원 캐릭터가 포함된 제1 영상의 편집을 위한 유저 인터페이스(UI, User Interface)를 표시하고, 상기 유저 인터페이스를 통해 상기 제1 영상 내에 3차원 캐릭터, 배경 음악 및 배경 영상 중 적어도 하나가 편집이 가능할 수 있다.
장치(20)는 상기 유저 인터페이스를 통해 상기 제1 영상의 재생 시간대 별로 상기 3차원 캐릭터의 관절 위치값, 사운드 및 배경 영상 중 적어도 하나가 조절 가능할 수 있다.
장치(20)는 상기 제1 영상의 시간대 별로 상기 3차원 캐릭터의 제2 관절 위치값, 사운드, 백그라운드 화면 각각을 그래프 형태로 표시하고, 상기 그래프를 수정하여 편집 가능할 수 있다.
장치(20)는 유저 인터페이스를 통해 편집하기 전에 상기 제1 인물과 동일 자세를 행하는 제2 인물이 촬영된 제2 영상을 획득할 수 있다. 장치(20)는 상기 제1 모델을 기반으로, 상기 제2 영상의 적어도 하나의 프레임 별로 상기 제2 인물의 자세에 해당하는 제2 관절 위치값을 산출할 수 있다. 장치(20)는 상기 제2 관절 위치값을 기반으로 상기 3차원 캐릭터가 상기 제2 인물과 동일 자세를 나타내도록 렌더링할 수 있다. 장치(20)는 상기 렌더링된 3차원 캐릭터를 상기 프레임 별로 상기 제2 인물이 표시된 각각의 위치에 표시할 수 있다.
여기서, 장치(20)는 유저 인터페이스를 통해 상기 제1 영상 및 제2 영상의 동일 프레임 내의 각각의 3차원 캐릭터 간의 일치도가 기 설정된 일치도 이상일 경우, 상기 제1 영상 및 제2 영상의 동일 프레임은 서로 대체할 수 있다. 따라서, 사용자는 동일한 동작을 여러 번 찍고, 이 중에서 마음에 드는 프레임을 선택하여 원하는 3차원 캐릭터의 동작을 얻을 수 있다.
도 6a 내지 6c를 보면, 유저 인터페이스는 상단 왼쪽에 선택 패널(601), 상단 중앙에 렌더링 패널(602), 상단 오른쪽에 컨트롤 패널(603), 하단에 트랙 패널(604)을 구비할 수 있다.
선택 패널(601)은 적어도 하나의 3차원 캐릭터(Characters), 배경 음악, 배경 영상에 대한 샘플(Samples)이 표시될 수 있다. 여기서, 상기 3차원 캐릭터는 저장된 3차원 캐릭터이거나, 사용자가 직접 제작한 3차원 캐릭터일 수 있다.
선택 패널(601)은 샘플(Samples) 버튼과 캐릭터(Characters) 버튼을 구비하고, 사용자는 상기 버튼을 통해 3차원 캐릭터를 선택할 수 있다. 또한, 사용자는 선택 패널(601) 상단에 샘플검색(Search Samples)을 통해 원하는 3차원 캐릭터 샘플을 찾을 수 있다.
렌더링 패널(602)은 적어도 하나의 화면으로 분할될 수 있으며, 오른쪽에는 촬영장치(10)를 통해 실시간으로 촬영되는 제1 인물(610)이 표시될 수 있으며, 왼쪽에는 상기 제1 인물(610)을 기반으로 렌더링한 상기 3차원 캐릭터(611)가 표시될 수 있다. 도 6a 내지 도 6c에는 상기 렌더링 패널(602)이 두 개의 화면으로 분할되어 있으나 반드시 이에 한정되지 않고 하나로 구성되거나 여러 개의 화면으로 분할될 수 있다.
컨트롤 패널(603)은 상기 렌더링 패널(602) 또는 트랙 패널(604)을 통해 사용자가 특정 시점에서의 상기 제1 인물(610) 또는 상기 3차원 캐릭터(611)의 관절을 누르면, 상기 관절에 대한 좌표, 상기 특정 시점의 배경 음악, 배경 영상, 조명 등이 표시될 수 있다. 여기서, 사용자가 상기 좌표의 값을 변경하면 상기 3차원 캐릭터(611)의 관절의 움직임이 변동될 수 있다. 또한, 사용자는 컨트롤 패널(603)을 통해 상기 3차원 캐릭터(611)의 움직임 외에도 상기 배경 음악, 상기 배경 영상, 상기 조명 등도 편집할 수 있다.
컨트롤 패널(603)은 프로펄티스(Properties)별로 좌표변형(Transform) 탭, 인터폴레이션(Interpolation) 탭, 컬렉션(Collection) 탭, 인스텐싱(Instancing) 탭, 모션 패스(Motion Paths), 비지빌리티(Visibility) 탭, 뷰포트 디스플레이(Viewport Display) 탭, 커스텀 프로펄티스(Custom Properties) 탭 등을 포함하고, 상기 탭을 선택하여 선택된 탭을 통해 상기 3차원 캐릭터(611)의 움직임, 상기 배경 음악, 상기 배경 영상, 상기 조명 등도 편집할 수 있다.
여기서, 좌표변형(Transform) 탭이 사용자의 입력에 따라 선택되는 경우, 이동(Location) 값을 X, Y, Z로 표시하고, 회전(Rotation) 값을 X, Y, Z 표시하고, 범위(Scale) 값을 X, Y, Z료 표시할 수 있다.
또한, 여기서, 인터폴레이션(Interpolation) 탭이 사용자의 입력에 따라 선택되는 경우, 평활도(Smoothness), 영역(Domain), 범위(Range)를 표시할 수 있다.
트랙 패널(604)은 상기 3차원 캐릭터(611), 배경 음악, 배경 영상, 조명 등이 다양한 형태로 표시될 수 있다. 트랙 패널(604)은 3차원 캐릭터, 배경 음악, 배경 영상, 조명에 대한 분류 명칭이 표시되는 제1 영역(605)과 각각의 분류에 대해 그래프 형태, 돕 시트(Dope Sheet) 형태, 비쥬얼라이제이션(Visualization) 형태로 표시되는 제2 영역(606)을 포함할 수 있다.
트랙 패널(604)은 상단에 보기(View)버튼, 선택(Select) 버튼, 마커(Marker) 버튼, 채널(Channel) 버튼, 키(Key) 버튼을 포함할 수 있고, 시간(일 예로, 0.0s, 0.3s 등)을 표시할 수 있다.
도 6a를 보면, 장치(20)는 트랙 패널(604)의 상기 제1 영역(605)에 상기 3차원 캐릭터(611)에 대해 상체(Upper Body)와 하체(Lower Body)로 나누고, 도 6a에서는 하체의 오른쪽 무릎(Right Knee), 왼쪽 무릎(Left Knee) 등으로 분류하여 분류 명칭을 표시할 수 있다. 또한, 장치(20)는 상기 분류 명칭을 기반으로 각각에 해당하는 움직임을 시간대 별로 그래프 형태로 상기 제2 영역(606)에 표시할 수 있다. 여기서, 사용자는 상기 3차원 캐릭터(611)를 편집하기 위해 상기 제2 영역(606)에 표시되는 그래프를 선택하여 움직이거나, 상기 컨트롤 패널(604)을 사용할 수 있다.
도 6b를 보면, 장치(20)는 트랙 패널(604)의 상기 제1 영역(605)에 상기 3차원 캐릭터(611)에 대한 복수의 관절을 분류하여 분류 명칭을 표시하는데, 도 6b에서는, 하체의 관절에 대한 분류 명칭을 표시할 수 있다. 또한, 장치(20)는 상기 분류 명칭을 기반으로 각각에 해당하는 움직임을 시간대 별로 돕 시트 형태로 상기 제2 영역(606)에 표시할 수 있다.
상기 제2 영역(606)을 보면, 시간순으로 네모, 동그라미 등의 형태의 점이 표시되고 상기 점들을 연결하는 인터폴레이션 바가 표시될 수 있다. 상기 점들은 각각 시간대 별로 멈춰 있는 자세를 나타낼 수 있고, 상기 인터폴레이션 바는 상기 각각의 자세 사이를 연결하는 동작을 나타낼 수 있다.
제1 네모 모양(607)과 제2 네모 모양(608)이 표시되고, 상기 제1 네모 모양(607)과 제2 네모 모양(608) 사이를 연결하는 제1 인터폴레이션 바(609)가 표시될 수 있다. 여기서, 상기 제1 네모 모양(607)은 상기 3차원 캐릭터(611)가 오른쪽 무릎을 들고 있는 제1 자세를 나타낼 수 있고, 상기 제2 네모 모양(608)은 상기 3차원 캐릭터(611)가 왼쪽 무릎을 들고 있는 제2 자세를 나타낼 수 있으며, 상기 제1 인터폴레이션 바(609)는 상기 제1 자세와 제2 자세가 변화해가는 과정을 나타낼 수 있다.
사용자는 제2 영역(606)의 상기 점과 인터폴레이션 바를 선택 후 조절하여 상기 제3 캐릭터(611)의 동작을 편집할 수 있다. 또한, 사용자는 상기 3차원 캐릭터(611)를 편집하기 위해 상기 컨트롤 패널(604)에 표시되는 좌표를 수정할 수 있다.
도 6c를 보면, 장치(20)는 트랙 패널(604)의 상기 제1 영역(605)에 상기 3차원 캐릭터(611)에 대한 분류에 따라 분류 명칭인 하체를 표시하고, 머리(Head)의 위치(Position)를 표시하고, 상기 배경 음악(Sound Track)과 상기 배경 영상(Background)을 표시할 수 있다. 또한, 장치(20)는 상기 분류 명칭을 기반으로 각각에 해당하는 움직임을 시간대 별로 비쥬얼라이제이션 형태 또는 돕 시트 형태로 상기 제2 영역(606)에 표시할 수 있으며, 상기 배경 음악, 상기 배경 영상에 대해서도 비쥬얼라이제이션 형태 또는 파형 형태로 표시할 수 있다.
사용자는 제2 영역(606)의 상기 점과 인터폴레이션 바를 선택 후 조절하여 상기 제3 캐릭터(611)의 동작을 편집하거나 상기 비쥬얼라이제이션 형태를 선택하여 편집할 수 있다. 또한, 사용자는 제2 영역(606)의 상기 파형 형태를 선택하여 상기 배경 음악을 편집할 수 있으며, 제2 영역(606)의 상기 비쥬얼라이제이션 형태를 선택하여 상기 배경 영상을 편집할 수 있다.
도 3은 단계 S301 내지 단계 S305를 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 단계 S301 내지 단계 S305 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.
이상에서 전술한 본 발명의 일 실시예에 따른 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (10)

  1. 장치에 의해 수행되는 영상 내에 3차원 캐릭터를 렌더링하는 방법에 있어서,
    촬영장치로부터 적어도 하나의 자세를 행하고 있는 제1 인물이 촬영된 제1 영상을 수신하는 단계;
    제1 모델을 기반으로, 상기 제1 영상의 적어도 하나의 프레임 별로 상기 제1 인물의 자세에 해당하는 제1 관절 위치값을 산출하는 단계;
    상기 제1 관절 위치값을 기반으로 상기 3차원 캐릭터가 상기 제1 인물과 동일 자세를 나타내도록 렌더링하는 단계; 및
    상기 렌더링된 3차원 캐릭터를 상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역에 표시하는 단계;
    를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 렌더링 단계는,
    상기 프레임 각각에 대한 상기 제1 인물의 상기 제1 관절 위치값을 기 설정된 수준 이하로 단순화한 기본 관절 위치값으로 변환하는 단계; 및
    상기 기본 관절 위치값 각각에 해당하는 자세를 나타내도록 상기 3차원 캐릭터를 렌더링하는 단계;를 포함하는, 방법.
  3. 제1 항에 있어서,
    상기 제1 인물과 동일 자세를 행하는 제2 인물이 촬영된 제2 영상을 획득하는 단계;
    상기 제1 모델을 기반으로, 상기 제2 영상의 적어도 하나의 프레임 별로 상기 제2 인물의 자세에 해당하는 제2 관절 위치값을 산출하는 단계;
    상기 제2 관절 위치값을 기반으로 상기 3차원 캐릭터가 상기 제2 인물과 동일 자세를 나타내도록 렌더링하는 단계; 및
    상기 렌더링된 3차원 캐릭터를 상기 프레임 별로 상기 제2 인물이 표시된 각각의 영역에 표시하는 단계;를 포함하고,
    상기 제1 영상 및 제2 영상의 동일 프레임 내의 각각의 상기 3차원 캐릭터 간의 일치도가 기 설정된 일치도 이상일 경우, 상기 제1 영상 및 제2 영상의 동일 프레임은 서로 대체 가능한, 방법.
  4. 제1 항에 있어서,
    상기 표시 단계는,
    상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역에 상기 3차원 캐릭터를 오버레이하여 표시하는, 방법.
  5. 제1 항에 있어서,
    상기 표시 단계는,
    상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역을 크롭핑(cropping)하고,
    상기 크롭핑된 각각의 영역에 상기 3차원 캐릭터를 합성하여 표시하는, 방법.
  6. 제1 항에 있어서,
    상기 표시 단계는,
    상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역의 주변 영역에 상기 3차원 캐릭터를 합성하여 표시하는, 방법.
  7. 제1 항에 있어서,
    상기 표시 단계는,
    상기 프레임 별로 상기 제1 인물이 표시된 각각의 영역 상에 또는 주변에 상기 3차원 캐릭터를 나타내는 인디케이터를 표시하고,
    상기 인디케이터가 선택될 경우 상기 3차원 캐릭터를 표시하는, 방법.
  8. 제1 항에 있어서,
    상기 표시 단계는,
    상기 제1 영상 내에서 상기 제1 인물이 포함된 프레임 및 상기 3차원 캐릭터가 포함된 프레임을 서로 교번적으로 표시하는, 방법.
  9. 제1 항에 있어서,
    상기 3차원 캐릭터가 포함된 제1 영상의 편집을 위한 유저 인터페이스(UI)를 표시하는 단계;를 더 포함하고,
    상기 유저 인터페이스를 통해 상기 제1 영상 내에 3차원 캐릭터, 배경 음악 및 배경 영상 중 적어도 하나가 편집 가능한, 방법.
  10. 제 9항에 있어서,
    상기 편집 단계는,
    상기 유저 인터페이스를 통해 상기 제1 영상의 재생 시간대 별로 상기 3차원 캐릭터의 관절 위치값, 사운드 및 배경 영상 중 적어도 하나가 조절 가능한, 방법.
PCT/KR2020/016345 2020-11-19 2020-11-19 영상 내에 3차원 캐릭터를 렌더링하는 방법, 장치 및 시스템 WO2022107915A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200155182A KR20220068419A (ko) 2020-11-19 2020-11-19 영상 내에 3차원 캐릭터를 렌더링하는 방법, 장치 및 시스템
KR10-2020-0155182 2020-11-19

Publications (1)

Publication Number Publication Date
WO2022107915A1 true WO2022107915A1 (ko) 2022-05-27

Family

ID=81709132

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/016345 WO2022107915A1 (ko) 2020-11-19 2020-11-19 영상 내에 3차원 캐릭터를 렌더링하는 방법, 장치 및 시스템

Country Status (2)

Country Link
KR (1) KR20220068419A (ko)
WO (1) WO2022107915A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519775B1 (ko) * 2014-01-13 2015-05-12 인천대학교 산학협력단 오브젝트의 모션 인식 기반 애니메이션 생성 방법 및 장치
JP2017037424A (ja) * 2015-08-07 2017-02-16 日本放送協会 学習装置、認識装置、学習プログラム、及び認識プログラム
KR101757765B1 (ko) * 2016-05-24 2017-07-26 주식회사 글로브포인트 모션 캡처 데이터 기반 3차원 애니메이션 제작 시스템 및 그 제어 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190033361A (ko) 2017-09-21 2019-03-29 (주)비콘 저작물을 편집한 프레임 컷으로 애니메이션되며 이동하는 액션 뷰어와 그 저작도구를 구비하는 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519775B1 (ko) * 2014-01-13 2015-05-12 인천대학교 산학협력단 오브젝트의 모션 인식 기반 애니메이션 생성 방법 및 장치
JP2017037424A (ja) * 2015-08-07 2017-02-16 日本放送協会 学習装置、認識装置、学習プログラム、及び認識プログラム
KR101757765B1 (ko) * 2016-05-24 2017-07-26 주식회사 글로브포인트 모션 캡처 데이터 기반 3차원 애니메이션 제작 시스템 및 그 제어 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BROCK HEIKE H.BROCK@JP.HONDA-RI.COM; LAW FELIX FELIX.LAW@JP.HONDA-RI.COM AND LAW.YK.FELIX@GMAIL.COM; NAKADAI KAZUHIRO NAKADAI@JP.H: "Learning Three-dimensional Skeleton Data from Sign Language Video", ACM TRANSACTIONS ON INTELLIGENT SYSTEMS AND TECHNOLOGY, ASSOCIATION FOR COMPUTING MACHINERY CORPORATION, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, vol. 11, no. 3, 14 April 2020 (2020-04-14), 2 Penn Plaza, Suite 701 New York NY 10121-0701 USA , pages 1 - 24, XP058680065, ISSN: 2157-6904, DOI: 10.1145/3377552 *
DUSHYANT MEHTA; OLEKSANDR SOTNYCHENKO; FRANZISKA MUELLER; WEIPENG XU; MOHAMED ELGHARIB; PASCAL FUA; HANS-PETER SEIDEL; HELGE RHODI: "XNect: Real-time Multi-person 3D Human Pose Estimation with a Single RGB Camera", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 1 July 2019 (2019-07-01), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081388123 *

Also Published As

Publication number Publication date
KR20220068419A (ko) 2022-05-26

Similar Documents

Publication Publication Date Title
JP3770896B2 (ja) 画像処理方法および装置
US5802220A (en) Apparatus and method for tracking facial motion through a sequence of images
JP4904264B2 (ja) 3d空間次元に基づく画像処理のためのシステムおよび方法
CN113194348B (zh) 一种虚拟人讲课视频生成方法、系统、装置及存储介质
US5774591A (en) Apparatus and method for recognizing facial expressions and facial gestures in a sequence of images
CN107507243A (zh) 一种摄像机参数调整方法、导播摄像机及系统
JP3837505B2 (ja) ジェスチャ認識による制御装置のジェスチャの登録方法
RU2708027C1 (ru) Способ передачи движения субъекта из видео на анимированного персонажа
JP2007087345A (ja) 情報処理装置及びその制御方法、コンピュータプログラム、記憶媒体
WO2021098338A1 (zh) 一种模型训练的方法、媒体信息合成的方法及相关装置
TW202143120A (zh) 圖像產生裝置、圖像產生方法、記錄媒體產生方法、學習模型產生裝置、學習模型產生方法、學習模型、資料處理裝置、資料處理方法、推論方法、電子機器產生方法、程式及非暫存性電腦可讀媒體
CN115699082A (zh) 缺陷检测方法及装置、存储介质及电子设备
CN113989928B (zh) 一种动作捕捉和重定向方法
WO2022107915A1 (ko) 영상 내에 3차원 캐릭터를 렌더링하는 방법, 장치 및 시스템
JPH04260979A (ja) 移動物体の検出追跡システム
WO2023080667A1 (ko) Ai 기반 객체인식을 통한 감시카메라 wdr 영상 처리
WO2018048227A1 (ko) 다차원 반응형 영상 생성장치, 방법 및 프로그램, 및 다차원 반응형 영상 재생방법 및 프로그램
WO2022019389A1 (ko) 데이터 증강 기반 공간 분석 모델 학습 장치 및 방법
JP6875646B2 (ja) 画像処理装置、および、画像処理プログラム
CN113807251A (zh) 一种基于外观的视线估计方法
KR20220066535A (ko) 영상 내의 모션 인식 방법, 서버 및 시스템
CN113784077B (zh) 一种信息处理方法、装置和电子设备
JPH10150657A (ja) 移動物体の表示方法、それを用いた表示システムおよびそのためのプログラム記録媒体
CN116403089A (zh) 训练摔倒检测模型的方法、摔倒检测方法及相关装置
CN117152843B (zh) 数字人的动作控制方法及其系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20962521

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20962521

Country of ref document: EP

Kind code of ref document: A1