WO2023106695A1 - 운동 상태 감지 장치 및 방법 - Google Patents
운동 상태 감지 장치 및 방법 Download PDFInfo
- Publication number
- WO2023106695A1 WO2023106695A1 PCT/KR2022/018521 KR2022018521W WO2023106695A1 WO 2023106695 A1 WO2023106695 A1 WO 2023106695A1 KR 2022018521 W KR2022018521 W KR 2022018521W WO 2023106695 A1 WO2023106695 A1 WO 2023106695A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- exercise
- motion
- skeleton points
- state detection
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000033001 locomotion Effects 0.000 claims abstract description 124
- 230000015654 memory Effects 0.000 claims abstract description 34
- 230000003252 repetitive effect Effects 0.000 claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 19
- 238000001514 detection method Methods 0.000 claims description 85
- 230000036544 posture Effects 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 19
- 230000000284 resting effect Effects 0.000 claims description 5
- 230000007423 decrease Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 210000003127 knee Anatomy 0.000 description 3
- 210000003423 ankle Anatomy 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 210000004072 lung Anatomy 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000037081 physical activity Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
Definitions
- Embodiments disclosed herein relate to an apparatus and method for detecting an exercise state, and more particularly, to an apparatus and method for detecting an exercise state of a user from a photographed image of the user.
- a home training application using a conventional smartphone has a function of providing a video about home training so that the user can learn the exercise motion, and the user's exercise motion based on the image of the user performing the exercise. includes the ability to evaluate
- the conventional home training application has a problem in that the user must activate an interface included in the home training application to start the exercise before starting the exercise, and activate the interface included in the application again after the exercise is finished.
- the conventional home training application has a problem in that the type of exercise must be changed by activating an interface within the home training application whenever another exercise is started after an exercise is ended.
- Korea Patent Registration No. 10-2320960 discloses a motion guide and correction system through which a user can perform home training with accurate motion through a user terminal.
- Embodiments disclosed in this specification are aimed at presenting an exercise state sensing device and method.
- Embodiments disclosed in this specification are intended to provide an exercise state detection device and method capable of automatically determining the start and end of a user's exercise without an input to the user's device by detecting the user's exercise state.
- Embodiments disclosed in this specification are intended to provide an exercise state detection device and method capable of acquiring information on an exercise type and an exercise time by detecting a user's exercise state.
- an exercise state detection device which is a device for detecting a user's home training, includes a plurality of skeletons set for the user's body in an image in which the user is photographed. a controller that obtains arrangement information of points and determines that the user is in an exercise state when a repetitive motion in which a unit motion is repeated a plurality of times is detected from the acquired arrangement change of the skeleton points; and a memory for storing arrangement information of the obtained skeleton points when a repetitive motion is detected.
- an exercise state detection device which is a device for detecting a user's home training
- the method for detecting an exercise state in a computer readable recording medium in which a program for performing the method for detecting an exercise state is recorded is an arrangement of a plurality of skeleton points set for the user's body in an image of the user. obtaining information; and determining that the user is in an exercise state when a repetitive motion in which a unit motion is repeated a plurality of times is detected from the acquired arrangement change of the skeleton points.
- the movement state detection method in a computer program stored in a medium to perform the movement state detection method includes arrangement information of a plurality of skeleton points set for the user's body in an image in which the user is photographed. obtaining; and determining that the user is in an exercise state when a repetitive motion in which a unit motion is repeated a plurality of times is detected from the acquired arrangement change of the skeleton points.
- an exercise state detection device and method capable of acquiring information on an exercise type and an exercise time by detecting a user's exercise state.
- FIG. 1 is a block diagram illustrating a configuration of an exercise state sensing device according to an exemplary embodiment.
- FIGS. 2 and 3 are flowcharts illustrating a motion state detection method according to an exemplary embodiment.
- 4 to 6 are exemplary views of screens provided to an exercise state detection device according to an exemplary embodiment.
- 'Home training' is an exercise that can be performed at home, and may include, for example, full-body exercises such as squats and lunges, and exercises such as barbell deadlifts and kettlebell swings using simple weight training equipment.
- a 'step posture' refers to a posture that a person assumes in stages when performing an exercise motion. That is, a plurality of postures selected step by step among the postures taken in the process of changing body elements while performing a unit motion of one type of exercise are called 'step postures'. For example, in the case of 'squat', a straight posture may be set as the first step posture, and a knee bent posture may be set as the second step posture.
- the device may perform learning on a plurality of step postures selected in a unit motion of one exercise. This will be described later.
- 'Skeleton point' refers to position information of joints in the body.
- the skeleton point is, for example, neck, right shoulder, right elbow, right wrist, left shoulder, left elbow, left wrist, right hip, right knee, right It includes positional information of a total of 13 joints of the ankle, left hip, left knee, and left ankle, for example, 3D coordinate information.
- An exercise state detection device which will be described later, may learn in advance the relative position of a skeleton point with respect to step postures when performing a unit motion of each of a plurality of exercises.
- FIG. 1 is a block diagram illustrating a configuration of an exercise state sensing device according to an exemplary embodiment.
- the apparatus 100 for detecting an exercise state shown in FIG. 1 may obtain the user's skeleton points from a photographed image of the user and determine the user's exercise state based on the acquired arrangement information of the user's skeleton points.
- Such an exercise state detection device 100 may be implemented as an electronic terminal installed with an application capable of interacting with a user or implemented as a server-client system.
- the system includes an electronic terminal installed with an application for online service for interaction with a user can include
- the electronic terminal may be implemented as a computer, a portable terminal, a television, a wearable device, etc. capable of accessing a remote server through a network N or connecting to other terminals and servers.
- the computer includes, for example, a laptop, desktop, or laptop equipped with a web browser
- the portable terminal is, for example, a wireless communication device that ensures portability and mobility.
- a wearable device is a type of information processing device that can be worn directly on the human body, such as, for example, a watch, glasses, accessories, clothes, shoes, etc. can be connected with
- the server may be implemented as a computer capable of communicating with an electronic terminal having an application for interaction with a user or a web browser installed thereon, or as a cloud computing server.
- the server may include a storage device capable of storing data or may store data through a third server.
- the exercise state detection device 100 may include an already learned artificial intelligence model (hereinafter referred to as a learning model) or may additionally learn a learning model while including an already learned model.
- the learning model may be learned using learning images captured from various angles for a plurality of types of exercises in order to learn step postures for home training and simple aerobic exercise.
- the learning image may include an image in which a plurality of people are individually photographed and an image in which a plurality of persons are photographed together.
- the exercise state detection device 100 may allow the learning model to learn step motions for a plurality of types of exercise by inputting learning data based on a plurality of training images to the learning model.
- the arrangement information of the skeleton points of step postures for the unit motion of a plurality of types of exercises is obtained, and the arrangement information of the skeleton points for the sequentially performed step postures is converted into information about the type of exercise.
- the learning model learns to recognize a unit motion for a plurality of types of motion by learning a change in the arrangement information of the skeleton points, and can also learn to discriminate the type of motion.
- the motion state detection device 100 uses an OpenPose-based algorithm to obtain a person from an image for learning. is recognized, and arrangement information of skeleton points for the step posture in which the recognized person operates may be acquired.
- OpenPose is an algorithm that uses multi-GPU-based deep learning to infer body feature points, that is, joints.
- the exercise state detection device 100 may directly photograph the user and obtain arrangement information of the user's skeleton points from the photographed image.
- the algorithm used to obtain the arrangement information of the user's skeleton points in the image of the user may be the above-described open pose-based algorithm.
- the above-described learning model may be learned to determine a type of exercise corresponding to a unit motion by using arrangement information of skeleton points of step postures for unit motions of a plurality of types of motion.
- the learning model for determining the type of motion is the Naive Bayes algorithm, decision tree, support vector machine, K-nearest neighbor algorithm, and deep neural network. (Deep Neural Network).
- the exercise state detecting apparatus 100 may determine the start and end of the user's exercise based on the arrangement information of the user's skeleton points obtained from the photographed image of the user. Specifically, the exercise state detection device 100 recognizes whether the user is performing a unit motion of a specific exercise based on a change in the arrangement of the user's skeleton points obtained from an image captured by the user, using a learning model, and unit It can detect whether an action is repeated or not. Accordingly, when a repetitive motion in which a unit motion is repeatedly performed is detected, the exercise state detection device 100 may determine that the user has started exercising, and may record the type of exercise corresponding to the detected repetitive motion.
- an exercise state detection device 100 may include an input/output unit 110, a control unit 120, a communication unit 130, and a memory 140.
- the input/output unit 110 may include an input unit for receiving an input from a user and an output unit for displaying information such as a result of performing a task or a state of the exercise state detection device 100 .
- the input/output unit 110 may include an operation panel for receiving a user input and a display panel for displaying a screen.
- the input unit included in the input/output unit 110 may include devices capable of receiving various types of user inputs, such as a keyboard, a physical button, a touch screen, a camera, or a microphone.
- the input unit may include a camera that photographs the user.
- the output unit included in the input/output unit 110 may include a display panel or a speaker.
- the input/output unit 110 is not limited thereto and may include a configuration supporting various input/outputs.
- the input/output unit 110 may photograph a user performing home training and output a skeleton point acquired from the controller 120 and a straight line connecting the skeleton points together with the captured image.
- the input/output unit 110 outputs a straight line connecting the skeleton points obtained from the control unit 120 together with the skeleton points so that the user can confirm the operation being performed by the user.
- the input/output unit 110 transmits the result of the user's exercise state detected through the image taken of the user, the type of exercise corresponding to the user's motion, the number of times the user repeatedly performs unit motions, the exercise time, etc. to the control unit 120) and output to the user.
- the controller 120 controls the overall operation of the exercise state detection device 100 and may include a processor such as a CPU or GPU.
- the controller 120 may control other components included in the exercise state detection device 100 to perform an operation corresponding to a user input received through the input/output unit 110 .
- the controller 120 may execute a program stored in the memory 140, read a file stored in the memory 140, or store a new file in the memory 140.
- control unit 120 may receive an image of a user photographed in real time through the input/output unit 110 and obtain arrangement information of the user's skeleton points.
- controller 120 may receive an image captured by the user and obtain arrangement information of the user's skeleton points at each predetermined time point.
- the controller 120 may display the received image together with the skeleton points obtained from the received image and the straight line connecting the skeleton points, and provide the result to the user through the input/output unit 110 .
- the control unit 120 may determine the user's exercise state based on the arrangement information of the skeleton points obtained from the user's photographed image.
- the controller 120 may calculate a skeleton recognition rate, which is a ratio of the number of skeleton points of the user obtained from the received image among the skeleton points set for the body, eg, 13 skeleton points.
- the controller 120 may determine that the user is in a dormant state. Therefore, when receiving an image for the first time, the controller 120 determines the user's exercise state as a rest state, obtains a skeleton point at each predetermined point in time, and calculates a skeleton recognition rate.
- a predetermined rate eg, 80%
- the controller 120 may detect repetition of unit motions from changes in the arrangement of the user's skeleton points.
- the controller 120 may detect whether the user performs a repetitive motion by using a change in arrangement of the user's skeleton points.
- the controller 120 may recognize similarly repeated patterns as unit motions from changes in the arrangement of the user's skeleton points in order to detect whether or not the repetitive motions are performed. Accordingly, the controller 120 may determine that the user is in an exercise state when a repetitive motion in which a unit motion is repeated is detected, and otherwise determine that the user is in an idle state.
- control unit 120 recognizes whether or not to perform a unit motion corresponding to a previously learned type of exercise based on a user's skeleton point arrangement change using a learning model.
- the controller 120 may determine that the user is in a dormant state when a repetitive motion in which a unit motion is repeated two or more times is not detected from the change in arrangement of the user's skeleton points.
- the controller 120 determines that the user is in an exercise state when the calculated skeleton recognition ratio is equal to or greater than a predetermined ratio and a repetitive motion in which the unit motion is repeated a plurality of times is detected by repeatedly recognizing the unit motion from the arrangement change of the user's skeleton points. can judge When the user's exercise state changes from the rest state to the exercise state, the controller 120 may determine that the user has started exercising.
- the controller 120 may continuously determine the type of exercise for the repeated unit motion using the learning model. Accordingly, the controller 120 continuously detects information on the type of exercise for the unit motion performed by the user, and records the type of exercise performed by the user and the number of repetitions of the unit motion in the memory 140 to be described later. there is.
- the controller 120 may determine that the user has finished exercising when it is determined that the user is in a dormant state because no repetitive motion is detected after determining that the user is in an exercise state.
- the controller 120 records the time at which it is determined that the user started exercising and stores it in the memory 140, and when it is determined that the user changes from the exercise state to the rest state, the time is recorded as the exercise end time and the memory ( 140) can be stored.
- the control unit 120 may calculate an exercise time based on the stored exercise start time and exercise end time, and may provide the calculated exercise time to the user through the input/output unit 110 when the user's exercise ends.
- control unit 120 inputs and outputs information on the type of exercise detected while the user is performing the exercise and information on the number of repetitions of the unit motion counted until the end of the exercise along with the user's exercise time at the end of the exercise It can be provided through the unit 110.
- the control unit 120 detects a repetitive motion in which a unit motion is repeated a plurality of times from the acquired arrangement change of the skeleton points, but if the exercise performed by the user is not determined as one of the types of exercises learned by the learning model, the user selects a new type. It can be judged that the exercise of
- control unit 120 receives the name of a new type of exercise from the user through the input/output unit 110, and the arrangement information of the skeleton points obtained from the image captured by the user is used as a new type of exercise. It can be stored in the memory 140 in association with the name.
- the controller 120 may additionally learn the learning model by using the name of the new type of exercise and the arrangement information of the skeleton points obtained from the image captured by the user. Specifically, the control unit 120 learns the learning model using the arrangement information of the skeleton points obtained from the step postures taken sequentially by the user in the unit motion of the new type of exercise, so that in addition to the type of exercise the learning model has already learned, the controller 120 New types of exercise can also be identified.
- the communication unit 130 may perform wired/wireless communication with other devices or networks.
- the communication unit 130 may include a communication module supporting at least one of various wired/wireless communication methods.
- the communication module may be implemented in the form of a chipset.
- the wireless communication supported by the communication unit 130 may be, for example, Wireless Fidelity (Wi-Fi), Wi-Fi Direct, Bluetooth, Ultra-Wide Band (UWB), or Near Field Communication (NFC).
- wired communication supported by the communication unit 130 may be, for example, USB or High Definition Multimedia Interface (HDMI).
- HDMI High Definition Multimedia Interface
- the controller 120 may access and use data stored in the memory 140 or may store new data in the memory 140 . Also, the controller 120 may execute a program installed in the memory 140 .
- the above-described learning model may be stored in the memory 140 .
- the memory 140 may store the user's exercise record, that is, the user's exercise start time and exercise end time, and the type of exercise determined by the controller 120 in association with each other, and the number of unit motions counted by the controller 120 The number of repetitions may also be stored in association with the type of exercise.
- the exercise state detection method according to the embodiment shown in FIGS. 2 to 4 includes steps processed time-sequentially in the exercise state detection device 100 shown in FIG. 1 . Therefore, even if the content is omitted below, the above description of the exercise state detection device 100 shown in FIG. 1 can be applied to the exercise state detection method according to the embodiment shown in FIGS. 2 to 4 .
- FIGS. 2 and 3 will be described below with reference to FIGS. 4 and 6 .
- 4 to 6 are exemplary diagrams for explaining a method for detecting an exercise state according to an exemplary embodiment, and are exemplary views illustrating screens provided to a user by the exercise state detection device 100 .
- FIG. 2 is a flowchart illustrating a method for detecting an exercise state according to an exemplary embodiment.
- the exercise state detection device 100 may receive an image of a user in real time or an image of the user.
- the exercise state detection device 100 may obtain the user's skeleton points from the received image at each predetermined point in time.
- the movement state detection device 100 may obtain the arrangement information of the skeleton points using the open pose algorithm described above (S210).
- the arrangement information of the skeleton points may include information on relative positions between skeleton points sequentially obtained at a plurality of viewpoints according to the movement of the user.
- the exercise state detection apparatus 100 may display a straight line connecting the acquired skeleton points and the skeleton points on the image captured by the user and provide the user with the displayed one.
- the exercise state detection apparatus 100 may determine the user's exercise state based on the arrangement information of the user's skeleton points.
- the apparatus 100 for detecting a motion state may calculate a skeleton recognition ratio, which is the number of skeleton points of the user obtained from a photographed image of the user to the total number of set skeleton points (S220).
- the exercise state detection device 100 determines whether the calculated skeleton recognition rate is greater than or equal to a predetermined rate (S230), and if it is less than the predetermined rate, it may be determined that the user is in a resting state (S240). If the skeleton recognition rate is greater than or equal to a predetermined rate, the movement state detection device 100 may detect repetition of unit motions from changes in the arrangement of skeleton points (S250).
- Steps S220 to S240 will be described later with reference to FIG. 4 .
- the exercise state detection device 100 provides the number of 8 skeleton points acquired from the image captured by the user on the screen among the total number of 13 skeleton points set on the body. can
- the exercise state detection device 100 may calculate a skeleton recognition rate (61.5%) and provide it to the user.
- the movement state detection device 100 may determine that the user is in a resting state when the skeleton recognition rate is less than a predetermined rate, eg, 80%.
- the motion state detection device 100 acquires 13 user's skeleton points from a photographed image of the user, the number of acquired skeleton points 13 and the skeleton recognition rate 100 % can be provided together with the user.
- the movement state detection device 100 may perform step S250.
- the exercise state detection apparatus 100 may calculate the number of skeleton points acquired from the image of the user and the skeleton recognition rate. After a predetermined time point, and as shown in (c) of FIG.
- the exercise state detection device 100 when the number of acquired skeleton points is 8 and the calculated skeleton recognition rate is 61.5%, a predetermined ratio, example For example, since it is less than 80%, it may be determined that the user is in an idle state.
- the exercise state detection device 100 may determine whether a repetitive motion is detected from a change in arrangement of the user's skeleton points (S260).
- the exercise state detection apparatus 100 may determine that the user is in a resting state when a repetitive motion is not detected from a change in the arrangement of the user's skeleton points (S240).
- the apparatus 100 for detecting an exercise state detects a repetitive motion in which a unit motion is repeated a plurality of times from an arrangement change of skeleton points, it may be determined that the user is in an exercise state (S270). If it is determined that the user is in an exercise state, the exercise state detection device 100 may count the number of repetitions of the user's unit motion (S280). The exercise state detection device 100 may sequentially perform each step from S210 to S280 at each predetermined point in time. When the user's repetitive motion is detected and the user's motion state detection device 100 determines that the user is in an exercise state, the exercise state detecting device 100 inputs an arrangement change of skeleton points for the repeated unit motion to the learning model to determine the type of exercise.
- the exercise state detection device 100 may periodically recognize a unit motion and determine a motion type of the recognized unit motion by using a learning model. Through this, when the type of exercise performed by the user is changed, the exercise state detection device 100 may determine and record the changed type of exercise.
- the exercise state detection device 100 may store the time at which it is determined that the user started exercising, and when it is determined that the user changes from the exercise state to the rest state, the time point may be recorded and stored as the exercise end time.
- the exercise state detection device 100 may calculate the user's exercise time based on the stored exercise start time and exercise end time, and may provide the calculated exercise time together when the user's exercise ends.
- the exercise state detection device 100 may provide the number of repetitions of the unit motion counted until the user ends the exercise together with the user's exercise time at the end of the exercise. Furthermore, the exercise state detection device 100 periodically identifies the type of exercise corresponding to the detected unit motion in recording the number of repetitions of each detected unit motion and the type of motion until the user ends the exercise, The number of repetitions of each type of unit operation can be counted and recorded.
- the exercise state detection apparatus 100 may train the learning model to determine the type of exercise corresponding to the unit motion by using the arrangement information of the skeleton points of the step posture for the unit motion (S310).
- the apparatus 100 for detecting a motion state may input arrangement information of skeleton points acquired from an image captured by a user into a learning model (S320).
- the exercise state detection device 100 can determine the type of exercise the user is performing by the learning model (S330), and when the learning model determines the type of exercise the user is performing, the user performs the determined type of exercise. It can be determined by the exercise (S340).
- the exercise state detection device 100 may count the number of repetitions of the unit motion performed by the user (S350).
- the motion state detection device 100 determines that the skeleton recognition rate is equal to or greater than a predetermined rate, and after a predetermined time point, the user is shown in (b) of FIG.
- the exercise state detection device 100 It may be determined that the user has repeated the unit motion.
- the exercise state detection device 100 may count the number of repetitions of a unit motion, display the number of repetitions as shown in (c) of FIG. 5 and provide the number of repetitions to the user.
- the exercise state detection apparatus 100 may determine the type of exercise by inputting the arrangement information of the user's skeleton points acquired in FIGS. 5A and 5B to the learning model.
- the learning model may determine that the user shown in FIG. 5 (a) is performing the 'squat' first step posture by comparing (a) of FIG. .
- the learning model can determine that the user shown in FIG. 5 (b) is performing the 'squat' second step posture by comparing FIG. 5 (b) with the learned step posture for a plurality of types of exercises. there is.
- the exercise state detecting device 100 may display 'squat', which is the type of exercise determined by the learning model, together with the number of repetitions, and provide the user with the displayed information.
- the exercise state detection device 100 determines that the user is performing a new type of exercise and obtains a new type of exercise name from the user. It can be done (S360).
- the exercise state detection apparatus 100 may store the obtained arrangement information of the skeleton points in association with the exercise name obtained from the user (S370).
- the exercise state detection apparatus 100 extracts the arrangement information of the skeleton points for each step posture for the unit motion from among the acquired arrangement information of the skeleton points (S380), and obtains the arrangement information of the skeleton points for the step posture for the unit motion.
- Step S310 of learning the learning model to determine the type of exercise corresponding to the unit motion may be performed using the step S310.
- Steps S360 to S380 will be described later with reference to FIG. 6 .
- the motion state detection device 100 detects a change in the arrangement of the user's skeleton points and detects a repetitive motion of repeating a unit motion a plurality of times, the skeleton points obtained in FIGS. 6A and 6B
- the type of exercise performed by the user can be determined by inputting the arrangement information to the learning model.
- the exercise state detection device 100 will provide the user with the phrase 'A new motion has been detected' as shown in (c) of FIG. 6 .
- the exercise state detection device 100 may receive a new type of exercise name from the user and associate and store the arrangement information of the skeleton points obtained in FIGS. 6A and 6B.
- the exercise state detection apparatus 100 may perform step S310 by extracting arrangement information of skeleton points for each step posture for a unit motion.
- ' ⁇ unit' used in the above embodiments means software or a hardware component such as a field programmable gate array (FPGA) or ASIC, and ' ⁇ unit' performs certain roles.
- ' ⁇ part' is not limited to software or hardware.
- ' ⁇ bu' may be configured to be in an addressable storage medium and may be configured to reproduce one or more processors. Therefore, as an example, ' ⁇ unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
- components and ' ⁇ units' may be implemented to play one or more CPUs in a device or a secure multimedia card.
- the exercise state detection method may be implemented in the form of a computer-readable medium storing instructions and data executable by a computer.
- instructions and data may be stored in the form of program codes, and when executed by a processor, a predetermined program module may be generated to perform a predetermined operation.
- computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
- a computer-readable medium may be a computer recording medium, which is a volatile and non-volatile memory implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data.
- the computer recording medium may be a magnetic storage medium such as HDD and SSD, an optical recording medium such as CD, DVD, and Blu-ray disc, or a memory included in a server accessible through a network.
- the exercise state detection method according to the embodiment described with reference to FIGS. 2 to 6 may be implemented as a computer program (or computer program product) including instructions executable by a computer.
- a computer program includes programmable machine instructions processed by a processor and may be implemented in a high-level programming language, object-oriented programming language, assembly language, or machine language.
- the computer program may be recorded on a tangible computer-readable recording medium (eg, a memory, a hard disk, a magnetic/optical medium, or a solid-state drive (SSD)).
- SSD solid-state drive
- a computing device may include at least some of a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to a low-speed bus and a storage device.
- a processor may include at least some of a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to a low-speed bus and a storage device.
- Each of these components are connected to each other using various buses and may be mounted on a common motherboard or mounted in any other suitable manner.
- the processor may process commands within the computing device, for example, to display graphic information for providing a GUI (Graphic User Interface) on an external input/output device, such as a display connected to a high-speed interface.
- GUI Graphic User Interface
- Examples include instructions stored in memory or storage devices.
- multiple processors and/or multiple buses may be used along with multiple memories and memory types as appropriate.
- the processor may be implemented as a chipset comprising chips including a plurality of independent analog and/or digital processors.
- Memory also stores information within the computing device.
- the memory may consist of a volatile memory unit or a collection thereof.
- the memory may be composed of a non-volatile memory unit or a collection thereof.
- Memory may also be another form of computer readable medium, such as, for example, a magnetic or optical disk.
- a storage device may provide a large amount of storage space to the computing device.
- a storage device may be a computer-readable medium or a component that includes such a medium, and may include, for example, devices in a storage area network (SAN) or other components, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, flash memory, or other semiconductor memory device or device array of the like.
- SAN storage area network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physical Education & Sports Medicine (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
운동 상태 감지 장치 및 방법을 제시하며, 운동 상태 감지 장치 및 방법은 사용자의 홈 트레이닝을 감지하는 장치에 있어서, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하고, 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 제어부; 및 반복 동작이 감지된 경우, 상기 획득된 스켈레톤 포인트의 배열정보를 저장하는 메모리를 포함한다.
Description
본 명세서에서 개시되는 실시 예들은 운동 상태 감지 장치 및 방법에 관한 것으로, 보다 상세하게는 사용자의 모습이 촬영된 영상으로부터 사용자의 운동 상태를 감지하는 운동 상태 감지 장치 및 방법에 관한 것이다.
최근 집에서 맨몸으로 운동을 즐기거나 간단한 운동기구로 자신의 건강을 지키려는 홈 트레이닝에 대한 수요가 증가하고 있다. 또한, 최근 사용자의 신체 활동을 측정하는 스마트 밴드, 스마트 워치 등의 웨어러블 디바이스와 스마트폰의 보급이 활성화됨에 따라 이를 활용한 홈 트레이닝 애플리케이션에 대한 수요도 증가하고 있다.
종래의 스마트폰을 활용한 홈 트레이닝 애플리케이션은 사용자로 하여금 운동 동작을 학습할 수 있도록 홈 트레이닝에 대한 동영상을 제공하는 기능과, 운동을 수행 중인 사용자의 모습을 촬영한 영상을 기초로 사용자의 운동 동작을 평가하는 기능을 포함한다.
그러나 종래의 홈 트레이닝 애플리케이션은 사용자가 운동을 시작하기 전 홈 트레이닝 애플리케이션에 포함된 인터페이스를 활성화하여 운동을 시작하고, 운동이 끝난 뒤에 다시 애플리케이션에 포함된 인터페이스를 활성화해야 하는 문제점이 있었다.
또한, 종래의 홈 트레이닝 애플리케이션은 임의의 운동을 종료한 뒤 다른 운동을 시작할 때마다 홈 트레이닝 애플리케이션 내 인터페이스를 활성화하여 운동의 종류를 변경해야 하는 문제점이 있었다.
관련하여 선행기술문헌인 한국등록특허 10-2320960호는 사용자 단말기를 통해 사용자가 정확한 동작으로 홈 트레이닝할 수 있는 동작 안내 및 교정 시스템에 관한 내용을 개시하고 있다.
그러나 이에 의하더라도 운동 시작과 종료를 자동으로 감지하는 것에 대해서는 제시하지 못한다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시 예들은, 운동 상태 감지 장치 및 방법을 제시하는데 목적이 있다.
본 명세서에서 개시되는 실시 예들은, 사용자의 운동 상태를 감지하여 사용자의 장치에 대한 입력 없이 사용자의 운동 시작과 종료를 자동으로 판단할 수 있는 운동 상태 감지 장치 및 방법을 제시하는 데 목적이 있다.
본 명세서에서 개시되는 실시 예들은, 사용자의 운동 상태를 감지하여 운동 종류와 운동 시간에 대한 정보를 획득할 수 있는 운동 상태 감지 장치 및 방법을 제시하는 데 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시 예에 따르면, 사용자의 홈 트레이닝을 감지하는 장치인 운동 상태 감지 장치는, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하고, 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 제어부; 및 반복 동작이 감지된 경우, 상기 획득된 스켈레톤 포인트의 배열정보를 저장하는 메모리를 포함할 수 있다.
다른 실시 예에 따르면, 사용자의 홈 트레이닝을 감지하는 장치인 운동 상태 감지 장치에 의해 수행되는 운동 상태 감지 방법에 있어서, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하는 단계; 및 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에 따르면, 운동 상태 감지 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체에서 운동 상태 감지 방법은, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하는 단계; 및 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 단계를 포함할 수 있다.
나아가 또 다른 실시 예에 따르면, 운동 상태 감지 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램에서 운동 상태 감지 방법은, 상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하는 단계; 및 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 단계를 포함할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 운동 상태 감지 장치 및 방법을 제시할 수 있다.
또한, 전술한 과제 해결 수단 중 어느 하나에 의하면, 사용자의 운동 상태를 감지하여 사용자의 장치에 대한 입력 없이 사용자의 운동 시작과 종료를 자동으로 판단할 수 있는 운동 상태 감지 장치 및 방법을 제시할 수 있다.
나아가 전술한 과제 해결 수단 중 어느 하나에 의하면, 사용자의 운동 상태를 감지하여 운동 종류와 운동 시간에 대한 정보를 획득할 수 있는 운동 상태 감지 장치 및 방법을 제시할 수 있다.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 운동 상태 감지 장치의 구성을 설명하기 위한 블록도이다.
도 2 내지 도 3은 일 실시예에 따른 운동 상태 감지 방법을 설명하기 위한 순서도이다.
도 4 내지 도 6은 일 실시예에 따른 운동 상태 감지 장치에 제공되는 화면의 예시도이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.
다만 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다.
'홈 트레이닝'은, 집 안에서 할 수 있는 운동으로서, 예를 들어, 스쿼트, 런지 등과 같은 맨몸운동과 간단한 웨이트 트레이닝 기구들을 이용하는 바벨 데드리프트, 케틀벨 스윙 등과 같은 운동을 포함할 수 있다.
'단계 자세'는 사람이 운동 동작을 수행할 때 단계적으로 취하는 자세를 의미한다. 즉 하나의 종류의 운동의 단위 동작을 1회 수행하는 동안에 이루어지는 신체 요소의 변화 과정에서 취하게 되는 자세 중 단계적으로 선정된 복수의 자세를 '단계 자세'라고 한다. 예를 들어, '스쿼트'의 경우, 곧게 선 차려 자세를 첫 번째 단계 자세로 설정하고, 무릎을 구부려 앉은 자세를 두 번째 단계 자세로 설정할 수 있다. 그리고 장치는 하나의 운동의 단위 동작에서 선정된 복수의 단계 자세들에 대한 학습을 수행할 수 있다. 이에 대해서는 후술한다.
'스켈레톤 포인트'는 신체의 관절의 위치 정보를 의미하는데, 이때 스켈레톤 포인트는 예를 들어, 목, 오른쪽 어깨, 오른쪽 팔꿈치, 오른쪽 손목, 왼쪽 어깨, 왼쪽 팔꿈치, 왼쪽 손목, 오른쪽 엉덩이, 오른쪽 무릎, 오른쪽 발목, 왼쪽 엉덩이, 왼쪽 무릎, 왼쪽 발목의 총 13개의 관절의 위치 정보, 예를 들어, 3차원 좌표 정보를 포함한다. 후술될 운동 상태 감지 장치는, 복수의 운동 각각의 단위 동작을 수행할 때의 단계 자세들에 대한 스켈레톤 포인트의 상대적인 위치를 미리 학습할 수 있다.
위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다.
도 1은 일 실시예에 따른 운동 상태 감지 장치의 구성을 설명하기 위한 블록도이다.
도 1에 도시된 운동 상태 감지 장치(100)는 사용자가 촬영된 영상으로부터 사용자의 스켈레톤 포인트를 획득하고, 획득된 사용자의 스켈레톤 포인트의 배열정보에 기초하여 사용자의 운동 상태를 판단할 수 있다.
이와 같은 운동 상태 감지 장치(100)는 사용자와 인터랙션할 수 있는 애플리케이션이 설치된 전자단말기로 구현되거나 서버-클라이언트 시스템으로 구현될 수 있으며, 상기 시스템은 사용자와 인터랙션을 위한 온라인 서비스용 애플리케이션이 설치된 전자단말기를 포함할 수 있다.
이때, 전자단말기는 네트워크(N)를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
이때 서버는 사용자와의 인터랙션을 위한 애플리케이션이나 웹브라우저가 설치된 전자단말기와 네트워크를 통해 통신이 가능한 컴퓨터로 구현되거나, 클라우드 컴퓨팅 서버로 구현될 수도 있다. 또한 서버는, 데이터를 저장할 수 있는 저장장치가 포함되거나, 제3의 서버를 통해 데이터를 저장할 수 있다.
운동 상태 감지 장치(100)는 이미 학습된 인공지능 모델(이하에서는 학습모델)을 포함하거나, 이미 학습된 모델을 포함하면서 학습모델을 추가 학습시킬 수 있다. 학습모델은 홈 트레이닝과 간단한 유산소 운동에 대한 단계 자세를 학습하기 위해 복수의 종류의 운동에 대하여 다양한 각도에서 촬영된 학습용 영상을 이용하여 학습될 수 있다. 이때 학습용 영상은 복수의 사람이 각각 촬영된 영상과 복수의 사람이 함께 촬영된 영상을 포함할 수 있다. 운동 상태 감지 장치(100)는 복수의 학습용 영상에 기초한 학습 데이터를 학습모델에 입력함으로써 복수의 종류의 운동에 대한 단계 동작을 학습모델이 학습하도록 할 수 있다.
구체적으로, 학습용 영상으로부터 사람을 인식하여 복수의 종류의 운동의 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 획득하며, 순차적으로 이루어지는 단계 자세에 대한 스켈레톤 포인트의 배열정보를 운동 종류에 대한 정보와 함께 학습모델에 입력할 수 있다. 학습모델은 스켈레톤 포인트의 배열정보 변화를 학습하여 복수의 종류의 운동에 대한 단위 동작을 인식할 수 있도록 학습되며, 더불어 운동의 종류를 판별하도록 학습될 수 있다.
학습모델을 학습시키는데 이용되는 장치, 예를 들어 학습모델을 운동 상태 감지 장치(100)가 스스로 학습시키는 경우 운동 상태 감지 장치(100)는 오픈포즈(OpenPose) 기반의 알고리즘을 사용하여 학습용 영상으로부터 사람을 인식하고, 인식된 사람이 동작하는 단계 자세에 대한 스켈레톤 포인트의 배열정보를 획득할 수 있다. 이때 오픈포즈(OpenPose)는 멀티 GPU 기반 딥러닝을 이용하여 신체의 특징점, 즉 관절을 추론하는 알고리즘이다.
또한 운동 상태 감지 장치(100)는 사용자를 직접 촬영하고, 촬영된 영상으로부터 사용자의 스켈레톤 포인트의 배열정보를 획득할 수 있다. 이때 사용자가 촬영된 영상에서 사용자의 스켈레톤 포인트의 배열정보를 획득하는데 이용되는 알고리즘은 상술한 오픈포즈 기반의 알고리즘이 될 수 있다.
그리고 상술한 학습모델은 복수의 종류의 운동의 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여, 단위 동작에 대응하는 운동의 종류를 판별하도록 학습될 수 있다.
이때 운동의 종류를 판단하기 위한 학습모델은 나이브 베이즈(Naive Bayes) 알고리즘, 결정트리(Decision Tree), 서포트 벡터 머신(Support Vector Machine), K-최소 근접(K-Nearest Neighbor) 알고리즘, 심층 신경망(Deep Neural Network) 등일 수 있다.
운동 상태 감지 장치(100)는 사용자가 촬영된 영상으로부터 획득된 사용자의 스켈레톤 포인트의 배열정보에 기초하여 사용자의 운동 시작과 종료를 판단할 수 있다. 구체적으로 운동 상태 감지 장치(100)는, 학습모델을 이용하여, 사용자가 촬영되는 영상에서 획득된 사용자의 스켈레톤 포인트의 배열 변화에 기초하여 사용자가 특정 운동의 단위 동작을 수행하고 있는지 인식하고, 단위 동작이 반복되는지 여부를 감지할 수 있다. 그에 따라 운동 상태 감지 장치(100)는 단위 동작이 반복적으로 수행되는 반복 동작이 감지되면 사용자가 운동을 시작하였다고 판단할 수 있으며, 감지된 반복 동작에 대응하는 운동의 종류를 기록할 수 있다.
이하에서는 운동 상태 감지 장치(100)의 구체적인 구성을 설명한다. 도 1을 참조하면, 일 실시예에 따른 운동 상태 감지 장치(100)는 입출력부(110), 제어부(120), 통신부(130) 및 메모리(140)를 포함할 수 있다.
입출력부(110)는 사용자로부터 입력을 수신하기 위한 입력부와, 작업의 수행 결과 또는 운동 상태 감지 장치(100)의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 입출력부(110)는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있다.
구체적으로, 입출력부(110)에 포함되는 입력부는 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 일 실시예에서, 입력부는 사용자를 촬영하는 카메라를 포함할 수 있다.
또한, 입출력부(110)에 포함되는 출력부는 디스플레이 패널 또는 스피커 등을 포함할 수 있다. 다만, 이에 한정되지 않고 입출력부(110)는 다양한 입출력을 지원하는 구성을 포함할 수 있다.
입출력부(110)는 홈 트레이닝을 수행하는 사용자를 촬영하고, 제어부(120)로부터 획득된 스켈레톤 포인트와 스켈레톤 포인트를 연결한 직선을 촬영된 영상과 함께 출력할 수 있다. 입출력부(110)는 제어부(120)로부터 획득된 스켈레톤 포인트를 연결한 직선을 스켈레톤 포인트와 함께 출력함으로써 사용자로 하여금 사용자가 수행하고 있는 동작을 확인하도록 할 수 있다.
나아가 입출력부(110)는 사용자를 촬영한 영상을 통해 감지된 사용자의 운동 상태, 사용자의 동작에 대응하는 운동의 종류, 사용자가 반복 수행한 단위 동작의 수행 횟수, 운동 시간 등에 대한 결과를 제어부(120)로부터 제공받아 사용자에게 출력할 수 있다.
한편 제어부(120)는 운동 상태 감지 장치(100)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 포함할 수 있다. 제어부(120)는 입출력부(110)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 운동 상태 감지 장치(100)에 포함된 다른 구성들을 제어할 수 있다.
예를 들어, 제어부(120)는 메모리(140)에 저장된 프로그램을 실행시키거나, 메모리(140)에 저장된 파일을 읽어오거나, 새로운 파일을 메모리(140)에 저장할 수도 있다.
제어부(120)는 구체적으로, 입출력부(110)를 통해 실시간으로 사용자를 촬영하는 영상을 수신하여 사용자의 스켈레톤 포인트의 배열정보를 획득할 수 있다. 또한, 제어부(120)는 사용자가 촬영된 영상을 수신하여, 기설정된 시점마다 사용자의 스켈레톤 포인트의 배열정보를 획득할 수 있다.
이때 제어부(120)는 수신된 영상에, 수신된 영상으로부터 획득된 스켈레톤 포인트와, 스켈레톤 포인트를 연결한 직선을 함께 표시하여 입출력부(110)를 통해 사용자에게 제공할 수 있다.
제어부(120)는 사용자가 촬영된 영상에서 획득된 스켈레톤 포인트의 배열정보에 기초하여 사용자의 운동 상태를 판단할 수 있다.
제어부(120)는 신체에 대해 설정된 스켈레톤 포인트, 예를 들어, 13개의 스켈레톤 포인트 중 수신된 영상으로부터 획득된 사용자의 스켈레톤 포인트 수의 비율인 스켈레톤 인식비율을 산출할 수 있다.
제어부(120)는 산출된 스켈레톤 인식비율이 소정 비율, 예를 들어, 80% 미만으로 인식되면, 사용자가 휴지 상태라고 판단할 수 있다. 따라서 제어부(120)는 처음 영상을 수신하면, 사용자의 운동 상태를 휴지 상태로 판단하고, 기설정된 시점마다 스켈레톤 포인트를 획득하여 스켈레톤 인식비율을 산출할 수 있다.
제어부(120)는 산출된 스켈레톤 인식비율이 소정 비율, 예를 들어, 80% 이상이면, 사용자의 스켈레톤 포인트의 배열 변화로부터 단위 동작의 반복을 감지할 수 있다.
이때 제어부(120)는 사용자의 스켈레톤 포인트의 배열 변화를 이용하여 사용자가 반복 동작을 수행하는지 여부를 감지할 수 있다. 여기서 제어부(120)는 반복 동작의 수행 여부를 감지하기 위하여, 사용자의 스켈레톤 포인트의 배열 변화로부터 유사하게 반복되는 패턴을 단위 동작으로 인식할 수 있다. 그에 따라 제어부(120)는 단위 동작이 반복되는 반복 동작이 감지되면 사용자가 운동 상태라고 판단하고, 그렇지 않으면 휴지 상태라고 판단할 수 있다.
또는 다른 실시예로서 제어부(120)는 학습모델을 이용하여 사용자의 스켈레톤 포인트 배열 변화로부터 미리 학습된 종류의 운동에 대응하는 단위 동작의 수행 여부를 인식한다. 제어부(120)는 사용자의 스켈레톤 포인트의 배열 변화로부터 단위 동작이 2회 이상 반복되는 반복 동작이 감지되지 않으면, 사용자가 휴지 상태라고 판단할 수 있다.
제어부(120)는 산출된 스켈레톤 인식비율이 소정 비율 이상이고, 사용자의 스켈레톤 포인트의 배열 변화로부터 단위 동작을 반복적으로 인식함으로써, 단위 동작이 복수 회 반복되는 반복 동작이 감지되면, 사용자가 운동 상태라고 판단할 수 있다. 제어부(120)는 사용자의 운동 상태가 휴지 상태에서 운동 상태로 변화하면, 사용자가 운동을 시작하였다고 판단할 수 있다.
제어부(120)는 사용자가 운동을 시작하였다고 판단하면, 지속적으로 학습모델을 이용하여 반복되는 단위 동작에 대한 운동의 종류를 판별할 수 있다. 그에 따라 제어부(120)는 사용자가 수행하는 단위 동작에 대한 운동 종류의 정보를 지속적으로 감지하여, 사용자가 수행하는 운동의 종류와 단위 동작의 반복 횟수를 후술할 메모리(140)에 기록되도록 할 수 있다.
한편, 제어부(120)는 사용자가 운동 상태라고 판단한 이후에 더 이상 반복 동작이 감지되지 않아 사용자가 휴지 상태인 것으로 판단되면, 사용자가 운동을 종료하였다고 판단할 수 있다.
또한 제어부(120)는 사용자가 운동을 시작하였다고 판단한 시각을 기록하여 메모리(140)에 저장하고, 사용자가 운동 상태에서 휴지 상태로 변화하는 것으로 판단되면, 그 시점을 운동 종료 시각으로 기록하여 메모리(140)에 저장할 수 있다. 제어부(120)는 저장된 운동 시작 시각과 운동 종료 시각에 기초하여 운동 시간을 산출할 수 있고, 산출된 운동 시간을 사용자의 운동 종료 시 입출력부(110)를 통해 사용자에게 제공할 수 있다.
또한, 제어부(120)는 사용자가 운동을 수행하는 동안 감지된 운동의 종류에 대한 정보와 운동을 종료할 때까지 카운트했던 단위 동작의 반복 횟수에 대한 정보를 운동 종료 시 사용자의 운동 시간과 함께 입출력부(110)를 통해 제공할 수 있다.
제어부(120)는 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작이 감지되었으나, 사용자가 수행하는 운동이 학습모델이 학습한 운동의 종류 중 하나로 판별되지 않으면, 사용자가 새로운 종류의 운동을 수행하고 있다고 판단할 수 있다.
이때 제어부(120)는 사용자에게 입출력부(110)를 통해 새로운 종류의 운동의 명칭을 입력 받으며, 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 새로운 종류의 운동으로서 사용자로부터 입력 받은 운동의 명칭에 연관하여 메모리(140)에 저장할 수 있다.
그리고 제어부(120)는 새로운 종류의 운동의 명칭과, 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 이용하여 학습모델을 추가적으로 학습시킬 수 있다. 구체적으로 제어부(120)는 새로운 종류의 운동의 단위 동작에서 사용자가 순차적으로 취한 단계 자세로부터 각각 획득한 스켈레톤 포인트의 배열정보들을 이용하여 학습모델을 학습시킴으로써, 학습모델이 이미 학습한 종류의 운동 외에 새로운 종류의 운동도 판별하도록 할 수 있다.
한편 통신부(130)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(130)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.
통신부(130)가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra-Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부(130)가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.
메모리(140)에는 파일, 어플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 제어부(120)는 메모리(140)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(140)에 저장할 수도 있다. 또한, 제어부(120)는 메모리(140)에 설치된 프로그램을 실행할 수도 있다.
메모리(140)에는 상술한 학습모델이 저장될 수 있다. 또한, 메모리(140)는 사용자의 운동 기록, 즉 사용자의 운동 시작 시각과 운동 종료 시각 및 제어부(120)가 판단한 운동의 종류가 연관되어 저장될 수 있고, 제어부(120)가 카운트한 단위 동작의 반복 횟수도 운동 종류와 연관하여 저장될 수 있다.
한편 도 2 내지 도 4에 도시된 실시예에 따른 운동 상태 감지 방법은 도 1에 도시된 운동 상태 감지 장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1에 도시된 운동 상태 감지 장치(100)에 관하여 이상에서 기술한 내용은 도 2 내지 도 4에 도시된 실시예에 따른 운동 상태 감지 방법에도 적용될 수 있다.
또한, 도 2 내지 도 3은 도 4 내지 도 6을 참조하여 이하에서 후술된다. 도 4 내지 도 6은 일 실시예에 따른 운동 상태 감지 방법을 설명하기 위한 예시도로서, 운동 상태 감지 장치(100)가 사용자에게 제공하는 화면을 나타내는 예시도이다.
도 2는 일 실시예에 따른 운동 상태 감지 방법을 설명하기 위한 순서도이다.
일 실시예에 의하면 운동 상태 감지 장치(100)는 실시간으로 사용자를 촬영하는 영상을 수신하거나, 사용자가 촬영된 영상을 수신할 수 있다. 운동 상태 감지 장치(100)는 기설정된 시점마다 수신한 영상으로부터 사용자의 스켈레톤 포인트를 획득할 수 있다. 이때, 운동 상태 감지 장치(100)는 상술한 오픈포즈 알고리즘을 이용하여 스켈레톤 포인트의 배열정보를 획득할 수 있다(S210). 이때 스켈레톤 포인트의 배열정보는 사용자의 움직임에 따라 복수의 시점에 순차적으로 획득된 스켈레톤 포인트들 사이의 상대적 위치에 대한 정보를 포함할 수 있다.
이때 운동 상태 감지 장치(100)는 획득된 스켈레톤 포인트들과 스켈레톤 포인트 사이를 연결한 직선을 사용자가 촬영한 영상위에 표시하여 사용자에게 제공할 수 있다.
운동 상태 감지 장치(100)는 사용자의 스켈레톤 포인트의 배열정보에 기초하여 사용자의 운동 상태를 판단할 수 있다.
운동 상태 감지 장치(100)는 설정된 전체 스켈레톤 포인트의 수에 대한 사용자가 촬영된 영상으로부터 획득된 사용자의 스켈레톤 포인트의 수인 스켈레톤 인식비율을 산출할 수 있다(S220). 운동 상태 감지 장치(100)는 산출한 스켈레톤 인식비율이 소정 비율 이상인지 판단하여(S230), 소정 비율 미만인 경우 사용자가 휴지 상태라고 판단할 수 있다(S240). 운동 상태 감지 장치(100)는 스켈레톤 인식비율이 소정비율 이상이면, 스켈레톤 포인트의 배열 변화로부터 단위 동작의 반복을 감지할 수 있다(S250).
S220 내지 S240단계와 관련하여 도 4를 참조하여 후술한다. 도 4의 (a)에 도시된 바와 같이, 운동 상태 감지 장치(100)는 신체에 설정된 전체 스켈레톤 포인트 수 13개 중 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 수 8개를 화면에 함께 제공할 수 있다. 또한, 도 4의 (a)에 도시된 바와 같이 운동 상태 감지 장치(100)는 스켈레톤 인식비율(61.5%)을 산출하여 사용자에게 제공할 수 있다. 운동 상태 감지 장치(100)는 스켈레톤 인식비율이 소정비율, 예를 들어, 80% 미만인 경우 사용자가 휴지 상태인 것으로 판단할 수 있다.
또한, 운동 상태 감지 장치(100)는 도 4의 (b)에 도시된 바와 같이 사용자가 촬영된 영상에서 사용자의 스켈레톤 포인트 13개를 획득하면, 획득된 스켈레톤 포인트의 수 13개와, 스켈레톤 인식비율 100%를 사용자에게 함께 제공할 수 있다. 이때 운동 상태 감지 장치(100)는 스켈레톤 인식비율이 소정비율, 예를 들어, 80% 이상이 되었으므로 S250 단계를 수행할 수 있다. 운동 상태 감지 장치(100)는 사용자가 촬영된 영상에서 획득된 스켈레톤 포인트의 수와 스켈레톤 인식비율을 산출할 수 있다. 기설정된 시점 이후, 그리고 도 4의 (c)에 도시된 바와 같이 운동 상태 감지 장치(100)는 획득된 스켈레톤 포인트의 수가 8개이고, 산출된 스켈레톤 인식비율이 61.5%이면, 기설정된 소정비율, 예를 들어, 80% 미만이므로, 사용자가 휴지 상태라고 판단할 수 있다.
S250단계 이후 운동 상태 감지 장치(100)가 사용자의 스켈레톤 포인트의 배열 변화로부터 반복 동작이 감지되는지 판단할 수 있다(S260). 운동 상태 감지 장치(100)는 사용자의 스켈레톤 포인트의 배열 변화로부터 반복 동작이 감지되지 않으면, 사용자가 휴지 상태라고 판단할 수 있다(S240).
한편, 운동 상태 감지 장치(100)가 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작을 감지하면, 사용자가 운동 상태라고 판단할 수 있다(S270). 사용자가 운동 상태라고 판단되면, 운동 상태 감지 장치(100)는 사용자의 단위 동작 반복 횟수를 카운트할 수 있다(S280). 운동 상태 감지 장치(100)는 기설정된 시점마다 S210 내지 S280의 각 단계를 순차적으로 수행할 수 있다. 그리고 운동 상태 감지 장치(100)는 사용자의 반복 동작이 감지되어 사용자가 운동 상태라고 판단되면, 반복되는 단위 동작에 대한 스켈레톤 포인트의 배열 변화를 학습 모델에 입력하여 운동 종류를 판별할 수 있다.
나아가 실시예에 따라 운동 상태 감지 장치(100)는 주기적으로 단위 동작을 인식하고, 인식된 단위 동작의 운동 종류를 학습 모델을 이용하여 판별할 수 있다. 이를 통해 운동 상태 감지 장치(100)는 사용자가 수행하는 운동의 종류가 변경되는 경우 변경된 운동의 종류를 판별하여 기록할 수 있다.
이때 운동 상태 감지 장치(100)는 사용자가 운동을 시작하였다고 판단한 시각을 저장하고, 사용자가 운동 상태에서 휴지 상태로 변화하는 것으로 판단되면, 그 시점을 운동 종료 시각으로 기록하여 저장할 수 있다. 운동 상태 감지 장치(100)는 저장된 운동 시작 시각과 운동 종료 시각에 기초하여 사용자의 운동 시간을 산출할 수 있고, 산출된 운동 시간을 사용자의 운동 종료 시 함께 제공할 수 있다.
또한, 운동 상태 감지 장치(100)는 사용자가 운동을 종료할 때까지 카운트했던 단위 동작의 반복 횟수를 운동 종료 시 사용자의 운동 시간과 함께 제공할 수 있다. 나아가 운동 상태 감지 장치(100)는 사용자가 운동을 종료하기 전까지 감지된 각 단위 동작의 반복 횟수와 운동의 종류를 기록함에 있어서, 감지되는 단위 동작에 대응하는 운동의 종류를 주기적으로 식별하여, 운동 종류별 단위 동작의 반복 횟수를 카운트하고 기록할 수 있다.
도 3은 일 실시예에 따른 운동 상태 감지 방법 중 스켈레톤 포인트의 배열정보에 기초하여 운동 종류를 판별하는 방법을 설명하기 위한 순서도이다. 운동 상태 감지 장치(100)는 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여 단위 동작에 대응하는 운동의 종류를 판별하도록 학습모델을 학습시킬 수 있다(S310).
운동 상태 감지 장치(100)는 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 학습모델에 입력할 수 있다(S320). 운동 상태 감지 장치(100)는 학습모델이 사용자가 수행하는 운동의 종류를 판별할 수 있고(S330), 학습모델이 사용자가 수행하는 운동의 종류를 판별하면, 판별된 종류의 운동을 사용자가 수행하는 운동으로 결정할 수 있다(S340). 운동 상태 감지 장치(100)는 사용자가 수행하는 운동의 종류가 판별되면, 사용자가 수행한 단위 동작의 반복 횟수를 카운트할 수 있다(S350).
S320 내지 S350와 관련하여 도 5를 참조하여 후술된다. 운동 상태 감지 장치(100)는 사용자가 촬영된 영상 속에서 사용자가 도 5의 (a)에 도시된 바와 같이, 스켈레톤 인식비율이 소정 비율 이상으로 판단되고, 기설정된 시점 이후 도 5의 (b)에 도시된 바와 같이 사용자의 스켈레톤 포인트의 배열 변화를 감지하고, 기설정된 시점 이후 도 5의 (a)에 도시된 바와 같이 사용자의 스켈레톤 포인트의 배열정보가 획득되면, 운동 상태 감지 장치(100)는 사용자가 단위 동작을 반복하였다고 판단할 수 있다. 운동 상태 감지 장치(100)는 단위 동작의 반복 횟수를 카운트하여 도 5의 (c)와 같이 반복 횟수를 표시하여 사용자에게 제공할 수 있다.
운동 상태 감지 장치(100)는 도 5의 (a)와 도 5의 (b)에서 획득된 사용자의 스켈레톤 포인트의 배열정보를 학습모델에 입력하여 운동의 종류를 판단할 수 있다. 학습모델은 도 5의 (a)를 학습된 복수의 종류의 운동에 대한 단계 자세와 비교하여 도 5의 (a)에서 도시된 사용자가 '스쿼트' 제1단계 자세를 수행하고 있다고 판단할 수 있다. 또한 학습모델은 도 5의 (b)를 학습된 복수의 종류의 운동에 대한 단계 자세와 비교하여 도 5의 (b)에서 도시된 사용자가 '스쿼트' 제2단계 자세를 수행하고 있다고 판단할 수 있다. 운동 상태 감지 장치(100)는 도 5의 (d)에 도시된 바와 같이 학습 모델이 판별한 운동의 종류인 '스쿼트'를 반복 횟수와 함께 표시하여 사용자에게 제공할 수 있다.
다시 도 3에서, 학습모델이 사용자가 수행하는 운동의 종류를 판별하지 못하면, 운동 상태 감지 장치(100)는 사용자가 새로운 종류의 운동을 수행하고 있다고 판단하고, 새로운 종류의 운동 명칭을 사용자로부터 획득할 수 있다(S360). 운동 상태 감지 장치(100)는 획득된 스켈레톤 포인트의 배열정보를 사용자로부터 획득된 운동 명칭에 연관하여 저장할 수 있다(S370). 이때, 운동 상태 감지 장치(100)는 획득된 스켈레톤 포인트의 배열정보 중 단위 동작에 대한 단계 자세별 스켈레톤 포인트의 배열정보를 추출하여(S380), 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여 단위 동작에 대응하는 운동의 종류를 판별하도록 학습모델을 학습시키는 S310 단계를 수행할 수 있다.
S360 단계 내지 S380 단계와 관련하여 도 6을 참조하여 후술된다. 운동 상태 감지 장치(100)는 사용자의 스켈레톤 포인트의 배열 변화를 감지하여 단위 동작을 복수 회 반복하는 반복 동작을 감지하면, 도 6의 (a)와 도 6의 (b)에서 획득된 스켈레톤 포인트의 배열정보를 학습모델에 입력하여 사용자가 수행하는 운동의 종류를 판별할 수 있다.
이때, 운동 상태 감지 장치(100)는 학습모델이 사용자가 수행하는 운동의 종류를 판별하지 못하면 도 6의 (c)에 도시된 바와 같이 '새로운 동작이 감지되었습니다.'라는 문구를 사용자에게 제공할 수 있다.
운동 상태 감지 장치(100)는 사용자로부터 새로운 종류의 운동 명칭을 입력 받아 도 6의 (a)와 도 6의 (b)에서 획득된 스켈레톤 포인트의 배열정보를 연관하여 저장할 수 있다. 운동 상태 감지 장치(100)는 단위 동작에 대한 단계 자세별 스켈레톤 포인트의 배열정보를 추출하여 S310단계를 수행하도록 할 수 있다.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
도 2 내지 도 6을 통해 설명된 실시예에 따른 운동 상태 감지 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
또한 도 2 내지 도 6을 통해 설명된 실시예에 따른 운동 상태 감지 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 도 2 내지 도 6을 통해 설명된 실시예에 따른 운동 상태 감지 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 명세서를 통해 보호받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.
Claims (12)
- 사용자의 홈 트레이닝을 감지하는 장치에 있어서,상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하고, 획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복 동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 제어부; 및반복 동작이 감지된 경우, 상기 획득된 스켈레톤 포인트의 배열정보를 저장하는 메모리를 포함하는, 운동 상태 감지 장치.
- 제1항에 있어서,상기 제어부는,상기 반복 동작이 감지되되, 설정된 전체 스켈레톤 포인트의 수에 대한 상기 사용자가 촬영된 영상으로부터 획득된 상기 사용자의 스켈레톤 포인트 수의 비율인 스켈레톤 인식비율이 소정 비율 이상이면 상기 사용자가 운동 상태라고 판단하는, 운동 상태 감지 장치.
- 제2항에 있어서,상기 제어부는,상기 스켈레톤 인식비율이 소정 비율 이상에서 소정 비율 미만으로 감소하면, 상기 사용자가 휴지 상태라고 판단하는, 운동 상태 감지 장치.
- 제1항에 있어서,상기 메모리는,복수의 종류의 운동의 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여, 단위 동작에 대응하는 운동의 종류를 판별하도록 학습된 학습모델을 저장하고,상기 제어부는,상기 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 상기 학습모델에 입력하여, 상기 사용자가 수행하는 운동의 종류를 판별하고, 상기 사용자가 수행한 단위 동작의 반복 횟수를 카운트하는 운동 상태 감지 장치.
- 제4항에 있어서,상기 제어부는,상기 사용자가 촬영된 영상으로부터 반복 동작이 감지되었으나, 상기 사용자가 수행하는 운동이 상기 학습모델이 학습한 운동의 종류 중 하나로 판별되지 않으면, 상기 사용자가 새로운 종류의 운동을 수행하고 있다고 판단하고, 상기 사용자에게 새로운 종류의 운동의 명칭을 입력 받으며, 상기 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 새로운 종류의 운동으로서 상기 사용자로부터 입력 받은 운동의 명칭에 연관하여 상기 메모리에 저장하는, 운동 상태 감지 장치.
- 사용자의 홈 트레이닝을 감지하는 장치인 운동 상태 감지 장치에 의해 수행되고,상기 사용자가 촬영된 영상에서 상기 사용자의 신체에 대해 설정된 복수의 스켈레톤 포인트의 배열정보를 획득하는 단계; 및획득된 스켈레톤 포인트의 배열 변화로부터 단위 동작이 복수 회 반복되는 반복동작이 감지되면, 상기 사용자가 운동 상태라고 판단하는 단계를 포함하는, 운동 상태 감지 방법.
- 제6항에 있어서,상기 운동 상태 감지 방법은,설정된 전체 스켈레톤 포인트의 수에 대한 상기 사용자가 촬영된 영상으로부터 획득된 상기 사용자의 스켈레톤 포인트 수의 비율인 스켈레톤 인식비율을 산출하는 단계; 및상기 스켈레톤 인식비율이 소정 비율 이상인지 판단하여 소정 비율 이상이면 상기 사용자가 운동 상태라고 판단하는 단계를 더 포함하는, 운동 상태 감지 방법,
- 제7항에 있어서,상기 운동 상태 감지 방법은,상기 스켈레톤 인식비율이 소정 비율 이상인지 판단하여 소정 비율 미만이면 상기 사용자가 휴지 상태라고 판단하는 단계를 더 포함하는, 운동 상태 감지 방법.
- 제6항에 있어서,상기 운동 상태 감지 방법은,상기 운동 상태 감지 장치에 포함된 학습모델이 복수의 종류의 운동의 단위 동작에 대한 단계 자세의 스켈레톤 포인트의 배열정보를 이용하여 단위 동작에 대응하는 운동을 학습하는 단계;상기 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 상기 학습모델에 입력하는 단계;상기 학습모델이 상기 사용자가 수행하는 운동의 종류를 판별하여, 판별된 종류의 운동을 상기 사용자가 수행하는 운동으로 결정하는 단계; 및상기 사용자가 수행한 단위 동작의 반복 횟수를 카운트하는 단계를 더 포함하는, 운동 상태 감지 방법.
- 제9항에 있어서,상기 운동 상태 감지 방법은,상기 사용자가 촬영된 영상으로부터 반복 동작이 감지되었으나, 상기 사용자가 수행하는 운동이 상기 학습모델이 학습한 운동의 종류 중 하나로 판별되지 않으면, 상기 사용자가 새로운 종류의 운동을 수행하고 있다고 판단하고, 상기 사용자로부터 새로운 종류의 운동의 명칭을 입력받는 단계; 및상기 사용자가 촬영된 영상으로부터 획득된 스켈레톤 포인트의 배열정보를 새로운 종류의 운동으로서 상기 사용자로부터 입력 받은 운동의 명칭에 연관하여 저장하는 단계를 더 포함하는, 운동 상태 감지 방법.
- 제10항에 있어서,상기 운동 상태 감지 방법은,상기 사용자로부터 입력 받은 운동의 명칭에 연관하여 저장된 스켈레톤 포인트의 배열정보를 이용하여 상기 학습모델을 상기 새로운 종류의 운동에 대하여 추가 학습시키는 단계를 더 포함하는, 운동 상태 감지 방법.
- 제6항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0176135 | 2021-12-09 | ||
KR20210176135 | 2021-12-09 | ||
KR10-2022-0080686 | 2022-06-30 | ||
KR1020220080686A KR20230087352A (ko) | 2021-12-09 | 2022-06-30 | 운동 상태 감지 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023106695A1 true WO2023106695A1 (ko) | 2023-06-15 |
Family
ID=86730709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/018521 WO2023106695A1 (ko) | 2021-12-09 | 2022-11-22 | 운동 상태 감지 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023106695A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170135003A (ko) * | 2016-05-30 | 2017-12-08 | 재단법인 아산사회복지재단 | 실시간 상지 관절 운동 추적 장치 및 방법 |
KR102034021B1 (ko) * | 2015-08-10 | 2019-10-18 | 한국전자통신연구원 | 헬스케어 유닛 기반 시뮬레이터 및 이를 이용한 시뮬레이션 방법 |
KR20190138969A (ko) * | 2018-06-07 | 2019-12-17 | 삼성전자주식회사 | 생체 정보를 이용하여 운동 정보를 제공하기 위한 전자 장치 및 그의 동작 방법 |
KR20200077775A (ko) * | 2018-12-21 | 2020-07-01 | 삼성전자주식회사 | 전자 장치 및 그의 정보 제공 방법 |
KR20210121616A (ko) * | 2020-03-30 | 2021-10-08 | 주식회사 글로벌더원 | 헬스 케어 장치, 시스템 및 방법 |
-
2022
- 2022-11-22 WO PCT/KR2022/018521 patent/WO2023106695A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102034021B1 (ko) * | 2015-08-10 | 2019-10-18 | 한국전자통신연구원 | 헬스케어 유닛 기반 시뮬레이터 및 이를 이용한 시뮬레이션 방법 |
KR20170135003A (ko) * | 2016-05-30 | 2017-12-08 | 재단법인 아산사회복지재단 | 실시간 상지 관절 운동 추적 장치 및 방법 |
KR20190138969A (ko) * | 2018-06-07 | 2019-12-17 | 삼성전자주식회사 | 생체 정보를 이용하여 운동 정보를 제공하기 위한 전자 장치 및 그의 동작 방법 |
KR20200077775A (ko) * | 2018-12-21 | 2020-07-01 | 삼성전자주식회사 | 전자 장치 및 그의 정보 제공 방법 |
KR20210121616A (ko) * | 2020-03-30 | 2021-10-08 | 주식회사 글로벌더원 | 헬스 케어 장치, 시스템 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3876140A1 (en) | Method and apparatus for recognizing postures of multiple persons, electronic device, and storage medium | |
WO2011081379A2 (en) | Display device and control method thereof | |
WO2020130689A1 (ko) | 놀이 컨텐츠를 추천하는 전자 장치 및 그의 동작 방법 | |
WO2013157848A1 (en) | Method of displaying multimedia exercise content based on exercise amount and multimedia apparatus applying the same | |
CN109769213B (zh) | 用户行为轨迹记录的方法、移动终端及计算机存储介质 | |
US10088901B2 (en) | Display device and operating method thereof | |
CN113569753B (zh) | 视频中的动作比对方法、装置、存储介质与电子设备 | |
US20220358662A1 (en) | Image generation method and device | |
WO2021135864A1 (zh) | 图像处理方法及装置 | |
US20190377755A1 (en) | Device for Mood Feature Extraction and Method of the Same | |
US20230166157A1 (en) | Electronic apparatus and control method therefor | |
WO2019190076A1 (ko) | 시선 추적 방법 및 이를 수행하기 위한 단말 | |
US20210060385A1 (en) | Advancement Manager In A Handheld User Device | |
WO2013125915A1 (en) | Method and apparatus for processing information of image including a face | |
WO2020111637A1 (ko) | 몰입도 운용 방법 및 이를 지원하는 전자 장치 | |
CN110314344B (zh) | 运动提醒方法、装置及系统 | |
WO2019151689A1 (ko) | 전자 장치 및 이의 제어 방법 | |
WO2023106695A1 (ko) | 운동 상태 감지 장치 및 방법 | |
KR20230087352A (ko) | 운동 상태 감지 장치 및 방법 | |
WO2021036717A1 (zh) | 一种目标用户锁定方法及电子设备 | |
US11547904B2 (en) | Exercise assisting device and exercise assisting method | |
WO2020122463A1 (ko) | 가상 현실을 이용한 치매 환자 훈련 시스템 | |
WO2023146030A1 (ko) | 감성, 집중도, 대화를 통합한 인공지능 기반 상호작용 장치, 방법 및 프로그램 | |
KR102363435B1 (ko) | 골프 스윙 동작 피드백 제공 장치 및 방법 | |
WO2020171574A1 (en) | System and method for ai enhanced shutter button user interface |
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: 22904528 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |