WO2024143593A1 - 하나 이상의 이미지들로부터 신체의 형상을 나타내는 정보를 획득하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체 - Google Patents

하나 이상의 이미지들로부터 신체의 형상을 나타내는 정보를 획득하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
WO2024143593A1
WO2024143593A1 PCT/KR2022/021429 KR2022021429W WO2024143593A1 WO 2024143593 A1 WO2024143593 A1 WO 2024143593A1 KR 2022021429 W KR2022021429 W KR 2022021429W WO 2024143593 A1 WO2024143593 A1 WO 2024143593A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
images
mesh
feature information
layers
Prior art date
Application number
PCT/KR2022/021429
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 주식회사 엔씨소프트
Priority to PCT/KR2022/021429 priority Critical patent/WO2024143593A1/ko
Publication of WO2024143593A1 publication Critical patent/WO2024143593A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems

Definitions

  • An electronic device may include a communication circuit and a processor.
  • the processor may acquire a plurality of images capturing body parts from a plurality of cameras using the communication circuit.
  • the processor may obtain feature information indicating a probability that the body part exists from the plurality of images.
  • the processor may obtain code information about the body part having a lower dimension than the feature information based on inputting the feature information into a plurality of encoding layers.
  • the processor indicates the probability that vertices corresponding to the body part exist based on inputting the code information into a plurality of decoding layers, and has a higher dimension than the code information.
  • Heatmap information having can be obtained.
  • the processor may be configured to obtain mesh information for representing the shape of the body in a virtual three-dimensional space expressed through the vertices, based on the heatmap information.
  • the storage device 106 may provide a mass storage space to the electronic device 100.
  • storage device 106 may be a computer-readable medium, such as a hard disk device, optical disk device, flash memory, solid state memory device, or an array of devices within a storage area network (SAN). .
  • SAN storage area network
  • processor 152 may process instructions included in memory 154 to display graphical information for a GUI on the input/output device. The instructions, when executed by processor 152, may cause electronic device 150 to perform one or more operations described above and/or one or more operations described below.
  • processor 152 may interact with a user through display interface 164 and control interface 166 coupled with display 156.
  • the display interface 164 includes circuitry for driving the display 156 to provide visual information to the user
  • the control interface 166 receives commands received from the user and executes a processor ( 152) may include a circuit for converting the commands to provide the instructions.
  • the processor 152 may be implemented as a chipset of chips including analog and digital processors.
  • FIG. 2 is an exemplary diagram illustrating a neural network that an electronic device acquires from a set of parameters stored in a memory, according to an embodiment.
  • the model trained by the electronic device 100 may be implemented based on the neural network 200 represented based on a set of a plurality of parameters stored in the memory 104. Neurons of the neural network 200 corresponding to the model may be divided along a plurality of layers. The neurons may be represented by a connection line connecting a specific node included in a specific layer and another node included in another layer different from the specific layer, and/or a weight assigned to the connection line.
  • the neural network 200 may include an input layer 210, hidden layers 220, and an output layer 230. The number of hidden layers 220 may vary depending on the embodiment.
  • the plurality of images 341, 342, 343, and 344 acquired by the first camera 314 and one or more second cameras 320 show the shape of the body 330 at different timings. It may have been captured.
  • the plurality of images 341, 342, 343, and 344 may capture the shape of the body maintained for a specified time from different angles at different timings.
  • the plurality of images 341, 342, 343, and 344 may capture the changing shape of the body from different angles at different timings.
  • FIG. 4 illustrates an example of a method by which an electronic device obtains feature information from a plurality of images, according to an embodiment.
  • the processor 311 may obtain code information about a body part that has a lower dimension than the 3D feature information 410, based on acquiring the 3D feature information 410.
  • the operation of the processor 311 acquiring code information may be described, for example, with reference to FIG. 5 .
  • the heatmap information 540 may have a higher dimension than the code information 520. For example, if the code information 520 has a second dimension (e.g., 256*4*4*4), the heatmap information 540 has a third dimension that is higher than the second dimension (e.g., 108*64). *64*64). For example, the third dimension may be substantially the same as the first dimension, but is not limited thereto.
  • Heatmap information 540 may indicate the probability that vertices 550 corresponding to body parts within a body (eg, body 330 of FIG. 3) exist.
  • the vertices 550 may include three-dimensional coordinates for indicating the location of body parts within the body 330 within a virtual three-dimensional space.
  • the heatmap information 540 may represent the probability that vertices 550 corresponding to body parts exist within a virtual three-dimensional space in the form of a heatmap.
  • the processor 311 may obtain mesh information 560 based on heatmap information 540.
  • Mesh information 560 may represent the shape of the body within a virtual three-dimensional space.
  • Mesh information 560 may include vertices 550 to represent the shape of the body.
  • the mesh information 560 may represent the shape of the body 330 including body parts based on a mesh in which a plurality of planes formed by interconnecting the vertices 550 are connected.
  • the mesh information 560 may include 108 vertices 550 to represent the shape of the body 330, but is not limited thereto.
  • the plurality of encoding layers 510 and the plurality of decoding layers 530 may be learned in advance.
  • a method of learning the plurality of encoding layers 510 and the plurality of decoding layers 530 can be described, for example, with reference to FIG. 6 .
  • Figure 6 shows an example of a method for learning a plurality of encoding layers and a plurality of decoding layers according to an embodiment.
  • the plurality of decoding layers 530 are based on truth heatmap information 610 indicating the probability that a plurality of vertices corresponding to body parts exist. It can be trained. The plurality of decoding layers 530 may be learned based on truth heatmap information 610 indicating the probability that a plurality of vertices corresponding to body parts exist.
  • Truth heat map information 610 may be obtained from first truth mesh information 620 including a plurality of vertices that accurately represent the shape of the body within a virtual three-dimensional space.
  • the plurality of pre-encoding layers 630 may output intermediate code information 640 based on receiving truth heatmap information 610.
  • a plurality of pre-encoding layers 630 may be formed based on a convolutional neural network.
  • the plurality of pre-encoding layers 630 may have a dimension that gradually decreases.
  • the plurality of pre-encoding layers 630 have a gradually decreasing dimension between the input layer that receives the truth heatmap information 610 and the output layer that outputs the intermediate code information 640. You can have it.
  • the intermediate code information 640 may have a lower dimension than the truth heatmap information 610.
  • the intermediate code information 640 has a second dimension lower than the first dimension (e.g., 256 You can have *4*4*4).
  • the plurality of pre-encoding layers 630 and the plurality of pre-decoding layers 650 learn to reduce the error between the truth heatmap information 610 and the output heatmap information 660. It can be.
  • the plurality of pre-encoding layers 630 and the plurality of pre-decoding layers 650 may be trained so that the error between the truth heatmap information 610 and the output heatmap information 660 is reduced.
  • the error between the truth heatmap information 610 and the output heatmap information 660 can be expressed as Equation 1 below.
  • equation 1 may mean output heatmap information 660, may mean truth heatmap information 610.
  • the shape of the body represented by the first truth mesh information 620 and the output heatmap information 660 are The difference in body posture expressed by the second truth mesh information 670 can be reduced.
  • learning of the plurality of pre-decoding layers 650 can be completed.
  • a plurality of decoding layers 530 may be formed.
  • a plurality of encoding layers (e.g., a plurality of encoding layers 510 in FIG. 5) generate feature information (e.g., 3D feature information in FIGS. 4 and 5) indicating the probability that a body part exists. (410)), learning of the plurality of pre-encoding layers 630 may not be completed based on truth heatmap information 610 indicating the probability that vertices exist.
  • a method of forming a plurality of encoding layers 510 by training a plurality of pre-encoding layers 630 can be described with reference to FIG. 7.
  • a plurality of pre-encoding layers 630 may receive sample feature information 710.
  • Sample characteristic information 710 may be obtained from a plurality of sample images 720.
  • sample characteristic information 710 may indicate a probability that a captured body part exists in a plurality of sample images 720.
  • the sample characteristic information 710 may represent the probability that a body part captured in the plurality of sample images 720 exists in the form of a heat map.
  • the sample characteristic information 710 may be obtained from a backbone network that receives a plurality of sample images 720, but is not limited thereto.
  • the plurality of pre-encoding layers 630 may output first sample code information 730 based on receiving sample characteristic information 710.
  • the first sample code information 730 may have a lower dimension than the sample characteristic information 710.
  • sample heat map information 750 may correspond to sample mesh information 740.
  • the sample heat map information 750 may indicate the probability that a plurality of vertices included in the sample mesh information 740 exist in a virtual three-dimensional space.
  • sample heat map information 750 may be obtained from a plurality of sample images 720 before training the plurality of pre-encoding layers 630.
  • the second sample code information 760 may correspond to sample heat map information 750.
  • the plurality of decoding layers 530 may output sample heat map information 750 based on receiving second sample code information 760.
  • sample heat map information 750 may be obtained from a plurality of decoding layers 530 that receive second sample code information 760.
  • the second sample code information 760 may be obtained from a plurality of sample images 720 before training the plurality of pre-encoding layers 630.
  • the second sample code information 760 may be obtained from the sample heat map information 750 before learning the plurality of pre-encoding layers 630.
  • equation 2 represents second sample code information 760, may represent first sample code information 730.
  • learning of the plurality of pre-encoding layers 630 can be completed.
  • a plurality of encoding layers 510 may be formed.
  • an electronic device e.g., the electronic device 310 of FIG. 3 according to an embodiment includes a plurality of encoding layers learned through a plurality of vertices that accurately represent the shape of the body in a three-dimensional space. Through 510, it is possible to provide a method for accurately restoring the shape of the body captured in a plurality of images within a virtual three-dimensional space.
  • An electronic device e.g., the electronic device 310 of FIG. 3) according to an embodiment includes a plurality of decoding layers (e.g., FIG. 5) learned through a plurality of vertices that accurately represent the shape of the body in three-dimensional space. Through the plurality of decoding layers 530), it is possible to provide a method of accurately restoring the shape of the body captured in a plurality of images in a virtual three-dimensional space.
  • FIG. 8 illustrates an example of a method in which an electronic device acquires mesh information from a plurality of images acquired at different timings, according to an embodiment.
  • a processor e.g., processor 311 of FIG. 3 captures a plurality of first images 810 and a plurality of second images 820 at different timings. And/or may acquire a plurality of third images 830, the processor 311 may use a plurality of cameras (eg, the first camera 314 of FIG. 3 and/or one or more third images 830). A plurality of first images 810, a plurality of second images 820, and a plurality of third images 830 may be obtained from the two cameras 320. The plurality of second images 810 may be acquired from a plurality of cameras at a first timing.
  • the plurality of second images 820 may be acquired from a plurality of cameras at a second timing before the first timing.
  • the plurality of third images 830 may be acquired from a plurality of cameras at a third timing after the first timing.
  • the shape of the body 330 captured in the two images 820 and the plurality of third images 830 may be different from, for example, the shape of the body captured in the plurality of first images 810.
  • the shape of the body 330 captured in the plurality of second images 820 may be different from the shape of the body 330 captured in the plurality of first images 810 .
  • the shape of the body 330 captured in the plurality of third images 830 may be different from the shape of the body 330 captured in the plurality of second images 820.
  • the shape of the body 330 captured in the plurality of third images 830 may be different, for example, the plurality of first images 810 and the plurality of second images.
  • the shapes of the body 330 captured in the images 820 and the plurality of third images 830 may be substantially the same as each other.
  • the processor 311 receives a plurality of first images 810 acquired at a first timing through a plurality of encoding layers 510 and a plurality of decoding layers 530, First mesh information 840 for representing the shape of the body 330 captured in the plurality of first images 810 in a virtual three-dimensional space may be obtained.
  • the first mesh information 840 may include vertices for expressing the shape of the body 330 in a virtual three-dimensional space.
  • the processor 311 receives a plurality of second images 820 acquired at a second timing through a plurality of encoding layers 510 and a plurality of decoding layers 530, Second mesh information 850 for representing the shape of the body 330 captured in the plurality of second images 820 in a virtual three-dimensional space may be obtained.
  • the second mesh information 850 may include vertices for expressing the shape of the body 330 in a virtual three-dimensional space.
  • the processor 311 receives a plurality of third images 830 acquired at a third timing through a plurality of encoding layers 510 and a plurality of decoding layers 530, Third mesh information 860 for representing the shape of the body 330 captured in the plurality of third images 830 in a virtual three-dimensional space may be obtained.
  • the third mesh information 860 may include vertices for expressing the shape of the body 330 in a virtual three-dimensional space.
  • the processor 311 uses first mesh information 840 obtained from a plurality of first images 810 and a plurality of second images 820 at a second timing before the first timing. ), and at least some of the second mesh information 850 obtained from the first timing and the third mesh information 860 obtained from the plurality of third images 830 after the first timing are input to the time series layers 870.
  • time series layers 870 may include a 1D-temporal convolution neural network.
  • the processor 311 generates the first mesh information 840 and the second mesh information 850 based on inputting the first mesh information 840 and the second mesh information 850 into the time series layers 870. 2 Weights corresponding to each piece of mesh information 850 can be obtained.
  • the processor 311 may, based on inputting the first mesh information 840, the second mesh information 850, and the third mesh information 860 into the time series layers 870, Weights corresponding to each of the first mesh information 840, second mesh information 850, and third mesh information 860 may be obtained.
  • the processor 311 generates a plurality of vertices included in the first mesh information 840 based on inputting a plurality of vertices included in the first mesh information 840 into the time series layers 870. First weights corresponding to each of the weights may be obtained.
  • the processor 311 generates a plurality of vertices included in the second mesh information 850 based on inputting a plurality of vertices included in the second mesh information 850 into the time series layers 870. Second weights corresponding to each of the values may be obtained.
  • the processor 311 generates a plurality of vertices included in the third mesh information 860 based on inputting a plurality of vertices included in the third mesh information 860 into the time series layers 870.
  • Third weights corresponding to each of them can be obtained.
  • the method by which the processor 311 obtains weights from the first mesh information 840 and the second mesh information 850 may be referred to as a self-attention method.
  • the processor 311 generates first mesh information 840 and second mesh information ( Based on combining 850), mesh information 560 can be obtained.
  • the mesh information 560 obtained through a combination of the first mesh information 840 and the second mesh information 850 is obtained at the first timing when the plurality of first images 810 are captured.
  • the shape of the body 330 can be displayed in a three-dimensional virtual space.
  • the processor 311 generates the first mesh information 840 and the second mesh information through weights corresponding to each of the first mesh information 840, the second mesh information 850, and the third mesh information 860. Based on combining 850 and third mesh information 860, mesh information 560 can be obtained.
  • equation 3 represents mesh information 560, represents weights corresponding to each of the first mesh information 840, the second mesh information 850, and the third mesh information 860, represents first mesh information 840, second mesh information 850, and third mesh information 860, may represent the element-wise product operator of a vector.
  • the method by which the processor 311 combines the first mesh information 840, the second mesh information 850, and the third mesh information 860 may be referred to as a temporal smoothing method.
  • the mesh information 560 is acquired by reflecting the timing at which the plurality of images 810, 820, and 830 are captured, the accuracy of the shape of the body 330 expressed from the mesh information 560 can be increased.
  • an electronic device e.g., the electronic device 310 of FIG. 3
  • the electronic device 310 according to one embodiment is configured to have temporal consistency because the mesh information 560 is obtained by reflecting the timing at which the plurality of images 810, 820, and 830 are acquired.
  • a method for restoring the shape of the body 330 can be provided.
  • FIG 9 illustrates an example of an environment including an electronic device according to an embodiment.
  • another electronic device 910 may include a processor 911, a memory 912, and/or a communication circuit 913.
  • the processor 911 of FIG. 9 includes the processor 102 and/or the processor 152 of FIG. 1, and the memory 912 of FIG. 9 includes the memory 104 and/or the memory 154 of FIG. 1. Since the communication circuit 913 of FIG. 9 may be substantially the same as the communication interface 158 of FIG. 1, redundant description will be omitted.
  • another electronic device 910 may be located outside of the electronic device 310. Another electronic device 910 may be able to communicate with the electronic device 310 through a communication circuit 913 within the other electronic device 910.
  • the processor 911 of another electronic device 910 generates mesh information (e.g., figure 5 mesh information 560) can be obtained.
  • the processor 911 of the other electronic device 910 acquires the mesh information 560 from the heatmap information 540, the processor 911 of the other electronic device 910 receives the electronic device through the communication circuit 913.
  • Mesh information 560 may be transmitted to the device 310.
  • FIG. 10 is a flowchart for explaining the operation of an electronic device according to an embodiment.
  • the operation shown in FIG. 10 may be performed by the electronic device 310 shown in FIG. 3.
  • the processor 311 In operation 1020, the processor 311 generates feature information indicating the probability that a body part of the body 330 exists (e.g., in FIGS. 4 and 5) from the plurality of images 341, 342, 343, and 344. 3D feature information 410) can be obtained.
  • the processor 311 generates 2D feature information (e.g., 2D feature information 420 of FIG. 4) indicating the probability that a body part exists in a virtual two-dimensional space from the plurality of images 341, 342, 343, and 344. )) can be obtained.
  • the processor 311 may obtain 2D feature information 420 based on inputting a plurality of images 341, 342, 343, and 344 into a backbone network.
  • the processor 311 is configured to obtain 3D feature information 410 to indicate the probability that a body part exists in a virtual 3-dimensional space by back-projecting the 2D feature information 420 into a virtual 3-dimensional space. It can be.
  • the processor 311 may obtain the 3D feature information 410 from the 2D feature information 420 through an algorithm for backprojecting the 2D feature information 420 into a virtual 3-dimensional space.
  • the processor 311 may obtain 3D feature information 410 from 2D feature information 420 through a previously learned neural network.
  • the processor 311 generates 3D feature information 410 based on inputting the 3D feature information 410 into a plurality of encoding layers (e.g., a plurality of encoding layers 510 in FIG. 5).
  • Code information for body parts with a lower dimension e.g, code information 520 in FIG. 5
  • the plurality of encoding layers 510 may be formed based on a convolution neural network.
  • the processor 311 In operation 1040, the processor 311 generates vertices corresponding to body parts (e.g., vertices in FIG. 5) based on input to a plurality of decoding layers (e.g., a plurality of decoding layers 530 in FIG. 5). 550) indicates the probability of existence, and heat map information 540 having a higher dimension than the code information 520 can be obtained.
  • the decoding layers 530 may be formed based on a convolution neural network.
  • the processor 311 In operation 1050, the processor 311 generates mesh information for representing the shape of the body 330 in a virtual three-dimensional space, expressed through vertices 550, based on the heatmap information 540 ( Example: Mesh information 560 of FIG. 5) can be obtained.
  • the mesh information 560 may represent the shape of the body 330 including body parts based on a mesh in which a plurality of planes formed by interconnecting the vertices 550 are connected.
  • FIG. 11 is a flowchart for explaining the operation of an electronic device according to an embodiment.
  • the operation shown in FIG. 11 may be performed by the electronic device 310 shown in FIG. 3.
  • the operation of FIG. 11 may be included within operation 1050 of FIG. 10.
  • a processor processes a plurality of images captured at a first timing (e.g., a plurality of first images 810 of FIG. 8).
  • First mesh information acquired from e.g., first mesh information 840 in FIG. 8
  • a plurality of images captured at a second timing different from the first timing e.g., a plurality of second images in FIG. 8
  • Weights corresponding to each of the first mesh information and the second mesh information may be obtained.
  • the second timing may be before the first timing, but is not limited thereto.
  • the second timing may be after the first timing.
  • the processor 311 uses a plurality of encoding layers (e.g., a plurality of encoding layers 510 in FIG. 5) and a plurality of decoding layers (e.g., a plurality of decoding layers 530 in FIG. 5).
  • 1 Mesh information 840 can be obtained.
  • the processor 311 selects a plurality of second images (820) obtained at a second timing through a plurality of encoding layers 510 and a plurality of decoding layers 530. 820), second mesh information 850 for representing the captured body shape in a virtual three-dimensional space may be obtained.
  • the processor 311 generates first mesh information 840 and second mesh information 850 based on inputting the first mesh information 840 and the second mesh information 850 into the time series layers 870. and weights corresponding to each of the second mesh information 850 may be obtained.
  • time series layers 870 may include a 1D-temporal convolution neural network.
  • the processor 311 based on inputting a plurality of vertices included in the second mesh information 850 to the time series layers 870, each of the plurality of vertices in the second mesh information 850 Second weights corresponding to can be obtained.
  • the method by which the processor 311 obtains weights from the first mesh information 840 and the second mesh information 850 may be referred to as a self-attention method.
  • the processor 311 uses weights to represent the posture of the body within a virtual three-dimensional space, based on combining the first mesh information 840 and the second mesh information 850.
  • Mesh information e.g., mesh information 560 in FIG. 5
  • the processor 311 may generate first mesh information 840 through first weights obtained from the first mesh information 840 and second weights obtained from the second mesh information 850.
  • mesh information 560 can be obtained.
  • the method by which the processor 311 combines the first mesh information 840 and the second mesh information 850 may be referred to as a temporal smoothing method.
  • the mesh information 850 may represent the shape (eg, posture) of the body captured in the plurality of first images 810 at the first timing in a virtual three-dimensional space.
  • Mesh information 560 for representing the shape of the body captured at the first timing in a virtual three-dimensional space is first mesh information 840 obtained from a plurality of first images 810 at the first timing.
  • the electronic device according to one embodiment (e.g., in FIG. 3
  • the electronic device 310 can provide a method for restoring the shape of the body so that it has temporal consistency.
  • An electronic device (e.g., the electronic device 310 of FIG. 3) includes a communication circuit (e.g., the communication circuit 313 of FIG. 3) and a processor (e.g., the processor 311 of FIG. 3). It can be included.
  • the processor detects a body part from a plurality of cameras (e.g., the first camera 314 and/or one or more second cameras 320 of FIG. 3) using the communication circuit.
  • a plurality of captured images (eg, a plurality of images 341, 342, 343, and 344 in FIG. 3) may be obtained.
  • the processor may obtain feature information (eg, 3D feature information 410 of FIG.
  • Various embodiments of this document may be implemented as software including one or more instructions stored in a storage medium (e.g., internal memory or external memory) that can be read by a machine (e.g., electronic device).
  • a storage medium e.g., internal memory or external memory
  • a processor of a device e.g. an electronic device
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is stored semi-permanently in the storage medium. There is no distinction between temporary storage cases.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Processing (AREA)

Abstract

일 실시예에 따른 전자 장치는, 통신 회로, 및 프로세서를 포함한다. 상기 프로세서는, 상기 통신 회로를 이용하여 복수의 카메라들로부터, 신체 부위가 캡쳐된 복수의 이미지들을 획득하고, 상기 복수의 이미지들로부터, 특징 정보를 획득하고, 복수의 인코딩 레이어들에 상기 특징 정보를 입력하는 것에 기반하여, 상기 신체 부위에 대한 코드 정보를 획득하고, 복수의 디코딩 레이어들에 상기 코드 정보를 입력하는 것에 기반하여, 상기 신체 부위에 대응하는 버텍스들이 존재하는 확률을 나타내는 히트맵 정보를 획득하고, 상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보를 획득하도록 구성된다.

Description

하나 이상의 이미지들로부터 신체의 형상을 나타내는 정보를 획득하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체
본 개시는, 하나 이상의 이미지들로부터 신체의 형상을 나타내는 정보를 획득하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체에 관한 것이다.
최근 신체를 촬영하고, 촬영된 이미지를 뉴럴 네트워크를 통해 해석함으로써 3차원 좌표계에 기반하여 신체의 형상을 표현하는 기술에 대한 관심이 증가하고 있다. 뉴럴 네트워크는, 시냅스의 결합으로 네트워크를 형성한 노드에 대한 학습을 통해, 시냅스의 결합의 세기가 조정됨으로써, 특정한 문제를 해결할 수 있는 능력을 갖춘 모델을 의미할 수 있다. 이러한 뉴럴 네트워크는, 신체를 서로 다른 시점(viewpoint)에서 획득한 복수의 이미지를 식별하기 위한 용도로 활용될 수 있다.
신체가 서로 다른 시점에서 캡쳐될 경우, 획득된 복수의 이미지들 각각은, 서로 다른 각도에서 바라본 신체의 형상을 포함할 수 있다. 대부분의 연구들에서의 3차원 신체 복원 기술은, 복수의 이미지들을 단순히 결합함으로써, 가상의 3차원 공간 상에 신체의 형상을 표현하였다. 복수의 이미지들을 단순히 결합하는 경우, 복원된 신체의 형상의 정확도가 낮을 수 있다. 복원된 신체의 형상의 정확도가 낮을 경우, 가상의 3차원 공간 내에서 표현되는 신체의 형상은, 이미지들 내에 캡쳐된 신체의 형상과 상이할 수 있다.
본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
일 실시예에 따른 전자 장치는, 통신 회로, 및 프로세서를 포함할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 상기통신 회로를 이용하여 복수의 카메라들로부터, 신체 부위가 캡쳐된 복수의 이미지들을 획득할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 상기 복수의 이미지들로부터, 상기 신체 부위가 존재하는 확률을 나타내는(indicating) 특징 정보를 획득할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 복수의 인코딩 레이어들에 상기 특징 정보를 입력하는 것에 기반하여, 상기 특징 정보보다 낮은 차원을 가지는 상기 신체 부위에 대한 코드 정보를 획득할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 복수의 디코딩 레이어들에 상기 코드 정보를 입력하는 것에 기반하여, 상기 신체 부위에 대응하는 버텍스들(vertices)이 존재하는 확률을 나타내며, 상기 코드 정보보다 높은 차원을 가지는 히트맵 정보를 획득할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보를 획득하도록 구성될 수 있다.
일 실시예에 따른 전자 장치의 동작 방법은, 복수의 카메라들로부터 신체 부위가 캡쳐된 복수의 이미지들을 획득하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 방법은, 상기 복수의 이미지들로부터, 상기 신체 부위가 존재하는 확률을 나타내는(indicating) 특징 정보를 획득하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 방법은, 복수의 인코딩 레이어들에 상기 특징 정보를 입력하는 것에 기반하여, 상기 특징 정보보다 낮은 차원을 가지는 상기 신체 부위에 대한 코드 정보를 획득하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 방법은, 복수의 디코딩 레이어들에 상기 코드 정보를 입력하는 것에 기반하여, 상기 신체 부위에 대응하는 버텍스들(vertices)이 존재하는 확률을 나타내며, 상기 코드 정보보다 높은 차원을 가지는 히트맵 정보를 획득하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 방법은, 상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보를 획득하는 동작을 포함할 수 있다.
일 실시예에 따른 컴퓨터 판독가능 저장 매체는, 하나 이상의 프로그램들을 저장할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 제1 카메라 및 통신 회로를 통해 연결된 하나 이상의 제2 카메라들로부터, 신체 부위가 캡쳐된 복수의 이미지들을 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 상기 복수의 이미지들로부터, 상기 신체 부위가 존재하는 확률을 나타내는(indicating) 특징 정보를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 복수의 인코딩 레이어들에 상기 특징 정보를 입력하는 것에 기반하여, 상기 특징 정보보다 낮은 차원을 가지는 상기 신체 부위에 대한 코드 정보를 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 상기 코드 정보를 상기 통신 회로를 통해 외부 전자 장치로 전송하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 상기 통신 회로를 통해 상기 외부 전자 장치로부터 상기 신체 부위에 대응하는 버텍스들(vertices)이 존재하는 확률을 나타내며, 상기 코드 정보보다 높은 차원을 가지는 히트맵 정보를 수신하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보를 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
일 실시예에 따른 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체는, 이미지들로부터 가상의 3차원 공간 내에서 신체의 형상을 정확하게 표현할 수 있는 방법을 제공할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은, 일 실시예에 따른 전자 장치의 기능적 구성을 도시하는 간소화된(simplified) 블록도이다.
도 2는 일 실시예에 따른 전자 장치가 메모리 내에 저장된 파라미터들의 집합으로부터 획득하는 뉴럴 네트워크를 설명하기 위한 예시적인 도면이다.
도 3은, 일 실시예에 따른 전자 장치를 포함하는 환경의 일 예를 도시한다.
도 4는, 일 실시예에 따른 전자 장치가 복수의 이미지들로부터 특징 정보를 획득하는 방법의 일 예를 도시한다.
도 5는, 일 실시예에 따른 전자 장치가 특징 정보로부터 메쉬 정보를 획득하는 방법의 일 예를 도시한다.
도 6은, 일 실시예에 따른 복수의 인코딩 레이어들, 및 복수의 디코딩 레이어들을 학습시키는 방법의 일 예를 도시한다.
도 7은, 일 실시예에 따른 복수의 인코딩 레이어들을 학습시키는 방법의 일 예를 도시한다.
도 8은, 일 실시예에 따른 전자 장치가 서로 다른 타이밍에서 획득된 복수의 이미지들로부터 메쉬 정보를 획득하는 방법의 일 예를 도시한다.
도 9는, 일 실시예에 따른 전자 장치를 포함하는 환경의 일 예를 도시한다.
도 10은, 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 11은, 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 1은, 일 실시예에 따른 전자 장치의 기능적 구성을 도시하는 간소화된(simplified) 블록도이다.
도 1을 참조하면, 일 실시예에 따른 전자 장치(100)는, 프로세서(102), 메모리(104), 저장 장치(106), 고속(high-speed) 컨트롤러(108) (예: 노스브릿지(northbridge), MCH(main controller hub)), 저속(low-speed) 컨트롤러(112) (예: 사우스브릿지(southbridge), ICH(I/O(input/output) controller hub))를 포함할 수 있다. 전자 장치(100) 내에서, 프로세서(102), 메모리(104), 저장 장치(106), 고속 컨트롤러(108), 및 저속 컨트롤러(112) 각각은, 다양한 버스(bus)들을 이용하여 상호연결될(interconnected) 수 있다. 예를 들면, 프로세서(102)는 고속 컨트롤러(108)에 연결된 디스플레이(116)와 같은 외부 입출력 장치 상에 GUI(graphical user interface)에 대한 그래픽 정보를 표시하기 위해 전자 장치(100) 내에서 실행을 위한 인스트럭션들을 처리할 수 있다. 상기 인스트럭션들은 메모리(104) 또는 저장 장치(106) 내에 포함될 수 있다. 상기 인스트럭션들은, 프로세서(102)에 의해 실행될 시, 상술한 하나 이상의 동작들 및/또는 이하 기술될 하나 이상의 동작들을 수행하도록, 전자 장치(100)를 야기할(cause) 수 있다. 실시예들에 따라, 프로세서(102)는 통신 프로세서 및 GPU(graphical processing unit)를 포함하는 복수의 프로세서들로 구성될 수도 있다.
예를 들면, 메모리(104)는 전자 장치(100) 내에 정보를 저장할 수 있다. 예를 들면, 메모리(104)는 휘발성 메모리 유닛 또는 유닛들일 수 있다. 다른 예를 들면, 메모리(104)는 비휘발성 메모리 유닛 또는 유닛들일 수 있다. 또 다른 예를 들면, 메모리(104)는 자기 또는 광학 디스크와 같이, 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
예를 들면, 저장 장치(106)는 전자 장치(100)에게 대용량(mass) 저장 공간을 제공할 수 있다. 예를 들면, 저장 장치(106)는 하드 디스크 장치, 광학 디스크 장치, 플래시 메모리, 솔리드 스테이트 메모리 장치, 또는 SAN(storage area network) 내의 장치들의 어레이(array)와 같은, 컴퓨터 판독가능 매체일 수 있다.
예를 들면, 고속 컨트롤러(108)는 전자 장치(100)를 위한 대역폭-집약적(bandwidth-intensive) 동작들을 관리하는 반면, 저속 컨트롤러(112)는 전자 장치(100)를 위한 낮은(low) 대역폭 집약적 동작들을 관리할 수 있다. 예를 들면, 고속 컨트롤러(108)는 메모리(104)와 결합되고(coupled to) GPU 또는 가속기(accelerator)를 통해 디스플레이(116)와 결합되는 반면, 저속 컨트롤러(112)는 저장 장치(106)와 결합되고 외부 전자 장치(예: 키보드, 트랜스듀서(transducer), 스캐너, 또는 네트워크 장치(예: 스위치 또는 라우터))와의 통신을 위한 다양한 통신 포트들(예: USB(universal serial bus), 블루투스, 이더넷(ethernet), 무선 이더넷)과 결합될 수 있다.
일 실시예에 따르면, 전자 장치(150)는, 전자 장치(100)의 다른 예일 수 있다. 전자 장치(150)는 프로세서(152), 메모리(154), 디스플레이(156)(예: OLED(organic light emitting diode) 디스플레이 또는 다른 적합한 디스플레이)와 같은 입출력 장치, 통신 인터페이스(158), 및 송수신기(162)를 포함할 수 있다. 프로세서(152), 메모리(154), 상기 입출력 장치, 통신 인터페이스(158), 및 송수신기(162) 각각은 다양한 버스들을 이용하여 상호 연결될 수 있다.
예를 들면, 프로세서(152)는 상기 입출력 장치 상에 GUI에 대한 그래픽 정보를 표시하기 위해 메모리(154) 내에 포함된 인스트럭션들을 처리할 수 있다. 상기 인스트럭션들은, 프로세서(152)에 의해 실행될 시, 상술한 하나 이상의 동작들 및/또는 이하 기술될 하나 이상의 동작들을 수행하도록, 전자 장치(150)를 야기할 수 있다. 예를 들면, 프로세서(152)는 디스플레이(156)와 결합된 디스플레이 인터페이스(164) 및 제어 인터페이스(166)를 통해 사용자와 상호작용할 수 있다. 예를 들면, 디스플레이 인터페이스(164)는 시각적 정보를 사용자에게 제공하기 위해 디스플레이(156)를 구동하기 위한 회로를 포함하고, 제어 인터페이스(166)는 사용자로부터 수신된 명령(command)들을 수신하고 프로세서(152)에게 제공하기 위해 상기 명령들을 변환하기 위한 회로를 포함할 수 있다. 실시예들에 따라, 프로세서(152)는 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋(chipset)으로 구현될 수 있다.
예를 들면, 메모리(154)는 전자 장치(150) 내에 정보를 저장할 수 있다. 예를 들면, 메모리(154)는 하나 이상의 휘발성 메모리 유닛들, 하나 이상의 비휘발성 메모리 유닛들, 또는 컴퓨터 판독가능 매체 중 적어도 하나를 포함할 수 있다.
예를 들면, 통신 인터페이스(158)는, 프로세서(152)와의 연동에 기반하여, 셀룰러 통신 기법, Wi-Fi 통신 기법, NFC 기법, 또는 블루투스 통신 기법과 같은 다양한 통신 기법들을 통해 전자 장치(150)와 외부 전자 장치 사이의 무선 통신을 수행할 수 있다. 예를 들면, 통신 인터페이스(158)는, 상기 무선 통신의 수행을 위해, 송수신기(168)와 결합될 수 있다. 예를 들면, 통신 인터페이스(158)는, 전자 장치(150)의 위치 정보의 획득을 위해, GNSS(global navigation satellite system) 수신 모듈(170)과 더 결합될 수도 있다.
일 실시예에 따르면, 전자 장치(100)(및/또는 전자 장치(150))는, 복수의 카메라로부터 이미지를 획득하는 것에 기반하여, 피사체의 신체의 형상을 나타내기 위한 메쉬 정보를 획득할 수 있다. 예를 들어, 전자 장치(100)(및/또는 전자 장치(150))는, 신체를 상이한 시점(viewpoint) 내에서 촬영한 복수의 이미지들로부터, 신체의 형상을 가상의 3차원 공간 내에서 복원하기 위한 메쉬 정보를 획득할 수 있다. 전자 장치(100)(및/또는 전자 장치(150))는, 메쉬 정보를 획득하기 위하여, 트레이닝된 인코더-디코더 모델에 기반한 뉴럴 네트워크를 활용할 수 있다. 인코더-디코더 모델은, 인체 구조에 대한 진리 데이터(예: ground truth)에 기반하여 트레이닝될 수 있다. 전자 장치(100)(및/또는 전자 장치(150))는 인코더 모델과 디코더 모델의 사이에서, 메쉬 정보를 획득하기 위한 데이터(예: latent code)를 획득할 수 있다. 예를 들어, 인코더-디코더 모델에 포함된 인코더 모델은, 복수의 이미지들로부터, 메쉬 정보를 획득하기 위한 데이터를 획득하도록 트레이닝될 수 있다. 예를 들어, 인코더-디코더 모델을 포함하는 뉴럴 네트워크에 대한 일 예시는, 도 2를 통해 설명될 수 있다.
도 2는 일 실시예에 따른 전자 장치가 메모리 내에 저장된 파라미터들의 집합으로부터 획득하는 뉴럴 네트워크를 설명하기 위한 예시적인 도면이다.
도 2를 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(100))의 메모리(예: 도 1의 메모리(104)) 내에, 뉴럴 네트워크(200)와 관련된 파라미터들의 집합이 저장될 수 있다. 뉴럴 네트워크(200)는, 많은 수의 인공 뉴런(또는, 노드)들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 인식 모델이다. 뉴럴 네트워크(200)는 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정을 수행할 수 있다. 뉴럴 네트워크(200)와 관련된 파라미터들은, 예를 들어, 뉴럴 네트워크(200)에 포함된 복수의 노드들 및/또는 상기 복수의 노드들 사이의 연결에 할당되는(assigned) 가중치를 나타낼 수 있다. 메모리(104) 내에 저장된 뉴럴 네트워크(200)의 개수는, 도 2에 도시된 바에 제한되지 않으며, 복수의 뉴럴 네트워크들 각각에 대응하는 파라미터들의 집합들이 메모리(104) 내에 저장될 수 있다.
일 실시예에 따른 전자 장치(100)가 트레이닝하는 모델은, 메모리(104) 내에 저장된 복수의 파라미터들의 집합에 기반하여 나타내어지는 뉴럴 네트워크(200)에 기반하여 구현될 수 있다. 모델에 대응하는 뉴럴 네트워크(200)의 뉴런들이, 복수의 레이어들을 따라 구분될 수 있다. 상기 뉴런들은, 특정 레이어에 포함된 특정 노드 및 상기 특정 레이어와 상이한 다른 레이어에 포함된 다른 노드 사이를 연결하는 연결선, 및/또는 상기 연결선에 할당된 가중치로 나타내어질 수 있다. 예를 들어, 뉴럴 네트워크(200)는, 입력 레이어(210), 히든 레이어들(220) 및 출력 레이어(230)를 포함할 수 있다. 히든 레이어들(220)의 개수는 실시예에 따라 다를 수 있다.
입력 레이어(210)는 입력 데이터를 나타내는 벡터(예, 입력 레이어(210)에 포함된 노드들의 개수에 대응하는 원소들(elements)을 가지는 벡터)를 수신할 수 있다. 입력 데이터에 기반하여, 입력 레이어(210) 내 노드들 각각에서 발생된 신호들은, 입력 레이어(210)에서 히든 레이어들(220)로 송신될 수 있다. 출력 레이어(230)는, 히든 레이어들(220)로부터 수신된 하나 이상의 신호들에 기반하여, 뉴럴 네트워크(200)의 출력 데이터를 생성할 수 있다. 상기 출력 데이터는, 예를 들어, 출력 레이어(230)에 포함된 노드들 각각에 매핑된 원소들을 가지는 벡터를 포함할 수 있다.
히든 레이어들(220)은, 입력 레이어(210) 및 출력 레이어(230) 사이에 위치할 수 있고, 입력 레이어(210)를 통해 전달된 입력 데이터를 변경할 수 있다. 예를 들어, 입력 레이어(210)를 통해 수신된 입력 데이터가, 입력 레이어(210)로부터 히든 레이어들(220)을 따라 순차적으로 전파됨에 따라(propagating), 상기 입력 데이터가 서로 다른 레이어들의 노드들을 연결하는 가중치에 기반하여 점진적으로 변경될 수 있다.
상술한 바와 같이, 뉴럴 네트워크(200)에 포함된 레이어들(예, 입력 레이어(210), 히든 레이어들(220) 및 출력 레이어(230)) 각각은 복수의 노드들을 포함할 수 있다. 히든 레이어들(220)은 CNN(convolutional neural network)에서의 콘볼루션 필터(convolution filter) 또는 완전 연결 레이어(fully connected layer)이거나, 특별한 기능이나 특징을 기준으로 묶인 다양한 종류의 필터 또는 레이어일 수 있다.
상이한 레이어들 사이에서 노드들이 연결되는 구조는, 도 2의 일 예에 제한되지 않는다. 일 실시예에서, 하나 이상의 히든 레이어들(220)은 출력 값이 현재 시간의 히든 레이어에 다시 입력되는 리커런트 뉴럴 네트워크(recurrent neural network; RNN)에 기반하는 레이어일 수 있다. 일 실시예에서, LSTM(Long Short-Term Memory)에 기반하여, 뉴럴 네트워크(200)는, 노드들의 값들 중 적어도 하나를 버리거나, 상대적으로 긴 기간 동안 유지하거나, 또는 상대적으로 짧은 시간 동안 유지하기 위한 하나 이상의 게이트들(및/또는 필터들)을 더 포함할 수 있다. 일 실시예에 따른 뉴럴 네트워크(200)는, 다수의(numerous) 히든 레이어들(220)을 포함하여, 딥 뉴럴 네트워크(deep neural network)를 형성할 수 있다. 딥 뉴럴 네트워크를 트레이닝하는 것을 딥 러닝(deep learning)이라 한다. 히든 레이어들(220)에 포함된 노드는 히든 노드로 참조될 수 있다.
입력 레이어(210) 및 히든 레이어들(220)에 포함된 노드들은 가중치를 가지는 연결선을 통해 서로 연결될 수 있고, 히든 레이어들(220) 및 출력 레이어(230)에 포함된 노드들도 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 뉴럴 네트워크(200)를 튜닝 및/또는 트레이닝하는 것은, 뉴럴 네트워크(200)에 포함된 레이어들(예, 입력 레이어(210), 히든 레이어들(220) 및/또는 출력 레이어(230)) 각각에 포함된 노드들 사이의 가중치들을 변경하는 것을 의미할 수 있다. 뉴럴 네트워크(200)의 튜닝은, 예를 들어, 지도 학습(supervised learning) 및/또는 비지도 학습(unsupervised learning)에 기반하여 수행될 수 있다.
일 실시예에 따른 전자 장치(100)는 지도 학습에 기반하여 모델(240)을 트레이닝할 수 있다. 지도 학습은, 짝을 이루는 입력 데이터 및 출력 데이터의 세트를 이용하여 뉴럴 네트워크(200)를 트레이닝하는 것을 의미할 수 있다. 예를 들어, 뉴럴 네트워크(200)는, 상기 세트에 포함된 입력 데이터를 수신한 상태에서, 출력 레이어(230)로부터 출력되는 출력 데이터 및 상기 세트에 포함된 출력 데이터 사이의 차이가 감소되도록, 튜닝될 수 있다. 상기 세트의 수가 증가됨에 따라, 뉴럴 네트워크(200)는 상기 세트와 구별되는 다른 입력 데이터에 대하여, 상기 하나 이상의 세트들에 의해 일반화된 출력 데이터를 생성할 수 있다.
일 실시예에 따른 전자 장치(100)는, 비지도 학습에서 강화 학습(reinforcement learning)에 기반하여 뉴럴 네트워크(200)를 튜닝할 수 있다. 예를 들어, 전자 장치(100)는, 뉴럴 네트워크(200)가 에이전트를 제어하기 위해 이용하는 정책 정보를, 에이전트 및 환경 사이의 상호 작용(interaction)에 기반하여 변경할 수 있다. 일 실시예에 따른 전자 장치(100)는, 상기 상호 작용에 의한 상기 에이전트의 목표 및/또는 보상을 극대화하기 위하여, 상기 뉴럴 네트워크(200)에 의한 상기 정책 정보의 변경을 야기할 수 있다. 뉴럴 네트워크(200)는, 입력 값을 식별하는 것에 기반하여, 출력 값을 획득하도록 트레이닝될 수 있다. 이하에서는, 전자 장치(100)가 뉴럴 네트워크(200)를 통해, 복수의 이미지들로부터 신체의 형상을 가상의 3차원 공간 내에서 복원하기 위한 방법에 대하여 설명하도록 한다.
도 3은, 일 실시예에 따른 전자 장치를 포함하는 환경의 일 예를 도시한다.
도 3을 참조하면, 일 실시예에 따른 환경(300)은, 전자 장치(310), 및/또는 하나 이상의 제2 카메라들(320)를 포함할 수 있다. 도 3의 전자 장치(310)는, 도 1의 전자 장치(100) 및 전자 장치(150) 중 적어도 하나와 실질적으로 동일할 수 있으므로, 중복되는 설명은 생략하도록 한다. 예를 들어, 도 3의 전자 장치(310)는, 도 1의 전자 장치(100)와 실질적으로 동일할 수 있다. 예를 들어, 도 3의 전자 장치(310)는, 도 1의 전자 장치(150)와 실질적으로 동일할 수 있다.
전자 장치(310)는, 프로세서(311), 메모리(312), 통신 회로(313), 및/또는 제1 카메라(314)를 포함할 수 있다. 도 3의 프로세서(311)는, 도 1의 프로세서(102) 및/또는 프로세서(152)와, 도 3의 메모리(312)는, 도 1의 메모리(104) 및/또는 메모리(154)와, 도 3의 통신 회로(313)는, 도 1의 통신 인터페이스(158)와 실질적으로 동일할 수 있으므로, 중복되는 설명은 생략하도록 한다.
제1 카메라(314)는, 신체(330)의 적어도 일부를 캡쳐하기 위해 활용될 수 있다. 제1 카메라(314)는, 전자 장치(310)의 외부로부터 빛을 수신하는 것에 기반하여 이미지를 획득할 수 있다. 제1 카메라(314)는, 신체(330)로부터 빛을 수신하는 것에 기반하여, 신체(330)의 적어도 일부를 캡쳐할 수 있다. 예를 들어, 제1 카메라(314)는, 신체(330)의 전면을 지향할 수 있다. 제1 카메라(314)는, 신체(330)의 전면을 지향함으로써, 신체(330)의 전면을 포함하는 제1 이미지(341)를 획득할 수 있다. 예를 들어, 제1 카메라(314)는, 전자 장치(310)의 외부로부터 빛을 수신하는 것에 기반하여 이미지를 획득하도록 구성되는 이미지 센서를 포함할 수 있다. 일 실시예에 따르면, 제1 카메라(314)는, 프로세서(311)와 작동적으로 결합될 수 있다. 예를 들어, 제1 카메라(314)는, 전자 장치(310) 내에 배치되고, 프로세서(311)와 작동적으로 결합될 수 있다. 다만, 이에 제한되지 않는다. 예를 들어, 제1 카메라(314)는, 전자 장치(310)의 외부에 배치되고, 통신 회로(313)를 통해 프로세서(311)와 작동적으로 결합될 수 있다.
일 실시예에 따르면, 전자 장치(310)의 프로세서(311)는, 통신 회로(313)를 통해, 하나 이상의 제2 카메라들(320)로부터 복수의 이미지들(342, 343, 344)을 획득할 수 있다. 하나 이상의 제2 카메라들(320)은, 신체(330)의 적어도 일부를 캡쳐하기 위해 활용될 수 있다. 하나 이상의 제2 카메라들(320)은, 하나 이상의 제2 카메라들(320)의 외부로부터 빛을 수신하는 것에 기반하여 이미지를 획득하도록 구성될 수 있다. 일 실시예에 따르면, 하나 이상의 제2 카메라들(320)은, 신체(330)를 서로 다른 각도에서 지향할 수 있다. 하나 이상의 제2 카메라들(320)은, 신체(330)를 서로 다른 각도에서 지향함으로써, 상이한 시점에 기반하여, 신체(330)의 서로 다른 신체 부위를 캡쳐할 수 있다. 시점(viewpoint) 특정한 타이밍(timing)에서, 카메라가 캡쳐할 수 있는 범위를 의미할 수 있으며, 해당 표현은 별도의 언급이 없는 한 이하에서도 동일하게 사용될 수 있다. 예를 들어, 하나 이상의 제2 카메라들(320) 중 일부(321)는, 신체(330)의 좌측면을 지향함으로써, 신체(330)의 좌측면을 캡쳐할 수 있다. 예를 들어, 하나 이상의 제2 카메라들(320) 중 다른 일부(322)는, 신체(330)의 우측면을 지향함으로써, 신체(330)의 우측면을 캡쳐할 수 있다. 예를 들어, 하나 이상의 제2 카메라들(320) 중 또 다른 일부(323)는, 신체(330)의 후면을 지향함으로써, 신체(330)의 후면을 캡쳐할 수 있다. 하지만, 이에 제한되지 않고, 하나 이상의 제2 카메라들(320)들의 배치 관계는, 다양하게 변경될 수 있다. 또한, 도 1에는 하나 이상의 제2 카메라들(320)의 개수가 3개인 것으로 도시되었으나, 이는 설명의 편의를 위한 것이다. 신체(330)를 캡쳐하기 위한 하나 이상의 제2 카메라들(320)의 개수는 도 1에 도시된 바에 의해 제한되지 않는다.
일 실시예에 따르면, 복수의 이미지들(341, 342, 343, 344)은, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320) 들에 의해 획득될 수 있다. 예를 들어, 제1 이미지(341)는, 제1 카메라(314)에 의해 획득되고, 제2 이미지(342), 제3 이미지(343), 및/또는 제4 이미지(344)는, 하나 이상의 제2 카메라들(320)에 의해 획득될 수 있다. 일 실시예에 따르면, 복수의 이미지들(341, 342, 343, 344)은, 서로 다른 시점에서 신체(330)가 캡쳐됨에 따라, 획득될 수 있다. 예를 들어, 제1 이미지(341)는, 신체(330)의 전면을 지향하는 제1 카메라(314)에 의해 획득됨으로써, 신체(330)의 전면에 대한 이미지를 포함할 수 있다. 예를 들어, 제2 이미지(342)는, 신체(330)의 좌측면을 지향하는 하나 이상의 제2 카메라들(320) 중 일부(321)에 의해 획득됨으로써, 신체(330)의 좌측면에 대한 이미지를 포함할 수 있다. 예를 들어, 제3 이미지(343)는, 신체(330)의 우측면을 지향하는 하나 이상의 제2 카메라들(320) 중 다른 일부(322)에 의해 획득됨으로써, 신체(330)의 우측면에 대한 이미지를 포함할 수 있다. 예를 들어, 제4 이미지(344)는, 신체(330)의 후면을 지향하는 하나 이상의 제2 카메라들(320) 중 또 다른 일부(323)에 의해 획득됨으로써, 신체(330)의 후면에 대한 이미지를 포함할 수 있다.
일 실시예에 따르면, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320)에 의해 획득된 복수의 이미지들(341, 342, 343, 344)은, 서로 동일한 타이밍(timing)에서 신체(330)의 형상을 서로 다른 각도에서 캡쳐한 것일 수 있다. 예를 들어, 복수의 이미지들(341, 342, 343, 344)은, 서로 동일한 타이밍에서, 신체(300)의 자세(posture)를 서로 다른 각도에서 캡쳐한 것일 수 있다. 예를 들어, 신체(330)는, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320)에 의해 촬영되는 동안 특정 형상을 유지할 수 있다. 예를 들어, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320) 각각은, 신체(330)의 특정 형상이 유지되는 동안 신체(330)로부터 빛을 수신하는 것에 기반하여, 신체(330)를 포함하는 복수의 이미지들(341, 342, 343, 344)을 획득할 수 있다. 일 실시예에 따르면, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320) 각각은, 신체(330)의 형상이 유지되는 동안 이동할 수 있다. 예를 들어, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320)의 이동은, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320) 각각이 신체(330)를 지향하는 상태를 유지하면서, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320) 각각이 신체(330)를 지향하는 각도가 변경되는 것을 포함할 수 있다. 예를 들어, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320)의 이동은, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320) 각각이 신체(330)를 지향하는 상태를 유지하면서, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320)과 신체(330) 사이의 거리가 변경되는 것을 포함할 수 있다. 다만, 이에 제한되지 않는다. 예를 들어, 제1 카메라(314), 및 하나 이상의 제2 카메라들(320)에 의해 획득된 복수의 이미지들(341, 342, 343, 344)은, 서로 다른 타이밍에서 신체(330)의 형상을 캡쳐한 것일 수 있다. 예를 들어, 복수의 이미지들(341, 342, 343, 344)은, 서로 다른 타이밍에서, 지정된 시간 동안 유지되는 신체의 형상을 서로 다른 각도에서 캡쳐한 것일 수 있다. 예를 들어, 복수의 이미지들(341, 342, 343, 344)은, 서로 다른 타이밍에서, 변화되는 신체의 형상을 서로 다른 각도에서 캡쳐한 것일 수 있다.
일 실시예에 따르면, 전자 장치(310)의 프로세서(311)는, 제1 카메라(314), 및 통신 회로(313)를 통해 연결된 하나 이상의 제2 카메라들(320)로부터 신체(330)에 포함된 신체 부위가 캡쳐된 복수의 이미지들(341, 342, 343, 344)을 획득할 수 있다. 예를 들어, 신체(330)의 신체 부위는, 신체(330) 내에 포함된 관절들(joints)을 의미할 수 있으나, 이에 제한되지 않다.
일 실시예에 따르면, 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344)로부터, 특징 정보를 획득할 수 있다. 예를 들어, 프로세서(311)가 복수의 이미지들(341, 342, 343, 344)로부터 특징 정보를 획득하는 동작은, 도 4를 참조하여 설명될 수 있다. 이하에서는, 프로세서(311)가 4 개의 이미지를 수신하는 것에 기반하여 동작하는 것을 설명하나, 실시예에 따른 프로세서(311)의 동작은, 이에 제한되지 않는다.
도 4는, 일 실시예에 따른 전자 장치가 복수의 이미지들로부터 특징 정보를 획득하는 방법의 일 예를 도시한다.
도 4를 참조하면, 일 실시예에 따르면, 프로세서(예: 도 3의 프로세서(311))는, 복수의 이미지들(341, 342, 343, 344)을 획득하는 것에 기반하여, 3D 특징 정보(410)를 획득할 수 있다. 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344)로부터, 신체(예: 도 3의 신체(330)) 내의 신체 부위가 존재하는 확률을 나타내는 3D 특징 정보(410)를 획득할 수 있다. 예를 들어, 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344) 각각의 특징 점들(feature points)을 식별하는 것에 기반하여, 신체(330)의 신체 부위가 존재하는 확률을 나타내는 3D 특징 정보(410)를 획득할 수 있다. 3D 특징 정보(410)는, 가상의 3차원 공간 내에 신체 부위가 존재하는 확률을 나타낼 수 있다. 3D 특징 정보(410)는, 가상의 3차원 공간 내에서 신체 부위(예, 관절)가 존재하는 확률을 히트맵(heat map)의 형태로 나타낼 수 있다. 예를 들어, 신체 부위가 존재하는 확률이 상대적으로 높은 영역(410a)은, 상대적으로 높은 밀도의 도트들을 포함하고, 신체 부위가 존재하는 확률이 상대적으로 낮은 영역(410b)은, 상대적으로 낮은 밀도의 도트들을 포함할 수 있다. 예를 들어, 신체 부위가 존재하는 확률이 상대적으로 높은 영역(410a)의 색상은, 신체 부위가 존재하는 확률이 상대적으로 낮은 영역(410b)의 색상은 서로 다를 수 있다.
일 실시예에 따르면, 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344)로부터, 신체 부위가 존재하는 확률을 나타내는 2D 특징 정보(420)를 획득할 수 있다. 2D 특징 정보(420)는, 가상의 2차원 공간 내에서 신체 부위가 존재하는 확률을 나타낼 수 있다. 2D 특징 정보(420)는, 사용자의 관절들 각각이 가상의 2차원 공간 내에서 존재하는 확률을 나타내는 확률 분포들을 포함할 수 있다. 예를 들어, 2D 특징 정보(420)는, 사용자의 우측 어깨 관절이 존재하는 확률을 나타내는 확률 분포에 대한 정보, 사용자의 좌측 어깨 관절이 존재하는 확률을 나타내는 확률 분포에 대한 정보, 및 사용자의 고관절이 존재하는 확률을 나타내는 확률 분포에 대한 정보 등을 포함할 수 있다. 2D 특징 정보(420)는, 가상의 2차원 공간 내에서 신체 부위가 존재하는 확률을 히트맵의 형태로 나타낼 수 있다. 예를 들어, 신체 부위가 존재하는 확률이 상대적으로 높은 영역(420a)은, 상대적으로 높은 밀도의 도트들을 포함하고, 신체 부위가 존재하는 확률이 상대적으로 낮은 영역(420b)은, 상대적으로 낮은 밀도의 도트들을 포함할 수 있다. 예를 들어, 신체 부위가 존재하는 확률이 상대적으로 높은 영역(420a)의 색상은, 신체 부위가 존재하는 확률이 상대적으로 낮은 영역(420b)의 색상은 서로 다를 수 있다. 예를 들어, 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344)을 백본 네트워크(backbone network)에 입력하는 것에 기반하여, 2D 특징 정보(420)를 획득할 수 있다. 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344)을 획득하는 것에 기반하여, 복수의 이미지들(341, 342, 343, 344) 각각에 대응하는 2D 특징 정보(420)를 획득할 수 있다. 예를 들어, 프로세서(311)는, 제1 이미지(341)를 획득하는 것에 기반하여, 제1 이미지(341)에 대응하는 제1 2D 특징 정보(421)를 획득할 수 있다. 예를 들어, 프로세서(311)는, 제2 이미지(342)를 획득하는 것에 기반하여, 제2 이미지(342)에 대응하는 제2 2D 특징 정보(422)를 획득할 수 있다. 예를 들어, 프로세서(311)는, 제3 이미지(343)를 획득하는 것에 기반하여, 제3 이미지(343)에 대응하는 제3 2D 특징 정보(423)를 획득할 수 있다. 예를 들어, 프로세서(311)는, 제4 이미지(344)를 획득하는 것에 기반하여, 제4 이미지(344)에 대응하는 제4 2D 특징 정보(424)를 획득할 수 있다.
일 실시예에 따르면, 프로세서(311)는, 2D 특징 정보(420)를 획득하는 것에 기반하여, 3D 특징 정보(410)를 획득할 수 있다. 프로세서(311)는, 2D 특징 정보(420)를, 가상의 3차원 공간 내에 역투영함으로써, 3D 특징 정보(410)를 획득하도록 구성될 수 있다. 예를 들어, 프로세서(311)는, 2D 특징 정보(420)를 가상의 3차원 공간 내에 역투영하기 위한 알고리즘에 입력하는 것에 기반하여, 2D 특징 정보(420)로부터 3D 특징 정보(410)를 획득할 수 있다. 다만, 이에 제한되지 않고, 프로세서(311)는, 기 학습된 뉴럴 네트워크에 2D 특징 정보(420)를 입력하는 것에 기반하여, 2D 특징 정보(420)로부터 3D 특징 정보(410)를 획득할 수 있다. 일 실시예에 따르면, 3D 특징 정보(410)는, 복수의 이미지들(341, 342, 343, 344) 내에 캡쳐된 신체 부위가 가상의 3차원 공간 내에서 존재하는 확률을 나타낼 수 있다. 예를 들어, 프로세서(311)는, 제1 이미지(341), 제2 이미지(342), 제3 이미지(343), 및 제4 이미지(344)를 가상의 3차원 공간 내에서 역투영함으로써, 3D 특징 정보(410)를 획득할 수 있다.
일 실시예에 따르면, 프로세서(311)는, 3D 특징 정보(410)를 획득하는 것에 기반하여, 3D 특징 정보(410)보다 낮은 차원을 가지는 신체 부위에 대한 코드 정보를 획득할 수 있다. 프로세서(311)가 코드 정보를 획득하는 동작은, 예를 들어, 도 5를 참조하여 설명될 수 있다.
도 5는, 일 실시예에 따른 전자 장치가 특징 정보로부터 메쉬 정보를 획득하는 방법의 일 예를 도시한다.
도 5를 참조하면, 일 실시예에 따르면, 프로세서(예: 도 3의 프로세서(311))는, 3D 특징 정보(410)를 복수의 인코딩 레이어들(510)에 입력하는 것에 기반하여, 코드 정보(520)를 획득할 수 있다. 복수의 인코딩 레이어들(510)은, 3D 특징 정보(410)가 입력되는 입력 레이어로부터 순차적으로 연결되는 복수의 레이어들을 포함할 수 있다. 복수의 인코딩 레이어들(510)에 포함된 레이어들은, 컨벌루션 연산을 위해 이용되는 커널들(또는 필터들)에 의해 연결될 수 있다. 복수의 인코딩 레이어들(510)을 포함하는 뉴럴 네트워크(또는 모델)가 트레이닝(또는 학습)되는 것은, 상기 커널들(또는 필터들)에 포함된 파라미터들(또는 가중치들)이 튜닝되는 동작을 포함할 수 있다. 3D 특징 정보(410)가 입력되는 복수의 인코딩 레이어들(510)의 입력 레이어의 차원은, 코드 정보(520)가 출력되는 복수의 인코딩 레이어들(510)의 출력 레이어의 차원보다 클 수 있다. 복수의 인코딩 레이어들(510)의 차원은, 점진적으로 감소될 수 있다. 복수의 인코딩 레이어들(510) 내에서 레이어들을 연결하는 커널의 차원은, 상기 레이어들의 차원을 점진적으로 축소하도록 설정될 수 있다.
예를 들어, 3D 특징 정보(410)가 입력되는 입력 레이어로부터 순차적으로 연결된 복수의 인코딩 레이어들(510) 각각은, 점진적으로 감소되는 차원을 가질 수 있다. 일 실시예에 따르면, 코드 정보(520)는, 3D 특징 정보(410)보다 낮은 차원을 가질 수 있다. 예를 들어, 3D 특징 정보(410)가 제1 차원(예: 108*64*64*64)을 가질 경우, 코드 정보(520)는, 제1 차원보다 낮은 제2 차원(예: 256*4*4*4)을 가질 수 있다. 예를 들어, 코드 정보(520)는, 은닉 코드(latent code)로 참조될 수 있다. 일 실시예에 따르면, 복수의 인코딩 레이어들(510)은, 컨볼루션 뉴럴 네트워크(convolution neural network)에 기반하여 형성될 수 있다.
일 실시예에 따르면, 프로세서(311)는, 복수의 디코딩 레이어들(530)에 코드 정보(520)를 입력하는 것에 기반하여, 히트맵 정보(540)를 획득할 수 있다. 복수의 디코딩 레이어들(530)은, 코드 정보(520)가 입력되는 입력 레이어로부터 순차적으로 연결된 복수의 레이어들을 포함할 수 있다. 복수의 디코딩 레이어들(530)에 포함된 레이어들은, 컨벌루션 연산을 위해 이용되는 커널들(또는 필터들)에 의해 연결될 수 있다. 복수의 디코딩 레이어들(530)을 포함하는 뉴럴 네트워크(또는 모델)가 트레이닝(또는 학습)되는 것은, 상기 커널들(또는 필터들)에 포함된 파라미터들(또는 가중치들)이 튜닝되는 동작을 포함할 수 있다. 코드 정보(520)가 입력되는 복수의 디코딩 레이어들(530)의 입력 레이어의 차원은, 히트맵 정보(540)가 출력되는 복수의 디코딩 레이어들(530)의 출력 레이어의 차원보다 작을 수 있다. 복수의 디코딩 레이어들(530)의 차원은, 점진적으로 증가될 수 있다. 복수의 디코딩 레이어들(530) 내에서 레이어들을 연결하는 커널의 차원은, 상기 레이어들의 차원을 점진적으로 증가시키도록 설정될 수 있다. 예를 들어, 코드 정보(520)가 입력되는 입력 레이어로부터 순차적으로 연결된 복수의 디코딩 레이어들(530) 각각은, 점진적으로 증가되는 차원을 가질 수 있다. 일 실시예에 따르면, 복수의 디코딩 레이어들(530)은, 컨볼루션 뉴럴 네트워크(convolution neural network)에 기반하여 형성될 수 있다. 예를 들어, 복수의 인코딩 레이어들(510), 및 복수의 디코딩 레이어들(530)은, 함께 인코더-디코더 구조를 형성할 수 있다.
일 실시예에 따르면, 히트맵 정보(540)는, 코드 정보(520)보다 높은 차원을 가질 수 있다. 예를 들어, 코드 정보(520)가 제2 차원(예: 256*4*4*4)을 가질 경우, 히트맵 정보(540)는, 제2 차원보다 높은 제3 차원(예: 108*64*64*64)을 가질 수 있다. 예를 들어, 제3 차원은 제1 차원과 실질적으로 동일할 수 있으나, 이에 제한되지 않는다. 히트맵 정보(540)는, 신체(예: 도 3의 신체(330)) 내의 신체 부위에 대응하는 버텍스들(550)(vertices)이 존재하는 확률을 나타낼 수 있다. 버텍스들(550)은, 신체(330) 내의 신체 부위의 위치를 가상의 3차원 공간 내에서 나타내기 위한 3차원 좌표를 포함할 수 있다. 예를 들어, 히트맵 정보(540)는, 가상의 3차원 공간 내에서 신체 부위에 대응하는 버텍스들(550)이 존재하는 확률을 히트맵의 형태로 나타낼 수 있다.
일 실시예에 따르면, 프로세서(311)는, 히트맵 정보(540)에 기반하여, 메쉬 정보(560)를 획득할 수 있다. 메쉬 정보(560)는, 가상의 3차원 공간 내에서 신체의 형상을 나타낼 수 있다. 메쉬 정보(560)는, 신체의 형상을 나타내기 위한 버텍스들(550)을 포함할 수 있다. 예를 들어, 메쉬 정보(560)는, 버텍스들(550)이 상호 연결됨으로써 형성된 복수의 평면들이 연결된 메쉬에 기반하여, 신체 부위를 포함하는 신체(330)의 형상을 표현할 수 있다. 예를 들어, 메쉬 정보(560)는, 신체(330)의 형상을 표현하기 위한 108개의 버텍스들(550)을 포함할 수 있으나, 이에 제한되지 않는다.
일 실시예에 따르면, 3D 특징 정보(410)가 입력되기 전, 복수의 인코딩 레이어들(510), 및 복수의 디코딩 레이어들(530)은, 미리 학습될 수 있다. 복수의 인코딩 레이어들(510), 및 복수의 디코딩 레이어들(530)을 학습시키는 방법은, 예를 들어, 도 6을 통해 설명될 수 있다.
도 6은, 일 실시예에 따른 복수의 인코딩 레이어들, 및 복수의 디코딩 레이어들을 학습시키는 방법의 일 예를 도시한다.
도 6을 참조하면, 일 실시예에 따르면, 복수의 디코딩 레이어들(530)은, 신체 부위에 대응하는 복수의 버텍스들이 존재하는 확률을 나타내는 진리 히트맵 정보(610)(truth heatmap information)에 기반하여 트레이닝될 수 있다. 복수의 디코딩 레이어들(530)은, 신체 부위에 대응하는 복수의 버텍스들이 존재하는 확률을 나타내는 진리 히트맵 정보(610)에 기반하여 학습될 수 있다. 진리 히트맵 정보(610)는, 가상의 3차원 공간 내에서 신체의 형상을 정확하게 표현하는 복수의 버텍스들을 포함하는 제1 진리 메쉬 정보(620)로부터 획득될 수 있다. 신체의 형상을 정확하게 표현한다는 것은, 복수의 버텍스들을 통해 표현되는 신체의 형태가, 현실의 신체의 형태와 실질적으로 동일한 것을 의미할 수 있으며, 해당 표현은 별도의 언급이 없는 한 이하에서도 동일하게 사용될 수 있다. 진리 히트맵 정보(610)는, 제1 진리 메쉬 정보(620)에 포함된 복수의 버텍스들이 존재하는 확률을 나타낼 수 있다.
일 실시예에 따르면, 복수의 프리 인코딩 레이어들(630)은, 진리 히트맵 정보(610)를 수신하는 것에 기반하여, 중간 코드 정보(640)를 출력할 수 있다. 복수의 프리 인코딩 레이어들(630)은, 컨볼루션 뉴럴 네트워크에 기반하여 형성될 수 있다. 복수의 프리 인코딩 레이어들(630)은, 점진적으로 감소되는 차원을 가질 수 있다. 예를 들어, 복수의 프리 인코딩 레이어들(630)은, 진리 히트맵 정보(610)를 수신하는 입력 레이어와, 중간 코드 정보(640)를 출력하는 출력 레이어의 사이에서, 점진적으로 감소되는 차원을 가질 수 있다. 일 실시예에 따르면, 중간 코드 정보(640)는, 진리 히트맵 정보(610)보다 낮은 차원을 가질 수 있다. 예를 들어, 진리 히트맵 정보(610)가 제1 차원(예: 108*64*64*64)을 가질 경우, 중간 코드 정보(640)는, 제1 차원보다 낮은 제2 차원(예: 256*4*4*4)을 가질 수 있다.
일 실시예에 따르면, 복수의 프리 디코딩 레이어들(650)은, 중간 코드 정보(640)를 수신하는 것에 기반하여, 출력 히트맵 정보(660)를 출력할 수 있다. 복수의 프리 디코딩 레이어들(650)은, 컨볼루션 뉴럴 네트워크에 기반하여 형성될 수 있다. 복수의 프리 디코딩 레이어들(650)은, 점진적으로 증가되는 차원을 가질 수 있다. 예를 들어, 복수의 프리 디코딩 레이어들(650)은, 중간 코드 정보(640)를 수신하는 입력 레이어와, 출력 히트맵 정보(660)를 출력하는 출력 레이어의 사이에서, 점진적으로 감소되는 차원을 가질 수 있다. 일 실시예에 따르면, 출력 히트맵 정보(660)는, 중간 코드 정보(640)보다 높은 차원을 가질 수 있다. 예를 들어, 중간 코드 정보(640)가 제2 차원(예: 256*4*4*4)을 가질 경우, 출력 히트맵 정보(660)는, 제2 차원보다 높은 제3 차원(예: 108*64*64*64)을 가질 수 있다.
일 실시예에 따르면, 제2 진리 메쉬 정보(670)는, 출력 히트맵 정보(660)로부터 획득될 수 있다. 제2 진리 메쉬 정보(670)는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 버텍스들을 포함할 수 있다.
일 실시예에 따르면, 복수의 프리 인코딩 레이어들(630), 및 복수의 프리 디코딩 레이어들(650)는, 진리 히트맵 정보(610)와 출력 히트맵 정보(660)의 오차가 감소되도록, 학습될 수 있다. 복수의 프리 인코딩 레이어들(630), 및 복수의 프리 디코딩 레이어들(650)는, 진리 히트맵 정보(610)와 출력 히트맵 정보(660)의 오차가 감소되도록, 트레이닝될 수 있다. 예를 들어, 진리 히트맵 정보(610)와 출력 히트맵 정보(660) 사이의 오차는, 아래의 수학식 1과 같이 표현될 수 있다.
Figure PCTKR2022021429-appb-img-000001
수학식 1에서,
Figure PCTKR2022021429-appb-img-000002
은 출력 히트맵 정보(660)를 의미할 수 있고,
Figure PCTKR2022021429-appb-img-000003
은, 진리 히트맵 정보(610)를 의미할 수 있다. 진리 히트맵 정보(610)와 출력 히트맵 정보(660) 사이의 오차가 최소화됨에 따라, 제1 진리 메쉬 정보(620)에 의해 표현되는 신체의 형상과, 출력 히트맵 정보(660)로부터 획득된 제2 진리 메쉬 정보(670)에 의해 표현되는 신체의 자세의 차이가 감소될 수 있다. 진리 히트맵 정보(610)와 출력 히트맵 정보(660) 사이의 오차가 최소화됨에 따라, 복수의 프리 디코딩 레이어들(650)의 학습이 완료될 수 있다. 복수의 프리 디코딩 레이어들(650)의 학습이 완료됨에 따라, 복수의 디코딩 레이어들(530)이 형성될 수 있다.
일 실시예에 따르면, 복수의 인코딩 레이어들(예: 도 5의 복수의 인코딩 레이어들(510))이 신체 부위가 존재하는 확률을 나타내는 특징 정보(예: 도 4, 및 도 5의 3D 특징 정보(410))를 수신해야 하기 때문에, 복수의 프리 인코딩 레이어들(630)의 학습은, 버텍스들이 존재하는 확률을 나타내는 진리 히트맵 정보(610)에 기반하여 완료되지 못할 수 있다. 복수의 프리 인코딩 레이어들(630)을 트레이닝시킴으로써, 복수의 인코딩 레이어들(510)을 형성하는 방법은, 도 7을 참조하여 설명될 수 있다.
도 7은, 일 실시예에 따른 복수의 인코딩 레이어들을 학습시키는 방법의 일 예를 도시한다.
도 7을 참조하면, 일 실시예에 따르면, 복수의 프리 인코딩 레이어들(630)은, 샘플 특징 정보(710)를 수신할 수 있다. 샘플 특징 정보(710)는, 복수의 샘플 이미지들(720)로부터 획득될 수 있다. 예를 들어, 샘플 특징 정보(710)는, 복수의 샘플 이미지들(720) 내에 캡쳐된 신체 부위가 존재하는 확률을 나타낼 수 있다. 샘플 특징 정보(710)는, 복수의 샘플 이미지들(720) 내에 캡쳐된 신체 부위가 존재하는 확률을, 히트 맵의 형태로 나타낼 수 있다. 예를 들어, 샘플 특징 정보(710)는, 복수의 샘플 이미지들(720)을 수신한 백 본 네트워크로부터 획득될 수 있으나, 이에 제한되지 않는다. 일 실시예에 따르면, 복수의 프리 인코딩 레이어들(630)은, 샘플 특징 정보(710)를 수신하는 것에 기반하여, 제1 샘플 코드 정보(730)를 출력할 수 있다. 제1 샘플 코드 정보(730)는, 샘플 특징 정보(710)보다 낮은 차원을 가질 수 있다.
일 실시예에 따르면, 샘플 메쉬 정보(740)는, 복수의 샘플 이미지들(720)에 대응할 수 있다. 예를 들어, 샘플 메쉬 정보(740)는, 복수의 샘플 이미지들(720) 내에 캡쳐된 신체의 형상을 신체학적으로 정확하게 가상의 3차원 공간 내에서 표현하는 복수의 버텍스들을 포함할 수 있다. 예를 들어, 샘플 메쉬 정보(740)는, 복수의 프리 인코딩 레이어들(630)을 학습시키 전, 복수의 샘플 이미지들(720)로부터 획득될 수 있다.
일 실시예에 따르면, 샘플 히트 맵 정보(750)는, 샘플 메쉬 정보(740)에 대응할 수 있다. 예를 들어, 샘플 히트 맵 정보(750)는, 샘플 메쉬 정보(740) 내에 포함된 복수의 버택스들이 가상의 3차원 공간 내에 존재하는 확률을 나타낼 수 있다. 예를 들어, 샘플 히트 맵 정보(750)는, 복수의 프리 인코딩 레이어들(630)을 학습시키 전, 복수의 샘플 이미지들(720)로부터 획득될 수 있다.
일 실시예에 따르면, 제2 샘플 코드 정보(760)는, 샘플 히트 맵 정보(750)에 대응할 수 있다. 예를 들어, 복수의 디코딩 레이어들(530)은, 제2 샘플 코드 정보(760)를 수신하는 것에 기반하여, 샘플 히트 맵 정보(750)를 출력할 수 있다. 예를 들어, 샘플 히트 맵 정보(750)는, 제2 샘플 코드 정보(760)를 수신한 복수의 디코딩 레이어들(530)로부터 획득될 수 있다. 예를 들어, 제2 샘플 코드 정보(760)는, 복수의 프리 인코딩 레이어들(630)을 학습시키 전, 복수의 샘플 이미지들(720)로부터 획득될 수 있다. 예를 들어, 제2 샘플 코드 정보(760)는, 복수의 프리 인코딩 레이어들(630)을 학습시키기 전, 샘플 히트 맵 정보(750)로부터 획득될 수 있다.
일 실시예에 따르면, 복수의 인코딩 레이어들(510)은, 진리 히트맵 정보(예: 도 6의 진리 히트맵 정보(610))에 기반하여 트레이닝된 복수의 프리 인코딩 레이어들(630)이, 샘플 특징 정보(710)를 통해 튜닝됨으로써 획득될 수 있다. 예를 들어, 복수의 프리 인코딩 레이어들(630)은, 제1 샘플 코드 정보(730)와 제2 샘플 코드 정보(760) 사이의 오차가 감소되도록, 학습될 수 있다. 복수의 프리 인코딩 레이어들(630)은, 제1 샘플 코드 정보(730)와 제2 샘플 코드 정보(760) 사이의 오차가 감소되도록, 트레이닝될 수 있다. 예를 들어, 제1 샘플 코드 정보(730)와 제2 샘플 코드 정보(760) 사이의 오차는, 수학식 2와 같이 표현될 수 있다.
Figure PCTKR2022021429-appb-img-000004
수학식 2에서,
Figure PCTKR2022021429-appb-img-000005
는, 제2 샘플 코드 정보(760)를 나타내고,
Figure PCTKR2022021429-appb-img-000006
는, 제1 샘플 코드 정보(730)를 나타낼 수 있다. 제1 샘플 코드 정보(730)와 제2 샘플 코드 정보(760) 사이의 오차가 최소화됨에 따라, 복수의 프리 인코딩 레이어들(630)의 학습이 완료될 수 있다. 복수의 프리 인코딩 레이어들(630)의 학습이 완료됨에 따라, 복수의 인코딩 레이어들(510)이 형성될 수 있다.
상술한 바와 같이, 일 실시예에 따른 전자 장치(예: 도 3의 전자 장치(310))는, 정확하게 신체의 형상을 3차원 공간 내에서 표현하는 복수의 버텍스들을 통해 학습된 복수의 인코딩 레이어들(510)에 의해, 복수의 이미지들 내에 캡쳐된 신체의 형상을 가상의 3차원 공간 내에서 정확하게 복원할 수 있는 방법을 제공할 수 있다. 일 실시예에 따른 전자 장치(예: 도 3의 전자 장치(310))는, 정확하게 신체의 형상을 3차원 공간 내에서 표현하는 복수의 버텍스들을 통해 학습된 복수의 디코딩 레이어들(예: 도 5의 복수의 디코딩 레이어들(530))에 의해, 복수의 이미지들 내에 캡쳐된 신체의 형상을 가상의 3차원 공간 내에서 정확하게 복원할 수 있는 방법을 제공할 수 있다.
도 8은, 일 실시예에 따른 전자 장치가 서로 다른 타이밍에서 획득된 복수의 이미지들로부터 메쉬 정보를 획득하는 방법의 일 예를 도시한다.
도 8을 참조하면, 일 실시예에 따르면, 프로세서(예: 도 3의 프로세서(311)는, 서로 다른 타이밍에 캡쳐된 복수의 제1 이미지들(810), 복수의 제2 이미지들(820) 및/또는 복수의 제3 이미지들(830)을 획득할 수 있다. 예를 들어, 프로세서(311)는, 복수의 카메라들(예: 도 3의 제1 카메라(314) 및/또는 하나 이상의 제2 카메라들(320))로부터, 복수의 제1 이미지들(810), 복수의 제2 이미지들(820), 및 복수의 제3 이미지들(830)을 획득할 수 있다. 복수의 제1 이미지들(810)은, 제1 타이밍에 복수의 카메라들로부터 획득될 수 있다. 복수의 제2 이미지들(820)은, 제1 타이밍 이전의 제2 타이밍에 복수의 카메라들로부터 획득될 수 있다. 복수의 제3 이미지들(830)은, 제1 타이밍 이후의 제3 타이밍에, 복수의 카메라들로부터 획득될 수 있다. 일 실시예에 따르면, 복수의 제1 이미지들(810), 복수의 제2 이미지들(820), 및 복수의 제3 이미지들(830) 내에 캡쳐된 신체(330)의 형상은, 서로 다를 수 있다. 예를 들어, 복수의 제1 이미지들(810) 내에 캡쳐된 신체(330)의 형상은, 복수의 제2 이미지들(820) 내에 캡쳐된 신체(330)의 형상과 다를 수 있다. 예를 들어, 복수의 제1 이미지들(810) 내에 캡쳐된 신체(330)의 형상은, 복수의 제3 이미지들(830) 내에 캡쳐된 신체(330)의 형상과 다를 수 있다. 예를 들어, 복수의 제2 이미지들(820) 내에 캡쳐된 신체(330)의 형상은, 복수의 제3 이미지들(830) 내에 캡쳐된 신체(330)의 형상과 다를 수 있다. 다만, 이에 제한되지 않는다. 예를 들어, 복수의 제1 이미지들(810), 복수의 제2 이미지들(820), 및 복수의 제3 이미지들(830) 내에 캡쳐된 신체(330)의 형상은, 서로 실질적으로 동일할 수 있다.
일 실시예에 따르면, 프로세서(311)는, 복수의 인코딩 레이어들(510), 및 복수의 디코딩 레이어들(530)을 통해, 제1 타이밍에 획득한 복수의 제1 이미지들(810)로부터, 복수의 제1 이미지들(810) 내에 캡쳐된 신체(330)의 형상을 가상의 3차원 공간 내에서 나타내기 위한 제1 메쉬 정보(840)를 획득할 수 있다. 제1 메쉬 정보(840)는, 가상의 3차원 공간 내에서 신체(330)의 형상을 표현하기 위한 버텍스들을 포함할 수 있다. 일 실시예에 따르면, 프로세서(311)는, 복수의 인코딩 레이어들(510), 및 복수의 디코딩 레이어들(530)을 통해, 제2 타이밍에 획득한 복수의 제2 이미지들(820)로부터, 복수의 제2 이미지들(820) 내에 캡쳐된 신체(330)의 형상을 가상의 3차원 공간 내에서 나타내기 위한 제2 메쉬 정보(850)를 획득할 수 있다. 제2 메쉬 정보(850)는, 가상의 3차원 공간 내에서 신체(330)의 형상을 표현하기 위한 버텍스들을 포함할 수 있다. 일 실시예에 따르면, 프로세서(311)는, 복수의 인코딩 레이어들(510), 및 복수의 디코딩 레이어들(530)을 통해, 제3 타이밍에 획득한 복수의 제3 이미지들(830)로부터, 복수의 제3 이미지들(830) 내에 캡쳐된 신체(330)의 형상을 가상의 3차원 공간 내에서 나타내기 위한 제3 메쉬 정보(860)를 획득할 수 있다. 제3 메쉬 정보(860)는, 가상의 3차원 공간 내에서 신체(330)의 형상을 표현하기 위한 버텍스들을 포함할 수 있다.
일 실시예에 따르면, 프로세서(311)는, 복수의 제1 이미지들(810)로부터 획득된 제1 메쉬 정보(840), 및 제1 타이밍 이전의 제2 타이밍의 복수의 제2 이미지들(820)로부터 획득된 제2 메쉬 정보(850), 및 제1 타이밍 이후의 복수의 제3 이미지들(830)로부터 획득된 제3 메쉬 정보(860) 중 적어도 일부를 시계열 레이어들(870)에 입력할 수 있다. 예를 들어, 시계열 레이어들(870)은, 1D-temporal convolution neural network를 포함할 수 있다. 예를 들어, 프로세서(311)는, 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)를 시계열 레이어들(870)에 입력하는 것에 기반하여, 제1 메쉬 정보(840), 및 제2 메쉬 정보(850) 각각에 대응하는 가중치들을 획득할 수 있다. 예를 들어, 프로세서(311)는, 제1 메쉬 정보(840), 제2 메쉬 정보(850), 및 제3 메쉬 정보(860)를, 시계열 레이어들(870)들에 입력하는 것에 기반하여, 제1 메쉬 정보(840), 제2 메쉬 정보(850), 및 제3 메쉬 정보(860) 각각에 대응하는 가중치들을 획득할 수 있다. 예를 들어, 프로세서(311)는, 제1 메쉬 정보(840) 내에 포함된 복수의 버텍스들을 시계열 레이어들(870)에 입력하는 것에 기반하여, 제1 메쉬 정보(840)에 포함된 복수의 버텍스들 각각에 대응하는 제1 가중치들을 획득할 수 있다. 예를 들어, 프로세서(311)는, 제2 메쉬 정보(850) 내에 포함된 복수의 버텍스들을 시계열 레이어들(870)에 입력하는 것에 기반하여, 제2 메쉬 정보(850)에 포함된 복수의 버텍스들 각각에 대응하는 제2 가중치들을 획득할 수 있다. 예를 들어, 프로세서(311)는, 제3 메쉬 정보(860) 내에 포함된 복수의 버텍스들을 시계열 레이어들(870)에 입력하는 것에 기반하여, 제3 메쉬 정보(860)에 포함된 복수의 버텍스들 각각에 대응하는 제3 가중치들을 획득할 수 있다. 예를 들어, 프로세서(311)가 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)로부터 가중치들을 획득하는 방법은, self-attention method로 참조될 수 있다.
일 실시예에 따르면, 프로세서(311)는, 제1 메쉬 정보(840), 및 제2 메쉬 정보(850) 각각에 대응하는 가중치들을 통해, 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)를 결합하는 것에 기반하여, 메쉬 정보(560)를 획득할 수 있다. 예를 들어, 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)의 결합을 통해 획득된 메쉬 정보(560)는, 복수의 제1 이미지들(810)이 캡쳐된 제1 타이밍에서의 신체(330)의 형상을 3차원 가상 공간 내에서 나타낼 수 있다. 프로세서(311)는, 제1 메쉬 정보(840), 제2 메쉬 정보(850), 및 제3 메쉬 정보(860) 각각에 대응하는 가중치들을 통해, 제1 메쉬 정보(840), 제2 메쉬 정보(850), 및 제3 메쉬 정보(860)를 결합하는 것에 기반하여, 메쉬 정보(560)를 획득할 수 있다. 예를 들어, 제1 메쉬 정보(840), 제2 메쉬 정보(850), 및 제3 메쉬 정보(860)의 결합을 통해 획득된 메쉬 정보(560)는, 복수의 제1 이미지들(810)이 캡쳐된 제1 타이밍에서의 신체(330)의 형상을 3차원 가상 공간 내에서 나타낼 수 있다. 예를 들어, 프로세서(311)는, 제1 메쉬 정보(840)에 대응하는 제1 가중치들, 및 제2 메쉬 정보(850)에 대응하는 제2 가중치들을 통해, 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)를 결합할 수 있다. 예를 들어, 프로세서(311)는, 제1 메쉬 정보(840)에 대응하는 제1 가중치들, 제2 메쉬 정보(850)에 대응하는 제2 가중치들, 및 제3 메쉬 정보(860)에 대응하는 제3 가중치들을 통해, 제1 메쉬 정보(840), 제2 메쉬 정보(850), 및 제3 메쉬 정보(860)를 결합할 수 있다. 예를 들어, 프로세서(311)가 제1 메쉬 정보(840), 제2 메쉬 정보(850), 제3 메쉬 정보(860)를 결합하는 방법은, 아래의 수학식 3과 같이 표현될 수 있다.
Figure PCTKR2022021429-appb-img-000007
수학식 3에서,
Figure PCTKR2022021429-appb-img-000008
은, 메쉬 정보(560)를 나타내고,
Figure PCTKR2022021429-appb-img-000009
는, 제1 메쉬 정보(840), 제2 메쉬 정보(850), 및 제3 메쉬 정보(860) 각각에 대응하는 가중치들을 나타내고,
Figure PCTKR2022021429-appb-img-000010
는 제1 메쉬 정보(840), 제2 메쉬 정보(850), 및 제3 메쉬 정보(860)를 나타내고,
Figure PCTKR2022021429-appb-img-000011
는, 벡터(vector)의 원소별 곱셈 연산자(element-wise product operator)를 나타낼 수 있다. 예를 들어, 프로세서(311)가 제1 메쉬 정보(840), 제2 메쉬 정보(850), 제3 메쉬 정보(860)를 결합하는 방법은, temporal smoothing method로 참조될 수 있다. 복수의 이미지들(810, 820, 830)이 캡쳐된 타이밍을 반영하여 메쉬 정보(560)가 획득됨에 따라, 메쉬 정보(560)로부터 표현되는 신체(330)의 형상의 정확도가 증가될 수 있다.
상술한 바와 같이, 일 실시예에 따른 전자 장치(예: 도 3의 전자 장치(310))는, 복수의 이미지들(810, 820, 830)이 획득된 타이밍을 반영함으로써 메쉬 정보(560)가 획득되기 때문에, 가상의 3차원 공간 내에서 신체(330)의 형상을 정확하게 복원할 수 있는 방법을 제공할 수 있다. 일 실시예에 따른 전자 장치(310)는, 복수의 이미지들(810, 820, 830)이 획득된 타이밍을 반영함으로써 메쉬 정보(560)가 획득되기 때문에, 시간적인 일관성(temporal consistency)을 가지도록 신체(330)의 형상을 복원할 수 있는 방법을 제공할 수 있다.
도 9는, 일 실시예에 따른 전자 장치를 포함하는 환경의 일 예를 도시한다.
도 9를 참조하면, 일 실시예에 따르면, 다른 전자 장치(910)는, 프로세서(911), 메모리(912), 및/또는 통신 회로(913)를 포함할 수 있다. 도 9의 프로세서(911)는, 도 1의 프로세서(102) 및/또는 프로세서(152)와, 도 9의 메모리(912)는, 도 1의 메모리(104) 및/또는 메모리(154)와, 도 9의 통신 회로(913)는, 도 1의 통신 인터페이스(158)와 실질적으로 동일할 수 있으므로, 중복되는 설명은 생략하도록 한다. 일 실시예에 따르면, 다른 전자 장치(910)는, 전자 장치(310)의 외부에 위치될 수 있다. 다른 전자 장치(910)는, 다른 전자 장치(910) 내의 통신 회로(913)를 통해, 전자 장치(310)와 통신 가능할 수 있다.
일 실시예에 따르면, 전자 장치(310)의 프로세서(311)는, 제1 카메라(314), 및 통신 회로(313)를 통해 연결된 하나 이상의 제2 카메라들(320)로부터, 신체 부위가 캡쳐된 복수의 이미지들(예: 도 3의 복수의 이미지들(341, 342, 343, 344))을 획득할 수 있다. 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344)로부터, 신체 부위가 존재하는 확률을 나타내는 특징 정보(예: 도 4, 및 도 5의 3D 특징 정보(410))를 획득할 수 있다. 프로세서(311)는, 복수의 인코딩 레이어들(예: 도 5의 복수의 인코딩 레이어들(510))에 3D 특징 정보(410)를 입력하는 것에 기반하여, 신체 부위에 대한 코드 정보(예: 도 5의 코드 정보(520))를 획득할 수 있다. 프로세서(311)는, 통신 회로(313)를 통해, 전자 장치(310) 외부의 다른 전자 장치(310)로, 코드 정보(520)를 전송할 수 있다. 코드 정보(520)가, 복수의 이미지들(341, 342, 343, 344) 및/또는 특징 정보를, 상기 복수의 인코딩 레이어들에 입력하여 획득되기 때문에, 코드 정보(520)의 사이즈(또는 용량)는, 복수의 이미지들(341, 342, 343, 344) 및 특징 정보의 사이즈(또는 용량) 보다 적을 수 있다. 상대적으로 적은 사이즈를 가지는 상기 코드 정보(520)가 전송되기 때문에, 전자 장치(310) 및 다른 전자 장치(910) 사이에서 교환되는 정보의 양이 줄어들 수 있다. 상기 정보의 양의 감소에 기반하여, 전자 장치(310) 및 다른 전자 장치(910)는 네트워크의 대역폭을 줄일 수 있다.
일 실시예에 따르면, 다른 전자 장치(910)의 프로세서(911)는, 복수의 디코딩 레이어들(예: 도 5의 복수의 디코딩 레이어들(530))에 코드 정보(520)를 입력하는 것에 기반하여, 히트 맵 정보(예: 도 5의 히트맵 정보(540))를 획득할 수 있다. 프로세서(911)는, 히트맵 정보(540)를 통신 회로(913)를 통해, 전자 장치(310)에 전송할 수 있다. 일 실시예에 따르면, 전자 장치(310)는, 통신 회로(313)를 통해 히트맵 정보(540)를 수신할 수 있다. 전자 장치(310)는, 통신 회로(313)를 통해 수신된 히트맵 정보(540)에 기반하여, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보(예: 도 5의 메쉬 정보(560))를 획득할 수 있다. 다만, 이에 제한되지 않는다. 예를 들어, 다른 전자 장치(910)의 프로세서(911)는, 히트맵 정보(540)를 획득하는 것에 기반하여, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보(예: 도 5의 메쉬 정보(560))를 획득할 수 있다. 다른 전자 장치(910)의 프로세서(911)가 히트맵 정보(540)로부터 메쉬 정보(560)를 획득할 경우, 다른 전자 장치(910)의 프로세서(911)는, 통신 회로(913)를 통해 전자 장치(310)로 메쉬 정보(560)를 전송할 수 있다.
도 10은, 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 10에 도시된 동작은, 도 3에 도시된 전자 장치(310)에 의해 수행될 수 있다.
도 10을 참조하면, 동작 1010에서, 프로세서(예: 도 3의 프로세서(311))는, 복수의 카메라들로부터 신체 부위가 캡쳐된 복수의 이미지들(예: 도 3의 복수의 이미지들(341, 342, 343, 344))을 획득할 수 있다. 예를 들어, 복수의 이미지들(341, 342, 343, 344)은, 제1 카메라(예: 도 3의 제1 카메라(314)), 및 하나 이상의 제2 카메라들(예: 도 3의 하나 이상의 제2 카메라들(320))에 의해 획득될 수 있다. 일 실시예에 따르면, 복수의 이미지들(341, 342, 343, 344)은, 서로 다른 시점 내에서 캡쳐된 신체(예: 도 3의 신체(330))의 적어도 일부를 포함할 수 있다. 예를 들어, 복수의 이미지들(341, 342, 343, 344)은, 서로 다른 각도에서 신체(330)를 지향하는 제1 카메라(314), 및 하나 이상의 제2 카메라들(320)에 의해 획득될 수 있다.
동작 1020에서, 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344)로부터, 신체(330)의 신체 부위가 존재하는 확률을 나타내는 특징 정보(예: 도 4, 및 도 5의 3D 특징 정보(410))를 획득할 수 있다. 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344)로부터, 가상의 2차원 공간 내에서 신체 부위가 존재하는 확률을 나타내는 2D 특징 정보(예: 도 4의 2D 특징 정보(420))를 획득할 수 있다. 예를 들어, 프로세서(311)는, 복수의 이미지들(341, 342, 343, 344)을 백본 네트워크(backbone network)에 입력하는 것에 기반하여, 2D 특징 정보(420)를 획득할 수 있다. 프로세서(311)는, 2D 특징 정보(420)를, 가상의 3차원 공간 내에 역투영함으로써, 가상의 3차원 공간 내에 신체 부위가 존재하는 확률을 나타내기 위한 3D 특징 정보(410)를 획득하도록 구성될 수 있다. 예를 들어, 프로세서(311)는, 2D 특징 정보(420)를 가상의 3차원 공간 내에 역투영하기 위한 알고리즘을 통해, 2D 특징 정보(420)로부터 3D 특징 정보(410)를 획득할 수 있다. 예를 들어, 프로세서(311)는, 기 학습된 뉴럴 네트워크를 통해, 2D 특징 정보(420)로부터 3D 특징 정보(410)를 획득할 수 있다.
동작 1030에서, 프로세서(311)는, 복수의 인코딩 레이어들(예: 도 5의 복수의 인코딩 레이어들(510))에 3D 특징 정보(410)를 입력하는 것에 기반하여, 3D 특징 정보(410)보다 낮은 차원을 가지는 신체 부위에 대한 코드 정보(예: 도 5의 코드 정보(520))를 획득할 수 있다. 예를 들어, 복수의 인코딩 레이어들(510)은, 컨볼루션 뉴럴 네트워크(convolution neural network)에 기반하여 형성될 수 있다.
동작 1040에서 프로세서(311)는, 복수의 디코딩 레이어들(예: 도 5의 복수의 디코딩 레이어들(530))에 입력하는 것에 기반하여, 신체 부위에 대응하는 버텍스들(예: 도 5의 버텍스들(550))이 존재하는 확률을 나타내며, 코드 정보(520)보다 높은 차원을 가지는 히트맵 정보(540)를 획득할 수 있다. 예를 들어, 디코딩 레이어들(530)은, 컨볼루션 뉴럴 네트워크(convolution neural network)에 기반하여 형성될 수 있다.
동작 1050에서, 프로세서(311)는, 히트맵 정보(540)에 기반하여, 버텍스들(550)을 통해 표현되는, 가상의 3차원 공간 내에서 신체(330)의 형상을 나타내기 위한 메쉬 정보(예: 도 5의 메쉬 정보(560))를 획득할 수 있다. 메쉬 정보(560)는, 버텍스들(550)이 상호 연결됨으로써 형성된 복수의 평면들이 연결된 메쉬에 기반하여, 신체 부위를 포함하는 신체(330)의 형상을 표현할 수 있다.
도 11은, 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 11에 도시된 동작은 도 3에 도시된 전자 장치(310)에 의해 수행될 수 있다. 예를 들어, 도 11의 동작은, 도 10의 동작 1050 내에 포함될 수 있다.
도 11을 참조하면, 동작 1110에서, 프로세서(예: 도 3의 프로세서(311))는, 제1 타이밍에 캡쳐된 복수의 이미지들(예: 도 8의 복수의 제1 이미지들(810))로부터 획득된 제1 메쉬 정보(예: 도 8의 제1 메쉬 정보(840)), 및 제1 타이밍과 상이한 제2 타이밍에 캡쳐된 복수의 이미지들(예: 도 8의 복수의 제2 이미지들(820))로부터 획득된 제2 메쉬 정보(예: 도 8의 제2 메쉬 정보(840))를, 시계열 레이어들(예: 도 8의 시계열 레이어들(850))에 입력하는 것에 기반하여, 제1 메쉬 정보, 및 제2 메쉬 정보 각각에 대응하는 가중치들을 획득할 수 있다. 예를 들어, 제2 타이밍은, 제1 타이밍 이전일 수 있으나, 이에 제한되지 않는다. 예를 들어, 제2 타이밍은, 제1 타이밍 이후일 수 있다. 프로세서(311)는, 복수의 인코딩 레이어들(예: 도 5의 복수의 인코딩 레이어들(510)), 및 복수의 디코딩 레이어들(예: 도 5의 복수의 디코딩 레이어들(530))을 통해, 제1 타이밍에 획득한 복수의 제1 이미지들(810)로부터, 복수의 제1 이미지들(810) 내에 캡쳐된 신체의 형상(예: 자세)을 가상의 3차원 공간 내에서 나타내기 위한 제1 메쉬 정보(840)를 획득할 수 있다. 프로세서(311)는, 복수의 인코딩 레이어들(510) 및 복수의 디코딩 레이어들(530)을 통해, 제2 타이밍에 획득한 복수의 제2 이미지들(820)로부터, 복수의 제2 이미지들(820) 내에 캡쳐된 신체의 형상을 가상의 3차원 공간 내에서 나타내기 위한 제2 메쉬 정보(850)를 획득할 수 있다.
일 실시예에 따르면, 프로세서(311)는, 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)를 시계열 레이어들(870)에 입력하는 것에 기반하여, 제1 메쉬 정보(840), 및 제2 메쉬 정보(850) 각각에 대응하는 가중치들을 획득할 수 있다. 예를 들어, 시계열 레이어들(870)은, 1D-temporal convolution neural network를 포함할 수 있다. 예를 들어, 프로세서(311)는, 제1 메쉬 정보(840) 내에 포함된 복수의 버텍스들을 시계열 레이어들(870)에 입력하는 것에 기반하여, 제1 메쉬 정보(840) 내의 복수의 버텍스들 각각에 대응하는 제1 가중치들을 획득할 수 있다. 예를 들어, 프로세서(311)는, 제2 메쉬 정보(850) 내에 포함된 복수의 버텍스들을 시계열 레이어들(870)에 입력하는 것에 기반하여, 제2 메쉬 정보(850) 내의 복수의 버텍스들 각각에 대응하는 제2 가중치들을 획득할 수 있다. 프로세서(311)가 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)로부터 가중치들을 획득하는 방법은, self-attention method로 참조될 수 있다.
동작 1120에서, 프로세서(311)는, 가중치들을 통해 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)를 결합하는 것에 기반하여, 가상의 3차원 공간 내에서 신체의 자세를 나타내기 위한 메쉬 정보(예: 도 5의 메쉬 정보(560))를 획득할 수 있다. 예를 들어, 프로세서(311)는, 제1 메쉬 정보(840)로부터 획득된 제1 가중치들, 및 제2 메쉬 정보(850)로부터 획득된 제2 가중치들을 통해, 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)를 결합함으로써, 메쉬 정보(560)를 획득할 수 있다. 예를 들어, 프로세서(311)가 제1 메쉬 정보(840), 및 제2 메쉬 정보(850)를 결합하는 방법은, temporal smoothing method로 참조될 수 있다. 예를 들어, 메쉬 정보(850)는, 제1 타이밍의 복수의 제1 이미지들(810) 내에 캡쳐된 신체의 형상(예: 자세)을 가상의 3차원 공간 내에서 나타낼 수 있다. 제1 타이밍에 캡쳐된 신체의 형상을 가상의 3차원 공간 내에서 나타내기 위한 메쉬 정보(560)가, 제1 타이밍의 복수의 제1 이미지들(810)로부터 획득된 제1 메쉬 정보(840), 및 제1 타이밍과 상이한 제2 타이밍의 복수의 제2 이미지들(830)로부터 획득된 제2 메쉬 정보(850)에 기반하여 획득됨에 따라, 일 실시예에 따른 전자 장치(예: 도 3의 전자 장치(310))는, 시간적인 일관성을 가지도록 신체의 형상을 복원할 수 있는 방법을 제공할 수 있다.
일 실시예에 따른 전자 장치(예: 도 3의 전자 장치(310))는, 통신 회로(예: 도 3의 통신 회로(313)), 및 프로세서(예: 도 3의 프로세서(311))를 포함할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 상기 통신 회로를 이용하여 복수의 카메라들(예: 도 3의 제1 카메라(314) 및/또는 하나 이상의 제2 카메라들(320))로부터, 신체 부위가 캡쳐된 복수의 이미지들(예: 도 3의 복수의 이미지들(341, 342, 343, 344))을 획득할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 상기 복수의 이미지들로부터, 상기 신체 부위가 존재하는 확률을 나타내는(indicating) 특징 정보(예: 도 4의 3D 특징 정보(410))를 획득할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 복수의 인코딩 레이어들(예: 도 5의 복수의 인코딩 레이어들(510))에 상기 특징 정보를 입력하는 것에 기반하여, 상기 특징 정보보다 낮은 차원을 가지는 상기 신체 부위에 대한 코드 정보(예: 도 5의 코드 정보(520))를 획득할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 복수의 디코딩 레이어들(예: 도 5의 복수의 디코딩 레이어들(530))에 상기 코드 정보를 입력하는 것에 기반하여, 상기 신체 부위에 대응하는 버텍스들(vertices)(예: 도 5의 버텍스들(550))이 존재하는 확률을 나타내며, 상기 코드 정보보다 높은 차원을 가지는 히트맵 정보(예: 도 5의 히트맵 정보(540))를 획득할 수 있다. 일 실시예에 따르면, 상기 프로세서는, 상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보(예: 도 5의 메쉬 정보(560))를 획득하도록 구성될 수 있다.
일 실시예에 따르면, 상기 복수의 디코딩 레이어들은, 신체 부위에 대응하는 복수의 버텍스들이 존재하는 확률을 나타내는 진리(truth) 히트맵 정보(예: 도 6의 진리 히트맵 정보(610))에 기반하여 트레이닝될 수 있다.
일 실시예에 따르면, 상기 복수의 인코딩 레이어들은, 진리 히트맵 정보(예: 도 6의 진리 히트맵 정보(610))에 기반하여 트레이닝된 인코딩 레이어들(예: 도 6의 복수의 프리 인코딩 레이어들(630))이 신체 부위가 존재하는 확률을 나타내는 다른 특징 정보(예: 도 7의 샘플 특징 정보(710))를 통해 튜닝됨으로써 획득될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 제1 타이밍에 캡쳐된 복수의 이미지들로(예: 도 8의 복수의 제1 이미지들(810))부터 획득된 제1 메쉬 정보(예: 도 8의 제1 메쉬 정보(840)), 및 상기 제1 타이밍과 상이한 제2 타이밍의 복수의 이미지들(예: 도 8의 복수의 제2 이미지들(820))로부터 획득된 제2 메쉬 정보(예: 도 8의 제2 메쉬 정보(850))를, 시계열(temporal) 레이어들에 입력하는 것에 기반하여, 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보 각각에 대응하는 가중치들을 획득하고, 상기 가중치들을 통해 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보를 결합하는 것에 기반하여, 상기 메쉬 정보를 획득하도록 구성될 수 있다.
일 실시예에 따르면, 상기 제2 타이밍은, 상기 제1 타이밍 이전일 수 있다. 일 실시예에 따르면, 상기 프로세서는, 상기 제1 메쉬 정보, 상기 제2 메쉬 정보, 및 상기 제1 타이밍 이후의 제3 타이밍의 복수의 이미지들(예: 도 8의 복수의 제3 이미지들(830))로부터 획득된 제3 메쉬 정보(예: 도 8의 제3 메쉬 정보(860))를 상기 시계열 레이어들에 입력하는 것에 기반하여, 상기 제1 메쉬 정보, 상기 제2 메쉬 정보, 및 상기 제3 메쉬 정보 각각에 대응하는 가중치들을 획득하고, 상기 가중치들을 통해, 상기 제1 메쉬 정보, 상기 제2 메쉬 정보, 및 상기 제3 메쉬 정보를 결합하는 것에 기반하여, 상기 메쉬 정보를 획득하도록 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 백본 네트워크를 이용하여 상기 복수의 이미지들 각각으로부터 3차원 특징 정보인 상기 특징 정보의 획득에 이용되는 2차원 특징 정보(예: 도 4의 2D 특징 정보(420))를 획득할 수 있다. 상기 2차원 특징 정보는, 상기 복수의 이미지들 내에서 상기 신체 부위가 존재하는 확률을 나타내는 확률 분포를 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서는, 제1 특징 정보인 상기 특징 정보와 구분되고, 상기 신체 부위가 존재하는 확률을 가상의 2차원 공간 내에서 나타내는 제2 특징 정보(예: 도 4의 2D 특징 정보(420))를 획득하고, 상기 제2 특징 정보를, 가상의 3차원 공간 내에 역투영함으로써(unprojecting), 상기 가상의 3차원 공간 내에 상기 신체 부위가 존재하는 확률을 나타내기 위한 상기 제1 특징 정보를 획득하도록 구성될 수 있다.
일 실시예에 따르면, 상기 메쉬 정보는, 상기 버텍스들이 상호 연결됨으로써 형성된 복수의 평면들이 연결된 메쉬에 기반하여, 상기 신체 부위를 포함하는 사용자의 상기 형상을 표현할 수 있다.
일 실시예에 따르면, 상기 특징 정보가 입력되는 입력 레이어로부터 순차적으로 연결된 상기 복수의 인코딩 레이어들 각각은, 상기 입력 레이어로부터 점진적으로 감소되는 차원을 가지고, 상기 코드 정보가 입력되는 입력 레이어로부터 순차적으로 연결된 상기 복수의 디코딩 레이어들 각각은, 상기 복수의 디코딩 레이어들에 연결된 상기 입력 레이어로부터 점진적으로 증가되는 차원을 가질 수 있다.
일 실시예에 따르면, 상기 복수의 이미지들 각각은, 상기 신체를 서로 다른 각도에서 지향하는 상기 제1 카메라, 및 상기 하나 이상의 제2 카메라들로부터 획득될 수 있다.
일 실시예에 따른 전자 장치의 동작 방법은, 복수의 카메라들(예: 도 3의 제1 카메라(314) 및/또는 하나 이상의 제2 카메라들(320))로부터 신체 부위가 캡쳐된 복수의 이미지들(예: 도 3의 복수의 이미지들(341, 342, 343, 344))을 획득하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 방법은, 상기 복수의 이미지들로부터, 상기 신체 부위가 존재하는 확률을 나타내는(indicating) 특징 정보(예: 도 4의 3D 특징 정보(410))를 획득하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 방법은, 복수의 인코딩 레이어들(예: 도 5의 복수의 인코딩 레이어들(510))에 상기 특징 정보를 입력하는 것에 기반하여, 상기 특징 정보보다 낮은 차원을 가지는 상기 신체 부위에 대한 코드 정보(예: 도 5의 코드 정보(520))를 획득하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 방법은, 복수의 디코딩 레이어들에 상기 코드 정보를 입력하는 것에 기반하여, 상기 신체 부위에 대응하는 버텍스들(vertices)(예: 도 5의 버텍스들(550))이 존재하는 확률을 나타내며, 상기 코드 정보보다 높은 차원을 가지는 히트맵 정보(예: 도 5의 히트맵 정보(540))를 획득하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 방법은, 상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보(예: 도 5의 메쉬 정보(560))를 획득하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 인코딩 레이어들은, 상기 진리 히트맵 정보에 기반하여 트레이닝된 인코딩 레이어들이 신체 부위가 존재하는 확률을 나타내는 다른 특징 정보를 통해 튜닝됨으로써 획득될 수 있다.
일 실시예에 따르면, 상기 방법은, 제1 타이밍에 캡쳐된 복수의 이미지들로(예: 도 8의 복수의 제1 이미지들(810))부터 획득된 제1 메쉬 정보(예: 도 8의 제1 메쉬 정보(840)), 및 상기 제1 타이밍과 상이한 제2 타이밍의 복수의 이미지들(예: 도 8의 복수의 제2 이미지들(820) 및/또는 복수의 제3 이미지들(830))로부터 획득된 제2 메쉬 정보(예: 도 8의 제2 메쉬 정보(850) 및/또는 제3 메쉬 정보(860))를, 시계열(temporal) 레이어들에 입력하는 것에 기반하여, 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보 각각에 대응하는 가중치들을 획득하는 동작, 및 상기 가중치들을 통해 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보를 결합하는 것에 기반하여, 상기 메쉬 정보를 획득하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은, 백본 네트워크를 이용하여, 상기 복수의 이미지들 각각으로부터 3차원 특징 정보인 상기 특징 정보의 획득에 이용되는 2차원 특징 정보를 획득하는 동작을 포함할 수 있다. 일 실시예에 따르면, 상기 2차원 특징 정보는, 상기 복수의 이미지들에서 상기 신체 부위가 존재하는 확률을 나타내는 확률 분포를 포함할 수 있다.
일 실시예에 따르면, 상기 제2 타이밍은 상기 제1 타이밍 이전이고, 상기 방법은, 상기 제1 메쉬 정보, 상기 제2 메쉬 정보, 및 상기 제1 타이밍 이후의 제3 타이밍의 복수의 이미지들(예: 도 8의 복수의 제3 이미지들(830))로부터 획득된 제3 메쉬 정보(예: 도 8의 제3 메쉬 정보(860))를 상기 시계열 레이어들에 입력하는 것에 기반하여, 상기 제1 메쉬 정보, 상기 제2 메쉬 정보, 및 상기 제3 메쉬 정보 각각에 대응하는 가중치들을 획득하는 동작, 및 상기 가중치들을 통해, 상기 제1 메쉬 정보, 상기 제2 메쉬 정보, 및 상기 제3 메쉬 정보를 결합하는 것에 기반하여, 상기 메쉬 정보를 획득하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은, 제1 특징 정보인 상기 특징 정보와 구별되고, 상기 신체 부위가 존재하는 확률을 가상의 2차원 공간 내에서 나타내는 제2 특징 정보(예: 도 4의 2D 특징 정보(420))를 획득하고, 상기 제2 특징 정보를, 가상의 3차원 공간 내에 역투영함으로써(unprojecting), 상기 가상의 3차원 공간 내에 상기 신체 부위가 존재하는 확률을 나타내기 위한 상기 제1 특징 정보를 획득하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 메쉬 정보는, 상기 버텍스들이 상호 연결됨으로써 형성된 복수의 평면들이 연결된 메쉬에 기반하여, 상기 신체의 상기 형상을 나타낼 수 있다.
일 실시예에 따르면, 상기 특징 정보가 입력되는 입력 레이어로부터 순차적으로 연결된 상기 복수의 인코딩 레이어들 각각은, 상기 입력 레이어로부터 점진적으로 감소되는 차원을 가지고, 상기 코드 정보가 입력되는 입력 레이어로부터 순차적으로 연결된 상기 복수의 디코딩 레이어들 각각은, 상기 복수의 디코딩 레이어들에 연결된 상기 입력 레이어로부터 점진적으로 증가되는 차원을 가질 수 있다.
일 실시예에 따르면, 상기 복수의 이미지들 각각은, 상기 신체를 서로 다른 각도에서 지향하는 상기 복수의 카메라들로부터 획득될 수 있다.
일 실시예에 따른 컴퓨터 판독가능 저장 매체는, 하나 이상의 프로그램들을 저장할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 제1 카메라(예: 도 3의 제1 카메라(314)) 및 통신 회로(예: 도 3의 통신 회로(313))를 통해 연결된 하나 이상의 제2 카메라들(예: 도 3의 하나 이상의 제2 카메라들(320))로부터, 신체 부위가 캡쳐된 복수의 이미지들(예: 도 3의 복수의 이미지들(341, 342, 343, 344))을 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 상기 복수의 이미지들로부터, 상기 신체 부위가 존재하는 확률을 나타내는(indicating) 특징 정보(예: 도 4의 3D 특징 정보(410))를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 복수의 인코딩 레이어들(예: 도 5의 복수의 인코딩 레이어들(510))에 상기 특징 정보를 입력하는 것에 기반하여, 상기 특징 정보보다 낮은 차원을 가지는 상기 신체 부위에 대한 코드 정보(예: 도 5의 코드 정보(520))를 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 상기 코드 정보를 상기 통신 회로를 통해 외부 전자 장치로 전송하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 상기 통신 회로를 통해 상기 외부 전자 장치로부터 상기 신체 부위에 대응하는 버텍스들(vertices)(예: 도 5의 버텍스들(550))이 존재하는 확률을 나타내며, 상기 코드 정보보다 높은 차원을 가지는 히트맵 정보(예: 도 5의 히트맵 정보(540))를 수신하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보(예: 도 5의 메쉬 정보(560))를 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
일 실시예에 따르면, 상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때, 제1 타이밍에 캡쳐된 복수의 이미지들로(예: 도 8의 복수의 제1 이미지들(810))부터 획득된 제1 메쉬 정보(예: 도 8의 제1 메쉬 정보(840)), 및 상기 제1 타이밍과 상이한 제2 타이밍의 복수의 이미지들(예: 도 8의 복수의 제2 이미지들(820) 및/또는 복수의 제3 이미지들(830))로부터 획득된 제2 메쉬 정보(예: 도 8의 제2 메쉬 정보(850), 및/또는 제3 메쉬 정보(860))를, 시계열(temporal) 레이어들에 입력하는 것에 기반하여, 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보 각각에 대응하는 가중치들을 획득하고, 상기 가중치들을 통해 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보를 결합하는 것에 기반하여, 상기 메쉬 정보를 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 전자 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치)에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치)의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어™)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    통신 회로; 및
    프로세서를 포함하고,
    상기 프로세서는,
    상기 통신 회로를 이용하여, 복수의 카메라들로부터, 신체 부위가 캡쳐된 복수의 이미지들을 획득하고,
    상기 복수의 이미지들로부터, 상기 신체 부위가 존재하는 확률을 나타내는(indicating) 특징 정보를 획득하고,
    복수의 인코딩 레이어들에 상기 특징 정보를 입력하는 것에 기반하여, 상기 특징 정보보다 낮은 차원을 가지는 상기 신체 부위에 대한 코드 정보를 획득하고,
    복수의 디코딩 레이어들에 상기 코드 정보를 입력하는 것에 기반하여, 상기 신체 부위에 대응하는 버텍스들(vertices)이 존재하는 확률을 나타내며, 상기 코드 정보보다 높은 차원을 가지는 히트맵 정보를 획득하고,
    상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보를 획득하도록 구성되는,
    전자 장치.
  2. 제1항에 있어서,
    상기 복수의 디코딩 레이어들은,
    신체 부위에 대응하는 복수의 버텍스들이 존재하는 확률을 나타내는 진리(truth) 히트맵 정보에 기반하여 트레이닝된,
    전자 장치.
  3. 제1항에 있어서,
    상기 복수의 인코딩 레이어들은,
    진리 히트맵 정보에 기반하여 트레이닝된 인코딩 레이어들이 신체 부위가 존재하는 확률을 나타내는 다른 특징 정보를 통해 튜닝됨으로써 획득되는,
    전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    제1 타이밍에 캡쳐된 복수의 이미지들로부터 획득된 제1 메쉬 정보, 및 상기 제1 타이밍과 상이한 제2 타이밍의 복수의 이미지들로부터 획득된 제2 메쉬 정보를, 시계열(temporal) 레이어들에 입력하는 것에 기반하여, 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보 각각에 대응하는 가중치들을 획득하고,
    상기 가중치들을 통해 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보를 결합하는 것에 기반하여, 상기 메쉬 정보를 획득하도록 구성된,
    전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    백본 네트워크를 이용하여, 상기 복수의 이미지들 각각으로부터 3차원 특징 정보인 상기 특징 정보의 획득에 이용되는 2차원 특징 정보를 획득하고,
    상기 2차원 특징 정보는,
    상기 복수의 이미지들에서, 상기 신체 부위가 존재하는 확률을 나타내는 확률 분포를 포함하는,
    전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    제1 특징 정보인 상기 특징 정보와 구분되고, 상기 신체 부위가 존재하는 확률을 나타내는 가상의 2차원 공간에서 나타낸 제2 특징 정보를 상기 복수의 이미지들로부터 획득하고,
    상기 제2 특징 정보를, 가상의 3차원 공간 내에 역투영함으로써(unprojecting), 상기 가상의 3차원 공간 내에 상기 신체 부위가 존재하는 확률을 나타내기 위한 상기 제1 특징 정보를 획득하도록 구성된,
    전자 장치.
  7. 제1항에 있어서,
    상기 메쉬 정보는,
    상기 버텍스들이 상호 연결됨으로써 형성된 복수의 평면들이 연결된 메쉬에 기반하여, 상기 신체 부위를 포함하는 사용자의 상기 형상을 표현(representing)하는,
    전자 장치.
  8. 제1항에 있어서,
    상기 특징 정보가 입력되는 입력 레이어로부터 순차적으로 연결된 상기 복수의 인코딩 레이어들 각각은, 상기 입력 레이어로부터 점진적으로 감소되는 차원을 가지고,
    상기 코드 정보가 입력되는 입력 레이어로부터 순차적으로 연결된 상기 복수의 디코딩 레이어들 각각은, 상기 복수의 디코딩 레이어들에 연결된 상기 입력 레이어로부터 점진적으로 증가되는 차원을 가지는,
    전자 장치.
  9. 제1항에 있어서,
    상기 복수의 이미지들 각각은,
    상기 신체를 서로 다른 각도에서 지향하는 상기 복수의 카메라들 각각으로부터부터 획득된,
    전자 장치.
  10. 전자 장치의 동작 방법에 있어서,
    복수의 카메라들로부터 신체 부위가 캡쳐된 복수의 이미지들을 획득하는 동작;
    상기 복수의 이미지들로부터, 상기 신체 부위가 존재하는 확률을 나타내는(indicating) 특징 정보를 획득하는 동작;
    복수의 인코딩 레이어들에 상기 특징 정보를 입력하는 것에 기반하여, 상기 특징 정보보다 낮은 차원을 가지는 상기 신체 부위에 대한 코드 정보를 획득하는 동작;
    복수의 디코딩 레이어들에 상기 코드 정보를 입력하는 것에 기반하여, 상기 신체 부위에 대응하는 버텍스들(vertices)이 존재하는 확률을 나타내며, 상기 코드 정보보다 높은 차원을 가지는 히트맵 정보를 획득하는 동작; 및
    상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보를 획득하는 동작; 을 포함하는,
    방법.
  11. 제10항에 있어서,
    상기 복수의 디코딩 레이어들은,
    신체 부위에 대응하는 복수의 버텍스들이 존재하는 확률을 나타내는 진리(truth) 히트맵 정보에 기반하여 트레이닝된,
    방법.
  12. 제10항에 있어서,
    상기 복수의 인코딩 레이어들은,
    진리 히트맵 정보에 기반하여 트레이닝된 인코딩 레이어들이 신체 부위가 존재하는 확률을 나타내는 다른 특징 정보를 통해 튜닝됨으로써 획득되는,
    방법.
  13. 제10항에 있어서,
    제1 타이밍에 캡쳐된 복수의 이미지들로부터 획득된 제1 메쉬 정보, 및 상기 제1 타이밍과 상이한 제2 타이밍의 복수의 이미지들로부터 획득된 제2 메쉬 정보를, 시계열(temporal) 레이어들에 입력하는 것에 기반하여, 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보 각각에 대응하는 가중치들을 획득하는 동작; 및
    상기 가중치들을 통해 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보를 결합하는 것에 기반하여, 상기 메쉬 정보를 획득하는 동작; 을 더 포함하는,
    방법.
  14. 제13항에 있어서,
    백본 네트워크를 이용하여, 상기 복수의 이미지들 각각으로부터 3차원 특징 정보인 상기 특징 정보의 획득에 이용되는 2차원 특징 정보를 획득하는 동작; 을 더 포함하고,
    상기 2차원 특징 정보는,
    상기 복수의 이미지들에서 상기 신체 부위가 존재하는 확률을 나타내는 확률 분포를 포함하는,
    방법.
  15. 제10항에 있어서,
    제1 특징 정보인 상기 특징 정보와 구분되고, 상기 신체 부위가 존재하는 확률을 가상의 2차원 공간 내에서 나타내는 제2 특징 정보를 상기 복수의 이미지들로부터 획득하는 동작; 및
    상기 제2 특징 정보를, 가상의 3차원 공간 내에 역투영함으로써, 상기 가상의 3차원 공간 내에 상기 신체 부위가 존재하는 확률을 나타내기 위한 상기 제1 특징 정보를 획득하는 동작; 을 더 포함하는,
    방법.
  16. 제10항에 있어서,
    상기 메쉬 정보는,
    상기 버텍스들이 상호 연결됨으로써 형성된 복수의 평면들이 연결된 메쉬에 기반하여, 상기 신체의 상기 형상을 나타내는,
    방법.
  17. 제10항에 있어서,
    상기 특징 정보가 입력되는 입력 레이어로부터 순차적으로 연결된 상기 복수의 인코딩 레이어들 각각은, 상기 입력 레이어로부터 점진적으로 감소되는 차원을 가지고,
    상기 코드 정보가 입력되는 입력 레이어로부터 순차적으로 연결된 상기 복수의 디코딩 레이어들 각각은, 상기 복수의 디코딩 레이어들에 연결된 상기 입력 레이어로부터 점진적으로 증가되는 차원을 가지는,
    방법.
  18. 제10항에 있어서,
    상기 복수의 이미지들 각각은,
    상기 신체를 서로 다른 각도에서 지향하는 상기 복수의 카메라들로부터 획득되는,
    방법.
  19. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체에 있어서,
    상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때,
    제1 카메라 및 통신 회로를 통해 연결된 하나 이상의 제2 카메라들로부터, 신체 부위가 캡쳐된 복수의 이미지들을 획득하고,
    상기 복수의 이미지들로부터, 상기 신체 부위가 존재하는 확률을 나타내는(indicating) 특징 정보를 획득하고,
    복수의 인코딩 레이어들에 상기 특징 정보를 입력하는 것에 기반하여, 상기 특징 정보보다 낮은 차원을 가지는 상기 신체 부위에 대한 코드 정보를 획득하고,
    상기 코드 정보를 상기 통신 회로를 통해 외부 전자 장치로 전송하고,
    상기 통신 회로를 통해 상기 외부 전자 장치로부터 상기 신체 부위에 대응하는 버텍스들(vertices)이 존재하는 확률을 나타내며, 상기 코드 정보보다 높은 차원을 가지는 히트맵 정보를 수신하고,
    상기 히트맵 정보에 기반하여, 상기 버텍스들을 통해 표현되는, 가상의 3차원 공간 내에서 신체의 형상을 나타내기 위한 메쉬 정보를 획득하도록,
    상기 전자 장치를 야기하는 인스트럭션들을 포함하는,
    컴퓨터 판독가능 저장 매체.
  20. 제19항에 있어서,
    상기 하나 이상의 프로그램들은, 전자 장치의 적어도 하나의 프로세서에 의해 실행될 때,
    제1 타이밍에 캡쳐된 복수의 이미지들로부터 획득된 제1 메쉬 정보, 및 상기 제1 타이밍과 상이한 제2 타이밍의 복수의 이미지들로부터 획득된 제2 메쉬 정보를, 시계열(temporal) 레이어들에 입력하는 것에 기반하여, 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보 각각에 대응하는 가중치들을 획득하고,
    상기 가중치들을 통해 상기 제1 메쉬 정보 및 상기 제2 메쉬 정보를 결합하는 것에 기반하여, 상기 메쉬 정보를 획득하도록,
    상기 전자 장치를 야기하는 인스트럭션들을 포함하는,
    컴퓨터 판독 가능 저장 매체.
