System and method for improving exercise performance using a mobile device

A computing device for implementing a sensor-less method to improve exercise performance is described. An engine of the computing device receives, from a camera of the computing device, video exercise data associated with a user performing an active exercise and then converts the video via a deep learning algorithm to one or more movements of a user's skeleton in real-time performing the active exercise. A first movement of the one or more movements is compared to a predictive model associated with an ideal performance of the first movement. A confidence score is assigned to the comparison. Feedback data is transmitted to a graphical user interface of the computing device for display to the user, where the feedback data includes the confidence score and instructions on how the user can improve the first movement to raise the confidence score.

FIELD OF THE EMBODIMENTS

The field of the invention and its embodiments relate to a method for improving exercise performance. In particular, the present invention and its embodiments provide a computing device and a sensor-less system configured to implement the method for improving exercise performance.

BACKGROUND OF THE EMBODIMENTS

Monitoring of a person's health status, physical ability, and recovery after an injury, hospitalization, or treatment requires extensive face-to-face physician involvement and supervision. Furthermore, prevention of injury requires the aforementioned face-to-face physician involvement and supervision. Monitoring of these factors may be of primary concern in the fields of rehabilitation and physical therapy, neurology and orthopedics, and nursing care. With the increase in technology, the healthcare field has incorporated artificial intelligence (AI) into numerous health services in an attempt to more closely monitor these factors. AI systems may improve health services for the patient, the physician, the physical therapist, and/or the occupational therapist by improving the accuracy of a medical diagnosis, by enhancing an ease by which treatments are managed, and by decreasing the costs of medical services.

AI may even be used in home-based solutions for the remote and real-time monitoring of patients involved in physical therapy and/or rehabilitative efforts. However, these home solutions require dedicated cameras placed around the person's home and/or require the user to wear sensors to capture the movements of the patient. These solutions are expensive, complex to assemble and calibrate, and often require numerous pieces of hardware, generally resulting in a failure to scale. Moreover, these solutions are not user-friendly and may fail to produce accurate results due to their complexity and lack of clinical and research validation.

As the outpatient physical therapy market in the United States, which includes hospitals, rehabilitative centers, assisted living centers, and/or physical therapy providers, among others, is approximately forty billion dollars annually, a reliable home-based solution for the remote monitoring of patients is imperative. Thus, a need exists for an inexpensive and easy-to-assemble system for improving exercise performance. In particular, the present invention and its embodiments provide a sensor-less system for at-home use that utilizes a camera of a computing device to implement a method for improving exercise performance.

Review of Related Technology

U.S. Published Patent Application No. 2019/0065970 A1 describes optimizing and/or personalizing activities for a user through artificial intelligence and/or virtual reality. Generally, the monitoring system comprises at least one monitoring device configured to monitor one or more physical properties of a user and an artificial intelligence (AI) system configured to receive and analyze the monitored physical properties of the user to generate one or more activity parameters optimized or personalized to the user.

CN 103338699 A describes a motion sensing and capture system to track a patient's movements in a physical space to provide patient motion data and/or motion impairment data, which can be used as a diagnostic, predictive or therapeutic tool. After a camera of a computing system captures image data of a patients' movements, a processing system of the computing system produces a patient model and displays a visual rendering of the patient module on a graphical user interface of the computing system. Based on the patient model, physical therapy may be provided to the patient in real-time.

EP 2667776 A0 describes a system for capturing and evaluating motion data of a subject. The system comprises a motion database for selecting a motion appropriate to the subjects initial medical or physical condition, a visual display or audio command to cue a patient to perform the selected motion, an image capture device to capture images of the motions the subject engages in, a processing means to capture a set of data representing the motions the subject engages in, and data analytic software to analyze the set of data to yield a set of values associated with the subject. According to an example in this reference, a camera-controlled computing system may capture patient image data, generate a model of the patient, and display a visual representation of that model in real-time. The system may track the patient in the physical space such that the visual representation maps to the patient or the motion captured in the physical space.

U.S. Pat. No. 10,147,298 B2 generally describes a system for monitoring activities of daily living (ADL) of a person. The system includes: a sensor component that collects sensor signal information regarding the person's motions and activities; an intelligence (or information processing) system that interprets the sensor signal information via artificial intelligence; and a user interface system that enables caregivers to interact with the user.

