WO2023096133A1 - 경량화된 자세 추정 모델 제공 장치 및 방법 - Google Patents

경량화된 자세 추정 모델 제공 장치 및 방법 Download PDF

Info

Publication number
WO2023096133A1
WO2023096133A1 PCT/KR2022/014488 KR2022014488W WO2023096133A1 WO 2023096133 A1 WO2023096133 A1 WO 2023096133A1 KR 2022014488 W KR2022014488 W KR 2022014488W WO 2023096133 A1 WO2023096133 A1 WO 2023096133A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
joint coordinates
similarity
feature vector
feature vectors
Prior art date
Application number
PCT/KR2022/014488
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 WO2023096133A1 publication Critical patent/WO2023096133A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Definitions

  • Embodiments disclosed in this document relate to an apparatus and method for implementing weight reduction of a pose estimation model.
  • Pose estimation can be defined as a problem of estimating the configuration and location of major human joints in an image.
  • the pose estimation problem has been studied for a long period of time and is used in various fields such as human action recognition and human-computer interaction.
  • the focus was on posture estimation in 2D images, but recently, as video data increases exponentially, research on posture estimation in video images is being actively conducted.
  • Lite-HRNet For posture estimation, various models such as Lite-HRNet can be used. In order to estimate the pose of video data, it is necessary to perform analysis using a pose estimation model independently for each frame constituting the video data.
  • Embodiments of the present invention are intended to provide an apparatus and method capable of efficiently performing posture estimation by utilizing inter-frame correlation in video data in which correlation exists between successive frames.
  • a method for providing a lightweight pose estimation model executed by a computing device includes obtaining video data including an image of a user, and analyzing the video data according to an analysis period. Setting a first frame corresponding to a reference frame, analyzing the first frame using a deep neural network model, and joint coordinates of the first frame corresponding to the user's joints included in the first frame Obtaining a second based on a similarity between a first feature vector corresponding to the joint coordinates of the first frame and a plurality of feature vectors corresponding to points included in a second frame subsequent to the first frame. It may include acquiring joint coordinates of the frame.
  • the method includes obtaining a plurality of feature vectors corresponding to each of the points included in the first frame by inputting the first frame to an encoder, and inputting the second frame to the encoder to obtain the second frame.
  • the method may further include acquiring a plurality of feature vectors corresponding to each of the points included in .
  • the obtaining of joint coordinates of the second frame may include between the first characteristic vector and each of a plurality of characteristic vectors corresponding to points included in an area surrounding the joint coordinates of the first frame among the second frames. It may include comparing the degree of similarity of.
  • the method is based on the degree of similarity between the second feature vector corresponding to the joint coordinates of the second frame and each of a plurality of feature vectors corresponding to each of the points included in the third frame subsequent to the second frame.
  • the method may further include acquiring joint coordinates of the third frame.
  • the method provides a first similarity between a first feature vector and each of a plurality of feature vectors corresponding to points included in a third frame subsequent to the second frame and corresponding to joint coordinates of the second frame.
  • the method may further include obtaining joint coordinates of the third frame based on a second similarity between the second feature vector and each of a plurality of feature vectors corresponding to points included in the third frame.
  • different weights may be applied to the first similarity and the second similarity.
  • the degree of similarity may be calculated based on a distance between the first feature vector and a plurality of feature vectors corresponding to each of the points included in the second frame.
  • the method may further include adjusting the analysis period according to user input or resources of the computer device.
  • An apparatus for providing a lightweight posture estimation model includes a communication circuit configured to communicate with a camera, a memory, and a processor electrically connected to the communication circuit and memory, the processor using the communication circuit to provide a camera
  • Joint coordinates of the second frame may be obtained based on similarity between each of a plurality of feature vectors corresponding to .
  • a computer recording medium in which instructions executable by at least one processor included in a computing device according to an embodiment disclosed in this document are stored, the instruction causes the at least one processor to perform a video including an image of a user.
  • Data is obtained, a first frame corresponding to a reference frame is set according to an analysis cycle in the video data, and the first frame is analyzed using a deep neural network model, whereby a first frame corresponding to a user's joint included in the first frame is analyzed.
  • Joint coordinates of one frame are obtained, and based on a similarity between a first feature vector corresponding to the joint coordinates of the first frame and a plurality of feature vectors corresponding to points included in a second frame subsequent to the first frame.
  • joint coordinates of the second frame may be acquired.
  • the accuracy of posture estimation is improved by obtaining joint coordinates of a subsequent frame based on a similarity between a feature vector corresponding to a joint coordinate inferred by a deep neural network model and a feature vector of a subsequent frame. It is possible to reduce the amount of computation required for posture estimation while maintaining the posture estimation.
  • FIG. 1 illustrates exemplary video data processed by an apparatus for providing a lightweight posture estimation model according to an embodiment.
  • FIG. 2 is a block diagram illustrating a configuration of an apparatus for providing a lightweight posture estimation model according to an exemplary embodiment.
  • FIG. 3 is a diagram for explaining exemplary operations of an apparatus for providing a lightweight posture estimation model according to an exemplary embodiment.
  • FIG. 4 is a diagram for explaining exemplary operations of an apparatus for providing a lightweight posture estimation model according to an exemplary embodiment.
  • FIG. 5 is a diagram for explaining exemplary operations of an apparatus for providing a lightweight posture estimation model according to an exemplary embodiment.
  • FIG. 6 is a flowchart illustrating a method of providing a lightweight posture estimation model according to an embodiment.
  • FIG. 1 illustrates an operating environment of an apparatus for providing a lightweight posture estimation model according to an exemplary embodiment.
  • an apparatus for providing a posture estimation model may obtain joint coordinates 111 of a user p included in video data by analyzing video data.
  • the posture estimation model providing apparatus analyzes the first frame 110 using a deep neural network model, thereby obtaining joint coordinates 111 corresponding to the joints of the user p included in the first frame 110. can be obtained For analysis using a deep neural network model, a large amount of computation may be required.
  • the posture estimation model providing apparatus may perform a process for acquiring joint coordinates 121 corresponding to the joints of the user p included in the second frame 120 .
  • an excessive amount of computation may be required.
  • the video data is 30 fps
  • the correlation between the first frame 110 and the second frame 120 may be significantly high considering the movement speed of the user p. Therefore, when the joint coordinates 121 of the second frame 120 are acquired, between the feature vector corresponding to the joint coordinates 111 of the first frame 110 and the feature vectors included in the second frame 120 A similarity of , and based on the similarity, joint coordinates 121 of the second frame 120 may be obtained.
  • the amount of calculation required for obtaining feature vectors and calculating similarity may be significantly lower than the amount of calculation required for analysis using a deep neural network model. As a result, the weight of the posture estimation model can be achieved.
  • FIG. 2 is a block diagram illustrating a configuration of an apparatus for providing a lightweight posture estimation model according to an exemplary embodiment.
  • an apparatus 200 for providing a posture estimation model may include a communication circuit 210 , a memory 220 and a processor 230 .
  • the posture estimation model providing apparatus 200 may be implemented in the form of a user terminal, for example.
  • the communication circuit 210 may be configured to communicate with the camera wirelessly or wired.
  • the communication circuit 210 may transmit and receive data to and from the camera.
  • the communication circuitry 210 may receive video data including an image of a user from a camera in real time.
  • Memory 220 may include volatile memory and/or non-volatile memory.
  • the memory 220 may store various data handled by the apparatus 200 for providing a posture estimation model.
  • the memory 220 may store data processed inside the posture estimation model providing apparatus 200 and a deep neural network model, or may store video data received from a camera.
  • the processor 230 may be electrically connected to the communication circuit 210 and the memory 220 .
  • the processor 230 may control the communication circuit 210 and the memory 220 and may perform various data processing and calculations.
  • the processor 230 is shown as a single component in FIG. 2 , it may be implemented as being separated into a plurality of components.
  • the processor 230 may perform the following operations by executing software or instructions stored in the memory 220 .
  • the processor 230 may obtain video data including an image of a user from a camera using the communication circuit 210 .
  • the processor 230 may receive video data in real time from a camera taking video.
  • the processor 230 may set a first frame corresponding to a reference frame according to an analysis period in video data. For example, when the analysis period is 10, the 1st frame, the 11th frame, and the 21st frame may be set as reference frames. The longer the analysis period, the higher the processing speed, and the shorter the analysis period, the higher the accuracy of processing. Therefore, it is necessary to set an appropriate period.
  • the processor 230 may adjust the analysis period according to a user input or according to resources of a computer device (the apparatus 100 for providing a posture estimation model). The processor 230 may decrease the analysis cycle when resources are sufficient, and increase the analysis cycle when resources are insufficient, in consideration of the speed and utilization rate of the processor 230, the usable area of the memory 220, and the communication network state. there is.
  • the processor 230 analyzes the first frame using a deep neural network model previously stored in the memory 220, thereby analyzing the first frame corresponding to the joint of the user included in the first frame. Joint coordinates of one frame can be acquired.
  • the processor 230 may analyze the first frame using, for example, a model using a deep neural network such as Lite-HRNet.
  • the deep neural network model requires a large amount of computation, but can perform accurate joint coordinate estimation.
  • the processor 230 may obtain a plurality of feature vectors corresponding to each point included in the first frame by inputting the first frame to an encoder.
  • Each frame included in the video data may be, for example, a 256 ⁇ 256 ⁇ 3 (width ⁇ height ⁇ RGB) image.
  • the encoder may output a 64 ⁇ 64 ⁇ 32 (horizontal ⁇ vertical ⁇ feature vector component) feature vector map for the frame.
  • the processor 230 may obtain a plurality of feature vectors corresponding to respective points included in the second frame by inputting a second frame following the first frame to an encoder.
  • the processor 230 may sequentially obtain a feature vector map including a plurality of feature vectors for each successive frame by using an encoder.
  • the encoder may sequentially include layers such as ResBlock(3, 64), BatchNorm, AvgPool, ResBlock(64, 256), BatchNorm, ResBlock(256, 256), BatchNorm, ResBlock(256, 32), and ReLU.
  • ResBlock can be implemented using a 3x3 bottleneck convolution filter. When a 3-channel RGB image (frame) is input to the encoder, a 64-channel feature map of 1/4 size can be output.
  • the convolution filter included in each ResBlock is located in a specific 3x3 area of the image, one value can be extracted by multiplying the values of the area and the parameter of the filter element wise and summing them all to extract a value. It can be viewed as a feature that integrates the information of the domain.
  • the generated feature map may be high-level information obtained by performing filtering on an image input to ResBlock.
  • the high-level feature map is obtained compared to the low-dimensional original image (e.g., frame) that simply includes a combination of pixel values.
  • a feature map including information may be obtained.
  • the processor 230 determines the second frame based on a similarity between a first feature vector corresponding to joint coordinates of the first frame and a plurality of feature vectors corresponding to points included in the second frame.
  • the joint coordinates of can be obtained.
  • the processor 230 may obtain a first feature vector corresponding to the joint coordinates of the first frame from the feature vector map of the first frame.
  • the processor 230 may obtain 64 ⁇ 64 feature vectors included in the feature vector map of the second frame.
  • the processor 230 may calculate a similarity between the first feature vector and 64 ⁇ 64 feature vectors included in the feature vector map of the second frame.
  • the processor 230 may obtain a second feature vector having the highest similarity to the first feature vector among 64 ⁇ 64 feature vectors included in the feature vector map of the second frame.
  • the processor 230 may obtain coordinates of points corresponding to the second feature vector as joint coordinates of the second frame.
  • the degree of similarity between feature vectors is, for example, the distance between the first feature vector and a plurality of feature vectors (feature vectors included in the feature vector map of the second frame) corresponding to each of the points included in the second frame. can be calculated based on For distance calculation, L2 distance metric can be applied.
  • the processor 230 may compare similarities between the first feature vector and each of a plurality of feature vectors corresponding to points included in the area around the joint coordinates of the first frame among the second frames. Considering the time interval between successive frames and the user's movement speed, it may be inefficient to compare entire feature vector maps of the first feature vector and the second frame. Accordingly, the similarity with the first feature vector may be calculated only for feature vectors corresponding to regions adjacent to the joint coordinates of the first frame among the feature vector maps of the second frame. The size of the surrounding area may be set in consideration of the maximum speed of the user.
  • the processor 230 determines the degree of similarity between the second feature vector corresponding to the joint coordinates of the second frame and each of the plurality of feature vectors corresponding to each point included in the third frame following the second frame. Joint coordinates of the third frame may be obtained based on.
  • the processor 230 may obtain a second feature vector having the highest similarity to the first feature vector.
  • the processor 230 may obtain 64 ⁇ 64 feature vectors included in the feature vector map of the third frame.
  • the processor 230 may calculate a similarity between the second feature vector and the 64 ⁇ 64 feature vectors included in the feature vector map of the third frame.
  • the processor 230 may obtain a third feature vector having the highest similarity to the second feature vector among 64 ⁇ 64 feature vectors included in the feature vector map of the third frame.
  • the processor 230 may obtain coordinates of points corresponding to the third feature vector as joint coordinates of the third frame.
  • the processor 230 determines the first similarity between each of a plurality of feature vectors corresponding to the points included in the first feature vector and the third frame and the points included in the second feature vector and the third frame. Joint coordinates of the third frame may be obtained based on the second similarity between each of the plurality of feature vectors corresponding to each.
  • the processor 230 may calculate a second similarity between a second feature vector of the second frame, which is a previous frame of the third frame, and 64 ⁇ 64 feature vectors included in the feature vector map of the third frame.
  • the processor 230 may consider the first similarity with the reference frame (first frame) as well as the second similarity with the previous frame.
  • the processor 230 may calculate a first similarity between the first feature vector of the first frame, which is the reference frame, and the 64x64 feature vectors included in the feature vector map of the third frame.
  • the processor 230 may obtain a third feature vector having the highest similarity by summing the first similarity and the second similarity. According to an embodiment, when adding the first similarity and the second similarity, different weights may be applied to the first similarity and the second similarity.
  • the processor 230 may obtain coordinates of points corresponding to the third feature vector as joint coordinates of the third frame. An exemplary method of obtaining joint coordinates of the third frame will be described in detail with reference to FIG. 5 .
  • the joint coordinates for the next frame within the analysis period are obtained using the similarity of feature vectors, thereby maintaining the accuracy of posture estimation.
  • the amount of computation required for estimation can be reduced.
  • FIG. 3 is a diagram for explaining exemplary operations of an apparatus for providing a lightweight posture estimation model according to an exemplary embodiment.
  • a lightweight posture estimation model may obtain video data.
  • the analysis period may be set to N.
  • frame 1, frame N+1, and frame 2N+1 may be set as reference frames.
  • Frame 1 which is a reference frame, can be analyzed by a deep neural network, whereby the joint coordinates of Frame 1 can be estimated.
  • Frame 2 may be input to an encoder, whereby a feature map (or feature vector map) of frame 2 may be output.
  • the joint coordinates of frame 2 may be estimated based on the similarity between the feature vector corresponding to the joint coordinates of frame 1 and the feature map of frame 2.
  • the joint coordinates of frame 3 can be estimated, and the joint coordinates of frames 4 to N can be estimated in a similar manner.
  • frame N+1 corresponding to the next reference frame may be analyzed by a deep neural network, whereby joint coordinates of frame N+1 may be estimated.
  • joint coordinates of frames N+2 to 2N may be estimated through characteristic maps in a manner similar to that of frames 2 to N, respectively.
  • FIG. 4 is a diagram for explaining exemplary operations of an apparatus for providing a lightweight posture estimation model according to an exemplary embodiment.
  • the apparatus for providing a lightweight posture estimation model may receive video data and obtain a first frame 410 composed of 256 ⁇ 256 (width ⁇ length) pixels.
  • the first frame 410 may be analyzed by a deep neural network model 440 . Based on the analysis result, the first joint coordinates 411 of the first frame 410 may be obtained. When there are 16 joints, the first joint coordinates 411 may include ( ⁇ 1 , ⁇ 1 ) to ( ⁇ 16 , ⁇ 16 ).
  • the first frame 410 may be input to the encoder 450, and a first feature map 412 may be obtained by the encoder 450.
  • the number of feature vectors included in the feature map may be 64 ⁇ 64 (width ⁇ height), and the number of components of each feature vector may be 32.
  • Sixteen first feature vectors 413 corresponding to ( ⁇ 1 , ⁇ 1 ) to ( ⁇ 16 , ⁇ 16 ) of the first joint coordinates 411 may be obtained from the first feature map 412 .
  • a second frame 420 following the first frame 410 may be obtained.
  • the second frame 420 may be input to the encoder 450 without analysis by the deep neural network model 440, and the second feature map 421 may be obtained by the encoder 450.
  • a first distance map 422 between each of the 16 first feature vectors 413 and 64 ⁇ 64 feature vectors included in the second feature map 421 64 ⁇ 64 ⁇ 16 (width ⁇ vertical ⁇ first characteristics) The number of vectors 413)) can be obtained.
  • Sixteen second feature vectors 423 having the closest distance to each of the first feature vectors 413 may be obtained based on the first distance map 422 . Accordingly, 16 second joint coordinates of the second frame 420 corresponding to each of the second characteristic vectors 423 may be obtained.
  • a third frame 430 following the second frame 420 may be obtained.
  • the third frame 430 may be input to the encoder 450 without analysis by the deep neural network model 440, and the third feature map 431 may be obtained by the encoder 450.
  • a second distance map 432 between each of the 16 second feature vectors 423 and the 64 ⁇ 64 feature vectors included in the third feature map 431 may be obtained.
  • Sixteen third feature vectors 433 having the closest distance to each of the second feature vectors 423 may be obtained based on the second distance map 432 . Accordingly, 16 third joint coordinates of the third frame 430 corresponding to each of the third characteristic vectors 433 may be obtained.
  • fourth joint coordinates may be obtained by comparing the third characteristic vector 433 with the fourth frame
  • fifth joint coordinates may be obtained by comparing the fourth characteristic vector with the fifth frame.
  • FIG. 5 is a diagram for explaining exemplary operations of an apparatus for providing a lightweight posture estimation model according to an exemplary embodiment. For convenience of description, redundant description of the features described with reference to FIG. 4 will be omitted.
  • the apparatus for providing a lightweight posture estimation model may receive video data and obtain a first frame 510 .
  • the first joint coordinates 511 of the first frame 510 may be obtained by a deep neural network model 540 .
  • the first feature map 512 and the first feature vector 513 may be obtained by the encoder 550 in a manner similar to that described with reference to FIG. 4, and the second feature map 521 from the second frame 520. ), the first distance map 522 and the second feature vector 523 may be obtained.
  • a third frame 530 following the second frame 520 may be obtained.
  • the third frame 530 may be input to the encoder 550 without analysis by the deep neural network model 540, and the third feature map 531 may be obtained by the encoder 550.
  • the second distance map 532 not only the second feature vector 523 but also the first feature vector 513 for the first frame 510 as a reference frame may be considered. there is.
  • a second distance map 532 may be obtained by summing the distances between 64 ⁇ 64 feature vectors.
  • 16 third feature vectors 533 having the closest distances to each of the first feature vector 513 and the second feature vector 523 may be obtained. Accordingly, 16 third joint coordinates of the third frame 530 corresponding to each of the third characteristic vectors 533 may be obtained.
  • the fourth joint coordinates may be obtained by comparing each of the first and third characteristic vectors 513 and 533 with the fourth frame, and the first and fourth characteristic vectors 513 and 533, respectively.
  • a fifth joint coordinate may be obtained through comparison between each frame and the fifth frame.
  • FIG. 6 is a flowchart illustrating a method of providing a lightweight posture estimation model according to an embodiment.
  • the posture estimation model providing apparatus 200 of FIG. 2 performs the process of FIG. 6 .
  • an operation described as being performed by the apparatus for providing a posture estimation model is controlled by the processor 230 .
  • the device may obtain video data including an image of a user.
  • the device may set a first frame corresponding to a reference frame according to the analysis period in the video data.
  • the device may acquire joint coordinates of the first frame corresponding to the user's joints included in the first frame by analyzing the first frame using the deep neural network model.
  • step 640 the device determines a second feature vector based on a similarity between a first feature vector corresponding to joint coordinates of the first frame and a plurality of feature vectors corresponding to points included in a second frame subsequent to the first frame. Joint coordinates of the frame can be acquired.
  • adapted to or configured to means “adapted to or configured to” depending on the situation, for example, hardware or software “adapted to,” “having the ability to,” “changed to,” “”made to,” “capable of,” or “designed to” can be used interchangeably.
  • the expression “device configured to” can mean that the device is “capable of” in conjunction with other devices or components.
  • a processor set up (or configured) to perform A, B, and C may include a dedicated processor (e.g., embedded processor) to perform those operations, or by executing one or more programs stored in a memory device; It may refer to a general-purpose processor (eg, CPU) capable of performing corresponding operations.
  • module used in this document includes a unit composed of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic blocks, parts, or circuits, for example.
  • a “module” may be an integrally constructed component or a minimal unit or part thereof that performs one or more functions.
  • a “module” may be implemented mechanically or electronically, for example, a known or future developed application-specific integrated circuit (ASIC) chip, field-programmable gate arrays (FPGAs), or A programmable logic device may be included.
  • ASIC application-specific integrated circuit
  • FPGAs field-programmable gate arrays
  • At least a part of an apparatus (eg, modules or functions thereof) or a method (eg, operations) according to an embodiment may be implemented as instructions stored in a computer-readable storage medium in the form of a program module.
  • the processor may perform a function corresponding to the command.
  • Each component may be composed of one or more entities, and some sub-components among the aforementioned sub-components may be omitted or other sub-components may be used. can include more. Alternatively or additionally, some components (eg, modules or program modules) may be integrated into one entity and perform the same or similar functions performed by each corresponding component prior to integration. Operations performed by modules, program modules, or other components according to an embodiment are executed sequentially, in parallel, repetitively, or heuristically, or at least some operations are executed in a different order, omitted, or other operations. this may be added.

