WO2023219393A1 - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2023219393A1
WO2023219393A1 PCT/KR2023/006288 KR2023006288W WO2023219393A1 WO 2023219393 A1 WO2023219393 A1 WO 2023219393A1 KR 2023006288 W KR2023006288 W KR 2023006288W WO 2023219393 A1 WO2023219393 A1 WO 2023219393A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
exercise
movement
video
frame
Prior art date
Application number
PCT/KR2023/006288
Other languages
English (en)
French (fr)
Inventor
김홍윤
김길종
김종원
송석우
조현국
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/328,252 priority Critical patent/US20230364465A1/en
Publication of WO2023219393A1 publication Critical patent/WO2023219393A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • This disclosure relates to electronic devices and methods for controlling the same.
  • the present disclosure relates to an electronic device that analyzes a user's exercise motion and provides information about the exercise motion, and a method of controlling the same.
  • the present disclosure has been devised to solve the above-mentioned conventional problems, and embodiments of the present disclosure include an electronic device that provides information on a person's exercise movements in real time without prior learning of physical strength information for each exercise motion posture, and the same. Provides a control method.
  • an electronic device includes a memory including at least one instruction, a processor connected to the memory and controlling the electronic device, and the processor includes the Acquire a video by executing at least one instruction, identify a person and pose data of the person from a plurality of frames of the video, and create a movement pattern corresponding to the plurality of frames using the identified pose data of the person.
  • Obtaining information inputting at least one frame of the video into at least one neural network model to recognize a movement motion of the identified person, obtaining movement characteristic information corresponding to the recognized movement movement, and determining the movement characteristic Based on the information and the movement pattern information, a first frame section and a second frame section different from the first frame section are identified among the plurality of frames of the video, and the first frame section and the second frame section are compared. Thus, information about the exercise movement corresponding to the second frame section is provided.
  • the processor inputs at least one frame of the video into a first neural network model for identifying whether the person's motor movement is a symmetrical movement, identifies whether the person's motor movement is a symmetrical movement, and determines whether the person's motor movement is a symmetrical movement. It is possible to identify whether the person's motor movement is a maintenance movement by inputting at least one frame of the video into a second neural network model for identifying whether the person's exercise movement is a maintenance movement.
  • the first neural network model is learned based on a learning video of a person's movement motion and information about whether the person's movement movement corresponding to the learning video is a symmetrical movement
  • the second neural network model is a learning video of a person's movement movement. It can be learned based on a learning video that captures a motion and information about whether the person's exercise motion corresponding to the learning video is a maintenance motion.
  • the processor may identify the section from the start frame to the first time among the plurality of frames of the video as the first frame section.
  • the processor identifies exercise repetition sections in a plurality of frames of the video based on the exercise pattern information, and based on the identified exercise repetition sections, Among the plurality of frames in the video, the section from the start frame to the frame corresponding to the first number of exercise repetition sections may be identified as the first frame section.
  • the processor is configured to provide a section from the frame in which the first symmetrical motion motion first starts among the plurality of frames of the video to the second time based on the motion pattern information, and a second time. 2
  • the frame corresponding to the section from the frame where the symmetrical movement operation first starts to the second time may be identified as the first frame section.
  • the processor identifies frames corresponding to the first symmetric movement movement and the second symmetric movement movement in the plurality of frames of the video based on the movement pattern information, respectively; , From the start frame among the plurality of frames of the video, the frame corresponding to the first symmetrical movement operation a second number of times and the frame corresponding to the second symmetrical movement operation a second number of times can be identified as the first frame section. there is.
  • the processor may identify a frame at a specific interval from the frame being played as the second frame.
  • the processor identifies the physical strength depletion state when the difference value between the exercise pattern information corresponding to the first frame section and the exercise pattern information for the second frame section is greater than or equal to a preset value.
  • the processor is identified as the physical strength depletion state, , information about the person's exercise movements corresponding to the second frame section can be provided.
  • the processor acquires an original video, and based on an exercise DB (Data Base) in which a plurality of videos including a plurality of exercise movements are stored, a frame corresponding to the person's exercise movement among a plurality of frames included in the original video
  • the video can be obtained by identifying .
  • a method of controlling an electronic device includes the steps of acquiring a video; identifying a person and pose data of the person from a plurality of frames of the video; Obtaining movement pattern information corresponding to the plurality of frames using pose data of the identified person; Recognizing a movement motion of the identified person by inputting at least one frame of the video into at least one neural network model, and acquiring movement characteristic information corresponding to the recognized movement movement; Identifying a first frame section and a second frame section different from the first frame section among a plurality of frames of the video based on the movement characteristic information and the movement pattern information; Comparing the first frame section and the second frame section and providing information about an exercise motion corresponding to the second frame section.
  • the step of acquiring the movement characteristic information includes inputting at least one frame of the video into a first neural network model for identifying whether the person's movement movement is a symmetrical movement, and determining whether the person's movement movement is a symmetrical movement. identifying; And inputting at least one frame of the video into a second neural network model for identifying whether the person's exercise motion is a maintenance motion, thereby identifying whether the person's exercise motion is a maintenance motion. .
  • the first neural network model is learned based on a learning video of a person's movement motion and information about whether the person's movement movement corresponding to the learning video is a symmetrical movement
  • the second neural network model is a learning video of a person's movement movement. It may be characterized as being learned based on a learning video in which a motion is filmed and information about whether the person's exercise motion corresponding to the learning video is a maintenance motion.
  • the step of identifying the first frame section and the second frame section different from the first frame section includes, if the person's movement motion is a symmetric motion and a maintenance motion, from a start frame among the plurality of frames of the video to a first time. identifying a section as the first frame section; may include.
  • a non-transitory computer-readable recording medium including a program for executing a control method of an electronic device according to an embodiment of the present disclosure
  • the program is configured to cause the electronic device to perform an operation corresponding to the control method when the program is executed.
  • the control method of the electronic device includes acquiring a video; identifying a person and pose data of the person from a plurality of frames of the video; Obtaining movement pattern information corresponding to the plurality of frames using pose data of the identified person; Recognizing a movement motion of the identified person by inputting at least one frame of the video into at least one neural network model, and acquiring movement characteristic information corresponding to the recognized movement movement; Identifying a first frame section and a second frame section different from the first frame section among a plurality of frames of the video based on the movement characteristic information and the movement pattern information; Comparing the first frame section and the second frame section and providing information about an exercise motion corresponding to the second frame section.
  • FIG. 1 is a block diagram for explaining an example configuration of an electronic device according to various embodiments of the present disclosure.
  • FIG. 2A is a flowchart illustrating an example operation of an electronic device for providing information about a person's movement motion in a video, according to various embodiments of the present disclosure.
  • FIG. 2B is a flowchart illustrating an example operation of an electronic device for providing information about a person's movement motion in a video, according to various embodiments of the present disclosure.
  • FIG. 3 is a flowchart illustrating an example method of acquiring a video according to various embodiments of the present disclosure.
  • FIG. 4 is a diagram illustrating an example method of identifying a first frame section in a symmetrical motion movement and a maintenance motion motion according to various embodiments of the present disclosure.
  • FIG. 5 is a diagram illustrating an exemplary method of identifying a first frame section in a symmetric motion movement and a non-maintenance motion movement according to various embodiments of the present disclosure.
  • FIG. 6 is a diagram illustrating an exemplary method for identifying whether an interval between the number of times of exercise exceeds a set value in a non-maintenance motion exercise according to various embodiments of the present disclosure.
  • FIG. 7 is a diagram illustrating an example method of identifying a first frame section in an asymmetric motion exercise and a maintenance motion motion according to various embodiments of the present disclosure.
  • FIG. 8 is a diagram illustrating an example method of identifying a first frame section in an asymmetric motion movement and a non-maintenance motion movement according to various embodiments of the present disclosure.
  • FIG. 9 is a diagram illustrating an exemplary method of identifying whether an interval between the number of times of exercise exceeds a set value in a non-maintenance motion exercise according to various embodiments of the present disclosure.
  • FIG. 10 is a diagram illustrating an example method in which an electronic device provides information about exercise movements according to various embodiments of the present disclosure.
  • FIG. 11 is a diagram illustrating an example method in which an electronic device provides information about exercise movements according to various embodiments of the present disclosure.
  • FIG. 12 is a flowchart illustrating an example method of controlling an electronic device according to various embodiments of the present disclosure.
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
  • expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • “A or B,” “at least one of A and B,” or “at least one of A or B” includes (1) at least one A, (2) at least one B, or (3) it may refer to all cases including both at least one A and at least one B.
  • a component e.g., a first component
  • another component e.g., a second component
  • any component may be directly connected to the other component or may be connected through another component (e.g., a third component).
  • a component e.g., a first component
  • another component e.g., a second component
  • no other component e.g., a third component
  • the expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. ,” can be used interchangeably with “designed to,” “adapted to,” “made to,” or “capable of.”
  • the term “configured (or determined) to” may not necessarily mean “specifically designed to” in hardware.
  • the expression “a device configured to” may mean that the device is “capable of” working with other devices or components.
  • the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored on a memory device.
  • a 'module' or 'unit' performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Additionally, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented with at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
  • FIG. 1 is a block diagram for explaining an example configuration of an electronic device according to various embodiments of the present disclosure.
  • memory refers to memory 110, ROM (not shown), RAM (not shown) in the processor 120, or a memory card (not shown) mounted on the electronic device 100 (e.g., micro SD). card, memory stick).
  • memory 110 may store at least one instruction.
  • the instructions may be for controlling the electronic device 100.
  • the memory 110 may store instructions related to a function of providing information about a person's exercise movements in a video.
  • the memory 110 may include a plurality of components (or modules) for providing information about a person's movement movements in a video according to the present disclosure, which will be described later.
  • the processor 120 is electrically connected to the memory 110, may include various processing circuits, and may control the overall operation and functions of the electronic device 100.
  • the processor 120 may provide information about a person's exercise movements included in a video.
  • the processor 120 includes a video acquisition module 10 (e.g., may include various processing circuits and/or executable program instructions), a movement pattern information acquisition module 20 ) (e.g., may include various processing circuits and/or executable program instructions), motion characteristic information acquisition module 30 (e.g., may include various processing circuits and/or executable program instructions).
  • a first frame section identification module 40 (e.g., may include various processing circuits and/or executable program instructions) and an information provision module 50 (e.g., various processing circuits and/or executable program instructions) may include), and program instructions for each module may be stored in the memory 110.
  • an information provision module 50 e.g., various processing circuits and/or executable program instructions
  • a plurality of modules 10 to 50 may be loaded into a memory (eg, volatile memory) included in the processor 120 to provide information about a person's movement movements in a video.
  • the processor 120 may load the plurality of modules 10 to 50 from non-volatile memory to volatile memory and execute each of the plurality of modules 10 to 50. Loading refers to an operation of loading data stored in non-volatile memory into volatile memory and storing the data so that the processor 120 can access it.
  • information about exercise movements may be provided through a plurality of modules 10 to 50 stored in the memory 110 as shown in FIG. 1, but is not limited to this, and the electronic device ( It can be implemented through an external device connected to 100).
  • the plurality of modules 10 to 50 may be implemented as individual software, but the present invention is not limited to this and some modules may be implemented as a combination of hardware and software. In one embodiment, the plurality of modules 10 to 50 may be implemented as one software. Additionally, some modules may be implemented within the electronic device 100, and other modules may be implemented in an external device.
  • the video acquisition module 10 is configured to acquire video footage of a person's exercise movements.
  • the video acquisition module 10 may acquire an original video.
  • the original video may be a video that includes a person's preparatory motion, exercise motion, and exercise cool-down motion, and the video may be a video in which only the frames of the section corresponding to the person's exercise motion are extracted from the original video.
  • the video acquisition module 10 may acquire the original video through a camera or sensor included in the electronic device 100, or acquire the original video through an external device or external server.
  • the electronic device 100 may obtain an original video by photographing a person through the camera or sensor.
  • the electronic device 100 may receive original video from an external device including a camera or sensor.
  • the video acquisition module 10 extracts frames corresponding to human exercise movements from a plurality of frames included in the original video based on an exercise DB (Data Base) in which a plurality of videos including a plurality of exercise movements are stored. can be obtained.
  • an exercise DB Data Base
  • the exercise DB may be a database in which videos containing various exercise movements are stored.
  • the exercise DB may store videos recorded from various angles of a specific person performing various exercise movements.
  • the exercise DB may store videos containing exercise movements, but is not limited to this and may also store specific images corresponding to exercise movements.
  • the video acquisition module 10 may obtain a video containing only the exercise movement section by excluding the person's preparation movement section and exercise cool-down section from the original video. Specifically, the video acquisition module 10 compares the person's exercise motion included in the exercise DB with the original video, leaves only similar frames, and cuts out the remaining frames (for example, frames corresponding to the preparation motion and exercise cool-down motion) to produce the video. It can be obtained.
  • the exercise pattern information acquisition module 20 is configured to acquire pattern information about a person's exercise movements included in a video.
  • pattern information may include speed information, period information, count information, etc. for a person's exercise movements.
  • the movement pattern information acquisition module 20 may perform image analysis (eg, pose estimation) on a video to identify a person and the person's pose data from a plurality of frames of the video.
  • pose data is data that can identify the movement of a person's joints by tracking a specific body part of a person included in a video (for example, joint parts such as elbows, shoulders, and knees).
  • the movement pattern information acquisition module 20 may identify each specific body part of a person in a video as a key point and identify the movements of the identified key points to obtain pose data.
  • the movement pattern information acquisition module 20 may acquire pose data by inputting a video into a pose estimation neural network model capable of identifying pose data. Additionally, the movement pattern information acquisition module 20 may analyze the acquired pose data and obtain movement pattern information (eg, speed information, period information, count information, etc.) corresponding to a plurality of frames of the video.
  • movement pattern information eg, speed information, period information, count information, etc.
  • the exercise characteristic information acquisition module 30 is configured to recognize a person's exercise motion included in a video and acquire exercise characteristic information corresponding to the recognized exercise motion.
  • the exercise characteristic information may be information about whether the person's exercise motion is a symmetrical motion or a maintenance motion.
  • a symmetrical motion is a motion of performing one motion.
  • a push-up exercise, a squat exercise, and a plank exercise may be included in the symmetrical motion.
  • an asymmetric motion is a motion that performs two or more motions.
  • a lunge exercise and a one-handed plank exercise may be included in the asymmetric motion.
  • the first neural network model is a configuration for identifying whether a person's motor movement is a symmetrical movement.
  • a learning video of a person's motor movement is used as input data
  • the human motor movement corresponding to the learning video is a configuration for identifying whether a person's motor movement is a symmetrical movement.
  • Learning can be performed using information about whether it is a symmetrical operation (False / True) as output data.
  • the motor characteristic information acquisition module 30 may input at least one frame of the video into the first neural network model on which learning was performed, and identify whether the motor movement of the person in the video is a symmetrical movement or an asymmetrical movement.
  • the second neural network model is a configuration for identifying whether a person's motor movement is a maintenance movement, and uses a learning video containing a person's motor movement as input data, for example, the human motor movement corresponding to the learning video is a maintenance movement. Learning can be performed using information about whether it is a maintenance operation (False / True) as output data.
  • the motor characteristic information acquisition module 30 may input a video into a learned second neural network model and identify whether a person's motor movement in the video is a maintenance movement or a non-maintenance movement.
  • the motion characteristic information acquisition module 30 inputs at least one frame of the video to the first neural network model to determine that the exercise motion of the person in the video is a symmetrical motion. It is possible to identify, and by inputting at least one frame of the video into the second neural network model, the person's motor motion in the video can be identified as a maintenance motion.
  • the exercise characteristic information acquisition module 30 inputs at least one frame of the video to the first neural network model to determine that the exercise motion of the person in the video is an asymmetric motion. It is possible to identify, and by inputting at least one frame of the video into the second neural network model, the person's motor motion in the video can be identified as a maintenance motion.
  • the exercise characteristic information acquisition module 30 inputs at least one frame of the video to the first neural network model to determine that the exercise motion of the person in the video is an asymmetric motion. It is possible to identify, and by inputting at least one frame of the video into the second neural network model, the person's motor motion in the video can be identified as a non-maintenance motion.
  • motion characteristic information is acquired through two neural network models (a first neural network model and a second neural network model), but the present disclosure is not limited to this, and one neural network model or three or more neural networks Movement characteristic information can be obtained through the model.
  • the movement characteristic information acquisition module 30 inputs at least one frame of the video into the neural network model to determine and maintain whether the person's movement movement in the video is a symmetrical movement or an asymmetrical movement. It is possible to identify whether it is an operation or a non-maintenance operation.
  • the first frame section identification module 40 is configured to identify a frame section corresponding to a movement motion in a reference state among a plurality of frame sections in a video. For example, the first frame section identification module 40 may identify a frame section (first frame section) corresponding to the movement motion in the reference state in the video based on the motion characteristic information and motion pattern information for the video. . That is, the first frame section identification module 40 selects a frame section corresponding to the movement motion of a person's reference state among a plurality of frames included in the video as the first frame, based on the movement characteristic information and movement pattern information for the video. It can be identified by section.
  • the frame section corresponding to the exercise motion in the reference state may be a frame section corresponding to the person's initial exercise motion among the frames included in the video, but whether the person's exercise motion in the video is a symmetrical motion or an asymmetric motion and the maintenance motion. Or, depending on whether it is a non-maintenance operation, each may be identified differently.
  • the first frame section identification module 40 may identify the section from the start frame to the first time in the video as the frame corresponding to the first frame section.
  • the first time may be an initially set value, but is not limited to this and may be a value set by the user of the electronic device 100.
  • the exercise characteristic information acquisition module 30 identifies the person's exercise motion as a symmetric motion and a maintenance motion, and the first frame section identification module 40
  • the section from the start frame of the video to the first time (for example, 5 seconds) can be identified as the first frame section.
  • the first frame section identification module 40 may identify a motion repetition section for each of a plurality of frames of the video based on the motion pattern information.
  • the first frame section identification module 40 performs a movement corresponding to one exercise movement among the human movement movements in the video based on movement pattern information including speed information, period information, and count information for the human movement movement in the video. Repetitive sections can be identified. For example, when the person's exercise motion in the video is a push-up exercise motion, the first frame section identification module 40 selects 1 push-up exercise motion among a plurality of frames of the video based on exercise pattern information for the video. Each frame corresponding to the section performed once can be identified.
  • the first frame section identification module 40 divides the section from the start frame of the video to the frame corresponding to the exercise repetition section the first number of times (for example, n times) into the first frame section. It can be identified by the corresponding frame.
  • the first number of times may be an initially set number of times, but is not limited to this and may be a number of times set by the user of the electronic device 100. For example, if the person's exercise motion in the video is a push-up exercise motion, the first frame section identification module 40 identifies the frame from the start frame of the video to the frame in which the push-up motion is performed the first number of times (e.g., 5 times).
  • the section can be identified as the first frame section.
  • the first frame section identification module 40 determines a second time (for example, from the frame in which the first symmetrical motion motion starts among the frames of the video) based on the motion pattern information. , m seconds) and the frame corresponding to the section from the frame where the second symmetrical motion operation starts to the second time (for example, m seconds) may be identified as the first frame section.
  • the first frame section identification module 40 determines the exercise pattern including speed information, period information, number of times information, etc. for the person's exercise motion in the video. Based on the information, among the exercise movements included in the video, a first exercise section corresponding to the first symmetrical exercise motion and a second exercise section corresponding to the second symmetrical exercise motion can be identified.
  • the first frame section identification module 40 performs the exercise motion of the person in the video while supporting the right hand on the floor based on the exercise pattern information.
  • the plank exercise performed while supporting the left hand on the floor can be identified as the first symmetric exercise motion
  • the plank exercise performed while supporting the left hand on the floor can be identified as the second symmetric exercise motion.
  • the first frame section identification module 40 may identify the frame of the first exercise section corresponding to the first symmetrical motion and the frame of the second exercise section corresponding to the second symmetrical motion in the video.
  • the first frame section identification module 40 is a section from the frame in which the first symmetrical movement first starts among the plurality of frames of the video to the second time (for example, 3 seconds) and the frame in which the second symmetrical movement first starts.
  • the frame corresponding to the section from to the second time eg, 3 seconds may be identified as the first frame section.
  • the first frame section identification module 40 corresponds to the first symmetric motion motion and the second symmetric motion motion among the plurality of frames in the video based on the motion pattern information. Each frame section can be identified.
  • the first frame section identification module 40 selects a frame corresponding to a second number of first symmetrical movement movements and a frame corresponding to a second number of second symmetrical movement movements from a start frame among a plurality of frames of the video as the first frame. It can be identified by section.
  • the second number of times may be an initially set number of times, but is not limited to this and may be a number of times set by the user of the electronic device 100.
  • the first frame section identification module 40 selects a first symmetrical exercise motion in which the person's right foot is bent forward among a plurality of frames in the video based on the exercise pattern information.
  • a frame corresponding to and a frame corresponding to a second movement symmetric movement movement in which the person's left foot is bent forward can be identified, respectively.
  • the first frame section identification module 40 identifies the frame in which the second number of first symmetrical movement operations is performed and the frame in which the second number of second symmetrical movement actions are performed among the plurality of frames in the video as the first frame section. can do.
  • the first frame section identification module 40 detects the start of the video.
  • the section from the frame to the frame in which the second symmetrical movement operation is performed the first second times may be identified as the first frame section.
  • the first frame section identification module 40 detects the first symmetrical motion from the start frame of the video.
  • the frame of the section in which the operation is performed the second number of times and the section from the frame in which the second symmetrical movement operation first starts to the frame in which the second symmetrical movement operation is performed the second number of times may be identified as the first frame section.
  • the information providing module 50 is configured to provide information about the exercise motion by comparing the first frame section with the exercise motion being performed by the person in the current section in the video.
  • the information providing module 50 provides the difference value between the movement pattern information for the first frame section identified through the first frame section identification module 40 and the movement pattern information for the second frame section that is the current frame. can be identified.
  • the second frame section may be a frame at a preset (eg, specific) interval from the currently playing frame.
  • the second frame section may be 10% of the person's one maintenance interval in the maintenance motion video stored in the exercise DB.
  • the second frame interval corresponding to the maintenance motion may be 6 seconds.
  • the second frame section may be a time period required when the person in the symmetrical motion video stored in the exercise DB repeats the motion three times on average, for example, it may be 3 seconds. there is.
  • the information providing module 50 may identify the difference value between the two motion pattern information by using a distance algorithm for comparing the motion pattern information for the first frame section and the motion pattern information for the second frame section. As an example, the information providing module 50 converts a plurality of key points containing movement pattern information into vectors, identifies the closest vector between the converted vectors, and uses the Cosine Distance algorithm to compare the movement pattern information to form two movement patterns. Differences in information can be identified.
  • the information providing module 50 identifies the physical strength as being depleted when the difference between the exercise pattern information for the first frame section and the exercise pattern information for the second frame section is greater than or equal to a preset value (e.g., a specific value). can do.
  • a preset value e.g., a specific value.
  • the preset values may be set differently depending on exercise characteristic information corresponding to the exercise motion being performed by the person in the video.
  • the information providing module 50 may provide information about the second frame section.
  • the information about the second frame section may include information for guiding the person's exercise motion within the second frame section. For example, if the person's exercise motion is a plank exercise motion, "Please lift your buttocks more.” It may be message information such as .
  • the information providing module 50 may display a UI including information about the second frame section on the display of the electronic device 100.
  • the information providing module 50 may output voice including information about the second frame section through the speaker.
  • the present disclosure is not limited to this, and provides information about the second frame section even when the difference between the movement pattern information about the first frame section and the movement pattern information about the second frame section is less than a preset value. can do.
  • the information providing module 50 may provide message information indicating that the exercise operation in the second frame section is being performed well.
  • the electronic device 100 can provide information about a person's exercise movements in real time without prior learning about physical strength information for each exercise motion posture.
  • FIGS. 2A and 2B are flowcharts illustrating example operations of the electronic device 100 for providing information about a person's movement in a video, according to various embodiments of the present disclosure.
  • the electronic device 100 can acquire a video (S201).
  • the video may be a video in which only frames in sections corresponding to human movement movements are extracted from a plurality of frames of the original video acquired by the electronic device 100.
  • the electronic device 100 may acquire an original video related to a person's exercise motion (S310).
  • the electronic device 100 may remove outliers from the original video through outlier analysis and obtain a video related to the exercise motion.
  • Outliers can refer to data that deviates from the general characteristics of given data.
  • the electronic device 100 may identify the outlier through outlier analysis and remove it from the original video.
  • the original video may include an exercise movement section, a warm-up movement section related to the exercise action, and an exercise cool-down section.
  • the electronic device 100 may remove frames for the exercise movement section and exercise clean-up section included in the original video through outlier analysis and obtain a video including the exercise action section.
  • the electronic device 100 compares the original video related to the human exercise motion with the exercise motion included in the exercise DB, calculates the degree of similarity to the exercise motion included in the exercise DB, and includes only frames in which the degree of similarity is greater than or equal to a preset value.
  • Video can be acquired (S320).
  • the electronic device 100 can compare the original video and exercise movements included in the exercise DB using an algorithm (eg, Dynamic Time Warping) that can compare patterns of time series data.
  • the electronic device 100 may acquire movement pattern information based on the video (S202). For example, the electronic device 100 may perform image analysis (eg, pose estimation) on a video to obtain pose data of a person in the video. Additionally, the exercise pattern information acquisition module 20 may analyze the acquired pose data to obtain pattern information (eg, speed information, period information, count information, etc.) about the person's exercise motion.
  • pattern information eg, speed information, period information, count information, etc.
  • the electronic device 100 may obtain user input for analyzing pose data from the user.
  • the body type of the person performing the exercise movement included in the exercise DB may be different from the body type of the user included in the original video. Depending on differences in body shape, it may be difficult to obtain accurate pose data.
  • the electronic device 100 may provide a UI through the display to receive information about the body shape of the person performing the exercise movement included in the exercise DB, and provide information about the body shape through the provided UI. Input can be received from the user.
  • the electronic device 100 may provide a UI for receiving information about the body shape of a person included in a video through a display, and may receive information about the body shape from the user through the provided UI.
  • Body type can mean height, weight, gender, etc.
  • the electronic device 100 may acquire motion characteristic information based on the video (S203).
  • the movement characteristic information may include information about whether the person's movement movement in the video is a symmetrical movement or a maintenance movement.
  • the electronic device 100 uses a first neural network model to identify whether it is a symmetrical motion and a second neural network model to identify whether it is a maintenance motion, so that the exercise motion included in the video is a symmetrical motion and a maintenance motion. It is possible to identify whether it is an action or not.
  • the electronic device 100 may identify whether the movement motion is a symmetrical motion movement (S204).
  • the electronic device 100 may identify whether the exercise motion is a maintenance motion (S205).
  • the electronic device 100 may identify the maintenance section (S206).
  • the electronic device 100 may identify the first N seconds of the maintenance section as the first frame section (S207). For example, the electronic device 100 identifies the maintenance section of the exercise movement in the video based on the exercise pattern information, and defines the section from the start frame of the first maintenance section to N seconds (first time) as the first frame section. It can be identified as:
  • the exercise movement may be a symmetrical movement exercise such as a 'plank' or a holding movement movement.
  • Information about the user's exercise movements in the video may be as shown in FIG. 4.
  • the x-axis represents time
  • the y-axis represents information about the user's movement
  • the graph may represent information about the user's movement.
  • the identified maintenance section may be the first section 410. That is, the first section may be a section in which a plank, a symmetrical movement exercise and a maintenance movement exercise, is being performed.
  • the electronic device 100 may identify the second section 420 corresponding to the first N seconds of the first section as the first frame section.
  • the electronic device 100 may identify the exercise repetition section (S205-N). S208). The electronic device 100 may obtain the exercise interval between exercise repetition sections (S209). The electronic device 100 may identify the front part Y as the first frame section (S210). For example, the electronic device 100 may identify an exercise repetition section based on exercise pattern information. That is, the electronic device 100 creates an exercise repetition section corresponding to one exercise movement among the exercise movements included in the video based on exercise pattern information including speed information, period information, and number of times information about the person's exercise movement. can be identified. The electronic device 100 may obtain the exercise interval between one exercise motion and identify the section from the first exercise motion to the Y number of times (the first number of times) as the first frame section.
  • the exercise movement may be a symmetrical movement exercise such as a 'squat' and may be a non-maintenance movement exercise.
  • Information about the user's exercise movements in the video may be as shown in FIG. 5.
  • the x-axis represents time
  • the y-axis represents information about the user's movement
  • the graph may represent information about the user's movement.
  • the identified exercise repetition sections may be the first section 510, the second section 520, the third section 530, and the fourth section 540. Each section may be a section in which an exercise movement is performed once.
  • the electronic device 100 may identify the first 3 sections 510, 520, and 530 of the exercise repetition section as the first frame section 550.
  • the electronic device 100 can identify whether the same exercise motion as the first frame section continues (S211). For example, the electronic device 100 compares the exercise pattern information of the first frame section with the exercise pattern information of the exercise action currently being performed (the second frame section), and compares the exercise pattern information of the currently being performed exercise action (the exercise of the second frame section). It is possible to identify whether the motion) is the same exercise motion as the first frame section.
  • the electronic device 100 may return to step S202, obtain exercise pattern information for the current exercise motion, and perform subsequent steps. .
  • the electronic device 100 sets the difference value of the exercise pattern information between the first frame section and the current frame section (second frame section) to the first setting. It is possible to identify whether the value (Threshold A) is exceeded (S212). For example, the electronic device 100 may identify the difference between movement pattern information for the first frame section and movement pattern information for the current frame section (second frame section).
  • the electronic device 100 identifies the person in the video as depleted of physical strength. You can do it (S227).
  • the electronic device 100 maintains the exercise movement corresponding to the first frame section. It is possible to identify whether it is a motion exercise (S213).
  • the electronic device 100 may return to step S211 and identify whether to continue the same exercise motion as the current first frame section (S211). ).
  • the electronic device 100 determines the interval between each exercise count. can be obtained (e.g., calculated) (S214). The electronic device 100 may identify whether the interval between each exercise exceeds the second set value (Threshold B) (S215).
  • the electronic device 100 determines the time required for the user to perform the same action in the first frame section and It is possible to identify whether the time required for the user to perform the same operation in the second frame section exceeds a preset setting value.
  • the exercise movement may be a symmetrical movement such as a 'squat' and may be a non-maintenance movement exercise.
  • Information about the user's exercise movements in the video may be as shown in FIG. 6.
  • the first section 610, the second section 620, the third section 630, the fourth section 640, and the fifth section 650 may each be a section in which the exercise movement is performed once.
  • the first frame section 660 may be three sections 610, 620, and 630 of the initial section, and the second frame section may be the fifth section 650.
  • the time taken to perform one exercise movement in each of the first section 610, the second section 620, the third section 630, the fourth section 640, and the fifth section 650 is 5 seconds, It can be 3 seconds, 4 seconds, 7 seconds and 8 seconds.
  • the second set value may be 3 seconds.
  • the interval between each exercise may refer to the time taken to perform one exercise movement in each section.
  • the interval between each exercise may mean the difference from the time required to perform the previous exercise once.
  • the electronic device 100 may compare the average time taken to perform one exercise action in the first frame section 660 with the time taken to perform one exercise action in the second frame section 650. You can. The electronic device 100 calculates the difference between the average time taken to perform one exercise action in the first frame section 660 and the time taken to perform one exercise action in the second frame section 650 to a preset number of seconds. 2 Can be compared with the setting value.
  • the average time taken to perform one exercise movement in the first frame section 660 may be 4 seconds, which is the average time of 5 seconds, 3 seconds, and 4 seconds.
  • the time taken to perform one exercise movement in the second frame section 650 may be 8 seconds.
  • the difference between the average time taken to perform one exercise action in the first frame section 660 and the time taken to perform one exercise action in the second frame section 650 is 4 seconds, and the second set value is Since it is 3 seconds, the electronic device 100 can identify that the interval between each exercise exceeds the second set value.
  • the electronic device 100 calculates the difference between the minimum time required to perform one exercise action in the first frame section 660 and the time required to perform one exercise action in the second frame section. 2 Can be compared with the setting value.
  • the minimum time required to perform one exercise movement in the first frame section 660 may be 3 seconds.
  • the time taken to perform one exercise movement in the second frame section 650 may be 8 seconds.
  • the second set value may be 3 seconds.
  • the difference between 3 seconds, the minimum time required to perform one exercise movement in the first frame section 660, and 8 seconds, the time required to perform one exercise action in the second frame section 650, is 5 seconds. Therefore, the electronic device 100 may identify that the interval between each exercise exceeds the second set value.
  • the electronic device 100 calculates the difference between the maximum time required to perform one exercise action in the first frame section 660 and the time required to perform one exercise action in the second frame section. 2 Can be compared with the setting value. Similar to the above-described method, the electronic device 100 may identify whether the interval between each exercise exceeds the second set value.
  • the electronic device 100 If the interval between the number of times of exercise does not exceed the second set value (Threshold B) (S215-N), the electronic device 100 returns to step S211 and continues the exercise motion corresponding to the first frame section. It is possible to identify whether or not it is done (S211).
  • the electronic device 100 may identify that the physical strength of the person in the video is depleted (S227).
  • step S204 referring to FIG. 2B, if the exercise motion is not a symmetrical motion (S204-N), that is, if the exercise motion is an asymmetric motion, the electronic device 100 may identify whether the exercise motion is a maintenance motion. (S216).
  • the electronic device 100 may identify the maintenance section (S217).
  • the electronic device 100 may identify the first m seconds and the opposite m seconds of the maintenance period as the first frame period (S218). For example, based on the movement pattern information, the electronic device 100 configures the interval from the frame in which the first symmetrical movement motion begins to m seconds (second time) in the video and the frame in which the second symmetrical motion motion first begins.
  • the frame corresponding to the section from to m seconds (second time) can be identified as the first frame section.
  • the exercise movement is an asymmetric movement exercise such as 'one-hand plank', and may be a maintenance movement exercise.
  • Information about the user's exercise movements in the video may be as shown in FIG. 7.
  • the x-axis represents time
  • the y-axis represents information about the user's movement
  • the graph can represent information about the user's movement.
  • the asymmetric movement movement may include a first movement movement and a second movement movement.
  • the front part of the identified maintenance section (the first exercise operation section) may be the first section 710
  • the back part of the maintenance section (the second exercise operation section) may be the second section 720. That is, the exercise in the first section (first exercise action) and the exercise in the second section (second exercise action) may be asymmetric actions.
  • the electronic device 100 may identify the third section 730, corresponding to m seconds in the front of the maintenance section, and the fourth section 740, corresponding to m seconds in the back part of the maintenance section, as the first frame section.
  • the electronic device 100 may identify the exercise repetition section (S219).
  • the electronic device 100 may obtain the exercise interval between exercise repetition sections (S220).
  • the electronic device 100 may identify the front x times and the opposite side x times as the first frame section (S221).
  • the electronic device 100 may display a frame corresponding to the first symmetrical movement operation x times (the second number of times) and a frame corresponding to the second symmetrical movement movement x times (the second number of times) from the start frame of the video. can be identified as the first frame section.
  • the exercise movement may be an asymmetric movement exercise such as a 'lunge' or a non-maintenance movement exercise.
  • Information about the user's exercise movements in the video may be as shown in FIG. 8.
  • the x-axis represents time
  • the y-axis represents information about the user's movement
  • the graph can represent information about the user's movement.
  • the asymmetric movement action may include a first movement action and a second movement action.
  • the identified exercise repetition sections may be the first section 810, the second section 820, the third section 830, the fourth section 840, and the fifth section 850.
  • the repetition section of the first exercise motion may be a first section 810, a third section 830, and a fifth section 850.
  • the repetition section of the second exercise motion may be the second section 820 and the fourth section 840. If x times is 2, the electronic device 100 may identify the sixth section 860, which includes the first exercise operation section twice and the second exercise action section twice, as the first frame section.
  • the electronic device 100 can identify whether the same exercise movement as the current first frame section is continued (S222). For example, the electronic device 100 compares the movement pattern information of the first frame section with the movement pattern information of the current frame section (second frame section), and determines that the movement pattern of the current frame section is the same as that of the first frame section. It is possible to identify whether it is an action or not.
  • the electronic device 100 may return to step S202, obtain exercise pattern information for the current exercise motion, and perform subsequent steps. .
  • the electronic device 100 If the difference value between the movement pattern information for the first frame section and the movement pattern information for the current frame section (second frame section) exceeds the third set value (Threshold C) (S223-Y), the electronic device 100 The physical strength of the person in the video can be identified as depleted (S227).
  • the electronic device 100 can identify whether the exercise motion of the first frame section is a maintenance motion exercise (S224).
  • the electronic device 100 may return to step S222 and identify whether the same exercise motion as that of the first frame section is continued (S222).
  • the electronic device 100 obtains the interval between each exercise count (for example, , operation) can be performed (S225). The electronic device 100 may identify whether the interval between each exercise exceeds the fourth set value (Threshold D) (S226).
  • the exercise movement may be an asymmetrical movement such as a 'lunge' and may be a non-maintenance movement exercise.
  • the asymmetric motion may include a first symmetric motion motion and a second symmetric motion motion.
  • Information about the user's exercise movements in the video may be as shown in FIG. 9.
  • the eighth section 917 and the ninth section 918 may be sections in which the first symmetric movement operation or the second symmetric movement operation is performed once, respectively.
  • the first frame section 960 may be the section 920 in which the asymmetric operation is performed for the first two times, and the second frame section may be the ninth section 930.
  • the time taken to perform the first or second symmetrical movement operation once is 5 seconds, 4 seconds, 4 seconds, 3 seconds, and 5 seconds, respectively. It can be 6 seconds, 7 seconds, 6 seconds and 8 seconds.
  • the fourth set value may be 3 seconds.
  • the interval between each number of exercises may mean the time taken to perform one asymmetric exercise operation (that is, one first symmetric exercise operation and one second symmetric exercise operation).
  • the electronic device 100 may divide the average time taken to perform one asymmetric exercise action in the first frame section 920 into the time taken to perform one asymmetric exercise action in the second frame section 930. can be compared.
  • the electronic device 100 measures the difference between the average time taken to perform one asymmetric exercise action in the first frame section 760 and the time taken to perform one asymmetric exercise action in the second frame section 750. It can be compared with the set fourth setting value.
  • the average time taken to perform one asymmetric exercise motion in the first frame section 760 may be 9 seconds, which is the average time of 9 seconds, 7 seconds, and 11 seconds.
  • the time taken to perform one asymmetric exercise motion in the second frame section 930 may be 15 seconds.
  • the difference between the average time taken to perform one exercise movement in the first frame section 760 and the time taken to perform one exercise action in the second frame section 750 is 6 seconds, and the fourth setting value is Since it is 3 seconds, the electronic device 100 can identify that the interval between each exercise exceeds the fourth set value.
  • the electronic device 100 may determine the difference between the minimum time required to perform one asymmetric exercise operation in the first frame section 760 and the time required to perform one asymmetric exercise action in the second frame section. can be compared with the fourth set value.
  • the minimum time required to perform one asymmetric exercise movement in the first frame section 760 may be 7 seconds.
  • the time taken to perform one asymmetric exercise movement in the second frame section 750 may be 15 seconds.
  • the difference between 7 seconds, the minimum time required to perform one asymmetric exercise movement in the first frame section 760, and 15 seconds, the time required to perform one asymmetric exercise movement in the second frame section 750, is Since it is 8 seconds, the electronic device 100 may identify that the interval between each exercise exceeds the fourth set value.
  • the electronic device 100 calculates the difference between the maximum time required to perform one exercise action in the first frame section 760 and the time required to perform one exercise action in the second frame section. 4 Can be compared with the set value. Similar to the method described above, the electronic device 100 may identify whether the interval between the number of times of exercise exceeds the fourth set value. The interval between the number of times of exercise exceeds the fourth set value (Threshold D). If not (S226-N), the electronic device 100 returns to step S222 and can identify whether to continue the same exercise motion as the current first frame section (S222).
  • the electronic device 100 may identify that the physical strength of the person in the video is depleted (S227).
  • the electronic device 100 may provide information about the exercise movement.
  • Information about the exercise motion may be information about the second frame section.
  • Information about the second frame section may include information for guiding a person's exercise movements within the second frame section.
  • the electronic device 100 may provide information to guide the person's exercise movements within the second frame section. For example, when the person's exercise action is 'squat', the electronic device 100 transmits a voice such as "Please open your chest," as shown in FIG. 10 through the speaker included in the electronic device 100. can be provided. Alternatively, the electronic device 100 may provide an alarm sound to provide information that the user's physical strength is depleted and there is a problem with the posture of the exercise movement.
  • the electronic device 100 may provide the video being filmed through a display included in the electronic device 100. If the user is identified as having depleted physical strength while performing exercise, the electronic device 100 may provide information guiding the posture of the exercise movement within a screen provided through the display.
  • Information that guides the posture of exercise movements is used to indicate specific points on a person's body.
  • the electronic device 100 may provide an exercise motion image 1111 of the person being filmed through the display 1110. . If physical strength is identified as being depleted, the electronic device 100 may also provide an indication 1120 on the display 1110 for specifying a body part to guide the user's exercise movements. The electronic device 100 may provide a message 1130 for guiding a specific body part on the display 1110.
  • the electronic device 100 provides a display 1120 for specifying a body part to guide the user's exercise movement through the display 1110, and the user's exercise movement is performed through a speaker included in the electronic device 100.
  • Voice information that guides movement e.g., “Your hips need to rise higher” can also be provided.
  • FIG. 12 is a diagram for explaining an example control method of an electronic device according to various embodiments of the present disclosure.
  • the electronic device 100 can acquire a video (S1210).
  • the electronic device 100 acquires an original video, and based on an exercise DB (Data Base) in which a plurality of videos including a plurality of exercise movements are stored, a person's exercise motion among a plurality of frames included in the original video is used. You can obtain a video by identifying the frame corresponding to .
  • an exercise DB Data Base
  • the electronic device 100 can identify a person and the person's pose data from a plurality of frames of the video (S1220). For example, the electronic device 100 may obtain pose data by inputting a video into a neural network model capable of identifying pose data.
  • the electronic device 100 may acquire movement pattern information corresponding to a plurality of frames using pose data of the identified person (S1230). For example, the electronic device 100 may identify each specific body part of a person included in a video as a key point and identify the movements of the identified key points to obtain pose data.
  • the electronic device 100 may input at least one frame of the video into at least one neural network model to recognize the movement movement of the identified person and obtain movement characteristic information corresponding to the recognized movement movement (S1240).
  • the exercise characteristic information may be information about whether the person's exercise motion is a symmetrical motion and whether it is a maintenance motion.
  • the electronic device 100 may identify a first frame section and a second frame section different from the first frame section among a plurality of frames of the video based on the movement characteristic information and movement pattern information (S1250). For example, if a person's movement motion is an asymmetric movement and a non-maintenance movement, the frames corresponding to the first symmetric movement movement and the second symmetric movement movement can be identified from a plurality of frames in the video based on the movement pattern information. .
  • a frame corresponding to a second number of first symmetrical movement movements and a frame corresponding to a second number of second symmetrical movement movements from the starting frame may be identified as the first frame section.
  • the electronic device 100 may compare the first frame section and the second frame section and provide information about the exercise motion corresponding to the second frame (S1260).
  • the information about the exercise movement may be information for guiding the person's exercise movement within the second frame section.
  • functions related to artificial intelligence according to the present disclosure may be operated through the processor 120 and memory 110 of the electronic device 100.
  • the processor 120 may be comprised of one or multiple processors.
  • one or more processors may be a general-purpose processor such as a CPU (Central Processing Unit), an AP (Application Processor), or a GPU (Graphics Processing Unit). It may be a processor dedicated to graphics, such as a vision processing unit (VPU), or a processor dedicated to artificial intelligence, such as a neural processing unit (NPU) or a tensor processing unit (TPU).
  • a vision processing unit VPU
  • NPU neural processing unit
  • TPU tensor processing unit
  • the electronic device 100 selects a graphics-only processor or an artificial intelligence-only processor among the plurality of processors. It performs calculations related to artificial intelligence (for example, calculations related to learning or inference of artificial intelligence models), and performs general calculations of electronic devices using a general-purpose processor among a plurality of processors. You can.
  • the electronic device 100 performs an artificial intelligence-related operation using at least one of a GPU, VPU, NPU, and TPU specialized in convolution operations among a plurality of processors, and at least one of a CPU and an AP among the plurality of processors.
  • One can be used to perform general operations of the electronic device 100.
  • the electronic device 100 may perform calculations on functions related to artificial intelligence using multiple cores (eg, dual core, quad core, etc.) included in one processor.
  • electronic devices can perform convolution operations in parallel using multi-cores included in the processor.
  • One or more processors control input data to be processed according to predefined operation rules or artificial intelligence models stored in memory. Predefined operation rules or artificial intelligence models are characterized by being created through learning.
  • An artificial intelligence model may be composed of multiple neural network layers. Each layer has multiple weight values, and layer operations are performed through the operation results of the previous layer and multiple weight values.
  • Examples of neural networks include Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), and Deep Neural Network (BRDNN).
  • CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • RNN Restricted Boltzmann Machine
  • BBM Restricted Boltzmann Machine
  • BBN Deep Belief Network
  • BBN Deep Belief Network
  • BBN Bidirectional Recurrent Deep Neural Network
  • BDN Deep Neural Network
  • a learning algorithm is a method of training a target device (eg, a robot) using a large number of learning data so that the target device can make decisions or make predictions on its own.
  • Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is specified. Except, it is not limited to the examples described above.
  • unit or “module” used in the present disclosure includes a unit comprised of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. You can.
  • a “part” or “module” may be an integrated part, a minimum unit that performs one or more functions, or a part thereof.
  • a module may be comprised of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage media that can be read by a machine (e.g., a computer).
  • the device may read instructions stored from the storage medium.
  • a device capable of calling and operating according to the called instruction may include the electronic device 100 according to the disclosed embodiments.
  • the instruction When the instruction is executed by a processor, the processor directly or under the control of the processor The function corresponding to the command can be performed using other components.
  • the command may include code generated or executed by a compiler or interpreter.
  • a storage medium that can be read by a device is non-transitory. It can be provided in the form of a transitory storage medium. 'Non-transitory' only means that the storage medium does not contain signals and is tangible, and does not distinguish whether the data is stored in the storage medium semi-permanently or temporarily. No.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed on a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or online through an application store (e.g. Play StoreTM).
  • a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • at least a portion of the computer program product may be at least temporarily stored or created temporarily in a storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • Each component may be composed of a single or multiple entities, and some of the above-described sub-components may be omitted or other sub-components may be used. It may be further included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity and perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added. It can be.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 적어도 하나의 인스트럭션을 포함하는 메모리, 메모리와 연결되며 전자 장치를 제어하는 프로세서를 포함하고, 프로세서는 적어도 하나의 인스트럭션을 실행함으로써, 동영상을 획득하고, 동영상의 복수의 프레임으로부터 사람 및 사람의 포즈 데이터를 식별하고, 식별된 사람의 포즈 데이터를 이용하여 복수의 프레임에 대응하는 운동 패턴 정보를 획득하고, 적어도 하나의 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 식별된 사람의 운동 동작을 인식하고, 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하고, 운동 특성 정보 및 운동 패턴 정보를 바탕으로, 동영상의 복수의 프레임 중 제1 프레임 구간 및 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하고, 제1 프레임 구간과 제2 프레임 구간을 비교하여 제2 프레임 구간에 대응하는 운동 동작에 대한 정보를 제공한다.