RU 2603047 C2 describes a contactless system configured to capture and evaluate patient movement data. The system includes a database for selecting a patient movements suitable to the condition of the patient, a visual display to prompt the patient to perform the selected movements, cameras configured to capture images and/or videos of the patient engaging in the selected movements, a processing means for capturing image and/or video data from the captured images and/or videos, and analytical software for analyzing the image and/or video data.

WO 2018/202731 A1 describes a system configured to generate a motion adjustment instruction for a user performing an action. The system comprises: a target module configured to obtain a target biomechanical load distribution for the user, a sensor arrangement configured to monitor the motion of the user so as to obtain monitored motion data, a monitoring module configured to calculate a monitored biomechanical load distribution for the user in accordance with the monitored motion data, an adjustment module configured to calculate a target adjustment to the motion of the user that corresponds to a reduction of a deviation of the monitored biomechanical load distribution from the target biomechanical load distribution, and an instruction module configured to generate a motion adjustment instruction in accordance with the target adjustment.

U.S. Published Patent Application No. 2017/0326333 A1 describes systems and methods for monitoring a patient by positioning the patient for a predetermined medical mission, sensing biometric and physical conditions of a patient during the mission, and displaying a multimedia interaction with the patient to keep the patient in a predetermined position to improve efficacy of a medical mission.

Various references describe attempts at remedying the drawbacks associated with at-home rehabilitative and physical therapy monitoring solutions for patients. The present invention and its embodiments provide a method for improving exercise performance. In particular, the present invention and its embodiments provide a computing device and a sensor-less system configured to implement the method for improving exercise performance.

SUMMARY OF THE EMBODIMENTS

The present invention and its embodiments relate generally a method for improving exercise performance. In particular, the present invention and its embodiments provide a computing device and a sensor-less system configured to implement the method for improving exercise performance.

A first embodiment of the instant invention describes a method executed by a motion analysis engine of a computing device for improving exercise performance. According to the method, the motion analysis engine receives video exercise data captured by a camera of the computing device. The camera may be a two-dimensional (2D) camera or a three-dimensional (3D) camera. The video exercise data is associated with a user performing an active exercise. In some examples, a distance between the user and the camera is approximately three meters when the user is performing the active exercise. Then, the motion analysis engine converts the video exercise data via a deep learning algorithm to one or more movements of a user's skeleton performing the active exercise in real-time.

Next, the motion analysis engine compares a first movement of the one or more movements to a predictive model associated with an ideal performance of the first movement. The motion analysis engine extracts parameters associated with the first movement from an external database (such as a proprietary database and an open-source database) in a post-processing stage. The parameters include: a speed associated with a bone engaging in the first movement, a smoothness associated with the first movement, a continuity associated with the first movement, an effectivity associated with the first movement, a range of motion per body joint, an angle of the bone of the user engaging in the first movement in relation to the camera, an angle of the portion of the bone engaging in the first movement in relation to the camera, an orientation of the bone engaging in the first movement in relation to the camera, and/or an orientation of the portion of the bone engaging in the first movement in relation to the camera, among others.

Then, the motion analysis engine assigns a confidence score to the comparison. The confidence score is calculated for every joint of the user simultaneously. Next, the motion analysis engine transmits feedback data to a graphical user interface of the computing device for display to the user in real-time. The feedback data includes the confidence score and/or instructions on how the user can improve the first movement to raise the confidence score and to more closely match an ideal performance of the first movement from the predictive model.

A second embodiment of the present invention describes a computer system. The computer system includes one or more processors, one or more memories, and one or more computer-readable hardware storage devices. The one or more computer-readable hardware storage devices contain program code executable by the one or more processors via the one or more memories to implement a sensor-less method for improving exercise performance. It should be appreciated that in some examples, the system runs on the cloud. In other examples, the system may be implemented locally on a device. The computer system is used in a facility, such as: a hospital facility, a school facility, a university facility, a sports training facility, a retirement facility, a rehabilitation facility, and/or a fitness facility, among others not explicitly listed herein.

The method includes: receiving video exercise data captured by a camera of the computing device, where the video exercise data is associated with a user performing an active exercise. In some examples, the active exercise of the user is detected by the camera at at least one angle in relation to the computer system. In other examples, the active exercise of the user is detected by the camera at at least two angles in relation to the computer system. It should be appreciated that the active exercise is a physical exercise or a rehabilitative exercise.

The method also includes converting the video exercise data via a deep learning algorithm to one or more movements of a user's skeleton in real-time performing the active exercise. Next, the method includes: comparing a first movement of the one or more movements to a predictive model associated with an ideal performance of the first movement and assigning a confidence score to the comparison. Then, the method includes: transmitting feedback data to a graphical user interface of the computing device for display to the user. The feedback data includes textual data, graphical data, audio data, video data, and/or visual data. The feedback data comprises the confidence store and instructions on how the user can improve the first movement to mirror the ideal performance of the first movement.

In some examples, the method further includes: receiving additional exercise data captured by the camera, identifying the additional exercise data as being associated with the user performing an inactive exercise, and discarding the additional exercise data from analysis.

A third embodiment of the present invention describes a sensor-less method executed by a motion analysis engine of a computing device for improving exercise performance. The sensor-less method includes numerous process steps, such as: receiving video exercise data captured by a camera of the computing device, where the video exercise data is associated with a user performing an active exercise. The method also includes: converting the video via a deep learning algorithm to one or more movements of a user's skeleton in real-time performing the active exercise. Next, the method includes: comparing a first movement of the one or more movements to a predictive model associated with an ideal performance of the first movement, and assigning a confidence score to the comparison. Then, the method includes: transmitting feedback data to a graphical user interface of the computing device for display to the user. The feedback data may include: the confidence score and instructions on how the user can improve the first movement to raise the confidence score.

In general, the present invention succeeds in conferring the following benefits and objectives.

It is an object of the present invention to provide a sensor-less method for improving exercise performance.

It is an object of the present invention to provide real-time guidance to a user for improving exercise performance.

It is an object of the present invention to compare the captured motion with an expected or a predicted motion, create a fitness or confidence score for every joint simultaneously, and provide the patient feedback in real-time, where the feedback includes the fitness or confidence score and clear instructions on what can be improved to increase the score.

It is an object of the present invention to create predefined error settings in a database that will be associated with accuracy instructions on how to improve the performance of the system.

It is an object of the present invention to remove the necessity of face-to-face physical therapy sessions, while ensuring that real-time guidance is provided to a user for improving exercise performance.

It is an object of the present invention to remove the necessity of doctor-supervised physical therapy sessions, while ensuring that real-time guidance is provided to a user for improving exercise performance.

It is an object of the present invention to provide an at-home method for improving exercise performance.

It is an object of the present invention to provide real-time feedback to a user for improving exercise performance.

It is an object of the present invention to provide an inexpensive method for improving exercise performance.

It is an object of the present invention to detect, track, and guide user movements associated with an active exercise via a 2D camera built into a computing device.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG.1illustrates a detailed block diagram of a computer system engaging with an external database to execute a method for improving exercise performance, in accordance with embodiments of the present invention.FIG.2illustrates use of a computer system configured to execute a method for improving exercise performance, in accordance with embodiments of the present invention.

According toFIG.1, a detailed block diagram100of a computer system engaging with an external database106to execute a method for improving exercise performance is depicted. It should be appreciated that the process steps associated with the method described herein are performed in real-time. The computer system may include a computing device104, a laptop computer, a smartphone, a desktop computer, or a tablet computer, among others. In examples, the computing device104may be used in a facility, such as a hospital facility, a school facility, a university facility, a sports training facility, a retirement facility, a rehabilitation facility, and/or a fitness facility, among other facilities not explicitly listed herein.

The computing device104may comprise a camera108configured to communicate with a motion analysis engine112. The motion analysis engine112may comprise an algorithm110to perform one or more of the process steps described herein. In some examples, the camera108may be a two-dimensional (2D) camera. In other examples, the camera108may be a three-dimensional (3D) camera. It should be appreciated that the camera108may be associated with any mobile computing device, computing device, PC, etc.

In some examples, the algorithm110uses geometric computations on the human skeleton. In other examples, the algorithm110is trained via wearable sensors that provide 3D motion analysis parameters. An example of a 3D motion analysis parameter is a range of motion parameter. The motion analysis engine423may be a motion analysis application or a motion analysis service. In examples, the motion analysis application runs in real-time in the home of the user, where the user does not need to wear any sensors.

In examples, the camera108may first capture video exercise data of a user102. The video exercise data may be associated with the user102performing an active exercise, such as a physical exercise (e.g., a balance exercise, a stretching exercise, and/or a flexibility exercise) or a rehabilitative exercise. It should be appreciated that the active exercise is not limited to the examples explicitly described herein. A distance between the user102and the camera108is approximately three meters when the user102is performing the active exercise. Moreover, the camera108may capture the video exercise data of the user102at at least one angle in relation to the computing device104. In other examples, the camera108may capture the video exercise data of the user102at at least two angles in relation to the computing device104. The camera108may then transmit the video exercise data to the motion analysis engine112.

The active exercise comprises/is an aggregate of one or more movements of the user102. The motion analysis engine112may then convert the video exercise data via a deep learning algorithm to one or more movements of a user's102skeleton performing the active exercise in real-time. Assuming the active exercise is a yoga pose, as depicted inFIG.2, whereby the user102places his/her arms directly straight above his/her head and squats low (e.g., the utkatasana pose), the one or more movements may include: the user102raising his/her left arm directly straight above his/her head, the user102raising his/her right arm directly straight above his/her head, and the user102bending his/her knees to squat. When the user102is engaging in any one of these movements, the user102may be facing the camera108directly such that the camera108may capture the one or more movements at a 180 degree angle in relation to the user102. It should be appreciated that the camera108of the computing device104solely captures the one or more movements associated with the active exercise of the user102and the method described herein does not require sensors of any type.

The motion analysis engine112may also compare a first movement of the one or more movements to a predictive model associated with an ideal performance of the first movement and may assign a confidence score to the comparison. The confidence score is calculated for every joint of the user102simultaneously. In some examples, the confidence score may be in a range of zero to one. For example, a confidence score of 0.7 or 70% would illustrate that the first movement mirrors the predictive/ideal movement by approximately 70%.

Thus, the motion analysis engine112can predict a well-performed exercise, as well as detect a wrongly performed exercise. In the case of a wrongly performed exercise (e.g., corresponding to a low confidence score or match), the motion analysis engine112may transmit feedback data in real-time to the graphical user interface (GUI)116of the computing device104for display to instruct the user102on how to modify the performed movement to more closely mirror the predicted movement. In an example, the real-time feedback data may include: pre-training improvement instructions, text, sound, etc. Specifically, the feedback data may include the textual data (e.g., one or more explanations on how to modify the first movement to more closely mirror the predictive/ideal movement), graphical data (e.g., one or more pictures depicting how to modify the first movement to more closely mirror the predictive/ideal movement), audio data (e.g., one or more verbal explanations on how to modify the first movement to more closely mirror the predictive/ideal movement), and/or video data (e.g., one or more videos or tutorials on how to modify the first movement to more closely mirror the predictive/ideal movement), etc. Such real-time feedback makes the motion analysis engine112function as intelligent as a human physical therapist present with the user102, though the motion analysis engine112utilizes AI and/or software, as well as a 2D or 3D camera embedded in a smartphone or computer.

In a post-processing stage, the motion analysis112may extract predictive parameters associated with the first movement from an external database106(e.g., an open source database or a propriety database). The predictive parameters114associated with the first movement may include: a predicted speed associated with the first movement, a predicted angle of a bone associated with the first movement in relation to the camera108, a predicted angle of the portion of the bone associated with the first movement in relation to the camera108, a predicted orientation of the bone associated with the first movement in relation to the camera108, and/or a predicted orientation of the portion of the bone associated with the first movement in relation to the camera108, among other examples not explicitly listed herein. Moreover, in an example where the camera108is a 2D camera, the predictive parameters114may include 2D motion data of a human skeleton performing the first movement. In an alternative example where the camera108is a 3D camera, the predictive parameters114may include 3D motion data of a human skeleton performing the first movement.

Assuming the first movement is the user102raising his/her left arm directly straight above his/her head, parameters associated with this movement may include: a speed associated with a left radius bone, a left ulna bone, and/or a left humerus bone engaging in the first movement; an angle of the left radius bone, the left ulna bone, and/or the left humerus of the user102engaging in the first movement in relation to the camera108; an angle of a portion of the left radius bone, the left ulna bone, and/or the left humerus of the user102engaging in the first movement in relation to the camera108; an orientation of the left radius bone, the left ulna bone, and/or the left humerus of the user102engaging in the first movement in relation to the camera108; and/or an orientation of the portion of the left radius bone, the left ulna bone, and/or the left humerus of the user102engaging in the first movement in relation to the camera108, among other parameters not explicitly listed herein.

In another hypothetical example, assuming the first movement is the user102bending his/her knees to squat, the parameters associated with this first movement may include: a speed associated with the user102moving from a standing position to a squatting position (which includes a speed associated with the user102moving a left femur bone from a vertical position to a horizontal position and a speed associated with the user102moving a right femur bone from the vertical position to the horizontal position); an angle of the right femur bone and/or the left femur bone of the user102engaging in the first movement in relation to the camera108; an orientation of the right femur bone and/or the left femur bone of the user102engaging in the first movement in relation to the camera108; and/or an orientation of the portion of the right femur bone and/or the left femur bone of the user102engaging in the first movement in relation to the camera108, among other parameters not explicitly listed herein.

Assuming that the first movement is the user102bending his/her knees to squat, as described herein, the predictive parameters114associated with the first movement may include: a predicted speed associated with the user102moving from a standing position to a squatting position (which includes a speed associated with the user102moving the left femur bone from a vertical position to a horizontal position and a speed associated with the user102moving the right femur bone from the vertical position to the horizontal position); a predicted angle of the right femur bone and/or the left femur bone of the user102engaging in the first movement in relation to the camera108; a predicted angle of a portion of the right femur bone and/or the left femur bone of the user102engaging in the first movement in relation to the camera108; a predicted orientation of the right femur bone and/or the left femur bone of the user102engaging in the first movement in relation to the camera108; and/or a predicted orientation of the portion of the right femur bone and/or the left femur bone of the user102engaging in the first movement in relation to the camera108, among other examples not explicitly listed herein.

According toFIG.2, a computer system200configured to execute a method for improving exercise performance is depicted. The computer system200may include a computing device104, such as a mobile device. The computing device104may comprise a camera108configured to communicate with a motion analysis engine112. In some examples, the camera108may be a 2D camera. It should be appreciated that the computer system200is substantially similar to the computer system ofFIG.1.

FIG.3illustrates a block diagram of a method for improving exercise performance, in accordance with embodiments of the present invention.

As shown inFIG.3, the motion detection engine112may capture video of a user performing movement and may convert the video via a third-party deep learning engine (e.g., a computer learning engine) to movement of a user's skeleton126in real-time. Such movement may include: a range of motion movement, a sway away from the center of gravity movement, a posture movement, etc. The patient (e.g., the user102) may also engage in tests that will be later assessed by a clinician132. The clinician132analyzes the users102motions and can track the users102progress. The tests may include: a Berg balance test, a functional reach test (FRT), a four square step test (FSST), a Tinetti balance test, a timed up and go test, and/or a Romberg test, among others not explicitly listed herein. Then, the motion detection engine112may generate an angle model per joint of the user. Such model may be fed to FFSM (e.g., a state machine) and then inserted to a genetic algorithm for optimization.

As described herein, the “Berg balance test” is a widely used clinical test of a person's static and dynamic balance abilities.

As described herein, the “FRT” is a clinical outcome measure and assessment tool for ascertaining dynamic balance in one simple task. In standing, the FRT measures the distance between the length of an outstretched arm in a maximal forward reach, while maintaining a fixed base of support.

As described herein, the “FSST” is used to assess dynamic stability and the ability of the subject to step over low objects forward, sideways, and backward.

As described herein, the “Tinetti balance test” is a test that measures a person's gait and balance.

As described herein, the “Romberg test” is test used in an exam of neurological function for balance, and also as a test for driving under the influence of an intoxicant. The Romberg test is a test of the body's sense of positioning (proprioception), which requires healthy functioning of the dorsal columns of the spinal cord.

The captured video of the user102is transmitted to a server128, such as an artificial intelligence server ofFIG.3. Then, the server128utilizes the algorithm110described herein to analyze the video captured of the user102. In some embodiments, the algorithm110may analyze the video in real-time for every movement repetition.

The algorithm110may generate results, such as graphical representations of angle models per joint, as shown inFIG.6andFIG.7. Other models for movement may include spatial movement models and/or speed models, among others not explicitly listed herein.

The server128may transmit the analysis results, performance success results, performance score results, and feedback (e.g., improvement instructions) for every movement repetition back to the motion detection engine112. Such provides real-time feedback to the patient (e.g., the user102) via the computing device104. More specifically, the real-time feedback may include: a fitness score, a score for each repetition, indication of a successful repetition, indication of an unsuccessful repetition, clear instructions on how to improve the next repetition, etc. Further, the server128may perform clinical performance analysis on the movement repetitions and may transmit the clinical performance analysis to a dashboard130of a computing device for the clinician132to review. The clinician132may then review the results and/or perform post-processing analysis, which may include: range of motion, speed performance, jerk, symmetric view of performance, and exercise accuracy per repetition. The algorithmic process of the instant invention is depicted explicitly inFIG.4.