Abstract

본 문서에 개시되는 일 실시 예에 따른 컴퓨팅 디바이스에 의해 실행되는 경량화된 자세 추정 모델(pose estimation model) 제공 방법은 사용자에 대한 이미지를 포함하는 비디오 데이터를 획득하는 단계, 비디오 데이터에서 분석 주기에 따라 기준 프레임에 해당하는 제1 프레임을 설정하는 단계, 심층 신경망 모델(deep neural network model)을 이용하여 제1 프레임을 분석함으로써, 제1 프레임에 포함된 사용자의 관절에 대응하는 제1 프레임의 관절 좌표를 획득하는 단계, 및 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터와 제1 프레임에 후속하는 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 제2 프레임의 관절 좌표를 획득하는 단계를 포함할 수 있다.

Description

경량화된 자세 추정 모델 제공 장치 및 방법
본 문서에서 개시되는 실시 예들은 자세 추정 모델(pose estimation model)의 경량화를 구현하기 위한 장치 및 방법과 관련된다.
자세 추정(pose estimation)은 이미지에서 사람의 주요 관절의 구성과 위치를 추정하는 문제로 정의할 수 있다. 컴퓨터 비전 분야 내에서 자세 추정 문제는 인간 행동 인식(human action recognition) 및 인간-컴퓨터 상호작용(human-computer interaction) 등과 같은 다양한 분야에서 활용되며 오랜 기간 동안 연구되어 왔다. 과거에는 2D 이미지 내에서의 자세 추정에 집중하였지만, 최근에는 비디오 데이터가 기하급수적으로 증가함에 따라 비디오 이미지에서의 자세 추정에 대한 연구가 활발하게 진행되고 있다.
자세 추정을 위해서는 Lite-HRNet 등과 같은 다양한 모델이 사용될 수 있다. 비디오 데이터에 대한 자세 추정을 위해서는 비디오 데이터를 구성하는 프레임 각각에 대해 독립적으로 자세 추정 모델을 이용하여 분석을 수행할 필요성이 있다.
비디오 데이터를 구성하는 프레임 각각에 대해 독립적으로 분석을 수행하는 경우, 자세 추정을 위해 과도한 연산량이 요구될 수 있다. 따라서, 자세 추정 모델을 구동하는 하드웨어 환경에 따라 실시간으로 동작하는 것이 어려울 수 있고, 충분한 FPS(frame per second)가 보장되지 못할 수 있다. 비디오 데이터에서는 연속된 프레임 사이에 확실한 상관관계가 존재하므로, 모든 프레임 각각에 대해 추론(inference)을 진행하는 것은 비효율을 초래할 수 있다.
본 발명의 실시 예들은, 연속된 프레임 사이에 상관관계가 존재하는 비디오 데이터에서 프레임 간 관련성을 활용함으로써 자세 추정을 효율적으로 수행할 수 있는 장치 및 방법을 제공하기 위한 것이다.
본 문서에 개시되는 일 실시 예에 따른 컴퓨팅 디바이스에 의해 실행되는 경량화된 자세 추정 모델(pose estimation model) 제공 방법은 사용자에 대한 이미지를 포함하는 비디오 데이터를 획득하는 단계, 비디오 데이터에서 분석 주기에 따라 기준 프레임에 해당하는 제1 프레임을 설정하는 단계, 심층 신경망 모델(deep neural network model)을 이용하여 제1 프레임을 분석함으로써, 제1 프레임에 포함된 사용자의 관절에 대응하는 제1 프레임의 관절 좌표를 획득하는 단계, 및 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터와 제1 프레임에 후속하는 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 제2 프레임의 관절 좌표를 획득하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 방법은 제1 프레임을 인코더에 입력함으로써, 제1 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터를 획득하는 단계, 및 제2 프레임을 인코더에 입력함으로써, 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터를 획득하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 제2 프레임의 관절 좌표를 획득하는 단계는, 제1 특성 벡터와 제2 프레임 중 제1 프레임의 관절 좌표의 주변 영역에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도를 비교하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 방법은 제2 프레임의 관절 좌표에 대응하는 제2 특성 백터와 제2 프레임에 후속하는 제3 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 제3 프레임의 관절 좌표를 획득하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 방법은 제1 특성 벡터와 제2 프레임에 후속하는 제3 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 제1 유사도 및 제2 프레임의 관절 좌표에 대응하는 제2 특성 벡터와 제3 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 제2 유사도에 기초하여 제3 프레임의 관절 좌표를 획득하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 제1 유사도와 제2 유사도에는 서로 상이한 가중치가 적용될 수 있다.
일 실시 예에 따르면, 유사도는 제1 특성 벡터와 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 사이의 거리에 기초하여 산출될 수 있다.
일 실시 예에 따르면, 방법은 분석 주기를 사용자 입력 또는 컴퓨터 디바이스의 리소스에 따라 조정하는 단계를 더 포함할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치는 카메라와 통신하도록 구성된 통신 회로, 메모리, 및 통신 회로 및 메모리와 전기적으로 연결된 프로세서를 포함하고, 프로세서는 통신 회로를 이용하여 카메라로부터 사용자에 대한 이미지를 포함하는 비디오 데이터를 획득하고, 비디오 데이터에서 분석 주기에 따라 기준 프레임에 해당하는 제1 프레임을 설정하고, 메모리에 미리 저장된 심층 신경망 모델을 이용하여 제1 프레임을 분석함으로써, 제1 프레임에 포함된 사용자의 관절에 대응하는 제1 프레임의 관절 좌표를 획득하고, 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터와 제1 프레임에 후속하는 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 제2 프레임의 관절 좌표를 획득할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 컴퓨팅 디바이스에 포함된 적어도 하나의 프로세서에 의해 실행 가능한 명령어가 저장된 컴퓨터 기록 매체에 있어서, 명령어는, 적어도 하나의 프로세서로 하여금, 사용자에 대한 이미지를 포함하는 비디오 데이터를 획득하고, 비디오 데이터에서 분석 주기에 따라 기준 프레임에 해당하는 제1 프레임을 설정하고, 심층 신경망 모델을 이용하여 제1 프레임을 분석함으로써, 제1 프레임에 포함된 사용자의 관절에 대응하는 제1 프레임의 관절 좌표를 획득하고, 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터와 제1 프레임에 후속하는 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 제2 프레임의 관절 좌표를 획득하도록 할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 심층 신경망 모델에 의해 추론된 관절 좌표에 대응하는 특성 벡터와 후속 프레임의 특성 벡터 사이의 유사도에 기초하여 후속 프레임의 관절 좌표를 획득함으로써, 자세 추정의 정확도를 유지하면서 자세 추정을 위해 요구되는 연산량을 감소시킬 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치에 의해 처리되는 예시적인 비디오 데이터를 도시한다.
도 2는 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치의 구성을 도시하는 블록도이다.
도 3은 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 4는 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 6은 일 실시 예에 경량화된 자세 추정 모델 제공 방법을 설명하기 위한 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해서 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경, 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시 예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치의 동작 환경을 도시한다.
도 1을 참조하면, 일 실시 예에 따른 자세 추정 모델 제공 장치는 비디오 데이터를 분석함으로써, 비디오 데이터에 포함된 사용자(p)의 관절 좌표(111)를 획득할 수 있다. 예를 들어, 자세 추정 모델 제공 장치는 심층 신경망 모델을 이용하여 제1 프레임(110)을 분석함으로써, 제1 프레임(110)에 포함된 사용자(p)의 관절에 대응하는 관절 좌표(111)를 획득할 수 있다. 심층 신경망 모델을 이용한 분석을 위해서는 많은 연산량이 요구될 수 있다.
자세 추정 모델 제공 장치는 제2 프레임(120)에 포함된 사용자(p)의 관절에 대응하는 관절 좌표(121)를 획득하기 위한 처리를 수행할 수 있다. 이 경우 제2 프레임(120)에 대해 다시 심층 신경망 모델을 적용하는 경우 과도한 연산량이 요구될 수 있다. 비디오 데이터가 30fps인 것으로 가정하면, 사용자(p)의 움직임 속도를 고려할 때, 제1 프레임(110)과 제2 프레임(120) 사이의 상관관계는 상당히 높을 수 있다. 따라서, 제2 프레임(120)의 관절 좌표(121)를 획득할 때, 제1 프레임(110)의 관절 좌표(111)에 대응하는 특성 벡터와 제2 프레임(120)에 포함된 특성 벡터들 사이의 유사도를 산출하고, 유사도에 기초하여 제2 프레임(120)의 관절 좌표(121)를 획득할 수 있다. 특성 벡터 획득 및 유사도 산출에 요구되는 연산량은 심층 신경망 모델을 이용한 분석에 요구되는 연산량보다 크게 낮을 수 있다. 이로써, 자세 추정 모델의 경량화가 이루어질 수 있다.
도 2는 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치의 구성을 도시하는 블록도이다.
도 2를 참조하면, 일 실시 예에 따른 자세 추정 모델 제공 장치(200)는 통신 회로(210), 메모리(220) 및 프로세서(230)를 포함할 수 있다. 자세 추정 모델 제공 장치(200)는, 예를 들어, 사용자 단말 형태로 구현될 수 있다.
통신 회로(210)는 카메라와 무선 또는 유선으로 통신하도록 구성될 수 있다. 통신 회로(210)는 카메라와 데이터를 송수신할 수 있다. 예를 들어, 통신 회로(210)는 카메라로부터 사용자에 대한 이미지를 포함하는 비디오 데이터를 실시간으로 수신할 수 있다.
메모리(220)는 휘발성 메모리 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(220)는 자세 추정 모델 제공 장치(200)에서 취급되는 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(220)는 자세 추정 모델 제공 장치(200) 내부에서 처리된 데이터 및 심층 신경망 모델 등을 저장할 수 있고, 카메라로부터 수신된 비디오 데이터를 저장할 수도 있다.
프로세서(230)는 통신 회로(210) 및 메모리(220)와 전기적으로 연결될 수 있다. 프로세서(230)는 통신 회로(210) 및 메모리(220)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 도 2에서는 프로세서(230)가 단일의 구성인 것으로 도시되었으나, 복수의 구성으로 분리되어 구현될 수도 있다. 프로세서(230)는 메모리(220)에 저장된 소프트웨어 내지 인스트럭션을 실행함으로써, 이하와 같은 동작을 수행할 수 있다.
일 실시 예에 따르면, 프로세서(230)는 통신 회로(210)를 이용하여 카메라로부터 사용자에 대한 이미지를 포함하는 비디오 데이터를 획득할 수 있다. 프로세서(230)는 비디오 촬영을 수행하고 있는 카메라로부터 실시간으로 비디오 데이터를 수신할 수 있다.
일 실시 예에 따르면, 프로세서(230)는 비디오 데이터에서 분석 주기에 따라 기준 프레임에 해당하는 제1 프레임을 설정할 수 있다. 예를 들어, 분석 주기가 10인 경우, 1번째 프레임, 11번째 프레임 및 21번째 프레임 등을 기준 프레임으로 설정할 수 있다. 분석 주기가 길수록 처리 속도가 향상될 수 있고, 분석 주기가 짧을수록 처리의 정확도가 향상될 수 있으므로, 적절한 주기를 설정할 필요성이 있다. 예를 들어, 프로세서(230)는 분석 주기를 사용자 입력에 따라 조정할 수도 있고, 컴퓨터 디바이스(자세 추정 모델 제공 장치(100))의 리소스에 따라 조정할 수 있다. 프로세서(230)는 프로세서(230)의 속도 및 이용률, 메모리(220)의 사용 가능 영역 및 통신 네트워크 상태 등을 고려하여 리소스가 충분한 경우 분석 주기를 감소시키고, 리소스가 부족한 경우 분석 주기를 증가시킬 수 있다.
일 실시 예에 따르면, 프로세서(230)는 메모리(220)에 미리 저장된 심층 신경망 모델(deep neural network model)을 이용하여 제1 프레임을 분석함으로써, 제1 프레임에 포함된 사용자의 관절에 대응하는 제1 프레임의 관절 좌표를 획득할 수 있다. 프로세서(230)는, 예를 들어, Lite-HRNet 등과 같은 심층 신경망을 이용한 모델을 이용하여 제1 프레임을 분석할 수 있다. 심층 신경망 모델은 많은 연산량을 요구하지만, 정확한 관절 좌표의 추정을 수행할 수 있다.
일 실시 예에 따르면, 프로세서(230)는 제1 프레임을 인코더에 입력함으로써, 제1 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터를 획득할 수 있다. 비디오 데이터에 포함된 각 프레임은, 예를 들어, 256×256×3(가로 × 세로 × RGB)의 이미지일 수 있다. 인코더는 프레임이 입력되면 프레임에 대한 64×64×32(가로 × 세로 × 특성 벡터 성분)의 특성 벡터 맵을 출력할 수 있다.
일 실시 예에 따르면, 프로세서(230)는 제1 프레임에 후속하는 제2 프레임을 인코더에 입력함으로써, 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터를 획득할 수 있다. 프로세서(230)는 연속하는 프레임 각각에 대해 순차적으로 인코더를 이용하여 복수의 특성 벡터를 포함하는 특성 벡터 맵을 획득할 수 있다.
인코더는 ResBlock(3, 64), BatchNorm, AvgPool, ResBlock(64, 256), BatchNorm, ResBlock(256, 256), BatchNorm, ResBlock(256, 32) 및 ReLU 등과 같은 레이어를 순차적으로 포함할 수 있다. ResBlock은 3x3 bottleneck convolution filter를 이용하여 구현될 수 있다. 인코더에 3채널 RGB 이미지(프레임)를 입력하면 1/4 크기의 64채널 특성 맵이 출력될 수 있다. 각각의 ResBlock에 포함된 convolution filter가 이미지의 특정한 3x3 영역에 위치해 있을 때, 해당 영역의 값들과 필터의 파라미터를 element wise로 곱한 뒤 모두 합산하여 하나의 값을 추출할 수 있고, 추출된 값은 행 영역의 정보를 종합한 하나의 특성(feature)으로 볼 수 있다. convolution filter가 이미지 상에서 슬라이딩하면서 모든 3x3 영역에 대해 상술한 작업을 수행하면, 추출된 특성 값들을 포함하는 맵이 생성될 수 있다. 생성된 특성 맵은 ResBlock에 입력된 이미지에 대해 필터링을 수행한 고차원적(high-level) 정보일 수 있다. 특성 맵을 다시 ResBlock에 입력하여 더 고차원적인 특성 맵(high-level feature map)을 추출해내는 과정을 반복하면, 단순히 픽셀 값들의 조합을 포함하는 저차원적인 원본 이미지(예: 프레임)에 비해 고차원적 정보를 포함하는 특성 맵이 획득될 수 있다.
일 실시 예에 따르면, 프로세서(230)는 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터와 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 제2 프레임의 관절 좌표를 획득할 수 있다. 프로세서(230)는 제1 프레임의 특성 벡터 맵에서 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터를 획득할 수 있다. 프로세서(230)는 제2 프레임의 특성 백터 맵에 포함된 64×64개의 특성 벡터를 획득할 수 있다. 프로세서(230)는 제1 특성 벡터와 제2 프레임의 특성 벡터 맵에 포함된 64×64개의 특성 벡터 사이의 유사도를 산출할 수 있다. 프로세서(230)는 제2 프레임의 특성 벡터 맵에 포함된 64×64개의 특성 벡터 중 제1 특성 벡터와 유사도가 가장 높은 제2 특성 벡터를 획득할 수 있다. 프로세서(230)는 제2 특성 벡터에 대응하는 지점의 좌표를 제2 프레임의 관절 좌표로서 획득할 수 있다. 특성 벡터 사이의 유사도는, 예를 들어, 제1 특성 벡터와 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터(제2 프레임의 특성 벡터 맵에 포함된 특성 벡터들) 사이의 거리에 기초하여 산출될 수 있다. 거리 산출에는 L2 distance metric이 적용될 수 있다.
일 실시 예에 따르면, 프로세서(230)는 제1 특성 벡터와 제2 프레임 중 제1 프레임의 관절 좌표의 주변 영역에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도를 비교할 수 있다. 연속하는 프레임 사이의 시간 간격과 사용자의 움직임 속도를 고려할 때, 제1 특성 벡터와 제2 프레임의 특성 벡터 맵 전체를 비교하는 것은 비효율적일 수 있다. 따라서, 제2 프레임의 특성 벡터 맵 중 제1 프레임의 관절 좌표와 인접한 영역에 대응하는 특성 벡터에 대해서만 제1 특성벡터와의 유사도를 산출할 수 있다. 주변 영역의 크기는 사용자의 최대 속도를 고려하여 설정될 수 있다.
일 실시 예에 따르면, 프로세서(230)는 제2 프레임의 관절 좌표에 대응하는 제2 특성 백터와 제2 프레임에 후속하는 제3 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 제3 프레임의 관절 좌표를 획득할 수 있다. 프로세서(230)는 제1 특성 벡터와 유사도가 가장 높은 제2 특성 벡터를 획득할 수 있다. 프로세서(230)는 제3 프레임의 특성 벡터 맵에 포함된 64×64개의 특성 벡터를 획득할 수 있다. 프로세서(230)는 제2 특성 벡터와 제3 프레임의 특성 벡터 맵에 포함된 64×64개의 특성 벡터 사이의 유사도를 산출할 수 있다. 프로세서(230)는 제3 프레임의 특성 벡터 맵에 포함된 64×64개의 특성 벡터 중 제2 특성 벡터와 유사도가 가장 높은 제3 특성 벡터를 획득할 수 있다. 프로세서(230)는 제3 특성 벡터에 대응하는 지점의 좌표를 제3 프레임의 관절 좌표로서 획득할 수 있다. 제3 프레임의 관절 좌표를 획득하는 예시적인 방식에 대해서는 도 4를 참조하여 상세히 설명한다.
일 실시 예에 따르면, 프로세서(230)는 제1 특성 벡터와 제3 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 제1 유사도 및 제2 특성 벡터와 제3 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 제2 유사도에 기초하여 제3 프레임의 관절 좌표를 획득할 수 있다. 프로세서(230)는 제3 프레임의 이전 프레임인 제2 프레임에 대한 제2 특성 벡터와 제3 프레임의 특성 벡터 맵에 포함된 64×64개의 특성 벡터 사이의 제2 유사도를 산출할 수 있다. 프로세서(230)는 이전 프레임과의 제2 유사도뿐만 아니라 기준 프레임(제1 프레임)과의 제1 유사도를 고려할 수 있다. 프로세서(230)는 기준 프레임인 제1 프레임에 대한 제1 특성 벡터와 제3 프레임의 특성 벡터 맵에 포함된 64×64개의 특성 벡터 사이의 제1 유사도를 산출할 수 있다. 프로세서(230)는 제1 유사도와 제2 유사도를 합산하여 유사도가 가장 높은 제3 특성 벡터를 획득할 수 있다. 일 실시 예에 따르면, 제1 유사도와 제2 유사도의 합산 시 제1 유사도와 제2 유사도에는 서로 상이한 가중치가 적용될 수도 있다. 프로세서(230)는 제3 특성 벡터에 대응하는 지점의 좌표를 제3 프레임의 관절 좌표로서 획득할 수 있다. 제3 프레임의 관절 좌표를 획득하는 예시적인 방식에 대해서는 도 5를 참조하여 상세히 설명한다.
상술한 것과 같이, 심층 신경망 모델을 이용하여 기준 프레임에 대한 관절 좌표를 획득한 후, 특성 벡터의 유사도를 이용하여 분석 주기 내의 후속 프레임에 대한 관절 좌표를 획득함으로써, 자세 추정의 정확도를 유지하면서 자세 추정을 위해 요구되는 연산량을 감소시킬 수 있다.
도 3은 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시 예에 따른 경량화된 자세 추정 모델은 비디오 데이터를 획득할 수 있다. 분석 주기는 N으로 설정될 수 있다. 이 경우, 프레임 1, 프레임 N+1 및 프레임 2N+1 등이 기준 프레임으로 설정될 수 있다. 기준 프레임인 프레임 1은 심층 신경망에 의해 분석될 수 있고, 이로써 프레임 1의 관절 좌표가 추정될 수 있다. 프레임 2는 인코더에 입력될 수 있고, 이로써 프레임 2의 특성 맵(또는 특성 벡터 맵)이 출력될 수 있다. 프레임 1의 관절 좌표에 대응하는 특성 벡터와 프레임 2의 특성 맵 사이의 유사도에 기초하여 프레임 2의 관절 좌표가 추정될 수 있다. 다음으로, 프레임 2의 관절 좌표에 대응하는 특성 벡터와 프레임 3의 특성 맵 사이의 유사도에 기초하여 프레임 3의 관절 좌표가 추정될 수 있고, 유사한 방식으로 프레임 4 내지 프레임 N의 관절 좌표가 추정될 수 있다.
다음으로, 다음 기준 프레임에 해당하는 프레임 N+1은 심층 신경망에 의해 분석될 수 있고, 이로써 프레임 N+1의 관절 좌표가 추정될 수 있다. 다음으로, 프레임 N+2 내지 프레임 2N의 관절 좌표는 프레임 2 내지 프레임 N과 각각 유사한 방식으로 특성 맵을 통해 관절 좌표가 추정될 수 있다.
도 4는 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치의 예시적인 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치는 비디오 데이터를 수신할 수 있고, 256×256(가로×세로) 픽셀로 이루어진 제1 프레임(410)을 획득할 수 있다. 제1 프레임(410)은 심층 신경망 모델(440)에 의해 분석될 수 있다. 분석 결과에 의해 제1 프레임(410)의 제1 관절 좌표(411)가 획득될 수 있다. 관절이 16개인 경우, 제1 관절 좌표(411)는 (α1, β1) 내지 (α16, β16)을 포함할 수 있다. 제1 프레임(410)은 인코더(450)에 입력될 수 있고, 인코더(450)에 의해 제1 특성 맵(412)이 획득될 수 있다. 특성 맵에 포함된 특성 백터는 64×64(가로×세로)개일 수 있고, 특성 벡터 각각의 성분의 개수는 32개일 수 있다. 제1 특성 맵(412)에서 제1 관절 좌표(411) (α1, β1) 내지 (α16, β16) 각각에 대응하는 16개의 제1 특성 벡터(413)가 획득될 수 있다.
다음으로, 제1 프레임(410)에 후속하는 제2 프레임(420)이 획득될 수 있다. 제2 프레임(420)은 심층 신경망 모델(440)에 의한 분석 없이 인코더(450)에 입력될 수 있고, 인코더(450)에 의해 제2 특성 맵(421)이 획득될 수 있다. 16개의 제1 특성 벡터(413) 각각과 제2 특성 맵(421)에 포함된 64×64개의 특성 벡터 사이의 제1 거리 맵(422)(64×64×16 (가로×세로×제1 특성 벡터(413)의 개수))이 획득될 수 있다. 제1 거리 맵(422)에 기초하여 제1 특성 벡터(413) 각각과 거리가 가장 가까운 16개의 제2 특성 벡터(423)가 획득될 수 있다. 이로써, 제2 특성 벡터(423) 각각에 대응하는 제2 프레임(420)에 대한 16개의 제2 관절 좌표가 획득될 수 있다.
다음으로, 제2 프레임(420)에 후속하는 제3 프레임(430)이 획득될 수 있다. 제3 프레임(430)은 심층 신경망 모델(440)에 의한 분석 없이 인코더(450)에 입력될 수 있고, 인코더(450)에 의해 제3 특성 맵(431)이 획득될 수 있다. 16개의 제2 특성 벡터(423) 각각과 제3 특성 맵(431)에 포함된 64×64개의 특성 벡터 사이의 제2 거리 맵(432)이 획득될 수 있다. 제2 거리 맵(432)에 기초하여 제2 특성 벡터(423) 각각과 거리가 가장 가까운 16개의 제3 특성 벡터(433)가 획득될 수 있다. 이로써, 제3 특성 벡터(433) 각각에 대응하는 제3 프레임(430)에 대한 16개의 제3 관절 좌표가 획득될 수 있다.
유사한 방식으로, 제3 특성 벡터(433)와 제4 프레임의 비교를 통해 제4 관절 좌표가 획득될 수 있고, 제4 특성 벡터와 제5 프레임의 비교를 통해 제5 관절 좌표가 획득될 수 있다.
도 5는 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치의 예시적인 동작을 설명하기 위한 도면이다. 설명의 편의를 위해 도 4를 참조하여 설명한 특징에 대한 중복 설명은 생략한다.
도 5를 참조하면, 일 실시 예에 따른 경량화된 자세 추정 모델 제공 장치는 비디오 데이터를 수신할 수 있고, 제1 프레임(510)을 획득할 수 있다. 제1 프레임(510)의 제1 관절 좌표(511)는 심층 신경망 모델(540)에 의해 획득될 수 있다. 도 4를 참조하여 설명한 것과 유사한 방식으로 인코더(550)에 의해 제1 특성 맵(512) 및 제1 특성 벡터(513)가 획득될 수 있고, 제2 프레임(520)으로부터 제2 특성 맵(521), 제1 거리 맵(522) 및 제2 특성 벡터(523)가 획득될 수 있다.
다음으로, 제2 프레임(520)에 후속하는 제3 프레임(530)이 획득될 수 있다. 제3 프레임(530)은 심층 신경망 모델(540)에 의한 분석 없이 인코더(550)에 입력될 수 있고, 인코더(550)에 의해 제3 특성 맵(531)이 획득될 수 있다. 추정의 정확도를 향상시키기 위해 제2 거리 맵(532)의 산출 시에는 제2 특성 벡터(523)뿐만 아니라 기준 프레임인 제1 프레임(510)에 대한 제1 특성 벡터(513)가 함께 고려될 수 있다. 16개의 제2 특성 벡터(523) 각각과 제3 특성 맵(531)에 포함된 64×64개의 특성 벡터 사이의 거리 및 제1 특성 벡터(513) 각각과 제3 특성 맵(531)에 포함된 64×64개의 특성 벡터 사이의 거리를 합산하여 제2 거리 맵(532)이 획득될 수 있다. 제2 거리 맵(532)에 기초하여 제1 특성 벡터(513) 및 제2 특성 벡터(523) 각각과 거리가 가장 가까운 16개의 제3 특성 벡터(533)가 획득될 수 있다. 이로써, 제3 특성 벡터(533) 각각에 대응하는 제3 프레임(530)에 대한 16개의 제3 관절 좌표가 획득될 수 있다.
유사한 방식으로, 제1 특성 벡터(513) 및 제3 특성 벡터(533) 각각과 제4 프레임의 비교를 통해 제4 관절 좌표가 획득될 수 있고, 제1 특성 벡터(513) 및 제4 특성 벡터 각각과 제5 프레임의 비교를 통해 제5 관절 좌표가 획득될 수 있다.
도 6은 일 실시 예에 경량화된 자세 추정 모델 제공 방법을 설명하기 위한 흐름도이다.
이하에서는 도 2의 자세 추정 모델 제공 장치(200)가 도 6의 프로세스를 수행하는 것을 가정한다. 또한, 도 6의 설명에서, 자세 추정 모델 제공 장치에 의해 수행되는 것으로 기술된 동작은 프로세서(230)에 의해 제어되는 것으로 이해될 수 있다.
도 6을 참조하면, 단계 610에서, 장치는 사용자에 대한 이미지를 포함하는 비디오 데이터를 획득할 수 있다.
단계 620에서, 장치는 비디오 데이터에서 분석 주기에 따라 기준 프레임에 해당하는 제1 프레임을 설정할 수 있다.
단계 630에서, 장치는 심층 신경망 모델을 이용하여 제1 프레임을 분석함으로써, 제1 프레임에 포함된 사용자의 관절에 대응하는 제1 프레임의 관절 좌표를 획득할 수 있다.
단계 640에서, 장치는 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터와 제1 프레임에 후속하는 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 제2 프레임의 관절 좌표를 획득할 수 있다.
본 문서의 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤 구성요소가 다른 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소를 통하여 연결될 수 있다.
본 문서에서, "~하도록 설정된(adapted to or configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 설정된 (또는 구성된) 프로세서"는 해당 동작들을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU)를 의미할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다.
일 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다.
일 실시 예에 따른 구성 요소(예: 모듈 또는 프로그램 모듈) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소를 더 포함할 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램 모듈)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 일 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.