Description

전자 장치 및 그 제어 방법
본 개시는 전자 장치 및 그 제어 방법에 관한 것이다. 예를 들어, 본 개시는 사용자의 운동 동작을 분석하여 운동 동작에 대한 정보를 제공하는 전자 장치 및 그 제어 방법에 관한 것이다.
종래에는 사전 학습을 통해 사람의 운동 동작 자세에 대응되는 체력 정보를 획득하고, 획득된 체력 정보를 바탕으로 현재 운동 동작에 대한 피드백을 제공할 수 있었다.
이러한, 체력 정보를 획득하기 위해 종래에는 모든 운동 동작 각각에 대응되는 운동 동작 자세를 사전 학습시켜야 되어 사전 학습에 소요되는 비용이 과도한 문제점이 있었다.
본 개시는 상술한 종래의 문제를 해결하기 위해 안출된 것으로, 본 개시의 실시 예들은 운동 동작 자세 각각의 체력 정보에 대한 사전 학습 없이도 실시간으로 사람의 운동 동작에 대한 정보를 제공하는 전자 장치 및 그 제어 방법을 제공한다.
본 개시에 의해 다루어지는 과제는, 이상에서 언급한 과제에 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 예시적 실시 예에 따른 전자 장치는 적어도 하나의 인스트럭션을 포함하는 메모리, 상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 동영상을 획득하고, 상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하고, 상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하고, 적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하고, 상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하고, 상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임 구간에 대응하는 운동 동작에 대한 정보를 제공한다.
상기 프로세서는 사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 대칭 동작인지 여부를 식별하고, 사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 유지 동작인지 여부를 식별할 수 있다.
상기 제1 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지에 대한 정보에 기초하여 학습되며, 상기 제2 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지에 대한 정보에 기초하여 학습될 수 있다.
상기 프로세서는 상기 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 시간까지의 구간을 상기 제1 프레임 구간으로 식별할 수 있다.
상기 프로세서는 상기 사람의 운동 동작이 대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 운동 반복 구간을 각각 식별하고, 상기 식별된 운동 반복 구간을 바탕으로, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 횟수의 운동 반복 구간에 대응하는 프레임까지의 구간을 상기 제1 프레임 구간으로 식별할 수 있다.
상기 프로세서는 상기 사람의 운동 동작이 비대칭 동작 및 유지 동작 운동이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임 중 제1 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간에 대응하는 프레임을 상기 제1 프레임 구간으로 식별할 수 있다.
상기 프로세서는 상기 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임을 각각 식별하고, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 상기 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 상기 제2 대칭 운동 동작에 대응하는 프레임을 상기 제1 프레임 구간으로 식별할 수 있다.
상기 프로세서는 상기 동영상이 재생 중인 경우, 상기 재생 중인 프레임으로부터 특정한 간격 구간의 프레임을 상기 제2 프레임으로 식별할 수 있다.
상기 프로세서는 상기 제1 프레임 구간에 대응되는 운동 패턴 정보와 상기 제2 프레임 구간에 대한 운동 패턴 정보의 차이 값이 기 설정 값 이상인 경우 체력 고갈 상태인 것으로 식별하고, 상기 체력 고갈 상태인 것으로 식별되면, 상기 제2 프레임 구간에 대응되는 상기 사람의 운동 동작에 대한 정보를 제공할 수 있다.
상기 프로세서는 원본 동영상을 획득하고, 복수의 운동 동작을 포함하는 복수의 동영상이 저장된 운동 DB(Data Base)를 바탕으로, 상기 원본 동영상에 포함된 복수의 프레임 중 상기 사람의 운동 동작에 대응되는 프레임을 식별하여 상기 동영상을 획득할 수 있다.
본 개시의 일 예시적 실시 예에 따른 전자 장치의 제어 방법은 동영상을 획득하는 단계; 상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하는 단계; 상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하는 단계; 적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하는 단계; 상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계; 상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임 구간에 대응하는 운동 동작에 대한 정보를 제공하는 단계;를 포함한다.
상기 운동 특성 정보를 획득하는 단계는, 사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 대칭 동작인지 여부를 식별하는 단계; 및 사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 유지 동작인지 여부를 식별하는 단계;를 포함할 수 있다.
상기 제1 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지에 대한 정보에 기초하여 학습되며, 상기 제2 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지에 대한 정보에 기초하여 학습되는 것을 특징으로 할 수 있다.
상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는, 상기 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 시간까지의 구간을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 실행하는 프로그램을 포함하는 비일시적 컴퓨터 판독 가능 기록매체에 있어서, 상기 프로그램은, 상기 프로그램이 실행될 때 상기 전자 장치가 상기 제어 방법에 대응되는 동작을 수행하게 하며, 상기 전자 장치의 제어 방법은, 동영상을 획득하는 단계; 상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하는 단계; 상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하는 단계; 적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하는 단계; 상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계; 상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임 구간에 대응하는 운동 동작에 대한 정보를 제공하는 단계;를 포함한다.
본 개시의 특정 실시 예의 양상 및 다른 양상은 첨부된 도면과 함께 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 본 개시의 다양한 실시예에 따른 전자 장치의 예시적 구성을 설명하기 위한 블록도이다.
도 2A는 본 개시의 다양한 실시예에 따른, 동영상 내 사람의 운동 동작에 대한 정보를 제공하기 위한 전자 장치의 예시적 동작을 설명하기 위한 흐름도이다.
도 2B는 본 개시의 다양한 실시예에 따른, 동영상 내 사람의 운동 동작에 대한 정보를 제공하기 위한 전자 장치의 예시적 동작을 설명하기 위한 흐름도이다.
도 3은 본 개시의 다양한 실시예에 따른 동영상을 획득하는 예시적 방법을 설명하기 위한 흐름도이다.
도 4는 본 개시의 다양한 실시예에 따른 대칭 동작 운동 및 유지 동작 운동에서 제1 프레임 구간을 식별하는 예시적 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 다양한 실시예에 따른 대칭 동작 운동 및 비유지 동작 운동에서 제1 프레임 구간을 식별하는 예시적 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 다양한 실시예에 따른 비유지 동작 운동에서 운동 매 횟수 사이의 간격이 설정값을 초과하는지 여부를 식별하는 예시적 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 다양한 실시예에 따른 비대칭 동작 운동 및 유지 동작 운동에서 제1 프레임 구간을 식별하는 예시적 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 다양한 실시예에 따른 비대칭 동작 운동 및 비유지 동작 운동에서 제1 프레임 구간을 식별하는 예시적 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 다양한 실시예에 따른 비유지 동작 운동에서 운동 매 횟수 사이의 간격이 설정값을 초과하는지 여부를 식별하는 예시적 방법을 설명하기 위한 도면이다.
도 10은 본 개시의 다양한 실시예에 따른 전자 장치가 운동 동작에 대한 정보를 제공하는 예시적 방법을 설명하기 위한 도면이다.
도 11은 본 개시의 다양한 실시예에 따른 전자 장치가 운동 동작에 대한 정보를 제공하는 예시적 방법을 설명하기 위한 도면이다.
도 12는 본 개시의 다양한 실시예에 따른 전자 장치의 제어 예시적 방법을 설명하기 위한 흐름도이다.
본 실시 예들은 다양한 실시 예로 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 개시는 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 더욱 상세히 설명한다.
도 1은 본 개시의 다양한 실시예에 따른 전자 장치의 예시적 구성을 설명하기 위한 블록도이다.
도 1을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)(예로, 프로세싱 회로를 포함)를 포함할 수 있다.
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 적어도 하나의 인스트럭션(instruction) 또는 데이터를 저장할 수 있다. 예를 들어, 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(Hard-Disk Drive, HDD) 또는 솔리드 스테이트 드라이브 (Solid State Drive, SDD) 등으로 구현될 수 있다. 메모리(110)는 프로세서(120)에 의해 액세스(access)되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
본 개시에서 메모리라는 용어는 메모리(110), 프로세서(120) 내의 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
상술한 바와 같이, 메모리(110)는 적어도 하나의 인스트럭션을 저장할 수 있다. 여기에서, 인스트럭션은 전자 장치(100)를 제어하기 위한 것일 수 있다. 가령, 메모리(110)에는 동영상 내 사람의 운동 동작에 대한 정보 제공 기능과 관련된 인스트럭션이 저장될 수 있다. 예를 들어, 메모리(110)는 본 개시에 따른 동영상 내 사람의 운동 동작에 대한 정보를 제공하기 위한 복수의 구성(또는 모듈)을 포함할 수 있으며, 이에 대해서는 후술하도록 한다.
프로세서(120)는 메모리(110)와 전기적으로 연결되고, 다양한 프로세싱 회로를 포함할 수 있고, 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 예를 들어, 프로세서(120)는 동영상에 포함된 사람의 운동 동작에 대한 정보를 제공할 수 있다. 구체적으로, 도 1에 도시된 바와 같이, 프로세서(120)는 동영상 획득 모듈(10)(예로, 다양한 프로세싱 회로 및/또는 실행가능한 프로그램 명령어를 포함할 수 있다.), 운동 패턴 정보 획득 모듈(20) (예로, 다양한 프로세싱 회로 및/또는 실행가능한 프로그램 명령어를 포함할 수 있다.), 운동 특성 정보 획득 모듈(30) (예로, 다양한 프로세싱 회로 및/또는 실행가능한 프로그램 명령어를 포함할 수 있다.), 제1 프레임 구간 식별 모듈(40) (예로, 다양한 프로세싱 회로 및/또는 실행가능한 프로그램 명령어를 포함할 수 있다.) 및 정보 제공 모듈(50) (예로, 다양한 프로세싱 회로 및/또는 실행가능한 프로그램 명령어를 포함할 수 있다.)을 포함할 수 있으며, 각각의 모듈에 대한 프로그램 명령어는 메모리(110)에 저장될 수 있다.
그리고, 동영상 내 사람의 운동 동작에 대한 정보를 제공하기 위해 복수의 모듈(10 내지 50)들이 프로세서(120)에 포함된 메모리(예로, 휘발성 메모리)에 로딩될 수 있다. 프로세서(120)는 복수의 모듈(10 내지 50)들을 비휘발성 메모리에서 휘발성 메모리로 로딩하여 복수의 모듈(10 내지 50)의 각 가능들을 실행할 수 있다. 로딩(loading)이란, 프로세서(120)가 액세스할 수 있도록 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 데이터를 저장하는 동작을 의미한다.
본 개시에 따른 일 실시 예로, 도 1에 도시된 바와 같이 메모리(110)에 저장된 복수의 모듈(10 내지 50)을 통해 운동 동작에 대한 정보가 제공될 수 있으나, 이에 한정되지 않고, 전자 장치(100)와 연결된 외부 장치를 통해 구현될 수 있다.
본 개시에 따른 복수의 모듈(10 내지 50)은 각각의 소프트웨어로 구현될 수 있으나, 이에 한정되지 않고 일부 모듈은 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 일 실시 예로, 복수의 모듈(10 내지 50)은 하나의 소프트웨어로 구현될 수 있다. 또한, 일부 모듈은 전자 장치(100) 내에서 구현되고, 다른 일부 모듈은 외부 장치에서 구현될 수 있다.
동영상 획득 모듈(10)은 사람의 운동 동작을 촬영한 동영상을 획득하기 위한 구성이다.
예를 들어, 동영상 획득 모듈(10)은 원본 동영상을 획득할 수 있다. 원본 동영상은 사람의 준비 동작, 운동 동작 및 운동 정리 동작을 포함하는 동영상일 수 있으며, 동영상은 원본 동영상에서 사람의 운동 동작에 대응되는 구간의 프레임만 추출된 동영상일 수 있다.
일 실시 예로, 동영상 획득 모듈(10)은 전자 장치(100)에 포함된 카메라 또는 센서를 통해 원본 동영상을 획득하거나, 외부 장치 또는 외부 서버를 통해 원본 동영상을 획득할 수 있다. 일 예로, 전자 장치(100)가 카메라 또는 센서를 포함하는 장치인 경우, 전자 장치(100)는 카메라 또는 센서를 통해 사람을 촬영하여 원본 동영상을 획득할 수 있다. 일 예로, 전자 장치(100)가 서버로 구현되는 경우, 전자 장치(100)는 카메라 또는 센서를 포함하는 외부 장치로부터 원본 동영상을 수신할 수 있다.
동영상 획득 모듈(10)은 복수의 운동 동작을 포함하는 복수의 동영상이 저장된 운동 DB(Data Base)를 바탕으로, 원본 동영상에 포함된 복수의 프레임 중 사람의 운동 동작에 대응되는 프레임을 추출하여 동영상을 획득할 수 있다.
운동 DB는 다양한 운동 동작을 포함하는 동영상이 저장된 데이터 베이스일 수 있다. 운동 DB에는 다양한 운동 동작을 수행하는 특정 사람이 다양한 각도에서 촬영된 동영상이 저장될 수 있다. 운동 DB는 운동 동작을 포함하는 동영상이 저장되어 있을 수 있으나, 이에 한정되지 않고, 운동 동작에 대응되는 특정 이미지가 저장될 수도 있다.
동영상 획득 모듈(10)은 원본 동영상에서 사람의 준비 동작 구간 및 운동 정리 구간을 제외하여 운동 동작 구간만을 포함하는 동영상을 획득할 수 있다. 구체적으로, 동영상 획득 모듈(10)은 운동 DB에 포함된 사람의 운동 동작과 원본 동영상을 비교하여 유사한 프레임만을 남기고, 나머지 프레임(예로, 준비 동작 및 운동 정리 동작에 대응되는 프레임)은 잘라내어 동영상을 획득할 수 있다.
운동 패턴 정보 획득 모듈(20)은 동영상에 포함된 사람의 운동 동작에 대한 패턴 정보를 획득하기 위한 구성이다. 본 개시에 따른, 패턴 정보는 사람의 운동 동작에 대한 속도 정보, 주기 정보, 횟수 정보 등을 포함할 수 있다.
예를 들어, 운동 패턴 정보 획득 모듈(20)은 동영상에 대한 이미지 분석(예로, pose estimation)을 수행하여, 동영상의 복수의 프레임으로부터 사람 및 사람의 포즈 데이터를 식별할 수 있다. 여기서, 포즈 데이터는 동영상에 포함된 사람의 특정 신체부위(예로, 팔꿈치, 어깨, 무릎 등 관절 부위)를 추적하여 사람 관절의 움직임을 식별할 수 있는 데이터이다. 일 예로, 운동 패턴 정보 획득 모듈(20)은 동영상의 사람의 특정 신체 부위 각각을 키포인트로 식별하고, 식별된 키포인트들의 움직임을 식별함으로 포즈 데이터를 획득할 수 있다. 일 예로, 운동 패턴 정보 획득 모듈(20)은 포즈 데이터를 식별할 수 있는 pose estimation 신경망 모델에 동영상을 입력하여 포즈 데이터를 획득할 수 있다. 그리고, 운동 패턴 정보 획득 모듈(20)은 획득된 포즈 데이터를 분석하여, 동영상의 복수의 프레임에 대응하는 운동 패턴 정보(예로, 속도 정보, 주기 정보, 횟수 정보 등)를 획득할 수 있다.
운동 특성 정보 획득 모듈(30)은 동영상에 포함된 사람의 운동 동작을 인식하여 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하기 위한 구성이다. 여기서 운동 특성 정보는 사람의 운동 동작이 대칭 동작 및 유지 동작인지에 대한 정보일 수 있다.
본 개시에 따른, 대칭 동작이란 한 가지 동작을 수행하는 동작으로, 예로, 푸쉬업 운동, 스쿼트 운동, 플랭크 운동이 대칭 동작에 포함될 수 있다. 그리고, 비대칭 동작이란, 두 가지 이상의 동작을 수행하는 동작으로, 예로, 런지 운동, 한손 플랭크 운동이 비대칭 동작에 포함될 수 있다.
그리고, 본 개시에 따른, 유지 동작이란 특정 동작을 특정 시간 동안 유지하는 동작으로, 예로, 플랭크 운동, 한손 플랭크 운동이 유지 동작에 포함될 수 있다. 그리고, 비유지 동작이란 특정 동작을 특정 시간 유지 없이 반복하는 동작으로, 예로, 푸쉬업 운동, 스쿼트 운동이 비유지 동작에 포함될 수 있다.
일 실시 예로, 운동 특성 정보 획득 모듈(30)은 예를 들어, 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델 및 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델을 이용하여, 동영상에 포함된 사람의 운동 동작이 대칭 동작 및 유지 동작인지 여부를 식별할 수 있으나, 이에 한정되는 것은 아니다.
제1 신경망 모델은 사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 구성으로, 예를 들어, 사람의 운동 동작을 촬영한 학습 동영상을 입력 데이터로, 해당 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지 여부(False / True)에 대한 정보를 출력 데이터로 하여 학습이 수행될 수 있다. 운동 특성 정보 획득 모듈(30)은 학습이 수행된 제1 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여, 동영상 내 사람의 운동 동작이 대칭 동작인지 또는 비대칭 동작인지 여부를 식별할 수 있다.
제2 신경망 모델은 사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 구성으로, 사람의 운동 동작을 포함하는 학습 동영상을 입력 데이터로, 예를 들어, 해당 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지 여부(False / True)에 대한 정보를 출력 데이터로 하여 학습이 수행될 수 있다. 운동 특성 정보 획득 모듈(30)은 학습이 수행된 제2 신경망 모델에 동영상을 입력하여, 동영상 내 사람의 운동 동작이 유지 동작인지 또는 비유지 동작인지 여부를 식별할 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 플랭크 운동 동작인 경우, 운동 특성 정보 획득 모듈(30)은 제1 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 대칭 동작인 것으로 식별할 수 있으며, 제2 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 유지 동작인 것으로 식별할 수 있다. 다만, 동영상 내 사람의 운동 동작이 한손 플랭크 운동 동작인 경우, 운동 특성 정보 획득 모듈(30)은 제1 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 비대칭 동작인 것으로 식별할 수 있으며, 제2 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 유지 동작인 것으로 식별할 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 런지 운동 동작인 경우, 운동 특성 정보 획득 모듈(30)은 제1 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 비대칭 동작인 것으로 식별할 수 있으며, 제2 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 비유지 동작인 것으로 식별할 수 있다.
상술한 실시 예에서는, 두 개의 신경망 모델(제1 신경망 모델 및 제2 신경망 모델)을 통해 운동 특성 정보를 획득하는 것으로 설명하였으나, 본 개시는 이에 한정되지 않고, 하나의 신경망 모델 또는 세 개 이상의 신경망 모델을 통해 운동 특성 정보를 획득 수 있다. 일 예로, 하나의 신경망 모델을 이용하는 경우, 운동 특성 정보 획득 모듈(30)은 동영상의 적어도 하나의 프레임을 신경망 모델에 입력하여, 동영상 내 사람의 운동 동작이 대칭 동작인지 또는 비대칭 동작인지 여부 및 유지 동작인지 또는 비유지 동작인지 여부를 식별할 수 있다.
제1 프레임 구간 식별 모듈(40)은 동영상 내 복수의 프레임 구간 중 기준 상태의 운동 동작에 대응하는 프레임 구간을 식별하기 위한 구성이다. 예를 들어, 제1 프레임 구간 식별 모듈(40)은 동영상에 대한 운동 특성 정보 및 운동 패턴 정보를 바탕으로 동영상에서 기준 상태의 운동 동작에 대응하는 프레임 구간(제1 프레임 구간)을 식별할 수 있다. 즉, 제1 프레임 구간 식별 모듈(40)은 동영상에 대한 운동 특성 정보 및 운동 패턴 정보를 바탕으로, 동영상에 포함된 복수의 프레임 중 사람의 기준 상태의 운동 동작에 대응하는 프레임 구간을 제1 프레임 구간으로 식별할 수 있다.
일 예로, 기준 상태의 운동 동작에 대응하는 프레임 구간은 동영상에 포함된 프레임 중 사람의 초기 운동 동작에 대응하는 프레임 구간일 수 있으나, 동영상 내 사람의 운동 동작이 대칭 동작 또는 비대칭 동작인지 및 유지 동작 또는 비 유지 동작인지에 따라, 각각 상이하게 식별될 수 있다.
동영상내 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 동영상 중 시작 프레임으로부터 제1 시간까지의 구간을 제1 프레임 구간에 대응되는 프레임으로 식별할 수 있다. 제1 시간은 초기 설정된 값일 수 있으나, 이에 한정되지 않고 전자 장치(100)의 사용자에 의해 설정된 값일 수 있다. 일 예로, 동영상 내 사람의 운동 동작이 플랭크 운동 동작인 경우, 운동 특성 정보 획득 모듈(30)은 사람의 운동 동작이 대칭 동작 및 유지 동작인 것으로 식별하고, 제1 프레임 구간 식별 모듈(40)은 동영상 중 시작 프레임으로부터 제1 시간(예로, 5초)까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
동영상 내 사람의 운동 동작이 대칭 동작 및 비유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상의 복수의 프레임 각각에 대해 운동 반복 구간을 식별할 수 있다. 제1 프레임 구간 식별 모듈(40)은 동영상 내 사람 운동 동작에 대한 속도 정보, 주기 정보, 횟수 정보 등을 포함하는 운동 패턴 정보를 바탕으로 동영상 내 사람의 운동 동작 중 1회의 운동 동작에 대응하는 운동 반복 구간을 식별할 수 있다. 일 예로, 동영상 내 사람의 운동 동작이 푸쉬업 운동 동작인 경우, 제1 프레임 구간 식별 모듈(40)은 해당 동영상에 대한 운동 패턴 정보를 바탕으로, 동영상의 복수의 프레임 중 푸쉬업 운동 동작을 1회 수행하는 구간에 대응되는 프레임을 각각 식별할 수 있다. 제1 프레임 구간 식별 모듈(40)은 식별된 운동 반복 구간을 바탕으로, 동영상의 시작 프레임으로부터 제1 횟수(예로, n회)의 운동 반복 구간에 대응하는 프레임까지의 구간을 제1 프레임 구간에 대응되는 프레임으로 식별할 수 있다. 제1 횟수는 초기 설정된 횟수일 수 있으나, 이에 한정되지 않고 전자 장치(100)의 사용자에 의해 설정된 횟수일 수 있다. 예로, 동영상 내 사람의 운동 동작이 푸쉬업 운동 동작인 경우, 제1 프레임 구간 식별 모듈(40)은 동영상의 시작 프레임으로부터 제1 횟수(예로, 5회)의 푸쉬업 동작이 수행되는 프레임까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
동영상 내 사람의 운동 동작이 비대칭 동작 및 유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상의 프레임 중 처음 제1 대칭 운동 동작이 시작되는 프레임으로부터 제2 시간(예로, m초)까지의 구간 및 처음 제2 대칭 운동 동작이 시작되는 프레임으로부터 제2 시간(예로, m초)까지의 구간에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
예를 들어, 동영상 내 사람의 운동 동작이 비대칭 동작 및 유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 동영상 내 사람의 운동 동작에 대한 속도 정보, 주기 정보, 횟수 정보 등을 포함하는 운동 패턴 정보를 바탕으로 동영상에 포함된 운동 동작 중 제1 대칭 운동 동작에 대응되는 제1 운동 구간 및 제2 대칭 운동 동작에 대응되는 제2 운동 구간을 각각 식별할 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 한손 플랭크 운동 동작에 대한 동영상인 경우, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상 내 사람의 운동 동작 중 오른손을 바닥에 지지하며 수행하는 플랭크 운동 동작을 제1 대칭 운동 동작으로 식별하고, 왼손을 바닥에 지지하며 수행하는 플랭크 운동 동작을 제2 대칭 운동 동작으로 식별할 수 있다. 제1 프레임 구간 식별 모듈(40)은 동영상에서 제1 대칭 운동 동작에 대응되는 제1 운동 구간의 프레임 및 제2 대칭 운동 동작에 대응되는 제2 운동 구간의 프레임을 식별할 수 있다.
제1 프레임 구간 식별 모듈(40)은 동영상의 복수의 프레임 중 제1 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간(예로, 3초)까지의 구간 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간(예로, 3초)까지의 구간에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
동영상 내 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상의 복수의 프레임 중 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임 구간을 각각 식별할 수 있다. 제1 프레임 구간 식별 모듈(40)은 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 제2 대칭 운동 동작에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다. 제2 횟수는 초기 설정된 횟수일 수 있으나, 이에 한정되지 않고 전자 장치(100)의 사용자에 의해 설정된 횟수일 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 런지 운동 동작인 경우, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상의 복수의 프레임 중 사람의 오른발이 앞으로 구부러지는 제1 대칭 운동 동작에 대응하는 프레임 및 사람의 왼발이 앞으로 구부러지는 제2 운동 대칭 운동 동작에 대응하는 프레임을 각각 식별할 수 있다. 제1 프레임 구간 식별 모듈(40)은 동영상 내 복수의 프레임 중 제2 횟수의 제1 대칭 운동 동작이 수행되는 프레임 및 제2 횟수의 제2 대칭 운동 동작이 수행되는 프레임을 제1 프레임 구간으로 식별할 수 있다.
일 예로, 동영상 내 사람이 제1 대칭 운동 동작 및 제2 대칭 운동 동작을 각 1회씩 번갈아가며 수행하는 경우(제1 대칭 운동 동작 먼저 수행), 제1 프레임 구간 식별 모듈(40)은 동영상의 시작 프레임으로부터 제2 대칭 운동 동작이 처음 제2 횟수 수행되는 프레임까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
일 예로, 동영상 내 사람이 제1 대칭 운동 동작을 특정 횟수 수행한 이후, 제2 대칭 운동 동작을 특정 횟수 수행하는 경우, 제1 프레임 구간 식별 모듈(40)은 동영상의 시작 프레임으로부터 제1 대칭 운동 동작이 제2 횟수 수행되는 구간의 프레임 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 대칭 운동 동작이 제2 횟수 수행되는 프레임까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
정보 제공 모듈(50)은 제1 프레임 구간과 동영상 내 현재 구간의 사람이 수행 중인 운동 동작을 비교하여 운동 동작에 대한 정보를 제공하기 위한 구성이다.
예를 들어, 정보 제공 모듈(50)은 제1 프레임 구간 식별 모듈(40)을 통해 식별된 제1 프레임 구간에 대한 운동 패턴 정보와, 현재 프레임인 제2 프레임 구간에 대한 운동 패턴 정보의 차이값을 식별할 수 있다.
본 개시에 따른, 제2 프레임 구간은 동영상이 재생 중인 경우, 현재 재생 중인 프레임으로부터 기 설정(예로, 특정한) 간격의 구간의 프레임일 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 유지 동작인 경우, 제2 프레임 구간은 운동 DB에 저장되어 있는 유지 동작 동영상 내 사람의 1회 유지 구간의 10%의 구간일 수 있다. 예를 들어, 운동 DB에 저장되어 있는 유지 동작 동영상 내 사람의 1회 유지 구간이 1분인 경우, 유지 동작에 대응하는 제2 프레임 구간은 6초일 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 대칭 동작인 경우, 제2 프레임 구간은 운동 DB에 저장되어 있는 대칭 동작 동영상 내 사람이 평균 3회 반복 시 필요한 시간 구간일 수 있으며, 일 예로, 3초일 수 있다.
정보 제공 모듈(50)은 제1 프레임 구간에 대한 운동 패턴 정보와 제2 프레임 구간에 대한 운동 패턴 정보를 비교하기 위한 Distance 알고리즘을 이용하여 두 운동 패턴 정보의 차이 값을 식별할 수 있다. 일 예로, 정보 제공 모듈(50)은 운동 패턴 정보 포함된 복수의 키포인트를 벡터로 변환하고, 변환된 벡터들 간의 가장 가까운 벡터를 식별하여 운동 패턴 정보를 비교하는 Cosine Distance 알고리즘을 이용하여 두 운동 패턴 정보의 차이값을 식별할 수 있다.
그리고, 정보 제공 모듈(50)은 제1 프레임 구간에 대한 운동 패턴 정보와, 제2 프레임 구간에 대한 운동 패턴 정보의 차이값이 기 설정 값(예로, 특정한) 이상인 경우, 체력 고갈 상태인 것으로 식별할 수 있다. 일 예로, 기 설정 값은 동영상 내 사람이 수행 중인 운동 동작에 대응하는 운동 특성 정보에 따라 각각 상이하게 설정될 수 있다.
체력 고갈 상태인 것으로 식별되면, 정보 제공 모듈(50)은 제2 프레임 구간에 대한 정보를 제공할 수 있다. 여기서, 제2 프레임 구간에 대한 정보는 제2 프레임 구간 내 사람의 운동 동작을 가이드하기 위한 정보를 포함할 수 있으며, 일 예로, 사람의 운동 동작이 플랭크 운동 동작인 경우 "엉덩이를 더 들어 주세요"와 같은 메시지 정보일 수 있다.
일 예로, 전자 장치(100)가 디스플레이를 포함하는 경우, 정보 제공 모듈(50)은 전자 장치(100)의 디스플레이 상에 제2 프레임 구간에 대한 정보를 포함하는 UI를 표시할 수 있다. 일 예로, 전자 장치(100)가 스피커를 포함하는 경우, 정보 제공 모듈(50)은 스피커를 통해 제2 프레임 구간에 대한 정보를 포함하는 음성을 출력할 수 있다.
다만, 본 개시는 이에 한정되지 않고, 제1 프레임 구간에 대한 운동 패턴 정보와, 제2 프레임 구간에 대한 운동 패턴 정보의 차이값이 기 설정 값 미만인 경우에도, 제2 프레임 구간에 대한 정보를 제공할 수 있다. 이 경우, 정보 제공 모듈(50)은 제2 프레임 구간의 운동 동작이 잘 수행되고 있음을 알리는 메시지 정보를 제공할 수 있다.
종래에는 사전 학습을 통해 사람의 운동 동작 자세에 대응되는 체력 정보를 획득하고, 체력 정보를 바탕으로 현재 운동 동작에 대한 피드백을 제공할 수 있었다. 이러한, 체력 정보를 획득하기 위해 종래에는 모든 운동 동작 각각에 대응되는 운동 동작 자세를 사전 학습시켜야 되어 사전 학습에 소요되는 비용이 과도한 문제점이 있었다. 이에, 본 개시에 따른 전자 장치(100)는 상술한 실시 예들을 바탕으로, 운동 동작 자세 각각의 체력 정보에 대한 사전 학습 없이도 실시간으로 사람의 운동 동작에 대한 정보를 제공할 수 있다.
도 2a 및 도 2b는 본 개시의 다양한 실시 예에 따른, 동영상 내 사람의 운동 동작에 대한 정보를 제공하기 위한 전자 장치(100)의 예시적 동작을 설명하기 위한 흐름도이다.
도 2a를 참조하면, 전자 장치(100)는 동영상을 획득할 수 있다(S201). 예를 들어, 동영상은 전자 장치(100)가 획득하는 원본 동영상의 복수의 프레임 중에서 사람의 운동 동작에 대응되는 구간의 프레임만 추출된 동영상일 수 있다.
이에 대해서는 도 3을 참조하여 더욱 자세히 설명하도록 한다.
예를 들어, 전자 장치(100)는 사람의 운동 동작과 관련된 원본 동영상을 획득할 수 있다(S310).
전자 장치(100)는 원본 동영상에서 이상치(outlier) 분석을 통해 이상치를 제거하고 운동 동작과 관련된 동영상을 획득할 수 있다. 이상치란 주어진 데이터의 일반적 특성에서 벗어난 데이터를 의미할 수 있다. 이 때, 전자 장치(100)는 이상치 분석을 통해 이상치를 식별하고, 이를 원본 동영상에서 제거할 수 있다.
예를 들어, 원본 동영상은 운동 동작 구간, 운동 동작과 관련된 준비 운동 동작 구간 및 운동 정리 구간을 포함할 수 있다. 이 때, 전자 장치(100)는 이상치 분석을 통해 원본 동영상에 포함된 운동 동작 구간 및 운동 정리 구간에 대한 프레임을 제거하고, 운동 동작 구간을 포함하는 동영상을 획득할 수 있다.
전자 장치(100)는 사람의 운동 동작과 관련된 원본 동영상을 운동 DB에 포함된 운동 동작과 비교하여 운동 DB에 포함된 운동 동작과 유사한 정도를 산출하고, 유사한 정도가 기설정된 값 이상인 프레임만을 포함하는 동영상을 획득할 수 있다(S320). 전자 장치(100)는 시계열 데이터의 패턴을 비교할 수 있는 알고리즘(예로, Dynamic Time Warping)을 이용하여 원본 동영상과 운동 DB에 포함된 운동 동작을 비교할 수 있다. 전자 장치(100)는 동영상을 바탕으로, 운동 패턴 정보를 획득할 수 있다(S202). 예를 들어, 전자 장치(100)는 동영상에 대한 이미지 분석(예로, pose estimation)을 수행하여, 동영상 내 사람의 포즈 데이터를 획득할 수 있다. 그리고, 운동 패턴 정보 획득 모듈(20)은 획득된 포즈 데이터를 분석하여, 사람의 운동 동작에 대한 패턴 정보(예로, 속도 정보, 주기 정보, 횟수 정보 등)를 획득할 수 있다.
전자 장치(100)는 포즈 데이터를 분석하기 위한 사용자 입력을 사용자로부터 획득할 수 있다. 예를 들어, 운동 DB에 포함된 운동 동작을 수행하는 사람의 체형과 원본 동영상에 포함된 사용자의 체형은 상이할 수 있다. 체형에 대한 차이에 따라 정확한 포즈 데이터를 획득하기 어려운 문제가 발생할 수 있다.
이에 따라, 전자 장치(100)는 운동 DB에 포함된 운동 동작을 수행하는 사람의 신체 체형에 대한 정보를 입력받기 위한 UI를 디스플레이를 통해 제공할 수 있으며, 제공된 UI를 통해 신체 체형에 대한 정보를 사용자로부터 입력받을 수 있다. 또는, 전자 장치(100)는 동영상에 포함된 사람의 체형에 대한 정보를 입력받기 위한 UI를 디스플레이를 통해 제공할 수 있으며, 제공된 UI를 통해 신체 체형에 대한 정보를 사용자로부터 입력받을 수 있다. 체형은 키, 체중, 성별 등을 의미할 수 있다.
전자 장치(100)는 동영상을 바탕으로, 운동 특성 정보를 획득할 수 있다(S203). 운동 특성 정보는 동영상 내 사람의 운동 동작이 대칭 동작인지 및 유지 동작인지에 대한 정보를 포함할 수 있다. 예를 들어, 전자 장치(100)는 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델 및 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델을 이용하여, 동영상에 포함된 운동 동작이 대칭 동작 및 유지 동작인지 여부를 식별할 수 있다.
전자 장치(100)는 운동 동작이 대칭 동작 운동인지 여부를 식별할 수 있다(S204).
운동 동작이 대칭 동작 운동이면(S204-Y), 전자 장치(100)는 운동 동작이 유지 동작인지 여부를 식별할 수 있다(S205).
운동 동작이 유지 동작 운동이면(S205-Y), 즉, 운동 동작이 대칭 동작 운동이며, 유지 동작 운동이면, 전자 장치(100)는 유지 구간을 식별할 수 있다(S206). 전자 장치(100)는 유지 구간 부분의 앞부분 N초를 제1 프레임 구간으로 식별할 수 있다(S207). 예를 들어, 전자 장치(100)는 운동 패턴 정보를 바탕으로, 동영상 중 운동 동작의 유지 구간을 식별하고, 처음 유지 구간의 시작 프레임으로부터 N초(제1 시간)까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
예를 들어, 운동 동작은 '플랭크'와 같은 대칭 동작 운동이며 유지 동작 운동일 수 있다. 동영상 내 사용자의 운동 동작에 대한 정보는 도 4에 도시된 바와 같을 수 있다. x축은 시간을 나타내고 y축은 사용자의 움직임에 대한 정보를 나타내고 그래프는 사용자의 움직임에 대한 정보를 나타낼 수 있다. 식별된 유지 구간은 제1 구간(410)일 수 있다. 즉, 제1 구간은 대칭 동작 운동이며 유지 동작 운동인 플랭크가 수행중인 구간일 수 있다. 전자 장치(100)는 제1 구간 중 최초 N초에 해당하는 제2 구간(420)을 제1 프레임 구간으로 식별할 수 있다.
운동 동작이 대칭 동작 운동이나 운동 동작이 유지 동작이 아니면(S205-N), 즉, 운동 동작이 대칭 동작 운동이며 비 유지 동작 운동이면, 전자 장치(100)는 운동 반복 구간을 식별할 수 있다(S208). 전자 장치(100)는 운동 반복 구간 사이의 운동 간격을 획득할 수 있다(S209). 전자 장치(100)는 앞부분 Y회를 제1 프레임 구간으로 식별할 수 있다(S210). 예를 들어, 전자 장치(100)는 운동 패턴 정보를 바탕으로 운동 반복 구간을 식별할 수 있다. 즉, 전자 장치(100)는 사람의 운동 동작에 대한 속도 정보, 주기 정보, 횟수 정보 등을 포함하는 운동 패턴 정보를 바탕으로 동영상에 포함된 운동 동작 중 1회의 운동 동작에 대응하는 운동 반복 구간을 식별할 수 있다. 전자 장치(100)는 1회의 운동 동작 간의 운동 간격을 획득하고, 처음 운동 동작으로부터 Y횟수(제1 횟수)까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
예를 들어, 운동 동작은 '스쿼트'와 같은 대칭 동작 운동이며 비 유지 동작 운동일 수 있다. 동영상 내 사용자의 운동 동작에 대한 정보는 도 5에 도시된 바와 같을 수 있다. x축은 시간을 나타내고 y축은 사용자의 움직임에 대한 정보를 나타내고 그래프는 사용자의 움직임에 대한 정보를 나타낼 수 있다. 식별된 운동 반복 구간은 제1 구간(510), 제2 구간(520), 제3 구간(530) 및 제4 구간(540)일 수 있다. 각 구간은 운동 동작이 1회 수행된 구간일 수 있다. Y회가 3회인 경우, 전자 장치(100)는 운동 반복 구간의 최초 3회 구간(510, 520, 530)을 제1 프레임 구간(550)으로 식별할 수 있다.
S207 단계 및 S210 단계를 통해 제1 프레임 구간이 식별되면, 전자 장치(100)는 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S211). 예를 들어, 전자 장치(100)는 제1 프레임 구간의 운동 패턴 정보와 현재 수행 중인 운동 동작(제2 프레임 구간)의 운동 패턴 정보를 비교하여, 현재 수행 중인 운동 동작(제2 프레임 구간의 운동 동작)이 제1 프레임 구간과 동일한 운동 동작인지 여부를 식별할 수 있다.
제1 프레임 구간과 같은 운동 동작을 지속하지 않는 것으로 식별되면(S211-N), 전자 장치(100)는 S202 단계로 돌아가 현재 운동 동작에 대한 운동 패턴 정보를 획득하고 이후의 단계를 수행할 수 있다.
제1 프레임 구간과 같은 운동 동작을 지속하는 것으로 식별되면(S211-Y), 전자 장치(100)는 제1 프레임 구간과 현재 프레임 구간(제2 프레임 구간)의 운동 패턴 정보 차이 값이 제1 설정값(Threshold A)을 초과하는지 여부를 식별할 수 있다(S212). 예를 들어, 전자 장치(100)는 제1 프레임 구간에 대한 운동 패턴 정보와, 현재 프레임 구간(제2 프레임 구간)에 대한 운동 패턴 정보의 차이값을 식별할 수 있다.
제1 프레임 구간과 현재 프레임 구간(제2 프레임 구간)의 운동 패턴 정보의 차이 값이 제1 설정값(Threshold A)을 초과하면, 전자 장치(100)는 동영상 내 사람의 체력이 고갈된 것으로 식별할 수 있다(S227).
제1 프레임 구간과 현재 프레임 구간의 운동 패턴 정보 차이 값이 제1 설정값(Threshold A)을 초과하지 않으면(S212-N), 전자 장치(100)는 제1 프레임 구간에 대응하는 운동 동작이 유지 동작 운동인지 여부를 식별할 수 있다(S213).
제1 프레임 구간에 대응하는 운동 동작이 유지 동작 운동이면(S213-Y), 전자 장치(100)는 S211 단계로 돌아가 현재 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S211).
제1 프레임 구간에 대응하는 운동 동작이 유지 동작 운동이 아니면(S213-N), 즉, 제1 프레임 구간에 대응하는 운동 동작이 비 유지 동작이면, 전자 장치(100)는 운동 매 횟수 사이의 간격을 획득(예로, 연산)할 수 있다(S214). 전자 장치(100)는 운동 매 횟수 사이의 간격이 제2 설정값(Threshold B)을 초과하는지 여부를 식별할 수 있다(S215).
즉, 제1 프레임 구간의 사용자의 운동 자세와 제2 프레임 구간의 사용자의 운동 자세가 차이가 많이 나지 않더라도, 전자 장치(100)는 제1 프레임 구간에서 사용자가 동일한 동작을 수행하는데 소요되는 시간과 제2 프레임 구간에서 사용자가 동일한 동작을 수행하는데 소요되는 시간이 기설정된 설정 값을 초과하는지 여부를 식별할 수 있다.
예를 들어, 운동 동작은 '스쿼트'와 같은 대칭 동작이며 비유지 동작 운동일 수 있다. 동영상 내 사용자의 운동 동작에 대한 정보는 도 6에 도시된 바와 같을 수 있다. 여기서 제1 구간(610), 제2 구간(620), 제3 구간(630), 제4 구간(640) 및 제5 구간(650)은 각각 운동 동작을 1회 수행하는 구간일 수 있다. 제1 프레임 구간(660)은 최초 구간 중 3회의 구간(610, 620, 630)일 수 있고, 제2 프레임 구간은 제5 구간(650)일 수 있다. 제1 구간(610), 제2 구간(620), 제3 구간(630), 제4 구간(640) 및 제5 구간(650)에서 각각 운동 동작을 1회 수행하는데 소요된 시간은 5초, 3초, 4초, 7초 및 8초일 수 있다. 제2 설정값은 3초일 수 있다.
운동 매 횟수 사이의 간격은 각 구간에서 운동 동작을 1회 수행하는데 소요된 시간을 의미할 수 있다. 또는, 운동 매 횟수 사이의 간격은 직전 운동 동작을 1회 수행하는데 소요되는 시간과의 차이를 의미할 수 있다.
예를 들어, 전자 장치(100)는 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 평균 시간을 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간을 비교할 수 있다. 전자 장치(100)는 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 평균 시간과 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간의 차이를 기설정된 제2 설정값과 비교할 수 있다.
제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 평균 시간은 5초, 3초 및 4초의 평균 시간인 4초일 수 있다. 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간은 8초일 수 있다. 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 평균 시간과 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간의 차이는 4초이고, 제2 설정값은 3초이므로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제2 설정값을 초과하는 것으로 식별할 수 있다.
또는, 전자 장치(100)는 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최소의 시간과 제2 프레임 구간에서 운동 동작을 1회 수행하는데 소요된 시간의 차이를 제2 설정값과 비교할 수 있다.
예를 들어, 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최소 시간은 3초일 수 있다. 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간은 8초일 수 있다. 제2 설정값은 3초일 수 있다. 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최소 시간인 3초와 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간인 8초의 차이는 5초이므로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제2 설정값을 초과하는 것으로 식별할 수 있다.
또는, 전자 장치(100)는 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최대의 시간과 제2 프레임 구간에서 운동 동작을 1회 수행하는데 소요된 시간의 차이를 제2 설정값과 비교할 수 있다. 상술한 방법과 마찬가지로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제2 설정값을 초과하는지 여부를 식별할 수 있다.
운동 매 횟수 사이의 간격이 제2 설정값(Threshold B)을 초과하지 않으면(S215-N), 전자 장치(100)는 S211 단계로 돌아가 제1 프레임 구간에 대응하는 운동 동작과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S211).
운동 매 횟수 사이의 간격이 제2 설정값(Threshold B)을 초과하면(S215-Y), 전자 장치(100)는 동영상 내 사람의 체력이 고갈된 것으로 식별할 수 있다(S227).
S204 단계에서, 도 2b를 참조하면, 운동 동작이 대칭 동작 운동이 아니면(S204-N), 즉, 운동 동작이 비대칭 동작 운동이면, 전자 장치(100)는 운동 동작이 유지 동작인지 여부를 식별할 수 있다(S216).
운동 동작이 유지 동작 운동이면(S216-Y), 즉, 운동 동작이 비대칭 동작 운동이며, 유지 동작 운동이면, 전자 장치(100)는 유지 구간을 식별할 수 있다(S217). 전자 장치(100)는 유지 구간 부분의 앞부분 m초 및 반대쪽 부분 m초를 제1 프레임 구간으로 식별할 수 있다(S218). 예를 들어, 전자 장치(100)는 운동 패턴 정보를 바탕으로 동영상 중 처음 제1 대칭 운동 동작이 시작되는 프레임으로부터 m초(제2 시간)까지의 구간 및 처음 제2 대칭 운동 동작이 시작되는 프레임으로부터 m초(제2 시간)까지의 구간에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
예를 들어, 운동 동작은 '한 손 플랭크'와 같은 비대칭 동작 운동이며, 유지 동작 운동일 수 있다. 동영상 내 사용자의 운동 동작에 대한 정보는 도 7에 도시된 바와 같을 수 있다. x축은 시간을 나타내고 y축은 사용자의 움직임에 대한 정보를 나타내고, 그래프는 사용자의 움직임에 대한 정보를 나타낼 수 있다. 비대칭 동작 운동은 제1 운동 동작 및 제2 운동 동작을 포함할 수 있다. 식별된 유지 구간의 앞부분(제1 운동 동작 구간)은 제1 구간(710)일 수 있고 유지 구간의 뒷부분(제2 운동 동작 구간)은 제2 구간(720)일 수 있다. 즉, 제1 구간에서의 운동(제1 운동 동작)과 제2 구간에서의 운동(제2 운동 동작)은 비대칭 동작 일 수 있다. 전자 장치(100)는 유지 구간의 앞부분 중 m초에 해당하는 제3 구간(730) 및 유지 구간의 뒷부분 중 m초에 해당하는 제4 구간(740)을 제1 프레임 구간으로 식별할 수 있다.
운동 동작이 유지 동작 운동이 아니면(S216-N), 즉, 운동 동작이 비대칭 동작 운동이며, 비유지 동작 운동이면, 전자 장치(100)는 운동 반복 구간을 식별할 수 있다(S219). 전자 장치(100)는 운동 반복 구간 사이의 운동 간격을 획득할 수 있다(S220). 전자 장치(100)는 앞부분 x회 및 반대쪽 x회를 제1 프레임 구간으로 식별할 수 있다(S221). 예를 들어, 전자 장치(100)는 동영상 중 시작 프레임으로부터 x회(제2 횟수)의 제1 대칭 운동 동작에 대응하는 프레임 및 x회(제2 횟수)의 제2 대칭 운동 동작에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
예를 들어, 운동 동작은 '런지'와 같은 비대칭 동작 운동이며, 비유지 동작 운동일 수 있다. 동영상 내 사용자의 운동 동작에 대한 정보는 도 8에 도시된 바와 같을 수 있다. x축은 시간을 나타내고 y축은 사용자의 움직임에 대한 정보를 나타내고, 그래프는 사용자의 움직임에 대한 정보를 나타낼 수 있다. 비대칭 운동 동작은 제1 운동 동작 및 제2 운동 동작을 포함할 수 있다. 식별된 운동 반복 구간은 제1 구간(810), 제2 구간(820) 제3 구간(830), 제4 구간(840) 및 제5 구간(850)일 수 있다. 제1 운동 동작의 반복 구간은 제1 구간(810), 제3 구간(830) 및 제5 구간(850)일 수 있다. 제2 운동 동작의 반복 구간은 제2 구간(820) 및 제4 구간(840)일 수 있다. x회가 2회이면, 전자 장치(100)는 제1 운동 동작 구간을 2회 포함하고 제2 운동 동작 구간을 2회 포함하는 제6 구간(860)을 제1 프레임 구간으로 식별할 수 있다.
S218 단계 및 S221 단계를 통해 제1 프레임 구간이 식별되면, 전자 장치(100)는 현재 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S222). 예를 들어, 전자 장치(100)는 제1 프레임 구간의 운동 패턴 정보와 현재 프레임 구간(제2 프레임 구간)의 운동 패턴 정보를 비교하여, 현재 프레임 구간의 운동 동작이 제1 프레임 구간과 동일한 운동 동작인지 여부를 식별할 수 있다.
제1 프레임 구간과 같은 운동 동작을 지속하지 않는 것으로 식별되면(S222-N), 전자 장치(100)는 S202 단계로 돌아가 현재 운동 동작에 대한 운동 패턴 정보를 획득하고 이후의 단계를 수행할 수 있다.
제1 프레임 구간과 같은 운동 동작을 지속하는 것으로 식별되면(S222-Y), 전자 장치(100)는 제1 프레임 구간과 현재 프레임 구간의 운동 패턴 정보 차이 값이 제3 설정값(Threshold C)을 초과하는지 여부를 식별할 수 있다(S223). 예를 들어, 전자 장치(100)는 제1 프레임 구간에 대한 운동 패턴 정보와, 현재 프레임 구간 (제2 프레임 구간)에 대한 운동 패턴 정보의 차이값을 식별할 수 있다.
제1 프레임 구간에 대한 운동 패턴 정보와 현재 프레임 구간 (제2 프레임 구간)에 대한 운동 패턴 정보의 차이 값이 제3 설정값(Threshold C)을 초과하면(S223-Y), 전자 장치(100)는 동영상 내 사람의 체력이 고갈된 것으로 식별할 수 있다(S227).
제1 프레임 구간에 대한 운동 패턴 정보와 현재 프레임 구간 (제2 프레임 구간)에 대한 운동 패턴 정보의 차이 값이 제3 설정값(Threshold C)을 초과하지 않으면(S223-N), 전자 장치(100)는 제1 프레임 구간의 운동 동작이 유지 동작 운동인지 여부를 식별할 수 있다(S224).
제1 프레임 구간의 운동 동작이 유지 동작 운동이면(S224-Y), 전자 장치(100)는 S222 단계로 돌아가 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S222).
제1 프레임 구간의 운동 동작이 유지 동작 운동이 아니면(S224-N), 즉, 제1 프레임 구간의 운동 동작이 비 유지 동작이면, 전자 장치(100)는 운동 매 횟수 사이의 간격을 획득(예로, 연산)할 수 있다(S225). 전자 장치(100)는 운동 매 횟수 사이의 간격이 제4 설정값(Threshold D)을 초과하는지 여부를 식별할 수 있다(S226).
예를 들어, 운동 동작은 '런지'와 같은 비대칭 동작이며 비유지 동작 운동일 수 있다. 비대칭 동작은 제1 대칭 운동 동작 및 제2 대칭 운동 동작을 포함할 수 있다. 동영상 내 사용자의 운동 동작에 대한 정보는 도 9에 도시된 바와 같을 수 있다. 여기서 제1 구간(910), 제2 구간(911), 제3 구간(912), 제4 구간(913), 제5 구간(914), 제6 구간(915), 제7 구간(916), 제8 구간(917) 및 제9 구간(918)은 각각 제1 대칭 운동 동작 또는 제2 대칭 운동 동작을 1회 수행하는 구간일 수 있다. 제1 프레임 구간(960)은 비대칭 동작을 최초 2회 수행한 구간(920)일 수 있고, 제2 프레임 구간은 제9 구간(930)일 수 있다. 제1 구간(910), 제2 구간(911), 제3 구간(912), 제4 구간(913) 및 제5 구간(914), 제6구간(915), 제7 구간(916), 제8 구간(917) 및 제9 구간(918)에서 각각 제1 대칭 운동 동작 또는 제2 대칭 운동 동작을 1회 수행하는데 소요된 시간은 각각 5초, 4초, 4초, 3초, 5초, 6초, 7초, 6초 및 8초 일 수 있다. 제4 설정값은 3초일 수 있다.
운동 매 횟수 사이의 간격은 비대칭 운동 동작을 1회(즉, 제1 대칭 운동 동작 1회 및 제2 대칭 운동 동작 1회) 수행하는데 소요된 시간을 의미할 수 있다.
예를 들어, 전자 장치(100)는 제1 프레임 구간(920)에서 비대칭 운동 동작을 1회 수행하는데 소요된 평균 시간을 제2 프레임 구간(930)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간을 비교할 수 있다. 전자 장치(100)는 제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 평균 시간과 제2 프레임 구간(750)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간의 차이를 기설정된 제4 설정값과 비교할 수 있다.
제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 평균 시간은 9초, 7초 및 11초의 평균 시간인 9초일 수 있다. 제2 프레임 구간(930)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간은 15초일 수 있다. 제1 프레임 구간(760)에서 운동 동작을 1회 수행하는데 소요된 평균 시간과 제2 프레임 구간(750)에서 운동 동작을 1회 수행하는데 소요된 시간의 차이는 6초이고, 제4 설정값은 3초이므로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제4 설정값을 초과하는 것으로 식별할 수 있다.
또는, 전자 장치(100)는 제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간 중 최소의 시간과 제2 프레임 구간에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간의 차이를 제4 설정값과 비교할 수 있다.
예를 들어, 제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간 중 최소 시간은 7초일 수 있다. 제2 프레임 구간(750)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간은 15초일 수 있다. 제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간 중 최소 시간인 7초와 제2 프레임 구간(750)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간인 15초의 차이는 8초이므로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제4 설정값을 초과하는 것으로 식별할 수 있다.
또는, 전자 장치(100)는 제1 프레임 구간(760)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최대의 시간과 제2 프레임 구간에서 운동 동작을 1회 수행하는데 소요된 시간의 차이를 제4 설정값과 비교할 수 있다. 상술한 방법과 마찬가지로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제4 설정값을 초과하는지 여부를 식별할 수 있다.운동 매 횟수 사이의 간격이 제4 설정값(Threshold D)을 초과하지 않으면(S226-N), 전자 장치(100)는 S222 단계로 돌아가 현재 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S222).
운동 매 횟수 사이의 간격이 제4 설정값(Threshold D)을 초과하면(S226-Y), 전자 장치(100)는 동영상 내 사람의 체력이 고갈된 것으로 식별할 수 있다(S227).
동영상 내 사람의 체력이 고갈된 것으로 식별되면, 전자 장치(100)는 운동 동작에 대한 정보를 제공할 수 있다. 운동 동작에 대한 정보는 제2 프레임 구간에 대한 정보일 수 있다. 제2 프레임 구간에 대한 정보는 제2 프레임 구간 내 사람의 운동 동작을 가이드하기 위한 정보를 포함할 수 있다.
예를 들어, 체력이 고갈된 것으로 식별되면, 전자 장치(100)는 제2 프레임 구간 내 사람의 운동 동작을 가이드하기 위한 정보를 제공할 수 있다. 예를 들어, 사람의 운동 동작이 '스쿼트'인 경우, 전자 장치(100)는 전자 장치(100)에 포함된 스피커를 통해 도 10에 도시된 바와 같이, "가슴을 펴주세요."와 같은 음성을 제공할 수 있다. 또는, 전자 장치(100)는 사용자의 체력이 고갈되어 운동 동작의 자세가 문제가 생겼다는 정보를 제공하기 위해 알람 소리를 제공할 수 있다.
또는, 전자 장치(100)는 사용자의 운동 동영상을 촬영하는 동안, 촬영되고 있는 동영상을 전자 장치(100)에 포함된 디스플레이를 통해 제공할 수 있다. 사용자가 운동을 수행하는 동안 체력이 고갈된 것으로 식별되면, 전자 장치(100)는 디스플레이를 통해 제공되는 화면 내에서 운동 동작의 자세를 가이드하는 정보를 제공할 수 있다.
운동 동작의 자세를 가이드하는 정보는 사람의 신체 중 특정 지점을 표시하기 위한
예를 들어, 사람의 운동 동작이 '플랭크'인 경우, 도 11에 도시된 바와 같이, 전자 장치(100)는 디스플레이(1110)를 통해 촬영중인 사람의 운동 동작 영상(1111)을 제공할 수 있다. 체력이 고갈된 것으로 식별되면, 전자 장치(100)는 디스플레이(1110)상에서 사용자의 운동 동작을 가이드하기 위한 신체 부위를 특정하기 위한 표시(1120)를 함께 제공할 수 있다. 전자 장치(100)는 특정된 신체 부위를 가이드하기 위한 메시지(1130)를 디스플레이(1110)상에 함께 제공할 수 있다.
또는, 전자 장치(100)는 사용자의 운동 동작을 가이드하기 위한 신체 부위를 특정하기 위한 표시(1120)를 디스플레이(1110)를 통해 제공하고, 전자 장치(100)에 포함된 스피커를 통해 사용자의 운동 동작을 가이드하는 음성 정보(예로, "엉덩이가 더 올라가야 합니다")를 함께 제공할 수 있다.
도 12는 본 개시의 다양한 실시예에 따른 전자 장치의 예시적 제어 방법을 설명하기 위한 도면이다.
전자 장치(100)는 동영상을 획득할 수 있다(S1210). 예를 들어, 전자 장치(100)는 원본 동영상을 획득하고 복수의 운동 동작을 포함하는 복수의 동영상이 저장된 운동 DB(Data Base)를 바탕으로, 원본 동영상에 포함된 복수의 프레임 중 사람의 운동 동작에 대응되는 프레임을 식별하여 동영상을 획득할 수 있다.
전자 장치(100)는 동영상의 복수의 프레임으로부터 사람 및 사람의 포즈 데이터를 식별할 수 있다(S1220). 예를 들어, 전자 장치(100)는 포즈 데이터를 식별할 수 있는 신경망 모델에 동영상을 입력하여 포즈 데이터를 획득할 수 있다.
전자 장치(100)는 식별된 사람의 포즈 데이터를 이용하여 복수의 프레임에 대응하는 운동 패턴 정보를 획득할 수 있다(S1230). 예를 들어, 전자 장치(100)는 동영상에 포함된 사람의 특정 신체 부위 각각을 키포인트로 식별하고, 식별된 키포인트들의 움직임을 식별하여 포즈 데이터를 획득할 수 있다.
전자 장치(100)는 적어도 하나의 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 식별된 사람의 운동 동작을 인식하고, 인식된 운동 동작에 대응하는 운동 특성 정보를 획득할 수 있다(S1240). 운동 특성 정보는 사람의 운동 동작이 대칭 동작인지 여부 및 유지 동작인지 여부에 대한 정보일 수 있다.
전자 장치(100)는 운동 특성 정보 및 운동 패턴 정보를 바탕으로, 동영상의 복수의 프레임 중 제1 프레임 구간 및 제1 프레임 구간과 상이한 제2 프레임 구간을 식별할 수 있다(S1250). 예를 들어, 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 운동 패턴 정보를 바탕으로 동영상의 복수의 프레임에서 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임을 각각 식별할 수 있다. 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 제2 대칭 운동 동작에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
전자 장치(100)는 제1 프레임 구간과 제2 프레임 구간을 비교하여 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공할 수 있다(S1260). 운동 동작에 대한 정보는 제2 프레임 구간 내 사람의 운동 동작을 가이드하기 위한 정보일 수 있다.
한편, 본 개시에 따른 인공지능과 관련된 기능은 전자 장치(100)의 프로세서(120)와 메모리(110)를 통해 동작될 수 있다.
프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit). VPU(Vision processing unit) 등과 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit), TPU(Tensor Processing Unit )와 같은 인공지능 전용 프로세서일 수 있다.
본 개시의 일 실시예로, 전자 장치(100)에 포함된 SoC(System on Chip)에 복수의 프로세서가 포함된 경우, 전자 장치(100)는 복수의 프로세서 중 그래픽 전용 프로세서 또는 인공지능 전용 프로세서를 이용하여 인공지능과 관련된 연산(예를 들어, 인공지능 모델의 학습(learning)이나 추론(inference)에 관련된 연산)을 수행하며, 복수의 프로세서 중 범용 프로세서를 이용하여 전자 장치의 일반적인 연산을 수행할 수 있다. 예를 들어, 전자 장치(100)는 복수의 프로세서 중 컨볼루션 연산에 특화된 GPU, VPU, NPU, TPU 중 적어도 하나를 이용하여 인공지능과 관련된 연산을 수행하며, 복수의 프로세서 중 CPU, AP 중 적어도 하나를 이용하여 전자 장치(100)의 일반적인 연산을 수행할 수 있다.
또한, 전자 장치(100)는 하나의 프로세서에 포함된 멀티 코어(예를 들어, 듀얼 코어, 쿼드 코어 등)를 이용하여 인공지능과 관련된 기능에 대한 연산을 수행할 수 있다. 특히, 전자 장치는 프로세서에 포함된 멀티 코어를 이용하여 병렬적으로 컨볼루션 연산을 수행할 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(100)를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상 본 개시의 다양한 예시적 실시예를 참고하여 본 개시가 설명되었지만, 다양한 예시적 실시에는 예시적인 것으로 의도된 것이며, 한정하는 것은 아니다. 당업자는 특허 청구범위 및 균등물에 의해 정의되는 본 개시의 사상을 벗어나지 않는 범위 내에서 본 개시를 다양하게 개량, 변경 및 수정할 수 있음을 명백히 이해할 것이다. 또한, 본 명세서에 기재된 임의의 실시예(들)은 본 명세서에 기재된 임의의 다른 실시예(들)과 함께 사용될 수 있음도 이해될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    적어도 하나의 인스트럭션을 포함하는 메모리,
    상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서를 포함하고,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    동영상을 획득하고,
    상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하고,
    상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하고,
    적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하고,
    상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하고,
    상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임 구간에 대응하는 운동 동작에 대한 정보를 제공하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 대칭 동작인지 여부를 식별하는 단계; 및
    사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 유지 동작인지 여부를 식별하는 전자 장치.
  3. 제2항에 있어서,
    상기 제1 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지에 대한 정보에 기초하여 학습되며,
    상기 제2 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지에 대한 정보에 기초하여 학습되는 것을 특징으로 하는 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 시간까지의 구간을 상기 제1 프레임 구간으로 식별
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 사람의 운동 동작이 대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 운동 반복 구간을 각각 식별하는 단계; 및
    상기 식별된 운동 반복 구간을 바탕으로, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 횟수의 운동 반복 구간에 대응하는 프레임까지의 구간을 상기 제1 프레임 구간으로 식별하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 사람의 운동 동작이 비대칭 동작 및 유지 동작 운동이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임 중 제1 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간에 대응하는 프레임을 상기 제1 프레임 구간으로 식별하는 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임을 각각 식별하는 단계; 및
    상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 상기 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 상기 제2 대칭 운동 동작에 대응하는 프레임을 상기 제1 프레임 구간으로 식별하는 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 동영상이 재생 중인 경우, 상기 재생 중인 프레임으로부터 특정한 간격 구간의 프레임을 상기 제2 프레임으로 식별하는 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 프레임 구간에 대응되는 운동 패턴 정보와 상기 제2 프레임 구간에 대한 운동 패턴 정보의 차이 값이 기 설정 값 이상인 경우 체력 고갈 상태인 것으로 식별하고, 상기 체력 고갈 상태를 식별하면, 상기 제2 프레임 구간에 대응되는 상기 사람의 운동 동작에 대한 정보를 제공하는 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    원본 동영상을 획득하고,
    복수의 운동 동작을 포함하는 복수의 동영상이 저장된 운동 DB(Data Base)를 바탕으로, 상기 원본 동영상에 포함된 복수의 프레임 중 상기 사람의 운동 동작에 대응되는 프레임을 식별하여 상기 동영상을 획득하는 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    동영상을 획득하는 단계;
    상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하는 단계;
    상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하는 단계;
    적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하는 단계;
    상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계; 및
    상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임 구간에 대응하는 운동 동작에 대한 정보를 제공하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 운동 특성 정보를 획득하는 단계는,
    사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 대칭 동작인지 여부를 식별하는 단계; 및
    사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 유지 동작인지 여부를 식별하는 단계;를 포함하는 제어 방법.
  13. 제12항에 있어서,
    상기 제1 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지에 대한 정보에 기초하여 학습되며,
    상기 제2 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지에 대한 정보에 기초하여 학습되는 것을 특징으로 하는 제어 방법.
  14. 제11항에 있어서,
    상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는,
    상기 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 시간까지의 구간을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함하는 제어 방법.
  15. 제11항에 있어서,
    상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는,
    상기 사람의 운동 동작이 대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 운동 반복 구간을 각각 식별하는 단계; 및
    상기 식별된 운동 반복 구간을 바탕으로, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 횟수의 운동 반복 구간에 대응하는 프레임까지의 구간을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함하는 제어 방법.