FIG.5Aillustrates a first confidence score and feedback data provided to a computing device of the computer system responsive to execution of a method for improving exercise performance, in accordance with embodiments of the present invention.

According toFIG.5A, a computer system300A configured to execute a method for improving exercise performance is depicted.FIG.5Adisplays a first confidence score118and a first set of feedback120associated with the first confidence score118. The first set of feedback120may include the textual data (e.g., instructions, such as “bend your knees at a ninety degree angle”), the graphical data (e.g., an image showing proper form of the first movement), the audio data, and/or the video data, that instructs the user102on how to modify the first movement to mirror the associated predictive/ideal movement.

FIG.5Billustrates a second confidence score and feedback data provided to a computing device of the computer system responsive to execution of a method for improving exercise performance, in accordance with embodiments of the present invention.

According toFIG.5B, a computer system300B configured to execute a method for improving exercise performance is depicted.FIG.5Bdisplays a second confidence score122and a second set of feedback124associated with the second confidence score122. The second set of feedback data124may include the textual data (e.g., one or more explanations on how to modify the movement to more closely mirror the associated predictive/ideal movement), the graphical data (e.g., one or more pictures depicting how to modify the movement to more closely mirror the associated predictive/ideal movement), the audio data (e.g., one or more verbal explanations on how to modify the movement to more closely mirror the associated predictive/ideal movement), and/or the video data (e.g., one or more videos or tutorials on how to modify the movement to more closely mirror the associated predictive/ideal movement), etc.

In some examples where the first confidence score118may be greater than the second confidence score122, the second set of feedback data124associated with the second confidence score122may be more substantial than the first set of feedback data120associated with the first confidence score118. In some examples, a size, a shape, and a color of the textual data, the graphical data, and/or the visual data will differ based on the confidence score.

In other examples where the first confidence score118is greater than the second confidence score122, the first set of feedback data120associated with the first confidence score118may include: a larger sized font of the textual data and/or brighter colors (e.g., lighter hues, tints, shades, and/or tones defined by a high color saturation) associated with the textual data, the graphical data, and/or the visual data.

Moreover, since the second confidence score122is less than the first confidence score118, the second set of feedback data124associated with the second confidence score122may include: a smaller sized font of the textual data and/or darker colors (e.g., darker hues, tints, shades, and/or tones defined by a low color saturation) of the textual data, the graphical data, and/or the visual data. It should be appreciated that both the first set of feedback data120and the second set of feedback data124may be displayed on the GUI116at the same time, or, in alternative examples, may be displayed on the GUI116during a first time period and a second time period, respectively.

In other examples where the first confidence score118may be less than the second confidence score122.

FIG.8is a block diagram of a computing device included within the computer system ofFIG.1that is configured to improve exercise performance, in accordance with embodiments of the present invention.

In some embodiments, the present invention may be a computer system, a method, and/or a computing device. For example, the computer system and/or the computing device may be utilized to implement a sensor-less method for improving exercise performance. A basic configuration402of a computing device400is illustrated inFIG.8by those components within the inner dashed line. In the basic configuration402of the computing device400, the computing device400includes a processor404and a system memory406. In some examples, the computing device400may include one or more processors and the system memory406. A memory bus408is used for communicating between the one or more processors404and the system memory406.

Depending on the desired configuration, the processor404may be of any type, including, but not limited to, a microprocessor (μP), a microcontroller (μC), and a digital signal processor (DSP), or any combination thereof. Further, the processor404may include one more levels of caching, such as a level cache memory412, a processor core414, and registers416, among other examples. The processor core414may include an arithmetic logic unit (ALU), a floating point unit (FPU), and/or a digital signal processing core (DSP Core), or any combination thereof. A memory controller418may be used with the processor404, or, in some implementations, the memory controller418may be an internal part of the memory controller404.

Depending on the desired configuration, the system memory406may be of any type, including, but not limited to, volatile memory (such as RAM), and/or non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. The system memory406includes an operating system420, one or more engines, such as a motion analysis engine423, and program data424. In some embodiments, the motion analysis engine423may be a motion analysis application or a motion analysis service. Moreover, in additional examples, the motion analysis engine423may comprise an algorithm, such as an artificial intelligence (AI) computer vision algorithm or a computer vision deep learning algorithm, among other algorithms not explicitly listed herein.