PCT/KR2022/021429 2022-12-27 2022-12-27 하나 이상의 이미지들로부터 신체의 형상을 나타내는 정보를 획득하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체 WO2024143593A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/021429 WO2024143593A1 (ko) 2022-12-27 2022-12-27 하나 이상의 이미지들로부터 신체의 형상을 나타내는 정보를 획득하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/021429 WO2024143593A1 (ko) 2022-12-27 2022-12-27 하나 이상의 이미지들로부터 신체의 형상을 나타내는 정보를 획득하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체

Publications (1)

Publication Number Publication Date
WO2024143593A1 true WO2024143593A1 (ko) 2024-07-04

Family

ID=91718024

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/021429 WO2024143593A1 (ko) 2022-12-27 2022-12-27 하나 이상의 이미지들로부터 신체의 형상을 나타내는 정보를 획득하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체

Country Status (1)

Country Link
WO (1) WO2024143593A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101969050B1 (ko) * 2019-01-16 2019-04-15 주식회사 컨티넘 자세 추정
KR20210038436A (ko) * 2019-09-27 2021-04-07 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 인체 검출 방법, 장치, 컴퓨터 기기 및 저장 매체
KR20220098895A (ko) * 2021-01-05 2022-07-12 주식회사 케이티 인체 포즈 추정 장치 및 방법
KR102425441B1 (ko) * 2020-11-27 2022-07-27 성균관대학교산학협력단 사람 자세 추정 장치 및 방법
JP2022168621A (ja) * 2021-04-26 2022-11-08 オムロン株式会社 検出装置、検出装置の制御方法、学習済モデルを生成するモデル生成装置によるモデル生成方法、情報処理プログラム、および記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101969050B1 (ko) * 2019-01-16 2019-04-15 주식회사 컨티넘 자세 추정
KR20210038436A (ko) * 2019-09-27 2021-04-07 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 인체 검출 방법, 장치, 컴퓨터 기기 및 저장 매체
KR102425441B1 (ko) * 2020-11-27 2022-07-27 성균관대학교산학협력단 사람 자세 추정 장치 및 방법
KR20220098895A (ko) * 2021-01-05 2022-07-12 주식회사 케이티 인체 포즈 추정 장치 및 방법
JP2022168621A (ja) * 2021-04-26 2022-11-08 オムロン株式会社 検出装置、検出装置の制御方法、学習済モデルを生成するモデル生成装置によるモデル生成方法、情報処理プログラム、および記録媒体