Claims (10)

  1. 컴퓨팅 디바이스에 의해 실행되는 경량화된 자세 추정 모델(pose estimation model) 제공 방법에 있어서,
    사용자에 대한 이미지를 포함하는 비디오 데이터를 획득하는 단계;
    상기 비디오 데이터에서 분석 주기에 따라 기준 프레임에 해당하는 제1 프레임을 설정하는 단계;
    심층 신경망 모델(deep neural network model)을 이용하여 상기 제1 프레임을 분석함으로써, 상기 제1 프레임에 포함된 상기 사용자의 관절에 대응하는 상기 제1 프레임의 관절 좌표를 획득하는 단계; 및
    상기 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터와 상기 제1 프레임에 후속하는 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 상기 제2 프레임의 관절 좌표를 획득하는 단계를 포함하는 것을 특징으로 하는, 방법.
  2. 제 1 항에 있어서,
    상기 제1 프레임을 인코더에 입력함으로써, 상기 제1 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터를 획득하는 단계; 및
    상기 제2 프레임을 상기 인코더에 입력함으로써, 상기 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터를 획득하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  3. 제 1 항에 있어서,
    상기 제2 프레임의 관절 좌표를 획득하는 단계는,
    상기 제1 특성 벡터와 상기 제2 프레임 중 상기 제1 프레임의 관절 좌표의 주변 영역에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도를 비교하는 단계를 포함하는 것을 특징으로 하는, 방법.
  4. 제 1 항에 있어서,
    상기 제2 프레임의 관절 좌표에 대응하는 제2 특성 백터와 상기 제2 프레임에 후속하는 제3 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 상기 제3 프레임의 관절 좌표를 획득하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  5. 제 1 항에 있어서,
    상기 제1 특성 벡터와 상기 제2 프레임에 후속하는 제3 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 제1 유사도 및 상기 제2 프레임의 관절 좌표에 대응하는 제2 특성 벡터와 상기 제3 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 제2 유사도에 기초하여 상기 제3 프레임의 관절 좌표를 획득하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  6. 제 5 항에 있어서,
    상기 제1 유사도와 상기 제2 유사도에는 서로 상이한 가중치가 적용되는 것을 특징으로 하는, 방법.
  7. 제 1 항에 있어서,
    상기 유사도는 상기 제1 특성 벡터와 상기 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 사이의 거리에 기초하여 산출되는 것을 특징으로 하는, 방법.
  8. 제 1 항에 있어서,
    상기 분석 주기를 사용자 입력 또는 상기 컴퓨팅 디바이스의 리소스에 따라 조정하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  9. 경량화된 자세 추정 모델 제공 장치에 있어서,
    카메라와 통신하도록 구성된 통신 회로;
    메모리; 및
    상기 통신 회로 및 상기 메모리와 전기적으로 연결된 프로세서를 포함하고,
    상기 프로세서는,
    상기 통신 회로를 이용하여 상기 카메라로부터 사용자에 대한 이미지를 포함하는 비디오 데이터를 획득하고,
    상기 비디오 데이터에서 분석 주기에 따라 기준 프레임에 해당하는 제1 프레임을 설정하고,
    상기 메모리에 미리 저장된 심층 신경망 모델을 이용하여 상기 제1 프레임을 분석함으로써, 상기 제1 프레임에 포함된 상기 사용자의 관절에 대응하는 상기 제1 프레임의 관절 좌표를 획득하고,
    상기 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터와 상기 제1 프레임에 후속하는 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 상기 제2 프레임의 관절 좌표를 획득하는 것을 특징으로 하는, 장치.
  10. 컴퓨팅 디바이스에 포함된 적어도 하나의 프로세서에 의해 실행 가능한 명령어가 저장된 컴퓨터 기록 매체에 있어서,
    상기 명령어는, 상기 적어도 하나의 프로세서로 하여금,
    사용자에 대한 이미지를 포함하는 비디오 데이터를 획득하고,
    상기 비디오 데이터에서 분석 주기에 따라 기준 프레임에 해당하는 제1 프레임을 설정하고,
    심층 신경망 모델을 이용하여 상기 제1 프레임을 분석함으로써, 상기 제1 프레임에 포함된 상기 사용자의 관절에 대응하는 상기 제1 프레임의 관절 좌표를 획득하고,
    상기 제1 프레임의 관절 좌표에 대응하는 제1 특성 벡터와 상기 제1 프레임에 후속하는 제2 프레임에 포함된 포인트 각각에 대응하는 복수의 특성 벡터 각각 사이의 유사도에 기초하여 상기 제2 프레임의 관절 좌표를 획득하도록 하는 것을 특징으로 하는, 컴퓨터 기록 매체.
