This disclosure relates to a method of enhancing performance of exercise counting recognition and an electronic device that supports the same.
With the advancement of digital technology, various types of electronic devices, such as smart phones and/or wearable devices, are being widely used. Hardware components and/or software components of the electronic device are consistently developed to support and improve the function of the electronic device.
Interest in a user's health care using electronic devices has recently increased. For example, a user may perform exercise while carrying an electronic device. The electronic device may provide exercise counting for the user's exercise and related exercise information based on the exercise counting to the user. Therefore, various studies are being conducted in electronic devices to provide highly accurate exercise information according to the user's health care.
Provided are a method of enhancing the recognition performance of exercise counting in various exercise postures of a user, and an electronic device supporting the same.
Additional aspects will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the presented embodiments.
According to an aspect of the disclosure, an electronic device may include: a display; at least one sensor; a memory storing instructions; and at least one processor operatively connected to the display, the at least one sensor, and the memory, wherein the at least one processor is configured to execute the instructions to: provide exercise guidance based on detecting an exercise start trigger, recognize an exercise-ready posture of a user for a specified time period based on sensor data from at least one specified sensor of the at least one sensor, provide exercise posture information related to a type of an exercise corresponding to the exercise-ready posture, drive a recognition schema for counting the exercise corresponding to the exercise-ready posture, perform exercise counting based on the recognition schema, and provide exercise information based on the exercise counting.
The at least one processor may be further configured to execute the instructions to recognize the exercise counting based on a countable signal from the at least one specified sensor.
The at least one processor may be further configured to execute the instructions to: recognize an exercise posture based on the recognized exercise-ready posture, and provide, during the recognition of the exercise posture, exercise posture information related to the recognized exercise-ready posture by displaying at least one of visual images or text on the display.
The at least one processor may be further configured to execute the instructions to: compare the exercise posture with a specified reference exercise posture corresponding to the recognized exercise-ready posture, and determine whether the exercise posture is being maintained based on a similarity between the exercise posture and the specified reference exercise posture.
The at least one processor may be further configured to execute the instructions to: correct the exercise-ready posture in a state in which the exercise posture does not correspond to the specified reference exercise posture, determine a first recognition schema as the recognition schema for counting the exercise corresponding to the corrected exercise-ready posture, based on the exercise-ready posture having been corrected, determine a second recognition schema, different from the first recognition schema, as the recognition schema for counting the exercise corresponding to the exercise-ready posture in a state in which the exercise posture corresponds to the specified reference exercise posture, and continuously accumulate and provide the exercise information according to the counting of the exercise based on the first recognition schema or the second recognition schema.
The at least one processor may be further configured to execute the instructions to: determine whether the exercise-ready posture is maintained for a predetermined time period based on a result of recognizing the exercise-ready posture during the specified time period, and drive the recognition schema corresponding to the exercise-ready posture in a state in which the exercise-ready posture is maintained for the predetermined time period.
The at least one processor may be further configured to execute the instructions to: detect an exercise counting candidate section based on the sensor data from the at least one specified sensor, filter an exercise motion and a non-exercise motion for the exercise counting candidate section, calculate an exercise posture at a start point and an end point of the exercise counting candidate section, and calculate a similarity between the exercise-ready posture and the exercise posture of the exercise counting candidate section.
The at least one processor may be further configured to execute the instructions to: extract a countable signal through signal processing of the sensor data from the at least one specified sensor, and detect the exercise counting candidate section based on the extracted countable signal.
The at least one processor may be further configured to execute the instructions to: detect zero crossing points for the extracted countable signal, detect peaks and valleys within a zero crossing section, determine whether the peaks and valleys satisfy a specified condition based on whether the peaks and valleys pass through a predefined upper boundary and lower boundary, check a sequence in which the countable signal passes through the predefined upper boundary and lower boundary within the zero crossing section in a state in which the specified condition is satisfied, and determine a zero crossing section of the countable signal that satisfies the specified condition as the exercise counting candidate section.
The at least one processor may be further configured to execute the instructions to perform filtering of exercise counting false recognition based on characteristic parameters for distinguishing between the exercise motion and the non-exercise motion, where the characteristic parameters include at least one of an amount of change in acceleration, an acceleration peak-valley interval, an amount of change in angular velocity, or an amount of change in atmospheric pressure.
The at least one processor may be further configured to execute the instructions to: determine that the user is maintaining the exercise posture in a state in which the similarity exceeds a threshold, and update the exercise information.
The at least one processor may be further configured to execute the instructions to: determine that the exercise posture is not being maintained in a state in which the similarity is equal to or less than a threshold, and correct the exercise-ready posture.
The at least one processor may be further configured to execute the instructions to: accumulate the exercise counting candidate section in a state in which the similarity is equal to or less than the threshold, determine whether there is a correction history for the exercise-ready posture in a state in which a number of candidate sections exceeds a predetermined count, correct the exercise-ready posture in a state in which there is no correction history for the exercise-ready posture, and provide guidance on the exercise posture in a state in which there is the correction history for the exercise-ready posture.
The electronic device may further include communication circuitry, and the at least one processor may be further configured to execute the instructions to: control the communication circuitry to establish wireless communication with an external device based on detecting the exercise start trigger, transmit visual information related to exercise coaching to the external device, and enable the visual information related to the exercise coaching to be displayed through at least one of the display of the electronic device or a display of the external device.
According to an aspect of the disclosure, a method of operating an electronic device may include: providing exercise guidance based on detecting an exercise start trigger; recognizing an exercise-ready posture of a user for a specified time period based on sensor data from at least one specified sensor of the electronic device; providing exercise posture information related to a type of an exercise corresponding to the exercise-ready posture; driving a recognition schema for counting the exercise corresponding to the exercise-ready posture; performing exercise counting based on the recognition schema; and providing exercise information based on the exercise counting.
According to an aspect of the disclosure, a non-transitory computer-readable recording medium storing computer-executable instructions that, when executed by a processor of an electronic device individually and/or collectively, cause the electronic device to perform operations is provided. The operations may include based on detecting an exercise start trigger, providing exercise guidance, recognizing an exercise-ready posture of a user for a specified time period based on sensor data from at least one specified sensor of the electronic device, providing exercise posture information related to a type of an exercise corresponding to the exercise-ready posture, driving a recognition schema for counting the exercise corresponding to the exercise-ready posture, performing exercise counting based on the recognition schema, and providing exercise information based on the exercise counting.
The above and other aspects, features, and advantages of certain embodiments of the present disclosure will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
Hereinafter, example embodiments of the disclosure will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same components in the drawings, and redundant descriptions thereof will be omitted. The embodiments described herein are example embodiments, and thus, the disclosure is not limited thereto and may be realized in various other forms. It is to be understood that singular forms include plural referents unless the context clearly dictates otherwise. The terms including technical or scientific terms used in the disclosure may have the same meanings as generally understood by those skilled in the art.
Referring to
The processor 120 may execute, for example, software (e.g., a program 140) to control at least one other component (e.g., a hardware or software component) of the electronic device 101 coupled with the processor 120, and may perform various data processing or computation. According to an embodiment, as at least part of the data processing or computation, the processor 120 may store a command or data received from another component (e.g., the sensor module 176 or the communication module 190) in volatile memory 132, process the command or the data stored in the volatile memory 132, and store resulting data in non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)), or an auxiliary processor 123 (e.g., a graphics processing unit (GPU), a neural processing unit (NPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is operable independently from, or in conjunction with, the main processor 121. For example, when the electronic device 101 includes the main processor 121 and the auxiliary processor 123, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or to be specific to a specified function. The auxiliary processor 123 may be implemented as separate from, or as part of the main processor 121.
The auxiliary processor 123 may control at least some of functions or states related to at least one component (e.g., the display module 160, the sensor module 176, or the communication module 190) among the components of the electronic device 101, instead of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or together with the main processor 121 while the main processor 121 is in an active state (e.g., executing an application). According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., the camera module 180 or the communication module 190) functionally related to the auxiliary processor 123. According to an embodiment, the auxiliary processor 123 (e.g., the neural processing unit) may include a hardware structure specified for artificial intelligence model processing. An artificial intelligence model may be generated by machine learning. Such learning may be performed, e.g., by the electronic device 101 where the artificial intelligence is performed or via a separate server (e.g., the server 108). Learning algorithms may include, but are not limited to, e.g., supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The artificial intelligence model may include a plurality of artificial neural network layers. The artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-network or a combination of two or more thereof but is not limited thereto. The artificial intelligence model may, additionally or alternatively, include a software structure other than the hardware structure.
The memory 130 may store various data used by at least one component (e.g., the processor 120 or the sensor module 176) of the electronic device 101. The various data may include, for example, software (e.g., the program 140) and input data or output data for a command related thereto. The memory 130 may include the volatile memory 132 or the non-volatile memory 134.
The program 140 may be stored in the memory 130 as software, and may include, for example, an operating system (OS) 142, middleware 144, or an application 146.
The input module 150 may receive a command or data to be used by another component (e.g., the processor 120) of the electronic device 101, from the outside (e.g., a user) of the electronic device 101. The input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
The sound output module 155 may output sound signals to the outside of the electronic device 101. The sound output module 155 may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as playing multimedia or playing record. The receiver may be used for receiving incoming calls. According to an embodiment, the receiver may be implemented as separate from, or as part of the speaker.
The display module 160 may visually provide information to the outside (e.g., a user) of the electronic device 101. The display module 160 may include, for example, a display, a hologram device, or a projector and control circuitry to control a corresponding one of the display, hologram device, and projector. According to an embodiment, the display module 160 may include a touch sensor adapted to detect a touch, or a pressure sensor adapted to measure the intensity of force incurred by the touch.
The audio module 170 may convert a sound into an electrical signal and vice versa. According to an embodiment, the audio module 170 may obtain the sound via the input module 150, or output the sound via the sound output module 155 or a headphone of an external electronic device (e.g., an electronic device 102) directly (e.g., wiredly) or wirelessly coupled with the electronic device 101.
The sensor module 176 may detect an operational state (e.g., power or temperature) of the electronic device 101 or an environmental state (e.g., a state of a user) external to the electronic device 101, and then generate an electrical signal or data value corresponding to the detected state. According to an embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
The interface 177 may support one or more specified protocols to be used for the electronic device 101 to be coupled with the external electronic device (e.g., the electronic device 102) directly (e.g., wiredly) or wirelessly. According to an embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
A connecting terminal 178 may include a connector via which the electronic device 101 may be physically connected with the external electronic device (e.g., the electronic device 102). According to an embodiment, the connecting terminal 178 may include, for example, a HDMI connector, a USB connector, a SD card connector, or an audio connector (e.g., a headphone connector).
The haptic module 179 may convert an electrical signal into a mechanical stimulus (e.g., a vibration or a movement) or electrical stimulus which may be recognized by a user via his tactile sensation or kinesthetic sensation. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electric stimulator.
The camera module 180 may capture a still image or moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
The power management module 188 may manage power supplied to the electronic device 101. According to an embodiment, the power management module 188 may be implemented as at least part of, for example, a power management integrated circuit (PMIC).
The battery 189 may supply power to at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a primary cell which is not rechargeable, a secondary cell which is rechargeable, or a fuel cell.
The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and the external electronic device (e.g., the electronic device 102, the electronic device 104, or the server 108) and performing communication via the established communication channel. The communication module 190 may include one or more communication processors that are operable independently from the processor 120 (e.g., the application processor (AP)) and supports a direct (e.g., wired) communication or a wireless communication. According to an embodiment, the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules may communicate with the external electronic device via the first network 198 (e.g., a short-range communication network, such as Bluetooth™, wireless-fidelity (Wi-Fi) direct, or infrared data association (IrDA)) or the second network 199 (e.g., a long-range communication network, such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or wide area network (WAN)). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as multi components (e.g., multi chips) separate from each other. The wireless communication module 192 may identify and authenticate the electronic device 101 in a communication network, such as the first network 198 or the second network 199, using subscriber information (e.g., international mobile subscriber identity (IMSI)) stored in the subscriber identification module 196.
The wireless communication module 192 may support a 5G network, after a 4G network, and next-generation communication technology, e.g., new radio (NR) access technology. The NR access technology may support enhanced mobile broadband (eMBB), massive machine type communications (mMTC), or ultra-reliable and low-latency communications (URLLC). The wireless communication module 192 may support a high-frequency band (e.g., the mmWave band) to achieve, e.g., a high data transmission rate. The wireless communication module 192 may support various technologies for securing performance on a high-frequency band, such as, e.g., beamforming, massive multiple-input and multiple-output (massive MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., the electronic device 104), or a network system (e.g., the second network 199). According to an embodiment, the wireless communication module 192 may support a peak data rate (e.g., 20 Gbps or more) for implementing eMBB, loss coverage (e.g., 164 dB or less) for implementing mMTC, or U-plane latency (e.g., 0.5 ms or less for each of downlink (DL) and uplink (UL), or a round trip of 1 ms or less) for implementing URLLC.
The antenna module 197 may transmit or receive a signal or power to or from the outside (e.g., the external electronic device) of the electronic device 101. According to an embodiment, the antenna module 197 may include an antenna including a radiating element including a conductive material or a conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an embodiment, the antenna module 197 may include a plurality of antennas (e.g., array antennas). In such a case, at least one antenna appropriate for a communication scheme used in the communication network, such as the first network 198 or the second network 199, may be selected, for example, by the communication module 190 (e.g., the wireless communication module 192) from the plurality of antennas. The signal or the power may then be transmitted or received between the communication module 190 and the external electronic device via the selected at least one antenna. According to an embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as part of the antenna module 197.
According to various embodiments, the antenna module 197 may form a mmWave antenna module. According to an embodiment, the mmWave antenna module may include a printed circuit board, a RFIC disposed on a first surface (e.g., the bottom surface) of the printed circuit board, or adjacent to the first surface and capable of supporting a designated high-frequency band (e.g., the mmWave band), and a plurality of antennas (e.g., array antennas) disposed on a second surface (e.g., the top or a side surface) of the printed circuit board, or adjacent to the second surface and capable of transmitting or receiving signals of the designated high-frequency band.
At least some of the above-described components may be coupled mutually and communicate signals (e.g., commands or data) therebetween via an inter-peripheral communication scheme (e.g., a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)).
According to an embodiment, commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 via the server 108 coupled with the second network 199. Each of the electronic devices 102 or 104 may be a device of a same type as, or a different type, from the electronic device 101. According to an embodiment, all or some of operations to be executed at the electronic device 101 may be executed at one or more of the external electronic devices 102, 104, or 108. For example, if the electronic device 101 should perform a function or a service automatically, or in response to a request from a user or another device, the electronic device 101, instead of, or in addition to, executing the function or the service, may request the one or more external electronic devices to perform at least part of the function or the service. The one or more external electronic devices receiving the request may perform the at least part of the function or the service requested, or an additional function or an additional service related to the request, and transfer an outcome of the performing to the electronic device 101. The electronic device 101 may provide the outcome, with or without further processing of the outcome, as at least part of a reply to the request. To that end, a cloud computing, distributed computing, mobile edge computing (QEC), or client-server computing technology may be used, for example. The electronic device 101 may provide ultra low-latency services using, e.g., distributed computing or mobile edge computing. In an embodiment, the external electronic device 104 may include an internet-of-things (IoT) device. The server 108 may be an intelligent server using machine learning and/or a neural network. According to an embodiment, the external electronic device 104 or the server 108 may be included in the second network 199. The electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology or IoT-related technology.
An electronic device 101 according to an embodiment of the present disclosure may include various devices that is able to count a user's exercise while being worn on a user's body (e.g., arm) or held in the user's hand. According to an embodiment, the electronic device 101 may include a mobile terminal that is wearable on a user's body in cooperation with a wearable device and an apparatus that is wearable (or attachable) to the user's body (e.g., arm). According to an embodiment, the wearable device may include various forms of devices, such as a watch type, ring type, and/or band type. According to an embodiment, the mobile terminal may include a smart phone, a camera, and a multimedia player. In an embodiment of the present disclosure, for convenience of description, the electronic device 101 is described as a wearable device (e.g., a watch) by way of example. However, various embodiments of the present disclosure are not limited to wearable devices.
With reference to
According to an embodiment, the display 210 may correspond to the display module 160 as described in the description with reference to
According to an embodiment, the display 210 may include a touch detection circuit (or touch sensor), a pressure sensor capable of measuring the intensity of touch, and/or a touch panel (e.g., digitizer) that detects a magnetic field-type stylus pen. According to an embodiment, the display 210 may detect a touch input and/or a hovering input (or proximity input) by measuring changes in signals (e.g., voltage, light quantity, resistance, electromagnetic signal, and/or charge amount) at specific positions on the display 210, on the basis of the touch detection circuit, pressure sensor, and/or touch panel. According to an embodiment, the display 210 may be configured as a liquid crystal display (LCD), an organic light-emitting diode (OLED), and an active matrix organic light-emitting diode (AMOLED). According to an embodiment, the display 210 may be configured as a flexible display.
According to an embodiment, the display 210 may include the display of an external device (e.g., TV, display device) that is connected to the electronic device 101 via wireless communication. For example, the electronic device 101 may transmit visual information related to exercise coaching to an external device connected via wireless communication, allowing the external device to display the visual information related to exercise coaching. For example, the visual information related to exercise coaching may be displayed through the display 210 of the electronic device 101 and/or the display of an external device.
According to an embodiment, the communication circuit 220 may support a legacy network (e.g., 3G network and/or 4G network), a 5G network, out-of-band (OOB) communication, and/or next-generation communication technologies (e.g., new radio (NR) technology). According to an embodiment, the communication circuit 220 may correspond to the wireless communication module 192 as illustrated in
According to an embodiment, the electronic device 101 may perform communication with an external device (e.g., server 108 in
According to an embodiment, the memory 130 may correspond to the memory 130 as described in the description with reference to
According to an embodiment, the memory 130 may store instructions that, when executed, cause the processor 120 to operate. For example, the application may be stored in the memory 130 as software (e.g., program 140 in
According to an embodiment, the sensor module 230 may correspond to the sensor module 176 as described in the description with reference to
According to an embodiment, the processor 120 may perform application layer processing functions that are required by a user of the electronic device 101. According to an embodiment, the processor 120 may provide controls and commands of functions for various blocks of the electronic device 101. According to an embodiment, the processor 120 may perform calculations or data processing related to control and/or communication of the respective constituent elements of the electronic device 101. For example, the processor 120 may include at least some of the configurations and/or functions of the processor 120 in
According to an embodiment, the processor 120 may include processing circuitry and/or executable program elements. According to an embodiment, the processor 120 may support exercise counting in the electronic device 101 and control (or process) operations related to improving the recognition performance of exercise counting.
According to an embodiment, the processor 120 may enable exercise counting recognition for various exercise postures (e.g., squat exercise posture). According to an embodiment, the processor 120 may detect a countable signal based on specified sensors of the sensor module 230 (e.g., acceleration sensor 240, gyro sensor 250, and/or atmospheric pressure sensor 260). According to an embodiment, the processor 120 may check whether the countable signal passes through a specified predetermined section (e.g., lower boundary and upper boundary) (e.g., first information). According to an embodiment, the processor 120 may check the order (e.g., second information) in which the countable signal passes through a specified predetermined section (e.g., lower boundary and upper boundary). According to an embodiment, the processor 120 may detect an exercise counting candidate section on the basis of the first information and the second information.
According to an embodiment, the processor 120 may extract at least one characteristic parameter (e.g., amount of change in acceleration, acceleration peak-valley interval, amount of change in angular velocity, and amount of change in atmospheric pressure) for a specified sensor on the basis of sensor data from specified sensors of the sensor module 230 (e.g., acceleration sensor 240, gyro sensor 250, and/or atmospheric pressure sensor 260). According to an embodiment, the processor 120 may filter out non-exercise motions on the basis of the extracted at least one characteristic parameter. According to an embodiment, the processor 120 may achieve more accurate exercise counting recognition through filtering of non-exercise motions.
According to an embodiment, the processor 120 may allow exercise counting to be recognized even when, for example, the user's exercise posture becomes disrupted while supporting the user's exercise. According to an embodiment, the processor 120 may operate to check the exercise posture at a start point and an end point of a single exercise motion, regardless of whether the user's exercise posture is correct or disrupted. According to an embodiment, the processor 120 may check the exercise posture at the start and end points of the user's exercise motion to normally recognize the exercise count, even if the user's posture becomes disrupted during exercise.
According to an embodiment, the processor 120 may enable exercise counting recognition even when the user performs a specified exercise (e.g., squat exercise) with an exercise-ready posture different from an initial exercise-ready posture. According to an embodiment, the processor 120 may trigger a case where the exercise count is not properly recognized at the beginning of the exercise and correct the initial exercise-ready posture, thereby allowing proper recognition of the exercise count even when the user performs the exercise with an exercise posture different from the initial exercise-ready posture.
According to an embodiment, the processor 120 may interactively process operations related to exercise coaching with the electronic device 101 and an external device outside the electronic device 101 (e.g., TV, display device). According to an embodiment, the processor 120 may control the communication circuit 220 to connect with a specified external device via wireless communication upon detecting the user's exercise start (or exercise start trigger). According to an embodiment, the processor 120 may transmit visual information related to exercise coaching to an external device connected via wireless communication, allowing the external device to display the visual information related to exercise coaching. For example, the visual information related to exercise coaching may be displayed through the display 210 of the electronic device 101 and/or the display of an external device.
According to an embodiment, a detailed operation of the processor 120 of the electronic device 101 will be described with reference to the drawings described below.
According to an embodiment, the operations performed by the processor 120 may be implemented on a recording medium (or computer program product). For example, the recording medium may include a non-transitory computer-readable recording medium that records a program for executing various operations performed by the processor 120.
The embodiments disclosed herein may be implemented in a recording medium readable by a computer or similar device using software, hardware, or combinations thereof. According to hardware implementations, the operations described in an embodiment may be implemented using at least one of application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, and/or electrical units for performing other functions.
In an embodiment, a recording medium (or computer program product) may include a computer-readable recording medium on which a program is recorded to execute operations, including: providing exercise guidance on the basis of detecting an exercise start trigger; recognizing the user's exercise-ready posture for a specified time period on the basis of sensor data from at least one specified sensor of the sensor module 230 (e.g., acceleration sensor 240, gyro sensor 250, and/or atmospheric pressure sensor 260); providing exercise posture information related to the type of exercise corresponding to the exercise-ready posture; driving a recognition schema for the user's exercise counting corresponding to the exercise-ready posture; performing exercise counting based on the recognition schema; and providing exercise information according to the exercise counting.
Hereinafter, an example of exercise counting for a squat exercise and improvement of its recognition performance in the electronic device 101 according to various embodiments will be described, but the embodiments of the present disclosure are not limited to squat exercises. For example, the various embodiments described hereinafter are provided merely to easily explain the technical content of the present disclosure and aid in understanding, using specific constituent elements (e.g., squat exercise) as examples, and are not intended to limit the scope of the present disclosure.
Therefore, the scope of the present disclosure should be interpreted that all changes or modified forms derived based on the technical spirit of the present disclosure fall within the scope of the present disclosure in addition to the embodiments disclosed herein. For example, the exercise counting and method of improving recognition performance of the exercise counting described hereinafter may be applied to improve exercise counting and its recognition performance in various exercises where the user performs the same or similar movements repeatedly using their arms, such as squat exercises (e.g., lunges, planks, push-ups, or sit-ups).
The electronic device 101 according to an embodiment of the present disclosure may include a display (e.g., display module 160 in
According to an embodiment, the processor 120 may operate to provide exercise guidance on the basis of detecting an exercise start trigger, recognize the user's exercise-ready posture for a specified time period on the basis of sensor data from at least one specified sensor of the sensor module, provide exercise posture information related to the type of exercise corresponding to the exercise-ready posture, drive a recognition schema for the user's exercise counting corresponding to the exercise-ready posture, perform exercise counting based on the recognition schema, and provide exercise information according to the exercise counting.
According to an embodiment, the processor 120 may operate to recognize exercise counting on the basis of a countable signal based on at least one specified sensor of the sensor module.
According to an embodiment, the processor 120 may operate to recognize an exercise posture corresponding to the recognized exercise-ready posture and, while recognizing the exercise posture, provide exercise posture information related to the recognized exercise-ready posture on the basis of visual images and/or text.
According to an embodiment, the processor 120 may operate to compare the exercise posture with a pre-specified reference exercise posture corresponding to the recognized exercise-ready posture and determine whether to maintain the exercise posture on the basis of a similarity between the exercise posture and the reference exercise posture.
According to an embodiment, the processor 120 may operate to correct the exercise-ready posture when the exercise posture does not substantially match the reference exercise posture, determine a first recognition schema as the recognition schema for counting the user's exercise according to the corrected exercise-ready posture, and continuously accumulate and provide exercise information on the basis of exercise counting based on the determined first recognition schema.
According to an embodiment, the processor 120 may operate to determine a second recognition schema as the recognition schema for counting the user's exercise according to the exercise-ready posture when the exercise posture substantially matches the reference exercise posture, and continuously accumulate and provide exercise information on the basis of exercise counting based on the determined second recognition schema.
According to an embodiment, the processor 120 may operate to determine whether the exercise-ready posture is maintained for a determined time period on the basis of the result of recognizing the exercise-ready posture during the specified time period, and, when the exercise-ready posture is maintained for the determined time period, drive the recognition schema corresponding to the exercise-ready posture.
According to an embodiment, the processor 120 may operate to detect an exercise counting candidate section on the basis of at least one sensor data from at least one specified sensor, filter exercise motion and non-exercise motion for the exercise counting candidate section, calculate the exercise posture at the start and end points of the exercise counting candidate section, and calculate a similarity between the exercise-ready posture and the exercise posture of the exercise counting candidate section.
According to an embodiment, the processor 120 may operate to extract a countable signal through signal processing of at least one specified sensor data and detect an exercise counting candidate section using the extracted countable signal.
According to an embodiment, the processor 120 may operate to extract a countable signal on the basis of sensor data from a specified sensor, detect zero crossing points for the extracted countable signal, detect peaks and valleys within the zero crossing section, determine whether the peaks and valleys satisfy a specified condition on the basis of whether the peaks and valleys pass through a predefined upper boundary and lower boundary, check the sequence in which the countable signal passes through the upper boundary and lower boundary within the zero crossing section when the specified condition is satisfied, and determine the zero crossing section of the countable signal that satisfy the specified condition as the exercise counting candidate section.
According to an embodiment, the processor 120 may operate to perform filtering of exercise counting false recognition based on characteristic parameters for distinguishing between exercise motion and non-exercise motion. According to an embodiment, the characteristic parameters may include the amount of change in acceleration, acceleration peak-valley interval, amount of change in angular velocity, and/or amount of change in atmospheric pressure.
According to an embodiment, the processor 120 may operate to determine that the user is maintaining the exercise posture when the similarity exceeds a specified threshold and update the exercise information accordingly.
According to an embodiment, the processor 120 may operate to determine that the exercise posture is not being maintained when the similarity is equal to or less than the specified threshold and correct the exercise-ready posture.
According to an embodiment, the processor 120 may operate to accumulate the exercise counting candidate section when the similarity is equal to or less than a specified first threshold, determine whether there is a correction history for the exercise-ready posture when the number of candidate sections exceeds a predetermined count, correct the exercise-ready posture when there is no correction history for the exercise-ready posture, and provide guidance on the exercise posture when there is a correction history for the exercise-ready posture.
According to an embodiment, the processor 120 may operate to control the communication circuit to connect with a specified external device via wireless communication upon detecting the exercise start trigger, be configured to transmit visual information related to exercise coaching to the external device, and enable the external device to display the visual information related to exercise coaching.
According to an embodiment, the visual information related to exercise coaching may be configured to be displayed through the display of the electronic device and/or the display of the external device.
Hereinafter, a method of operating the electronic device 101 according to various embodiments will be described in detail. The operations performed by the electronic device 101, according to various embodiments, may be executed by the processor 120, which includes various processing circuitry and/or executable program elements of the electronic device 101. According to an embodiment, the operations performed by the electronic device 101 may be executed by instructions that are stored in the memory 130 and allow the processor 120 to be operated when executed.
According to an embodiment,
In the electronic device (e.g., electronic device 101 in
As illustrated in
With reference to
As illustrated in
According to an embodiment, the processor 120 may, in response to a user input (e.g., touching the squat image) selecting a specific exercise (e.g., squat) from the first user interface, provide a second user interface (e.g., exercise start confirmation screen or guidance screen) related to the exercise (e.g., squat exercise) corresponding the user's selection, as illustrated in example screen 403. For example, the processor 120 may provide visual information on the representative posture or various postures of the exercise selected by the user, as well as visual information related to the performance conditions set for the corresponding exercise (e.g., 3 sets of 10 repetitions). According to an embodiment, the processor 120 may detect an exercise start trigger in response to a user input for starting the exercise (e.g., selecting the “confirm” button to start the selected exercise (e.g., squat exercise)) from the second user interface.
At operation 303, the processor 120 may provide exercise guidance. According to an embodiment, the processor 120 may control related constituent elements (e.g., display module 160 and/or speaker) to output specified visual and/or auditory guidance on the basis of detecting an exercise start trigger. According to an embodiment, the processor 120 may provide voice guidance and/or text guidance to the user upon detecting a user input (e.g., click) based on the exercise start button (e.g., squat exercise image), such as “The exercise will begin if you hold the exercise-ready posture for a predetermined time period (e.g., about 3 seconds, about 5 seconds).” An example of this is illustrated in example screens 405 to 407 and block 420 in
As illustrated in
At operation 305, the processor 120 may recognize the user's exercise-ready posture for a specified time period. According to an embodiment, the processor 120 may recognize the user's exercise-ready posture on the basis of sensor data from at least one specified sensor of the sensor module 230 (e.g., acceleration sensor 240, gyro sensor 250, atmospheric pressure sensor 260 in
At operation 307, the processor 120 may provide exercise posture information corresponding to the exercise-ready posture. According to an embodiment, the processor 120 may control the display module 160 to display exercise posture information related to the type of exercise corresponding to the recognized exercise-ready posture (e.g., a specific squat exercise corresponding to the recognized exercise-ready posture among various types of squat exercises) on the basis of visual images and/or text. An example of this is illustrated in example screen 409 and block 430 in
According to an embodiment, the processor 120 may provide exercise posture information corresponding to the exercise-ready posture on the basis of a mapping table in which exercise posture information is matched to each exercise-ready posture. According to an embodiment, the mapping table may be pre-set in the memory (e.g., memory 130 in
In an embodiment, Table 1 may illustrate an example of a mapping table for distinguishing the type of exercise (e.g., type of squat exercise) based on an initial exercise-ready posture, while the user wears the electronic device 101 on the user's body (e.g., wrist). For example, the mapping table may have sensor data (e.g., roll, pitch, yaw) of specified sensors (e.g., gyro sensor or attitude sensor) pre-set for each exercise-ready posture (e.g., first posture to eighth posture) representing various types of exercise (e.g., type of squat exercise). According to an embodiment, the processor 120 may recognize an exercise-ready posture, such as a first posture to an eighth posture, on the basis of sensor data from specified sensors. According to an embodiment, the processor 120 may identify a specified exercise type (e.g., a first type to an eighth type) on the basis of the exercise-ready posture. According to an embodiment, the processor 120 may identify posture information (e.g., first posture information to eighth posture information) corresponding to the identified type of exercise, and may provide exercise posture information visually and/or audibly on the basis of the identified posture information.
At operation 309, the processor 120 may drive a recognition schema (or exercise counting recognition algorithm) corresponding to the exercise-ready posture. According to an embodiment, the processor 120 may determine a recognition schema for the user's exercise counting for each exercise-ready posture. For example, the processor 120 may determine an nth recognition schema (or nth exercise counting recognition algorithm) specified for an nth posture, for exercise counting for the exercise according to the nth posture of exercise-ready posture.
An example corresponding to operation 307 and operation 309 is illustrated in example screen 409 and block 430 of
As illustrated in
At operation 311, the processor 120 may perform exercise counting on the basis of the recognition schema. According to an embodiment, the processor 120 may recognize exercise counting on the basis of a countable signal based on at least one specified sensor of the sensor module 230. According to an embodiment, the operation of performing exercise counting is described in detail with reference to the drawings described below.
At operation 313, the processor 120 may provide exercise information. According to an embodiment, the processor 120 may provide exercise information on the basis of auditory (e.g., sound), visual (e.g., display), and/or tactile (e.g., vibration) feedback, so that the user may recognize each time exercise counting is recognized once. According to an embodiment, the processor 120 may provide various types of exercise information, such as exercise counting information and/or healthcare information (e.g., calorie information, heart rate information), by updating this various types of exercise information in proportion to the user's amount of exercise. An example of this is illustrated in example screen 411 and block 440 in
As illustrated in
According to an embodiment,
In the electronic device 101 according to an embodiment of the present disclosure, a method of supporting exercise coaching may be performed, for example, according to the flowchart illustrated in
As illustrated in
With reference to
At operation 503, the processor 120 may compare the exercise posture. According to an embodiment, the processor 120 may compare the recognized user's exercise posture with a pre-specified reference exercise posture corresponding to the initially recognized exercise-ready posture. For example, the processor 120 may compare the user's exercise posture with the reference exercise posture according to the initially recognized exercise-ready posture in order to determine whether the user is performing the exercise in the exercise posture corresponding to the initially recognized exercise-ready posture.
At operation 505, the processor 120 may determine whether the exercise posture substantially matches the reference exercise posture. According to an embodiment, the processor 120 may determine whether the exercise posture matches the reference exercise posture on the basis of a similarity between the user's exercise posture and the reference exercise posture.
An example corresponding to operation 501 to operation 505 is illustrated in example screen 601 and block 610 of
As illustrated in
At operation 505, when the recognized user's exercise posture does not substantially match the reference exercise posture (e.g., “No” at operation 505), at operation 507, the processor 120 may correct the exercise-ready posture. According to an embodiment, when the exercise posture corresponding to the initially recognized exercise-ready posture differs from the user's exercise posture during the actual exercise, the processor 120 may determine that the user is performing the exercise in a posture different from the initial exercise-ready posture. For example, after the user clicks the start exercise button, there may be instances where the user is simply standing still without assuming the ready posture, or intentionally performing the exercise in a different posture as opposed to the exercise-ready posture. For example, when the user is attempting to start a squat exercise while placing a barbell on the shoulders, the electronic device 101 may calculate the initial exercise-ready posture according to the corresponding exercise-ready posture. However, there may be a case where the user later performs the exercise in a different posture at an occasion when the user performs the actual exercise (e.g., holding a kettle bell between the legs while performing a squat).
In such cases, when the exercise posture based on the initial exercise-ready posture differs from the user's actual exercise posture, it may not be considered an exercise motion, and exercise counting may not be recognized. For example, at the beginning of the exercise, exercise counting may not be recognized normally. Accordingly, according to an embodiment of the present disclosure, when the recognized user's exercise posture does not substantially match the reference exercise posture, the processor 120 may correct the initially recognized exercise-ready posture. According to an embodiment, during correction of the exercise-ready posture, the processor 120 may perform an operation to correct the reference exercise-ready posture to an exercise-ready posture corresponding to the user's exercise posture while displaying a loading animation. An example of this is illustrated in example screen 603 and block 620 in
As illustrated in
At operation 509, the processor 120 may provide exercise posture information corresponding to the corrected exercise-ready posture. According to an embodiment, the processor 120 may control the display module 160 to display exercise posture information related to the type of exercise corresponding to the corrected exercise-ready posture)(e.g., a specific squat exercise corresponding to the recognized exercise-ready posture among various types of squat exercises) on the basis of visual images and/or text. An example of this is illustrated in example screen 605 and block 630 in
At operation 511, the processor 120 may drive the first recognition schema corresponding to the corrected exercise-ready posture. According to an embodiment, the processor 120 may determine the first recognition schema as the recognition schema for counting the user's exercise according to the corrected exercise-ready posture. For example, the processor 120 may determine an mth recognition schema (or mth exercise counting recognition algorithm) specified for an mth posture, for exercise counting for the exercise according to the mth posture of corrected exercise-ready posture.
An example corresponding to operation 509 and operation 511 is illustrated in example screen 605 and block 630 of
As illustrated in
According to an embodiment, the processor 120 may provide exercise information related to exercise counting based on the determined first recognition schema. For example, on the basis of the correction of the exercise-ready posture, when the exercise is counted normally, the processor 120 may provide exercise information on the basis of auditory, visual, and/or tactile information each time exercise counting is recognized once, allowing the user to perceive the exercise information.
According to an embodiment, the processor 120 may accumulate and provide various types of exercise information, such as exercise counting information and/or healthcare information, continuously in sequence with the previous exercise information. An example of this is illustrated in example screen 607 and block 640 in
As illustrated in
At operation 505, when the recognized user's exercise posture substantially matches the reference exercise posture (e.g., “Yes” at operation 505), at operation 513, the processor 120 may drive the second recognition schema corresponding to the initially recognized exercise-ready posture. According to an embodiment, the processor 120 may determine the second recognition schema, different from the first recognition schema, for counting the user's exercise based on the initially recognized exercise-ready posture. For example, the processor 120 may determine an nth recognition schema (or nth exercise counting recognition algorithm) specified for an nth posture, for exercise counting for the exercise according to the nth posture of exercise-ready posture.
According to an embodiment, the processor 120 may provide exercise information related to exercise counting based on the determined second recognition schema. For example, when the exercise is counted normally, the processor 120 may provide exercise information on the basis of auditory, visual, and/or tactile information each time exercise counting is recognized once, allowing the user to perceive the exercise information,
According to an embodiment,
In the electronic device (e.g., electronic device 101 in
As illustrated in
With reference to
As illustrated in
According to an embodiment, the processor 120 may provide guidance on various exercise postures to the user, as illustrated in example screen 803, in response to a user input selecting a specific exercise (e.g., squat) on the first user interface (e.g., touching a squat image). According to an embodiment, the exercise guidance may include information on various exercise postures supportable for a specified exercise (e.g., squat exercise). According to an embodiment, the processor 120 may provide exercise guidance (e.g., exercise posture type selection screen) in a specified structure through the display module 160. For example, as illustrated in example screen 803, the processor 120 may provide exercise guidance in a carousel structure (e.g., image slide). In an embodiment, the carousel may be an element of the interface, representing a structure that displays a large image in the center of the screen and automatically or in response to user input (e.g., slide or scroll input) displays the next image in the center of the screen.
At operation 703, the processor 120 may select an exercise posture. According to an embodiment, the processor 120 may select an exercise posture corresponding to a user input (e.g., click) based on the provided exercise guidance. According to an embodiment, the user may start the exercise by selecting the desired exercise posture from the exercise posture type selection screen.
At operation 705, the processor 120 may recognize the exercise-ready posture for a specified time period. The processor 120 may recognize the user's exercise-ready posture on the basis of sensor data from at least one specified sensor of the sensor module 230 (e.g., acceleration sensor 240, gyro sensor 250, atmospheric pressure sensor 260 in
At operation 707, the processor 120 may determine whether the exercise-ready posture is valid. According to an embodiment, the processor 120 may determine whether the user maintains the specified exercise-ready posture for a predetermined time period or longer, on the basis of the result of recognizing the exercise-ready posture for a specified time period.
An example corresponding to operation 703 to operation 707 is illustrated in example screens 805 to 807 and block 820 in
As illustrated in
At operation 707, when the exercise-ready posture is valid (e.g., “Yes” at operation 707), at operation 709, the processor 120 may drive a recognition schema (or exercise counting recognition algorithm) corresponding to the exercise-ready posture. An example of this is illustrated in example screen 809 and block 830 in
As illustrated in
According to an embodiment, the processor 120 may determine a recognition schema for exercise counting for each exercise-ready posture. For example, the processor 120 may display exercise posture information related to the type of exercise on the basis of visual images and/or text, while internally driving a recognition schema corresponding to the type of exercise. For example, the processor 120 may determine an nth recognition schema (or nth exercise counting recognition algorithm) specified for an nth posture, for exercise counting for the exercise according to the nth posture of exercise-ready posture.
According to an embodiment, the processor 120 may perform exercise counting on the basis of the determined recognition schema. According to an embodiment, the processor 120 may provide exercise information on the basis of auditory (e.g., sound), visual (e.g., display), and/or tactile (e.g., vibration) feedback, so that the user may recognize each time exercise counting is recognized once. According to an embodiment, the processor 120 may provide various types of exercise information, such as exercise counting information and/or healthcare information (e.g., calorie information, heart rate information), by updating this various types of exercise information in proportion to the user's amount of exercise. An example of this is illustrated in example screen 811 and block 840 in
As illustrated in
At operation 707, when the exercise-ready posture is not valid (e.g., “No” at operation 707), at operation 711, the processor 120 may perform the corresponding operation. According to an embodiment, the processor 120 may perform various specified operations, such as correcting the exercise-ready posture and/or providing guidance indicating that the exercise posture is incorrect.
According to an embodiment,
In the electronic device (e.g., electronic device 101 in
As illustrated in
With reference to
At operation 903, the processor 120 may detect an exercise counting candidate section on the basis of at least one sensor data from at least one specified sensor. According to an embodiment, the processor 120 may extract a countable signal through signal processing of at least one specified sensor data. According to an embodiment, the processor 120 may detect an exercise counting candidate section using the extracted countable signal. According to an embodiment, the operation of detecting an exercise counting candidate section is described in detail with reference to the drawings provided below.
At operation 905, the processor 120 may perform exercise counting false recognition filtering. According to an embodiment, the processor 120 may perform filtering to distinguish between exercise motions and non-exercise motions for the exercise counting candidate section. According to an embodiment, the processor 120 may evaluate whether the exercise counting candidate section corresponds to an actual exercise motion or a non-exercise motion similar to an exercise motion, and perform filtering of exercise counting false recognition. According to an embodiment, the characteristic parameters for distinguishing (or evaluating) between actual exercise motion and non-exercise motion may include, for example, the amount of change in acceleration, the acceleration peak-valley interval, the amount of change in angular velocity, and/or the amount of change in atmospheric pressure. According to an embodiment, the amount of change in each parameter may be calculated as a peak-to-peak (p2p) within the exercise counting candidate section. According to an embodiment, the operation of performing exercise counting false recognition filtering is described in detail with reference to the drawings provided blew.
At operation 907, the processor 120 may calculate the exercise posture at the start point and end point of the exercise counting candidate section. According to an embodiment, the processor 120 may calculate the exercise posture at the start point and end point of the exercise counting candidate section. For example, the user's posture may slightly be disrupted during exercise, but conventional systems do not consider the case that the posture is disrupted during exercise as an exercise motion, resulting in the disrupted motion not being counted. According to an embodiment of the present disclosure, by excluding any posture disruption occurring during the user's exercise process and checking the exercise posture at the start and end points of a single exercise repetition motion, it is possible to ensure that the exercise is counted normally, even if the user's posture is disrupted during the exercise. For example, in conventional systems, since the exercise posture is continuously monitored from the start occasion to the end occasion of the exercise, even if slight disruption occurs in posture during the exercise, not allowing the disrupted exercise to be counted. However, since the user's exercise posture may be partially disrupted during an exercise motion depending on the circumstances, in an embodiment of the present disclosure, it is possible to check the exercise posture at the start and end points of a single exercise repetition motion, regardless of whether the user's posture is correct or disrupted during the exercise. In an embodiment, a single exercise repetition motion may represent, for example, one repetition of the user performing the motion of squatting down and standing up in a squat exercise.
At operation 909, the processor 120 may calculate the similarity between the exercise-ready posture and the exercise posture within the exercise counting candidate section. According to an embodiment, the processor 120 may calculate the similarity between the initial exercise-ready posture and the posture within the exercise counting candidate section to determine whether the exercise posture is being maintained. According to an embodiment, the operation of determining whether the exercise posture is being maintained is described in detail with reference to the drawings provided below.
At operation 911, the processor 120 may determine whether the similarity exceeds the threshold.
At operation 911, when the similarity exceeds the threshold (e.g., “Yes” at operation 911), at operation 913, the processor 120 may determine that the exercise posture is being maintained. According to an embodiment, when the similarity of the exercise posture exceeds a predetermined threshold, the processor 120 may determine that the user is maintaining the exercise posture properly while exercising. According to an embodiment, the similarity may be calculated using various similarity coefficients, such as cosine similarity and/or Pearson correlation coefficient. According to an embodiment, the operation of determining whether the exercise posture is being maintained is described in detail with reference to the drawings provided below.
At operation 915, the processor 120 may update exercise information. According to an embodiment, the processor 120 may update exercise information (e.g., exercise repetitions, calories, and/or heart rate information). According to an embodiment, when the similarity of the exercise posture is equal to or greater than a predetermined threshold, the processor 120 may determine that the user is maintaining the exercise posture properly while performing the exercise, and may update exercise information on the corresponding exercise, such as exercise count, calories, and/or heart rate.
At operation 911, when the similarity is equal to or less than the threshold (e.g., “No” at operation 911), at operation 917, the processor 120 may determine that the exercise posture is not being maintained. According to an embodiment, when the similarity of the exercise posture is equal to or less than a predetermined threshold, for example, cases where the user is performing the exercise in a posture different from the initial exercise-ready posture, may be included. For example, the cases where the user performs the exercise in a posture different from the initial exercise-ready posture may include cases where the exercise-ready posture was previously calculated by the processor 120 before the user assumed the exercise-ready posture, or where the user intentionally performs the exercise in a different posture from the exercise-ready posture initially taken.
According to an embodiment, a case where the exercise-ready posture is calculated before the user assumes the exercise-ready posture, for example, may be a case where the user remains in a same posture with no motion, such as after clicking the exercise start button and standing still. This case may be calculated as the exercise-ready posture. In this case, when the user actually performs the exercise, the initial exercise-ready posture may differ from the actual exercise posture, resulting in a low similarity being calculated for the exercise posture.
According to an embodiment, when the user intentionally performs the exercise in a posture different from the initial exercise-ready posture, for example, when the user intends to perform a squat exercise with a barbell on the shoulders, the initial exercise-ready posture may be calculated based on the corresponding exercise posture. However, when the user actually performs the squat exercise while holding a kettle bell between the legs during the exercise occasion, the initial exercise-ready posture may differ from the actual exercise posture, leading to a low similarity being calculated for the exercise posture.
At operation 919, the processor 120 may correct the exercise-ready posture. According to an embodiment, when the similarity of the exercise posture is equal to or less than a predetermined threshold, the operation of correcting the exercise-ready posture is described in detail with reference to the drawings provided below.
According to an embodiment,
In the electronic device (e.g., electronic device 101 in
As illustrated in
With reference to
At operation 1003, the processor 120 may detect a zero crossing point. According to an embodiment, the processor 120 may detect zero crossing points in the extracted countable signal. According to an embodiment, the processor 120 may detect zero crossing points in the countable signal based on the acceleration signal and/or the atmospheric pressure signal.
At operation 1005, the processor 120 may detect the peaks and valleys within the zero crossing section. According to an embodiment, the processor 120 may extract peak and valley values to check whether the countable signal within the zero crossing section passes through the upper and lower boundaries and to check the sequence of passing through each of these boundaries.
At operation 1007, the processor 120 may determine whether the peaks and valleys satisfy the specified conditions. According to an embodiment, the processor 120 may check whether the peak and valley values pass through the predefined upper boundary and lower boundary.
At operation 1007, when the specified conditions are not satisfied (e.g., “No” at operation 1007), the processor 120 may proceed to operation 1001 and perform the subsequent operations starting from operation 1001.
At operation 1007, when the specified conditions are satisfied (e.g., “Yes” at operation 1007), at operation 1009, the processor 120 may check the sequence in which the countable signal within the zero crossing section passes through the upper boundary and lower boundary.
At operation 1011, the processor 120 may determine the exercise counting candidate section. According to an embodiment, when the specified conditions are satisfied in the countable signal based on acceleration or when the specified conditions are satisfied in the countable signal based on atmospheric pressure, the processor 120 may operate to determine the corresponding zero crossing section as an exercise counting candidate section.
The example operations according to
According to an embodiment, the graph illustrated in
With reference to
Accordingly, according to an embodiment of the present disclosure, to detect the exercise counting candidate section, as illustrated in
With reference to
With reference to
According to an embodiment, the graphs illustrated in
With reference to
According to an embodiment, the method of detecting an exercise counting candidate section from the atmospheric pressure-based countable signal may be substantially identical to the acceleration-based method described above with reference to
According to an embodiment of the present disclosure, the exercise counting candidate section may be detected when either the method using acceleration or the method using atmospheric pressure satisfies the specified conditions. According to an embodiment of the present disclosure, the exercise counting candidate section may also be detected when both the method using acceleration and the method using atmospheric pressure satisfy the specified conditions.
According to an embodiment,
In the electronic device (e.g., electronic device 101 in
As illustrated in
With reference to
At operation 1403, the processor 120 may determine whether the amount of change in acceleration of the characteristic parameters satisfies the specified first condition of being between the first threshold and the second threshold. According to an embodiment, when the amount of change in acceleration is not within a predetermined threshold range (e.g., between the first threshold and the second threshold), the processor 120 may filter the exercise counting candidate section as a non-exercise motion.
At operation 1403, when the amount of change in acceleration satisfies the specified first condition (e.g., “Yes” at operation 1403), then at operation 1405, the processor 120 may determine whether the amount of change in angular velocity of the characteristic parameters satisfies the specified second condition of being between the third threshold and the fourth threshold. According to an embodiment, when the amount of change in angular velocity is not within a predetermined threshold range (e.g., between the third threshold and the fourth threshold), the processor 120 may filter the exercise counting candidate section as a non-exercise motion.
At operation 1405, when the amount of change in angular velocity satisfies the specified second condition (e.g., “Yes” at operation 1405), then at operation 1407, the processor 120 may determine whether the amount of change in atmospheric pressure of the characteristic parameters satisfies the specified third condition of being between the fifth threshold and the sixth threshold. According to an embodiment, when the amount of change in atmospheric pressure is not within a predetermined threshold range (e.g., between the fifth threshold and the sixth threshold), the processor 120 may filter the exercise counting candidate section as a non-exercise motion.
At operation 1407, when the amount of change in atmospheric pressure satisfies the specified third condition (e.g., “Yes” at operation 1407), then at operation 1409, the processor 120 may determine whether the acceleration peak-valley interval of the characteristic parameters satisfies the specified fourth condition of being between the seventh threshold and the eighth threshold. According to an embodiment, when the acceleration peak-valley interval is not within a predetermined threshold range (e.g., between the seventh threshold and the eighth threshold), the processor 120 may filter the exercise counting candidate section as a non-exercise motion.
At operation 1409, when the acceleration peak-valley interval satisfies the specified fourth condition (e.g., “Yes” at operation 1409), then at operation 1411, the processor 120 may determine the exercise counting candidate section as an exercise motion.
At operation 1403, operation 1405, operation 1407, or operation 1409, when the characteristic parameter (e.g., amount of change in acceleration, amount of change in angular velocity, amount of change in atmospheric pressure, or acceleration peak-valley interval) does not satisfy one of the specified first condition, specified second condition, specified third condition, or specified fourth condition (e.g., “No” at operation 1403, “No” at operation 1405, “No” at operation 1407, or “No” at operation 1409), then at operation 1413, the processor 120 may determine the exercise counting candidate section as a non-exercise motion.
As illustrated in
With reference to
As illustrated in
According to an embodiment, in the graph of
With reference to
As illustrated in
In an embodiment of the present disclosure, in cases such as the above, false recognition in exercise counting may be filtered by checking the peak-valley interval between peaks and valleys within the exercise counting candidate section (e.g., the interval of an exercise counting candidate section that satisfies the conditions of the upper boundary and lower boundary). For example, as illustrated in the graph of
According to an embodiment,
In an embodiment of the present disclosure, in the electronic device (e.g., electronic device 101 in
As illustrated in
With reference to
At operation 1703, the processor 120 may calculate the similarity between the exercise-ready posture and the exercise posture of the exercise counting candidate section.
At operation 1705, the processor 120 may determine whether the similarity exceeds the specified first threshold.
At operation 1705, when the similarity exceeds the specified first threshold (e.g., “Yes” at operation 1705), then at operation 1707, the processor 120 may determine that the exercise posture is being maintained. According to an embodiment, the processor 120 may calculate the similarity between the initial exercise-ready posture and the posture within the exercise counting candidate section to determine whether the exercise posture is being maintained. According to an embodiment, when the similarity of the exercise posture exceeds a predetermined threshold, the processor 120 may determine that the user is maintaining the exercise posture properly while exercising. According to an embodiment, the similarity may be calculated using various similarity coefficients, such as cosine similarity and/or Pearson correlation coefficient.
At operation 1709, the processor 120 may update exercise information. According to an embodiment, the processor 120 may update exercise information (e.g., exercise repetitions, calories, and/or heart rate information).
At operation 1705, when the similarity does not exceed the specified first threshold (e.g., “No” at operation 1705), for example, when the similarity is equal to or less than the specified first threshold, then at operation 1711, the processor 120 may accumulate the exercise counting candidate section. According to an embodiment, the processor 120 may accumulate exercise counting candidate sections where the similarity of the exercise posture is equal to or less than the first threshold.
At operation 1713, the processor 120 may determine whether the number of candidate sections exceeds the specified second threshold.
At operation 1713, when the number of candidate sections does not exceed the specified second threshold (e.g., “No” at operation 1713), for example, when the number of candidate sections is equal to or less than the specified second threshold, the processor 120 may proceed to operation 1701 and perform the subsequent operations starting from operation 1701.
At operation 1713, when the number of candidate sections exceeds the specified second threshold (e.g., “Yes” at operation 1713), then at operation 1715, the processor 120 may determine whether there is a correction history for exercise-ready posture correction. According to an embodiment, when the number of accumulated exercise counting candidate sections exceeds a predetermined count (e.g., second threshold), the processor 120 may check whether there is a correction history for the exercise-ready posture.
At operation 1715, when there is no correction history for the exercise-ready posture (e.g., “No” at operation 1715), then at operation 1717, the processor 120 may correct the exercise-ready posture. According to an embodiment, when there is no correction history for the exercise-ready posture, the processor 120 may calculate a compensation value for the exercise-ready posture. For example, the compensation value for the exercise-ready posture may be applied to the initial exercise-ready posture, and the corrected exercise-ready posture may be used for determining whether the exercise posture is being maintained in subsequent evaluations.
At operation 1715, when there is a correction history for the exercise-ready posture (e.g., “Yes” at operation 1715), then at operation 1719, the processor 120 may provide guidance on the exercise posture. According to an embodiment, when there is a correction history for the exercise-ready posture, the processor 120 may provide guidance on the corresponding exercise posture to help the user assume the specified exercise posture.
As illustrated in
With reference to
According to an embodiment, in conventional methods, the user's posture during exercise may be continuously monitored to determine whether the user has performed the motion of the specified exercise. As a result, when the user's exercise posture is disrupted even slightly during the exercise, there may be cases where the exercise is not counted.
In an embodiment of the present disclosure, the user's exercise posture (e.g., roll, pitch) may be checked in the initial exercise-ready posture recognition section, and subsequently, when the user exercises, only the start and end points of the exercise counting candidate section may be checked to determine whether the initial exercise-ready posture is being maintained. Therefore, even if the user's exercise posture is slightly disrupted during the exercise, the user's exercise may still be recognized and counted as the exercise.
For example, as illustrated in the graph of
According to an embodiment,
In an embodiment of the present disclosure, in the electronic device (e.g., electronic device 101 in
As illustrated in
With reference to
At operation 1903, the processor 120 may calculate a representative value for the corresponding exercise posture values. According to an embodiment, the processor 120 may calculate a representative value (e.g., maximum value, minimum value, median value, mode, or average value) of the exercise posture values that are calculated at the start and end points of each accumulated exercise counting candidate section.
At operation 1905, the processor 120 may calculate a compensation value for the exercise-ready posture on the basis of the difference between the representative value and the posture value of the exercise-ready posture. According to an embodiment, the compensation value for the exercise-ready posture may be applied to the initial exercise-ready posture, and the compensated exercise-ready posture may be used in determining whether the exercise posture is being maintained during subsequent exercises. According to an embodiment, for an section in which a compensation value for the exercise-ready posture has been calculated, the exercise count may be operated to be updated on the basis of the number of exercise counting candidate sections.
In an embodiment of the present disclosure, an operation method performed by the electronic device 101 may include: providing exercise guidance on the basis of detecting an exercise start trigger; recognizing the user's exercise-ready posture for a specified time period on the basis of sensor data from at least one specified sensor (e.g., acceleration sensor 240, gyro sensor 250, and/or atmospheric pressure sensor 260 in
According to an embodiment, the operation of recognizing the exercise-ready posture may include: recognizing the corresponding exercise posture based on the exercise-ready posture, comparing the exercise posture with a pre-specified reference exercise posture corresponding to the recognized exercise-ready posture, and determining whether the exercise posture is being maintained on the basis of a similarity between the exercise posture and the reference exercise posture.
According to an embodiment, the operation of driving the recognition schema may include: correcting the exercise-ready posture when the exercise posture does not substantially match the reference exercise posture, determining a first recognition schema as the recognition schema for counting the user's exercise according to the corrected exercise-ready posture, on the basis of the exercise-ready posture having been corrected, and determining a second recognition schema, different from the first recognition schema, as the recognition schema for counting the user's exercise according to the exercise-ready posture when the exercise posture substantially matches the reference exercise posture.
According to an embodiment, the operation of determining whether the exercise posture is being maintained may include: detecting an exercise counting candidate section on the basis of at least one sensor data from at least one specified sensor, filtering exercise motion and non-exercise motion for the exercise counting candidate section, calculating the exercise posture at the start and end points of the exercise counting candidate section, and calculating a similarity between the exercise-ready posture and the exercise posture of the exercise counting candidate section.
In a non-transitory computer-readable recording medium storing computer-executable instructions that, when executed by a processor 120 of an electronic device 101 individually and/or collectively, cause the electronic device 101 to perform operations, the operations may include: based on detecting an exercise start trigger, providing exercise guidance, recognizing an exercise-ready posture of a user for a specified time period based on sensor data from at least one specified sensor of the electronic device, providing exercise posture information related to a type of an exercise corresponding to the exercise-ready posture, driving a recognition schema for counting the exercise corresponding to the exercise-ready posture, performing exercise counting based on the recognition schema, and providing exercise information based on the exercise counting.
The electronic device according to various embodiments may be one of various types of electronic devices. The electronic devices may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, a home appliance, or the like. According to an embodiment of the disclosure, the electronic devices are not limited to those described above.
It should be appreciated that various embodiments of the disclosure and the terms used therein are not intended to limit the technological features set forth herein to particular embodiments and include various changes, equivalents, or replacements for a corresponding embodiment. With regard to the description of the drawings, similar reference numerals may be used to refer to similar or related elements. It is to be understood that a singular form of a noun corresponding to an item may include one or more of the things, unless the relevant context clearly indicates otherwise. As used herein, each of such phrases as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B, or C,” “at least one of A, B, and C,” and “at least one of A, B, or C,” may include any one of, or all possible combinations of the items enumerated together in a corresponding one of the phrases. As used herein, such terms as “1st” and “2nd,” or “first” and “second” may be used to simply distinguish a corresponding component from another, and does not limit the components in other aspect (e.g., importance or order). It is to be understood that if an element (e.g., a first element) is referred to, with or without the term “operatively” or “communicatively”, as “coupled with,” “coupled to,” “connected with,” or “connected to” another element (e.g., a second element), the element may be coupled with the other element directly (e.g., wiredly), wirelessly, or via a third element.
As used in connection with various embodiments of the disclosure, the term “module” may include a unit implemented in hardware, software, or firmware, or any combination thereof, and may interchangeably be used with other terms, for example, “logic,” “logic block,” “part,” or “circuitry”. A module may be a single integral component, or a minimum unit or part thereof, adapted to perform one or more functions. For example, according to an embodiment, the module may be implemented in a form of an application-specific integrated circuit (ASIC).
Various embodiments as set forth herein may be implemented as software (e.g., the program 140) including one or more instructions that are stored in a storage medium (e.g., internal memory 136 or external memory 138) that is readable by a machine (e.g., the electronic device 101). For example, a processor (e.g., the processor 120) of the machine (e.g., the electronic device 101) may invoke at least one of the one or more instructions stored in the storage medium, and execute it, with or without using one or more other components under the control of the processor. This allows the machine to be operated to perform at least one function according to the at least one instruction invoked. The one or more instructions may include a code generated by a complier or a code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Wherein, the “non-transitory” storage medium is a tangible device, and may not include a signal (e.g., an electromagnetic wave), but this term does not differentiate between where data is semi-permanently stored in the storage medium and where the data is temporarily stored in the storage medium.
According to an embodiment, a method according to various embodiments of the disclosure may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read only memory (CD-ROM)), or be distributed (e.g., downloaded or uploaded) online via an application store (e.g., PlayStore™), or between two user devices (e.g., smart phones) directly. If distributed online, at least part of the computer program product may be temporarily generated or at least temporarily stored in the machine-readable storage medium, such as memory of the manufacturer's server, a server of the application store, or a relay server.
According to various embodiments, each component (e.g., a module or a program) of the above-described components may include a single entity or multiple entities, and some of the multiple entities may be separately disposed in different components. According to various embodiments, one or more of the above-described components may be omitted, or one or more other components may be added. Alternatively or additionally, a plurality of components (e.g., modules or programs) may be integrated into a single component. In such a case, according to various embodiments, the integrated component may still perform one or more functions of each of the plurality of components in the same or similar manner as they are performed by a corresponding one of the plurality of components before the integration. According to various embodiments, operations performed by the module, the program, or another component may be carried out sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order or omitted, or one or more other operations may be added.
According to the electronic device, operation method, and recording medium in accordance with an embodiment of the present disclosure, the recognition performance of exercise counting can be enhanced across various exercise postures of the user. According to an embodiment of the present disclosure, exercise counting recognition is possible even with various exercise postures, and exercise counts can be recognized even when the user's posture is slightly disrupted during the exercise. According to an embodiment of the present disclosure, even if the user performs a squat exercise with a posture different from the initial exercise-ready posture, the exercise count can still be recognized.
In addition, various effects that can be directly or indirectly identified through the present document may be provided. The effects obtained by the present disclosure are not limited to the aforementioned effects, and other effects, which are not mentioned above, will be clearly understood by those skilled in the art from the following description.
The various embodiments disclosed in the present specification and drawings are provided as examples merely for easily explaining the technical contents and helping understand the present disclosure, but not intended to limit the scope of the technology disclosed in the present disclosure. Therefore, the scope of the present disclosure should be interpreted that all changes or modified forms derived based on the technical spirit of the present disclosure fall within the scope of the present disclosure in addition to the embodiments disclosed herein.
Number | Date | Country | Kind |
---|---|---|---|
10-2022-0095055 | Jul 2022 | KR | national |
10-2022-0110657 | Sep 2022 | KR | national |
This application is a continuation of International Application No. PCT/KR2023/009058, filed on Jun. 28, 2023, which is based on and claims priority to Korean Patent Applications No. 10-2022-0095055, filed on Jul. 29, 2022 and No. 10-2022-0110657, filed on Sep. 1, 2022, in the Korean Intellectual Property Office, the disclosures of which are incorporated by reference herein in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/KR2023/009058 | Jun 2023 | WO |
Child | 19028505 | US |