1. Technical Field
The disclosure relates to a multimode motion streaming comparison method and system capable of adjusting weights according to a weighting vector and performing calculations according to a streaming node comparison algorithm.
2. Related Art
In motion sensing fitness games sold in the market, a virtual personal coaching course can edit personalized training courses according to fitness training parts input by a user. These training courses can give a score to the user according to a motion of the user and a motion of the virtual personal coaching course. The user can realize whether his motion is correct according to the score. However, the score is only given for a specific fixed-point motion of the user, and the score cannot provide a continuous using experience for the user. Moreover, due to a demand for personalized training goal setting, the user expects to perform exercises to strengthen and train hands, feet, a specific part of body, and the transferring center of gravity of a body when fathoming and following exercises of the virtual personal coach. On the other hand, the user can also have a demand of training endurance of lower limbs (for example, a degree of a squat and a stand, and a duration of the exercise, etc.), so as to improve a heart rate to achieve an effect of fitness.
Therefore, it is an important issue concerned by related technicians to provide a continuous streaming motion comparison method in line with the user's needs.
An exemplary embodiment of the disclosure provides a multimode motion streaming comparison method and system capable of adjusting weights according to a weighting vector and performing calculations according to a streaming node comparison algorithm. Therefore, a continuous motion compliance of individual trained parts of body of a user is improved, and the correctness for the user to fathom postures also can be improved effectively.
An exemplary embodiment of the disclosure provides a motion comparison system including a user motion acquisition unit, a virtual coach motion information unit, a first calculation unit, a multi-dimension weighting selector, a second calculation unit and a mapping unit. The user motion acquisition unit is used to obtain a first streaming motion of a user and a plurality of nodes of the first streaming motion according to a plurality of images of the user, where each node of the first streaming motion includes a plurality of coordinates, and each node of the first streaming motion belongs to a part of body. The virtual coach motion information unit is used to provide a second streaming motion of a virtual coach and a plurality of nodes of the second streaming motion, where each node of the second streaming motion includes a plurality of coordinates, and each node of the second streaming motion belongs to one of the parts of body. The first calculation unit is coupled to the user motion acquisition unit and the virtual coach motion information unit, and calculates a plurality of relation values between the coordinates of the nodes of the first streaming motion and the coordinates of the nodes of the second streaming motion according to a streaming node comparison algorithm. The multi-dimension weighting selector is used to obtain a plurality of weights via a weighting vector according to the parts of body, a plurality of exercise types preset by the user and time information of the images. The second calculation unit is coupled to the first calculation unit and the multi-dimension weighting selector, and generates a comparison result according to a result of the weights respectively multiplying the relation values. The mapping unit is coupled to the second calculation unit, and maps the comparison result to a similarity value.
According to another aspect, the disclosure provides a motion comparison method, which is adapted to an electronic device. The motion comparison method includes following steps. A first streaming motion of a user and a plurality of nodes of the first streaming motion are obtained according to images of the user, where each node of the first streaming motion includes a plurality of coordinates, and each node of the first streaming motion belongs to a part of body. A second streaming motion of a virtual coach and a plurality of nodes of the second streaming motion are provided, where each node of the second streaming motion includes a plurality of coordinates, and each node of the second streaming motion belongs to one of the parts of body. A plurality of relation values between the coordinates of the nodes of the first streaming motion and the coordinates of the nodes of the second streaming motion are calculated according to a streaming node comparison algorithm. A plurality of weights are obtained via a weighting vector according to the parts of body, a plurality of exercise types preset by the user and time information of the images. A comparison result is generated according to a result of the weights respectively multiplying the relation values. The comparison result is mapped to a similarity value.
In order to make the aforementioned and other features and advantages of the disclosure comprehensible, several exemplary embodiments accompanied with figures are described in detail below.
The accompanying drawings are included to provide a further understanding of the disclosure, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the disclosure and, together with the description, serve to explain the principles of the disclosure.
Referring to
Referring to
The sensor 130 captures a plurality of images of the user 140, and transmits the images to the user motion acquisition unit 210. The user motion acquisition unit 210 obtains a streaming motion (which is also referred to as a first streaming motion) of the user 140 and a plurality of nodes of the streaming motion according to the images, where each node belongs to one part of body (for example, head or hand). In an exemplary embodiment, the images include information of brightness and depth of field, and each node includes a plurality of coordinates representing a three-dimensional (3D) space. In other words, the streaming motion of the user 140 is a continuous motion performed in the 3D space.
The virtual coach motion information unit 220 provides a streaming motion (which is also referred to as a second streaming motion) of a virtual coach and a plurality of nodes of the streaming motion, where each node of the streaming motion of the virtual coach belongs to one part of body, and each node includes a plurality of coordinates. The first calculation unit 230 calculates a plurality of relation values between coordinates of the nodes of the user and coordinates of the nodes of the coach according to a streaming node comparison algorithm. The relation values are used to represent whether the motion of the user 140 is similar to the motion of the virtual coach 132.
Particularly, the multi-dimension weighting selector 240 obtains a plurality of weights according to the parts of body corresponding to the nodes, a plurality of exercise types preset by the user and time information of the images sensed by the sensor 130. For example, if the user wants to strengthen the exercise on lower limb muscles, the weights corresponding to the parts of the lower limbs are relatively large (compared to the weights corresponding to the parts of the upper limbs). For example, the exercise type preset by the user is dancing emphasizing the feet of the lower limbs, the multi-dimension weighting selector 240 selects the weights corresponding the dancing emphasizing the feet of the lower limbs from a database. Alternatively, when the user wants to train the parts of the lower limbs in the first five minutes of the exercise, the weights corresponding to the parts of the lower limbs are relatively large in the first five minutes.
The second calculation unit 250 respectively multiplies the weights with the relation values, and generates a comparison result according to a result of the multiplication. The mapping unit 260 is coupled to the second calculation unit 250, and maps the comparison result to a similarity value. For example, the further the motion of the user 140 is similar to the motion of the virtual coach 132, the higher the similarity value is. The similarity value is displayed on the screen 120 to facilitate the user 140 learning whether his motion is correct. Particularly, the motion comparison system 200 generates one similarity value for each image captured by the sensor 130, and displays the similarity values on the screen 120. In this way, the user can realize whether his continuous motion is correct at any time.
An exemplary embodiment is provided below to describe operations of the units in the motion comparison system 200 in detail.
First, the user 140 inputs one or a plurality of settings to the motion comparison apparatus 100. For example, the user 140 selects an exercise type, an exercise duration, an exercise strength or a part of body to be strengthened. Then, the sensor 130 continually obtains a streaming image of the user. The streaming image includes a plurality of images, and each image corresponds to different time information. In an exemplary embodiment, the time information can be represented as a certain second. Alternatively, the time information can be used to represent as a certain image in the streaming image.
Referring to
On the other hand, the virtual coach motion information unit 220 provides the streaming motion of the virtual coach, the nodes of the streaming motion and the coordinates of the nodes. For example, the motion comparison apparatus 200 includes a database, which stores streaming images of a plurality of exercise types. Each of the streaming images includes a plurality of images of different time. Each image includes 15 nodes respectively belonging to the aforementioned 15 parts of body. Each node of the virtual coach also includes a coordinate of the x-direction, a coordinate of the y-direction and a coordinate of the z-direction. Here, corresponding to time information t, the three coordinates of one node of the virtual coach are represented as (xv(t), yv(t), zv(t)), and the vector V is used to represent the coordinates of all of the nodes within a duration.
Referring to
The streaming node comparison algorithm adopted by the first calculation unit 230 can be represented by a function Hn( ), which is used to calculate the relation value of an n-th part of body. Taking the ED algorithm and the head node as an example, the first calculation unit 230 calculates Euclidean distances between the three coordinates (xu(t), yu(t), zu(t)) of the head node of the user and the three coordinates (xv(t), yv(t), zv(t)) of the head node of the virtual coach at the time information t, so as to generate a relation value 401 (which is represented as Hhead node(U,V)). Similarly, the first calculation unit 230 can also calculate corresponding relation values (for example, relation values 402-415) for the other parts of body.
On the other hand, the multi-dimension weighting selector 240 obtains a plurality of weights via a weighting vector according to parts of body 416, an exercise type 417 and time information 418 preset by the user. Here, the weighting vector includes the three dimensions of the parts of body 416, the exercise type 417 and the time information 418. For example, one of the parts of body 416 can be represented by an integer from 1 to 15 (for example, “1” represents the head node), and different exercise types 417 can also be represented by a plurality of discrete values (for example, “0” represents Taichi, and “1” represents ballroom dancing), and the time information 418 can be represented by a number of seconds of the video. The weighting vector composed of one of the parts of body 416, the exercise type 417 and the time information 418 determines a position on a three-dimensional (3D) matrix 500 (shown in
Referring to
Here, the weights generated by the multi-dimension weighting selector 240 are real numbers, and values of the weights are greater than or equal to 0.1 and are smaller than or equal to 2. The greater the value of the weight is, the more important of the corresponding part of body is. However, if the value of the weight is set to be too large (more than 2), an inaccurate motion of the user is enlarged, which may result in a fact that the user is not easy to get a high similarity value. However, in other exemplary embodiments, the weights can also be set to other values, which is not limited by the disclosure.
Referring to
Node is a set formed by all of the parts of body. In the present exemplary embodiment, the second calculation unit 250 calculates a comparison result for each of the images in the streaming motion of the user and each of the images of the virtual coach. The second calculation unit 250 transmits the comparison results to the mapping unit 260.
Referring to
The mapping unit 260 generates a similarity domain according to the minimum comparison result and the maximum comparison result. The mapping unit 260 may also define a similarity range (for example, 0 to 100). The mapping unit 260 maps a comparison result from the similarity domain to the similarity range according to the minimum comparison result and the maximum comparison result. For example, when the streaming node comparison algorithm adopted by the first calculation unit 230 is the DTW algorithm or the ED algorithm, the maximum comparison result is mapped to 0, and the minimum comparison result is mapped to 100. On the other hand, when the streaming node comparison algorithm adopted by the first calculation unit 230 is the CC algorithm, the maximum comparison result is mapped to 100, and the minimum comparison result is mapped to 0. When a comparison result is between the minimum comparison result and the maximum comparison result, the comparison result is mapped to similarity values between 0-100. The second calculation unit 250 can generate the similarity values between 0-100 through a linear or non-linear manner, which is not limited by the disclosure. Moreover, in other exemplary embodiments, the mapping unit 260 may also define the other similarity domains (for example, 0-10), which is not limited by the disclosure. Finally, the mapping unit 260 transmits the generated similarity values to the screen 120.
Referring to
In an exemplary embodiment, the steps in
In the motion comparison system and the motion comparison method provided by the exemplary embodiments of the disclosure, especially a multimode motion streaming comparison system and method, a plurality of weights can be selected via a weighting vector according to the time information, the parts of body and the exercise types, and the weights can be used to calculate a similarity value. In this way, the user can strengthen the parts of body to be exercised according to an instruction of the coach, so as to improve an exercise effect.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the disclosure without departing from the scope or spirit of the disclosure. In view of the foregoing, it is intended that the disclosure cover modifications and variations of this disclosure provided they fall within the scope of the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
101147275 | Dec 2012 | TW | national |
This application claims the priority benefits of U.S. provisional application Ser. No. 61/699,877, filed on Sep. 12, 2012 and Taiwan application serial no. 101147275, filed on Dec. 13, 2012. The entirety of each of the above-mentioned patent applications is hereby incorporated by reference herein and made a part of this specification.
Number | Date | Country | |
---|---|---|---|
61699877 | Sep 2012 | US |