Similar Documents

Publication Publication Date Title
US11991344B2 (en) Systems, methods and apparatuses for stereo vision and tracking
WO2020088433A1 (zh) 多人姿态识别方法、装置、电子设备及存储介质
US11417014B2 (en) Method and apparatus for constructing map
WO2019097749A1 (en) Computer-based system and computer-based method
CN107766812B (zh) 一种基于MiZ702N的实时人脸检测识别系统
CN112530019B (zh) 三维人体重建方法、装置、计算机设备和存储介质
CN111353355B (zh) 动作追踪系统及方法
CN115699082A (zh) 缺陷检测方法及装置、存储介质及电子设备
CN103578135A (zh) 虚拟影像与真实场景相结合的舞台交互集成系统及实现方法
WO2021177784A1 (en) Super-resolution depth map generation for multi-camera or other environments
WO2022071743A1 (en) Body shape and pose estimation via volumetric regressor for raw three dimensional scan models
CN109788194B (zh) 一种自适应性可穿戴设备主观视角图像采集方法
CN113205560A (zh) 多深度相机的标定方法、装置、设备及存储介质
CN110554356A (zh) 一种可见光通信中设备定位方法及系统
JP2023502552A (ja) ウェアラブルデバイス、インテリジェントガイド方法及び装置、ガイドシステム、記憶媒体
WO2024094227A1 (zh) 一种基于卡尔曼滤波和深度学习的手势姿态估计方法
CN112766040A (zh) 残余饵料的探测方法、设备、装置及可读存储介质
CN114022532A (zh) 身高测量方法、身高测量装置和终端
Łysakowski et al. Real-time onboard object detection for augmented reality: Enhancing head-mounted display with yolov8
WO2024143593A1 (ko) 하나 이상의 이미지들로부터 신체의 형상을 나타내는 정보를 획득하기 위한 전자 장치, 방법, 및 컴퓨터 판독가능 저장 매체
CN116580211B (zh) 关键点检测方法、装置、计算机设备及存储介质
WO2022098164A1 (ko) 전자 장치 및 전자 장치의 제어 방법
CN115393962A (zh) 动作识别方法、头戴显示设备和存储介质
WO2023219371A1 (ko) 학습 데이터를 증강시키는 전자 장치 및 그 제어 방법
KR20100009299A (ko) 광학식 모션캡쳐를 위한 카메라 부착형 영상처리 및 데이터전송장치