PCT/KR2023/006288 2022-05-10 2023-05-09 전자 장치 및 그 제어 방법 WO2023219393A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/328,252 US20230364465A1 (en) 2022-05-10 2023-06-02 Electronic apparatus and controlling method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220057477A KR20230157814A (ko) 2022-05-10 2022-05-10 전자 장치 및 그 제어 방법
KR10-2022-0057477 2022-05-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/328,252 Continuation US20230364465A1 (en) 2022-05-10 2023-06-02 Electronic apparatus and controlling method thereof

Publications (1)

Publication Number Publication Date
WO2023219393A1 true WO2023219393A1 (ko) 2023-11-16

Family

ID=88730710

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/006288 WO2023219393A1 (ko) 2022-05-10 2023-05-09 전자 장치 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20230157814A (ko)
WO (1) WO2023219393A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101826268B1 (ko) * 2017-04-28 2018-02-06 동국대학교 산학협력단 동작 예측 방법 및 시스템
KR20200025290A (ko) * 2018-08-30 2020-03-10 충북대학교 산학협력단 운동 자세 분석 시스템 및 방법
KR20200089934A (ko) * 2019-01-18 2020-07-28 (주)그린콤 실시간 피트니스 모니터링 방법, 장치 및 시스템
KR20210128943A (ko) * 2020-04-17 2021-10-27 초록소프트 주식회사 인공신경망을 이용한 스포츠 자세를 비교 및 교정하는 장치 및 방법
KR20220039440A (ko) * 2020-09-22 2022-03-29 삼성전자주식회사 디스플레이 장치 및 그의 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101826268B1 (ko) * 2017-04-28 2018-02-06 동국대학교 산학협력단 동작 예측 방법 및 시스템
KR20200025290A (ko) * 2018-08-30 2020-03-10 충북대학교 산학협력단 운동 자세 분석 시스템 및 방법
KR20200089934A (ko) * 2019-01-18 2020-07-28 (주)그린콤 실시간 피트니스 모니터링 방법, 장치 및 시스템
KR20210128943A (ko) * 2020-04-17 2021-10-27 초록소프트 주식회사 인공신경망을 이용한 스포츠 자세를 비교 및 교정하는 장치 및 방법
KR20220039440A (ko) * 2020-09-22 2022-03-29 삼성전자주식회사 디스플레이 장치 및 그의 제어 방법