PCT/KR2022/014488 2021-11-24 2022-09-27 경량화된 자세 추정 모델 제공 장치 및 방법 WO2023096133A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210163771A KR20230076644A (ko) 2021-11-24 2021-11-24 경량화된 자세 추정 모델 제공 장치 및 방법
KR10-2021-0163771 2021-11-24

Publications (1)

Publication Number Publication Date
WO2023096133A1 true WO2023096133A1 (ko) 2023-06-01

Family

ID=86539754

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/014488 WO2023096133A1 (ko) 2021-11-24 2022-09-27 경량화된 자세 추정 모델 제공 장치 및 방법

Country Status (2)

Country Link
KR (1) KR20230076644A (ko)
WO (1) WO2023096133A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117058595A (zh) * 2023-10-11 2023-11-14 齐鲁工业大学(山东省科学院) 视频语义特征和可扩展粒度感知时序动作检测方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210027484A1 (en) * 2019-07-25 2021-01-28 Pegatron Corporation Method and device for joint point detection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210027484A1 (en) * 2019-07-25 2021-01-28 Pegatron Corporation Method and device for joint point detection

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DARIO PAVLLO; CHRISTOPH FEICHTENHOFER; DAVID GRANGIER; MICHAEL AULI: "3D human pose estimation in video with temporal convolutions and semi-supervised training", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 28 November 2018 (2018-11-28), 201 Olin Library Cornell University Ithaca, NY 14853 , XP080940138 *
JAEHYUN PAHK, HYUNWOO KWAK, HYUNYOUNG HAN, JUNKWANG KIM, WOOYOUNG JUNG: "Lightening of the high-performance Pose Estimation model in the video using Pointwise Similarity", 2021 KOREAN EMBEDDED ENGINEERING SOCIETY FALL CONFERENCE; NOVEMBER 10 - 12, 2021, KOREAN EMBEDDED ENGINEERING SOCIETY, KOREA, 12 November 2021 (2021-11-12) - 12 November 2021 (2021-11-12), Korea, pages 219 - 223, XP009546559 *
KE SUN; BIN XIAO; DONG LIU; JINGDONG WANG: "Deep High-Resolution Representation Learning for Human Pose Estimation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 25 February 2019 (2019-02-25), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081032951 *
ZHIHUI SU; MING YE; GUOHUI ZHANG; LEI DAI; JIANDA SHENG: "Cascade Feature Aggregation for Human Pose Estimation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 21 February 2019 (2019-02-21), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081162065 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117058595A (zh) * 2023-10-11 2023-11-14 齐鲁工业大学(山东省科学院) 视频语义特征和可扩展粒度感知时序动作检测方法及装置
CN117058595B (zh) * 2023-10-11 2024-02-13 齐鲁工业大学(山东省科学院) 视频语义特征和可扩展粒度感知时序动作检测方法及装置