Further, the computing device400may comprise a storage engine426, which may be configured to store information, such as the parameters associated with the first movement, the predictive parameters114associated with the first movement and retrieved from the external database106, the first confidence score118, the second confidence score122, the first set of feedback data120, the second set of feedback data124, user identifiable information, user diagnosis information, user performance information during a first time period, and/or user performance information during a second time period, among other data not explicitly listed herein. Moreover, in additional examples, the motion analysis engine423may generate a user profile housing the information discussed above, such that a doctor, a healthcare provider, and/or the user may track the user's physical or rehabilitative progress.

Moreover, the computing device400may have additional features or functionality, and additional interfaces to facilitate communications between the basic configuration402and any desired devices and interfaces. For example, a bus/interface controller430is used to facilitate communications between the basic configuration402and data storage devices432via a storage interface bus434. The data storage devices432may be one or more removable storage devices436, one or more non-removable storage devices438, or a combination thereof. Examples of the one or more removable storage devices436and the one or more non-removable storage devices438include magnetic disk devices (such as flexible disk drives and hard-disk drives (HDD)), optical disk drives (such as compact disk (CD) drives or digital versatile disk (DVD) drives), solid state drives (SSD), and tape drives, among others.

In some embodiments, an interface bus440facilitates communication from various interface devices (e.g., one or more output devices442, one or more peripheral interfaces444, and one or more communication devices466) to the basic configuration402via the bus/interface controller430. Some of the one or more output devices442include a graphics processing unit448and an audio processing unit450, which are configured to communicate to various external devices, such as a display or speakers, via one or more A/V ports452. The one or more peripheral interfaces444may include a serial interface controller454or a parallel interface controller456, which are configured to communicate with external devices, such as input devices (e.g., a keyboard, a mouse, a pen, a voice input device, or a touch input device, etc.) or other peripheral devices (e.g., a printer or a scanner, etc.) via one or more I/O ports458. Further, the one or more communication devices466may include a network controller460, which is arranged to facilitate communication with one or more other computing devices462over a network communication link via one or more communication ports464. The one or more other computing devices462include servers, the database106, mobile devices, and comparable devices.

The network communication link is an example of a communication media. The communication media are typically embodied by the computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and include any information delivery media. A “modulated data signal” is a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, the communication media may include wired media (such as a wired network or direct-wired connection) and wireless media (such as acoustic, radio frequency (RF), microwave, infrared (IR), and other wireless media). The term “computer-readable media,” as used herein, includes both storage media and communication media.

It should be appreciated that the system memory406, the one or more removable storage devices436, and the one or more non-removable storage devices438are examples of the computer-readable storage media. The computer-readable storage media is a tangible device that can retain and store instructions (e.g., program code) for use by an instruction execution device (e.g., the computing device400). Any such, computer storage media is part of the computing device400.

Aspects of the present invention are described herein regarding illustrations and/or block diagrams of methods, computer systems, and computing devices according to embodiments of the invention. It will be understood that each block in the block diagrams, and combinations of the blocks, can be implemented by the computer-readable instructions (e.g., the program code).

The computer-readable instructions are provided to the processor404of a general purpose computer, special purpose computer, or other programmable data processing apparatus (e.g., the computing device400) to produce a machine, such that the instructions, which execute via the processor404of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block diagram blocks. These computer-readable instructions are also stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture including instructions, which implement aspects of the functions/acts specified in the block diagram blocks.

The computer-readable instructions (e.g., the program code) are also loaded onto a computer (e.g. the computing device400), another programmable data processing apparatus, or another device to cause a series of operational steps to be performed on the computer, the other programmable apparatus, or the other device to produce a computer implemented process, such that the instructions, which execute on the computer, the other programmable apparatus, or the other device, implement the functions/acts specified in the block diagram blocks.

Aspects of the present invention are described herein with reference to block diagrams of methods, computer systems, and computing devices according to embodiments of the invention. It will be understood that each block and combinations of blocks in the diagrams, can be implemented by the computer readable program instructions.

Another embodiment of the invention provides a method that performs the process steps on a subscription, advertising, and/or fee basis. That is, a service provider can offer to assist in the method steps of improving exercise performance. In this case, the service provider can create, maintain, and/or support, etc. a computer infrastructure that performs the process steps for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement, and/or the service provider can receive payment from the sale of advertising content to one or more third parties.