Also Published As

Publication number Publication date
KR20230157814A (ko) 2023-11-17

Similar Documents

Publication Publication Date Title
WO2019164232A1 (ko) 전자 장치, 이의 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
WO2020059939A1 (ko) 인공지능 장치
WO2019143227A1 (en) Electronic device providing text-related image and method for operating the same
WO2020139009A1 (ko) 뇌혈관 질환 학습 장치, 뇌혈관 질환 검출 장치, 뇌혈관 질환 학습 방법 및 뇌혈관 질환 검출 방법
WO2019216732A1 (ko) 전자 장치 및 이의 제어 방법
WO2019083227A1 (en) MEDICAL IMAGE PROCESSING METHOD, AND MEDICAL IMAGE PROCESSING APPARATUS IMPLEMENTING THE METHOD
WO2021101134A1 (en) Electronic apparatus and control method thereof
WO2021091022A1 (ko) 머신 러닝 시스템 및 머신 러닝 시스템의 동작 방법
WO2021112631A1 (en) Device, method, and program for enhancing output content through iterative generation
WO2018117753A1 (en) Electronic device and method of controlling the same
WO2013085278A1 (ko) 선택적 주의 집중 모델을 이용한 모니터링 장치 및 그 모니터링 방법
WO2019164251A1 (en) Method of performing learning of deep neural network and apparatus thereof
WO2020080734A1 (ko) 얼굴 인식 방법 및 얼굴 인식 장치
EP3949380A1 (en) Electronic apparatus and controlling method thereof
WO2023219393A1 (ko) 전자 장치 및 그 제어 방법
WO2020017814A1 (ko) 이상 개체 검출 시스템 및 방법
WO2019190142A1 (en) Method and device for processing image
EP3707678A1 (en) Method and device for processing image
WO2020149493A1 (ko) 전자 장치 및 이의 제어 방법
WO2021251615A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2022010177A1 (en) Device and method for generating summary video
WO2022215823A1 (ko) 영상 생성 방법 및 장치
WO2022080844A1 (ko) 스켈레톤 분석을 이용한 객체 추적 장치 및 방법
WO2020116983A1 (en) Electronic apparatus, controlling method of electronic apparatus, and computer readable medium
WO2023128323A1 (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: 23803816

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023803816

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2023803816

Country of ref document: EP

Effective date: 20240516