Also Published As

Publication number Publication date
KR20230076644A (ko) 2023-05-31

Similar Documents

Publication Publication Date Title
WO2018174623A1 (ko) 가상 3차원 심층 신경망을 이용하는 영상 분석 장치 및 방법
WO2018230832A1 (en) Image processing apparatus and method using multi-channel feature map
WO2019184657A1 (zh) 图像识别方法、装置、电子设备及存储介质
US7853052B2 (en) Face identification device
CN111476116A (zh) 一种用于车辆检测跟踪的旋翼无人机系统及检测跟踪方法
WO2020149601A1 (ko) 3d cnn을 이용한 고속 영상 인식 방법 및 장치
EP0844582A3 (en) System and method for detecting a human face
WO2020116768A1 (ko) 영상 처리 장치 및 그 동작방법
WO2023096133A1 (ko) 경량화된 자세 추정 모델 제공 장치 및 방법
WO2015182904A1 (ko) 관심객체 검출을 위한 관심영역 학습장치 및 방법
WO2021101045A1 (en) Electronic apparatus and method for controlling thereof
WO2017099510A1 (ko) 영상 통계정보에 기반한 정지장면 분할장치 및 그 방법
JP7222231B2 (ja) 行動認識装置、行動認識方法及びプログラム
WO2013047954A1 (ko) 배경의 특징점으로부터 획득한 전역 움직임을 이용하여 영상을 안정화하는 영상 촬영 장치 및 방법
WO2019088333A1 (ko) 깊이 맵 정보 기반의 인체 행위 인지 방법 및 그 장치
WO2019045147A1 (ko) 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법
WO2019112385A1 (ko) 비디오 인식을 위한 영상 세그먼트 프레임별 특징점의 시간 정보 인코딩 방법
WO2023080667A1 (ko) Ai 기반 객체인식을 통한 감시카메라 wdr 영상 처리
WO2016104842A1 (ko) 카메라의 왜곡을 고려한 물체 인식 시스템 및 방법
WO2020101121A1 (ko) 딥러닝 기반의 영상분석 방법, 시스템 및 휴대 단말
WO2016021830A1 (ko) Nui 장치에 의해 수집된 동작정보의 보정 방법 및 장치
WO2020171257A1 (ko) 영상 처리 방법 및 그 장치
KR20210124012A (ko) 이미지 인식 방법, 장치 및 저장 매체
WO2020175729A1 (ko) 가우시안 특징점맵과 회귀 기법을 이용한 얼굴 특징점 검출 장치 및 방법
WO2020171258A1 (ko) 영상 처리 방법 및 그 장치

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: 22898816

Country of ref document: EP

Kind code of ref document: A1